repond
Version:
respond to items state in realtime
22 lines (16 loc) • 940 B
text/typescript
import { ParamEffectsGroup } from "./usable/paramEffects";
export type ItemTypeDefUntyped = {
newState: (itemId?: any) => any; // NOTE the itemId and type might not be realiably passed in
newRefs: (itemId?: any, type?: any) => any; // NOTE the itemId and type might not be realiably passed in
};
export type ItemTypeDefsUntyped = Record<string, ItemTypeDefUntyped>;
export interface RepondTypesUntyped {
ItemTypeDefs: ItemTypeDefsUntyped;
StepNames: string[] | readonly string[];
EffectGroups: Record<string, Record<string, any>>; // TOTO maybe rename groupedEffects
ParamEffectGroups: Record<string, ParamEffectsGroup<any, any>>;
}
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface CustomRepondTypes {}
// The final usable types, with the custom types overriding the default ones
export interface RepondTypes extends Omit<RepondTypesUntyped, keyof CustomRepondTypes>, CustomRepondTypes {}