Skip to content
English

WalkRule ​

CORE · interface · 类型合同

Synchronous traversal; local rules may omit catalog metadata.

导入 ​

ts
import type { WalkRule } from '@jangts/agent-core/support';
js
/** @typedef {import('@jangts/agent-core/support').WalkRule} WalkRule */

其他公开入口:@jangts/agent-core、@jangts/agent-core/types、@jangts/agent-core/structs、@jangts/agent-core/support。

定义 ​

ts
interface WalkRule<Input>

继承或实现: Partial<MatchRule<Input, unknown>>。

泛型参数 ​

类型参数约束默认类型
Input—void

字段结构 ​

字段类型必需说明
handle(input: Input) => unknown必需只读。Runs when the rule matches; must return synchronously.
before((input: Input) => void) | undefined可省略只读。Runs before matching, including when the rule does not match.
idstring | undefined可省略只读。Unique rule id used in diagnostics.
descriptionstring | undefined可省略只读。见类型定义及调用场景。
pattern((input: Readonly<Input>) => boolean) | undefined可省略只读。Omission is an unconditional match at this position, normally the final fallback.

成员目录 ​

成员用途
handleRuns when the rule matches; must return synchronously.

成员详情 ​

handle ​

Runs when the rule matches; must return synchronously.

ts
WalkRule.handle(input: Input): unknown
参数类型传递说明
inputInput必需—

返回: unknown。

使用示例 ​

一个明确的拒绝 ​

入门 · Node.js

ts
import { Support } from '@jangts/agent-core';
const input = '你好';
Support.breakWhile(!input.trim(), '问题不能为空');
console.log(input);
js
import { Support } from '@jangts/agent-core';
const input = '你好';
Support.breakWhile(!input.trim(), '问题不能为空');
console.log(input);

有依赖关系的检查按序求值 ​

配置 · Node.js

ts
import { Support } from '@jangts/agent-core';
const input: unknown = { name: 'Ivan' };
Support.breakWhile([
  { occur: !input || typeof input !== 'object', error: '需要对象' },
  { occur: () => !('name' in (input as object)), error: '缺少 name' },
]);
console.log(input);
js
import { Support } from '@jangts/agent-core';
const input = { name: 'Ivan' };
Support.breakWhile([
    { occur: !input || typeof input !== 'object', error: '需要对象' },
    { occur: () => !('name' in input), error: '缺少 name' },
]);
console.log(input);

相关策略源码 ​

相关定义 ​

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