lgutils 1.3.13 → 1.3.24

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/index.d.ts CHANGED
@@ -20,12 +20,10 @@ export declare const download: (
20
20
  data: string,
21
21
  strFileName?: string,
22
22
  strMimeType?: string,
23
- isImgUrl?: boolean | undefined
23
+ isImgUrl?: boolean | undefined,
24
24
  ) => true | undefined
25
25
 
26
- export declare const fileReaderToBase64: (
27
- target: any
28
- ) => (cb: (p: any) => void) => void
26
+ export declare const fileReaderToBase64: (target: any) => (cb: (p: any) => void) => void
29
27
 
30
28
  export declare const format10k: (n: number) => string
31
29
 
@@ -40,7 +38,7 @@ export declare const formatCash: (
40
38
  | number
41
39
  | {
42
40
  valueOf(): number
43
- }
41
+ },
44
42
  ) => string
45
43
 
46
44
  export declare const formatCash2: (num: number) => string
@@ -50,7 +48,7 @@ export declare const formatCashInt: (
50
48
  | number
51
49
  | {
52
50
  valueOf(): number
53
- }
51
+ },
54
52
  ) => string
55
53
 
56
54
  export declare const formatCashIntNil: (
@@ -59,7 +57,7 @@ export declare const formatCashIntNil: (
59
57
  | {
60
58
  valueOf(): number
61
59
  }
62
- | NIL
60
+ | NIL,
63
61
  ) => string
64
62
 
65
63
  export declare const formatCashNil: (
@@ -68,17 +66,12 @@ export declare const formatCashNil: (
68
66
  | {
69
67
  valueOf(): number
70
68
  }
71
- | NIL
69
+ | NIL,
72
70
  ) => string
73
71
 
74
- export declare function formatDate(
75
- d: string | number,
76
- formatType?: string
77
- ): string
72
+ export declare function formatDate(d: string | number, formatType?: string): string
78
73
 
79
- export declare const formatDateNil: (
80
- d: string | number | null | undefined
81
- ) => string
74
+ export declare const formatDateNil: (d: string | number | null | undefined) => string
82
75
 
83
76
  export declare function formatDuration(period: string): string
84
77
 
@@ -89,7 +82,7 @@ export declare const formatRatio: (
89
82
  | number
90
83
  | {
91
84
  valueOf(): number
92
- }
85
+ },
93
86
  ) => string
94
87
 
95
88
  export declare const formatRatioNil: (
@@ -98,7 +91,7 @@ export declare const formatRatioNil: (
98
91
  | {
99
92
  valueOf(): number
100
93
  }
101
- | NIL
94
+ | NIL,
102
95
  ) => string
103
96
 
104
97
  export declare const getBase64: (file: File) => Promise<unknown>
@@ -179,31 +172,27 @@ export declare const removeItem: (key: string) => any
179
172
 
180
173
  export declare const setItem: (key: string, value: any) => any
181
174
 
182
- export declare const setProxyObj: (
183
- data: object,
184
- getFn: () => void,
185
- setFn: () => void
186
- ) => object
175
+ export declare const setProxyObj: (data: object, getFn: () => void, setFn: () => void) => object
187
176
 
188
177
  export declare const sortObj: <
189
178
  T extends keyof D,
190
179
  D extends {
191
180
  [key: string]: any
192
- }
181
+ },
193
182
  >(
194
183
  obj: D[],
195
184
  property: T,
196
- type?: 'asc' | 'desc'
185
+ type?: 'asc' | 'desc',
197
186
  ) => D[]
198
187
 
199
188
  export declare const sumObj: <
200
189
  T extends keyof D,
201
190
  D extends {
202
191
  [key: string]: any
203
- }
192
+ },
204
193
  >(
205
194
  obj: D[],
206
- key: T
195
+ key: T,
207
196
  ) => number
208
197
 
209
198
  export declare const trimString: (str: string) => string
@@ -4,11 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var qs = require('qs');
6
6
  var d3Format = require('d3-format');
7
- var moment = require('moment');
7
+ var dayjs = require('dayjs');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
10
10
 
11
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
11
+ var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
12
12
 
