UNPKG

@tempots/std

Version:

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

46 lines (45 loc) 1.31 kB
const c = (e) => Object.keys(e), i = (e) => Object.values(e), f = (e) => Object.entries(e), u = (e) => Object.fromEntries(e), l = (e, t) => { const n = c(e), s = c(t); if (n.length !== s.length) return !1; for (const r of n) if (!(r in t)) return !1; return !0; }, O = (e) => e != null && Object.getPrototypeOf(e) === Object.prototype, a = (e, ...t) => c(e).reduce((s, r) => (t.includes(r) || (s[r] = e[r]), s), {}), p = (e, t) => Object.assign({}, e, t), y = (e) => Object.keys(e).length === 0, k = (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; }; export { o as deepClone, y as isEmptyObject, O as isObject, p as mergeObjects, f as objectEntries, u as objectFromEntries, c as objectKeys, i as objectValues, m as omit, k as pick, a as removeObjectFields, l as sameObjectKeys };