Package Exports
- acorn5-object-spread
- acorn5-object-spread/inject
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (acorn5-object-spread) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Spread and rest properties support in acorn 5
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.
Usage
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 }
});Differences to acorn-object-rest-spread
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})and wrongly complains about duplicate property names in patterns. - acorn-object-rest-spread emits
SpreadElements with a non-standardvalueproperty - acorn-object-rest-spread emits
SpreadElements in arrow function argument patterns and nested object patterns were it should emitRestElements - acorn-object-rest-spread doesn't check for invalid trailing commas in rest properties
License
This plugin is issued under the MIT license.
With <3 by UXtemple.