1
1
# expression-eval
2
2
3
- [ ![ Latest NPM release] ( https://img.shields.io/npm/v/expression-eval.svg )] ( https://www.npmjs.com/package/expression-eval )
4
- [ ![ Minzipped size] ( https://badgen.net/bundlephobia/minzip/expression-eval )] ( https://bundlephobia.com/result?p=expression-eval )
5
- [ ![ License] ( https://img.shields.io/badge/license-MIT-007ec6.svg )] ( https://github.com/donmccurdy/expression-eval/blob/master/LICENSE )
6
- [ ![ CI] ( https://github.com/donmccurdy/expression-eval/workflows/CI/badge.svg?branch=master&event=push )] ( https://github.com/donmccurdy/expression-eval/actions?query=workflow%3ACI )
3
+ [ ![ NPM version] [ npm-image ]] [ npm-url ]
4
+ [ ![ NPM download] [ download-image ]] [ download-url ]
5
+ [ ![ ci] ( https://github.com/node-casbin/expression-eval/actions/workflows/ci.yml/badge.svg )] ( https://github.com/node-casbin/expression-eval/actions/workflows/ci.yml )
6
+ [ ![ Coverage Status] ( https://coveralls.io/repos/github/node-casbin/expression-eval/badge.svg?branch=master )] ( https://coveralls.io/github/node-casbin/expression-eval?branch=master )
7
+ [ ![ Discord] ( https://img.shields.io/discord/1022748306096537660?logo=discord&label=discord&color=5865F2 )] ( https://discord.gg/S5UjpzGZjN )
8
+
9
+ [ npm-image ] : https://img.shields.io/npm/v/@casbin/expression-eval.svg?style=flat-square
10
+ [ npm-url ] : https://npmjs.org/package/@casbin/expression-eval
11
+ [ download-image ] : https://img.shields.io/npm/dm/@casbin/expression-eval.svg?style=flat-square
12
+ [ download-url ] : https://npmjs.org/package/@casbin/expression-eval
7
13
8
14
JavaScript expression parsing and evaluation.
9
15
@@ -14,26 +20,26 @@ Powered by [jsep](https://github.com/soney/jsep).
14
20
Install:
15
21
16
22
```
17
- npm install --save expression-eval
23
+ npm install --save @casbin/ expression-eval
18
24
```
19
25
20
26
Import:
21
27
22
28
``` js
23
29
// ES6
24
- import { parse , eval } from ' expression-eval' ;
30
+ import { parse , eval } from ' @casbin/ expression-eval' ;
25
31
// CommonJS
26
- const { parse , eval } = require (' expression-eval' );
32
+ const { parse , eval } = require (' @casbin/ expression-eval' );
27
33
// UMD / standalone script
28
- const { parse , eval } = window . expressionEval ;
34
+ const { parse , eval } = window [ ' @casbin/expression-eval ' ] ;
29
35
```
30
36
31
37
## API
32
38
33
39
### Parsing
34
40
35
41
``` javascript
36
- import { parse } from ' expression-eval' ;
42
+ import { parse } from ' @casbin/ expression-eval' ;
37
43
const ast = parse (' 1 + foo' );
38
44
```
39
45
@@ -58,7 +64,7 @@ The result of the parse is an AST (abstract syntax tree), like:
58
64
### Evaluation
59
65
60
66
``` javascript
61
- import { parse , eval } from ' expression-eval' ;
67
+ import { parse , eval } from ' @casbin/ expression-eval' ;
62
68
const ast = parse (' a + b / c' ); // abstract syntax tree (AST)
63
69
const value = eval (ast, {a: 2 , b: 2 , c: 5 }); // 2.4
64
70
```
@@ -68,7 +74,7 @@ Alternatively, use `evalAsync` for asynchronous evaluation.
68
74
### Compilation
69
75
70
76
``` javascript
71
- import { compile } from ' expression-eval' ;
77
+ import { compile } from ' @casbin/ expression-eval' ;
72
78
const fn = compile (' foo.bar + 10' );
73
79
fn ({foo: {bar: ' baz' }}); // 'baz10'
74
80
```
0 commit comments