diff --git a/packages/core/src/Extension.ts b/packages/core/src/Extension.ts index 27b44d39..bf5451f4 100644 --- a/packages/core/src/Extension.ts +++ b/packages/core/src/Extension.ts @@ -17,28 +17,28 @@ type Configs = { }[] } -export interface ExtensionCallback { +export interface ExtensionProps { name: string editor: Editor options: Options } -export interface ExtensionExtends { +export interface ExtensionMethods { name: string options: Options - commands: (params: Callback) => CommandSpec - inputRules: (params: Callback) => any[] - pasteRules: (params: Callback) => any[] - keys: (params: Callback) => { + commands: (params: Props) => CommandSpec + inputRules: (params: Props) => any[] + pasteRules: (params: Props) => any[] + keys: (params: Props) => { [key: string]: Function } - plugins: (params: Callback) => Plugin[] + plugins: (params: Props) => Plugin[] } export default class Extension< Options = {}, - Callback = ExtensionCallback, - Extends extends ExtensionExtends = ExtensionExtends + Props = ExtensionProps, + Methods extends ExtensionMethods = ExtensionMethods > { type = 'extension' config: AnyObject = {} @@ -63,7 +63,7 @@ export default class Extension< return this } - public name(value: Extends['name']) { + public name(value: Methods['name']) { this.storeConfig('name', value, 'overwrite') return this } @@ -73,32 +73,32 @@ export default class Extension< return this } - public commands(value: Extends['commands']) { + public commands(value: Methods['commands']) { this.storeConfig('commands', value, 'overwrite') return this } - public keys(value: Extends['keys']) { + public keys(value: Methods['keys']) { this.storeConfig('keys', value, 'overwrite') return this } - public inputRules(value: Extends['inputRules']) { + public inputRules(value: Methods['inputRules']) { this.storeConfig('inputRules', value, 'overwrite') return this } - public pasteRules(value: Extends['pasteRules']) { + public pasteRules(value: Methods['pasteRules']) { this.storeConfig('pasteRules', value, 'overwrite') return this } - public plugins(value: Extends['plugins']) { + public plugins(value: Methods['plugins']) { this.storeConfig('plugins', value, 'overwrite') return this } - public extend>(key: T, value: Extends[T]) { + public extend>(key: T, value: Methods[T]) { this.storeConfig(key, value, 'extend') return this } diff --git a/packages/core/src/Mark.ts b/packages/core/src/Mark.ts index 10a7fd82..60394a9b 100644 --- a/packages/core/src/Mark.ts +++ b/packages/core/src/Mark.ts @@ -1,27 +1,27 @@ import { MarkSpec, MarkType } from 'prosemirror-model' -import Extension, { ExtensionCallback, ExtensionExtends } from './Extension' +import Extension, { ExtensionMethods } from './Extension' import { Editor } from './Editor' -export interface MarkCallback { +export interface MarkProps { name: string editor: Editor options: Options type: MarkType } -export interface MarkExtends extends ExtensionExtends { +export interface MarkMethods extends ExtensionMethods { topMark: boolean - schema: (params: Omit) => MarkSpec + schema: (params: Omit) => MarkSpec } export default class Mark< Options = {}, - Callback = MarkCallback, - Extends extends MarkExtends = MarkExtends -> extends Extension { + Props = MarkProps, + Methods extends MarkMethods = MarkMethods +> extends Extension { type = 'mark' - public schema(value: Extends['schema']) { + public schema(value: Methods['schema']) { this.storeConfig('schema', value, 'overwrite') return this } diff --git a/packages/core/src/Node.ts b/packages/core/src/Node.ts index bd5e0f4e..d36c2105 100644 --- a/packages/core/src/Node.ts +++ b/packages/core/src/Node.ts @@ -1,32 +1,32 @@ import { NodeSpec, NodeType } from 'prosemirror-model' -import Extension, { ExtensionCallback, ExtensionExtends } from './Extension' +import Extension, { ExtensionMethods } from './Extension' import { Editor } from './Editor' -export interface NodeCallback { +export interface NodeProps { name: string editor: Editor options: Options type: NodeType } -export interface NodeExtends extends ExtensionExtends { +export interface NodeMethods extends ExtensionMethods { topNode: boolean - schema: (params: Omit) => NodeSpec + schema: (params: Omit) => NodeSpec } export default class Node< Options = {}, - Callback = NodeCallback, - Extends extends NodeExtends = NodeExtends -> extends Extension { + Props = NodeProps, + Methods extends NodeMethods = NodeMethods +> extends Extension { type = 'node' - public topNode(value: Extends['topNode'] = true) { + public topNode(value: Methods['topNode'] = true) { this.storeConfig('topNode', value, 'overwrite') return this } - public schema(value: Extends['schema']) { + public schema(value: Methods['schema']) { this.storeConfig('schema', value, 'overwrite') return this }