fix(core): update the typings to be that options and storage are partials on an extended config #5852

This commit is contained in:
Nick the Sick 2024-11-21 14:30:27 +01:00
parent 4b2de3394a
commit b3a6cb24a3
No known key found for this signature in database
GPG Key ID: F575992F156E5BCC
4 changed files with 11 additions and 6 deletions

View File

@ -0,0 +1,5 @@
---
"@tiptap/core": patch
---
Update TypeScript types to allow options to be optional

View File

@ -474,9 +474,9 @@ export class Extension<Options = any, Storage = any> {
}
extend<ExtendedOptions = Options, ExtendedStorage = Storage>(
extendedConfig: Partial<ExtensionConfig<ExtendedOptions, ExtendedStorage>> = {},
extendedConfig: Partial<ExtensionConfig<Partial<ExtendedOptions>, Partial<ExtendedStorage>>> = {},
) {
const extension = new Extension<ExtendedOptions, ExtendedStorage>({ ...this.config, ...extendedConfig })
const extension = new Extension<ExtendedOptions, ExtendedStorage>({ ...this.config, ...extendedConfig } as ExtensionConfig)
extension.parent = this

View File

@ -606,9 +606,9 @@ export class Mark<Options = any, Storage = any> {
}
extend<ExtendedOptions = Options, ExtendedStorage = Storage>(
extendedConfig: Partial<MarkConfig<ExtendedOptions, ExtendedStorage>> = {},
extendedConfig: Partial<MarkConfig<Partial<ExtendedOptions>, Partial<ExtendedStorage>>> = {},
) {
const extension = new Mark<ExtendedOptions, ExtendedStorage>(extendedConfig)
const extension = new Mark<ExtendedOptions, ExtendedStorage>(extendedConfig as MarkConfig)
extension.parent = this

View File

@ -816,9 +816,9 @@ export class Node<Options = any, Storage = any> {
}
extend<ExtendedOptions = Options, ExtendedStorage = Storage>(
extendedConfig: Partial<NodeConfig<ExtendedOptions, ExtendedStorage>> = {},
extendedConfig: Partial<NodeConfig<Partial<ExtendedOptions>, Partial<ExtendedStorage>>> = {},
) {
const extension = new Node<ExtendedOptions, ExtendedStorage>(extendedConfig)
const extension = new Node<ExtendedOptions, ExtendedStorage>(extendedConfig as NodeConfig)
extension.parent = this