From 5a2417fa5393677e57fe773914e0e7d909a8ac83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 22 Oct 2020 09:23:37 +0200 Subject: [PATCH] refactoring --- packages/core/index.ts | 9 ++--- packages/core/src/ExtensionManager.ts | 20 +---------- .../core/src/utils/getMarksFromExtensions.ts | 10 ------ .../core/src/utils/getNodesFromExtensions.ts | 10 ------ packages/core/src/utils/getSchema.ts | 1 - .../src/utils/getTopNodeFromExtensions.ts | 10 ------ .../core/src/utils/resolveExtensionConfig.ts | 35 ------------------- 7 files changed, 3 insertions(+), 92 deletions(-) delete mode 100644 packages/core/src/utils/getMarksFromExtensions.ts delete mode 100644 packages/core/src/utils/getNodesFromExtensions.ts delete mode 100644 packages/core/src/utils/getTopNodeFromExtensions.ts delete mode 100644 packages/core/src/utils/resolveExtensionConfig.ts diff --git a/packages/core/index.ts b/packages/core/index.ts index 14693667..b9eec494 100644 --- a/packages/core/index.ts +++ b/packages/core/index.ts @@ -3,13 +3,11 @@ import { Editor, Command, CommandsSpec } from './src/Editor' export default Editor export { Editor, Command, CommandsSpec } export { default as ComponentRenderer } from './src/ComponentRenderer' -// export { default as Extension } from './src/Extension' -// export { default as Node } from './src/Node' + export * from './src/Extension' export * from './src/Node' export * from './src/Mark' -// export { default as Mark } from './src/Mark' -export { Extensions } from './src/types' +export * from './src/types' export { default as nodeInputRule } from './src/inputRules/nodeInputRule' export { default as markInputRule } from './src/inputRules/markInputRule' @@ -19,7 +17,4 @@ export { default as capitalize } from './src/utils/capitalize' export { default as getSchema } from './src/utils/getSchema' export { default as generateHtml } from './src/utils/generateHtml' export { default as getHtmlFromFragment } from './src/utils/getHtmlFromFragment' -export { default as getTopNodeFromExtensions } from './src/utils/getTopNodeFromExtensions' -export { default as getNodesFromExtensions } from './src/utils/getNodesFromExtensions' -export { default as getMarksFromExtensions } from './src/utils/getMarksFromExtensions' export { default as getMarkAttrs } from './src/utils/getMarkAttrs' diff --git a/packages/core/src/ExtensionManager.ts b/packages/core/src/ExtensionManager.ts index e775b728..292b06ef 100644 --- a/packages/core/src/ExtensionManager.ts +++ b/packages/core/src/ExtensionManager.ts @@ -1,7 +1,5 @@ -import collect from 'collect.js' import { Plugin } from 'prosemirror-state' import { keymap } from 'prosemirror-keymap' -import { Schema } from 'prosemirror-model' // import { Schema, Node as ProsemirrorNode } from 'prosemirror-model' import { inputRules } from 'prosemirror-inputrules' // import { EditorView, Decoration } from 'prosemirror-view' @@ -9,10 +7,6 @@ import { inputRules } from 'prosemirror-inputrules' import { Editor } from './Editor' // import capitalize from './utils/capitalize' import { Extensions } from './types' -import getTopNodeFromExtensions from './utils/getTopNodeFromExtensions' -import getNodesFromExtensions from './utils/getNodesFromExtensions' -import getMarksFromExtensions from './utils/getMarksFromExtensions' -import resolveExtensionConfig from './utils/resolveExtensionConfig' import getSchema from './utils/getSchema' export default class ExtensionManager { @@ -60,22 +54,10 @@ export default class ExtensionManager { // }) // } - get schema(): Schema { + get schema() { return getSchema(this.extensions) } - get topNode(): any { - return getTopNodeFromExtensions(this.extensions) - } - - get nodes(): any { - return getNodesFromExtensions(this.extensions) - } - - get marks(): any { - return getMarksFromExtensions(this.extensions) - } - get plugins(): Plugin[] { // const plugins = collect(this.extensions) // .flatMap(extension => extension.config.plugins) diff --git a/packages/core/src/utils/getMarksFromExtensions.ts b/packages/core/src/utils/getMarksFromExtensions.ts deleted file mode 100644 index 13152522..00000000 --- a/packages/core/src/utils/getMarksFromExtensions.ts +++ /dev/null @@ -1,10 +0,0 @@ -import collect from 'collect.js' -import Mark from '../Mark' -import { Extensions } from '../types' - -export default function getMarksFromExtensions(extensions: Extensions): any { - return collect(extensions) - .where('type', 'mark') - .mapWithKeys((extension: Mark) => [extension.config.name, extension.config.schema]) - .all() -} diff --git a/packages/core/src/utils/getNodesFromExtensions.ts b/packages/core/src/utils/getNodesFromExtensions.ts deleted file mode 100644 index 34290eec..00000000 --- a/packages/core/src/utils/getNodesFromExtensions.ts +++ /dev/null @@ -1,10 +0,0 @@ -import collect from 'collect.js' -import Node from '../Node' -import { Extensions } from '../types' - -export default function getNodesFromExtensions(extensions: Extensions): any { - return collect(extensions) - .where('type', 'node') - .mapWithKeys((extension: Node) => [extension.config.name, extension.config.schema]) - .all() -} diff --git a/packages/core/src/utils/getSchema.ts b/packages/core/src/utils/getSchema.ts index 25aad7b3..f1321282 100644 --- a/packages/core/src/utils/getSchema.ts +++ b/packages/core/src/utils/getSchema.ts @@ -3,7 +3,6 @@ import { Extensions } from '../types' // import getTopNodeFromExtensions from './getTopNodeFromExtensions' // import getNodesFromExtensions from './getNodesFromExtensions' // import getMarksFromExtensions from './getMarksFromExtensions' -// import resolveExtensionConfig from './resolveExtensionConfig' import splitExtensions from './splitExtensions' import getAttributesFromExtensions from './getAttributesFromExtensions' import getRenderedAttributes from './getRenderedAttributes' diff --git a/packages/core/src/utils/getTopNodeFromExtensions.ts b/packages/core/src/utils/getTopNodeFromExtensions.ts deleted file mode 100644 index 693070e1..00000000 --- a/packages/core/src/utils/getTopNodeFromExtensions.ts +++ /dev/null @@ -1,10 +0,0 @@ -import collect from 'collect.js' -import { Extensions } from '../types' - -export default function getTopNodeFromExtensions(extensions: Extensions): any { - const topNode = collect(extensions).firstWhere('config.topNode', true) - - if (topNode) { - return topNode.config.name - } -} diff --git a/packages/core/src/utils/resolveExtensionConfig.ts b/packages/core/src/utils/resolveExtensionConfig.ts deleted file mode 100644 index 05a73ded..00000000 --- a/packages/core/src/utils/resolveExtensionConfig.ts +++ /dev/null @@ -1,35 +0,0 @@ -import deepmerge from 'deepmerge' -import Extension from '../Extension' -import Node from '../Node' -import Mark from '../Mark' - -export default function resolveExtensionConfig( - extension: Extension | Node | Mark, - name: string, - props = {}, -): void { - if (!extension.configs[name]) { - return - } - - extension.config[name] = extension.configs[name] - .reduce((accumulator, { stategy, value: rawValue }) => { - const value = typeof rawValue === 'function' - ? rawValue(props) - : rawValue - - if (accumulator === undefined) { - return value - } - - if (stategy === 'overwrite') { - return value - } - - if (stategy === 'extend') { - return deepmerge(accumulator, value) - } - - return accumulator - }, undefined) -}