patronum
Version:
☄️ Effector utility library delivering modularity and convenience
30 lines (28 loc) • 628 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.splitMap = splitMap;
var _effector = require("effector");
function splitMap({
source,
cases
}) {
const result = {};
let current = _effector.is.store(source, {
name: "current",
sid: "-htjkz7"
}) ? source.updates : source;
for (const key in cases) {
if (key in cases) {
const fn = cases[key];
result[key] = current.filterMap(fn);
current = current.filter({
fn: data => !fn(data)
});
}
}
// eslint-disable-next-line no-underscore-dangle
result.__ = current;
return result;
}
;