UNPKG

repond-events

Version:
49 lines (48 loc) 5.14 kB
import { ItemType, StatePath } from "repond"; import { UnsetEmojiKeysType } from "./declarations"; import { ChainId, EmojiKeys, EventBlock, EventBlockOptions, EventGroupName, EventName, EventParams, EventTypeDefinition, RunMode, RunModeExtraOptions, TypeOrUndefinedIfAllOptional, ValueBlock, ValueBlockOptions, ValueEmojiKeys, ValueGroupName, ValueName, ValueParams, ValueTypeDefinition } from "./types"; type OptionalIfUndefinableSpreadType<T extends any> = T extends undefined ? [T?, EventBlockOptions?] : [T, EventBlockOptions?]; type ExcludedOriginalKeys = { [K in keyof EmojiKeys]: EmojiKeys[K]; }[keyof EmojiKeys]; type AcceptableKeys = Exclude<EventGroupName, ExcludedOriginalKeys> | keyof EmojiKeys; type ResolveGroupType<T_Key extends AcceptableKeys> = EmojiKeys extends UnsetEmojiKeysType ? T_Key : T_Key extends keyof EmojiKeys ? EmojiKeys[T_Key] : T_Key; export declare function todo<T_Key extends AcceptableKeys, T_Group extends ResolveGroupType<T_Key>, T_Name extends EventName<T_Group>, T_GenericParamA>(groupOrEmoji: T_Key, name: T_Name, ...args: OptionalIfUndefinableSpreadType<TypeOrUndefinedIfAllOptional<EventParams<T_Group, T_Name, T_GenericParamA>>>): EventBlock; export declare function runEvent<T_Key extends AcceptableKeys, T_Group extends ResolveGroupType<T_Key>, T_Name extends EventName<T_Group>, T_GenericParamA>(groupOrEmoji: T_Key, name: T_Name, ...args: OptionalIfUndefinableSpreadType<TypeOrUndefinedIfAllOptional<EventParams<T_Group, T_Name, T_GenericParamA>>>): ChainId; export declare function runPriorityEvent<T_Group extends EventGroupName, T_Name extends EventName<T_Group>, T_GenericParamA>(group: T_Group, name: T_Name, params: EventParams<T_Group, T_Name, T_GenericParamA>, options: EventBlockOptions): ChainId; export declare function runEvents<T_Events extends EventBlock[]>(eventsToRun: T_Events, options?: EventBlockOptions): ChainId; export declare function addSubEvents<T_Events extends EventBlock[]>(liveId: string, eventsToRun: T_Events, options?: EventBlockOptions): void; export declare function runPriorityEvents<T_Events extends EventBlock[]>(eventsToRun: T_Events, options?: EventBlockOptions): ChainId; export declare function eventDo(runMode: RunMode, liveId: string, runOptions?: RunModeExtraOptions): void; export declare function chainDo(runMode: RunMode, chainId: ChainId, runOptions?: RunModeExtraOptions): void; export declare function chainWithEventDo(runMode: RunMode, liveId: string, runOptions?: RunModeExtraOptions): void; export declare function allGroupEventsDo(groupName: string, runMode: RunMode, runOptions?: RunModeExtraOptions): void; export declare function doForAllBeforeEvent(runMode: RunMode, liveId: string, runOptions?: RunModeExtraOptions): void; export declare function skipToEvent(liveId: string, runOptions?: RunModeExtraOptions): void; export declare function cancelUpToEvent(liveId: string, runOptions?: RunModeExtraOptions): void; export declare function allEventsDo(runMode: RunMode, runOptions?: RunModeExtraOptions): void; export declare function cancelFastChain(chainId: ChainId): void; export type MakeEventType = <T_Params extends Record<any, any>>(eventTypeDefition: EventTypeDefinition<T_Params>) => EventTypeDefinition<T_Params>; export declare function makeEventTypes<K_EventName extends string, T_EventsMap extends Record<K_EventName, EventTypeDefinition<any>>>(eventsToAdd: (arg0: { event: MakeEventType; }) => T_EventsMap): T_EventsMap; export declare function initEventTypeGroups<T extends Record<string, ReturnType<typeof makeEventTypes>>, T_TimePathItemType extends ItemType>(groups: T, options?: { defaultElapsedTimePath?: StatePath<T_TimePathItemType>; defaultChainId?: string; emojiKeys?: Record<string, string>; }): T; export type MakeValueType = <T_Params extends Record<any, any>>(valueTypeDefition: ValueTypeDefinition<T_Params>) => ValueTypeDefinition<T_Params>; export declare function makeValueTypes<K_ValueName extends string, T_ValuesMap extends Record<K_ValueName, ValueTypeDefinition<any>>>(valuesToAdd: (arg0: { value: MakeValueType; }) => T_ValuesMap): T_ValuesMap; export declare function initValueTypeGroups<T extends Record<string, ReturnType<typeof makeValueTypes>>>(groups: T, options?: { emojiKeys?: Record<string, string>; }): T; type OptionalIfUndefinableSpreadType_Value<T extends any> = T extends undefined ? [T?, ValueBlockOptions?] : [T, ValueBlockOptions?]; type ExcludedOriginalValueKeys = { [K in keyof EmojiKeys]: EmojiKeys[K]; }[keyof EmojiKeys]; type AcceptableValueKeys = Exclude<ValueGroupName, ExcludedOriginalValueKeys> | keyof ValueEmojiKeys; type ResolveValueType<T_Key extends AcceptableValueKeys> = ValueEmojiKeys extends UnsetEmojiKeysType ? T_Key : T_Key extends keyof ValueEmojiKeys ? ValueEmojiKeys[T_Key] : T_Key; export declare function makeValue<T_Key extends AcceptableValueKeys, T_Group extends ResolveValueType<T_Key>, T_Name extends ValueName<T_Group>, T_GenericParamA>(groupOrEmoji: T_Key, name: T_Name, ...args: OptionalIfUndefinableSpreadType_Value<TypeOrUndefinedIfAllOptional<ValueParams<T_Group, T_Name, T_GenericParamA>>>): ValueBlock; export {};