动作/表达式
@actions/expressions 是用于分析和评价 GitHub 动作的库 表达式。 。 。 .
安装
这个 软件包 包含TypeScript类型并编译了ECMAScript模块.
npm install @actions/expressions
使用量
简单示例
import { Parser, Lexer, Evaluator, data } from '@actions/expressions';
const lexer = new Lexer("1 == 2");
const lr = lexer.lex();
const parser = new Parser(lr.tokens, [], []);
const expr = parser.parse();
const evaluator = new Evaluator(expr, new data.Dictionary());
const result = evaluator.evaluate();
console.log(result.coerceString()) // false
有上下文数据
import { Parser, Lexer, Evaluator, data } from '@actions/expressions';
const lexer = new Lexer("'monalisa' == context.name");
const lr = lexer.lex();
const parser = new Parser(lr.tokens, ["context"], []);
const expr = parser.parse();
const evaluator = new Evaluator(expr, new data.Dictionary([{
key: "context"
value: new data.Dictionary([{
key: "name"
value: new data.StringData("monalisa")
}])
}]));
const result = evaluator.evaluate();
console.log(result.coerceString()) // true
捐款
见 捐款额 作为一般准则和建议存放处的基础.
这个项目只是GitHub动作表达语言的多处执行之一. 因此,我们不能接受增加新语言特征或显著改变现有语言特征行为的贡献. 请使用我们的语言 社区论坛。 。 。 .
如果你想捐款,请跑 更美丽 用于格式化您的代码,并在提交您的PR前酌情添加单位测试. ./测试数据 包含所有执行都应通过的测试案例,也请确保这些测试仍然通过.
构建
npm run build
或监视更改
npm run watch
测试
npm test
或监视更改和运行测试:
npm run test-watch
林特
npm run format-check
许可证
这个项目根据麻省理工学院开源许可证的规定获得许可. 请参考 麻省理工学院 全部条件.