movex-core-util
Version:
Movex Core Util is the library of utilities for Movex
35 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.objectPick = exports.objectOmit = exports.isFunction = exports.isObject = exports.keyInObject = exports.noop = exports.invoke = exports.objectKeys = void 0;
const objectKeys = (o) => Object.keys(o);
exports.objectKeys = objectKeys;
const invoke = (fn) => fn();
exports.invoke = invoke;
const noop = () => {
//nothing much
};
exports.noop = noop;
// Use this to get inherited keys as well
const keyInObject = (obj, prop) => prop in obj;
exports.keyInObject = keyInObject;
const isObject = (o) => {
return typeof o === 'object' && !Array.isArray(o) && o !== null;
};
exports.isObject = isObject;
const isFunction = (x) => typeof x === 'function';
exports.isFunction = isFunction;
const objectOmit = (o, toOmit) => (0, exports.objectKeys)(o).reduce((prev, nextKey) => {
if (toOmit.indexOf(nextKey) > -1) {
return prev;
}
return Object.assign(Object.assign({}, prev), { [nextKey]: o[nextKey] });
}, {});
exports.objectOmit = objectOmit;
const objectPick = (o, toPick) => (0, exports.objectKeys)(o).reduce((prev, nextKey) => {
if (toPick.indexOf(nextKey) === -1) {
return prev;
}
return Object.assign(Object.assign({}, prev), { [nextKey]: o[nextKey] });
}, {});
exports.objectPick = objectPick;
//# sourceMappingURL=misc.js.map