5.0.9 • Published 7 years ago

kevoree-kevscript v5.0.9

Weekly downloads
5
License
LGPL-3.0
Repository
github
Last release
7 years ago

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 directory

Kevscript 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 test

This 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
grunt

This 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.

5.0.9

7 years ago

5.0.8

7 years ago

5.0.7

7 years ago

5.0.6

7 years ago

5.0.5

7 years ago

5.0.4

7 years ago

5.0.3

7 years ago

5.0.2

7 years ago

5.0.1

7 years ago

5.0.0-alpha.3

7 years ago

5.0.0-alpha.2

7 years ago

5.0.0-alpha.1

7 years ago

5.0.0-alpha.0

7 years ago

5.0.0-alpha

7 years ago

4.1.7

7 years ago

4.1.6

7 years ago

4.1.5

7 years ago

4.1.4

7 years ago

4.1.3

7 years ago

4.1.3-alpha.0

7 years ago

4.1.3-alpha

7 years ago

4.1.2

7 years ago

4.1.1

7 years ago

4.0.5

7 years ago

4.0.4

7 years ago

4.0.3

7 years ago

4.0.2

7 years ago

4.0.1

7 years ago

4.0.0

7 years ago

4.0.0-beta.27

8 years ago

4.0.0-beta.26

8 years ago

4.0.0-beta.25

8 years ago

4.0.0-beta.24

8 years ago

4.0.0-beta.23

8 years ago

4.0.0-beta.22

8 years ago

4.0.0-beta.21

8 years ago

4.0.0-beta.20

8 years ago

4.0.0-beta.19

8 years ago

4.0.0-beta.18

8 years ago

4.0.0-beta.17

8 years ago

4.0.0-beta.16

8 years ago

4.0.0-beta.15

8 years ago

4.0.0-beta.14

8 years ago

4.0.0-beta.13

8 years ago

4.0.0-beta.12

8 years ago

4.0.0-beta.11

8 years ago

4.0.0-beta.10

8 years ago

4.0.0-beta.9

8 years ago

4.0.0-beta.8

8 years ago

4.0.0-beta.7

8 years ago

4.0.0-beta.6

8 years ago

4.0.0-beta.5

8 years ago

4.0.0-beta.4

8 years ago

4.0.0-beta.3

8 years ago

4.0.0-beta.2

8 years ago

4.0.0-beta.1

8 years ago

4.0.0-beta.0

8 years ago

4.0.0-beta

8 years ago

4.0.0-alpha.4

8 years ago

4.0.0-alpha.3

8 years ago

4.0.0-alpha.2

8 years ago

4.0.0-alpha.1

8 years ago

4.0.0-alpha

8 years ago

3.3.0

8 years ago

3.2.0

8 years ago

3.1.0

9 years ago

3.0.2

9 years ago

3.0.1

9 years ago

3.0.0

9 years ago

3.0.0-SNAPSHOT.2

9 years ago

3.0.0-SNAPSHOT.1

9 years ago

3.0.0-SNAPSHOT

9 years ago

2.2.3

9 years ago

2.2.2

9 years ago

2.2.1

9 years ago

2.2.0

9 years ago

2.1.6

9 years ago

2.1.5

9 years ago

2.1.4

10 years ago

2.1.3

10 years ago

2.1.2

10 years ago

2.1.1

10 years ago

2.1.0

10 years ago

2.0.9

10 years ago

2.0.8

10 years ago

2.0.7

10 years ago

2.0.6

10 years ago

2.0.5

10 years ago

2.0.4

10 years ago

2.0.3

10 years ago

2.0.2

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago

1.0.0-SNAPSHOT-rc2

10 years ago

1.0.0-SNAPSHOT-rc1

10 years ago

1.0.0-SNAPSHOT

10 years ago

0.9.0

10 years ago

0.8.0

10 years ago

0.7.5

10 years ago

0.7.4

10 years ago

0.7.3

10 years ago

0.7.2

10 years ago

0.7.1

10 years ago

0.7.0

10 years ago

0.6.3

10 years ago

0.6.2

10 years ago

0.6.1

10 years ago

0.6.0

10 years ago

0.5.0

10 years ago

0.4.20

10 years ago

0.4.19

10 years ago

0.4.18

10 years ago

0.4.17

10 years ago

0.4.16

10 years ago

0.4.15

10 years ago

0.4.14

10 years ago

0.4.13

10 years ago

0.4.12

10 years ago

0.4.11

10 years ago

0.4.10

10 years ago

0.4.1

10 years ago

0.4.0

10 years ago

0.3.0

10 years ago

0.2.6

10 years ago

0.2.5

10 years ago

0.2.4

10 years ago

0.2.0

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago