UNPKG

@ionre/utils

Version:

utility functions

63 lines (62 loc) 2.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.adjust = function (f) { return function (prop) { return function (obj) { var _a; return Object.assign({}, obj, (_a = {}, _a[prop] = f(obj[prop]), _a)); }; }; }; exports.assign = function (diff) { return function (object) { return Object.assign({}, object, diff); }; }; exports.assoc = function (key) { return function (val) { return function (obj) { var _a; return Object.assign({}, obj, (_a = {}, _a[key] = val, _a)); }; }; }; exports.deepMerge = require("deepmerge").all; exports.equal = function (obj1) { return function (obj2) { var keys1 = Object.keys(obj1); var n = keys1.length; for (var i = 0; i < n; i++) { var key = keys1[i]; if (!obj2.hasOwnProperty(key)) { return false; } else { var _a = [obj1[key], obj2[key]], val1 = _a[0], val2 = _a[1]; if (typeof val1 == "object") { if (typeof val2 == "object") { if (!exports.equal(val1)(val2)) { return false; } } else { return false; } } else { if (val1 !== val2) { return false; } } } } return true; }; }; exports.evolve = function (fobj) { return function (obj) { var _a; var obj1 = Object.assign({}, obj); for (var key in fobj) { if (obj.hasOwnProperty(key)) { Object.assign(obj1, (_a = {}, _a[key] = fobj[key](obj[key]), _a)); } } return obj1; }; }; exports.keys = function (obj) { return Object.keys(obj); }; exports.method = function (key) { return function (arg) { return function (obj) { return obj[key](arg); }; }; }; exports.method0 = function (key) { return function (obj) { return obj[key](); }; }; exports.pairs = function (obj) { return Object.keys(obj).map(function (key) { return [key, obj[key]]; }); }; exports.prop = function (key) { return function (object) { return object[key]; }; }; exports.remove = function (key) { return function (obj) { var obj1 = Object.assign({}, obj); delete obj1[key]; return obj1; }; }; exports.values = function (obj) { return Object.values(obj); };