add collect.js
This commit is contained in:
@@ -12,6 +12,7 @@
|
|||||||
"dist"
|
"dist"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"collect.js": "^4.20.3",
|
||||||
"prosemirror-example-setup": "^1.1.2",
|
"prosemirror-example-setup": "^1.1.2",
|
||||||
"prosemirror-model": "^1.9.1",
|
"prosemirror-model": "^1.9.1",
|
||||||
"prosemirror-schema-basic": "^1.1.2",
|
"prosemirror-schema-basic": "^1.1.2",
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { keymap } from 'prosemirror-keymap'
|
import { keymap } from 'prosemirror-keymap'
|
||||||
|
import collect from 'collect.js'
|
||||||
import { Editor } from './Editor'
|
import { Editor } from './Editor'
|
||||||
|
|
||||||
export default class ExtensionManager {
|
export default class ExtensionManager {
|
||||||
@@ -13,22 +14,18 @@ export default class ExtensionManager {
|
|||||||
this.extensions = extensions
|
this.extensions = extensions
|
||||||
}
|
}
|
||||||
|
|
||||||
get nodes() {
|
get nodes(): any {
|
||||||
return this.extensions
|
return collect(this.extensions)
|
||||||
.filter(extension => extension.type === 'node')
|
.where('type', 'node')
|
||||||
.reduce((nodes, { name, schema }) => ({
|
.mapWithKeys((extension: any) => [extension.name, extension.schema])
|
||||||
...nodes,
|
.all()
|
||||||
[name]: schema,
|
|
||||||
}), {})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get marks() {
|
get marks(): any {
|
||||||
return this.extensions
|
return collect(this.extensions)
|
||||||
.filter(extension => extension.type === 'mark')
|
.where('type', 'mark')
|
||||||
.reduce((marks, { name, schema }) => ({
|
.mapWithKeys((extension: any) => [extension.name, extension.schema])
|
||||||
...marks,
|
.all()
|
||||||
[name]: schema,
|
|
||||||
}), {})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3811,6 +3811,11 @@ collapse-white-space@^1.0.0, collapse-white-space@^1.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
|
resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
|
||||||
integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==
|
integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==
|
||||||
|
|
||||||
|
collect.js@^4.20.3:
|
||||||
|
version "4.20.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/collect.js/-/collect.js-4.20.3.tgz#fb8c98fbf7f042519f3ee7366a5b674e73de1cd4"
|
||||||
|
integrity sha512-sPNxjntNe7GHszjcH3zWdyLQVYMRlK9uWnRGtnUsuCpHM/iUbqKSDeUail06hmwgQP7otIJEZwrSJScGxZ5XEg==
|
||||||
|
|
||||||
collection-visit@^1.0.0:
|
collection-visit@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
|
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
|
||||||
|
|||||||
Reference in New Issue
Block a user