rtfeldman/seamless-immutable

`merge` ignores Symbols contrary to `set`

Open

#189 geöffnet am 28. Dez. 2016

Auf GitHub ansehen
 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (221 Forks)batch import
bughelp wanted

Repository-Metriken

Stars
 (5.367 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

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'

Contributor Guide