1.0.7 • Published 2 years ago

script-eval-js v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Script Runner

Make your eval pass parameters and specify this context when executing the script, and you can register global functions and variables for him.

License: MIT

install

npm install script-eval-js


import { ScriptRunner } from 'script-eval-js';

examples

const result = ScriptRunner.eval(`return 1+1;`);
console.log(result);
const result = ScriptRunner.eval(`console.log(this);`);
console.log(result);
const result = ScriptRunner.eval(`console.log(id+name);`, { id: 100,  name: 'script runner' });
console.log(result);
const func = ScriptRunner.buildFunction(`console.log(this); return id + name;`, ['id','name'],this);
const result = func(100,'script runner');
console.log(result);

typescript typing

/**
* global context
*/
export declare class ScriptEvalContext {
    constructor(baseContext?: ScriptEvalContext, initLib?: boolean);
    clear(): void;
    register(name: string, object: any): void;
    remove(name: string): void;
    get(name: string): any;
    get names(): string[];
    get values(): any[];
}
export declare class ScriptRunner {
    static buildFunction(script: string, argNames?: string[], thisContext?: Object, globalContext?: ScriptEvalContext): Function;
    static eval<TResult>(script: string, parameters: Record<string, any>, thisContext?: Object, globalContext?: ScriptEvalContext): TResult;
}
1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago