@@ -25,7 +25,7 @@ bun install @codehz/json-expr
2525
2626``` typescript
2727import { z } from " zod" ;
28- import { variable , expr , compile , evaluate } from " @codehz/json-expr" ;
28+ import { variable , expr , compile , evaluate , constant } from " @codehz/json-expr" ;
2929
3030// 定义类型化变量
3131const x = variable (z .number ());
@@ -93,6 +93,35 @@ const compiled = compile(result, { x, y });
9393
9494## API 参考
9595
96+ ### ` constant<T>(value: T): Expression<{}, T> `
97+
98+ 创建一个编译期常量表达式。这是 ` expr({})(JSON.stringify(value)) ` 的快速路径,用于在表达式中嵌入静态值,避免在运行时传入或在多处重复编写。
99+
100+ ** 参数:**
101+
102+ - ` value ` - 要嵌入的常量值(必须是 JSON 可序列化的:string、number、boolean、null、数组或对象)
103+
104+ ** 返回值:** Expression 对象
105+
106+ ** 示例:**
107+
108+ ``` typescript
109+ import { constant , expr , variable , compile , evaluate } from " @codehz/json-expr" ;
110+ import { z } from " zod" ;
111+
112+ // 创建常量
113+ const PI = constant (3.14159 );
114+ const config = constant ({ maxRetries: 3 , timeout: 5000 });
115+
116+ // 在表达式中使用常量
117+ const radius = variable (z .number ());
118+ const area = expr ({ PI , radius })(" PI * radius * radius" );
119+
120+ const compiled = compile (area , { radius });
121+ const result = evaluate (compiled , { radius: 2 });
122+ // => 12.56636
123+ ```
124+
96125### ` variable<T>(schema: T): Variable<T> `
97126
98127创建一个类型化变量。
0 commit comments