/** * A small, zero-dependency, async-native rule-evaluation engine. * * `Rule`/`RulesEngine` are generic over the context they * read from, with no default type parameter — dict-context is * `FunctionRule`/`RulesEngine`. * * ```ts * import { AndRule, FunctionRule, type Context } from "verdict-rules"; * * const overEighteen = new FunctionRule("over_18", async (ctx) => ({ * ruleName: "over_18", * passed: (ctx.age as number) >= 18, * })); * * const verdict = await new AndRule("eligible", [overEighteen]).evaluate({ age: 21 }); * console.log(verdict.passed); // true * ``` */ export { RulesEngine } from "./engine.js"; export { UnknownLookupError } from "./errors.js"; export type { Context, RuleResult, RunResult } from "./result.js"; export { AndRule, FunctionRule, OrRule } from "./rule.js"; export type { Rule, RulePredicate } from "./rule.js";