tweak-tools
Version:
Tweak your React projects until awesomeness
29 lines (28 loc) • 992 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isEmptyObject = exports.isObject = exports.mapArrayToKeys = exports.omit = exports.pick = void 0;
function pick(object, keys) {
return keys.reduce((obj, key) => {
if (!!object && object.hasOwnProperty(key)) {
obj[key] = object[key];
}
return obj;
}, {});
}
exports.pick = pick;
function omit(object, keys) {
const obj = Object.assign({}, object);
keys.forEach((k) => k in object && delete obj[k]);
return obj;
}
exports.omit = omit;
function mapArrayToKeys(value, keys) {
return value.reduce((acc, v, i) => Object.assign(acc, { [keys[i]]: v }), {});
}
exports.mapArrayToKeys = mapArrayToKeys;
function isObject(variable) {
return Object.prototype.toString.call(variable) === '[object Object]';
}
exports.isObject = isObject;
const isEmptyObject = (obj) => isObject(obj) && Object.keys(obj).length === 0;
exports.isEmptyObject = isEmptyObject;