Function: defineRule()

August 8, 2026 ยท View on GitHub

@plures/praxis


@plures/praxis / index / defineRule

Function: defineRule()

defineRule<TContext>(options): RuleDescriptor<TContext>

Defined in: src/dsl/index.ts:122

Define a rule

Type Parameters

TContext

TContext = unknown

Parameters

options

DefineRuleOptions<TContext>

Rule definition options: id, description, impl, optional eventTypes, contract, and meta

Returns

RuleDescriptor<TContext>

A fully constructed RuleDescriptor

Example

const loginRule = defineRule({
  id: "auth.login",
  description: "Process login event",
  impl: (state, events) => {
    const loginEvent = events.find(Login.is);
    if (loginEvent) {
      return [UserLoggedIn.create({ userId: loginEvent.payload.username })];
    }
    return [];
  }
});