redux-tiles
Version:
Library to create and easily compose redux pieces together in less verbose manner
44 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("./utils");
function ensureArray(value) {
return utils_1.isString(value) ? [value] : value;
}
exports.ensureArray = ensureArray;
function populateHash(hash, path, value) {
if (utils_1.isString(path)) {
return populateHash(hash, [path], value);
}
if (path.length === 1) {
hash[path[0]] = value;
return hash;
}
var property = path[0];
if (!hash[property]) {
hash[property] = {};
}
return populateHash(hash[property], path.slice(1), value);
}
exports.populateHash = populateHash;
function iterate(tiles) {
return utils_1.isArray(tiles)
? tiles
: Object.keys(tiles).reduce(function (arr, key) {
var values = tiles[key];
return arr.concat(values);
}, []);
}
exports.iterate = iterate;
function capitalize(str, i) {
if (i === 0) {
return str;
}
return str[0].toUpperCase() + str.slice(1);
}
function createType(_a) {
var type = _a.type, path = _a.path;
var list = ensureArray(type).concat(path == null ? [] : path.map(String));
return list.map(capitalize).join("");
}
exports.createType = createType;
//# sourceMappingURL=helpers.js.map