kevoree-kevscript v1.0.0-SNAPSHOT-rc2
kevoree-kevscript
Convert a KevScript file to a Kevoree model (ContainerRoot)
node kevs2model.js -k examples/test-parser.kevs
# will output `model.json` in current directoryKevscript API
Want to parse Kevscript programatically ?
Then, you can do something like this:
var Kevscript = require('kevoree-kevscript');
var myKevscript = 'include npm:kevoree-node-javascript\nadd node0 : JavascriptNode',
kevs = new Kevscript();
kevs.parse(myKevscript)
.then(({ model }) => {
// success
// 'model' is the equivalent Kevoree model of your Kevscript input
})
.catch((err) => {
// something went wrong
});You can also give a context model and/or context variables
Context Model
var KevScript = require('kevoree-kevscript');
var kevs = new KevScript();
var script = 'add node : JavascriptNode';
kevs.parse(script, contextModel)
.then(({ model }) => {
// success
// this model is the contextModel + the interpretation of the given KevScript
// so here, it will add a JavascriptNode "node" to the resulting model
// Note that contextModel WILL NOT be modified
})
.catch((err) => {
// something went wrong
});Context Variables
You can use the naming convention %NAME% to dinamycally set variable content.
If you use 2 % symbols, then the interpreter will randomly generate a value for those variables (eg. %%RANDOM_NAME%%)
var KevScript = require('kevoree-kevscript');
var kevs = new KevScript();
var script =
'add %node% : JavascriptNode\n' +
'add %%grp%%: WSGroup\n' +
'attach %node% %%grp%%';
var ctxVars = {
node: 'myNode'
};
kevs.parse(script, null, ctxVars)
.then(({ model }) => {
// success
// KevScript parser has generated a random value for %%grp%% that you can
// retrieve here: ctxVars.grp
})
.catch((err) => {
// something went wrong
});Tests
To be sure that the parser works correctly, run:
npm testThis will try to parse the KevScript file from examples/test-parser.kevs showing the resulting AST on stdo
Browserify
If you want to generate kevoree-kevscript.js for the browser, just run:
npm install
gruntThis will create a new folder named browser/ in the project root containing a raw browserified version of
kevoree-kevscript
Once loaded in your browser, you can access the KevoreeKevscript class from the global scope.
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago