Skip to content

Interface: RulesBuilder ​

Defined in: builders/rules-builder.ts:13

Fluent builder for rule registries (P.rules(id)).

Aggregates always-active GlobalRule entries (pinned in [GLOBAL_RULES]) and partition- or effect-activated ScopedRuleNode entries.

Extends ​

Methods ​

global() ​

ts
global(...rules): RulesBuilder;

Defined in: builders/rules-builder.ts:26

Appends inline GlobalRule records or external SourceASTNode<GlobalRule | readonly GlobalRule[]> sources.

Preserves declaration order across all .global(...) calls on this registry.

Parameters ​

ParameterTypeDescription
...rulesreadonly MaybeSource< | { directive: string; id: string; } | readonly object[]>[]Global rules or sources.

Returns ​

RulesBuilder

New immutable rules builder.


scoped() ​

ts
scoped(...rules): RulesBuilder;

Defined in: builders/rules-builder.ts:39

Appends ScopedRuleNode builders/nodes or external SourceASTNode<ScopedRule | readonly ScopedRule[]> sources.

Extracts .toAST() from any ScopedRuleBuilder or source builder arguments.

Parameters ​

ParameterTypeDescription
...rulesreadonly ( | MaybeBuilder<ScopedRuleNode> | MaybeSource< | { checks: BuiltInCheckASTNode<unknown>[]; directive: string; id: string; when: { effects?: FsGlobMatcherNode; partitions: string[]; }; } | readonly object[]>)[]Scoped rules or sources.

Returns ​

RulesBuilder

New immutable rules builder.


toAST() ​

ts
toAST(): RulesNode;

Defined in: ast/ast-builder.ts:20

Compiles the current builder configuration into a deeply frozen passive AST node.

Validates required builder invariants at compilation time and returns an immutable plain-object AST representation containing zero execution methods.

Returns ​

RulesNode

Deeply frozen passive AST node.

Inherited from ​

AstBuilder.toAST

Properties ​

PropertyModifierTypeDescriptionDefined in
idreadonlystringUnique identifier of the rules registry.builders/rules-builder.ts:15

Released under the MIT License.