UNPKG

@foxpage/foxpage-types

Version:

foxpage sdk types

75 lines (74 loc) 2.08 kB
import { Application } from '../application'; import { MessageArray } from '../common/index'; import { FoxpageBuildHooks, FoxpageStaticComponent } from '../hook'; import { FPPackageEntrySource } from '../manager'; import { StructureNode } from '../structure'; export interface ComponentLoadOption { autoDownloadComponent?: boolean; useStructureVersion?: boolean; isPreviewMode?: boolean; isCanary?: boolean; isSemver?: boolean; reLoadComponent?: boolean; } export interface ComponentLoader { app?: Application; opt: ComponentLoadOption; load(schemas: StructureNode[]): void; getLoadedComponents(): Map<string, FoxpageComponent>; getLoadedDependencies(): Map<string, FoxpageComponent>; destroy(): void; } export interface FoxpageComponentMeta { useStyledComponents?: boolean; isMountNode?: boolean; isHead?: boolean; isBody?: boolean; isCSREntry?: boolean; [key: string]: any; } export interface FoxpageComponentFactory extends Pick<FoxpageBuildHooks, 'beforeNodeBuild'> { } export interface FoxpageComponent extends FoxpageStaticComponent { name: string; type?: string; version?: string; isLive?: boolean; browserURL: string; debugURL: string; nodeURL: string; cssURL: string; source?: FPPackageEntrySource; meta: FoxpageComponentMeta; supportSSR: boolean; factory?: FoxpageComponentFactory; dependencies?: string[]; messages?: MessageArray; isBuiltinComponent?: boolean; } export interface ComponentNodeInjectProps { $locale?: string; $runtime: { isServer: boolean; isBrowser: boolean; clientType: 'server' | 'client'; }; $eid: string; $ename: string; $elabel: string; $etype: string; $dsl: { id: string; name?: string; fileId?: string; version?: string | number; appId: string; structure: { id: string; name: string; label: string; type: string; version?: string; }; }; }