refactoring
This commit is contained in:
@@ -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()
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user