clean-architecture
Version:
Utilities for implementing clean architecture using Redux
37 lines • 1.51 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.usecasesToEvts = void 0;
require("minimal-polyfills/Object.fromEntries");
var capitalize_1 = require("tsafe/capitalize");
var exclude_1 = require("tsafe/exclude");
var evt_1 = require("evt");
var wordId = "evt";
function usecasesToEvts(params) {
var store = params.store, usecasesArr = params.usecasesArr, rootContext = params.rootContext;
var getState = store.getState, evtAction = store.evtAction;
var evts = Object.fromEntries(usecasesArr
.map(function (_a) {
var name = _a.name, createEvt = _a.createEvt;
return (createEvt === undefined ? undefined : { name: name, createEvt: createEvt });
})
.filter((0, exclude_1.exclude)(undefined))
.map(function (_a) {
var name = _a.name, createEvt = _a.createEvt;
return [
"".concat(wordId).concat((0, capitalize_1.capitalize)(name)),
(function () {
var evt = createEvt({
evtAction: evtAction,
getState: getState,
rootContext: rootContext
});
var evtAsync = new evt_1.Evt();
evt.attach(function (data) { return Promise.resolve().then(function () { return evtAsync.post(data); }); });
return evtAsync;
})()
];
}));
return { evts: evts };
}
exports.usecasesToEvts = usecasesToEvts;
//# sourceMappingURL=usecasesToEvts.js.map
;