Я пытаюсь использовать immutable.js с TypeScript, но с трудом убеждаю компилятор, что Map
имеет итератор. Код работает в ES6, поэтому я не уверен, почему он не работает в TypeScript.Компилятор TypeScript не может найти immutable.js Map iterator for for loop
Код
import {Map} from "immutable";
const m = Map({ a: 1 });
for (const [key, value] of m) {
console.log(key, value);
}
Ожидаемый результат:
a 1
Actual:
TSError: ⨯ Unable to compile TypeScript
src/test.ts (6,28): Type must have a '[Symbol.iterator]()' method that returns an iterator. (2488)
ES6 пример:
const Immutable = require("immutable");
const m = Immutable.Map({ a: 1 });
for (const [key, value] of m) {
console.log(key, value);
}
Выход:
a 1
Дополнительные примечания:
Я также попытался m.entries()
и m.entrySeq()
все производят ту же самую ошибку.
Я использую машинопись 2.0.3