rtfeldman/seamless-immutable
View on GitHub`merge` ignores Symbols contrary to `set`
Open
#189 opened on Dec 28, 2016
bughelp wanted
Description
Using Immutable 7.0.1, Babel, and Node 6, it seems that merge skips properties where the key is a Symbol, while set (correctly) sets them. It works with normal objects. Example:
babel> const Immutable = require('seamless-immutable');
babel> const s = Symbol("sym mine");
babel> Immutable({}).merge({[s]: "sym val"})[s]
undefined // WRONG: expected 'sym val'
babel> Immutable({}).set(s, "sym val")[s]
'sym val' // CORRECT
However it works when the key is not a Symbol but a normal object:
> var Immutable = require('seamless-immutable');
> var s = {name: "key obj"};
> Immutable({}).merge({[s]: "sym val"})[s]
'sym val'