@ark7/vee
v1.0.7
Published
VEE (Value Evaluation Expression) is a lightweight and flexible expression evaluation engine designed for JSON-based data structures. With VEE, you can define custom expressions that evaluate results by feeding in JSON values, making it easy to implement
Downloads
96
Readme
VEE
VEE (Value Evaluation Expression) is a lightweight and flexible expression evaluation engine designed for JSON-based data structures. With VEE, you can define custom expressions that evaluate results by feeding in JSON values, making it easy to implement dynamic logic, filtering, and data transformation within your applications.
Introduction
Number Expression
vee('{{10+20*30}}')({}) === '610';
Value Extraction
vee('{{foo.bar}}')({
variables: { foo: { bar: 'result' } },
}) === 'result';
vee('{{foo["bar"]}}')({
variables: { foo: { bar: 'result' } },
}) === 'result';
Function Expression
vee('{{fn("yoo","shi")}}')({
variables: {
fn: (...names: string[]) => 'Hello ' + names.join(', ') + '.',
},
}) === 'Hello yoo, shi.';
Pipe Function Expression
vee('{{"yoo"|fn:"shi"}}')({
variables: {
fn: (...names: string[]) => 'Hello ' + names.join(', ') + '.',
},
}) === 'Hello yoo, shi.';
Builtin Functions
upper()
It can convert the value to upper case.
vee('{{"hello"|upper}}')().should.be.equals('HELLO');
vee('{{123|upper}}')().should.be.equals('123');
Set Globals
global functions
It can set global functions for convenient.
SetupVee({
functions: {
globalFoo: (val: string) => `bar(${val})`,
},
});
vee('Name {{date|globalFoo}} DONE', { log })({
variables: { date: 'Jan 1, 2000' },
}).should.be.equals('Name bar(Jan 1, 2000) DONE');