@memberjunction/react-runtime
Version:
Platform-agnostic React component runtime for MemberJunction. Provides core compilation, registry, and execution capabilities for React components in any JavaScript environment.
48 lines • 2.24 kB
TypeScript
import { StandardLibraries } from './standard-libraries';
import { LibraryConfiguration, ExternalLibraryConfig, LibraryLoadOptions as ConfigLoadOptions } from '../types/library-config';
import { ComponentLibraryEntity } from '@memberjunction/core-entities';
import { LoadedLibraryState, DependencyResolutionOptions } from '../types/dependency-types';
interface LoadedResource {
element: HTMLScriptElement | HTMLLinkElement;
promise: Promise<any>;
}
export interface LibraryLoadOptions {
loadCore?: boolean;
loadUI?: boolean;
loadCSS?: boolean;
customLibraries?: {
url: string;
globalName: string;
}[];
}
export interface LibraryLoadResult {
React: any;
ReactDOM: any;
Babel: any;
libraries: StandardLibraries;
}
export declare class LibraryLoader {
private static loadedResources;
private static loadedLibraryStates;
private static dependencyResolver;
static enableProgressiveDelay: boolean;
static loadAllLibraries(config?: LibraryConfiguration, additionalLibraries?: ExternalLibraryConfig[], options?: {
debug?: boolean;
}): Promise<LibraryLoadResult>;
static loadLibrariesFromConfig(options?: ConfigLoadOptions, debug?: boolean): Promise<LibraryLoadResult>;
static loadLibraries(options: LibraryLoadOptions): Promise<LibraryLoadResult>;
private static loadScript;
private static isLibraryReady;
private static waitForGlobalVariable;
private static loadCSS;
private static waitForScriptLoad;
static getLoadedResources(): Map<string, LoadedResource>;
static clearCache(): void;
static loadLibraryWithDependencies(libraryName: string, allLibraries: ComponentLibraryEntity[], requestedBy?: string, options?: DependencyResolutionOptions): Promise<any>;
static loadLibrariesWithDependencies(libraryNames: string[], allLibraries: ComponentLibraryEntity[], requestedBy?: string, options?: DependencyResolutionOptions): Promise<Map<string, any>>;
static getLoadedLibraryStates(): Map<string, LoadedLibraryState>;
static isLibraryLoaded(libraryName: string): boolean;
static getLoadedLibraryVersion(libraryName: string): string | undefined;
}
export {};
//# sourceMappingURL=library-loader.d.ts.map