Skip to content
English

NormalizationOptions ​

KIT · interface · 类型合同

Pipeline options.

导入 ​

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

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

定义 ​

ts
interface NormalizationOptions<Value, Context>

泛型参数 ​

类型参数约束默认类型
Value——
Context——

字段结构 ​

字段类型必需说明
isComplete((value: Value, context: Context) => boolean) | undefined可省略只读。Stops the walk after the step that first returns true; later steps then do not run.

使用示例 ​

先只清理同一段查询 ​

入门 · Node.js

ts
import { Normalization } from '@jangts/agent-core/kits/normalization';
const query = Normalization.defineNormalization<string>([
  { id: 'trim', normalize: value => value.trim() },
]);
console.log(query.normalize('  Agent Core  ', undefined));
js
import { Normalization } from '@jangts/agent-core/kits/normalization';
const query = Normalization.defineNormalization([
    { id: 'trim', normalize: value => value.trim() },
]);
console.log(query.normalize('  Agent Core  ', undefined));

继续增加步骤和停止条件 ​

配置 · Node.js

ts
import { Normalization } from '@jangts/agent-core/kits/normalization';
const query = Normalization.defineNormalization<string>([
  { id: 'trim', normalize: value => value.trim() },
  { id: 'collapse-space', normalize: value => value.replace(/\s+/g, ' ') },
  { id: 'lowercase', when: value => value !== '*', normalize: value => value.toLowerCase() },
], { isComplete: value => value === '*' });
const values = [' Agent  Core ', 'agent core', '*'].map(value => query.normalize(value, undefined));
console.log(Normalization.uniqueBy(values, value => value));
js
import { Normalization } from '@jangts/agent-core/kits/normalization';
const query = Normalization.defineNormalization([
    { id: 'trim', normalize: value => value.trim() },
    { id: 'collapse-space', normalize: value => value.replace(/\s+/g, ' ') },
    { id: 'lowercase', when: value => value !== '*', normalize: value => value.toLowerCase() },
], { isComplete: value => value === '*' });
const values = [' Agent  Core ', 'agent core', '*'].map(value => query.normalize(value, undefined));
console.log(Normalization.uniqueBy(values, value => value));

相关策略源码 ​

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