13
13
  const log = (...rest) => {
14
14
  console.group('=====================');
@@ -36,7 +36,7 @@ const isSMSCode = (code) => {
36
36
  const random = (min, max) => Math.round(Math.random() * (max - min) + min);
37
37
  const playAudio = (mp3Id) => {
38
38
  const audioArr = document.querySelectorAll('audio');
39
- Array.from(audioArr).forEach(mp3 => {
39
+ Array.from(audioArr).forEach((mp3) => {
40
40
  mp3.pause();
41
41
  mp3.currentTime = 0;
42
42
  });
@@ -56,11 +56,11 @@ const getValOfArr = (_array) => {
56
56
  max: Math.max.apply(null, _array),
57
57
  sum,
58
58
  average: sum / len,
59
- mull
59
+ mull,
60
60
  };
61
61
  };
62
62
  const sumObj = (obj, key) => obj.reduce((prev, cur) => cur[key] + prev, 0);
63
- const sortObj = (obj, property, type = 'asc') => obj.sort((a, b) => type === 'asc' ? b[property] - a[property] : a[property] - b[property]);
63
+ const sortObj = (obj, property, type = 'asc') => obj.sort((a, b) => (type === 'asc' ? a[property] - b[property] : b[property] - a[property]));
64
64
  const isUndefined = (value) => value === undefined;
65
65
  const isNull = (value) => value === null;
66
66
  const isObject = (value) => value === Object(value);
@@ -72,8 +72,7 @@ const isBlob = (value) => value &&
72
72
  typeof value.slice === 'function';
73
73
  const isFile = (value) => isBlob(value) &&
74
74
  typeof value.name === 'string' &&
75
- (typeof value.lastModifiedDate === 'object' ||
76
- typeof value.lastModified === 'number');
75
+ (typeof value.lastModifiedDate === 'object' || typeof value.lastModified === 'number');
77
76
  const getQueryObject = (url = window.location.href) => {
78
77
  // const search = url.substring(url.lastIndexOf('?') + 1)
79
78
  // let obj: any = {}
@@ -104,7 +103,7 @@ const getBase64 = (file) => {
104
103
  const reader = new FileReader();
105
104
  reader.readAsDataURL(file);
106
105
  reader.onload = () => resolve(reader.result);
107
- reader.onerror = error => reject(error);
106
+ reader.onerror = (error) => reject(error);
108
107
  });
109
108
  };
110
109
  const os = () => {
@@ -113,7 +112,7 @@ const os = () => {
113
112
  isTablet: false,
114
113
  isPhone: false,
115
114
  isAndroid: false,
116
- isPc: false
115
+ isPc: false,
117
116
  };
118
117
  const ua = navigator.userAgent, isWindowsPhone = /(?:Windows Phone)/.test(ua), isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone, isAndroid = /(?:Android)/.test(ua), isFireFox = /(?:Firefox)/.test(ua),
119
118
  // isChrome = /(?:Chrome|CriOS)/.test(ua),
@@ -124,7 +123,7 @@ const os = () => {
124
123
  isTablet: isTablet,
125
124
  isPhone: isPhone,
126
125
  isAndroid: isAndroid,
127
- isPc: isPc
126
+ isPc: isPc,
128
127
  };
129
128
  };
130
129
  const accMul = (arg1, arg2) => {
@@ -137,8 +136,7 @@ const accMul = (arg1, arg2) => {
137
136
  m += s2.split('.')[1].length;
138
137
  }
139
138
  catch (e) { }
140
- return ((Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) /
141
- Math.pow(10, m));
139
+ return (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / Math.pow(10, m);
142
140
  };
143
141
  const accDiv = (arg1, arg2) => {
144
142
  let t1 = 0, t2 = 0, r1, r2;
@@ -236,42 +234,6 @@ const SERVER_DATE_FROMAT = 'YYYY-MM-DD';
236
234
  const DATE_FORMAT = 'YYYY/MM/DD';
237
235
  const FORMAT_DATE = SERVER_DATE_FROMAT;
238
236
  const FORMAT_TIME = 'YYYY-MM-DD HH:mm:ss';
239
- // type IndexType = { [x: string]: any }
240
- // export function normalizeFormValues<T extends IndexType>(values: T) {
241
- // return Object.entries(values)
242
- // .filter(([key, value]) => value !== undefined && value !== 'all')
243
- // .reduce((mem: any, [key, value]) => {
244
- // // array for [moment, moment]
245
- // if (Array.isArray(value) && value.some((val) => moment.isMoment(val))) {
246
- // if (value[0]) {
247
- // mem.startDate = value[0].format(SERVER_DATE_FROMAT)
248
- // }
249
- // if (value[1]) {
250
- // mem.endDate = value[1].format(SERVER_DATE_FROMAT)
251
- // }
252
- // } else if (moment.isMoment(value)) {
253
- // mem[key] = value.format(SERVER_DATE_FROMAT)
254
- // } else mem[key] = value
255
- // return mem
256
- // }, {} as T)
257
- // }
258
- // export function normalizeSearchParams(params: IndexType) {
259
- // if (params.startDate || params.endDate) {
260
- // params = {
261
- // ...omit(params, ['startDate', 'endDate']),
262
- // dateRange: [
263
- // params.startDate && moment(params.startDate),
264
- // params.endDate && moment(params.endDate),
265
- // ],
266
- // }
267
- // }
268
- // Object.entries(params).forEach(([key, value]) => {
269
- // if (typeof value === 'string' && value.includes(',')) {
270
- // params[key] = 'all'
271
- // }
272
- // })
273
- // return params
274
- // }
275
237
  const format10k = (n) => formatCash(n / 10000);
276
238
  const format10kNil = withDefaultNil(format10k);
277
239
  // null == undefined
@@ -309,7 +271,7 @@ function digitCnUppercase(n) {
309
271
  .replace(/^整$/, '零元整'));
310
272
  }
311
273
  function formatDate(d, formatType = SERVER_DATE_FROMAT) {
312
- return moment__default(new Date(d)).format(formatType);
274
+ return dayjs__default(new Date(d)).format(formatType);
313
275
  }
314
276
  const formatDateNil = withDefaultNil(formatDate);
315
277
  const unit = {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("qs"),t=require("d3-format");function o(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var r=o(require("moment"));const s=(...e)=>{console.group("====================="),console.info(...e),console.groupEnd()},n="undefined"!=typeof window,a=e=>e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.slice,i=n?localStorage:{};let c={};const l=t.format(",.2f"),p=t.format(","),d=t.format(".2%"),u=f(l),h=f(p),m=f(d);function f(e){return t=>y(t)?w:e(t)}const x=e=>l(e/1e4),g=f(x),y=e=>null==e||""===e,w="——";function b(e,t="YYYY-MM-DD"){return r(new Date(e)).format(t)}const M=f(b),S={d:"天",m:"个月",y:"年"};function v(e){return e?`${parseInt(e,10)}${S[e.slice(-1).toLowerCase()]}`:e}const D=f(v);exports.DATE_FORMAT="YYYY/MM/DD",exports.FORMAT_DATE="YYYY-MM-DD",exports.FORMAT_TIME="YYYY-MM-DD HH:mm:ss",exports.NIL_STRING=w,exports.WS=class{constructor(e,t){this.socket=null,this.timer=null,this.ioUrl="",this.heartTime=1e4;this.ioUrl=e,this.socket=t?new WebSocket(e,t):new WebSocket(e)}init(e){const t=this;t.heartInfo=(null==e?void 0:e.heartInfo)?JSON.stringify(null==e?void 0:e.heartInfo):"ws HeartBeat!",t.socket.addEventListener("open",(()=>{s("ws connect!"),t.start(t.heartInfo),e.open&&e.open()}),!1),t.socket.addEventListener("disconnect",(()=>{console.info("[ws info]: disconnect and reconnect... "),e.disconnect&&e.disconnect(),t.socket=new WebSocket(t.ioUrl)}),!1),t.socket.addEventListener("error",(t=>{console.info("---------------"),console.info("[ws error]: "),console.info(t),console.info("---------------"),e.error&&e.error()}),!1),t.socket.addEventListener("close",e.close,!1),t.socket.addEventListener("message",(o=>{t.reset(),e.msg(o)}),!1)}close(){this.timer&&clearTimeout(this.timer),console.info("[ws close]: close!"),this.socket.close()}start(e){const t=this;t.timer=setTimeout((()=>{t.socket.send(e)}),t.heartTime)}send(e){this.socket.send(e)}reset(){const e=this;clearTimeout(e.timer),e.start(e.heartInfo)}getSocketState(){return this.socket.readyState}setHeartTime(e){this.heartTime=e,this.reset()}},exports.accAdd=(e,t)=>{let o,r,s;try{o=e.toString().split(".")[1].length}catch(n){o=0}try{r=t.toString().split(".")[1].length}catch(n){r=0}return s=Math.pow(10,Math.max(o,r)),(e*s+t*s)/s},exports.accDiv=(e,t)=>{let o,r,s=0,n=0;try{s=e.toString().split(".")[1].length}catch(a){}try{n=t.toString().split(".")[1].length}catch(a){}return o=Number(e.toString().replace(".","")),r=Number(t.toString().replace(".","")),o/r*Math.pow(10,n-s)},exports.accMul=(e,t)=>{let o=0,r=e.toString(),s=t.toString();try{o+=r.split(".")[1].length}catch(n){}try{o+=s.split(".")[1].length}catch(n){}return Number(r.replace(".",""))*Number(s.replace(".",""))/Math.pow(10,o)},exports.accSub=function(e,t){let o,r,s,n;try{o=e.toString().split(".")[1].length}catch(a){o=0}try{r=t.toString().split(".")[1].length}catch(a){r=0}return s=Math.pow(10,Math.max(o,r)),n=o>=r?o:r,((e*s-t*s)/s).toFixed(n)},exports.copyToClipboard=function(e){var t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)},exports.cutTimeFn=e=>`00‘${0===e?"00":"0"+Math.floor(e/60)}’${0===e?"00":e%60>=10?e%60:"0"+e%60}`,exports.digitCnUppercase=function(e){var t=["角","分"],o=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],r=[["元","万","亿"],["","拾","佰","仟"]],s=e<0?"欠":"";e=Math.abs(e);for(var n="",a=0;a<t.length;a++)n+=(o[Math.floor(10*e*Math.pow(10,a))%10]+t[a]).replace(/零./,"");for(n=n||"整",e=Math.floor(e),a=0;a<r[0].length&&e>0;a++){for(var i="",c=0;c<r[1].length&&e>0;c++)i=o[e%10]+r[1][c]+i,e=Math.floor(e/10);n=i.replace(/(零.)*零$/,"").replace(/^$/,"零")+r[0][a]+n}return s+n.replace(/(零.)*零元/,"元").replace(/(零.)+/g,"零").replace(/^整$/,"零元整")},exports.disableBrowserZoom=function(){document.addEventListener("keydown",(function(e){!0!==e.ctrlKey&&!0!==e.metaKey||61!==e.which&&107!==e.which&&173!==e.which&&109!==e.which&&187!==e.which&&189!==e.which||e.preventDefault()}),!1),window.addEventListener("mousewheel",(function(e){(!0===e.ctrlKey||e.metaKey)&&e.preventDefault()}),{passive:!1}),window.addEventListener("DOMMouseScroll",(function(e){(!0===e.ctrlKey||e.metaKey)&&e.preventDefault()}),{passive:!1})},exports.download=(e,t="download",o="application/octet-stream",r)=>{const s=window;let n=o,a=e;const i=document,c=i.createElement("a"),l=e=>String(e),p=s.Blob||l(c),d=t;let u=null,h=null;const m=(t,o)=>{if("download"in c)return c.href=r?e:t,c.setAttribute("download",d),c.innerHTML="downloading...",i.body.appendChild(c),setTimeout((()=>{c.click(),i.body.removeChild(c),!0===o&&setTimeout((()=>{s.URL.revokeObjectURL(c.href)}),250)}),66),!0;const n=i.createElement("iframe");i.body.appendChild(n),o||(t="data:"+t.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream")),n.src=t,setTimeout((()=>{i.body.removeChild(n)}),333)};if(String(a).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))return m(a);try{u=a instanceof p?a:new p([a],{type:n})}catch(f){}if(s.URL)m(s.URL.createObjectURL(u),!0);else{if("string"==typeof u||u.constructor===l(c))try{return m("data:"+n+";base64,"+s.btoa(u))}catch(f){return m("data:"+n+","+encodeURIComponent(u))}h=new FileReader,h.onload=function(){m(this.result)},h.readAsDataURL(u)}return!0},exports.fileReaderToBase64=e=>t=>{const o=new FileReader;o.onload=e=>{t&&t(e.target.result)},o.readAsDataURL(e)},exports.format10k=x,exports.format10kNil=g,exports.formatCash=l,exports.formatCash2=e=>(Math.floor(100*e)/100).toFixed(2),exports.formatCashInt=p,exports.formatCashIntNil=h,exports.formatCashNil=u,exports.formatDate=b,exports.formatDateNil=M,exports.formatDuration=v,exports.formatDurationNil=D,exports.formatRatio=d,exports.formatRatioNil=m,exports.getBase64=e=>new Promise(((t,o)=>{const r=new FileReader;r.readAsDataURL(e),r.onload=()=>t(r.result),r.onerror=e=>o(e)})),exports.getItem=e=>((c[e]||i.getItem(""+e))&&(c[e]=JSON.parse(i.getItem(""+e)||"null")),c[e]),exports.getQueryObject=(t=window.location.href)=>{const o=t.split("?")[1];return e.parse(o||"")},exports.getSearchParams=e=>new URLSearchParams(e),exports.getValOfArr=e=>{const t=e.length,o=e.reduce(((e,t)=>e+t),0),r=e.reduce(((e,t)=>e*t),1);return{min:Math.min.apply(null,e),max:Math.max.apply(null,e),sum:o,average:o/t,mull:r}},exports.getValueWithNil=e=>y(e)?w:e,exports.inBrowser=n,exports.isArray=e=>Array.isArray(e),exports.isBlob=a,exports.isCardNo=e=>/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/.test(e),exports.isDate=e=>e instanceof Date,exports.isEmail=e=>/^(.+)@(.+)\.(.+)$/.test(e),exports.isFile=e=>a(e)&&"string"==typeof e.name&&("object"==typeof e.lastModifiedDate||"number"==typeof e.lastModified),exports.isNil=y,exports.isNull=e=>null===e,exports.isObject=e=>e===Object(e),exports.isPhone=e=>/^[1](\d{10})$/.test(e),exports.isSMSCode=e=>e.match(/^\d{6}$/),exports.isUndefined=e=>void 0===e,exports.log=s,exports.os=()=>{if(!n)return{isTablet:!1,isPhone:!1,isAndroid:!1,isPc:!1};const e=navigator.userAgent,t=/(?:Windows Phone)/.test(e),o=/(?:SymbianOS)/.test(e)||t,r=/(?:Android)/.test(e),s=/(?:Firefox)/.test(e),a=/(?:iPad|PlayBook)/.test(e)||r&&!/(?:Mobile)/.test(e)||s&&/(?:Tablet)/.test(e),i=/(?:iPhone)/.test(e)&&!a;return{isTablet:a,isPhone:i,isAndroid:r,isPc:!i&&!r&&!o}},exports.playAudio=e=>{const t=document.querySelectorAll("audio");Array.from(t).forEach((e=>{e.pause(),e.currentTime=0})),document.querySelector(`#${e}`).play()},exports.random=(e,t)=>Math.round(Math.random()*(t-e)+e),exports.randomString=(e=32)=>{const t="ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",o=t.length;let r="";for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*o));return r},exports.removeAll=()=>(c={},i.clear()),exports.removeItem=e=>(delete c[e],i.removeItem(""+e)),exports.setItem=(e,t)=>(c[e]=t,i.setItem(""+e,JSON.stringify(t))),exports.setProxyObj=(e,t,o)=>new Proxy(e,{get:(e,o)=>(t(),Reflect.get(e,o)),set:(e,t,r)=>(o(),Reflect.set(e,t,r))}),exports.sortObj=(e,t,o="asc")=>e.sort(((e,r)=>"asc"===o?r[t]-e[t]:e[t]-r[t])),exports.sumObj=(e,t)=>e.reduce(((e,o)=>o[t]+e),0),exports.trimString=e=>e.replace(/(^\s*)|(\s*$)/g,"");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("qs"),t=require("d3-format");function o(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var r=o(require("dayjs"));const s=(...e)=>{console.group("====================="),console.info(...e),console.groupEnd()},n="undefined"!=typeof window,a=e=>e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.slice,i=n?localStorage:{};let c={};const l=t.format(",.2f"),d=t.format(","),p=t.format(".2%"),u=f(l),h=f(d),m=f(p);function f(e){return t=>g(t)?w:e(t)}const x=e=>l(e/1e4),y=f(x),g=e=>null==e||""===e,w="——";function b(e,t="YYYY-MM-DD"){return r(new Date(e)).format(t)}const M=f(b),S={d:"天",m:"个月",y:"年"};function v(e){return e?`${parseInt(e,10)}${S[e.slice(-1).toLowerCase()]}`:e}const D=f(v);exports.DATE_FORMAT="YYYY/MM/DD",exports.FORMAT_DATE="YYYY-MM-DD",exports.FORMAT_TIME="YYYY-MM-DD HH:mm:ss",exports.NIL_STRING=w,exports.WS=class{constructor(e,t){this.socket=null,this.timer=null,this.ioUrl="",this.heartTime=1e4;this.ioUrl=e,this.socket=t?new WebSocket(e,t):new WebSocket(e)}init(e){const t=this;t.heartInfo=(null==e?void 0:e.heartInfo)?JSON.stringify(null==e?void 0:e.heartInfo):"ws HeartBeat!",t.socket.addEventListener("open",(()=>{s("ws connect!"),t.start(t.heartInfo),e.open&&e.open()}),!1),t.socket.addEventListener("disconnect",(()=>{console.info("[ws info]: disconnect and reconnect... "),e.disconnect&&e.disconnect(),t.socket=new WebSocket(t.ioUrl)}),!1),t.socket.addEventListener("error",(t=>{console.info("---------------"),console.info("[ws error]: "),console.info(t),console.info("---------------"),e.error&&e.error()}),!1),t.socket.addEventListener("close",e.close,!1),t.socket.addEventListener("message",(o=>{t.reset(),e.msg(o)}),!1)}close(){this.timer&&clearTimeout(this.timer),console.info("[ws close]: close!"),this.socket.close()}start(e){const t=this;t.timer=setTimeout((()=>{t.socket.send(e)}),t.heartTime)}send(e){this.socket.send(e)}reset(){const e=this;clearTimeout(e.timer),e.start(e.heartInfo)}getSocketState(){return this.socket.readyState}setHeartTime(e){this.heartTime=e,this.reset()}},exports.accAdd=(e,t)=>{let o,r,s;try{o=e.toString().split(".")[1].length}catch(n){o=0}try{r=t.toString().split(".")[1].length}catch(n){r=0}return s=Math.pow(10,Math.max(o,r)),(e*s+t*s)/s},exports.accDiv=(e,t)=>{let o,r,s=0,n=0;try{s=e.toString().split(".")[1].length}catch(a){}try{n=t.toString().split(".")[1].length}catch(a){}return o=Number(e.toString().replace(".","")),r=Number(t.toString().replace(".","")),o/r*Math.pow(10,n-s)},exports.accMul=(e,t)=>{let o=0,r=e.toString(),s=t.toString();try{o+=r.split(".")[1].length}catch(n){}try{o+=s.split(".")[1].length}catch(n){}return Number(r.replace(".",""))*Number(s.replace(".",""))/Math.pow(10,o)},exports.accSub=function(e,t){let o,r,s,n;try{o=e.toString().split(".")[1].length}catch(a){o=0}try{r=t.toString().split(".")[1].length}catch(a){r=0}return s=Math.pow(10,Math.max(o,r)),n=o>=r?o:r,((e*s-t*s)/s).toFixed(n)},exports.copyToClipboard=function(e){var t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)},exports.cutTimeFn=e=>`00‘${0===e?"00":"0"+Math.floor(e/60)}’${0===e?"00":e%60>=10?e%60:"0"+e%60}`,exports.digitCnUppercase=function(e){var t=["角","分"],o=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],r=[["元","万","亿"],["","拾","佰","仟"]],s=e<0?"欠":"";e=Math.abs(e);for(var n="",a=0;a<t.length;a++)n+=(o[Math.floor(10*e*Math.pow(10,a))%10]+t[a]).replace(/零./,"");for(n=n||"整",e=Math.floor(e),a=0;a<r[0].length&&e>0;a++){for(var i="",c=0;c<r[1].length&&e>0;c++)i=o[e%10]+r[1][c]+i,e=Math.floor(e/10);n=i.replace(/(零.)*零$/,"").replace(/^$/,"零")+r[0][a]+n}return s+n.replace(/(零.)*零元/,"元").replace(/(零.)+/g,"零").replace(/^整$/,"零元整")},exports.disableBrowserZoom=function(){document.addEventListener("keydown",(function(e){!0!==e.ctrlKey&&!0!==e.metaKey||61!==e.which&&107!==e.which&&173!==e.which&&109!==e.which&&187!==e.which&&189!==e.which||e.preventDefault()}),!1),window.addEventListener("mousewheel",(function(e){(!0===e.ctrlKey||e.metaKey)&&e.preventDefault()}),{passive:!1}),window.addEventListener("DOMMouseScroll",(function(e){(!0===e.ctrlKey||e.metaKey)&&e.preventDefault()}),{passive:!1})},exports.download=(e,t="download",o="application/octet-stream",r)=>{const s=window;let n=o,a=e;const i=document,c=i.createElement("a"),l=e=>String(e),d=s.Blob||l(c),p=t;let u=null,h=null;const m=(t,o)=>{if("download"in c)return c.href=r?e:t,c.setAttribute("download",p),c.innerHTML="downloading...",i.body.appendChild(c),setTimeout((()=>{c.click(),i.body.removeChild(c),!0===o&&setTimeout((()=>{s.URL.revokeObjectURL(c.href)}),250)}),66),!0;const n=i.createElement("iframe");i.body.appendChild(n),o||(t="data:"+t.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream")),n.src=t,setTimeout((()=>{i.body.removeChild(n)}),333)};if(String(a).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))return m(a);try{u=a instanceof d?a:new d([a],{type:n})}catch(f){}if(s.URL)m(s.URL.createObjectURL(u),!0);else{if("string"==typeof u||u.constructor===l(c))try{return m("data:"+n+";base64,"+s.btoa(u))}catch(f){return m("data:"+n+","+encodeURIComponent(u))}h=new FileReader,h.onload=function(){m(this.result)},h.readAsDataURL(u)}return!0},exports.fileReaderToBase64=e=>t=>{const o=new FileReader;o.onload=e=>{t&&t(e.target.result)},o.readAsDataURL(e)},exports.format10k=x,exports.format10kNil=y,exports.formatCash=l,exports.formatCash2=e=>(Math.floor(100*e)/100).toFixed(2),exports.formatCashInt=d,exports.formatCashIntNil=h,exports.formatCashNil=u,exports.formatDate=b,exports.formatDateNil=M,exports.formatDuration=v,exports.formatDurationNil=D,exports.formatRatio=p,exports.formatRatioNil=m,exports.getBase64=e=>new Promise(((t,o)=>{const r=new FileReader;r.readAsDataURL(e),r.onload=()=>t(r.result),r.onerror=e=>o(e)})),exports.getItem=e=>((c[e]||i.getItem(""+e))&&(c[e]=JSON.parse(i.getItem(""+e)||"null")),c[e]),exports.getQueryObject=(t=window.location.href)=>{const o=t.split("?")[1];return e.parse(o||"")},exports.getSearchParams=e=>new URLSearchParams(e),exports.getValOfArr=e=>{const t=e.length,o=e.reduce(((e,t)=>e+t),0),r=e.reduce(((e,t)=>e*t),1);return{min:Math.min.apply(null,e),max:Math.max.apply(null,e),sum:o,average:o/t,mull:r}},exports.getValueWithNil=e=>g(e)?w:e,exports.inBrowser=n,exports.isArray=e=>Array.isArray(e),exports.isBlob=a,exports.isCardNo=e=>/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/.test(e),exports.isDate=e=>e instanceof Date,exports.isEmail=e=>/^(.+)@(.+)\.(.+)$/.test(e),exports.isFile=e=>a(e)&&"string"==typeof e.name&&("object"==typeof e.lastModifiedDate||"number"==typeof e.lastModified),exports.isNil=g,exports.isNull=e=>null===e,exports.isObject=e=>e===Object(e),exports.isPhone=e=>/^[1](\d{10})$/.test(e),exports.isSMSCode=e=>e.match(/^\d{6}$/),exports.isUndefined=e=>void 0===e,exports.log=s,exports.os=()=>{if(!n)return{isTablet:!1,isPhone:!1,isAndroid:!1,isPc:!1};const e=navigator.userAgent,t=/(?:Windows Phone)/.test(e),o=/(?:SymbianOS)/.test(e)||t,r=/(?:Android)/.test(e),s=/(?:Firefox)/.test(e),a=/(?:iPad|PlayBook)/.test(e)||r&&!/(?:Mobile)/.test(e)||s&&/(?:Tablet)/.test(e),i=/(?:iPhone)/.test(e)&&!a;return{isTablet:a,isPhone:i,isAndroid:r,isPc:!i&&!r&&!o}},exports.playAudio=e=>{const t=document.querySelectorAll("audio");Array.from(t).forEach((e=>{e.pause(),e.currentTime=0})),document.querySelector(`#${e}`).play()},exports.random=(e,t)=>Math.round(Math.random()*(t-e)+e),exports.randomString=(e=32)=>{const t="ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",o=t.length;let r="";for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*o));return r},exports.removeAll=()=>(c={},i.clear()),exports.removeItem=e=>(delete c[e],i.removeItem(""+e)),exports.setItem=(e,t)=>(c[e]=t,i.setItem(""+e,JSON.stringify(t))),exports.setProxyObj=(e,t,o)=>new Proxy(e,{get:(e,o)=>(t(),Reflect.get(e,o)),set:(e,t,r)=>(o(),Reflect.set(e,t,r))}),exports.sortObj=(e,t,o="asc")=>e.sort(((e,r)=>"asc"===o?e[t]-r[t]:r[t]-e[t])),exports.sumObj=(e,t)=>e.reduce(((e,o)=>o[t]+e),0),exports.trimString=e=>e.replace(/(^\s*)|(\s*$)/g,"");
