From 8f866d60432ddf2e29f56c90eb8b727a53419ffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Sun, 6 Sep 2020 23:47:39 +0200 Subject: [PATCH] refactoring --- packages/core/src/test.ts | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/core/src/test.ts b/packages/core/src/test.ts index b4c47e30..4ec2445f 100644 --- a/packages/core/src/test.ts +++ b/packages/core/src/test.ts @@ -834,26 +834,27 @@ class ExtensionTest { } public create() { - - const self = this - - // type ParentOptions = NoInfer type ParentOptions = Options - - return function(options?: Partial>): ExtensionTest { - return cloneDeep(self as unknown as ExtensionTest, true) - .options(options as Options) + + return (options?: Partial>) => { + return cloneDeep(this, true).options(options as Options) } } } interface NodeExtends extends ExtensionExtends { + topNode: boolean schema: (params: ExtensionCallback) => NodeSpec } class NodeTest extends ExtensionTest { type = 'node' + public topNode(value: NodeExtends['topNode'] = true) { + this.storeConfig('topNode', value, 'overwrite') + return this + } + public schema(value: NodeExtends['schema']) { this.storeConfig('schema', value, 'overwrite') return this @@ -883,7 +884,11 @@ const Suggestion = new NodeTest() })) .create() -console.log(Suggestion().options({ trigger: 'jo' })) +// const Blub = new ExtensionTest() +// .name('blub') +// .create() + +console.log(Suggestion(), Suggestion().topNode().options({ trigger: 'jo' })) // interface MentionOptions { // trigger: string