/// // Generated by dts-bundle v0.7.3 // Dependencies for this module: // ../../@micro-app/types declare module '@micro-zoe/micro-app' { export { default, MicroApp, getActiveApps, getAllApps, unmountApp, unmountAllApps, reload, renderApp, } from '@micro-zoe/micro-app/micro_app'; export { default as preFetch, } from '@micro-zoe/micro-app/prefetch'; export { removeDomScope, pureCreateElement, version, } from '@micro-zoe/micro-app/libs/utils'; export { EventCenterForMicroApp, } from '@micro-zoe/micro-app/interact'; } declare module '@micro-zoe/micro-app/micro_app' { import { OptionsType, MicroAppBaseType, Router, AppName, Func, lifeCyclesType, MicroAppConfig, GetActiveAppsParam } from '@micro-app/types'; import preFetch from '@micro-zoe/micro-app/prefetch'; import { EventCenterForBaseApp } from '@micro-zoe/micro-app/interact'; /** * if app not prefetch & not unmount, then app is active * @param excludeHiddenApp exclude hidden keep-alive app, default is false * @param excludePreRender exclude pre render app * @returns active apps */ export function getActiveApps({ excludeHiddenApp, excludePreRender, }?: GetActiveAppsParam): AppName[]; export function getAllApps(): string[]; type unmountAppOptions = { destroy?: boolean; clearAliveState?: boolean; clearData?: boolean; }; /** * unmount app by appName * @param appName * @param options unmountAppOptions * @returns Promise */ export function unmountApp(appName: string, options?: unmountAppOptions): Promise; export function unmountAllApps(options?: unmountAppOptions): Promise; /** * Re render app from the command line * microApp.reload(destroy) * @param appName app.name * @param destroy unmount app with destroy mode * @returns Promise */ export function reload(appName: string, destroy?: boolean): Promise; interface RenderAppOptions extends MicroAppConfig { name: string; url: string; container: string | Element; baseroute?: string; 'default-page'?: string; data?: Record; onDataChange?: Func; lifeCycles?: lifeCyclesType; [key: string]: unknown; } /** * Manually render app * @param options RenderAppOptions * @returns Promise */ export function renderApp(options: RenderAppOptions): Promise; export class MicroApp extends EventCenterForBaseApp implements MicroAppBaseType { tagName: string; hasInit: boolean; options: OptionsType; router: Router; preFetch: typeof preFetch; unmountApp: typeof unmountApp; unmountAllApps: typeof unmountAllApps; getActiveApps: typeof getActiveApps; getAllApps: typeof getAllApps; reload: typeof reload; renderApp: typeof renderApp; start(options?: OptionsType): void; } const microApp: MicroApp; export default microApp; } declare module '@micro-zoe/micro-app/prefetch' { import { prefetchParamList, globalAssetsType } from '@micro-app/types'; /** * preFetch([ * { * name: string, * url: string, * iframe: boolean, * inline: boolean, * 'disable-scopecss': boolean, * 'disable-sandbox': boolean, * level: number, * 'default-page': string, * 'disable-patch-request': boolean, * }, * ... * ]) * Note: * 1: preFetch is async and is performed only when the browser is idle * 2: options of prefetch preferably match the config of the micro-app element, although this is not required * @param apps micro app options * @param delay delay time */ export default function preFetch(apps: prefetchParamList, delay?: number): void; /** * load global assets into cache * @param assets global assets of js, css */ export function getGlobalAssets(assets: globalAssetsType): void; } declare module '@micro-zoe/micro-app/libs/utils' { import { Func, LocationQueryObject, MicroLocation, AttrsType, fiberTasks, MicroAppElementTagNameMap, MicroAppElementInterface } from '@micro-app/types'; export const version = "__MICRO_APP_VERSION__"; export const isBrowser: boolean; export const globalObj: any; export const noop: () => void; export const noopFalse: () => boolean; export const isArray: (arg: any) => arg is any[]; export const assign: { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; }; export const rawDefineProperty: (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any; export const rawDefineProperties: (o: any, properties: PropertyDescriptorMap & ThisType) => any; export const rawToString: () => string; export const rawHasOwnProperty: (v: string | number | symbol) => boolean; export const toTypeString: (value: unknown) => string; export function isUndefined(target: unknown): target is undefined; export function isNull(target: unknown): target is null; export function isString(target: unknown): target is string; export function isBoolean(target: unknown): target is boolean; export function isNumber(target: unknown): target is Number; export function isFunction(target: unknown): target is Function; export function isPlainObject>(target: unknown): target is T; export function isObject(target: unknown): target is Object; export function isPromise(target: unknown): target is Promise; export function isBoundFunction(target: unknown): boolean; export function isConstructor(target: unknown): boolean; export function isShadowRoot(target: unknown): target is ShadowRoot; export function isURL(target: unknown): target is URL; export function isElement(target: unknown): target is Element; export function isNode(target: unknown): target is Node; export function isCanvasElement(target: unknown): target is HTMLCanvasElement; export function isAnchorElement(target: unknown): target is HTMLAnchorElement; export function isAudioElement(target: unknown): target is HTMLAudioElement; export function isVideoElement(target: unknown): target is HTMLVideoElement; export function isLinkElement(target: unknown): target is HTMLLinkElement; export function isBodyElement(target: unknown): target is HTMLBodyElement; export function isStyleElement(target: unknown): target is HTMLStyleElement; export function isScriptElement(target: unknown): target is HTMLScriptElement; export function isIFrameElement(target: unknown): target is HTMLIFrameElement; export function isDivElement(target: unknown): target is HTMLDivElement; export function isImageElement(target: unknown): target is HTMLImageElement; export function isBaseElement(target: unknown): target is HTMLBaseElement; export function isDocumentFragment(target: unknown): target is DocumentFragment; export function isDocumentShadowRoot(target: unknown): target is DocumentFragment; export function isMicroAppBody(target: unknown): target is HTMLElement; export function isMicroAppHead(target: unknown): target is HTMLElement; export function isWebComponentElement(target: unknown): boolean; export function isProxyDocument(target: unknown): target is Document; export function isTargetExtension(path: string, suffix: string): boolean; export function includes(target: unknown[], searchElement: unknown, fromIndex?: number): boolean; /** * format error log * @param msg message * @param appName app name, default is null */ export function logError(msg: unknown, appName?: string | null, ...rest: unknown[]): void; /** * format warn log * @param msg message * @param appName app name, default is null */ export function logWarn(msg: unknown, appName?: string | null, ...rest: unknown[]): void; /** * async execution * @param fn callback * @param args params */ export function defer(fn: Func, ...args: unknown[]): void; /** * async execution with macro task * @param fn callback * @param args params */ export function macro(fn: Func, delay?: number, ...args: unknown[]): void; /** * create URL as MicroLocation */ export const createURL: (path: string | URL, base?: string | undefined) => MicroLocation; /** * Add address protocol * @param url address */ export function addProtocol(url: string): string; /** * format URL address * note the scenes: * 1. micro-app -> attributeChangedCallback * 2. preFetch */ export function formatAppURL(url: string | null, appName?: string | null): string; /** * format name * note the scenes: * 1. micro-app -> attributeChangedCallback * 2. event_center -> EventCenterForMicroApp -> constructor * 3. event_center -> EventCenterForBaseApp -> all methods * 4. preFetch * 5. plugins * 6. router api (push, replace) */ export function formatAppName(name: string | null): string; /** * Get valid address, such as * 1. https://domain/xx/xx.html to https://domain/xx/ * 2. https://domain/xx to https://domain/xx/ * @param url app.url */ export function getEffectivePath(url: string): string; /** * Complete address * @param path address * @param baseURI base url(app.url) */ export function CompletionPath(path: string, baseURI: string): string; /** * Get the folder where the link resource is located, * which is used to complete the relative address in the css * @param linkPath full link address */ export function getLinkFileDir(linkPath: string): string; /** * promise stream * @param promiseList promise list * @param successCb success callback * @param errorCb failed callback * @param finallyCb finally callback */ export function promiseStream(promiseList: Array | T>, successCb: CallableFunction, errorCb: CallableFunction, finallyCb?: CallableFunction): void; export function isSupportModuleScript(): boolean; export function createNonceSrc(): string; export function unique(array: any[]): any[]; export const requestIdleCallback: any; /** * Wrap requestIdleCallback with promise * Exec callback when browser idle */ export function promiseRequestIdle(callback: CallableFunction): Promise; export function setCurrentAppName(appName: string | null): void; export function getCurrentAppName(): string | null; export function throttleDeferForSetAppName(appName: string): void; export function setIframeCurrentAppName(appName: string | null): void; export function getIframeCurrentAppName(): string | null; export function throttleDeferForIframeAppName(appName: string): void; export function getPreventSetState(): boolean; /** * prevent set appName * usage: * removeDomScope(true) * -----> element scope point to base app <----- * removeDomScope(false) */ export function removeDomScope(force?: boolean): void; export function isSafari(): boolean; /** * Create pure elements */ export function pureCreateElement(tagName: K, options?: ElementCreationOptions): MicroAppElementTagNameMap[K]; export function isInvalidQuerySelectorKey(key: string): boolean; export function isUniqueElement(key: string): boolean; export type RootContainer = HTMLElement & MicroAppElementInterface; /** * get micro-app element * @param target app container */ export function getRootContainer(target: HTMLElement | ShadowRoot): RootContainer; /** * trim start & end */ export function trim(str: string): string; export function isFireFox(): boolean; /** * Transforms a queryString into object. * @param search - search string to parse * @returns a query object */ export function parseQuery(search: string): LocationQueryObject; /** * Transforms an object to query string * @param queryObject - query object to stringify * @returns query string without the leading `?` */ export function stringifyQuery(queryObject: LocationQueryObject): string; /** * Register or unregister callback/guard with Set */ export function useSetRecord(): { add: (handler: T) => () => boolean; list: () => Set; }; /** * record data with Map */ export function useMapRecord(): { add: (key: PropertyKey, value: T) => () => boolean; get: (key: PropertyKey) => T | undefined; delete: (key: PropertyKey) => boolean; }; export function getAttributes(element: Element): AttrsType; /** * if fiberTasks exist, wrap callback with promiseRequestIdle * if not, execute callback * @param fiberTasks fiber task list * @param callback action callback */ export function injectFiberTask(fiberTasks: fiberTasks, callback: CallableFunction): void; /** * serial exec fiber task of link, style, script * @param tasks task array or null */ export function serialExecFiberTasks(tasks: fiberTasks): Promise | null; /** * inline script start with inline-xxx * @param address source address */ export function isInlineScript(address: string): boolean; /** * call function with try catch * @param fn target function * @param appName app.name * @param args arguments */ export function execMicroAppGlobalHook(fn: Func | null, appName: string, hookName: string, ...args: unknown[]): void; /** * remove all childNode from target node * @param $dom target node */ export function clearDOM($dom: HTMLElement | ShadowRoot | Document): void; export function instanceOf unknown>(instance: unknown, constructor: T): instance is T extends new (...args: unknown[]) => infer R ? R : boolean; export function formatEventType(type: string, appName: string): string; /** * Is the object empty * target maybe number, string, array ... */ export function isEmptyObject(target: unknown): boolean; } declare module '@micro-zoe/micro-app/interact' { import { CallableFunctionForInteract } from '@micro-app/types'; class EventCenterForGlobal { /** * add listener of global data * @param cb listener * @param autoTrigger If there is cached data when first bind listener, whether it needs to trigger, default is false */ addGlobalDataListener(cb: CallableFunctionForInteract, autoTrigger?: boolean): void; /** * remove listener of global data * @param cb listener */ removeGlobalDataListener(cb: CallableFunctionForInteract): void; /** * dispatch global data * @param data data */ setGlobalData(data: Record, nextStep?: CallableFunction, force?: boolean): void; forceSetGlobalData(data: Record, nextStep?: CallableFunction): void; /** * get global data */ getGlobalData(): Record | null; /** * clear global data */ clearGlobalData(): void; /** * clear all listener of global data * if appName exists, only the specified functions is cleared * if appName not exists, only clear the base app functions */ clearGlobalDataListener(): void; } export class EventCenterForBaseApp extends EventCenterForGlobal { /** * add listener * @param appName app.name * @param cb listener * @param autoTrigger If there is cached data when first bind listener, whether it needs to trigger, default is false */ addDataListener(appName: string, cb: CallableFunction, autoTrigger?: boolean): void; /** * remove listener * @param appName app.name * @param cb listener */ removeDataListener(appName: string, cb: CallableFunction): void; /** * get data from micro app or base app * @param appName app.name * @param fromBaseApp whether get data from base app, default is false */ getData(appName: string, fromBaseApp?: boolean): Record | null; /** * Dispatch data to the specified micro app * @param appName app.name * @param data data */ setData(appName: string, data: Record, nextStep?: CallableFunction, force?: boolean): void; forceSetData(appName: string, data: Record, nextStep?: CallableFunction): void; /** * clear data from base app * @param appName app.name * @param fromBaseApp whether clear data from child app, default is true */ clearData(appName: string, fromBaseApp?: boolean): void; /** * clear all listener for specified micro app * @param appName app.name */ clearDataListener(appName: string): void; changeEventAppName(newAppName: string, oldAppName: string): void; } export class EventCenterForMicroApp extends EventCenterForGlobal { appName: string; umdDataListeners?: { global: Set; normal: Set; }; constructor(appName: string); /** * add listener, monitor the data sent by the base app * @param cb listener * @param autoTrigger If there is cached data when first bind listener, whether it needs to trigger, default is false */ addDataListener(cb: CallableFunctionForInteract, autoTrigger?: boolean): void; /** * remove listener * @param cb listener */ removeDataListener(cb: CallableFunctionForInteract): void; /** * get data from base app */ getData(fromBaseApp?: boolean): Record | null; /** * dispatch data to base app * @param data data */ dispatch(data: Record, nextStep?: CallableFunction, force?: boolean): void; forceDispatch(data: Record, nextStep?: CallableFunction): void; /** * clear data from child app * @param fromBaseApp whether clear data from base app, default is false */ clearData(fromBaseApp?: boolean): void; /** * clear all listeners */ clearDataListener(): void; } /** * Record UMD function before exec umdHookMount * NOTE: record maybe call twice when unmount prerender, keep-alive app manually with umd mode * @param microAppEventCenter instance of EventCenterForMicroApp */ export function recordDataCenterSnapshot(microAppEventCenter: EventCenterForMicroApp): void; /** * Rebind the UMD function of the record before remount * @param microAppEventCenter instance of EventCenterForMicroApp */ export function rebuildDataCenterSnapshot(microAppEventCenter: EventCenterForMicroApp): void; /** * delete umdDataListeners from microAppEventCenter * @param microAppEventCenter instance of EventCenterForMicroApp */ export function resetDataCenterSnapshot(microAppEventCenter: EventCenterForMicroApp): void; export {}; }