NodeSchema
Defined in: src/schema/index.ts:496
A node definition schema.
Generic parameters capture the literal types needed for compile-time grammar computation:
- TName: The unique node name (e.g., “add”, “ternary”)
- TPattern: The pattern elements as a tuple type
- TPrecedence: The precedence level (non-negative integer)
- TResultType: binding name, arktype string def, object def, or undefined (allowed only for passthrough patterns)
Type Parameters
Section titled “Type Parameters”TName extends string = string
TPattern
Section titled “TPattern”TPattern extends readonly PatternSchema[] = readonly PatternSchema[]
TPrecedence
Section titled “TPrecedence”TPrecedence extends Precedence = Precedence
TResultType
Section titled “TResultType”TResultType extends ResultSpec | undefined = ResultSpec | undefined
Properties
Section titled “Properties”
readonlyname:TName
Defined in: src/schema/index.ts:502
pattern
Section titled “pattern”
readonlypattern:TPattern
Defined in: src/schema/index.ts:503
precedence
Section titled “precedence”
readonlyprecedence:TPrecedence
Defined in: src/schema/index.ts:504
resultType?
Section titled “resultType?”
readonlyoptionalresultType?:TResultType
Defined in: src/schema/index.ts:505
readonlyoptionaleval?:EvalFn
Defined in: src/schema/index.ts:514
Optional: Evaluate the node to produce a runtime value.
values
The named bindings as memoized thunks (evaluation is uniformly lazy — call a binding to evaluate it; untaken branches are never evaluated)