Skip to content
English

拒绝检查与匹配短路的实际规则 ​

策略的具体实现如下。

ts
export function breakWhile(
  occur: readonly BreakPredicate[],
  error?: BreakReason,
  tags?: readonly string[],
): void;

export function matchRule<Input, Result>(
  rules: readonly MatchRule<Input, Result>[],
  input: Input,
): Result | undefined {
  return rules
    .find(
      (rule) =>
        rule.pattern === undefined ||
        booleanResult(rule.pattern(input), 'Rule patterns must return boolean synchronously'),
    )
    ?.handle(input);
}

export function walkRules(rules: readonly WalkRule[]): void;

接口参考、使用示例与开发指南。