UNPKG

@dooboostore/dom-render

Version:
55 lines 2.04 kB
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