UNPKG

@tempots/std

Version:

Std library for TypeScript. Natural complement to the Tempo libraries.

2 lines (1 loc) 1.14 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=e=>Object.keys(e),i=e=>Object.values(e),l=e=>Object.entries(e),f=e=>Object.fromEntries(e),u=(e,t)=>{const n=r(e),s=r(t);if(n.length!==s.length)return!1;for(const c of n)if(!(c in t))return!1;return!0},O=e=>e!=null&&Object.getPrototypeOf(e)===Object.prototype,a=(e,...t)=>r(e).reduce((s,c)=>(t.includes(c)||(s[c]=e[c]),s),{}),y=(e,t)=>Object.assign({},e,t),b=e=>Object.keys(e).length===0,j=(e,t)=>{const n={};for(const s of t)s in e&&(n[s]=e[s]);return n},m=(e,t)=>{const n={...e};for(const s of t)delete n[s];return n},o=e=>{if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(e instanceof Array)return e.map(t=>o(t));if(typeof e=="object"){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=o(e[n]));return t}return e};exports.deepClone=o;exports.isEmptyObject=b;exports.isObject=O;exports.mergeObjects=y;exports.objectEntries=l;exports.objectFromEntries=f;exports.objectKeys=r;exports.objectValues=i;exports.omit=m;exports.pick=j;exports.removeObjectFields=a;exports.sameObjectKeys=u;