UNPKG

@foxpage/foxpage-node-sdk

Version:

foxpage node sdk

121 lines (120 loc) 2.76 kB
import { Application, ComponentLoader, ComponentLoadOption, FoxpageComponent, StructureNode } from '@foxpage/foxpage-types'; /** * component loader * * @export * @class ComponentLoaderImpl * @implements {ComponentLoader} */ export declare class ComponentLoaderImpl implements ComponentLoader { app?: Application; opt: ComponentLoadOption; /** * the loaded components map * * @private` */ private loadedMap; /** * miss load componentMap * * @private */ private missLoadMap; /** * id -> version map * * @private */ private resolvedVersionMap; /** * all dependencies * "name":"version" list * @private * @type {string[]} */ private dependencies; /** * dependencies loaded map * * @private */ private loadedDependencyMap; /** * dependencies miss load * key: "name":"version", value: {name, version} * @private * @type {FPPackageDependency[]} */ private missLoadDependencyMap; /** * for record the missed package version that had fetched from server * "name":"version" | "name":"" -> "name":"version", * @private */ private missedVersionMap; private logger; constructor(appId: string, opt: ComponentLoadOption); /** * load components * @param {StructureNode[]} schemas */ load(schemas: StructureNode[]): Promise<void>; /** * get loaded components * * @return {*} {Map<string, FoxpageComponent>} */ getLoadedComponents(): Map<string, FoxpageComponent>; /** * get loaded dependencies * * @return {*} {Map<string, FoxpageComponent>} */ getLoadedDependencies(): Map<string, FoxpageComponent>; /** * destroy: clear all source * */ destroy(): Promise<void>; /** * download the missed packages * * @private * @return {*} */ private downloadMisses; /** * resolve the missed packages * * @private * @param {(Map<string, Package | null>)} loadedMap */ private resolveMisses; /** * resolve the component * for divide the available or invalid * @private * @param {StructureNode[]} schemas */ private resolveComponents; /** * resolve the dependencies * * @private */ private resolveDependencies; /** * get the missed packages * * @private * @return {PackageNamedVersion} namedVersions */ private getMissedPackages; private componentFormatter; private generateStructureNode; private setResolveVersion; private isComponent; private generateKey; private splitKey; }