UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

24 lines (23 loc) 1.43 kB
import type { ExtensionAutoConvertHandler, ExtensionKey, ExtensionManifest, ExtensionType } from './types/extension-manifest'; import type { Parameters } from './types/extension-parameters'; import type { ExtensionProvider } from './types/extension-provider'; export default class DefaultExtensionProvider<T extends Parameters> implements ExtensionProvider<T> { protected manifestsPromise: Promise<ExtensionManifest<T>[]>; protected manifestsCache: ExtensionManifest<T>[]; protected autoConvertHandlers?: ExtensionAutoConvertHandler[]; constructor(manifests: ExtensionManifest<T>[] | Promise<ExtensionManifest<T>[]>, /** * Allows for an optional list of pre compiled auto convert handlers to be passed. * Useful for performance improvements or to support legacy converters. * * Warning: If this attribute is passed, this provider will ignore auto convert patterns from the manifests. */ autoConvertHandlers?: ExtensionAutoConvertHandler[]); getExtensions(): Promise<ExtensionManifest<T>[]>; preload(): Promise<void>; getPreloadedExtension(type: ExtensionType, key: ExtensionKey): ExtensionManifest<T> | undefined; getExtension(type: ExtensionType, key: ExtensionKey): Promise<ExtensionManifest<T>>; private getExtensionFromManifest; search(keyword: string): Promise<ExtensionManifest<T>[]>; getAutoConverter(): Promise<ExtensionAutoConvertHandler[]>; }