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" "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",

View File

@@ -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,
}), {})
} }
} }

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" 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"