repond-events
Version:
events for repond
32 lines (27 loc) • 1.37 kB
text/typescript
export type UnsetEmojiKeysType = Record<string, string>;
export interface RepondEventsTypesUntyped<T_Group, T_Event, T_GenericParamA> {
EventGroups: Record<string, Record<string, any>>;
ValueGroups: Record<string, Record<string, any>>;
KnownChainIds: string;
EventParameters: any; // to type event parameter with dependant types
EmojiKeys: UnsetEmojiKeysType;
}
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface CustomRepondEventsTypes<T_Group, T_Event, T_GenericParamA> {}
// The final usable types, with the custom types overriding the default ones
export interface RepondEventsTypes<T_Group, T_Event, T_GenericParamA>
extends Omit<
RepondEventsTypesUntyped<T_Group, T_Event, T_GenericParamA>,
keyof CustomRepondEventsTypes<T_Group, T_Event, T_GenericParamA>
>,
CustomRepondEventsTypes<T_Group, T_Event, T_GenericParamA> {}
// How to use in project:
/*
declare module "repond-events/src/declarations" {
interface CustomRepondEventsTypes<T_Group, T_Event, T_GenericParamA> {
EventGroups: typeof allEventGroups;
KnownChainIds: "mainCardAniChain" | "mainCardOpacityDelayChain" | "miniCardSetAniChain";
EventParameters: CustomEventParameters<T_Group, T_Event, T_GenericParamA>;
// EventParameters: never; // use never if there's no custom types to keep default types working
}
}*/