UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

65 lines (64 loc) 2.51 kB
import type { PluginConstructor } from './Plugin'; export interface UMDLocPluginDefinition { umdLoc: { uri: string; baseUri?: string; }; name: string; } export interface UMDUrlPluginDefinition { umdUrl: string; name: string; } export interface LegacyUMDPluginDefinition { url: string; name: string; } type UMDPluginDefinition = UMDLocPluginDefinition | UMDUrlPluginDefinition; export declare function isUMDPluginDefinition(def: PluginDefinition): def is UMDPluginDefinition | LegacyUMDPluginDefinition; export interface ESMLocPluginDefinition { esmLoc: { uri: string; baseUri?: string; }; } export interface ESMUrlPluginDefinition { esmUrl: string; } export type ESMPluginDefinition = ESMLocPluginDefinition | ESMUrlPluginDefinition; export declare function isESMPluginDefinition(def: PluginDefinition): def is ESMPluginDefinition; export interface CJSPluginDefinition { cjsUrl: string; } export declare function isCJSPluginDefinition(def: PluginDefinition): def is CJSPluginDefinition; export type PluginDefinition = UMDUrlPluginDefinition | UMDLocPluginDefinition | LegacyUMDPluginDefinition | ESMLocPluginDefinition | ESMUrlPluginDefinition | CJSPluginDefinition; export interface PluginRecord { plugin: PluginConstructor; definition: PluginDefinition; } export interface LoadedPlugin { default: PluginConstructor; } export declare function pluginDescriptionString(d: PluginDefinition): string; export declare function pluginUrl(d: PluginDefinition): any; export default class PluginLoader { definitions: PluginDefinition[]; fetchESM?: (url: string) => Promise<LoadedPlugin>; fetchCJS?: (url: string) => Promise<LoadedPlugin>; constructor(defs?: PluginDefinition[], args?: { fetchESM?: (url: string) => Promise<LoadedPlugin>; fetchCJS?: (url: string) => Promise<LoadedPlugin>; }); loadCJSPlugin(def: CJSPluginDefinition, baseUri?: string): Promise<LoadedPlugin>; loadESMPlugin(def: ESMPluginDefinition, baseUri?: string): Promise<LoadedPlugin>; loadUMDPlugin(def: UMDPluginDefinition | LegacyUMDPluginDefinition, baseUri?: string): Promise<{ default: PluginConstructor; }>; loadPlugin(def: PluginDefinition, baseUri?: string): Promise<PluginConstructor>; installGlobalReExports(target: WindowOrWorkerGlobalScope): this; load(baseUri?: string): Promise<{ plugin: PluginConstructor; definition: PluginDefinition; }[]>; } export {};