1.0.7 • Published 10 months ago

@ark7/vee v1.0.7

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
10 months ago

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');
1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago