
assign-symbols
#
Assign the enumerable es6 Symbol properties from an object (or objects) to the first object passed on the arguments. Can be used as a supplement to other extend, assign or merge methods as a polyfill for the Symbols part of the es6 Object.assign method.
From the Mozilla Developer docs for Symbol:
A symbol is a unique and immutable data type and may be used as an identifier for object properties. The symbol object is an implicit object wrapper for the symbol primitive data type.
Install#
Install with npm
$ npm i assign-symbols --save
Usage#
var assignSymbols = require('assign-symbols');
var obj = {};
var one = {};
var symbolOne = Symbol('aaa');
one[symbolOne] = 'bbb';
var two = {};
var symbolTwo = Symbol('ccc');
two[symbolTwo] = 'ddd';
assignSymbols(obj, one, two);
console.log(obj[symbolOne]);
//=> 'bbb'
console.log(obj[symbolTwo]);
//=> 'ddd'
Similar projects#
- assign-deep: Deeply assign the enumerable properties of source objects to a destination object. | homepage
- clone-deep: Recursively (deep) clone JavaScript native types, like Object, Array, RegExp, Date as well as primitives. | homepage
- extend-shallow: Extend an object with the properties of additional objects. node.js/javascript util. | homepage
- merge-deep: Recursively merge values in a javascript object. | homepage
- mixin-deep: Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone. | homepage
Running tests#
Install dev dependencies:
$ npm i -d && npm test
Contributing#
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Author#
Jon Schlinkert
License#
Copyright © 2015 Jon Schlinkert
Released under the MIT license.
This file was generated by verb-cli on November 06, 2015.