This is plugin for Acorn - a tiny, fast JavaScript parser, written completely in JavaScript.
It implements support for spread and rest properties as defined in the stage 3 proposal Object Rest/Spread Properties for ECMAScript.
You can use this module directly in order to get an Acorn instance with the plugin installed:
var acorn = require('acorn5-object-spread');
Or you can use inject.js
for injecting the plugin into your own version of Acorn like this:
var acorn = require('acorn5-object-spread/inject')(require('./custom-acorn'));
Then, use the plugins
option whenever you need to support object spread or rest while parsing:
var ast = acorn.parse(code, {
plugins: { objectSpread: true }
});
acorn-object-rest-spread is another acorn plugin implementing the same spec. There are some differences, though:
- acorn-object-rest-spread overwrites acorn
s
parseObjwith a modified copy from acorn 4, so that an acorn instance with that plugin cannot for example parse
({async, foo})` - acorn-object-rest-spread emits
SpreadElement
s with a non-standardvalue
property - acorn-object-rest-spread emits
SpreadElement
s in arrow function argument patterns and nested object patterns were it should emitRestElement
s - acorn-object-rest-spread doesn't check for invalid trailing commas in rest properties
This plugin is issued under the MIT license.
With <3 by UXtemple.