In [4]:
var Immutable = require('seamless-immutable');
In [14]:
var original = Immutable([2]);
original.concat([3]);
Out[14]:
In [15]:
Immutable([1]).concat(original);
Out[15]:
In [6]:
Immutable([1]).slice(0,-1);
Out[6]:
In [16]:
var report = Immutable([{path: "/", log: []},{path: "/last", log: []}]);
// Update to [{path: "/", log: ["new event"]}]; It would be easy if we had updateIn and a curried concat:
// var updatedReport = updateIn(report, [report.length - 1, log], concat(["new event"]))
var oldEntry = report[report.length-1];
/*var updatedReport =*/ report.slice(0,-1).concat([
oldEntry.merge({log: oldEntry.log.concat(["new event"])})
]);
Out[16]: