lgutils 1.3.27 → 1.3.28
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 +3 -1
- package/lib/lgutils.cjs.js +7 -3
- package/lib/lgutils.cjs.prod.js +1 -1
- package/lib/lgutils.esm-bundler.js +7 -4
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -122,7 +122,7 @@ export declare const isBlob: (value: any) => any
|
|
|
122
122
|
|
|
123
123
|
export declare const isCardNo: (cardNum: any) => boolean
|
|
124
124
|
|
|
125
|
-
export declare const isDate: (value:
|
|
125
|
+
export declare const isDate: (value: string) => boolean
|
|
126
126
|
|
|
127
127
|
export declare const isEmail: (emailStr: string) => boolean
|
|
128
128
|
|
|
@@ -134,6 +134,8 @@ export declare const isNil: (val: any) => val is NIL
|
|
|
134
134
|
|
|
135
135
|
export declare const isNull: (value: any) => boolean
|
|
136
136
|
|
|
137
|
+
export declare const isNumber: (a: number | string) => boolean
|
|
138
|
+
|
|
137
139
|
export declare const isObject: (value: any) => boolean
|
|
138
140
|
|
|
139
141
|
export declare const isPhone: (phone: any) => boolean
|
package/lib/lgutils.cjs.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var qs = require('qs');
|
|
6
|
-
var d3Format = require('d3-format');
|
|
7
6
|
var dayjs = require('dayjs');
|
|
7
|
+
var d3Format = require('d3-format');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
10
10
|
|
|
@@ -19,6 +19,7 @@ const inBrowser = typeof window !== 'undefined';
|
|
|
19
19
|
const trimString = (str) => {
|
|
20
20
|
return str.replace(/(^\s*)|(\s*$)/g, '');
|
|
21
21
|
};
|
|
22
|
+
const isNumber = (a) => /^[0-9]*(.[0-9]*)?$/.test(a + '');
|
|
22
23
|
const isEmail = (emailStr) => {
|
|
23
24
|
const emailPat = /^(.+)@(.+)\.(.+)$/;
|
|
24
25
|
return emailPat.test(emailStr);
|
|
@@ -65,7 +66,7 @@ const isUndefined = (value) => value === undefined;
|
|
|
65
66
|
const isNull = (value) => value === null;
|
|
66
67
|
const isObject = (value) => value === Object(value);
|
|
67
68
|
const isArray = (value) => Array.isArray(value);
|
|
68
|
-
const isDate = (value) => value
|
|
69
|
+
const isDate = (value) => (!value ? false : dayjs__default(value).isValid());
|
|
69
70
|
const isBlob = (value) => value &&
|
|
70
71
|
typeof value.size === 'number' &&
|
|
71
72
|
typeof value.type === 'string' &&
|
|
@@ -223,7 +224,9 @@ const prefix = '';
|
|
|
223
224
|
let cache = {};
|
|
224
225
|
const getItem = (key) => {
|
|
225
226
|
if (cache[key] || storage.getItem(prefix + key)) {
|
|
226
|
-
cache[key] =
|
|
227
|
+
cache[key] = storage.getItem(prefix + key)
|
|
228
|
+
? JSON.parse(storage.getItem(prefix + key) || 'null')
|
|
229
|
+
: '';
|
|
227
230
|
}
|
|
228
231
|
return cache[key];
|
|
229
232
|
};
|
|
@@ -589,6 +592,7 @@ exports.isFile = isFile;
|
|
|
589
592
|
exports.isMinigram = isMinigram;
|
|
590
593
|
exports.isNil = isNil;
|
|
591
594
|
exports.isNull = isNull;
|
|
595
|
+
exports.isNumber = isNumber;
|
|
592
596
|
exports.isObject = isObject;
|
|
593
597
|
exports.isPhone = isPhone;
|
|
594
598
|
exports.isSMSCode = isSMSCode;
|
package/lib/lgutils.cjs.prod.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("qs"),t=require("d3-format");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("qs"),t=require("dayjs"),o=require("d3-format");function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var s=r(t);const n=(...e)=>{console.group("====================="),console.info(...e),console.groupEnd()},a="undefined"!=typeof window,i=e=>e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.slice,c=a?localStorage:{};let l={};const d=o.format(",.2f"),p=o.format(","),u=o.format(".2%"),m=x(d),h=x(p),f=x(u);function x(e){return t=>y(t)?M:e(t)}const g=e=>d(e/1e4),w=x(g),y=e=>null==e||""===e,M="——";function b(e,t="YYYY-MM-DD"){return s(new Date(e)).format(t)}const v=x(b),S={d:"天",m:"个月",y:"年"};function D(e){return e?`${parseInt(e,10)}${S[e.slice(-1).toLowerCase()]}`:e}const T=x(D);exports.DATE_FORMAT="YYYY/MM/DD",exports.FORMAT_DATE="YYYY-MM-DD",exports.FORMAT_TIME="YYYY-MM-DD HH:mm:ss",exports.NIL_STRING=M,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",(()=>{n("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,m=null;const h=(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 h(a);try{u=a instanceof d?a:new d([a],{type:n})}catch(f){}if(s.URL)h(s.URL.createObjectURL(u),!0);else{if("string"==typeof u||u.constructor===l(c))try{return h("data:"+n+";base64,"+s.btoa(u))}catch(f){return h("data:"+n+","+encodeURIComponent(u))}m=new FileReader,m.onload=function(){h(this.result)},m.readAsDataURL(u)}return!0},exports.fileReaderToBase64=e=>t=>{const o=new FileReader;o.onload=e=>{t&&t(e.target.result)},o.readAsDataURL(e)},exports.filterNil=e=>{const t={};return Object.entries(e).forEach((([e,o])=>{o&&0!==o&&(t[e]=o)})),t},exports.format10k=g,exports.format10kNil=w,exports.formatCash=d,exports.formatCash2=e=>(Math.floor(100*e)/100).toFixed(2),exports.formatCashInt=p,exports.formatCashIntNil=h,exports.formatCashNil=m,exports.formatDate=b,exports.formatDateNil=v,exports.formatDuration=D,exports.formatDurationNil=T,exports.formatRatio=u,exports.formatRatioNil=f,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=>((l[e]||c.getItem(""+e))&&(l[e]=c.getItem(""+e)?JSON.parse(c.getItem(""+e)||"null"):""),l[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)?M:e,exports.inBrowser=a,exports.isArray=e=>Array.isArray(e),exports.isBlob=i,exports.isCardNo=e=>/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/.test(e),exports.isDate=e=>!!e&&s(e).isValid(),exports.isEmail=e=>/^(.+)@(.+)\.(.+)$/.test(e),exports.isFile=e=>i(e)&&"string"==typeof e.name&&("object"==typeof e.lastModifiedDate||"number"==typeof e.lastModified),exports.isMinigram=()=>!!(null===window||void 0===window?void 0:window.__wxjs_environment),exports.isNil=y,exports.isNull=e=>null===e,exports.isNumber=e=>/^[0-9]*(.[0-9]*)?$/.test(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.isWX=()=>{const e=navigator.userAgent.toLowerCase();return/MicroMessenger/i.test(e)},exports.log=n,exports.os=()=>{if(!a)return{isTablet:!1,isPhone:!1,isAndroid:!1,isPc:!1,isIos:!1,isPad:!1};const e=navigator.userAgent,t=/(?:Windows Phone)/.test(e),o=/(?:SymbianOS)/.test(e)||t,r=/(?:Android)/.test(e),s=/(?:Firefox)/.test(e),n=/(?:iPad|PlayBook)/.test(e)||r&&!/(?:Mobile)/.test(e)||s&&/(?:Tablet)/.test(e),i=/(?:iPhone)/.test(e)&&!n,c=/(?:iPad)/.test(e)&&!n;return{isTablet:n,isPhone:i,isAndroid:r,isPc:!i&&!r&&!o,isPad:c,isIos:i||c}},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=()=>(l={},c.clear()),exports.removeItem=e=>(delete l[e],c.removeItem(""+e)),exports.setItem=(e,t)=>(l[e]=t,c.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
|
-
import { format } from 'd3-format';
|
|
3
2
|
import dayjs from 'dayjs';
|
|
3
|
+
import { format } from 'd3-format';
|
|
4
4
|
|
|
5
5
|
const log = (...rest) => {
|
|
6
6
|
console.group('=====================');
|
|
@@ -11,6 +11,7 @@ const inBrowser = typeof window !== 'undefined';
|
|
|
11
11
|
const trimString = (str) => {
|
|
12
12
|
return str.replace(/(^\s*)|(\s*$)/g, '');
|
|
13
13
|
};
|
|
14
|
+
const isNumber = (a) => /^[0-9]*(.[0-9]*)?$/.test(a + '');
|
|
14
15
|
const isEmail = (emailStr) => {
|
|
15
16
|
const emailPat = /^(.+)@(.+)\.(.+)$/;
|
|
16
17
|
return emailPat.test(emailStr);
|
|
@@ -57,7 +58,7 @@ const isUndefined = (value) => value === undefined;
|
|
|
57
58
|
const isNull = (value) => value === null;
|
|
58
59
|
const isObject = (value) => value === Object(value);
|
|
59
60
|
const isArray = (value) => Array.isArray(value);
|
|
60
|
-
const isDate = (value) => value
|
|
61
|
+
const isDate = (value) => (!value ? false : dayjs(value).isValid());
|
|
61
62
|
const isBlob = (value) => value &&
|
|
62
63
|
typeof value.size === 'number' &&
|
|
63
64
|
typeof value.type === 'string' &&
|
|
@@ -215,7 +216,9 @@ const prefix = '';
|
|
|
215
216
|
let cache = {};
|
|
216
217
|
const getItem = (key) => {
|
|
217
218
|
if (cache[key] || storage.getItem(prefix + key)) {
|
|
218
|
-
cache[key] =
|
|
219
|
+
cache[key] = storage.getItem(prefix + key)
|
|
220
|
+
? JSON.parse(storage.getItem(prefix + key) || 'null')
|
|
221
|
+
: '';
|
|
219
222
|
}
|
|
220
223
|
return cache[key];
|
|
221
224
|
};
|
|
@@ -536,4 +539,4 @@ function copyToClipboard(txt) {
|
|
|
536
539
|
document.body.removeChild(textarea);
|
|
537
540
|
}
|
|
538
541
|
|
|
539
|
-
export { DATE_FORMAT, FORMAT_DATE, FORMAT_TIME, NIL_STRING, WS, accAdd, accDiv, accMul, accSub, copyToClipboard, cutTimeFn, digitCnUppercase, disableBrowserZoom, download, fileReaderToBase64, filterNil, format10k, format10kNil, formatCash, formatCash2, formatCashInt, formatCashIntNil, formatCashNil, formatDate, formatDateNil, formatDuration, formatDurationNil, formatRatio, formatRatioNil, getBase64, getItem, getQueryObject, getSearchParams, getValOfArr, getValueWithNil, inBrowser, isArray, isBlob, isCardNo, isDate, isEmail, isFile, isMinigram, isNil, isNull, isObject, isPhone, isSMSCode, isUndefined, isWX, log, os, playAudio, random, randomString, removeAll, removeItem, setItem, setProxyObj, sortObj, sumObj, trimString };
|
|
542
|
+
export { DATE_FORMAT, FORMAT_DATE, FORMAT_TIME, NIL_STRING, WS, accAdd, accDiv, accMul, accSub, copyToClipboard, cutTimeFn, digitCnUppercase, disableBrowserZoom, download, fileReaderToBase64, filterNil, format10k, format10kNil, formatCash, formatCash2, formatCashInt, formatCashIntNil, formatCashNil, formatDate, formatDateNil, formatDuration, formatDurationNil, formatRatio, formatRatioNil, getBase64, getItem, getQueryObject, getSearchParams, getValOfArr, getValueWithNil, inBrowser, isArray, isBlob, isCardNo, isDate, isEmail, isFile, isMinigram, isNil, isNull, isNumber, isObject, isPhone, isSMSCode, isUndefined, isWX, log, os, playAudio, random, randomString, removeAll, removeItem, setItem, setProxyObj, sortObj, sumObj, trimString };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lgutils",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.28",
|
|
4
4
|
"description": "lgutils",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "lib/lgutils.cjs.prod.js",
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"@types/d3-format": "^1.3.1",
|
|
33
33
|
"@types/qs": "^6.9.0"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "5314d3c935811fceb6127237c23f63dbd3590e90"
|
|
36
36
|
}
|