@wyfex/iutils 0.30.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.iife.js +1 -1
- package/dist/index.js +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/modules/convert/index.d.ts +1 -0
- package/dist/types/modules/convert/objectToStyleString.d.ts +1 -0
- package/dist/types/modules/date/index.d.ts +1 -0
- package/dist/types/modules/date/timeGreetings.d.ts +1 -0
- package/dist/types/modules/desensitize/desensitizePhone.d.ts +1 -0
- package/dist/types/modules/desensitize/index.d.ts +1 -0
- package/dist/types/modules/object/hasOwnProp.d.ts +1 -0
- package/dist/types/modules/object/index.d.ts +1 -0
- package/dist/types/modules/string/index.d.ts +2 -0
- package/dist/types/modules/string/lowerFirst.d.ts +1 -0
- package/dist/types/modules/string/upperFirst.d.ts +1 -0
- package/dist/types/modules/type/index.d.ts +4 -0
- package/dist/types/modules/type/isDefaultFn.d.ts +1 -0
- package/dist/types/modules/type/isEmptyObject.d.ts +1 -0
- package/dist/types/modules/type/isFlatPrimArray.d.ts +1 -0
- package/dist/types/modules/type/isFunction.d.ts +1 -0
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
万有前端 X 体系下基于 Vite8 + TypeScript6 构建的 iUtils 工具库
|
|
4
4
|
|
|
5
5
|
## 文档地址
|
|
6
|
-
> https://
|
|
6
|
+
> https://wyfex.top/idocs/iutils
|
|
7
7
|
|
|
8
8
|
## npm下载(支持pnpm/yarn/cnpm/npm)
|
|
9
9
|
```shell
|
|
@@ -12,7 +12,7 @@ $ pnpm i @wyfex/iutils
|
|
|
12
12
|
|
|
13
13
|
## 版本号规则
|
|
14
14
|
+ 仅升级工具库依赖(vite版本满足如下要求),修改第1位。eg:1.x.x;
|
|
15
|
-
> @wyfex/iutils0.x
|
|
15
|
+
> @wyfex/iutils0.x对应于vite8.x,当vite升级到9.x时@wyfex/iutils升级为1.x,以此类推。
|
|
16
16
|
+ 仅新增工具函数,修改第2位。eg:x.6.x;
|
|
17
17
|
+ 仅修复、优化现有工具函数,修改第3位。eg:x.x.1;
|
|
18
18
|
+ 以上3项都有变更或部分有变更则按照对应变更修改对应版本号位置;
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t={})=>{let{mode:n=`level`,idKey:r=`id`,parentIdKey:i=`parentId`,levelKey:a=`level`,childrenKey:o=`children`}=t;if(!Array.isArray(e)||e.length===0)return[];let s=e.map(e=>({...e})),c=[];if(n===`level`){let e=new Map;return s.forEach(t=>{let n=t[a];if(typeof n!=`number`)return;if(n===0){c.push(t),e.set(n,t);return}let r=e.get(n-1);r&&(r[o]||=[],r[o].push(t),e.set(n,t))}),c}if(n===`parentId`){let e=new Map;return s.forEach(t=>e.set(t[r],t)),s.forEach(t=>{let n=t[i];if(n==null||n===0){c.push(t);return}let r=e.get(n);r&&(r[o]||=[],r[o].push(t))}),c}return c},t=e=>Array.isArray(e),n=e=>e==null,r=e=>!n(e)&&typeof e==`object`&&typeof e.length==`number`&&typeof e!=`function`,i=e=>typeof e==`boolean`,a=e=>i(e)||e===`true`||e===`false`,o=e=>n(e)?!1:
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t={})=>{let{mode:n=`level`,idKey:r=`id`,parentIdKey:i=`parentId`,levelKey:a=`level`,childrenKey:o=`children`}=t;if(!Array.isArray(e)||e.length===0)return[];let s=e.map(e=>({...e})),c=[];if(n===`level`){let e=new Map;return s.forEach(t=>{let n=t[a];if(typeof n!=`number`)return;if(n===0){c.push(t),e.set(n,t);return}let r=e.get(n-1);r&&(r[o]||=[],r[o].push(t),e.set(n,t))}),c}if(n===`parentId`){let e=new Map;return s.forEach(t=>e.set(t[r],t)),s.forEach(t=>{let n=t[i];if(n==null||n===0){c.push(t);return}let r=e.get(n);r&&(r[o]||=[],r[o].push(t))}),c}return c},t=e=>Array.isArray(e),n=e=>e==null,r=e=>!n(e)&&typeof e==`object`&&typeof e.length==`number`&&typeof e!=`function`,i=e=>typeof e==`boolean`,a=e=>i(e)||e===`true`||e===`false`,o=e=>{if(typeof e!=`function`)return!1;let t=e.toString().replace(/\s/g,``);return[`()=>{}`,`function(){}`,`async()=>{}`,`asyncfunction(){}`].includes(t)},s=e=>n(e)?!1:b(e)?e.trim().length>0:y(e)?!0:t(e)?e.length>0:c(e)?Object.keys(e).length>0:!1,c=e=>Object.prototype.toString.call(e)===`[object Object]`,l=e=>c(e)?Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null)):{},u=e=>{if(!c(e))return{};let n={...e};for(let e in n){let r=n[e];if(e.includes(`,`)&&t(r)){let t=e.split(`,`),i=r;t.forEach((e,t)=>{n[e]=i[t]}),delete n[e]}}return n},d=(e,t)=>c(e)?Object.prototype.hasOwnProperty.call(e,t):!1,f=(e,n)=>{if(!c(e))return{};let r=t(n)?n:[n],i={...e};return r.forEach(e=>{delete i[e]}),i},p=(e,n=`_`)=>{if(e==null)return e;if(t(e))return e.map(e=>p(e,n)).filter(e=>typeof e==`string`?!e.startsWith(n):typeof e==`number`?!String(e).startsWith(n):!0);if(typeof e!=`object`||e instanceof Date||e instanceof RegExp)return e;let r={};for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let i=e[t];t.startsWith(n)||(r[t]=p(i,n))}return r},m=(e,t=[])=>{if(!c(e))return e;let n={...e};return t.forEach(e=>{if(!Object.prototype.hasOwnProperty.call(n,e))return;let t=n[e];if(typeof t==`string`){n[e]=t.split(`,`).map(e=>e.trim()).filter(Boolean);return}n[e]=t==null?[]:[t]}),n},h=(e,n=[])=>{if(!c(e))return e;let r={...e};return Object.keys(r).forEach(e=>{let i=r[e];n.includes(e)&&t(i)&&(r[e]=i.join(`,`))}),r},g=e=>{if(!c(e))return!1;for(let t in e)if(d(e,t))return!1;return!0},_=(e,t=!0)=>Array.isArray(e)?e.length?e.every(e=>{let t=typeof e;return!!([`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`].includes(t)||e===null)}):t:!1,v=e=>typeof e==`function`,y=e=>Object.prototype.toString.call(e)===`[object Number]`&&Number.isFinite(e),b=e=>Object.prototype.toString.call(e)===`[object String]`,x=e=>y(e)||b(e)&&e.trim()!==``&&!Number.isNaN(Number(e)),S=e=>!t(e)||e.length===0?!1:e.every(e=>c(e)),C=e=>b(e)||y(e)||i(e)||n(e),w=(e,n)=>{if(!S(e))throw TypeError(`array 必须是一个对象数组`);let{key:r,value:i,childrenKey:a=`children`}=n;if(!r){console.error(`findBy:key 不能为空`);return}let o=e=>C(e)?String(e):e,s=(e,t)=>{let n=o(e);for(let i of t){if(o(i[r])===n)return i;let t=i[a];if(S(t)){let n=s(e,t);if(n)return n}}};return t(i)?i.map(t=>s(t,e)).filter(Boolean):s(i,e)},T=(e,n)=>{if(!t(e))throw TypeError(`array 必须是一个数组`);let[r,i]=Object.entries(n)[0]??[];if(!r||i===void 0)return console.error(`target 必须传入有效键值对,格式示例:{ id: 1 }`),[...e];let a=t=>e.findIndex(e=>e[r]===t);return t(i)?i.map(a):a(i)},E=(e,t={})=>{let{childrenKey:n=`children`,keepChildren:r=!1}=t,i=[],a=e=>{let t={...e},o=t[n]||[];r||delete t[n],i.push(t),Array.isArray(o)&&o.length&&o.forEach(e=>a(e))};return e.forEach(e=>a(e)),i},D=(e,n,r)=>{if(!t(e))throw TypeError(`array 必须是一个数组`);let[i,a]=Object.entries(n)[0]??[];if(!i||a===void 0)return console.error(`target 必须传入有效的键值对,格式示例:{ id: 1 }`),[...e];let o=e.findIndex(e=>e[i]===a);if(o===-1)return console.error(`在数组中未找到匹配的目标元素`),[...e];let s=[...e],c=t(r)?r:[r];return s.splice(o+1,0,...c),s},O=(e,n,r=1)=>{if(!t(e))throw TypeError(`array must be an array`);let[i,a]=Object.entries(n)[0]??[];if(!i||a===void 0)return console.error(`target 必须传入有效键值对,格式示例:{ id: 1 }`),[...e];let o=e.findIndex(e=>e[i]===a);if(o===-1)return console.error(`在数组中未找到匹配的目标元素`),[...e];let s=o+1;if(s>=e.length)return console.error(`目标元素已是数组最后一项,无后续数据可删除`),[...e];let c=[...e];return c.splice(s,r),c},k=()=>{let e=()=>Math.floor(Math.random()*255);return`rgb(${e()}, ${e()}, ${e()})`},A=(e=1)=>{let t=()=>Math.floor(Math.random()*255);return`rgba(${t()}, ${t()}, ${t()}, ${e})`},j=(e,n=!0)=>{if(!e||!c(e)||t(e))return``;let r=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();return Object.entries(e).filter(([,e])=>e!=null&&e!==``).map(([e,t])=>`${n?r(e):e}:${t}`).join(`;`)},M=(e,t=`{y}-{m}-{d} {h}:{i}:{s}`,n=!0)=>{if(e==null||e===``)return null;let r;if(e instanceof Date)r=e;else{let i;if(typeof e==`string`){let a=e.trim();if(/^\d+$/.test(a))i=parseInt(a,10);else{let e=a.replace(/-/g,`/`);return r=new Date(e),isNaN(r.getTime())?null:N(r,t,n)}}else i=e;i.toString().length===10&&(i*=1e3),r=new Date(i)}return isNaN(r.getTime())?null:N(r,t,n)};function N(e,t,n){let r=e.getFullYear(),i=e.getMonth()+1,a=e.getDate(),o=e.getHours(),s=e.getMinutes(),c=e.getSeconds(),l=e.getDay(),u={y:r.toString(),m:n?i.toString().padStart(2,`0`):i.toString(),d:n?a.toString().padStart(2,`0`):a.toString(),h:n?o.toString().padStart(2,`0`):o.toString(),i:n?s.toString().padStart(2,`0`):s.toString(),s:n?c.toString().padStart(2,`0`):c.toString(),a:[`日`,`一`,`二`,`三`,`四`,`五`,`六`][l]};return t.replace(/{([ymdhisa])}/g,(e,t)=>u[t])}var P=[{start:0,end:5,greeting:`凌晨好`},{start:6,end:8,greeting:`早上好`},{start:9,end:10,greeting:`上午好`},{start:11,end:12,greeting:`中午好`},{start:13,end:16,greeting:`下午好`},{start:17,end:18,greeting:`傍晚好`},{start:19,end:23,greeting:`晚上好`}],F=e=>{let t;if(e===void 0)t=new Date().getHours();else if(e instanceof Date)t=e.getHours();else{let n=e;t=n>=0&&n<=23?n:new Date(n).getHours()}for(let e of P)if(t>=e.start&&t<=e.end)return e.greeting;return`您好`},I=e=>{if(typeof e!=`string`)return e;let t=e.trim();if(/^\d{11}$/.test(t))return t.slice(0,3)+`****`+t.slice(7);let n=t.match(/^(\d+)-(\d+)$/);if(n){let[,e,r]=n;if(r.length<=2)return t;let i=r[0],a=r.at(-1);return`${e}-${i}${`*`.repeat(r.length-2)}${a}`}return t},L=(e,t=300,n=!1)=>{let r=null,i,a=function(...a){return r&&clearTimeout(r),n&&!r&&(i=e.apply(this,a)),r=setTimeout(()=>{n||e.apply(this,a),r=null},t),i};return a.cancel=()=>{r&&=(clearTimeout(r),null)},a.flush=()=>(a.cancel(),i),a.isPending=()=>r!==null,a},R=e=>e==null||Number.isNaN(e)?``:String(e).trim().replace(/^(-?\d+)(\.\d+)?$/,(e,t,n=``)=>t.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)+n),z=e=>e===`null`||e===`undefined`||e===``?null:e===`true`?!0:e===`false`?!1:typeof e==`string`&&/^-?(0|[1-9]\d*)(\.\d+)?$/.test(e)?Number(e):e,B=e=>{let t=String(e??``);return t?t.charAt(0).toLowerCase()+t.slice(1):``},V=e=>{let t=String(e??``);return t?t.charAt(0).toUpperCase()+t.slice(1):``};exports.buildTree=e,exports.cleanObjectEmptyValues=l,exports.debounce=L,exports.desensitizePhone=I,exports.expandCommaKeyObject=u,exports.findBy=w,exports.findIndexBy=T,exports.flatTree=E,exports.formatThousand=R,exports.formatTime=M,exports.hasOwnProp=d,exports.insertAfter=D,exports.isArray=t,exports.isArrayLike=r,exports.isBoolean=i,exports.isBooleanLike=a,exports.isDefaultFn=o,exports.isEffectiveData=s,exports.isEmptyObject=g,exports.isFlatPrimArray=_,exports.isFunction=v,exports.isNil=n,exports.isNumber=y,exports.isNumberLike=x,exports.isObject=c,exports.isObjectArray=S,exports.isPrimitive=C,exports.isString=b,exports.lowerFirst=B,exports.objectToStyleString=j,exports.omitObjectProps=f,exports.omitStartWithKeys=p,exports.parseStringFieldsToArray=m,exports.parseValue=z,exports.randomRgb=k,exports.randomRgba=A,exports.removeAfter=O,exports.stringifyArrayFields=h,exports.timeGreetings=F,exports.upperFirst=V;
|
package/dist/index.iife.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var WyfeX_IUtils=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=(e,t={})=>{let{mode:n=`level`,idKey:r=`id`,parentIdKey:i=`parentId`,levelKey:a=`level`,childrenKey:o=`children`}=t;if(!Array.isArray(e)||e.length===0)return[];let s=e.map(e=>({...e})),c=[];if(n===`level`){let e=new Map;return s.forEach(t=>{let n=t[a];if(typeof n!=`number`)return;if(n===0){c.push(t),e.set(n,t);return}let r=e.get(n-1);r&&(r[o]||=[],r[o].push(t),e.set(n,t))}),c}if(n===`parentId`){let e=new Map;return s.forEach(t=>e.set(t[r],t)),s.forEach(t=>{let n=t[i];if(n==null||n===0){c.push(t);return}let r=e.get(n);r&&(r[o]||=[],r[o].push(t))}),c}return c},n=e=>Array.isArray(e),r=e=>e==null,i=e=>!r(e)&&typeof e==`object`&&typeof e.length==`number`&&typeof e!=`function`,a=e=>typeof e==`boolean`,o=e=>a(e)||e===`true`||e===`false`,s=e=>r(e)?!1:
|
|
1
|
+
var WyfeX_IUtils=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=(e,t={})=>{let{mode:n=`level`,idKey:r=`id`,parentIdKey:i=`parentId`,levelKey:a=`level`,childrenKey:o=`children`}=t;if(!Array.isArray(e)||e.length===0)return[];let s=e.map(e=>({...e})),c=[];if(n===`level`){let e=new Map;return s.forEach(t=>{let n=t[a];if(typeof n!=`number`)return;if(n===0){c.push(t),e.set(n,t);return}let r=e.get(n-1);r&&(r[o]||=[],r[o].push(t),e.set(n,t))}),c}if(n===`parentId`){let e=new Map;return s.forEach(t=>e.set(t[r],t)),s.forEach(t=>{let n=t[i];if(n==null||n===0){c.push(t);return}let r=e.get(n);r&&(r[o]||=[],r[o].push(t))}),c}return c},n=e=>Array.isArray(e),r=e=>e==null,i=e=>!r(e)&&typeof e==`object`&&typeof e.length==`number`&&typeof e!=`function`,a=e=>typeof e==`boolean`,o=e=>a(e)||e===`true`||e===`false`,s=e=>{if(typeof e!=`function`)return!1;let t=e.toString().replace(/\s/g,``);return[`()=>{}`,`function(){}`,`async()=>{}`,`asyncfunction(){}`].includes(t)},c=e=>r(e)?!1:x(e)?e.trim().length>0:b(e)?!0:n(e)?e.length>0:l(e)?Object.keys(e).length>0:!1,l=e=>Object.prototype.toString.call(e)===`[object Object]`,u=e=>l(e)?Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null)):{},d=e=>{if(!l(e))return{};let t={...e};for(let e in t){let r=t[e];if(e.includes(`,`)&&n(r)){let n=e.split(`,`),i=r;n.forEach((e,n)=>{t[e]=i[n]}),delete t[e]}}return t},f=(e,t)=>l(e)?Object.prototype.hasOwnProperty.call(e,t):!1,p=(e,t)=>{if(!l(e))return{};let r=n(t)?t:[t],i={...e};return r.forEach(e=>{delete i[e]}),i},m=(e,t=`_`)=>{if(e==null)return e;if(n(e))return e.map(e=>m(e,t)).filter(e=>typeof e==`string`?!e.startsWith(t):typeof e==`number`?!String(e).startsWith(t):!0);if(typeof e!=`object`||e instanceof Date||e instanceof RegExp)return e;let r={};for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n];n.startsWith(t)||(r[n]=m(i,t))}return r},h=(e,t=[])=>{if(!l(e))return e;let n={...e};return t.forEach(e=>{if(!Object.prototype.hasOwnProperty.call(n,e))return;let t=n[e];if(typeof t==`string`){n[e]=t.split(`,`).map(e=>e.trim()).filter(Boolean);return}n[e]=t==null?[]:[t]}),n},g=(e,t=[])=>{if(!l(e))return e;let r={...e};return Object.keys(r).forEach(e=>{let i=r[e];t.includes(e)&&n(i)&&(r[e]=i.join(`,`))}),r},_=e=>{if(!l(e))return!1;for(let t in e)if(f(e,t))return!1;return!0},v=(e,t=!0)=>Array.isArray(e)?e.length?e.every(e=>{let t=typeof e;return!!([`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`].includes(t)||e===null)}):t:!1,y=e=>typeof e==`function`,b=e=>Object.prototype.toString.call(e)===`[object Number]`&&Number.isFinite(e),x=e=>Object.prototype.toString.call(e)===`[object String]`,S=e=>b(e)||x(e)&&e.trim()!==``&&!Number.isNaN(Number(e)),C=e=>!n(e)||e.length===0?!1:e.every(e=>l(e)),w=e=>x(e)||b(e)||a(e)||r(e),T=(e,t)=>{if(!C(e))throw TypeError(`array 必须是一个对象数组`);let{key:r,value:i,childrenKey:a=`children`}=t;if(!r){console.error(`findBy:key 不能为空`);return}let o=e=>w(e)?String(e):e,s=(e,t)=>{let n=o(e);for(let i of t){if(o(i[r])===n)return i;let t=i[a];if(C(t)){let n=s(e,t);if(n)return n}}};return n(i)?i.map(t=>s(t,e)).filter(Boolean):s(i,e)},E=(e,t)=>{if(!n(e))throw TypeError(`array 必须是一个数组`);let[r,i]=Object.entries(t)[0]??[];if(!r||i===void 0)return console.error(`target 必须传入有效键值对,格式示例:{ id: 1 }`),[...e];let a=t=>e.findIndex(e=>e[r]===t);return n(i)?i.map(a):a(i)},D=(e,t={})=>{let{childrenKey:n=`children`,keepChildren:r=!1}=t,i=[],a=e=>{let t={...e},o=t[n]||[];r||delete t[n],i.push(t),Array.isArray(o)&&o.length&&o.forEach(e=>a(e))};return e.forEach(e=>a(e)),i},O=(e,t,r)=>{if(!n(e))throw TypeError(`array 必须是一个数组`);let[i,a]=Object.entries(t)[0]??[];if(!i||a===void 0)return console.error(`target 必须传入有效的键值对,格式示例:{ id: 1 }`),[...e];let o=e.findIndex(e=>e[i]===a);if(o===-1)return console.error(`在数组中未找到匹配的目标元素`),[...e];let s=[...e],c=n(r)?r:[r];return s.splice(o+1,0,...c),s},k=(e,t,r=1)=>{if(!n(e))throw TypeError(`array must be an array`);let[i,a]=Object.entries(t)[0]??[];if(!i||a===void 0)return console.error(`target 必须传入有效键值对,格式示例:{ id: 1 }`),[...e];let o=e.findIndex(e=>e[i]===a);if(o===-1)return console.error(`在数组中未找到匹配的目标元素`),[...e];let s=o+1;if(s>=e.length)return console.error(`目标元素已是数组最后一项,无后续数据可删除`),[...e];let c=[...e];return c.splice(s,r),c},A=()=>{let e=()=>Math.floor(Math.random()*255);return`rgb(${e()}, ${e()}, ${e()})`},j=(e=1)=>{let t=()=>Math.floor(Math.random()*255);return`rgba(${t()}, ${t()}, ${t()}, ${e})`},M=(e,t=!0)=>{if(!e||!l(e)||n(e))return``;let r=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();return Object.entries(e).filter(([,e])=>e!=null&&e!==``).map(([e,n])=>`${t?r(e):e}:${n}`).join(`;`)},N=(e,t=`{y}-{m}-{d} {h}:{i}:{s}`,n=!0)=>{if(e==null||e===``)return null;let r;if(e instanceof Date)r=e;else{let i;if(typeof e==`string`){let a=e.trim();if(/^\d+$/.test(a))i=parseInt(a,10);else{let e=a.replace(/-/g,`/`);return r=new Date(e),isNaN(r.getTime())?null:P(r,t,n)}}else i=e;i.toString().length===10&&(i*=1e3),r=new Date(i)}return isNaN(r.getTime())?null:P(r,t,n)};function P(e,t,n){let r=e.getFullYear(),i=e.getMonth()+1,a=e.getDate(),o=e.getHours(),s=e.getMinutes(),c=e.getSeconds(),l=e.getDay(),u={y:r.toString(),m:n?i.toString().padStart(2,`0`):i.toString(),d:n?a.toString().padStart(2,`0`):a.toString(),h:n?o.toString().padStart(2,`0`):o.toString(),i:n?s.toString().padStart(2,`0`):s.toString(),s:n?c.toString().padStart(2,`0`):c.toString(),a:[`日`,`一`,`二`,`三`,`四`,`五`,`六`][l]};return t.replace(/{([ymdhisa])}/g,(e,t)=>u[t])}var F=[{start:0,end:5,greeting:`凌晨好`},{start:6,end:8,greeting:`早上好`},{start:9,end:10,greeting:`上午好`},{start:11,end:12,greeting:`中午好`},{start:13,end:16,greeting:`下午好`},{start:17,end:18,greeting:`傍晚好`},{start:19,end:23,greeting:`晚上好`}];return e.buildTree=t,e.cleanObjectEmptyValues=u,e.debounce=(e,t=300,n=!1)=>{let r=null,i,a=function(...a){return r&&clearTimeout(r),n&&!r&&(i=e.apply(this,a)),r=setTimeout(()=>{n||e.apply(this,a),r=null},t),i};return a.cancel=()=>{r&&=(clearTimeout(r),null)},a.flush=()=>(a.cancel(),i),a.isPending=()=>r!==null,a},e.desensitizePhone=e=>{if(typeof e!=`string`)return e;let t=e.trim();if(/^\d{11}$/.test(t))return t.slice(0,3)+`****`+t.slice(7);let n=t.match(/^(\d+)-(\d+)$/);if(n){let[,e,r]=n;if(r.length<=2)return t;let i=r[0],a=r.at(-1);return`${e}-${i}${`*`.repeat(r.length-2)}${a}`}return t},e.expandCommaKeyObject=d,e.findBy=T,e.findIndexBy=E,e.flatTree=D,e.formatThousand=e=>e==null||Number.isNaN(e)?``:String(e).trim().replace(/^(-?\d+)(\.\d+)?$/,(e,t,n=``)=>t.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)+n),e.formatTime=N,e.hasOwnProp=f,e.insertAfter=O,e.isArray=n,e.isArrayLike=i,e.isBoolean=a,e.isBooleanLike=o,e.isDefaultFn=s,e.isEffectiveData=c,e.isEmptyObject=_,e.isFlatPrimArray=v,e.isFunction=y,e.isNil=r,e.isNumber=b,e.isNumberLike=S,e.isObject=l,e.isObjectArray=C,e.isPrimitive=w,e.isString=x,e.lowerFirst=e=>{let t=String(e??``);return t?t.charAt(0).toLowerCase()+t.slice(1):``},e.objectToStyleString=M,e.omitObjectProps=p,e.omitStartWithKeys=m,e.parseStringFieldsToArray=h,e.parseValue=e=>e===`null`||e===`undefined`||e===``?null:e===`true`?!0:e===`false`?!1:typeof e==`string`&&/^-?(0|[1-9]\d*)(\.\d+)?$/.test(e)?Number(e):e,e.randomRgb=A,e.randomRgba=j,e.removeAfter=k,e.stringifyArrayFields=g,e.timeGreetings=e=>{let t;if(e===void 0)t=new Date().getHours();else if(e instanceof Date)t=e.getHours();else{let n=e;t=n>=0&&n<=23?n:new Date(n).getHours()}for(let e of F)if(t>=e.start&&t<=e.end)return e.greeting;return`您好`},e.upperFirst=e=>{let t=String(e??``);return t?t.charAt(0).toUpperCase()+t.slice(1):``},e})({});
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=(e,t={})=>{let{mode:n=`level`,idKey:r=`id`,parentIdKey:i=`parentId`,levelKey:a=`level`,childrenKey:o=`children`}=t;if(!Array.isArray(e)||e.length===0)return[];let s=e.map(e=>({...e})),c=[];if(n===`level`){let e=new Map;return s.forEach(t=>{let n=t[a];if(typeof n!=`number`)return;if(n===0){c.push(t),e.set(n,t);return}let r=e.get(n-1);r&&(r[o]||=[],r[o].push(t),e.set(n,t))}),c}if(n===`parentId`){let e=new Map;return s.forEach(t=>e.set(t[r],t)),s.forEach(t=>{let n=t[i];if(n==null||n===0){c.push(t);return}let r=e.get(n);r&&(r[o]||=[],r[o].push(t))}),c}return c},t=e=>Array.isArray(e),n=e=>e==null,r=e=>!n(e)&&typeof e==`object`&&typeof e.length==`number`&&typeof e!=`function`,i=e=>typeof e==`boolean`,a=e=>i(e)||e===`true`||e===`false`,o=e=>n(e)?!1:
|
|
1
|
+
var e=(e,t={})=>{let{mode:n=`level`,idKey:r=`id`,parentIdKey:i=`parentId`,levelKey:a=`level`,childrenKey:o=`children`}=t;if(!Array.isArray(e)||e.length===0)return[];let s=e.map(e=>({...e})),c=[];if(n===`level`){let e=new Map;return s.forEach(t=>{let n=t[a];if(typeof n!=`number`)return;if(n===0){c.push(t),e.set(n,t);return}let r=e.get(n-1);r&&(r[o]||=[],r[o].push(t),e.set(n,t))}),c}if(n===`parentId`){let e=new Map;return s.forEach(t=>e.set(t[r],t)),s.forEach(t=>{let n=t[i];if(n==null||n===0){c.push(t);return}let r=e.get(n);r&&(r[o]||=[],r[o].push(t))}),c}return c},t=e=>Array.isArray(e),n=e=>e==null,r=e=>!n(e)&&typeof e==`object`&&typeof e.length==`number`&&typeof e!=`function`,i=e=>typeof e==`boolean`,a=e=>i(e)||e===`true`||e===`false`,o=e=>{if(typeof e!=`function`)return!1;let t=e.toString().replace(/\s/g,``);return[`()=>{}`,`function(){}`,`async()=>{}`,`asyncfunction(){}`].includes(t)},s=e=>n(e)?!1:b(e)?e.trim().length>0:y(e)?!0:t(e)?e.length>0:c(e)?Object.keys(e).length>0:!1,c=e=>Object.prototype.toString.call(e)===`[object Object]`,l=e=>c(e)?Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null)):{},u=e=>{if(!c(e))return{};let n={...e};for(let e in n){let r=n[e];if(e.includes(`,`)&&t(r)){let t=e.split(`,`),i=r;t.forEach((e,t)=>{n[e]=i[t]}),delete n[e]}}return n},d=(e,t)=>c(e)?Object.prototype.hasOwnProperty.call(e,t):!1,f=(e,n)=>{if(!c(e))return{};let r=t(n)?n:[n],i={...e};return r.forEach(e=>{delete i[e]}),i},p=(e,n=`_`)=>{if(e==null)return e;if(t(e))return e.map(e=>p(e,n)).filter(e=>typeof e==`string`?!e.startsWith(n):typeof e==`number`?!String(e).startsWith(n):!0);if(typeof e!=`object`||e instanceof Date||e instanceof RegExp)return e;let r={};for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let i=e[t];t.startsWith(n)||(r[t]=p(i,n))}return r},m=(e,t=[])=>{if(!c(e))return e;let n={...e};return t.forEach(e=>{if(!Object.prototype.hasOwnProperty.call(n,e))return;let t=n[e];if(typeof t==`string`){n[e]=t.split(`,`).map(e=>e.trim()).filter(Boolean);return}n[e]=t==null?[]:[t]}),n},h=(e,n=[])=>{if(!c(e))return e;let r={...e};return Object.keys(r).forEach(e=>{let i=r[e];n.includes(e)&&t(i)&&(r[e]=i.join(`,`))}),r},g=e=>{if(!c(e))return!1;for(let t in e)if(d(e,t))return!1;return!0},_=(e,t=!0)=>Array.isArray(e)?e.length?e.every(e=>{let t=typeof e;return!!([`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`].includes(t)||e===null)}):t:!1,v=e=>typeof e==`function`,y=e=>Object.prototype.toString.call(e)===`[object Number]`&&Number.isFinite(e),b=e=>Object.prototype.toString.call(e)===`[object String]`,x=e=>y(e)||b(e)&&e.trim()!==``&&!Number.isNaN(Number(e)),S=e=>!t(e)||e.length===0?!1:e.every(e=>c(e)),C=e=>b(e)||y(e)||i(e)||n(e),w=(e,n)=>{if(!S(e))throw TypeError(`array 必须是一个对象数组`);let{key:r,value:i,childrenKey:a=`children`}=n;if(!r){console.error(`findBy:key 不能为空`);return}let o=e=>C(e)?String(e):e,s=(e,t)=>{let n=o(e);for(let i of t){if(o(i[r])===n)return i;let t=i[a];if(S(t)){let n=s(e,t);if(n)return n}}};return t(i)?i.map(t=>s(t,e)).filter(Boolean):s(i,e)},T=(e,n)=>{if(!t(e))throw TypeError(`array 必须是一个数组`);let[r,i]=Object.entries(n)[0]??[];if(!r||i===void 0)return console.error(`target 必须传入有效键值对,格式示例:{ id: 1 }`),[...e];let a=t=>e.findIndex(e=>e[r]===t);return t(i)?i.map(a):a(i)},E=(e,t={})=>{let{childrenKey:n=`children`,keepChildren:r=!1}=t,i=[],a=e=>{let t={...e},o=t[n]||[];r||delete t[n],i.push(t),Array.isArray(o)&&o.length&&o.forEach(e=>a(e))};return e.forEach(e=>a(e)),i},D=(e,n,r)=>{if(!t(e))throw TypeError(`array 必须是一个数组`);let[i,a]=Object.entries(n)[0]??[];if(!i||a===void 0)return console.error(`target 必须传入有效的键值对,格式示例:{ id: 1 }`),[...e];let o=e.findIndex(e=>e[i]===a);if(o===-1)return console.error(`在数组中未找到匹配的目标元素`),[...e];let s=[...e],c=t(r)?r:[r];return s.splice(o+1,0,...c),s},O=(e,n,r=1)=>{if(!t(e))throw TypeError(`array must be an array`);let[i,a]=Object.entries(n)[0]??[];if(!i||a===void 0)return console.error(`target 必须传入有效键值对,格式示例:{ id: 1 }`),[...e];let o=e.findIndex(e=>e[i]===a);if(o===-1)return console.error(`在数组中未找到匹配的目标元素`),[...e];let s=o+1;if(s>=e.length)return console.error(`目标元素已是数组最后一项,无后续数据可删除`),[...e];let c=[...e];return c.splice(s,r),c},k=()=>{let e=()=>Math.floor(Math.random()*255);return`rgb(${e()}, ${e()}, ${e()})`},A=(e=1)=>{let t=()=>Math.floor(Math.random()*255);return`rgba(${t()}, ${t()}, ${t()}, ${e})`},j=(e,n=!0)=>{if(!e||!c(e)||t(e))return``;let r=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();return Object.entries(e).filter(([,e])=>e!=null&&e!==``).map(([e,t])=>`${n?r(e):e}:${t}`).join(`;`)},M=(e,t=`{y}-{m}-{d} {h}:{i}:{s}`,n=!0)=>{if(e==null||e===``)return null;let r;if(e instanceof Date)r=e;else{let i;if(typeof e==`string`){let a=e.trim();if(/^\d+$/.test(a))i=parseInt(a,10);else{let e=a.replace(/-/g,`/`);return r=new Date(e),isNaN(r.getTime())?null:N(r,t,n)}}else i=e;i.toString().length===10&&(i*=1e3),r=new Date(i)}return isNaN(r.getTime())?null:N(r,t,n)};function N(e,t,n){let r=e.getFullYear(),i=e.getMonth()+1,a=e.getDate(),o=e.getHours(),s=e.getMinutes(),c=e.getSeconds(),l=e.getDay(),u={y:r.toString(),m:n?i.toString().padStart(2,`0`):i.toString(),d:n?a.toString().padStart(2,`0`):a.toString(),h:n?o.toString().padStart(2,`0`):o.toString(),i:n?s.toString().padStart(2,`0`):s.toString(),s:n?c.toString().padStart(2,`0`):c.toString(),a:[`日`,`一`,`二`,`三`,`四`,`五`,`六`][l]};return t.replace(/{([ymdhisa])}/g,(e,t)=>u[t])}var P=[{start:0,end:5,greeting:`凌晨好`},{start:6,end:8,greeting:`早上好`},{start:9,end:10,greeting:`上午好`},{start:11,end:12,greeting:`中午好`},{start:13,end:16,greeting:`下午好`},{start:17,end:18,greeting:`傍晚好`},{start:19,end:23,greeting:`晚上好`}],F=e=>{let t;if(e===void 0)t=new Date().getHours();else if(e instanceof Date)t=e.getHours();else{let n=e;t=n>=0&&n<=23?n:new Date(n).getHours()}for(let e of P)if(t>=e.start&&t<=e.end)return e.greeting;return`您好`},I=e=>{if(typeof e!=`string`)return e;let t=e.trim();if(/^\d{11}$/.test(t))return t.slice(0,3)+`****`+t.slice(7);let n=t.match(/^(\d+)-(\d+)$/);if(n){let[,e,r]=n;if(r.length<=2)return t;let i=r[0],a=r.at(-1);return`${e}-${i}${`*`.repeat(r.length-2)}${a}`}return t},L=(e,t=300,n=!1)=>{let r=null,i,a=function(...a){return r&&clearTimeout(r),n&&!r&&(i=e.apply(this,a)),r=setTimeout(()=>{n||e.apply(this,a),r=null},t),i};return a.cancel=()=>{r&&=(clearTimeout(r),null)},a.flush=()=>(a.cancel(),i),a.isPending=()=>r!==null,a},R=e=>e==null||Number.isNaN(e)?``:String(e).trim().replace(/^(-?\d+)(\.\d+)?$/,(e,t,n=``)=>t.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)+n),z=e=>e===`null`||e===`undefined`||e===``?null:e===`true`?!0:e===`false`?!1:typeof e==`string`&&/^-?(0|[1-9]\d*)(\.\d+)?$/.test(e)?Number(e):e,B=e=>{let t=String(e??``);return t?t.charAt(0).toLowerCase()+t.slice(1):``},V=e=>{let t=String(e??``);return t?t.charAt(0).toUpperCase()+t.slice(1):``};export{e as buildTree,l as cleanObjectEmptyValues,L as debounce,I as desensitizePhone,u as expandCommaKeyObject,w as findBy,T as findIndexBy,E as flatTree,R as formatThousand,M as formatTime,d as hasOwnProp,D as insertAfter,t as isArray,r as isArrayLike,i as isBoolean,a as isBooleanLike,o as isDefaultFn,s as isEffectiveData,g as isEmptyObject,_ as isFlatPrimArray,v as isFunction,n as isNil,y as isNumber,x as isNumberLike,c as isObject,S as isObjectArray,C as isPrimitive,b as isString,B as lowerFirst,j as objectToStyleString,f as omitObjectProps,p as omitStartWithKeys,m as parseStringFieldsToArray,z as parseValue,k as randomRgb,A as randomRgba,O as removeAfter,h as stringifyArrayFields,F as timeGreetings,V as upperFirst};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
export * from './modules/array';
|
|
2
2
|
export * from './modules/color';
|
|
3
|
+
export * from './modules/convert';
|
|
3
4
|
export * from './modules/date';
|
|
5
|
+
export * from './modules/desensitize';
|
|
4
6
|
export * from './modules/function';
|
|
5
7
|
export * from './modules/number';
|
|
6
8
|
export * from './modules/object';
|
|
7
9
|
export * from './modules/parse';
|
|
10
|
+
export * from './modules/string';
|
|
8
11
|
export * from './modules/type';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './objectToStyleString';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const objectToStyleString: (styles: unknown, kebabCase?: boolean) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const timeGreetings: (time?: Date | number) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const desensitizePhone: (str: unknown) => string | unknown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './desensitizePhone';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const hasOwnProp: (target: unknown, key: string | symbol) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const lowerFirst: (str: unknown) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const upperFirst: (str: unknown) => string;
|
|
@@ -2,7 +2,11 @@ export * from './isArray';
|
|
|
2
2
|
export * from './isArrayLike';
|
|
3
3
|
export * from './isBoolean';
|
|
4
4
|
export * from './isBooleanLike';
|
|
5
|
+
export * from './isDefaultFn';
|
|
5
6
|
export * from './isEffectiveData';
|
|
7
|
+
export * from './isEmptyObject';
|
|
8
|
+
export * from './isFlatPrimArray';
|
|
9
|
+
export * from './isFunction';
|
|
6
10
|
export * from './isNil';
|
|
7
11
|
export * from './isNumber';
|
|
8
12
|
export * from './isNumberLike';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isDefaultFn: (fn: unknown) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isEmptyObject: (v: unknown) => v is Record<string, never>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isFlatPrimArray: (val: unknown, strict?: boolean) => val is (string | number | boolean | null | undefined | symbol | bigint)[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isFunction: (v: unknown) => v is Function;
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wyfex/iutils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"description": "万有前端 X 体系下基于 Vite8 + TypeScript6 构建的 iUtils 工具库",
|
|
5
|
-
"homepage": "https://
|
|
5
|
+
"homepage": "https://wyfex.top/idocs/iutils",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.cjs",
|
|
8
8
|
"module": "dist/index.js",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"author": "Symbol(王独秀) <963569210@qq.com>",
|
|
39
39
|
"license": "MIT",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@types/node": "^
|
|
41
|
+
"@types/node": "^26.0.1",
|
|
42
42
|
"typescript": "^6.0.3",
|
|
43
|
-
"vite": "^8.
|
|
43
|
+
"vite": "^8.1.2"
|
|
44
44
|
}
|
|
45
45
|
}
|