add collect.js

This commit is contained in:
Philipp Kühn
2020-03-05 21:35:30 +01:00
parent 54dcbfc473
commit 01a0b99d00
3 changed files with 17 additions and 14 deletions

View File

@@ -12,6 +12,7 @@
"dist"
],
"dependencies": {
"collect.js": "^4.20.3",
"prosemirror-example-setup": "^1.1.2",
"prosemirror-model": "^1.9.1",
"prosemirror-schema-basic": "^1.1.2",

View File

@@ -1,4 +1,5 @@
import { keymap } from 'prosemirror-keymap'
import collect from 'collect.js'
import { Editor } from './Editor'
export default class ExtensionManager {
@@ -13,22 +14,18 @@ export default class ExtensionManager {
this.extensions = extensions
}
get nodes() {
return this.extensions
.filter(extension => extension.type === 'node')
.reduce((nodes, { name, schema }) => ({
...nodes,
[name]: schema,
}), {})
get nodes(): any {
return collect(this.extensions)
.where('type', 'node')
.mapWithKeys((extension: any) => [extension.name, extension.schema])
.all()
}
get marks() {
return this.extensions
.filter(extension => extension.type === 'mark')
.reduce((marks, { name, schema }) => ({
...marks,
[name]: schema,
}), {})
get marks(): any {
return collect(this.extensions)
.where('type', 'mark')
.mapWithKeys((extension: any) => [extension.name, extension.schema])
.all()
}
}