@adpt/core
Version:
AdaptJS core library
77 lines • 3.17 kB
TypeScript
import * as css from "./css";
import { AdaptElement, AdaptElementOrNull, AdaptMountedElement, FinalDomElement, GenericInstance, PartialFinalDomElement } from "./jsx";
import { StateStore } from "./state";
import { ObserverManagerDeployment } from "./observers";
import { Message } from "@adpt/utils";
import { BuildListener } from "./dom_build_data_recorder";
import { BuildId, Handle } from "./handle";
import { HookInfo } from "./hooks";
import { DeployOpID } from "./server/deployment_data";
export declare type DomPath = AdaptElement[];
export interface BuildHelpersOptions extends BuildId {
deployID: string;
deployOpID: DeployOpID;
observerManager?: ObserverManagerDeployment;
}
export declare function makeElementStatus(observerManager?: ObserverManagerDeployment): (handle: Handle<GenericInstance>) => Promise<any>;
export interface BuildOptions {
depth?: number;
shallow?: boolean;
recorder?: BuildListener;
stateStore?: StateStore;
observerManager?: ObserverManagerDeployment;
maxBuildPasses?: number;
buildOnce?: boolean;
deployID?: string;
deployOpID?: DeployOpID;
}
export interface BuildOptionsInternalNoId extends Required<BuildOptions> {
buildPass: number;
matchInfoReg: css.MatchInfoReg;
hookInfo: HookInfo;
}
export interface BuildOptionsInternal extends BuildOptionsInternalNoId, BuildId {
}
export interface BuildOutputBase {
mountedOrig: AdaptMountedElement | null;
messages: Message[];
}
export interface BuildOutputPartial extends BuildOutputBase {
buildErr: boolean;
partialBuild: true;
contents: PartialFinalDomElement | null;
}
export declare function isBuildOutputPartial(v: any): v is BuildOutputPartial;
export interface BuildOutputError extends BuildOutputPartial {
buildErr: true;
}
export declare function isBuildOutputError(v: any): v is BuildOutputError;
export declare type ProcessStateUpdates = () => Promise<{
stateChanged: boolean;
}>;
export declare const noStateUpdates: () => Promise<{
stateChanged: boolean;
}>;
export interface BuildOutputSuccess extends BuildOutputBase {
buildErr: false;
builtElements: AdaptMountedElement[];
partialBuild: false;
processStateUpdates: ProcessStateUpdates;
contents: FinalDomElement | null;
}
export declare function isBuildOutputSuccess(v: any): v is BuildOutputSuccess;
export declare type BuildOutput = BuildOutputSuccess | BuildOutputPartial | BuildOutputError;
export declare function build(root: AdaptElement, styles: AdaptElementOrNull, options?: BuildOptions): Promise<BuildOutput>;
export declare function buildOnce(root: AdaptElement, styles: AdaptElement | null, options?: BuildOptions): Promise<BuildOutput>;
export declare function processStateUpdates(builtElements: AdaptElement[], stateStore: StateStore): Promise<{
stateChanged: boolean;
}>;
export interface BuildData extends BuildId {
id: string;
deployID: string;
deployOpID: DeployOpID;
successor?: AdaptMountedElement | null;
origChildren?: (AdaptMountedElement | null | unknown)[];
}
export declare function domPathToString(domPath: DomPath): string;
//# sourceMappingURL=dom.d.ts.map