esanimate

Helpers for converting back and forth between esprima/SpiderMonkey ASTs and JavaScript objects.

Usage no npm install needed!

<script type="module">
  import esanimate from 'https://cdn.skypack.dev/esanimate';
</script>

README

esanimate

NPM version Build Status Coverage Status Dependency Status

Convert back and forth between esprima/SpiderMonkey ASTs and JavaScript objects.

Example:

require('esanimate').astify({ foo: 'bar', quux: 123 });

Returns:

{ type: 'ObjectExpression',
  properties:
   [ { kind: 'init',
       key: { type: 'Identifier', name: 'foo' },
       value: { type: 'Literal', value: 'bar' } },
     { kind: 'init',
       key: { type: 'Identifier', name: 'quux' },
       value: { type: 'Literal', value: 123 } } ] }

And the other way around:

esanimate.objectify({
  type: 'ObjectExpression',
  properties: [
    {
      kind: 'init',
      key: { type: 'Identifier', name: 'foo' },
      value: { type: 'Literal', value: 'bar' },
    },
  ],
});

Output:

{ foo: 'bar' }

License

3-clause BSD license -- see the LICENSE file for details.