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()
}
}

View File

@@ -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"
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:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"