sfcode An Online Competing and Development Environment

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

- github/jonschlinkert
- twitter/jonschlinkert

# License

Copyright © 2015 Jon Schlinkert Released under the MIT license.

This file was generated by verb-cli on November 06, 2015.