UNPKG

@pivanov/utils

Version:

A focused collection of TypeScript utilities for modern web development

8 lines (7 loc) 3.14 kB
/*! * @pivanov/utils v1.0.0 * (c) 2024-present Pavel Ivanov * Released under the MIT License. * https://github.com/pivanov/utils */ var{defineProperty:L,getOwnPropertyNames:Z,getOwnPropertyDescriptor:_}=Object,$=Object.prototype.hasOwnProperty;var T=new WeakMap,U=(q)=>{var F=T.get(q),G;if(F)return F;if(F=L({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function")Z(q).map((H)=>!$.call(F,H)&&L(F,H,{get:()=>q[H],enumerable:!(G=_(q,H))||G.enumerable}));return T.set(q,F),F};var W=(q,F)=>{for(var G in F)L(q,G,{get:F[G],enumerable:!0,configurable:!0,set:(H)=>F[G]=()=>H})};var g={};W(g,{isUndefined:()=>N,isString:()=>B,isSet:()=>V,isRegExp:()=>w,isRecord:()=>D,isPromise:()=>M,isPrimitive:()=>h,isObject:()=>K,isNumber:()=>A,isNull:()=>P,isNil:()=>R,isMap:()=>E,isFunction:()=>C,isError:()=>x,isEmpty:()=>d,isDefined:()=>f,isDate:()=>S,isBoolean:()=>z,isArray:()=>O});module.exports=U(g);var z=(q)=>{return typeof q==="boolean"},A=(q)=>{return typeof q==="number"},B=(q)=>{return typeof q==="string"},C=(q)=>{return typeof q==="function"},K=(q)=>{if(q===null||typeof q!=="object")return!1;let F=Object.getPrototypeOf(q);return F===Object.prototype||F===null},D=(q)=>{return typeof q==="object"&&q!==null},N=(q)=>{return q===void 0},P=(q)=>{return q===null},R=(q)=>{return q===null||q===void 0},f=(q)=>{return q!==void 0},O=(q)=>{return Array.isArray(q)},S=(q)=>{return q instanceof Date},w=(q)=>{return q instanceof RegExp},x=(q)=>{return q instanceof Error},M=(q)=>{return q!==null&&(typeof q==="object"||typeof q==="function")&&typeof q.then==="function"},E=(q)=>{return q instanceof Map},V=(q)=>{return q instanceof Set},h=(q)=>{if(q===null||q===void 0)return!0;let F=typeof q;return F==="string"||F==="number"||F==="boolean"||F==="bigint"||F==="symbol"},d=(q)=>{if(q===null||q===void 0)return!0;if(typeof q==="string"||Array.isArray(q))return q.length===0;if(q instanceof Map||q instanceof Set)return q.size===0;if(typeof q==="object")return Object.keys(q).length===0;return!1};var v={};W(v,{pickBy:()=>X,pick:()=>n,omitBy:()=>p,omit:()=>m,merge:()=>r,mapValues:()=>k,mapKeys:()=>i,keysOf:()=>c,invert:()=>y,hasOwn:()=>b,groupBy:()=>j,fromEntries:()=>s,entriesOf:()=>o,deepMerge:()=>Y});module.exports=U(v);var m=(q,F)=>{let G={...q};for(let H of F)delete G[H];return G},n=(q,F)=>{let G={};for(let H of F)if(H in q)G[H]=q[H];return G},X=(q,F)=>{let G={};for(let H of Object.keys(q))if(F(q[H],H))G[H]=q[H];return G},p=(q,F)=>{return X(q,(G,H)=>!F(G,H))},k=(q,F)=>{let G={};for(let H of Object.keys(q))G[H]=F(q[H],H);return G},i=(q,F)=>{let G={};for(let H of Object.keys(q))G[F(q[H],H)]=q[H];return G},j=(q,F)=>{let G={};return q.forEach((H,J)=>{let I=F(H,J);if(G[I])G[I].push(H);else G[I]=[H]}),G},y=(q)=>{let F={};for(let G of Object.keys(q))F[q[G]]=G;return F},b=(q,F)=>{return Object.hasOwn(q,F)},c=(q)=>{return Object.keys(q)},o=(q)=>{return Object.entries(q)},s=(q)=>{return Object.fromEntries(q)},r=(q,...F)=>{return Object.assign({},q,...F)},Y=(q,...F)=>{let G={...q};for(let H of F){if(H===void 0)continue;for(let J of Object.keys(H)){let I=H[J],Q=G[J];if(K(I))G[J]=Y(K(Q)?Q:{},I);else G[J]=I}}return G};