@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
39 lines (38 loc) • 1.88 kB
TypeScript
import type { AllEditorPresetPluginTypes, ExtractPluginNameFromAllBuilderPlugins, MaybePlugin, MaybePluginName, PresetPlugin, SafePresetCheck } from '../types';
import type { EditorPlugin } from '../types/editor-plugin';
import type { EditorPluginInjectionAPI } from './plugin-injection-api';
interface ProcessProps {
pluginInjectionAPI?: EditorPluginInjectionAPI;
excludePlugins?: Set<string>;
}
interface BuildProps extends ProcessProps {
excludePlugins?: Set<string>;
pluginInjectionAPI?: EditorPluginInjectionAPI;
}
type OldAndDeprecatedAddFunction<T> = (pluginToAdd: T, builder: EditorPresetBuilder<any, any>) => EditorPresetBuilder<any, any>;
type AllPluginNames = string | MaybePluginName<string>;
export declare class EditorPresetBuilder<PluginNames extends AllPluginNames[] = [], StackPlugins extends AllEditorPresetPluginTypes[] = []> {
private readonly data;
constructor(...more: [...StackPlugins]);
add<NewPlugin extends PresetPlugin>(nextOrTuple: SafePresetCheck<NewPlugin, StackPlugins>): EditorPresetBuilder<[
ExtractPluginNameFromAllBuilderPlugins<NewPlugin>,
...PluginNames
], [
...[NewPlugin],
...StackPlugins
]>;
maybeAdd<ToAddPlugin extends PresetPlugin>(pluginToAdd: SafePresetCheck<ToAddPlugin, StackPlugins>, shouldAdd: boolean | (() => boolean) | OldAndDeprecatedAddFunction<ToAddPlugin>): EditorPresetBuilder<[
MaybePluginName<ExtractPluginNameFromAllBuilderPlugins<ToAddPlugin>>,
...PluginNames
], [
MaybePlugin<ToAddPlugin>,
...StackPlugins
]>;
has(plugin: AllEditorPresetPluginTypes): boolean;
build({ pluginInjectionAPI, excludePlugins: maybeExcludePlugins, }?: BuildProps): EditorPlugin[];
private verifyDuplicatedPlugins;
private processEditorPlugins;
private removeExcludedPlugins;
private safeEntry;
}
export {};