inversify-devtools
Version:
inversify-devtools
54 lines (53 loc) • 1.77 kB
JavaScript
;
var inversify_logger_middleware_1 = require("inversify-logger-middleware");
function makeActionCreator(type) {
var argNames = [];
for (var _i = 1; _i < arguments.length; _i++) {
argNames[_i - 1] = arguments[_i];
}
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i - 0] = arguments[_i];
}
var action = { type: type };
argNames.forEach(function (arg, index) {
var argName = argNames[index];
var argValue = args[index];
action[argName] = argValue;
});
return action;
};
}
exports.makeActionCreator = makeActionCreator;
function combineActionsGroups() {
var actionGroups = [];
for (var _i = 0; _i < arguments.length; _i++) {
actionGroups[_i - 0] = arguments[_i];
}
var mixing = {};
actionGroups.forEach(function (actionGroup) {
Object.keys(actionGroup).forEach(function (key) {
if (mixing[key] !== undefined) {
throw new Error("Mixing cannot be applied due to duplicated key!");
}
else {
mixing[key] = actionGroup[key];
}
});
});
return mixing;
}
exports.combineActionsGroups = combineActionsGroups;
function formatBindings(bindings) {
return bindings.map(function (binding) {
if (typeof binding.scope === "number") {
binding.scope = inversify_logger_middleware_1.scopeFormatter(binding.scope);
}
if (typeof binding.type === "number") {
binding.type = inversify_logger_middleware_1.bindingTypeFormatter(binding.type);
}
return binding;
});
}
exports.formatBindings = formatBindings;