tools_dj 1.0.98 → 2.0.1
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 +1 -24
- package/lib/clipboard.js +1 -1
- package/lib/index.d.ts +3 -23
- package/lib/index.js +1 -1
- package/lib/msg.js +1 -1
- package/lib/request.js +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -53,7 +53,7 @@ const http = new Request({
|
|
|
53
53
|
is([1, 2, 3]); // "Array"
|
|
54
54
|
is({}); // "Object"
|
|
55
55
|
is("hello"); // "String"
|
|
56
|
-
```
|
|
56
|
+
```
|
|
57
57
|
|
|
58
58
|
#### `is_empty(obj: any): boolean`
|
|
59
59
|
判断值是否为空,支持所有数据类型
|
|
@@ -121,12 +121,6 @@ formatTime('2024-03-24', 'YYYY年MM月DD日'); // "2024年03月24日"
|
|
|
121
121
|
formatTime(new Date(), 'YYYY-MM-DD week'); // "2024-03-24 周日"
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
#### `getDaysBetween(date1: string, date2: string, negative?: boolean): number`
|
|
125
|
-
计算两个日期之间的天数
|
|
126
|
-
```typescript
|
|
127
|
-
getDaysBetween('2024-01-01', '2024-01-05'); // 4
|
|
128
|
-
```
|
|
129
|
-
|
|
130
124
|
#### `isDateInRange(date: string, startDate: string, endDate: string): boolean`
|
|
131
125
|
判断日期是否在指定范围内
|
|
132
126
|
```typescript
|
|
@@ -366,14 +360,6 @@ treeStack(treeData, (node) => {
|
|
|
366
360
|
});
|
|
367
361
|
```
|
|
368
362
|
|
|
369
|
-
#### `treeRecursion(data: any[], callBack: Function, option?: object): void`
|
|
370
|
-
树递归循环返回子项
|
|
371
|
-
```typescript
|
|
372
|
-
treeRecursion(treeData, (node) => {
|
|
373
|
-
console.log('节点:', node);
|
|
374
|
-
});
|
|
375
|
-
```
|
|
376
|
-
|
|
377
363
|
#### `treeFind(data: any[], option?: object): any[]`
|
|
378
364
|
树中查找节点
|
|
379
365
|
- `option.cKey` - 子节点字段名,默认'children'
|
|
@@ -433,14 +419,6 @@ events.sort(compareDate('date', 'up')); // 按日期升序
|
|
|
433
419
|
|
|
434
420
|
### 函数工具
|
|
435
421
|
|
|
436
|
-
#### `throttle1(func: Function, delay: number): Function`
|
|
437
|
-
节流函数(备选实现)
|
|
438
|
-
```typescript
|
|
439
|
-
const throttled = throttle1(() => {
|
|
440
|
-
console.log('执行');
|
|
441
|
-
}, 1000);
|
|
442
|
-
```
|
|
443
|
-
|
|
444
422
|
#### `fnRuntime(fn: Function, iterations?: number): void`
|
|
445
423
|
测量函数执行时间
|
|
446
424
|
- `iterations` - 迭代次数,默认1
|
|
@@ -761,4 +739,3 @@ serve方法参数:
|
|
|
761
739
|
## 许可证
|
|
762
740
|
|
|
763
741
|
MIT License
|
|
764
|
-
|
package/lib/clipboard.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.copyText=function(t){return e.__awaiter(this,void 0,void 0,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.copyText=function(t){return e.__awaiter(this,void 0,void 0,function*(){if(!t)return!1;try{return navigator.clipboard&&window.isSecureContext?(yield navigator.clipboard.writeText(t),!0):function(e){try{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.left="-999999px",t.style.top="-999999px",document.body.appendChild(t),t.focus(),t.select(),t.setSelectionRange(0,99999);const r=document.execCommand("copy");return document.body.removeChild(t),!!r}catch(e){return console.error("降级复制方案失败:",e),!1}}(t)}catch(e){return console.error("复制到剪贴板失败:",e),!1}})},exports.isClipboardSupported=function(){return!(!navigator.clipboard||!window.isSecureContext)},exports.readText=function(){return e.__awaiter(this,void 0,void 0,function*(){try{if(navigator.clipboard&&window.isSecureContext)return yield navigator.clipboard.readText();throw new Error("当前环境不支持剪贴板读取")}catch(e){throw console.error("读取剪贴板失败:",e),e}})};const e=require("tslib");
|
package/lib/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { formatSizeOptions } from "./types";
|
|
|
3
3
|
* content: 删除数组重复的元素
|
|
4
4
|
* let newArr = del_repeat(Arr)
|
|
5
5
|
*/
|
|
6
|
-
export declare function del_repeat(obj: any): any;
|
|
6
|
+
export declare function del_repeat(obj: any): any[];
|
|
7
7
|
/** 2024-07-08 12:52 User: DJ
|
|
8
8
|
* content: 格式化时间
|
|
9
9
|
* 格式化参数format=[ year month day hour minute],type=- /
|
|
@@ -21,13 +21,6 @@ export declare function time_change(data: any): number;
|
|
|
21
21
|
* @param option .weeks:{0:周一}
|
|
22
22
|
*/
|
|
23
23
|
export declare function formatTime(time: any, format?: any, option?: any): any;
|
|
24
|
-
/**
|
|
25
|
-
* 计算两个日期之间的天数
|
|
26
|
-
* date1 开始日期 yyyy-MM-dd
|
|
27
|
-
* date2 结束日期 yyyy-MM-dd
|
|
28
|
-
* 如果日期相同 返回一天 开始日期大于结束日期,返回0
|
|
29
|
-
*/
|
|
30
|
-
export declare function getDaysBetween(date1: any, date2: any, negative?: any): number;
|
|
31
24
|
/** 2024/8/5 13:40 User: DJ
|
|
32
25
|
* content: 判断是否为空 为空返回true非空返回false
|
|
33
26
|
* @param obj 传入一个值
|
|
@@ -60,7 +53,7 @@ export declare function is(obj: any): any;
|
|
|
60
53
|
* 传入一个数组
|
|
61
54
|
* return 一个数组出去
|
|
62
55
|
*/
|
|
63
|
-
export declare function unique(obj: any): any;
|
|
56
|
+
export declare function unique(obj: any): false | any[];
|
|
64
57
|
/** 2024-07-08 12:44 User: DJ
|
|
65
58
|
* content: 输出数组对象的最后一个元素
|
|
66
59
|
* 传入一个数组对象
|
|
@@ -74,7 +67,7 @@ export declare function first(obj: any): any;
|
|
|
74
67
|
* return一个对象或是数组
|
|
75
68
|
* 为空返回false
|
|
76
69
|
*/
|
|
77
|
-
export declare function last(obj: any):
|
|
70
|
+
export declare function last(obj: any): any;
|
|
78
71
|
/** 2022/7/15 16:45 User: DJ
|
|
79
72
|
* content: 二维数组查找返回他所在的下标
|
|
80
73
|
*/
|
|
@@ -126,13 +119,6 @@ export declare function treeFor(data: any, callBack: any, option?: {}): void;
|
|
|
126
119
|
* @param option //{cKey='children'}
|
|
127
120
|
*/
|
|
128
121
|
export declare function treeStack(data: any, callBack: any, option?: {}): void;
|
|
129
|
-
/** 2024/12/30 23:14 User: DJ
|
|
130
|
-
* content: 树递归循环返回子项
|
|
131
|
-
* @param data 数组
|
|
132
|
-
* @param callBack 回调函数
|
|
133
|
-
* @param option //{cKey='children'}
|
|
134
|
-
*/
|
|
135
|
-
export declare function treeRecursion(data: any, callBack: any, option?: {}): void;
|
|
136
122
|
/** 2024/12/30 23:14 User: DJ
|
|
137
123
|
* content: 树解构
|
|
138
124
|
* @param data 数组
|
|
@@ -203,12 +189,6 @@ export declare function randomNumber(min: any, max: any): any;
|
|
|
203
189
|
* return bool
|
|
204
190
|
*/
|
|
205
191
|
export declare function isDateInRange(date: any, startDate: any, endDate: any): boolean;
|
|
206
|
-
/** 2023/8/9 14:39 User: DJ
|
|
207
|
-
* content: 节流
|
|
208
|
-
* 1.触发高频事件后,但在n秒内函数只会执行一次
|
|
209
|
-
* 简单的说也就是一定时间内的无论点击多少次,都只会执行第一次,其余的直接return
|
|
210
|
-
*/
|
|
211
|
-
export declare function throttle1<T extends any[]>(func: (...args: T) => void, delay: number): (...args: T) => void;
|
|
212
192
|
/** 2024-07-08 12:35 User: DJ
|
|
213
193
|
* content: 节流
|
|
214
194
|
* 1.触发高频事件后,但在n秒内函数只会执行一次
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e){let t={};return e.forEach((function(e){t[JSON.stringify(e)]=e})),e=Object.keys(t).map((function(e){if("undefined"!=e)return JSON.parse(e)}))}function t(e){let t=!1;switch(Object.prototype.toString.call(e).slice(8,-1)){case"Undefined":case"Null":t=!0;break;case"String":t=0===e.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,"").length;break;case"Boolean":t=!e;break;case"Array":t=0===e.length;break;case"Number":t=0===e||isNaN(e);break;case"Object":t=0===Object.keys(e).length}return t}function r(e){return Object.prototype.toString.call(e).slice(8,-1)}function n(){var e,t,r,n,o;try{const i=navigator,s=i.userAgent||"",c=i.maxTouchPoints||0,l=Math.min((null===(e=window.screen)||void 0===e?void 0:e.width)||1/0,(null===(t=window.screen)||void 0===t?void 0:t.height)||1/0);return!!((null===(r=i.userAgentData)||void 0===r?void 0:r.mobile)||/Android.+Mobile|iPhone|iPod|Windows Phone|IEMobile|BlackBerry|webOS|Opera Mini|Mobile|Fennec/i.test(s)||/iPad|Tablet|PlayBook|Silk|Kindle|Nexus 7|Nexus 10|SM-T|Lenovo TB|Mi Pad/i.test(s)||/Android/i.test(s)&&!/Mobile/i.test(s)&&c>1||"MacIntel"===i.platform&&c>1||(null===(o=null===(n=window.matchMedia)||void 0===n?void 0:n.call(window,"(pointer: coarse)"))||void 0===o?void 0:o.matches)&&c>1&&l<=1024)}catch(e){return!1}}function o(e,t){return Math.round(Math.random()*(t-e))+e}function i(e){let t=e+"";const r=Number(t);return!isNaN(r)&&t.length>0}function s(e=[],t,r=!1){if(r)return e.indexOf(t);{let r=-1,n=e.length;for(let o=0;o<n;o++)e[o]==t&&(r=o);return r}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.memoize=void 0,exports.del_repeat=e,exports.formatDate=function(e,t="day",r="-"){let n=e.getFullYear(),o=(e.getMonth()+1).toString().padStart(2,"0"),i=e.getDate().toString().padStart(2,"0"),s=e.getHours().toString().padStart(2,"0"),c=e.getMinutes().toString().padStart(2,"0"),l={year:1,month:2,day:3,hour:4,minute:5},a="";for(let e=0;e<l[t];e++)0==e&&(a+=n),1==e&&(a+=o),2==e&&(a+=i),3==e&&(a+=s),4==e&&(a+=c),e!=l[t]-1&&(a+=r);return a},exports.time_change=function(e){return Date.parse(e)},exports.formatTime=function(e,t="YYYY-MM-DD hh:mm:ss",r={}){try{e=e.replaceAll("-","/")}catch(e){}e=new Date(e);let n={0:"周日",1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六"},{weeks:o=n}=r,i=e.getFullYear(),s=(e.getMonth()+1).toString().padStart(2,"0"),c=e.getDate().toString().padStart(2,"0"),l=e.getHours().toString().padStart(2,"0"),a=e.getMinutes().toString().padStart(2,"0"),u=e.getSeconds().toString().padStart(2,"0"),p=o[e.getDay()],f=t;return[{format:"YYYY",data:i},{format:"yyyy",data:i},{format:"MM",data:s},{format:"DD",data:c},{format:"dd",data:c},{format:"hh",data:l},{format:"HH",data:l},{format:"mm",data:a},{format:"ss",data:u},{format:"week",data:p},{format:"time_slot",data:l>12?"下午":"上午"}].forEach((function(e,r){-1!=t.indexOf(e.format)&&(f=f.replace(e.format,""+e.data))})),f},exports.getDaysBetween=function(e,t,r=!1){var n=Date.parse(e),o=Date.parse(t),i=0;n>o&&(i=(n-o)/864e5);n<o&&(i=(o-n)/864e5,r&&(i=-i));return i},exports.is_empty=t,exports.repalce=function(e,t,r){return e.substring(0,t)+r+e.substring(t+1)},exports.toGetQuery=function(e,n={}){if(t(e))return"";{let{prefix:o="?"}=n,i=[],s=["",void 0,null];const c=(e,n="")=>{const o=Object.keys(e);for(const l of o){const o=e[l];if(s.includes(o))continue;let a=r(o),u=encodeURIComponent(l);if(t(n)||(u=`${n}[${u}]`),"Array"===a)for(const e of o)i.push(`${u}[]=${encodeURIComponent(e)}`);else if("Object"===a)c(o,u);else{let e=encodeURIComponent(o);i.push(`${u}=${e}`)}}};return c(e),i.length?o+i.join("&"):""}},exports.isLink=function(e){const t=e.indexOf("://");if(-1===t)return!1;const r=e.slice(0,t+1);return-1!==s(["http:","https:","ftp:","file:"],r.toLowerCase())},exports.merge=function(t,r){const n=Object.prototype.toString.call(t);if("Array"==n.slice(8,-1))return t.push.apply(t,r),e(t);if("Object"==n.slice(8,-1))return Object.assign(t,r)},exports.is=r,exports.unique=function(r){if(0==t(r)){let t=e(r);return console.log(t),t}return console.log(!1),!1},exports.first=function(e){if(0!=t(e))return console.log(!1),!1;if("[object Object]"===Object.prototype.toString.call(e))for(const t of e)return console.log(t),t;else console.log(e[0])},exports.last=function(e){if(0!=t(e))return console.log(!1),!1;if("[object Object]"===Object.prototype.toString.call(e))for(const t of e)console.log(t);else console.log(e[e.length-1])},exports.findByIndex=function(e,t,r){return(e||[]).findIndex((e=>e[t]===r))},exports.setObjData=function(e,t,r,n,o){try{return e.find((function(e){return e[t]==r}))[n]=o,!0}catch(e){return!1}},exports.selectObjData=function(e,t,r){try{return e.find((function(e){return e[t]==r}))}catch(e){return""}},exports.handleTree=function(e,t,r,n){const o={id:t||"id",parentId:r||"parentId",childrenList:n||"children"},i=new Map,s=new Map,c=[];let l=e.length;for(let t=0;t<l;t++){let r=e[t];const n=r[o.parentId];i.has(n)||i.set(n,[]),s.set(r[o.id],r),i.get(n).push(r)}for(let t=0;t<l;t++){let r=e[t];const n=r[o.parentId];s.has(n)||c.push(r)}const a=[...c];for(;a.length>0;){const e=a.pop(),t=i.get(e[o.id]);t&&(e[o.childrenList]=t,a.push(...t))}return c},exports.arrToTree=function(e,t={}){let{id:r="id",pKey:n="parentId",cKey:o="children",strict:i=!0,copy:s=!0}=t,c=[];c=s?JSON.parse(JSON.stringify(e)):e;return c.filter((e=>{const t=c.filter((t=>i?t[n]===e[r]:t[n]==e[r]));return t.length&&(e[o]=t),0===e[n]}))},exports.treeToArr=function(e,t={}){let r=[],{cKey:n="children",copy:o=!0}=t,i=[...e];for(;i.length;){let e=i.pop();if(e[n])if(i.push(...e[n]),o){let t={},o=Object.keys(e),i=o.length;for(let r=0;r<i;r++)o[r]!=n&&(t[o[r]]=e[o[r]]);r.push(t)}else r.push(e)}return r},exports.treeFor=function(e,r,n={}){let{cKey:o="children"}=n,i=[...e];for(;i.length;){let e=i.shift();t(e[o])?r&&r(e):i.push(...e[o])}},exports.treeStack=function(e,r,n={}){let{cKey:o="children"}=n,i=[...e];for(;i.length;){let e=i.shift();t(e[o])?r&&r(e):i.push(...e[o])}},exports.treeRecursion=function(e,t,r={}){},exports.treeFind=function(e,t={}){let r=[],{cKey:n="children",key:o="id",value:i,copy:s=!0}=t,c=[...e];for(;c.length;){let e=c.pop();if(e[n]&&c.push(...e[n]),e[o]==i)if(s){let t={},o=Object.keys(e),i=o.length;for(let r=0;r<i;r++)o[r]!=n&&(t[o[r]]=e[o[r]]);r.push(t)}else r.push(e)}return r},exports.base64Img=function(e,t){return r=function(e){for(var t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=atob(t[1]),o=n.length,i=new Uint8Array(o);o--;)i[o]=n.charCodeAt(o);return new Blob([i],{type:r})}(e),n=t,new File([r],n);var r,n},exports.compareDate=function(e,t="up"){return function(r,n){return"up"==t?Date.parse(r[e])-Date.parse(n[e]):Date.parse(n[e])-Date.parse(r[e])}},exports.compare=function(e,t="up"){return function(r,n){return"up"==t?r[e]-n[e]:n[e]-r[e]}},exports.numberRepair=function(e="",t=2,r="0",n=!1){let o="",i=(""+e).length;if(i>t&&1==n)return i;{let n=t-i;if(n>0)for(let e=0;e<n;e++)o+=r;return(o+e).slice(-1*t)}},exports.isMobile=n,exports.setMeta=function(e){if(!t(e)){let t=[];document.head.childNodes.forEach((r=>{switch(r.tagName){case"META":t.push(r);break;case"TITLE":document.title=e.title||"模板测试"}}));const r=document.createElement("META");let o=1,i="yes";e.cZoom&&(n()?e.cZoom.mobile&&(o=e.cZoom.mobile):e.cZoom.pc&&(o=e.cZoom.pc),e.cZoom.isScale&&(i=e.cZoom.isScale));let s=`width=device-width,minimum-scale=${o},initial-scale=${o},user-scalable=${i}`;"no"==i&&(s+=`,maximum-scale=${o}`);const c=[{charset:"utf-8"},{name:"viewport",content:s}],l=document.createDocumentFragment();c.forEach((e=>{l.append(r.cloneNode()),Object.entries(e).forEach((e=>{l.lastChild.setAttribute(e[0],e[1])}))})),t.forEach((e=>{document.head.removeChild(e)})),document.head.prepend(l)}},exports.colorMix=function(e,t,r){r=Math.max(Math.min(Number(r),1),0);let n=parseInt(e.substring(1,3),16),o=parseInt(e.substring(3,5),16),i=parseInt(e.substring(5,7),16),s=parseInt(t.substring(1,3),16),c=parseInt(t.substring(3,5),16),l=parseInt(t.substring(5,7),16),a=Math.round(n*(1-r)+s*r),u=Math.round(o*(1-r)+c*r),p=Math.round(i*(1-r)+l*r);return a=("0"+(a||0).toString(16)).slice(-2),u=("0"+(u||0).toString(16)).slice(-2),p=("0"+(p||0).toString(16)).slice(-2),"#"+a+u+p},exports.sArrMove=function(e,t,r){e.splice(r,0,e.splice(t,1)[0])},exports.rArrMove=function(e,t,r){let n=[].concat(e);return n.splice(r,0,n.splice(t,1)[0]),n},exports.arrSet=function(e,t,r){e.splice(t,0,r)},exports.randomColor=function(){let e=o(100,255),t=o(100,255),r=o(100,255);return"rgba("+e+","+t+","+r+",1)"},exports.randomNumber=o,exports.isDateInRange=function(e,t,r){const n=new Date(e),o=new Date(t),i=new Date(r);return n>=o&&n<=i},exports.throttle1=function(e,t){let r,n=0;return function(...o){const i=Date.now(),s=i-n;clearTimeout(r),s>=t?(e(...o),n=i):r=setTimeout((()=>{e(...o),n=Date.now()}),t-s)}},exports.throttle=function(e,t=1e3,r=!0){let n;const o=(...o)=>{n&&clearInterval(n),r?(n||e(...o),n=setTimeout((function(){n=null}),t)):n=setTimeout((()=>{e(...o)}),t)};return o.cancel=()=>{n&&(clearTimeout(n),n=null)},o},exports.debounce=function(e,t){let r;const n=function(...n){clearTimeout(r),r=setTimeout((()=>{e(...n)}),t)};return n.cancel=()=>{r&&(clearTimeout(r),r=null)},n},exports.arrayGroup=function(e,t="type"){return e.reduce(((e,r)=>{var n;return Object.assign(Object.assign({},e),{[r[t]]:[...null!==(n=e[r[t]])&&void 0!==n?n:[],r]})}),{})},exports.numberFixed=function(e,t=1){const r=e.toString(),n=r.indexOf(".");if(-1===n)return e;const o=r.slice(0,n+1+t);return parseFloat(o)},exports.delObj=function(e,n=""){try{if(t(n)){let t=Object.keys(e);for(let r of t)delete e[r]}else if("Array"==r(n))for(const t of n)delete e[t];else delete e[n]}catch(e){}},exports.delObjEmptyKey=function(e){try{let n=Object.keys(e);for(let o of n)"Number"!=r(e[o])&&t(e[o])&&delete e[o]}catch(e){}},exports.isNum=i,exports.pxToRem=function(e,t=37.5){let r=e;if(i(e)||-1!=e.indexOf("px")){r=(parseFloat(e)/t).toFixed(2)+"rem"}return r},exports.inArr=s,exports.fnRuntime=function(e,t=1){let r=0;for(let n=0;n<t;n++){const t=performance.now();e();r+=performance.now()-t}const n=r/t;console.log(`平均执行时间 ${t} 次数: ${n.toFixed(6)} ms`)},exports.objToFormData=function(e,t=!0){let n=new FormData;return function e(o,i="",s={}){let{level:c=0,pk:l="",type:a=""}=s,u=r(o);if(-1==["Array","Object"].indexOf(u)){if(null!=o){let e=i;t&&2==c&&"Array"==a&&(e=l),n.append(e,o)}}else if("Array"==u){let t=o.length;for(let r=0;r<t;r++){let t=`${i}[${r}]`,n={level:c+1,type:"Array",pk:i};e(o[r],t,n)}}else if("Object"==u){let t=Object.keys(o),r={level:c+1,type:"Object",pk:i};for(const n of t)e(o[n],`${i}${""==i?"":"."}${n}`,r)}}(e),n},exports.formatSize=function(e,t={}){let{decimals:r=2,sizes:n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],perUnit:o=1024}=t;if(0===e)return"0"+n[0];const i=r<0?0:r,s=Math.floor(Math.log(e)/Math.log(o));return parseFloat((e/Math.pow(o,s)).toFixed(i))+" "+n[s]},exports.arrToAryTree=function(e,t={}){let{idKey:r="id",pidKey:n="pid",rKey:o="rgt",lKey:i="lft",levelKey:s="level"}=t;const c={},l={};let a=e.length;for(let t=0;t<a;t++){let o=e[t],i=o[n],s=o[r];c[s]=Object.assign({},o),l[i]||(l[i]=[]),l[i].push(s)}const u=Object.keys(l),p=Object.keys(c),f=new Set(p);let d=[];u.filter((e=>{f.has(e)||d.push(...l[e])}));let h=1;const m=[],g=[];for(let e=d.length-1;e>=0;e--)m.push({[r]:d[e],[s]:1,processed:!1});for(;m.length>0;){const e=m.pop(),t=c[e[r]];if(e.processed)t[o]=h++,g.push(t);else if(t[i]=h++,t[s]=e[s],m.push({[r]:e[r],[s]:e[s],processed:!0}),l[e[r]])for(let t=l[e[r]].length-1;t>=0;t--)m.push({[r]:l[e[r]][t],[s]:e[s]+1,processed:!1})}return g},exports.mergeObj=function(e,t={}){let{callback:n=null,callType:o="",afterBack:i=null}=t,s={};function c(e,t){let s=Object.keys(e);for(const l of s){let s=r(e[l]);n&&s==o?t[l]=n(e,l):"Object"===s?(t[l]||(t[l]={}),c(e[l],t[l])):t[l]=e[l],i&&i(t,l)}}for(const t of e)c(t,s);return s},Number.prototype.repair=function(e=2){let t="";for(let r=1;r<e;r++)t+="0";return(t+this).slice(-1*e)};exports.memoize=(e,t={})=>{const{context:r=null,ttl:n=0}=t,o=new Map,i=e=>{if("object"==typeof e&&null!==e){if(Array.isArray(e))return`[${e.map(i).join(",")}]`;return`{${Object.keys(e).sort().map((t=>`${t}:${i(e[t])}`)).join(",")}}`}return String(e)};return(...t)=>{const s=i(t),c=o.get(s);if(c&&(0===n||Date.now()-c.timestamp<=n))return c.value;const l=r?e.apply(r,t):e(...t);return o.set(s,{value:l,timestamp:Date.now()}),l}};
|
|
1
|
+
function e(e){const t=new Set,r=[];return e.forEach(function(e){const n=JSON.stringify(e);void 0===n||t.has(n)||(t.add(n),r.push(JSON.parse(n)))}),r}function t(e){let t=!1;switch(Object.prototype.toString.call(e).slice(8,-1)){case"Undefined":case"Null":t=!0;break;case"String":t=0===e.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,"").length;break;case"Boolean":t=!e;break;case"Array":t=0===e.length;break;case"Number":t=0===e||isNaN(e);break;case"Object":t=0===Object.keys(e).length}return t}function r(e){return Object.prototype.toString.call(e).slice(8,-1)}function n(){var e,t,r,n,o;try{const i=navigator,s=i.userAgent||"",c=i.maxTouchPoints||0,a=Math.min((null===(e=window.screen)||void 0===e?void 0:e.width)||1/0,(null===(t=window.screen)||void 0===t?void 0:t.height)||1/0);return!!((null===(r=i.userAgentData)||void 0===r?void 0:r.mobile)||/Android.+Mobile|iPhone|iPod|Windows Phone|IEMobile|BlackBerry|webOS|Opera Mini|Mobile|Fennec/i.test(s)||/iPad|Tablet|PlayBook|Silk|Kindle|Nexus 7|Nexus 10|SM-T|Lenovo TB|Mi Pad/i.test(s)||/Android/i.test(s)&&!/Mobile/i.test(s)&&c>1||"MacIntel"===i.platform&&c>1||(null===(o=null===(n=window.matchMedia)||void 0===n?void 0:n.call(window,"(pointer: coarse)"))||void 0===o?void 0:o.matches)&&c>1&&a<=1024)}catch(e){return!1}}function o(e,t){return Math.round(Math.random()*(t-e))+e}function i(e){let t=e+"";const r=Number(t);return!isNaN(r)&&t.length>0}function s(e=[],t,r=!1){if(r)return e.indexOf(t);{let r=-1,n=e.length;for(let o=0;o<n;o++)e[o]==t&&(r=o);return r}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.memoize=void 0,exports.del_repeat=e,exports.formatDate=function(e,t="day",r="-"){let n=e.getFullYear(),o=(e.getMonth()+1).toString().padStart(2,"0"),i=e.getDate().toString().padStart(2,"0"),s=e.getHours().toString().padStart(2,"0"),c=e.getMinutes().toString().padStart(2,"0"),a={year:1,month:2,day:3,hour:4,minute:5},l="";for(let e=0;e<a[t];e++)0==e&&(l+=n),1==e&&(l+=o),2==e&&(l+=i),3==e&&(l+=s),4==e&&(l+=c),e!=a[t]-1&&(l+=r);return l},exports.time_change=function(e){return Date.parse(e)},exports.formatTime=function(e,t="YYYY-MM-DD hh:mm:ss",r={}){try{e=e.replaceAll("-","/")}catch(e){}e=new Date(e);let n={0:"周日",1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六"},{weeks:o=n}=r,i=e.getFullYear(),s=(e.getMonth()+1).toString().padStart(2,"0"),c=e.getDate().toString().padStart(2,"0"),a=e.getHours().toString().padStart(2,"0"),l=e.getMinutes().toString().padStart(2,"0"),u=e.getSeconds().toString().padStart(2,"0"),p=o[e.getDay()],f=t;return[{format:"YYYY",data:i},{format:"yyyy",data:i},{format:"MM",data:s},{format:"DD",data:c},{format:"dd",data:c},{format:"hh",data:a},{format:"HH",data:a},{format:"mm",data:l},{format:"ss",data:u},{format:"week",data:p},{format:"time_slot",data:a>12?"下午":"上午"}].forEach(function(e,r){-1!=t.indexOf(e.format)&&(f=f.replace(e.format,""+e.data))}),f},exports.is_empty=t,exports.repalce=function(e,t,r){return e.substring(0,t)+r+e.substring(t+1)},exports.toGetQuery=function(e,n={}){if(t(e))return"";{let{prefix:o="?"}=n,i=[],s=["",void 0,null];const c=(e,n="")=>{const o=Object.keys(e);for(const a of o){const o=e[a];if(s.includes(o))continue;let l=r(o),u=encodeURIComponent(a);if(t(n)||(u=`${n}[${u}]`),"Array"===l)for(const e of o)i.push(`${u}[]=${encodeURIComponent(e)}`);else if("Object"===l)c(o,u);else{let e=encodeURIComponent(o);i.push(`${u}=${e}`)}}};return c(e),i.length?o+i.join("&"):""}},exports.isLink=function(e){const t=e.indexOf("://");if(-1===t)return!1;const r=e.slice(0,t+1);return-1!==s(["http:","https:","ftp:","file:"],r.toLowerCase())},exports.merge=function(t,r){const n=Object.prototype.toString.call(t);if("Array"==n.slice(8,-1))return t.push.apply(t,r),e(t);if("Object"==n.slice(8,-1))return Object.assign(t,r)},exports.is=r,exports.unique=function(r){if(0==t(r)){return e(r)}return!1},exports.first=function(e){if(0!=t(e))return!1;if("[object Object]"!==Object.prototype.toString.call(e))return e[0];for(const t of e)return t},exports.last=function(e){if(0!=t(e))return!1;if("[object Object]"!==Object.prototype.toString.call(e))return e[e.length-1];for(const t of e)return t},exports.findByIndex=function(e,t,r){return(e||[]).findIndex(e=>e[t]===r)},exports.setObjData=function(e,t,r,n,o){try{return e.find(function(e){return e[t]==r})[n]=o,!0}catch(e){return!1}},exports.selectObjData=function(e,t,r){try{return e.find(function(e){return e[t]==r})}catch(e){return""}},exports.handleTree=function(e,t,r,n){const o={id:t||"id",parentId:r||"parentId",childrenList:n||"children"},i=new Map,s=new Map,c=[];let a=e.length;for(let t=0;t<a;t++){let r=e[t];const n=r[o.parentId];i.has(n)||i.set(n,[]),s.set(r[o.id],r),i.get(n).push(r)}for(let t=0;t<a;t++){let r=e[t];const n=r[o.parentId];s.has(n)||c.push(r)}const l=[...c];for(;l.length>0;){const e=l.pop(),t=i.get(e[o.id]);t&&(e[o.childrenList]=t,l.push(...t))}return c},exports.arrToTree=function(e,t={}){let{id:r="id",pKey:n="parentId",cKey:o="children",strict:i=!0,copy:s=!0}=t,c=[];c=s?JSON.parse(JSON.stringify(e)):e;return c.filter(e=>{const t=c.filter(t=>i?t[n]===e[r]:t[n]==e[r]);return t.length&&(e[o]=t),0===e[n]})},exports.treeToArr=function(e,t={}){let r=[],{cKey:n="children",copy:o=!0}=t,i=[...e];for(;i.length;){let e=i.pop();if(e[n])if(i.push(...e[n]),o){let t={},o=Object.keys(e),i=o.length;for(let r=0;r<i;r++)o[r]!=n&&(t[o[r]]=e[o[r]]);r.push(t)}else r.push(e)}return r},exports.treeFor=function(e,r,n={}){let{cKey:o="children"}=n,i=[...e];for(;i.length;){let e=i.shift();t(e[o])?r&&r(e):i.push(...e[o])}},exports.treeStack=function(e,r,n={}){let{cKey:o="children"}=n,i=[...e];for(;i.length;){let e=i.shift();t(e[o])?r&&r(e):i.push(...e[o])}},exports.treeFind=function(e,t={}){let r=[],{cKey:n="children",key:o="id",value:i,copy:s=!0}=t,c=[...e];for(;c.length;){let e=c.pop();if(e[n]&&c.push(...e[n]),e[o]==i)if(s){let t={},o=Object.keys(e),i=o.length;for(let r=0;r<i;r++)o[r]!=n&&(t[o[r]]=e[o[r]]);r.push(t)}else r.push(e)}return r},exports.base64Img=function(e,t){return r=function(e){for(var t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=atob(t[1]),o=n.length,i=new Uint8Array(o);o--;)i[o]=n.charCodeAt(o);return new Blob([i],{type:r})}(e),n=t,new File([r],n);var r,n},exports.compareDate=function(e,t="up"){return function(r,n){return"up"==t?Date.parse(r[e])-Date.parse(n[e]):Date.parse(n[e])-Date.parse(r[e])}},exports.compare=function(e,t="up"){return function(r,n){return"up"==t?r[e]-n[e]:n[e]-r[e]}},exports.numberRepair=function(e="",t=2,r="0",n=!1){let o="",i=(""+e).length;if(i>t&&1==n)return i;{let n=t-i;if(n>0)for(let e=0;e<n;e++)o+=r;return(o+e).slice(-1*t)}},exports.isMobile=n,exports.setMeta=function(e){if(!t(e)){let t=[];document.head.childNodes.forEach(r=>{switch(r.tagName){case"META":t.push(r);break;case"TITLE":document.title=e.title||"模板测试"}});const r=document.createElement("META");let o=1,i="yes";e.cZoom&&(n()?e.cZoom.mobile&&(o=e.cZoom.mobile):e.cZoom.pc&&(o=e.cZoom.pc),e.cZoom.isScale&&(i=e.cZoom.isScale));let s=`width=device-width,minimum-scale=${o},initial-scale=${o},user-scalable=${i}`;"no"==i&&(s+=`,maximum-scale=${o}`);const c=[{charset:"utf-8"},{name:"viewport",content:s}],a=document.createDocumentFragment();c.forEach(e=>{a.append(r.cloneNode()),Object.entries(e).forEach(e=>{a.lastChild.setAttribute(e[0],e[1])})}),t.forEach(e=>{document.head.removeChild(e)}),document.head.prepend(a)}},exports.colorMix=function(e,t,r){r=Math.max(Math.min(Number(r),1),0);let n=parseInt(e.substring(1,3),16),o=parseInt(e.substring(3,5),16),i=parseInt(e.substring(5,7),16),s=parseInt(t.substring(1,3),16),c=parseInt(t.substring(3,5),16),a=parseInt(t.substring(5,7),16),l=Math.round(n*(1-r)+s*r),u=Math.round(o*(1-r)+c*r),p=Math.round(i*(1-r)+a*r);return l=("0"+(l||0).toString(16)).slice(-2),u=("0"+(u||0).toString(16)).slice(-2),p=("0"+(p||0).toString(16)).slice(-2),"#"+l+u+p},exports.sArrMove=function(e,t,r){e.splice(r,0,e.splice(t,1)[0])},exports.rArrMove=function(e,t,r){let n=[].concat(e);return n.splice(r,0,n.splice(t,1)[0]),n},exports.arrSet=function(e,t,r){e.splice(t,0,r)},exports.randomColor=function(){let e=o(100,255),t=o(100,255),r=o(100,255);return"rgba("+e+","+t+","+r+",1)"},exports.randomNumber=o,exports.isDateInRange=function(e,t,r){const n=new Date(e),o=new Date(t),i=new Date(r);return n>=o&&n<=i},exports.throttle=function(e,t=1e3,r=!0){let n;const o=(...o)=>{n&&clearTimeout(n),r?(n||e(...o),n=setTimeout(function(){n=null},t)):n=setTimeout(()=>{e(...o)},t)};return o.cancel=()=>{n&&(clearTimeout(n),n=null)},o},exports.debounce=function(e,t){let r;const n=function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n)},t)};return n.cancel=()=>{r&&(clearTimeout(r),r=null)},n},exports.arrayGroup=function(e,t="type"){return e.reduce((e,r)=>{const n=r[t];return e[n]||(e[n]=[]),e[n].push(r),e},{})},exports.numberFixed=function(e,t=1){const r=e.toString(),n=r.indexOf(".");if(-1===n)return e;const o=r.slice(0,n+1+t);return parseFloat(o)},exports.delObj=function(e,n=""){try{if(t(n)){let t=Object.keys(e);for(let r of t)delete e[r]}else if("Array"==r(n))for(const t of n)delete e[t];else delete e[n]}catch(e){}},exports.delObjEmptyKey=function(e){try{let n=Object.keys(e);for(let o of n)"Number"!=r(e[o])&&t(e[o])&&delete e[o]}catch(e){}},exports.isNum=i,exports.pxToRem=function(e,t=37.5){let r=e;if(i(e)||-1!=e.indexOf("px")){r=(parseFloat(e)/t).toFixed(2)+"rem"}return r},exports.inArr=s,exports.fnRuntime=function(e,t=1){let r=0;for(let n=0;n<t;n++){const t=performance.now();e();r+=performance.now()-t}const n=r/t;console.log(`平均执行时间 ${t} 次数: ${n.toFixed(6)} ms`)},exports.objToFormData=function(e,t=!0){let n=new FormData;return function e(o,i="",s={}){let{level:c=0,pk:a="",type:l=""}=s,u=r(o);if(-1==["Array","Object"].indexOf(u)){if(null!=o){let e=i;t&&2==c&&"Array"==l&&(e=a),n.append(e,o)}}else if("Array"==u){let t=o.length;for(let r=0;r<t;r++){let t=`${i}[${r}]`,n={level:c+1,type:"Array",pk:i};e(o[r],t,n)}}else if("Object"==u){let t=Object.keys(o),r={level:c+1,type:"Object",pk:i};for(const n of t)e(o[n],`${i}${""==i?"":"."}${n}`,r)}}(e),n},exports.formatSize=function(e,t={}){let{decimals:r=2,sizes:n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],perUnit:o=1024}=t;if(0===e)return"0"+n[0];const i=r<0?0:r,s=Math.floor(Math.log(e)/Math.log(o));return parseFloat((e/Math.pow(o,s)).toFixed(i))+" "+n[s]},exports.arrToAryTree=function(e,t={}){let{idKey:r="id",pidKey:n="pid",rKey:o="rgt",lKey:i="lft",levelKey:s="level"}=t;const c={},a={};let l=e.length;for(let t=0;t<l;t++){let o=e[t],i=o[n],s=o[r];c[s]=Object.assign({},o),a[i]||(a[i]=[]),a[i].push(s)}const u=Object.keys(a),p=Object.keys(c),f=new Set(p);let d=[];u.filter(e=>{f.has(e)||d.push(...a[e])});let h=1;const m=[],g=[];for(let e=d.length-1;e>=0;e--)m.push({[r]:d[e],[s]:1,processed:!1});for(;m.length>0;){const e=m.pop(),t=c[e[r]];if(e.processed)t[o]=h++,g.push(t);else if(t[i]=h++,t[s]=e[s],m.push({[r]:e[r],[s]:e[s],processed:!0}),a[e[r]])for(let t=a[e[r]].length-1;t>=0;t--)m.push({[r]:a[e[r]][t],[s]:e[s]+1,processed:!1})}return g},exports.mergeObj=function(e,t={}){let{callback:n=null,callType:o="",afterBack:i=null}=t,s={};function c(e,t){let s=Object.keys(e);for(const a of s){let s=r(e[a]);n&&s==o?t[a]=n(e,a):"Object"===s?(t[a]||(t[a]={}),c(e[a],t[a])):t[a]=e[a],i&&i(t,a)}}for(const t of e)c(t,s);return s},Number.prototype.repair=function(e=2){let t="";for(let r=1;r<e;r++)t+="0";return(t+this).slice(-1*e)};exports.memoize=(e,t={})=>{const{context:r=null,ttl:n=0}=t,o=new Map,i=e=>{if("object"==typeof e&&null!==e){if(Array.isArray(e))return`[${e.map(i).join(",")}]`;return`{${Object.keys(e).sort().map(t=>`${t}:${i(e[t])}`).join(",")}}`}return String(e)};return(...t)=>{const s=i(t),c=o.get(s);if(c&&(0===n||Date.now()-c.timestamp<=n))return c.value;const a=r?e.apply(r,t):e(...t);return o.set(s,{value:a,timestamp:Date.now()}),a}};
|
package/lib/msg.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.pageSend=o,exports.pageRead=s;const e=require("tslib");let t=new BroadcastChannel("msgCenter");const n=e.__importDefault(require("mitt")),a=(0,n.default)();function o(e,n){t.postMessage({type:e,data:n})}function s(e,n){t.onmessage=({data:t})=>{e==t.type&&n&&n(t.data)}}exports.default={pageSend:o,pageRead:s,storeRead:function(e,t){e.$subscribe((
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.pageSend=o,exports.pageRead=s;const e=require("tslib");let t=new BroadcastChannel("msgCenter");const n=e.__importDefault(require("mitt")),a=(0,n.default)();function o(e,n){t.postMessage({type:e,data:n})}function s(e,n){t.onmessage=({data:t})=>{e==t.type&&n&&n(t.data)}}exports.default={pageSend:o,pageRead:s,storeRead:function(e,t){e.$subscribe((e,n)=>{t&&t(n)})},busSend:function(e,t){a.emit(e,t)},busRead:function(e,t){t&&a.on(e,t)},mitt:n.default,busOff:function(e,t){a.off(e,t)},busDown:function(e){a.off(e)},bus:a};
|
package/lib/request.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./index");exports.default=class{constructor(e={},t={}){this.options={},this.conf={baseUrl:"",timeout:6e3},this.options=e,Object.assign(this.conf,t)}serve(t="",o={},c={}){const n=(0,e.mergeObj)([this.conf,c]);let r=(0,e.mergeObj)([this.options,o],{callback:function(e,t){if(e[t])return e[t](e,t)},callType:"Function",afterBack:function(t,o){"Undefined"===(0,e.is)(t[o])&&delete t[o]}});const{timeout:s=6e3,baseUrl:i}=n;(0,e.isLink)(t)||(t=i+t);const a=new AbortController,l=a.signal;n.abController&&n.abController(a),n.beforeBack&&n.beforeBack(r);const b=setTimeout((
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./index");exports.default=class{constructor(e={},t={}){this.options={},this.conf={baseUrl:"",timeout:6e3},this.options=e,Object.assign(this.conf,t)}serve(t="",o={},c={}){const n=(0,e.mergeObj)([this.conf,c]);let r=(0,e.mergeObj)([this.options,o],{callback:function(e,t){if(e[t])return e[t](e,t)},callType:"Function",afterBack:function(t,o){"Undefined"===(0,e.is)(t[o])&&delete t[o]}});const{timeout:s=6e3,baseUrl:i}=n;(0,e.isLink)(t)||(t=i+t);const a=new AbortController,l=a.signal;n.abController&&n.abController(a),n.beforeBack&&n.beforeBack(r);const b=setTimeout(()=>{a.abort()},s);return fetch(t,Object.assign(Object.assign({},r),{signal:l})).then(e=>(clearTimeout(b),n.callback?n.callback(e,n):e)).catch(e=>{throw n.errBack&&n.errBack(e),clearTimeout(b),e})}};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tools_dj",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "dj tools 工具库",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib/index.js",
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
"tool"
|
|
18
18
|
],
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@rollup/plugin-alias": "^5.
|
|
21
|
-
"@rollup/plugin-node-resolve": "^15.
|
|
22
|
-
"@rollup/plugin-typescript": "^11.1.
|
|
23
|
-
"
|
|
20
|
+
"@rollup/plugin-alias": "^5.1.1",
|
|
21
|
+
"@rollup/plugin-node-resolve": "^15.3.1",
|
|
22
|
+
"@rollup/plugin-typescript": "^11.1.6",
|
|
23
|
+
"glob": "^11.1.0",
|
|
24
|
+
"rollup": "^2.80.0",
|
|
24
25
|
"rollup-plugin-terser": "^7.0.2",
|
|
25
|
-
"tslib": "^2.
|
|
26
|
-
"typescript": "^5.
|
|
27
|
-
"glob": "^11.0.1"
|
|
26
|
+
"tslib": "^2.8.1",
|
|
27
|
+
"typescript": "^5.9.3"
|
|
28
28
|
},
|
|
29
29
|
"files": [
|
|
30
30
|
"lib"
|