Skip to main content
Version: v0.0.2

Type Alias: LoopUsage

LoopUsage = "required" | "situational" | "optional"

Cardinality of a segment or child loop inside its parent. Mirrors TR3 spelling so the spec reads like the implementation guide:

  • required - the segment/loop MUST appear at least once.
  • situational - the segment/loop MAY appear when its situational rule triggers; the parser does not enforce the rule itself but loop-walker warnings (Phase 3+) reference it.
  • optional - the segment/loop MAY appear in any usage.

Example

import type { LoopUsage } from "@cosyte/x12";
const usage: LoopUsage = "required";