@@ -1,6 +1,6 @@
1
1
  import { parse } from 'qs';
2
2
  import { format } from 'd3-format';
3
- import moment from 'moment';
3
+ import dayjs from 'dayjs';
4
4
 
5
5
  const log = (...rest) => {
6
6
  console.group('=====================');
@@ -28,7 +28,7 @@ const isSMSCode = (code) => {
28
28
  const random = (min, max) => Math.round(Math.random() * (max - min) + min);
29
29
  const playAudio = (mp3Id) => {
30
30
  const audioArr = document.querySelectorAll('audio');
31
- Array.from(audioArr).forEach(mp3 => {
31
+ Array.from(audioArr).forEach((mp3) => {
32
32
  mp3.pause();
33
33
  mp3.currentTime = 0;
34
34
  });
@@ -48,11 +48,11 @@ const getValOfArr = (_array) => {
48
48
  max: Math.max.apply(null, _array),
49
49
  sum,
50
50
  average: sum / len,
51
- mull
51
+ mull,
52
52
  };
53
53
  };
54
54
  const sumObj = (obj, key) => obj.reduce((prev, cur) => cur[key] + prev, 0);
55
- const sortObj = (obj, property, type = 'asc') => obj.sort((a, b) => type === 'asc' ? b[property] - a[property] : a[property] - b[property]);
55
+ const sortObj = (obj, property, type = 'asc') => obj.sort((a, b) => (type === 'asc' ? a[property] - b[property] : b[property] - a[property]));
56
56
  const isUndefined = (value) => value === undefined;
57
57
  const isNull = (value) => value === null;
58
58
  const isObject = (value) => value === Object(value);
@@ -64,8 +64,7 @@ const isBlob = (value) => value &&
64
64
  typeof value.slice === 'function';
65
65
  const isFile = (value) => isBlob(value) &&
66
66
  typeof value.name === 'string' &&
67
- (typeof value.lastModifiedDate === 'object' ||
68
- typeof value.lastModified === 'number');
67
+ (typeof value.lastModifiedDate === 'object' || typeof value.lastModified === 'number');
69
68
  const getQueryObject = (url = window.location.href) => {
70
69
  // const search = url.substring(url.lastIndexOf('?') + 1)
71
70
  // let obj: any = {}
@@ -96,7 +95,7 @@ const getBase64 = (file) => {
96
95
  const reader = new FileReader();
97
96
  reader.readAsDataURL(file);
98
97
  reader.onload = () => resolve(reader.result);
99
- reader.onerror = error => reject(error);
98
+ reader.onerror = (error) => reject(error);
100
99
  });
101
100
  };
102
101
  const os = () => {
@@ -105,7 +104,7 @@ const os = () => {
105
104
  isTablet: false,
106
105
  isPhone: false,
107
106
  isAndroid: false,
108
- isPc: false
107
+ isPc: false,
109
108
  };
110
109
  const ua = navigator.userAgent, isWindowsPhone = /(?:Windows Phone)/.test(ua), isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone, isAndroid = /(?:Android)/.test(ua), isFireFox = /(?:Firefox)/.test(ua),
111
110
  // isChrome = /(?:Chrome|CriOS)/.test(ua),
@@ -116,7 +115,7 @@ const os = () => {
116
115
  isTablet: isTablet,
117
116
  isPhone: isPhone,
118
117
  isAndroid: isAndroid,
119
- isPc: isPc
118
+ isPc: isPc,
120
119
  };
121
120
  };
122
121
  const accMul = (arg1, arg2) => {
@@ -129,8 +128,7 @@ const accMul = (arg1, arg2) => {
129
128
  m += s2.split('.')[1].length;
130
129
  }
131
130
  catch (e) { }
132
- return ((Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) /
133
- Math.pow(10, m));
131
+ return (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / Math.pow(10, m);
134
132
  };
135
133
  const accDiv = (arg1, arg2) => {
136
134
  let t1 = 0, t2 = 0, r1, r2;
@@ -228,42 +226,6 @@ const SERVER_DATE_FROMAT = 'YYYY-MM-DD';
228
226
  const DATE_FORMAT = 'YYYY/MM/DD';
229
227
  const FORMAT_DATE = SERVER_DATE_FROMAT;
230
228
  const FORMAT_TIME = 'YYYY-MM-DD HH:mm:ss';
231
- // type IndexType = { [x: string]: any }
232
- // export function normalizeFormValues<T extends IndexType>(values: T) {
233
- // return Object.entries(values)
234
- // .filter(([key, value]) => value !== undefined && value !== 'all')
235
- // .reduce((mem: any, [key, value]) => {
236
- // // array for [moment, moment]
237
- // if (Array.isArray(value) && value.some((val) => moment.isMoment(val))) {
238
- // if (value[0]) {
239
- // mem.startDate = value[0].format(SERVER_DATE_FROMAT)
240
- // }
241
- // if (value[1]) {
242
- // mem.endDate = value[1].format(SERVER_DATE_FROMAT)
243
- // }
244
- // } else if (moment.isMoment(value)) {
245
- // mem[key] = value.format(SERVER_DATE_FROMAT)
246
- // } else mem[key] = value
247
- // return mem
248
- // }, {} as T)
249
- // }
250
- // export function normalizeSearchParams(params: IndexType) {
251
- // if (params.startDate || params.endDate) {
252
- // params = {
253
- // ...omit(params, ['startDate', 'endDate']),
254
- // dateRange: [
255
- // params.startDate && moment(params.startDate),
256
- // params.endDate && moment(params.endDate),
257
- // ],
258
- // }
259
- // }
260
- // Object.entries(params).forEach(([key, value]) => {
261
- // if (typeof value === 'string' && value.includes(',')) {
262
- // params[key] = 'all'
263
- // }
264
- // })
265
- // return params
266
- // }
267
229
  const format10k = (n) => formatCash(n / 10000);
268
230
  const format10kNil = withDefaultNil(format10k);
269
231
  // null == undefined
@@ -301,7 +263,7 @@ function digitCnUppercase(n) {
301
263
  .replace(/^整$/, '零元整'));
302
264
  }
303
265
  function formatDate(d, formatType = SERVER_DATE_FROMAT) {
304
- return moment(new Date(d)).format(formatType);
266
+ return dayjs(new Date(d)).format(formatType);
305
267
  }
306
268
  const formatDateNil = withDefaultNil(formatDate);
307
269
  const unit = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lgutils",
3
- "version": "1.3.13",
3
+ "version": "1.3.24",
4
4
  "description": "lgutils",
5
5
  "main": "index.js",
6
6
  "module": "lib/lgutils.cjs.prod.js",
@@ -25,15 +25,12 @@
25
25
  "homepage": "",
26
26
  "dependencies": {
27
27
  "d3-format": "^1.4.1",
28
- "lodash": "^4.17.15",
29
- "moment": "^2.24.0",
28
+ "dayjs": "^1.11.6",
30
29
  "qs": "^6.9.1"
31
30
  },
32
31
  "devDependencies": {
33
32
  "@types/d3-format": "^1.3.1",
34
- "@types/lodash": "^4.14.144",
35
- "@types/moment": "^2.13.0",
36
33
  "@types/qs": "^6.9.0"
37
34
  },
38
- "gitHead": "a959d0e30cde5def91971ade7fc0a13640eeb8ed"
35
+ "gitHead": "a7a0145e2bafa7be492f4c26a2deb21b47d86106"
39
36
  }