@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
24 lines (23 loc) • 1.43 kB
TypeScript
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[]>;
}