rtfeldman/seamless-immutable

Doesn't play well with Symbols (generators?)

開放

#107 建立於 2016年3月1日

 (2 則留言) (0 個反應) (0 位負責人)JavaScript (221 個分叉)batch import
bughelp wanted

倉庫指標

星標
 (5,367 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Great library. I have a pretty esoteric case, but the failure seems to be real.

This code:

let context = {
    * [Symbol.iterator]() {
        yield Promise.resolve(1);
        yield Promise.resolve(2);
    }
};

for (let P of context) {
    console.log(P.value());
}

// 1
// 2

Fails if wrapped by Immutable:

let context = Immutable({
    * [Symbol.iterator]() {
        yield Promise.resolve(1);
        yield Promise.resolve(2);
    }
});

...

for (let P of context) {
              ^
TypeError: undefined is not a function

I'm not sure if it is the generator or the symbol usage (or computed property keys or the compact object method signature) that's causing the problem.

Running on Node (5.x), with --harmony flag. Also, bluebird is the Promise implementation.

貢獻者指南