@dooboostore/dom-render
Version:
html view template engine
55 lines • 2.04 kB
TypeScript
import { ComponentBase } from '../ComponentBase';
import { RunConfig } from '../../DomRender';
import { OtherData } from '../../lifecycle/OnChangeAttrRender';
import { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';
export declare namespace PromiseSwitch {
export const selector = "dr-promise-switch";
export type ChangeParams<T> = {
status: 'pending';
} | {
status: 'finally';
} | {
status: 'fulfilled';
data: T;
} | {
status: 'rejected';
data: any;
};
export type Attribute = {
data: Promise<any> | (() => Promise<any>);
change?: <T>(data: ChangeParams<T>) => void;
};
class ChildBase<T = any> extends ComponentBase<T> {
hidden: boolean;
}
export class Default extends ChildBase {
}
export class Pending extends ChildBase<{
defaultView?: null;
}> {
}
export class Fulfilled<T = any> extends ChildBase {
private data?;
setData(data: T): void;
}
export class Rejected<T = any> extends ChildBase {
private data?;
setData(data: T): void;
}
export class PromiseSwitch extends ComponentBase<Attribute> {
private promiseState?;
onCreatedThisChild(child: any, data: OnCreateRenderDataParams): void;
childStateChange(): void;
onChangeAttrRender(name: string, value: any, other: OtherData): void;
}
export {};
}
declare const _default: {
promiseDefault: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
promisePending: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
promiseFulfilled: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
promiseRejected: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
promiseSwitch: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
};
export default _default;
//# sourceMappingURL=PromiseSwitch.d.ts.map