clean-architecture
Version:
Utilities for implementing clean architecture using Redux
28 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.usecasesToFunctions = exports.thunksToFunctions = exports.thunkToFunction = void 0;
require("minimal-polyfills/Object.fromEntries");
var objectKeys_1 = require("tsafe/objectKeys");
function thunkToFunction(params) {
var dispatch = params.dispatch, thunk = params.thunk;
return function (params) { return dispatch(thunk(params)); };
}
exports.thunkToFunction = thunkToFunction;
function thunksToFunctions(params) {
var dispatch = params.dispatch, thunks = params.thunks;
return Object.fromEntries((0, objectKeys_1.objectKeys)(thunks).map(function (name) { return [name, thunkToFunction({ "thunk": thunks[name], dispatch: dispatch })]; }));
}
exports.thunksToFunctions = thunksToFunctions;
function usecasesToFunctions(params) {
var store = params.store, usecasesArr = params.usecasesArr;
var functions = Object.fromEntries(usecasesArr.map(function (_a) {
var name = _a.name, thunks = _a.thunks;
return [
name,
thunksToFunctions({ thunks: thunks, "dispatch": store.dispatch })
];
}));
return { functions: functions };
}
exports.usecasesToFunctions = usecasesToFunctions;
//# sourceMappingURL=usecasesToFunctions.js.map