@tempots/std
Version:
Std library for TypeScript. Natural complement to the Tempo libraries.
2 lines (1 loc) • 1.17 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=e=>Object.keys(e),f=e=>Object.values(e),l=e=>Object.entries(e),u=e=>Object.fromEntries(e),O=(e,t)=>{const s=r(e),n=r(t);if(s.length!==n.length)return!1;for(const c of s)if(!(c in t))return!1;return!0},a=e=>e!=null&&Object.getPrototypeOf(e)===Object.prototype,y=(e,...t)=>{const s=new Set(t);return r(e).reduce((c,o)=>(s.has(o)||(c[o]=e[o]),c),{})},b=(e,t)=>Object.assign({},e,t),j=e=>Object.keys(e).length===0,m=(e,t)=>{const s={};for(const n of t)n in e&&(s[n]=e[n]);return s},p=(e,t)=>{const s={...e};for(const n of t)delete s[n];return s},i=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=>i(t));if(typeof e=="object"){const t={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=i(e[s]));return t}return e};exports.deepClone=i;exports.isEmptyObject=j;exports.isObject=a;exports.mergeObjects=b;exports.objectEntries=l;exports.objectFromEntries=u;exports.objectKeys=r;exports.objectValues=f;exports.omit=p;exports.pick=m;exports.removeObjectFields=y;exports.sameObjectKeys=O;