Skip to content

defineEffects

defineEffects<EffectsConfig>(config: EffectsConfig): MatchboxFactory<EffectsConfig extends readonly string[] ? { [K in string]: (data: any) => any } : EffectsConfig, "effect">

Defined in: extras/effects.ts:26

Defines a set of effects using a tagged types configuration.

Use cases:

  • Grouping effect handlers for state machines or event systems
  • Creating effect matchboxes for pattern matching
Type ParameterDescription
EffectsConfig extends TaggedTypesThe tagged types configuration for effects
ParameterTypeDescription
configEffectsConfigConfiguration object mapping effect tags to types

MatchboxFactory<EffectsConfig extends readonly string[] ? { [K in string]: (data: any) => any } : EffectsConfig, "effect">

A matchbox factory for the defined effects

export function defineEffects<EffectsConfig extends TaggedTypes>(
config: EffectsConfig
) {
return matchboxFactory(config, "effect");
}