Я пытаюсь объединить несколько объектов с Sanctuary.
С Ramda.js я бы сделал что-то вроде этого (см. REPL здесь ):
const R = require('ramda');
const initialEntry = { a: 0, b: 1 };
const entries = [{c: 2}, {d: 3, e: 4}, {f: 5, g: 6, h: 7}];
R.reduce(Object.assign, initialEntry, entries);
Однако в случае с Santuary.js следующая строка кода вызывает исключение.
S.reduce(Object.assign)(initialEntry)(entries)
Вот исключение, которое я получаю:
! Invalid value
reduce :: Foldable f => (a -> b -> a) -> a -> f b -> a
^^^^^^
1
1) {"a": 0, "b": 1} :: Object, StrMap Number, StrMap FiniteNumber, StrMap Integer, StrMap NonNegativeInteger, StrMap ValidNumber
The value at position 1 is not a member of ‘b -> a’.
Я озадачен этим сообщением об ошибке.Я неправильно использую S.reduce
?Кроме того, я не получаю ошибок, если я пишу S.reduce(Object.assign)(initialEntry)([])
.