@bestime/utils_base 1.0.8 → 1.0.9

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.
@@ -386,7 +386,7 @@ declare function main<T extends TKvPair, K extends TKvPair, C extends keyof T>(
386
386
  childKeyFrom?: keyof K
387
387
  ): T[];
388
388
 
389
- type EventHander = (...args: any[]) => void;
389
+ type EventHander$2 = (...args: any[]) => void;
390
390
  /**
391
391
  * 事件订阅,可获得TS类型推导支持
392
392
  * @param eventName - 订阅名
@@ -410,7 +410,7 @@ type EventHander = (...args: any[]) => void;
410
410
  * useUpdateDataBus.dispose()
411
411
  * ```
412
412
  */
413
- declare function defineEventBus<T extends EventHander>(
413
+ declare function defineEventBus<T extends EventHander$2>(
414
414
  eventName: string
415
415
  ): {
416
416
  /** 追加订阅 */
@@ -421,7 +421,7 @@ declare function defineEventBus<T extends EventHander>(
421
421
  off: (hander: T) => void;
422
422
  /** 销毁所有订阅 */
423
423
  dispose: () => void;
424
- eventList: () => EventHander[];
424
+ eventList: () => EventHander$2[];
425
425
  };
426
426
 
427
427
  /**
@@ -985,6 +985,43 @@ declare class Animate<T extends TKvPair> {
985
985
  dispose(): void;
986
986
  }
987
987
 
988
+ type EventHander$1 = (...args: any[]) => void;
989
+ /**
990
+ * 防抖函数。默认执行条件范围内最后一次
991
+ * @param handler - 处理回调
992
+ * @param interval - 频率(毫秒)
993
+ * @param options - 配置项
994
+ * @param options.leading - 立即执行
995
+ * @param options.trailing - 延后执行
996
+ * @returns
997
+ */
998
+ declare function debounce<T extends EventHander$1>(
999
+ handler: T,
1000
+ interval?: number,
1001
+ options?: {
1002
+ leading?: boolean;
1003
+ trailing?: boolean;
1004
+ }
1005
+ ): {
1006
+ (this: any, ...v: Parameters<T>): void;
1007
+ cancel(): void;
1008
+ dispose(): void;
1009
+ };
1010
+
1011
+ type EventHander = (...args: any[]) => void;
1012
+ declare function throttle<T extends EventHander>(
1013
+ handler: T,
1014
+ interval?: number,
1015
+ options?: {
1016
+ leading?: boolean;
1017
+ trailing?: boolean;
1018
+ }
1019
+ ): {
1020
+ (this: any, ...v: Parameters<T>): void;
1021
+ cancel(): void;
1022
+ dispose(): void;
1023
+ };
1024
+
988
1025
  export {
989
1026
  Animate,
990
1027
  Polling,
@@ -999,6 +1036,7 @@ export {
999
1036
  cloneEasy,
1000
1037
  _default as connectEcharts,
1001
1038
  dataPage,
1039
+ debounce,
1002
1040
  deepFindItem,
1003
1041
  deepFindTreePath,
1004
1042
  defineEventBus,
@@ -1044,6 +1082,7 @@ export {
1044
1082
  spanTable,
1045
1083
  split,
1046
1084
  thousands,
1085
+ throttle,
1047
1086
  flatArrayToTree as tree,
1048
1087
  treeLeafs,
1049
1088
  trim,
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * 纯JS工具库 => jUtilsBase
3
- * @update 2024-08-27 10:15:09
3
+ * @update 2024-09-01 00:59:30
4
4
  */
5
- var $letters=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],$ArrayTypeNameBig="Array",$ClassTypeNameBig="Class",$FunctionTypeNameBig="Function",$ObjectTypeNameBig="Object",$stringTypeNameBig="String",$numberTypeNameBig="Number",$undefinedValue=void 0,$zeroString="0",$falseString="false",$trueString="true",$ObjectTypeNameBigPrototypeToString=Object.prototype.toString,$encodeURI=encodeURI,$decodeURIComponent=decodeURIComponent,$regSpaceStr="\\s\\uFEFF\\xA0",$zeroWidthCode="‎";function isNull(e){return null===e||e===$undefinedValue}function _String(e){return isNull(e)?"":String(e)}var smallFunName=$FunctionTypeNameBig.toLowerCase();function isFunction(e){return typeof e===smallFunName}function isClass(e){return isFunction(e)&&/^class\s/.test(Function.prototype.toString.call(e))}function getType(e){return isClass(e)?$ClassTypeNameBig:$ObjectTypeNameBigPrototypeToString.call(e).slice(8,-1)}function isArray(e){return getType(e)===$ArrayTypeNameBig}function isKvPair(e){return getType(e)===$ObjectTypeNameBig}function isString(e){return getType(e)===$stringTypeNameBig}function hpJsonParse(e,n){var t;try{t=JSON.parse(e)}catch(r){t=n}return t}function _KvPair(e){return e=isKvPair(e)||isKvPair(e=hpJsonParse(e))?e:{}}function isEmpty(e){return isNull(e)||""===e}function param(e){var t=[];function i(e,n){null!=e&&""!==e&&(n=null==(n=isFunction(n)?n():n)?"":n,t[t.length]=$encodeURI(e)+"="+$encodeURI(n))}return function a(e,n){var t,r;if(e)switch(getType(n)){case $ArrayTypeNameBig:for(t=0;t<n.length;t++)a(e+"["+("object"==typeof n[t]&&n[t]?t:"")+"]",n[t]);break;case $ObjectTypeNameBig:for(r in n)a(e+"["+r+"]",n[r]);break;default:i(e,n)}else switch(getType(n)){case $stringTypeNameBig:case $ObjectTypeNameBig:for(r in n)a(r,n[r]);break;case $ArrayTypeNameBig:for(t=0;t<n.length;t++)i(n[t].name,n[t].value)}}("",e),t.join("&")}function _Array(e){return e=isArray(e)||isArray(e=hpJsonParse(e))?e:[]}function isNumber(e){return getType(e)===$numberTypeNameBig}var baseReg="["+$regSpaceStr+"]+";function trim(e,n){var t=getType(e),r=(t===$numberTypeNameBig&&(e=String(e),t=$stringTypeNameBig),"");if(t!==$stringTypeNameBig)return"";switch(n){case 1:r="^"+baseReg;break;case-1:r=baseReg+"$";break;case"*":r=baseReg;break;default:r="^"+baseReg+"|"+baseReg+"$"}return e.replace(new RegExp(r,"g"),"")}function _Number(e){var n=!1,t=0,t=isNumber(e)?e:(isString(e)&&(e=trim(e,"*").replace(/,/g,"").replace(/%$/,function(e){return n=!0,""})),Number(e));return t=Math.abs(t)===Math.abs(Infinity)||isNaN(t)?0:t,n&&(t/=100),t}function hpTryToParseStringToBasicType(e){return null==e?$undefinedValue:$falseString!==e&&($trueString===e||hpJsonParse(e,e))}var defaultSplitArr=[$undefinedValue,$undefinedValue];function handleDeepKey(e,n,t){var n=splitSymbol(n),r=n[0];isPreLikeArray(r)?(r=_Number(r),n[1]==$undefinedValue?e.push(t):(/^\[[\D]+\]/.test(n[1])?e[r]=_KvPair(e[r]):e[r]=_Array(e[r]),handleDeepKey(e[r],n[1],t))):n[1]==$undefinedValue?e[r]=t:(/^\[[\D]+\]/.test(n[1])?e[r]=_KvPair(e[r]):e[r]=_Array(e[r]),handleDeepKey(e[r],n[1],t))}function splitSymbol(e){if(e==$undefinedValue)return defaultSplitArr;var r,i=e;return e.replace(/^\[(.*?)\](.*)?/,function(e,n,t){return i=n,r=t,""}),[i,r]}function isPreLikeArray(e){return""===e||/^\d+$/.test(e)}function parseQuery(e){var a={},o=!1,t="";return(e=isNull(e)?"":e).replace(/([^=&?/#]*?)=([^=&?/#]*)/g,function(e,n,i){i=hpTryToParseStringToBasicType($decodeURIComponent(i)),t=$decodeURIComponent(n),o=!1,""!==t&&(t.replace(/(.*?)(\[.*)/,function(e,n,t){var r=splitSymbol(t);o=!0,isPreLikeArray(r[0])?a[n]=_Array(a[n]):a[n]=_KvPair(a[n]),handleDeepKey(a[n],t,i)}),o||(a[t]=i))}),a}function urlToGet(e,n){e=_String(e);var a=isKvPair(n)?n:parseQuery(n),n=parseQuery(e=e.replace(/({{)(.*?)(}})/g,function(e,n,t,r){t=trim(t);var i=a[t];return delete a[t],i})),n=param(a=Object.assign(n,a));return e=n?(e=e.replace(/\?.*/,""))+"?"+n:e}function hpIsEmptyMap(e){var n,t=!0;for(n in e)if(n!==$undefinedValue){t=!1;break}return t}function forEach(e,n){for(var t=0;t<e.length;t++)n(e[t],t,e)}function cloneEasy(n){switch(getType(n)){case $ClassTypeNameBig:t=Object.assign(Object.create(Object.getPrototypeOf(n)),n);break;case $ArrayTypeNameBig:for(var t=[],e=0;e<n.length;e++)t.push(cloneEasy(n[e]));break;case $ObjectTypeNameBig:t={},forEach(Object.keys(n),function(e){t[e]=cloneEasy(n[e])});break;case $FunctionTypeNameBig:function r(){n.apply(this,arguments)}for(var i in n.prototype)r.prototype[i]=n.prototype[i];t=r;break;default:t=n}return t}function isNoData(e,n){var t=!1;return t=isArray(e)&&n.array&&0===e.length||isKvPair(e)&&n.kvPair&&hpIsEmptyMap(e)||isString(e)&&n.string&&""===e||isNull(e)?!0:t}function hander(e,n){if(isKvPair(e))for(var t in e){var r=e[t];(isArray(r)||isKvPair(r))&&hander(r,n),isNoData(r,n)&&delete e[t]}}function shake(e,n){n=Object.assign({string:!0,array:!0,kvPair:!0},n);return hander(e=cloneEasy(e),n),e}function variableHasValue(e,n,t){var r;t=null==t?60:t,e()?n():(clearTimeout(r),setTimeout(function(){variableHasValue(e,n,t)},t))}variableHasValue["async"]=function(n,t){return new Promise(function(e){variableHasValue(n,e,t)})};var DEFAULT_CONFIG={id:"id",children:"children"};function deepFindTreePath(e,n,t){t=Object.assign(DEFAULT_CONFIG,t);for(var r=[],i=cloneEasy(e),a=new Set,o=t["children"];i.length;){var u=i[0];if(a.has(u))r.pop(),i.shift();else if(a.add(u),u[o]&&i.unshift.apply(i,u[o]),r.push(u),n(u))return r}return undefined}var regStr=/(-|\+)?((\d+)|((\d,?)+\d+))(\.?\d+)?%?/.toString().replace(/(^\/)|(\/$)/g,"");function getLikeNumberRegExp(){return regStr}function isLikeNumber(e){e=trim(e);return new RegExp("^"+regStr+"$").test(e)}function repeatString(e,n){var t="";if((e=_String(e)).length*n<1<<28)for(;1==(1&n)&&(t+=e),0!=(n>>>=1);)e+=e;return t}function hpPadString(e,n,t,r){return(e=_String(e)).length>(n>>=0)?e:(n-=e.length,t.length<n&&(t+=repeatString(t,n/t.length)),-1===r?t.slice(0,n)+e:e+t.slice(0,n))}function padStart(e,n,t){return hpPadString(e,n,t,-1)}function padEnd(e,n,t){return hpPadString(e,n,t,1)}function split(e,n){return""!==e?e.split(n):[]}function floorFixed(e,n,t){var e=split(e=trim(_Number(e)),"."),r=e[1]||"";return r.length<n&&(r=padEnd(r,n,$zeroString),t&&(r=r.replace(/0+$/,""))),n<1||!r?e[0]:e[0]+"."+r.substring(0,n)}function roundFixed(e,n,t){e=_Number(e);var r,i=Math.pow(10,n),e=_String(Math.round(e*i)/i);return 0<n&&(r=(i=split(e,"."))[0],(i=i[1]||"").length<n&&(i=padEnd(i,n,$zeroString),e=(i=t?i.replace(/0+$/,""):i)?r+"."+i:r)),e}function deepFindItem(e,t,n){var r,i,a=isNull(n)?"children":n;return function o(e){if(e)for(var n=0;n<e.length;n++){if(i=t(e[n])){r=e[n];break}if(o(e[n][a]),i)break}}(e),r}function flatArrayToTree(e,n){for(var t=(n=_KvPair(n)).id||"id",r=n.pid||"pid",i=n.children||"children",a=0;a<e.length;a++){var o,u=e[a];(o=deepFindItem(e,function(e){return null!=e[t]&&e[t]!=u[t]&&e[t]===u[r]},i))&&(o[i]=_Array(o[i]),o[i].push(u),e.splice(a--,1))}return e}function changeIndex(e,n,t){if(e<0)return n;e+=1;return(n=(n+t)%e)<0&&(n+=e),-0===n?0:n}function getRandom(e,n,t){t=!1===t?0:1;return e=Math.random()*(n-e+t)+e,t?Math.floor(e):e}function getRandomWord(){return $letters[getRandom(0,$letters.length-1)][0]}function uuid(e){e=_Number(e);for(var n="",t=0;t<13;t++)n+=getRandom(1,9);e=(new Date).getTime()*getRandom(1,100);return padEnd(getRandomWord()+Number(n).toString(32)+e.toString(32),20,getRandomWord()+getRandomWord()+getRandomWord())}function _Boolean(e){return!0===e||"true"===e||"1"===e||1===e}function main(e,i,a,o){o=o||"children";var n=[];return function u(e,n){for(var t=0;t<e.length;t++){var r=a(e[t]);isNull(r)||(n[t]=cloneEasy(r),e[t][o]&&(n[t][i]=[],u(e[t][o],n[t][i])))}}(e,n),n}var events={};function defineEventBus(i){if(events[i])throw'"'+i+'" Has already been registered!';return events[i]=events[i]||[],{on:function(e){events[i].push(e)},emit:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];for(var r=0;r<events[i].length;r++)events[i][r].apply($undefinedValue,n)},off:function(e){if(!e)throw"the hander of off is required!";for(var n=0;n<events[i].length;n++)events[i][n]===e&&events[i].splice(n--,1)},dispose:function(){for(var e=0;e<events[i].length;e++)events[i].splice(e--,1);delete events[i]},eventList:function(){return events[i]}}}function forEachTree(e,i,a){a=a||"children",function o(e,n){for(var t=0;t<e.length;t++){var r=cloneEasy(n);i(e[t],r),isArray(e[t][a])&&(r.push(e[t]),o(e[t][a],r))}}(e,[])}function randomColor(){return"rgba("+getRandom(0,255,!0)+","+getRandom(0,255,!0)+","+getRandom(0,255,!0)+",1)"}function emptyFunc(e,n){}var Polling=function(){function e(e){this._timer=void 0,this._timer_info=void 0,this._stamp=0,this._passStamp=0,this._option=void 0,this._option=Object.assign({timeout:6e3,interval:1e3,handler:emptyFunc},e),this._next=this._next.bind(this),this._doOnce=this._doOnce.bind(this),this.done=this.done.bind(this)}var n=e.prototype;return n._next=function(){return clearInterval(this._timer),this._passStamp=+new Date-this._stamp,this._timer=setTimeout(this._doOnce,this._option.interval),this},n._doOnce=function(){if(this._passStamp>=this._option.timeout)return this._option.onMessage&&this._option.onMessage(0),this.done(),this;this._option.handler(this._next,this.done)},n.start=function(){var e,n=this;this._stamp=+new Date,this.done(),this._doOnce();return this._option.onMessage&&(clearInterval(this._timer_info),this._timer_info=setInterval(function(){e=+new Date-n._stamp,0===(e=Math.max(n._option.timeout-e,0))&&n.done(),n._option.onMessage(e)},100)),this},n.done=function(){return clearTimeout(this._timer),clearTimeout(this._timer_info),this},n.dispose=function(){return this.done(),this},e}();function dataPage(e,n,t){if(t<1)throw"页码必须大于0";var r=(t-1)*n,i=r+n;return{current:t,total:e.length,size:n,pages:Math.ceil(e.length/n),data:cloneEasy(e.slice(r,i))}}function basicCheck(e,n,t,r){if(e="【"+e+"】",t&&isEmpty(n))throw"字段"+e+"不能为空";if(getType(n)!==r)switch(r){case"String":n=String(n);break;case"Number":if(!isLikeNumber(n))throw"字段"+e+"必须为数字";n=Number(n)}return n}var fieldCheck={number:function(e,n){return basicCheck(e,n,!(2<arguments.length&&arguments[2]!==undefined)||arguments[2],"Number")},string:function(e,n){return basicCheck(e,n,2<arguments.length&&arguments[2]!==undefined&&arguments[2],"String")}};function uniq(e){return Array.from(new Set(e))}var defaultSortFun=function(e,n){return Number(e)-Number(n)},_names_count=0,_namesMap={};function getIdMap(e){return _namesMap[e]||(_namesMap[e]={id:++_names_count,label:e}),_namesMap[e]}function createUniqIds(e,n){var t=[],r=[];return e.forEach(function(e){e=getIdMap(n[e]);t.push(e.id),r.push(e.label)}),{id:t.join("_"),label:r.join("→")}}function arrayRowToColumn(e,i){var n,t=[],a=(e.forEach(function(e){e=String(e[i.colField]);t.includes(e)||t.push(e)}),t.sort(null!=(r=i.colSort)?r:defaultSortFun),{}),f=(e.forEach(function(n){var e=createUniqIds(i.uniqueRowId,n),t={},r=(i.uniqueRowId.forEach(function(e){t[e]=n[e]}),a[e.id]=a[e.id]||{value:t,name:e.label,data:{}},i.colCreate(n[i.colField]).field);a[e.id].data[r]=a[e.id].data[r]||[],a[e.id].data[r].push(n)}),[]);for(n in a)f.push({name:a[n].name,value:a[n].value,data:a[n].data,summary:{}});var r=t.map(function(e){var n=i.colCreate(e);return{value:e,label:n.label,field:n.field}}),d={};return i.summaryConfig&&(i.summaryConfig.row&&(f=mergeRowSummary(f,i.summaryConfig.row,i.summaryConfig.averageField)),i.summaryConfig.column&&(d=mergeColSummary(f,i.summaryConfig.column,i.summaryConfig.averageField))),{columns:r,data:f,colSummary:d,getExtRow:function(n,e,t){var r,i=f.find(function(e){return e.name===n}),a={};if(!i){var o=e,u=t,c=d[n],s={};if(c)for(var l in c)s[l]=u(c[l][o]);return s}for(r in i.summary)a[r]=t(i.summary[r][e]);return a}}}function getZengzhngl(e,n){return e===$undefinedValue||n===$undefinedValue?$undefinedValue:(n-e)/Math.abs(e)}function mergeRowSummary(i,a,n){return i.forEach(function(c){var s=a[c.name];if(s){var l,e,f=0,d=0;for(e in c.data)!function(e){d++;var n,t=[],r=0,i=[],a=[],o=(c.data[e].forEach(function(e){isNumber(s.count)||t.push(e[s.count.field]);var n=_Number(e[s.value.field]);switch(s.value.mode){case"uniqLength":i.push(e[s.value.field]),i=uniq(i),r=i.length;break;case"sum":case"avg":r+=n}0!==n&&a.push(n)}),0);if(isNumber(s.count))o=s.count;else switch(s.count.mode){case"length":o=t.length;break;case"uniqLength":o=uniq(t).length;break;case"notZeroValue":o=a.length}var u=r;"avg"===s.value.mode&&(u=r/o),f+=u,c.summary[e]={value:u,proportion:0,riseRatio:l?getZengzhngl(null==(n=c.summary[l])?void 0:n.value,u):void 0},l=e}(e);c.summary[n]={value:f/d,riseRatio:$undefinedValue,proportion:0}}}),i.forEach(function(e){var n=a[e.name];if(n){var t=i.find(function(e){return e.name===n.proportionBaseField});if(n.proportionBaseField&&t)for(var r in e.summary)e.summary[r].proportion=e.summary[r].value/t.summary[r].value}}),i}function mergeColSummary(s,l,f){var e,d={},m={},n=function(i){m[i]={},d[i]={};var e,a=l[i],n=(s.forEach(function(r){for(var e in r.data)!function(e){d[i][e]=d[i][e]||{data:[],sum:0};var n=[],t=0;switch(r.data[e].forEach(function(e){switch(n.push(e[a.field]),a.mode){case"uniqLength":n=uniq(n);break;case"avg":case"sum":t+=e[a.field];break;case"notZeroLength":0!==_Number(e[a.field])&&t++}}),a.mode){case"uniqLength":n=uniq(n);break;case"avg":t/=r.data[e].length}d[i][e].data=d[i][e].data.concat(n),d[i][e].sum+=t}(e)}),void 0);for(e in d[i]){var t,r=0;switch(a.mode){case"avg":r=d[i][e].sum/s.length;break;case"uniqLength":r=uniq(d[i][e].data).length;break;case"notZeroLength":case"sum":r=d[i][e].sum}m[i][e]={value:r,proportion:0,riseRatio:n?getZengzhngl(null==(t=m[i][n])?void 0:t.value,r):void 0},n=e}var o,u=0,c=0;for(o in m[i])u+=m[i][o].value,c++;m[i][f]={value:u/c,riseRatio:$undefinedValue,proportion:0}};for(e in l)n(e);return m}function sameRowCellCount(e,n,t,r){var i=1;for(e++;e<r.length;e++){var a=r[e][n];if(a!==t&&!isEmpty(a))break;i++}return i}function findPrevRowSpanNum(e,n,t){for(var r=0;0<=n&&!(0<(r=e[n].$rowSpan[t]));n--);return r}function sameColSellCount(e,n,t,r){var i=1;for(e++;e<r.length;e++){var a=trim(t[r[e]]);if(a!==n&&!isEmpty(a))break;i++}return i}function spanTable(e,u){var c=cloneEasy(e),s={};return u.forEach(function(e,n){var i,a,o;i=e,a=u[n-1],o=0,c.forEach(function(e,n){e.$rowSpan=null!=(r=e.$rowSpan)?r:{};var t,r=e[i];s[i]=null!=(t=s[i])?t:0,1<s[i]?(e.$rowSpan[i]=0,s[i]--):(t=sameRowCellCount(n,i,r,c),void 0!==a&&(r=findPrevRowSpanNum(c,n,a),0<o?r<=o+t?(t=r-o,o=0):o+=t:t<r?o=t:t=r),s[i]=t,e.$rowSpan[i]=s[i])})}),c.forEach(function(r){r.$colField={};var i=0;u.forEach(function(e,n){var t=r[e];1<i?(r.$colField[e]=0,i--):(i=sameColSellCount(n,t,r,u),r.$colField[e]=i)})}),c}function thousands(e,i,a){return i=i||3,a=a||",",(isString(e)?e:_String(e)).replace(/([^.]*)?(\.)?(.*)?/,function(e,n,t,r){return _String(n).replace(new RegExp("(.(?=(.{"+i+"})+$))","g"),"$1"+a)+_String(t)+_String(r)})}function mapKvPair(e,n){var t,r={};for(t in e)r[t]=n(cloneEasy(e[t]),t);return r}function isFuzzyMatch(e,n,t){var r=!0;return(e=trim(e,"*"))&&(e=split(e,"").join(".*"),r=new RegExp(e,_String(t)).test(n)),r}function mixInZeroWidthUnicode(e){return split(e,"").join($zeroWidthCode)}function forEachKvPair(e,n){var t,r={},i=-1;for(t in e)i++,r[t]=n(e[t],t,i);return r}function getSortList(e){return e.map(function(e,n){return{value:e,index:n}})}function getSortIndex(e,t){var n=getSortList(e),r=getSortList(e);return r.sort(function(e,n){return t(e.value,n.value)}),n.map(function(n){return r.findIndex(function(e){return n.index===e.index})})}function sortWithIndex(e,n){for(var t=[],r=0;r<e.length;r++)t[r]=e[n[r]];return t}function getRatio(e,n){return 0===e||isNull(e)?0:0===n||isNull(n)?1:e/n}function difference(e,t,r){var i=[];return e.forEach(function(n){t.some(function(e){return r(e,n)})||i.push(n)}),t.forEach(function(n){e.some(function(e){return r(e,n)})||i.some(function(e){return r(e,n)})||i.push(n)}),i}function defualtFormatter(e,n,t){return isNull(n)?e:(e=n,t?t(e):e)}function hpObjectKeys(e){return Object.keys(e)}var AVG_FIELD="sys-row-avg";function getUniqId(e,n){var t=[];return isArray(e)?e.forEach(function(e){t.push(n[e])}):t.push(n[e]),t.join("→")}function _rowToColumn(e,n){var u={},t=n.colField;if(!isNull(t)&&e.length){var i=n.cellSummary;if(e.forEach(function(e){var n=e[t];u[n]=u[n]||{data:[],summary:0,_collect:[]},u[n].data.push(e),i&&(e=e[i.numerator[0]],u[n].summary+=e,u[n]._collect.push(e))}),!isNull(i)){var r,a,o;for(r in u)!function(e){var n=u[e],t=1,r=i.denominator;if(r)if(isNumber(r))t=r;else switch(r[1]){case"length":t=n.data.map(function(e){return e[r[0]]}).length;break;case"uniqLength":t=uniq(n.data.map(function(e){return e[r[0]]})).length}switch(i.numerator[1]){case"sum":isNull(n.summary)||(n.summary=n.summary/t);break;case"length":n.summary=n._collect.length/t;break;case"uniqLength":n.summary=uniq(n._collect).length/t}}(r);o=a=0,forEachKvPair(u,function(e){a++;e=isNull(e.summary)?0:e.summary;o+=e}),u[AVG_FIELD]={data:[],summary:o/a,_collect:[]},n.colCustom&&forEachKvPair(n.colCustom,function(e,n){var t=c(e.numerator),e=e.denominator?c(e.denominator):1;u[n]={data:[],summary:getRatio(t,e),_collect:[]}})}}return u;function c(a){var o=0,e=hpObjectKeys(u).filter(function(e){var n=[AVG_FIELD].includes(e),e="*"===a[1]||a[1].includes(e);return!n&&e});return isArray(a[1])&&e.sort(function(e,n){return a[1].indexOf(e)-a[1].indexOf(n)}),e.forEach(function(e,n){var t,r,e=u[e],i=0;isNull(a[2])||"value"===a[2]?i=isNull(e.summary)?0:e.summary:"length"===a[2]?(t=a[3])&&(i=e.data.map(function(e){return e[t]}).length):"uniqLength"===a[2]&&(r=a[3])&&(i=uniq(e.data.map(function(e){return e[r]})).length),"sum"===a[0]?o+=i:"max"===a[0]?o=Math.max(o,i):"diff"===a[0]&&(0===n?o=i:o-=i)}),o}}function _groupToList(e,n,t,r){var i,a=[];for(i in e){var o=n===t,u=_groupToList(e[i].child,n,t+1,r);a.push({uidPath:e[i].uidPath,uid:e[i].uid,data:e[i].data,_columnRiseRatio:{},_columnTotal:{},_columnProportion:{},_columns:_rowToColumn(e[i].data,r),isLeaf:o,children:u})}return a}function deepGroup(e,u){var n={},c=0;!function l(e,n,t){for(var r=0;r<n.length;r++){var i=n[r],a=getUniqId(u.path[c].field,i);e[a]=e[a]||{uidPath:t.concat(a),uid:a,data:[],child:{}},e[a].data.push(i)}if(c<u.path.length-1)for(var o in c++,e)l(e[o].child,e[o].data,e[o].uidPath)}(n,e,[]);var e=_groupToList(n,c,0,u),r=(!function i(e,n){var t;e.sort(null==(t=u.path[n])?void 0:t.sort),e.forEach(function(e){i(e.children,n+1)})}(e,0),!function a(e){e.forEach(function(e){var t={};forEachKvPair(e._columns,function(e,n){e=isNull(e.summary)?0:e.summary;t[n]=t[n]||0,t[n]+=e}),e._columnTotal=t,a(e.children)})}(e),{}),s=(e.forEach(function(t){forEachKvPair(t._columns,function(e,n){r[n]=r[n]||0,r[n]+=t._columnTotal[n]})}),[]);return u.colCustom&&forEachKvPair(u.colCustom,function(e,n){e.riseRatio||s.push(n)}),function t(e){var a={},o={};e.forEach(function(e,i){forEachKvPair(e._columns,function(e,n){var t,r;s.includes(n)||(0<i?isNull(t=e.summary)?o[n]=$undefinedValue:(r=null!=(r=a[n])?r:0,o[n]=getRatio(t-r,r)):o[n]=void 0,a[n]=e.summary)}),e._columnRiseRatio=o,t(e.children)})}(e),function o(e,r){e.forEach(function(e,n){var t={};forEachKvPair(e._columns,function(e,n){t[n]=getRatio(e.summary,r[n])}),e._columnProportion=t,o(e.children,e._columnTotal)})}(e,r),{data:e,total:r}}function listGroup(e,n){var l=deepGroup(e,n);function a(e,n,t,r,i){var a=deepFindItem(l.data,function(e){return 0===difference(e.uidPath,n,function(e,n){return e===n}).length}),o=defualtFormatter("",i);if(a)try{switch(e){case"_columnRiseRatio":case"_columnTotal":case"_columnProportion":var u=a[e][t];return isNull(u)?o:r(u);default:var c=a[e][t].summary;return isNull(c)?o:r(c,a[e][t].data)}}catch(s){return o}return o}function o(e,n,t,r){return a("_columns",e,n,t,r)}function u(e,n,t,r){return a("_columnProportion",e,n,t,r)}return{data:l.data,getCellValue:o,getCellVerticalRiseRatio:function(e,n,t,r){return a("_columnRiseRatio",e,n,t,r)},getCellVerticalTotal:function(e,n,t,r){var i;return"*"===e?isNull(i=l.total[n])?defualtFormatter("",r):t(i):a("_columnTotal",e,n,t,r)},getCellVerticalProportion:u,getRowCellValue:function(n,e,t,r){var i={};return e.forEach(function(e){i[e.id]=o(n,e.field,t,r)}),i},getRowVerticalProportion:function(n,e,t,r){var i={};return e.forEach(function(e){i[e.id]=u(n,e.field,t,r)}),i},getOriginGroupData:function(n,e){var t=deepFindItem(l.data,function(e){return 0===difference(e.uidPath,n,function(e,n){return e===n}).length});return t&&null!=(t=null==(e=t._columns[e])?void 0:e.data)?t:[]},getOriginAllData:function(){return e}}}function union(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];var r=new Set(n);return Array.from(r)}function isLick0(e){return isNull(e)||0===e}function getRiseRatio(e,n){return isLick0(e)&&isLick0(n)?0:isLick0(e)?1:isLick0(n)?-1:(n-e)/e}function filterWithMove(e,n){for(var t=[],r=0;r<e.length;r++){var i=e[r];n(i,r,e)&&(t.push(i),e.splice(r--,1))}return t}var defaUnits=[[1e4,"万"],[1e8,"亿"]];function shortNumber(e,n,t){for(var r=isNull(t)?defaUnits:t,i=(r.sort(function(e,n){return n[0]-e[0]}),e),a="",o=0;o<r.length;o++){var u=r[o],c=e/u[0];if(1<=Math.abs(c)){i=c,a=u[1];break}}return{value:i,fmtValue:n(i),unit:a}}function zeroWidthNum(e,n){return padStart(e,n,"0")}function formatTime(e){var e=new Date(e),n=e.getFullYear(),t=e.getMonth()+1,r=e.getDate(),i=e.getHours(),a=e.getMinutes(),o=e.getSeconds(),e=e.getMilliseconds();return zeroWidthNum(n,4)+"/"+zeroWidthNum(t,2)+"/"+zeroWidthNum(r,2)+" "+zeroWidthNum(i,2)+":"+zeroWidthNum(a,2)+":"+zeroWidthNum(o,2)+":"+zeroWidthNum(e,3)}function countCol(e){var n=0;return isArray(e.children)?e.children.forEach(function(e){n+=countCol(e)}):n=1,n}function deepParseInfo(e){return main(e,"children",function(e){return{field:e.field,title:e.title,count:countCol(e)}})}function createHeaderRowData(e,i,a,o){return i[a]||(i[a]=[]),o-=1,e.forEach(function(e){var n=o+1,t=(o=n+e.count-1)-n+1,t={colStart:n,colEnd:o,colSpan:t,count:e.count,field:e.field,title:e.title,rowSpan:1};i[a][n]=t;for(var r=1;r<e.count;r++)i[a][n+r]=void 0;isArray(e.children)&&0<e.children.length&&createHeaderRowData(e.children,i,a+1,n)}),i.forEach(function(e){for(var n=0;n<i[0].length;n++)e[n]||(e[n]=void 0)}),i}function getColumnFields(e){for(var t=[],n=e.length-1;0<=n;n--)e[n].forEach(function(e,n){e&&e.field&&isNull(t[n])&&(t[n]=e.field)});return t}function setRowSpan(i){i.forEach(function(e,t){e.forEach(function(e,n){e&&(e.rowSpan=function(e,n){for(var t,r=0;e<i.length&&(null==i||null==(t=i[e])||!t[n]);e++)r++;return r}(t+1,n)+1)})})}function parseTreeToTableHeader(e){e=createHeaderRowData(deepParseInfo(e),[],0,0);return setRowSpan(e),{columns:getColumnFields(e),data:e}}var ConnectEcharts=function(){function e(){this._list={}}var n=e.prototype;return n._resetGroupClickXAxisCategory=function(i){i.forEach(function(n){clearTimeout(n.timer_01),n.instence.off("click",n.onAxxisSeriesClick),n.instence.off("click",n.onAxxisCategoryClick),n.onAxxisCategoryClick=function(e){var t=e.tickIndex,r=!1!==e.needEmit;clearTimeout(n.timer_01),n.timer_01=setTimeout(function(){i.forEach(function(e){var n=cloneEasy(e.instence.getOption());isArray(n.xAxis)&&n.xAxis.length&&r&&e.config&&e.config.onXAxisCtegoryClick&&(n=n.xAxis,e.config.onXAxisCtegoryClick(n.map(function(e){return e.data}),t,e.instence))})},30)},n.onAxxisSeriesClick=function(e){"markLine"!==e.componentType&&null!=n&&n.onAxxisCategoryClick&&n.onAxxisCategoryClick({tickIndex:e.dataIndex})},n.instence.on("click","series",n.onAxxisSeriesClick),n.instence.on("click","xAxis.category",n.onAxxisCategoryClick)})},n.clickXAsisCategory=function(e,n,t){var r,i=!0!==t;for(r in this._list)for(var a=0;a<this._list[r].length;a++){var o=this._list[r][a];o.instence===e&&o.onAxxisCategoryClick&&o.onAxxisCategoryClick({tickIndex:n,needEmit:i})}},n.add=function(e,n){var t=e.group;return t&&(this._list[t]=this._list[t]||[],this._list[t].push({config:n,instence:e,timer_01:-1}),this._resetGroupClickXAxisCategory(this._list[t])),this},n.remove=function(e){if(e)for(var n in this._list)for(var t=0;t<this._list[n].length;t++){var r=this._list[n][t];clearTimeout(r.timer_01),r.instence===e&&(r.instence.off("click",r.onAxxisCategoryClick),this._list[n].splice(t--,1))}},e}(),connectEcharts=new ConnectEcharts;function getPiecesWithIndex(e,r){var i=[];return forEach(e,function(n,e){var t=r.find(function(e){return n>=e.min&&n<e.max});t&&i.push({gte:e,lt:e+1,color:t.color})}),i}function deepFunc(e,n){forEach(e,function(e){isArray(e.children)?deepFunc(e.children,n):n.push(e)})}function treeLeafs(e){var n=[];return deepFunc(e,n),n}var Animate=function(){function e(e){this._timer=void 0,this._passTime=0,this._options=void 0,this._middleData=void 0,this._options=e,this._middleData=cloneEasy(e.to)}var n=e.prototype;return n.start=function(){var n=this,{from:t,to:r,easing:c,duration:s,onChange:i}=this._options,a=(new Date).getTime()-this._passTime;return clearInterval(this._timer),this._timer=setInterval(function(){var o=Math.min((new Date).getTime()-a,s),e=(!function u(r,i,a){function e(e){var n,t;isNumber(i[e])||isNumber(a[e])?(n=_Number(i[e]),t=_Number(a[e]),r[e]=c(o,n,t-n,s)):(isArray(i[e])||isKvPair(i[e]))&&u(r[e],i[e],a[e])}if(isArray(i))for(var n=0;n<i.length;n++)e(n);else if(isKvPair(i))for(var t in r)e(t)}(n._middleData,t,r),o/s);1==e&&(clearInterval(n._timer),o=0),n._passTime=o,i(n._middleData,e)},17),this},n.stop=function(){return clearInterval(this._timer),this},n.dispose=function(){this.stop()},e}();export{Animate,Polling,_Array,_Boolean,_KvPair,_Number,_String,arrayRowToColumn,changeIndex,cloneEasy,connectEcharts,dataPage,deepFindItem,deepFindTreePath,defineEventBus,defualtFormatter,difference,fieldCheck,filterWithMove,floorFixed,forEach,forEachKvPair,forEachTree,formatTime,getLikeNumberRegExp,getPiecesWithIndex,getRandom,getRatio,getRiseRatio,getSortIndex,getType,isArray,isEmpty,isFunction,isFuzzyMatch,isKvPair,isLikeNumber,isNull,isString,listGroup,mapKvPair,main as mapTree,mixInZeroWidthUnicode,padEnd,padStart,param,parseQuery,parseTreeToTableHeader,randomColor,repeatString,roundFixed,shake,shortNumber,sortWithIndex,spanTable,split,thousands,flatArrayToTree as tree,treeLeafs,trim,union,urlToGet,uuid,variableHasValue};
5
+ var $letters=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],$ArrayTypeNameBig="Array",$ClassTypeNameBig="Class",$FunctionTypeNameBig="Function",$ObjectTypeNameBig="Object",$stringTypeNameBig="String",$numberTypeNameBig="Number",$undefinedValue=void 0,$zeroString="0",$falseString="false",$trueString="true",$ObjectTypeNameBigPrototypeToString=Object.prototype.toString,$encodeURI=encodeURI,$decodeURIComponent=decodeURIComponent,$regSpaceStr="\\s\\uFEFF\\xA0",$zeroWidthCode="‎";function isNull(e){return null===e||e===$undefinedValue}function _String(e){return isNull(e)?"":String(e)}var smallFunName=$FunctionTypeNameBig.toLowerCase();function isFunction(e){return typeof e===smallFunName}function isClass(e){return isFunction(e)&&/^class\s/.test(Function.prototype.toString.call(e))}function getType(e){return isClass(e)?$ClassTypeNameBig:$ObjectTypeNameBigPrototypeToString.call(e).slice(8,-1)}function isArray(e){return getType(e)===$ArrayTypeNameBig}function isKvPair(e){return getType(e)===$ObjectTypeNameBig}function isString(e){return getType(e)===$stringTypeNameBig}function hpJsonParse(e,n){var t;try{t=JSON.parse(e)}catch(r){t=n}return t}function _KvPair(e){return e=isKvPair(e)||isKvPair(e=hpJsonParse(e))?e:{}}function isEmpty(e){return isNull(e)||""===e}function param(e){var t=[];function i(e,n){null!=e&&""!==e&&(n=null==(n=isFunction(n)?n():n)?"":n,t[t.length]=$encodeURI(e)+"="+$encodeURI(n))}return function a(e,n){var t,r;if(e)switch(getType(n)){case $ArrayTypeNameBig:for(t=0;t<n.length;t++)a(e+"["+("object"==typeof n[t]&&n[t]?t:"")+"]",n[t]);break;case $ObjectTypeNameBig:for(r in n)a(e+"["+r+"]",n[r]);break;default:i(e,n)}else switch(getType(n)){case $stringTypeNameBig:case $ObjectTypeNameBig:for(r in n)a(r,n[r]);break;case $ArrayTypeNameBig:for(t=0;t<n.length;t++)i(n[t].name,n[t].value)}}("",e),t.join("&")}function _Array(e){return e=isArray(e)||isArray(e=hpJsonParse(e))?e:[]}function isNumber(e){return getType(e)===$numberTypeNameBig}var baseReg="["+$regSpaceStr+"]+";function trim(e,n){var t=getType(e),r=(t===$numberTypeNameBig&&(e=String(e),t=$stringTypeNameBig),"");if(t!==$stringTypeNameBig)return"";switch(n){case 1:r="^"+baseReg;break;case-1:r=baseReg+"$";break;case"*":r=baseReg;break;default:r="^"+baseReg+"|"+baseReg+"$"}return e.replace(new RegExp(r,"g"),"")}function _Number(e){var n=!1,t=0,t=isNumber(e)?e:(isString(e)&&(e=trim(e,"*").replace(/,/g,"").replace(/%$/,function(e){return n=!0,""})),Number(e));return t=Math.abs(t)===Math.abs(Infinity)||isNaN(t)?0:t,n&&(t/=100),t}function hpTryToParseStringToBasicType(e){return null==e?$undefinedValue:$falseString!==e&&($trueString===e||hpJsonParse(e,e))}var defaultSplitArr=[$undefinedValue,$undefinedValue];function handleDeepKey(e,n,t){var n=splitSymbol(n),r=n[0];isPreLikeArray(r)?(r=_Number(r),n[1]==$undefinedValue?e.push(t):(/^\[[\D]+\]/.test(n[1])?e[r]=_KvPair(e[r]):e[r]=_Array(e[r]),handleDeepKey(e[r],n[1],t))):n[1]==$undefinedValue?e[r]=t:(/^\[[\D]+\]/.test(n[1])?e[r]=_KvPair(e[r]):e[r]=_Array(e[r]),handleDeepKey(e[r],n[1],t))}function splitSymbol(e){if(e==$undefinedValue)return defaultSplitArr;var r,i=e;return e.replace(/^\[(.*?)\](.*)?/,function(e,n,t){return i=n,r=t,""}),[i,r]}function isPreLikeArray(e){return""===e||/^\d+$/.test(e)}function parseQuery(e){var a={},o=!1,t="";return(e=isNull(e)?"":e).replace(/([^=&?/#]*?)=([^=&?/#]*)/g,function(e,n,i){i=hpTryToParseStringToBasicType($decodeURIComponent(i)),t=$decodeURIComponent(n),o=!1,""!==t&&(t.replace(/(.*?)(\[.*)/,function(e,n,t){var r=splitSymbol(t);o=!0,isPreLikeArray(r[0])?a[n]=_Array(a[n]):a[n]=_KvPair(a[n]),handleDeepKey(a[n],t,i)}),o||(a[t]=i))}),a}function urlToGet(e,n){e=_String(e);var a=isKvPair(n)?n:parseQuery(n),n=parseQuery(e=e.replace(/({{)(.*?)(}})/g,function(e,n,t,r){t=trim(t);var i=a[t];return delete a[t],i})),n=param(a=Object.assign(n,a));return e=n?(e=e.replace(/\?.*/,""))+"?"+n:e}function hpIsEmptyMap(e){var n,t=!0;for(n in e)if(n!==$undefinedValue){t=!1;break}return t}function forEach(e,n){for(var t=0;t<e.length;t++)n(e[t],t,e)}function cloneEasy(n){switch(getType(n)){case $ClassTypeNameBig:t=Object.assign(Object.create(Object.getPrototypeOf(n)),n);break;case $ArrayTypeNameBig:for(var t=[],e=0;e<n.length;e++)t.push(cloneEasy(n[e]));break;case $ObjectTypeNameBig:t={},forEach(Object.keys(n),function(e){t[e]=cloneEasy(n[e])});break;case $FunctionTypeNameBig:function r(){n.apply(this,arguments)}for(var i in n.prototype)r.prototype[i]=n.prototype[i];t=r;break;default:t=n}return t}function isNoData(e,n){var t=!1;return t=isArray(e)&&n.array&&0===e.length||isKvPair(e)&&n.kvPair&&hpIsEmptyMap(e)||isString(e)&&n.string&&""===e||isNull(e)?!0:t}function hander(e,n){if(isKvPair(e))for(var t in e){var r=e[t];(isArray(r)||isKvPair(r))&&hander(r,n),isNoData(r,n)&&delete e[t]}}function shake(e,n){n=Object.assign({string:!0,array:!0,kvPair:!0},n);return hander(e=cloneEasy(e),n),e}function variableHasValue(e,n,t){var r;t=null==t?60:t,e()?n():(clearTimeout(r),setTimeout(function(){variableHasValue(e,n,t)},t))}variableHasValue["async"]=function(n,t){return new Promise(function(e){variableHasValue(n,e,t)})};var DEFAULT_CONFIG={id:"id",children:"children"};function deepFindTreePath(e,n,t){t=Object.assign(DEFAULT_CONFIG,t);for(var r=[],i=cloneEasy(e),a=new Set,o=t["children"];i.length;){var u=i[0];if(a.has(u))r.pop(),i.shift();else if(a.add(u),u[o]&&i.unshift.apply(i,u[o]),r.push(u),n(u))return r}return undefined}var regStr=/(-|\+)?((\d+)|((\d,?)+\d+))(\.?\d+)?%?/.toString().replace(/(^\/)|(\/$)/g,"");function getLikeNumberRegExp(){return regStr}function isLikeNumber(e){e=trim(e);return new RegExp("^"+regStr+"$").test(e)}function repeatString(e,n){var t="";if((e=_String(e)).length*n<1<<28)for(;1==(1&n)&&(t+=e),0!=(n>>>=1);)e+=e;return t}function hpPadString(e,n,t,r){return(e=_String(e)).length>(n>>=0)?e:(n-=e.length,t.length<n&&(t+=repeatString(t,n/t.length)),-1===r?t.slice(0,n)+e:e+t.slice(0,n))}function padStart(e,n,t){return hpPadString(e,n,t,-1)}function padEnd(e,n,t){return hpPadString(e,n,t,1)}function split(e,n){return""!==e?e.split(n):[]}function floorFixed(e,n,t){var e=split(e=trim(_Number(e)),"."),r=e[1]||"";return r.length<n&&(r=padEnd(r,n,$zeroString),t&&(r=r.replace(/0+$/,""))),n<1||!r?e[0]:e[0]+"."+r.substring(0,n)}function roundFixed(e,n,t){e=_Number(e);var r,i=Math.pow(10,n),e=_String(Math.round(e*i)/i);return 0<n&&(r=(i=split(e,"."))[0],(i=i[1]||"").length<n&&(i=padEnd(i,n,$zeroString),e=(i=t?i.replace(/0+$/,""):i)?r+"."+i:r)),e}function deepFindItem(e,t,n){var r,i,a=isNull(n)?"children":n;return function o(e){if(e)for(var n=0;n<e.length;n++){if(i=t(e[n])){r=e[n];break}if(o(e[n][a]),i)break}}(e),r}function flatArrayToTree(e,n){for(var t=(n=_KvPair(n)).id||"id",r=n.pid||"pid",i=n.children||"children",a=0;a<e.length;a++){var o,u=e[a];(o=deepFindItem(e,function(e){return null!=e[t]&&e[t]!=u[t]&&e[t]===u[r]},i))&&(o[i]=_Array(o[i]),o[i].push(u),e.splice(a--,1))}return e}function changeIndex(e,n,t){if(e<0)return n;e+=1;return(n=(n+t)%e)<0&&(n+=e),-0===n?0:n}function getRandom(e,n,t){t=!1===t?0:1;return e=Math.random()*(n-e+t)+e,t?Math.floor(e):e}function getRandomWord(){return $letters[getRandom(0,$letters.length-1)][0]}function uuid(e){e=_Number(e);for(var n="",t=0;t<13;t++)n+=getRandom(1,9);e=(new Date).getTime()*getRandom(1,100);return padEnd(getRandomWord()+Number(n).toString(32)+e.toString(32),20,getRandomWord()+getRandomWord()+getRandomWord())}function _Boolean(e){return!0===e||"true"===e||"1"===e||1===e}function main(e,i,a,o){o=o||"children";var n=[];return function u(e,n){for(var t=0;t<e.length;t++){var r=a(e[t]);isNull(r)||(n[t]=cloneEasy(r),e[t][o]&&(n[t][i]=[],u(e[t][o],n[t][i])))}}(e,n),n}var events={};function defineEventBus(i){if(events[i])throw'"'+i+'" Has already been registered!';return events[i]=events[i]||[],{on:function(e){events[i].push(e)},emit:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];for(var r=0;r<events[i].length;r++)events[i][r].apply($undefinedValue,n)},off:function(e){if(!e)throw"the hander of off is required!";for(var n=0;n<events[i].length;n++)events[i][n]===e&&events[i].splice(n--,1)},dispose:function(){for(var e=0;e<events[i].length;e++)events[i].splice(e--,1);delete events[i]},eventList:function(){return events[i]}}}function forEachTree(e,i,a){a=a||"children",function o(e,n){for(var t=0;t<e.length;t++){var r=cloneEasy(n);i(e[t],r),isArray(e[t][a])&&(r.push(e[t]),o(e[t][a],r))}}(e,[])}function randomColor(){return"rgba("+getRandom(0,255,!0)+","+getRandom(0,255,!0)+","+getRandom(0,255,!0)+",1)"}function emptyFunc(e,n){}var Polling=function(){function e(e){this._timer=void 0,this._timer_info=void 0,this._stamp=0,this._passStamp=0,this._option=void 0,this._option=Object.assign({timeout:6e3,interval:1e3,handler:emptyFunc},e),this._next=this._next.bind(this),this._doOnce=this._doOnce.bind(this),this.done=this.done.bind(this)}var n=e.prototype;return n._next=function(){return clearInterval(this._timer),this._passStamp=+new Date-this._stamp,this._timer=setTimeout(this._doOnce,this._option.interval),this},n._doOnce=function(){if(this._passStamp>=this._option.timeout)return this._option.onMessage&&this._option.onMessage(0),this.done(),this;this._option.handler(this._next,this.done)},n.start=function(){var e,n=this;this._stamp=+new Date,this.done(),this._doOnce();return this._option.onMessage&&(clearInterval(this._timer_info),this._timer_info=setInterval(function(){e=+new Date-n._stamp,0===(e=Math.max(n._option.timeout-e,0))&&n.done(),n._option.onMessage(e)},100)),this},n.done=function(){return clearTimeout(this._timer),clearTimeout(this._timer_info),this},n.dispose=function(){return this.done(),this},e}();function dataPage(e,n,t){if(t<1)throw"页码必须大于0";var r=(t-1)*n,i=r+n;return{current:t,total:e.length,size:n,pages:Math.ceil(e.length/n),data:cloneEasy(e.slice(r,i))}}function basicCheck(e,n,t,r){if(e="【"+e+"】",t&&isEmpty(n))throw"字段"+e+"不能为空";if(getType(n)!==r)switch(r){case"String":n=String(n);break;case"Number":if(!isLikeNumber(n))throw"字段"+e+"必须为数字";n=Number(n)}return n}var fieldCheck={number:function(e,n){return basicCheck(e,n,!(2<arguments.length&&arguments[2]!==undefined)||arguments[2],"Number")},string:function(e,n){return basicCheck(e,n,2<arguments.length&&arguments[2]!==undefined&&arguments[2],"String")}};function uniq(e){return Array.from(new Set(e))}var defaultSortFun=function(e,n){return Number(e)-Number(n)},_names_count=0,_namesMap={};function getIdMap(e){return _namesMap[e]||(_namesMap[e]={id:++_names_count,label:e}),_namesMap[e]}function createUniqIds(e,n){var t=[],r=[];return e.forEach(function(e){e=getIdMap(n[e]);t.push(e.id),r.push(e.label)}),{id:t.join("_"),label:r.join("→")}}function arrayRowToColumn(e,i){var n,t=[],a=(e.forEach(function(e){e=String(e[i.colField]);t.includes(e)||t.push(e)}),t.sort(null!=(r=i.colSort)?r:defaultSortFun),{}),f=(e.forEach(function(n){var e=createUniqIds(i.uniqueRowId,n),t={},r=(i.uniqueRowId.forEach(function(e){t[e]=n[e]}),a[e.id]=a[e.id]||{value:t,name:e.label,data:{}},i.colCreate(n[i.colField]).field);a[e.id].data[r]=a[e.id].data[r]||[],a[e.id].data[r].push(n)}),[]);for(n in a)f.push({name:a[n].name,value:a[n].value,data:a[n].data,summary:{}});var r=t.map(function(e){var n=i.colCreate(e);return{value:e,label:n.label,field:n.field}}),d={};return i.summaryConfig&&(i.summaryConfig.row&&(f=mergeRowSummary(f,i.summaryConfig.row,i.summaryConfig.averageField)),i.summaryConfig.column&&(d=mergeColSummary(f,i.summaryConfig.column,i.summaryConfig.averageField))),{columns:r,data:f,colSummary:d,getExtRow:function(n,e,t){var r,i=f.find(function(e){return e.name===n}),a={};if(!i){var o=e,u=t,c=d[n],s={};if(c)for(var l in c)s[l]=u(c[l][o]);return s}for(r in i.summary)a[r]=t(i.summary[r][e]);return a}}}function getZengzhngl(e,n){return e===$undefinedValue||n===$undefinedValue?$undefinedValue:(n-e)/Math.abs(e)}function mergeRowSummary(i,a,n){return i.forEach(function(c){var s=a[c.name];if(s){var l,e,f=0,d=0;for(e in c.data)!function(e){d++;var n,t=[],r=0,i=[],a=[],o=(c.data[e].forEach(function(e){isNumber(s.count)||t.push(e[s.count.field]);var n=_Number(e[s.value.field]);switch(s.value.mode){case"uniqLength":i.push(e[s.value.field]),i=uniq(i),r=i.length;break;case"sum":case"avg":r+=n}0!==n&&a.push(n)}),0);if(isNumber(s.count))o=s.count;else switch(s.count.mode){case"length":o=t.length;break;case"uniqLength":o=uniq(t).length;break;case"notZeroValue":o=a.length}var u=r;"avg"===s.value.mode&&(u=r/o),f+=u,c.summary[e]={value:u,proportion:0,riseRatio:l?getZengzhngl(null==(n=c.summary[l])?void 0:n.value,u):void 0},l=e}(e);c.summary[n]={value:f/d,riseRatio:$undefinedValue,proportion:0}}}),i.forEach(function(e){var n=a[e.name];if(n){var t=i.find(function(e){return e.name===n.proportionBaseField});if(n.proportionBaseField&&t)for(var r in e.summary)e.summary[r].proportion=e.summary[r].value/t.summary[r].value}}),i}function mergeColSummary(s,l,f){var e,d={},m={},n=function(i){m[i]={},d[i]={};var e,a=l[i],n=(s.forEach(function(r){for(var e in r.data)!function(e){d[i][e]=d[i][e]||{data:[],sum:0};var n=[],t=0;switch(r.data[e].forEach(function(e){switch(n.push(e[a.field]),a.mode){case"uniqLength":n=uniq(n);break;case"avg":case"sum":t+=e[a.field];break;case"notZeroLength":0!==_Number(e[a.field])&&t++}}),a.mode){case"uniqLength":n=uniq(n);break;case"avg":t/=r.data[e].length}d[i][e].data=d[i][e].data.concat(n),d[i][e].sum+=t}(e)}),void 0);for(e in d[i]){var t,r=0;switch(a.mode){case"avg":r=d[i][e].sum/s.length;break;case"uniqLength":r=uniq(d[i][e].data).length;break;case"notZeroLength":case"sum":r=d[i][e].sum}m[i][e]={value:r,proportion:0,riseRatio:n?getZengzhngl(null==(t=m[i][n])?void 0:t.value,r):void 0},n=e}var o,u=0,c=0;for(o in m[i])u+=m[i][o].value,c++;m[i][f]={value:u/c,riseRatio:$undefinedValue,proportion:0}};for(e in l)n(e);return m}function sameRowCellCount(e,n,t,r){var i=1;for(e++;e<r.length;e++){var a=r[e][n];if(a!==t&&!isEmpty(a))break;i++}return i}function findPrevRowSpanNum(e,n,t){for(var r=0;0<=n&&!(0<(r=e[n].$rowSpan[t]));n--);return r}function sameColSellCount(e,n,t,r){var i=1;for(e++;e<r.length;e++){var a=trim(t[r[e]]);if(a!==n&&!isEmpty(a))break;i++}return i}function spanTable(e,u){var c=cloneEasy(e),s={};return u.forEach(function(e,n){var i,a,o;i=e,a=u[n-1],o=0,c.forEach(function(e,n){e.$rowSpan=null!=(r=e.$rowSpan)?r:{};var t,r=e[i];s[i]=null!=(t=s[i])?t:0,1<s[i]?(e.$rowSpan[i]=0,s[i]--):(t=sameRowCellCount(n,i,r,c),void 0!==a&&(r=findPrevRowSpanNum(c,n,a),0<o?r<=o+t?(t=r-o,o=0):o+=t:t<r?o=t:t=r),s[i]=t,e.$rowSpan[i]=s[i])})}),c.forEach(function(r){r.$colField={};var i=0;u.forEach(function(e,n){var t=r[e];1<i?(r.$colField[e]=0,i--):(i=sameColSellCount(n,t,r,u),r.$colField[e]=i)})}),c}function thousands(e,i,a){return i=i||3,a=a||",",(isString(e)?e:_String(e)).replace(/([^.]*)?(\.)?(.*)?/,function(e,n,t,r){return _String(n).replace(new RegExp("(.(?=(.{"+i+"})+$))","g"),"$1"+a)+_String(t)+_String(r)})}function mapKvPair(e,n){var t,r={};for(t in e)r[t]=n(cloneEasy(e[t]),t);return r}function isFuzzyMatch(e,n,t){var r=!0;return(e=trim(e,"*"))&&(e=split(e,"").join(".*"),r=new RegExp(e,_String(t)).test(n)),r}function mixInZeroWidthUnicode(e){return split(e,"").join($zeroWidthCode)}function forEachKvPair(e,n){var t,r={},i=-1;for(t in e)i++,r[t]=n(e[t],t,i);return r}function getSortList(e){return e.map(function(e,n){return{value:e,index:n}})}function getSortIndex(e,t){var n=getSortList(e),r=getSortList(e);return r.sort(function(e,n){return t(e.value,n.value)}),n.map(function(n){return r.findIndex(function(e){return n.index===e.index})})}function sortWithIndex(e,n){for(var t=[],r=0;r<e.length;r++)t[r]=e[n[r]];return t}function getRatio(e,n){return 0===e||isNull(e)?0:0===n||isNull(n)?1:e/n}function difference(e,t,r){var i=[];return e.forEach(function(n){t.some(function(e){return r(e,n)})||i.push(n)}),t.forEach(function(n){e.some(function(e){return r(e,n)})||i.some(function(e){return r(e,n)})||i.push(n)}),i}function defualtFormatter(e,n,t){return isNull(n)?e:(e=n,t?t(e):e)}function hpObjectKeys(e){return Object.keys(e)}var AVG_FIELD="sys-row-avg";function getUniqId(e,n){var t=[];return isArray(e)?e.forEach(function(e){t.push(n[e])}):t.push(n[e]),t.join("→")}function _rowToColumn(e,n){var u={},t=n.colField;if(!isNull(t)&&e.length){var i=n.cellSummary;if(e.forEach(function(e){var n=e[t];u[n]=u[n]||{data:[],summary:0,_collect:[]},u[n].data.push(e),i&&(e=e[i.numerator[0]],u[n].summary+=e,u[n]._collect.push(e))}),!isNull(i)){var r,a,o;for(r in u)!function(e){var n=u[e],t=1,r=i.denominator;if(r)if(isNumber(r))t=r;else switch(r[1]){case"length":t=n.data.map(function(e){return e[r[0]]}).length;break;case"uniqLength":t=uniq(n.data.map(function(e){return e[r[0]]})).length}switch(i.numerator[1]){case"sum":isNull(n.summary)||(n.summary=n.summary/t);break;case"length":n.summary=n._collect.length/t;break;case"uniqLength":n.summary=uniq(n._collect).length/t}}(r);o=a=0,forEachKvPair(u,function(e){a++;e=isNull(e.summary)?0:e.summary;o+=e}),u[AVG_FIELD]={data:[],summary:o/a,_collect:[]},n.colCustom&&forEachKvPair(n.colCustom,function(e,n){var t=c(e.numerator),e=e.denominator?c(e.denominator):1;u[n]={data:[],summary:getRatio(t,e),_collect:[]}})}}return u;function c(a){var o=0,e=hpObjectKeys(u).filter(function(e){var n=[AVG_FIELD].includes(e),e="*"===a[1]||a[1].includes(e);return!n&&e});return isArray(a[1])&&e.sort(function(e,n){return a[1].indexOf(e)-a[1].indexOf(n)}),e.forEach(function(e,n){var t,r,e=u[e],i=0;isNull(a[2])||"value"===a[2]?i=isNull(e.summary)?0:e.summary:"length"===a[2]?(t=a[3])&&(i=e.data.map(function(e){return e[t]}).length):"uniqLength"===a[2]&&(r=a[3])&&(i=uniq(e.data.map(function(e){return e[r]})).length),"sum"===a[0]?o+=i:"max"===a[0]?o=Math.max(o,i):"diff"===a[0]&&(0===n?o=i:o-=i)}),o}}function _groupToList(e,n,t,r){var i,a=[];for(i in e){var o=n===t,u=_groupToList(e[i].child,n,t+1,r);a.push({uidPath:e[i].uidPath,uid:e[i].uid,data:e[i].data,_columnRiseRatio:{},_columnTotal:{},_columnProportion:{},_columns:_rowToColumn(e[i].data,r),isLeaf:o,children:u})}return a}function deepGroup(e,u){var n={},c=0;!function l(e,n,t){for(var r=0;r<n.length;r++){var i=n[r],a=getUniqId(u.path[c].field,i);e[a]=e[a]||{uidPath:t.concat(a),uid:a,data:[],child:{}},e[a].data.push(i)}if(c<u.path.length-1)for(var o in c++,e)l(e[o].child,e[o].data,e[o].uidPath)}(n,e,[]);var e=_groupToList(n,c,0,u),r=(!function i(e,n){var t;e.sort(null==(t=u.path[n])?void 0:t.sort),e.forEach(function(e){i(e.children,n+1)})}(e,0),!function a(e){e.forEach(function(e){var t={};forEachKvPair(e._columns,function(e,n){e=isNull(e.summary)?0:e.summary;t[n]=t[n]||0,t[n]+=e}),e._columnTotal=t,a(e.children)})}(e),{}),s=(e.forEach(function(t){forEachKvPair(t._columns,function(e,n){r[n]=r[n]||0,r[n]+=t._columnTotal[n]})}),[]);return u.colCustom&&forEachKvPair(u.colCustom,function(e,n){e.riseRatio||s.push(n)}),function t(e){var a={},o={};e.forEach(function(e,i){forEachKvPair(e._columns,function(e,n){var t,r;s.includes(n)||(0<i?isNull(t=e.summary)?o[n]=$undefinedValue:(r=null!=(r=a[n])?r:0,o[n]=getRatio(t-r,r)):o[n]=void 0,a[n]=e.summary)}),e._columnRiseRatio=o,t(e.children)})}(e),function o(e,r){e.forEach(function(e,n){var t={};forEachKvPair(e._columns,function(e,n){t[n]=getRatio(e.summary,r[n])}),e._columnProportion=t,o(e.children,e._columnTotal)})}(e,r),{data:e,total:r}}function listGroup(e,n){var l=deepGroup(e,n);function a(e,n,t,r,i){var a=deepFindItem(l.data,function(e){return 0===difference(e.uidPath,n,function(e,n){return e===n}).length}),o=defualtFormatter("",i);if(a)try{switch(e){case"_columnRiseRatio":case"_columnTotal":case"_columnProportion":var u=a[e][t];return isNull(u)?o:r(u);default:var c=a[e][t].summary;return isNull(c)?o:r(c,a[e][t].data)}}catch(s){return o}return o}function o(e,n,t,r){return a("_columns",e,n,t,r)}function u(e,n,t,r){return a("_columnProportion",e,n,t,r)}return{data:l.data,getCellValue:o,getCellVerticalRiseRatio:function(e,n,t,r){return a("_columnRiseRatio",e,n,t,r)},getCellVerticalTotal:function(e,n,t,r){var i;return"*"===e?isNull(i=l.total[n])?defualtFormatter("",r):t(i):a("_columnTotal",e,n,t,r)},getCellVerticalProportion:u,getRowCellValue:function(n,e,t,r){var i={};return e.forEach(function(e){i[e.id]=o(n,e.field,t,r)}),i},getRowVerticalProportion:function(n,e,t,r){var i={};return e.forEach(function(e){i[e.id]=u(n,e.field,t,r)}),i},getOriginGroupData:function(n,e){var t=deepFindItem(l.data,function(e){return 0===difference(e.uidPath,n,function(e,n){return e===n}).length});return t&&null!=(t=null==(e=t._columns[e])?void 0:e.data)?t:[]},getOriginAllData:function(){return e}}}function union(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];var r=new Set(n);return Array.from(r)}function isLick0(e){return isNull(e)||0===e}function getRiseRatio(e,n){return isLick0(e)&&isLick0(n)?0:isLick0(e)?1:isLick0(n)?-1:(n-e)/e}function filterWithMove(e,n){for(var t=[],r=0;r<e.length;r++){var i=e[r];n(i,r,e)&&(t.push(i),e.splice(r--,1))}return t}var defaUnits=[[1e4,"万"],[1e8,"亿"]];function shortNumber(e,n,t){for(var r=isNull(t)?defaUnits:t,i=(r.sort(function(e,n){return n[0]-e[0]}),e),a="",o=0;o<r.length;o++){var u=r[o],c=e/u[0];if(1<=Math.abs(c)){i=c,a=u[1];break}}return{value:i,fmtValue:n(i),unit:a}}function zeroWidthNum(e,n){return padStart(e,n,"0")}function formatTime(e){var e=new Date(e),n=e.getFullYear(),t=e.getMonth()+1,r=e.getDate(),i=e.getHours(),a=e.getMinutes(),o=e.getSeconds(),e=e.getMilliseconds();return zeroWidthNum(n,4)+"/"+zeroWidthNum(t,2)+"/"+zeroWidthNum(r,2)+" "+zeroWidthNum(i,2)+":"+zeroWidthNum(a,2)+":"+zeroWidthNum(o,2)+":"+zeroWidthNum(e,3)}function countCol(e){var n=0;return isArray(e.children)?e.children.forEach(function(e){n+=countCol(e)}):n=1,n}function deepParseInfo(e){return main(e,"children",function(e){return{field:e.field,title:e.title,count:countCol(e)}})}function createHeaderRowData(e,i,a,o){return i[a]||(i[a]=[]),o-=1,e.forEach(function(e){var n=o+1,t=(o=n+e.count-1)-n+1,t={colStart:n,colEnd:o,colSpan:t,count:e.count,field:e.field,title:e.title,rowSpan:1};i[a][n]=t;for(var r=1;r<e.count;r++)i[a][n+r]=void 0;isArray(e.children)&&0<e.children.length&&createHeaderRowData(e.children,i,a+1,n)}),i.forEach(function(e){for(var n=0;n<i[0].length;n++)e[n]||(e[n]=void 0)}),i}function getColumnFields(e){for(var t=[],n=e.length-1;0<=n;n--)e[n].forEach(function(e,n){e&&e.field&&isNull(t[n])&&(t[n]=e.field)});return t}function setRowSpan(i){i.forEach(function(e,t){e.forEach(function(e,n){e&&(e.rowSpan=function(e,n){for(var t,r=0;e<i.length&&(null==i||null==(t=i[e])||!t[n]);e++)r++;return r}(t+1,n)+1)})})}function parseTreeToTableHeader(e){e=createHeaderRowData(deepParseInfo(e),[],0,0);return setRowSpan(e),{columns:getColumnFields(e),data:e}}var ConnectEcharts=function(){function e(){this._list={}}var n=e.prototype;return n._resetGroupClickXAxisCategory=function(i){i.forEach(function(n){clearTimeout(n.timer_01),n.instence.off("click",n.onAxxisSeriesClick),n.instence.off("click",n.onAxxisCategoryClick),n.onAxxisCategoryClick=function(e){var t=e.tickIndex,r=!1!==e.needEmit;clearTimeout(n.timer_01),n.timer_01=setTimeout(function(){i.forEach(function(e){var n=cloneEasy(e.instence.getOption());isArray(n.xAxis)&&n.xAxis.length&&r&&e.config&&e.config.onXAxisCtegoryClick&&(n=n.xAxis,e.config.onXAxisCtegoryClick(n.map(function(e){return e.data}),t,e.instence))})},30)},n.onAxxisSeriesClick=function(e){"markLine"!==e.componentType&&null!=n&&n.onAxxisCategoryClick&&n.onAxxisCategoryClick({tickIndex:e.dataIndex})},n.instence.on("click","series",n.onAxxisSeriesClick),n.instence.on("click","xAxis.category",n.onAxxisCategoryClick)})},n.clickXAsisCategory=function(e,n,t){var r,i=!0!==t;for(r in this._list)for(var a=0;a<this._list[r].length;a++){var o=this._list[r][a];o.instence===e&&o.onAxxisCategoryClick&&o.onAxxisCategoryClick({tickIndex:n,needEmit:i})}},n.add=function(e,n){var t=e.group;return t&&(this._list[t]=this._list[t]||[],this._list[t].push({config:n,instence:e,timer_01:-1}),this._resetGroupClickXAxisCategory(this._list[t])),this},n.remove=function(e){if(e)for(var n in this._list)for(var t=0;t<this._list[n].length;t++){var r=this._list[n][t];clearTimeout(r.timer_01),r.instence===e&&(r.instence.off("click",r.onAxxisCategoryClick),this._list[n].splice(t--,1))}},e}(),connectEcharts=new ConnectEcharts;function getPiecesWithIndex(e,r){var i=[];return forEach(e,function(n,e){var t=r.find(function(e){return n>=e.min&&n<e.max});t&&i.push({gte:e,lt:e+1,color:t.color})}),i}function deepFunc(e,n){forEach(e,function(e){isArray(e.children)?deepFunc(e.children,n):n.push(e)})}function treeLeafs(e){var n=[];return deepFunc(e,n),n}var Animate=function(){function e(e){this._timer=void 0,this._passTime=0,this._options=void 0,this._middleData=void 0,this._options=e,this._middleData=cloneEasy(e.to)}var n=e.prototype;return n.start=function(){var n=this,{from:t,to:r,easing:c,duration:s,onChange:i}=this._options,a=(new Date).getTime()-this._passTime;return clearInterval(this._timer),this._timer=setInterval(function(){var o=Math.min((new Date).getTime()-a,s),e=(!function u(r,i,a){function e(e){var n,t;isNumber(i[e])||isNumber(a[e])?(n=_Number(i[e]),t=_Number(a[e]),r[e]=c(o,n,t-n,s)):(isArray(i[e])||isKvPair(i[e]))&&u(r[e],i[e],a[e])}if(isArray(i))for(var n=0;n<i.length;n++)e(n);else if(isKvPair(i))for(var t in r)e(t)}(n._middleData,t,r),o/s);1==e&&(clearInterval(n._timer),o=0),n._passTime=o,i(n._middleData,e)},17),this},n.stop=function(){return clearInterval(this._timer),this},n.dispose=function(){this.stop()},e}();function assign(e,n){return Object.assign(e,n)}function debounce(r,e,n){var t,i,a,o,u=defualtFormatter(500,e),{leading:c,trailing:s}=assign({leading:!1,trailing:!0},n),l=!1,f=!1;function d(){clearTimeout(t),t=setTimeout(m,u)}function m(){l=!1}function h(){l=!0,d(),r.apply(self,o)}function g(){if(!f){a=this;for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];o=n,c&&(l||(l=!0,r.apply(a,o)),d()),s&&(clearTimeout(i),i=setTimeout(h,u))}}return g.cancel=function(){clearTimeout(t),clearTimeout(i)},g.dispose=function(){clearTimeout(t),clearTimeout(i),f=!0},g}function throttle(e,n,t){var r,i,a,o,u,c=defualtFormatter(500,n),{leading:s,trailing:l}=assign({leading:!0,trailing:!0},t),f=0,d=0,m=!1;function h(){d=f=0}function g(){l&&(1<d||!s)?(p(),u=setTimeout(h,c)):h()}function p(){f=+new Date,e.apply(i,o)}function v(){if(!m){d++;for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];o=n,i=this,r=+new Date,clearTimeout(a),clearTimeout(u),0===f?s?p():f=r:c<=r-f&&p(),a=setTimeout(g,c)}}return v.cancel=function(){clearTimeout(a),clearTimeout(u)},v.dispose=function(){clearTimeout(a),clearTimeout(u),m=!0},v}export{Animate,Polling,_Array,_Boolean,_KvPair,_Number,_String,arrayRowToColumn,changeIndex,cloneEasy,connectEcharts,dataPage,debounce,deepFindItem,deepFindTreePath,defineEventBus,defualtFormatter,difference,fieldCheck,filterWithMove,floorFixed,forEach,forEachKvPair,forEachTree,formatTime,getLikeNumberRegExp,getPiecesWithIndex,getRandom,getRatio,getRiseRatio,getSortIndex,getType,isArray,isEmpty,isFunction,isFuzzyMatch,isKvPair,isLikeNumber,isNull,isString,listGroup,mapKvPair,main as mapTree,mixInZeroWidthUnicode,padEnd,padStart,param,parseQuery,parseTreeToTableHeader,randomColor,repeatString,roundFixed,shake,shortNumber,sortWithIndex,spanTable,split,thousands,throttle,flatArrayToTree as tree,treeLeafs,trim,union,urlToGet,uuid,variableHasValue};
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * 纯JS工具库 => jUtilsBase
3
- * @update 2024-08-27 10:15:09
3
+ * @update 2024-09-01 00:59:30
4
4
  */
5
- !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).jUtilsBase={})}(this,function(n){"use strict";var t=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],a="Array",$="Class",D="Function",u="Object",c="String",N="Number",m=void 0,q="false",V="true",B=Object.prototype.toString,G=encodeURI,X=decodeURIComponent;function h(n){return null===n||n===m}function f(n){return h(n)?"":String(n)}var H=D.toLowerCase();function e(n){return typeof n===H}function s(n){return e(t=n)&&/^class\s/.test(Function.prototype.toString.call(t))?$:B.call(n).slice(8,-1);var t}function d(n){return s(n)===a}function l(n){return s(n)===u}function v(n){return s(n)===c}function i(n,t){var r;try{r=JSON.parse(n)}catch(e){r=t}return r}function g(n){return n=l(n)||l(n=i(n))?n:{}}function p(n){return h(n)||""===n}function K(n){var r=[];function i(n,t){null!=n&&""!==n&&(t=null==(t=e(t)?t():t)?"":t,r[r.length]=G(n)+"="+G(t))}return function o(n,t){var r,e;if(n)switch(s(t)){case a:for(r=0;r<t.length;r++)o(n+"["+("object"==typeof t[r]&&t[r]?r:"")+"]",t[r]);break;case u:for(e in t)o(n+"["+e+"]",t[e]);break;default:i(n,t)}else switch(s(t)){case c:case u:for(e in t)o(e,t[e]);break;case a:for(r=0;r<t.length;r++)i(t[r].name,t[r].value)}}("",n),r.join("&")}function _(n){return n=d(n)||d(n=i(n))?n:[]}function y(n){return s(n)===N}var o="[\\s\\uFEFF\\xA0]+";function b(n,t){var r=s(n),e=(r===N&&(n=String(n),r=c),"");if(r!==c)return"";switch(t){case 1:e="^"+o;break;case-1:e=o+"$";break;case"*":e=o;break;default:e="^"+o+"|"+o+"$"}return n.replace(new RegExp(e,"g"),"")}function x(n){var t=!1,r=0,r=y(n)?n:(v(n)&&(n=b(n,"*").replace(/,/g,"").replace(/%$/,function(n){return t=!0,""})),Number(n));return r=Math.abs(r)===Math.abs(Infinity)||isNaN(r)?0:r,t&&(r/=100),r}var U=[m,m];function W(n){if(n==m)return U;var e,i=n;return n.replace(/^\[(.*?)\](.*)?/,function(n,t,r){return i=t,e=r,""}),[i,e]}function Z(n){return""===n||/^\d+$/.test(n)}function r(n){var a={},u=!1,e="";return(n=h(n)?"":n).replace(/([^=&?/#]*?)=([^=&?/#]*)/g,function(n,t,o){var r;r=X(o),o=null==r?m:q!==r&&(V===r||i(r,r)),e=X(t),u=!1,""!==e&&(e.replace(/(.*?)(\[.*)/,function(n,t,r){var e=W(r);u=!0,Z(e[0])?a[t]=_(a[t]):a[t]=g(a[t]),function i(n,t,r){var t=W(t),e=t[0];Z(e)?(e=x(e),t[1]==m?n.push(r):(/^\[[\D]+\]/.test(t[1])?n[e]=g(n[e]):n[e]=_(n[e]),i(n[e],t[1],r))):t[1]==m?n[e]=r:(/^\[[\D]+\]/.test(t[1])?n[e]=g(n[e]):n[e]=_(n[e]),i(n[e],t[1],r))}(a[t],r,o)}),u||(a[e]=o))}),a}function k(n,t){for(var r=0;r<n.length;r++)t(n[r],r,n)}function w(t){switch(s(t)){case $:r=Object.assign(Object.create(Object.getPrototypeOf(t)),t);break;case a:for(var r=[],n=0;n<t.length;n++)r.push(w(t[n]));break;case u:r={},k(Object.keys(t),function(n){r[n]=w(t[n])});break;case D:function e(){t.apply(this,arguments)}for(var i in t.prototype)e.prototype[i]=t.prototype[i];r=e;break;default:r=t}return r}function z(n,t){var r=!1;return r=d(n)&&t.array&&0===n.length||l(n)&&t.kvPair&&function(n){var t,r=!0;for(t in n)if(t!==m){r=!1;break}return r}(n)||v(n)&&t.string&&""===n||h(n)?!0:r}function C(n,t,r){var e;r=null==r?60:r,n()?t():(clearTimeout(e),setTimeout(function(){C(n,t,r)},r))}C["async"]=function(t,r){return new Promise(function(n){C(t,n,r)})};var J={id:"id",children:"children"};var Q=/(-|\+)?((\d+)|((\d,?)+\d+))(\.?\d+)?%?/.toString().replace(/(^\/)|(\/$)/g,"");function Y(n){n=b(n);return new RegExp("^"+Q+"$").test(n)}function nn(n,t){var r="";if((n=f(n)).length*t<1<<28)for(;1==(1&t)&&(r+=n),0!=(t>>>=1);)n+=n;return r}function tn(n,t,r,e){return(n=f(n)).length>(t>>=0)?n:(t-=n.length,r.length<t&&(r+=nn(r,t/r.length)),-1===e?r.slice(0,t)+n:n+r.slice(0,t))}function rn(n,t,r){return tn(n,t,r,-1)}function E(n,t,r){return tn(n,t,r,1)}function S(n,t){return""!==n?n.split(t):[]}function T(n,r,t){var e,i,o=h(t)?"children":t;return function a(n){if(n)for(var t=0;t<n.length;t++){if(i=r(n[t])){e=n[t];break}if(a(n[t][o]),i)break}}(n),e}function R(n,t,r){r=!1===r?0:1;return n=Math.random()*(t-n+r)+n,r?Math.floor(n):n}function A(){return t[R(0,t.length-1)][0]}function en(n,i,o,a){a=a||"children";var t=[];return function u(n,t){for(var r=0;r<n.length;r++){var e=o(n[r]);h(e)||(t[r]=w(e),n[r][a]&&(t[r][i]=[],u(n[r][a],t[r][i])))}}(n,t),t}var P={};function on(n,t){}var an=function(){function n(n){this._timer=void 0,this._timer_info=void 0,this._stamp=0,this._passStamp=0,this._option=void 0,this._option=Object.assign({timeout:6e3,interval:1e3,handler:on},n),this._next=this._next.bind(this),this._doOnce=this._doOnce.bind(this),this.done=this.done.bind(this)}var t=n.prototype;return t._next=function(){return clearInterval(this._timer),this._passStamp=+new Date-this._stamp,this._timer=setTimeout(this._doOnce,this._option.interval),this},t._doOnce=function(){if(this._passStamp>=this._option.timeout)return this._option.onMessage&&this._option.onMessage(0),this.done(),this;this._option.handler(this._next,this.done)},t.start=function(){var n,t=this;this._stamp=+new Date,this.done(),this._doOnce();return this._option.onMessage&&(clearInterval(this._timer_info),this._timer_info=setInterval(function(){n=+new Date-t._stamp,0===(n=Math.max(t._option.timeout-n,0))&&t.done(),t._option.onMessage(n)},100)),this},t.done=function(){return clearTimeout(this._timer),clearTimeout(this._timer_info),this},t.dispose=function(){return this.done(),this},n}();function un(n,t,r,e){if(n="【"+n+"】",r&&p(t))throw"字段"+n+"不能为空";if(s(t)!==e)switch(e){case"String":t=String(t);break;case"Number":if(!Y(t))throw"字段"+n+"必须为数字";t=Number(t)}return t}var cn={number:function(n,t){return un(n,t,!(2<arguments.length&&arguments[2]!==undefined)||arguments[2],"Number")},string:function(n,t){return un(n,t,2<arguments.length&&arguments[2]!==undefined&&arguments[2],"String")}};function F(n){return Array.from(new Set(n))}var fn=function(n,t){return Number(n)-Number(t)},sn=0,I={};function ln(n,t){var r=[],e=[];return n.forEach(function(n){n=t[n],I[n]||(I[n]={id:++sn,label:n});n=I[n];r.push(n.id),e.push(n.label)}),{id:r.join("_"),label:e.join("→")}}function hn(n,t){return n===m||t===m?m:(t-n)/Math.abs(n)}function O(n,t){var r,e={},i=-1;for(r in n)i++,e[r]=t(n[r],r,i);return e}function dn(n){return n.map(function(n,t){return{value:n,index:t}})}function M(n,t){return 0===n||h(n)?0:0===t||h(t)?1:n/t}function mn(n,r,e){var i=[];return n.forEach(function(t){r.some(function(n){return e(n,t)})||i.push(t)}),r.forEach(function(t){n.some(function(n){return e(n,t)})||i.some(function(n){return e(n,t)})||i.push(t)}),i}function vn(n,t,r){return h(t)?n:(n=t,r?r(n):n)}var gn="sys-row-avg";function pn(n,t){var u={},r=t.colField;if(!h(r)&&n.length){var i=t.cellSummary;if(n.forEach(function(n){var t=n[r];u[t]=u[t]||{data:[],summary:0,_collect:[]},u[t].data.push(n),i&&(n=n[i.numerator[0]],u[t].summary+=n,u[t]._collect.push(n))}),!h(i)){var e,o,a;for(e in u)!function(n){var t=u[n],r=1,e=i.denominator;if(e)if(y(e))r=e;else switch(e[1]){case"length":r=t.data.map(function(n){return n[e[0]]}).length;break;case"uniqLength":r=F(t.data.map(function(n){return n[e[0]]})).length}switch(i.numerator[1]){case"sum":h(t.summary)||(t.summary=t.summary/r);break;case"length":t.summary=t._collect.length/r;break;case"uniqLength":t.summary=F(t._collect).length/r}}(e);a=o=0,O(u,function(n){o++;n=h(n.summary)?0:n.summary;a+=n}),u[gn]={data:[],summary:a/o,_collect:[]},t.colCustom&&O(t.colCustom,function(n,t){var r=c(n.numerator),n=n.denominator?c(n.denominator):1;u[t]={data:[],summary:M(r,n),_collect:[]}})}}return u;function c(o){var a=0,n=Object.keys(u).filter(function(n){var t=[gn].includes(n),n="*"===o[1]||o[1].includes(n);return!t&&n});return d(o[1])&&n.sort(function(n,t){return o[1].indexOf(n)-o[1].indexOf(t)}),n.forEach(function(n,t){var r,e,n=u[n],i=0;h(o[2])||"value"===o[2]?i=h(n.summary)?0:n.summary:"length"===o[2]?(r=o[3])&&(i=n.data.map(function(n){return n[r]}).length):"uniqLength"===o[2]&&(e=o[3])&&(i=F(n.data.map(function(n){return n[e]})).length),"sum"===o[0]?a+=i:"max"===o[0]?a=Math.max(a,i):"diff"===o[0]&&(0===t?a=i:a-=i)}),a}}function _n(n,u){var t={},c=0;!function s(n,t,r){for(var e=0;e<t.length;e++){var i=t[e],o=function(n,t){var r=[];return d(n)?n.forEach(function(n){r.push(t[n])}):r.push(t[n]),r.join("→")}(u.path[c].field,i);n[o]=n[o]||{uidPath:r.concat(o),uid:o,data:[],child:{}},n[o].data.push(i)}if(c<u.path.length-1)for(var a in c++,n)s(n[a].child,n[a].data,n[a].uidPath)}(t,n,[]);var n=function l(n,t,r,e){var i,o=[];for(i in n){var a=t===r,u=l(n[i].child,t,r+1,e);o.push({uidPath:n[i].uidPath,uid:n[i].uid,data:n[i].data,_columnRiseRatio:{},_columnTotal:{},_columnProportion:{},_columns:pn(n[i].data,e),isLeaf:a,children:u})}return o}(t,c,0,u),e=(!function i(n,t){var r;n.sort(null==(r=u.path[t])?void 0:r.sort),n.forEach(function(n){i(n.children,t+1)})}(n,0),!function o(n){n.forEach(function(n){var r={};O(n._columns,function(n,t){n=h(n.summary)?0:n.summary;r[t]=r[t]||0,r[t]+=n}),n._columnTotal=r,o(n.children)})}(n),{}),f=(n.forEach(function(r){O(r._columns,function(n,t){e[t]=e[t]||0,e[t]+=r._columnTotal[t]})}),[]);return u.colCustom&&O(u.colCustom,function(n,t){n.riseRatio||f.push(t)}),function r(n){var o={},a={};n.forEach(function(n,i){O(n._columns,function(n,t){var r,e;f.includes(t)||(0<i?h(r=n.summary)?a[t]=m:(e=null!=(e=o[t])?e:0,a[t]=M(r-e,e)):a[t]=void 0,o[t]=n.summary)}),n._columnRiseRatio=a,r(n.children)})}(n),function a(n,e){n.forEach(function(n,t){var r={};O(n._columns,function(n,t){r[t]=M(n.summary,e[t])}),n._columnProportion=r,a(n.children,n._columnTotal)})}(n,e),{data:n,total:e}}function j(n){return h(n)||0===n}var yn=[[1e4,"万"],[1e8,"亿"]];function L(n,t){return rn(n,t,"0")}function bn(n){return en(n,"children",function(n){return{field:n.field,title:n.title,count:function r(n){var t=0;return d(n.children)?n.children.forEach(function(n){t+=r(n)}):t=1,t}(n)}})}function xn(i){i.forEach(function(n,r){n.forEach(function(n,t){n&&(n.rowSpan=function(n,t){for(var r,e=0;n<i.length&&(null==i||null==(r=i[n])||!r[t]);n++)e++;return e}(r+1,t)+1)})})}var kn=new(function(){function n(){this._list={}}var t=n.prototype;return t._resetGroupClickXAxisCategory=function(i){i.forEach(function(t){clearTimeout(t.timer_01),t.instence.off("click",t.onAxxisSeriesClick),t.instence.off("click",t.onAxxisCategoryClick),t.onAxxisCategoryClick=function(n){var r=n.tickIndex,e=!1!==n.needEmit;clearTimeout(t.timer_01),t.timer_01=setTimeout(function(){i.forEach(function(n){var t=w(n.instence.getOption());d(t.xAxis)&&t.xAxis.length&&e&&n.config&&n.config.onXAxisCtegoryClick&&(t=t.xAxis,n.config.onXAxisCtegoryClick(t.map(function(n){return n.data}),r,n.instence))})},30)},t.onAxxisSeriesClick=function(n){"markLine"!==n.componentType&&null!=t&&t.onAxxisCategoryClick&&t.onAxxisCategoryClick({tickIndex:n.dataIndex})},t.instence.on("click","series",t.onAxxisSeriesClick),t.instence.on("click","xAxis.category",t.onAxxisCategoryClick)})},t.clickXAsisCategory=function(n,t,r){var e,i=!0!==r;for(e in this._list)for(var o=0;o<this._list[e].length;o++){var a=this._list[e][o];a.instence===n&&a.onAxxisCategoryClick&&a.onAxxisCategoryClick({tickIndex:t,needEmit:i})}},t.add=function(n,t){var r=n.group;return r&&(this._list[r]=this._list[r]||[],this._list[r].push({config:t,instence:n,timer_01:-1}),this._resetGroupClickXAxisCategory(this._list[r])),this},t.remove=function(n){if(n)for(var t in this._list)for(var r=0;r<this._list[t].length;r++){var e=this._list[t][r];clearTimeout(e.timer_01),e.instence===n&&(e.instence.off("click",e.onAxxisCategoryClick),this._list[t].splice(r--,1))}},n}());n.Animate=function(){function n(n){this._timer=void 0,this._passTime=0,this._options=void 0,this._middleData=void 0,this._options=n,this._middleData=w(n.to)}var t=n.prototype;return t.start=function(){var t=this,{from:r,to:e,easing:c,duration:f,onChange:i}=this._options,o=(new Date).getTime()-this._passTime;return clearInterval(this._timer),this._timer=setInterval(function(){var a=Math.min((new Date).getTime()-o,f),n=(!function u(e,i,o){function n(n){var t,r;y(i[n])||y(o[n])?(t=x(i[n]),r=x(o[n]),e[n]=c(a,t,r-t,f)):(d(i[n])||l(i[n]))&&u(e[n],i[n],o[n])}if(d(i))for(var t=0;t<i.length;t++)n(t);else if(l(i))for(var r in e)n(r)}(t._middleData,r,e),a/f);1==n&&(clearInterval(t._timer),a=0),t._passTime=a,i(t._middleData,n)},17),this},t.stop=function(){return clearInterval(this._timer),this},t.dispose=function(){this.stop()},n}(),n.Polling=an,n._Array=_,n._Boolean=function(n){return!0===n||"true"===n||"1"===n||1===n},n._KvPair=g,n._Number=x,n._String=f,n.arrayRowToColumn=function(n,i){var t,r=[],o=(n.forEach(function(n){n=String(n[i.colField]);r.includes(n)||r.push(n)}),r.sort(null!=(c=i.colSort)?c:fn),{}),l=(n.forEach(function(t){var n=ln(i.uniqueRowId,t),r={},e=(i.uniqueRowId.forEach(function(n){r[n]=t[n]}),o[n.id]=o[n.id]||{value:r,name:n.label,data:{}},i.colCreate(t[i.colField]).field);o[n.id].data[e]=o[n.id].data[e]||[],o[n.id].data[e].push(t)}),[]);for(t in o)l.push({name:o[t].name,value:o[t].value,data:o[t].data,summary:{}});var a,u,e,c=r.map(function(n){var t=i.colCreate(n);return{value:n,label:t.label,field:t.field}}),h={};return i.summaryConfig&&(i.summaryConfig.row&&(a=l,u=i.summaryConfig.row,e=i.summaryConfig.averageField,a.forEach(function(c){var f=u[c.name];if(f){var s,n,l=0,h=0;for(n in c.data)!function(n){h++;var t,r=[],e=0,i=[],o=[],a=(c.data[n].forEach(function(n){y(f.count)||r.push(n[f.count.field]);var t=x(n[f.value.field]);switch(f.value.mode){case"uniqLength":i.push(n[f.value.field]),i=F(i),e=i.length;break;case"sum":case"avg":e+=t}0!==t&&o.push(t)}),0);if(y(f.count))a=f.count;else switch(f.count.mode){case"length":a=r.length;break;case"uniqLength":a=F(r).length;break;case"notZeroValue":a=o.length}var u=e;"avg"===f.value.mode&&(u=e/a),l+=u,c.summary[n]={value:u,proportion:0,riseRatio:s?hn(null==(t=c.summary[s])?void 0:t.value,u):void 0},s=n}(n);c.summary[e]={value:l/h,riseRatio:m,proportion:0}}}),a.forEach(function(n){var t=u[n.name];if(t){var r=a.find(function(n){return n.name===t.proportionBaseField});if(t.proportionBaseField&&r)for(var e in n.summary)n.summary[e].proportion=n.summary[e].value/r.summary[e].value}}),l=a),i.summaryConfig.column&&(h=function(f,s,l){var n,h={},d={},t=function(i){d[i]={},h[i]={};var n,o=s[i],t=(f.forEach(function(e){for(var n in e.data)!function(n){h[i][n]=h[i][n]||{data:[],sum:0};var t=[],r=0;switch(e.data[n].forEach(function(n){switch(t.push(n[o.field]),o.mode){case"uniqLength":t=F(t);break;case"avg":case"sum":r+=n[o.field];break;case"notZeroLength":0!==x(n[o.field])&&r++}}),o.mode){case"uniqLength":t=F(t);break;case"avg":r/=e.data[n].length}h[i][n].data=h[i][n].data.concat(t),h[i][n].sum+=r}(n)}),void 0);for(n in h[i]){var r,e=0;switch(o.mode){case"avg":e=h[i][n].sum/f.length;break;case"uniqLength":e=F(h[i][n].data).length;break;case"notZeroLength":case"sum":e=h[i][n].sum}d[i][n]={value:e,proportion:0,riseRatio:t?hn(null==(r=d[i][t])?void 0:r.value,e):void 0},t=n}var a,u=0,c=0;for(a in d[i])u+=d[i][a].value,c++;d[i][l]={value:u/c,riseRatio:m,proportion:0}};for(n in s)t(n);return d}(l,i.summaryConfig.column,i.summaryConfig.averageField))),{columns:c,data:l,colSummary:h,getExtRow:function(t,n,r){var e,i=l.find(function(n){return n.name===t}),o={};if(!i){var a=n,u=r,c=h[t],f={};if(c)for(var s in c)f[s]=u(c[s][a]);return f}for(e in i.summary)o[e]=r(i.summary[e][n]);return o}}},n.changeIndex=function(n,t,r){return n<0?t:((t=(t+r)%(n+=1))<0&&(t+=n),-0===t?0:t)},n.cloneEasy=w,n.connectEcharts=kn,n.dataPage=function(n,t,r){if(r<1)throw"页码必须大于0";var e=(r-1)*t,i=e+t;return{current:r,total:n.length,size:t,pages:Math.ceil(n.length/t),data:w(n.slice(e,i))}},n.deepFindItem=T,n.deepFindTreePath=function(n,t,r){r=Object.assign(J,r);for(var e=[],i=w(n),o=new Set,a=r["children"];i.length;){var u=i[0];if(o.has(u))e.pop(),i.shift();else if(o.add(u),u[a]&&i.unshift.apply(i,u[a]),e.push(u),t(u))return e}return undefined},n.defineEventBus=function(i){if(P[i])throw'"'+i+'" Has already been registered!';return P[i]=P[i]||[],{on:function(n){P[i].push(n)},emit:function(){for(var n=arguments.length,t=new Array(n),r=0;r<n;r++)t[r]=arguments[r];for(var e=0;e<P[i].length;e++)P[i][e].apply(m,t)},off:function(n){if(!n)throw"the hander of off is required!";for(var t=0;t<P[i].length;t++)P[i][t]===n&&P[i].splice(t--,1)},dispose:function(){for(var n=0;n<P[i].length;n++)P[i].splice(n--,1);delete P[i]},eventList:function(){return P[i]}}},n.defualtFormatter=vn,n.difference=mn,n.fieldCheck=cn,n.filterWithMove=function(n,t){for(var r=[],e=0;e<n.length;e++){var i=n[e];t(i,e,n)&&(r.push(i),n.splice(e--,1))}return r},n.floorFixed=function(n,t,r){var e=(n=S(n=b(x(n)),"."))[1]||"";return e.length<t&&(e=E(e,t,"0"),r&&(e=e.replace(/0+$/,""))),t<1||!e?n[0]:n[0]+"."+e.substring(0,t)},n.forEach=k,n.forEachKvPair=O,n.forEachTree=function(n,i,o){o=o||"children",function a(n,t){for(var r=0;r<n.length;r++){var e=w(t);i(n[r],e),d(n[r][o])&&(e.push(n[r]),a(n[r][o],e))}}(n,[])},n.formatTime=function(n){var t=(n=new Date(n)).getFullYear(),r=n.getMonth()+1,e=n.getDate(),i=n.getHours(),o=n.getMinutes(),a=n.getSeconds(),n=n.getMilliseconds();return L(t,4)+"/"+L(r,2)+"/"+L(e,2)+" "+L(i,2)+":"+L(o,2)+":"+L(a,2)+":"+L(n,3)},n.getLikeNumberRegExp=function(){return Q},n.getPiecesWithIndex=function(n,e){var i=[];return k(n,function(t,n){var r=e.find(function(n){return t>=n.min&&t<n.max});r&&i.push({gte:n,lt:n+1,color:r.color})}),i},n.getRandom=R,n.getRatio=M,n.getRiseRatio=function(n,t){return j(n)&&j(t)?0:j(n)?1:j(t)?-1:(t-n)/n},n.getSortIndex=function(n,r){var t=dn(n),e=dn(n);return e.sort(function(n,t){return r(n.value,t.value)}),t.map(function(t){return e.findIndex(function(n){return t.index===n.index})})},n.getType=s,n.isArray=d,n.isEmpty=p,n.isFunction=e,n.isFuzzyMatch=function(n,t,r){var e=!0;return(n=b(n,"*"))&&(n=S(n,"").join(".*"),e=new RegExp(n,f(r)).test(t)),e},n.isKvPair=l,n.isLikeNumber=Y,n.isNull=h,n.isString=v,n.listGroup=function(n,t){var s=_n(n,t);function o(n,t,r,e,i){var o=T(s.data,function(n){return 0===mn(n.uidPath,t,function(n,t){return n===t}).length}),a=vn("",i);if(o)try{switch(n){case"_columnRiseRatio":case"_columnTotal":case"_columnProportion":var u=o[n][r];return h(u)?a:e(u);default:var c=o[n][r].summary;return h(c)?a:e(c,o[n][r].data)}}catch(f){return a}return a}function a(n,t,r,e){return o("_columns",n,t,r,e)}function u(n,t,r,e){return o("_columnProportion",n,t,r,e)}return{data:s.data,getCellValue:a,getCellVerticalRiseRatio:function(n,t,r,e){return o("_columnRiseRatio",n,t,r,e)},getCellVerticalTotal:function(n,t,r,e){var i;return"*"===n?h(i=s.total[t])?vn("",e):r(i):o("_columnTotal",n,t,r,e)},getCellVerticalProportion:u,getRowCellValue:function(t,n,r,e){var i={};return n.forEach(function(n){i[n.id]=a(t,n.field,r,e)}),i},getRowVerticalProportion:function(t,n,r,e){var i={};return n.forEach(function(n){i[n.id]=u(t,n.field,r,e)}),i},getOriginGroupData:function(t,n){var r=T(s.data,function(n){return 0===mn(n.uidPath,t,function(n,t){return n===t}).length});return r&&null!=(r=null==(n=r._columns[n])?void 0:n.data)?r:[]},getOriginAllData:function(){return n}}},n.mapKvPair=function(n,t){var r,e={};for(r in n)e[r]=t(w(n[r]),r);return e},n.mapTree=en,n.mixInZeroWidthUnicode=function(n){return S(n,"").join("‎")},n.padEnd=E,n.padStart=rn,n.param=K,n.parseQuery=r,n.parseTreeToTableHeader=function(n){return xn(n=function u(n,i,o,a){return i[o]||(i[o]=[]),--a,n.forEach(function(n){var t=a+1,r=(a=t+n.count-1)-t+1,r={colStart:t,colEnd:a,colSpan:r,count:n.count,field:n.field,title:n.title,rowSpan:1};i[o][t]=r;for(var e=1;e<n.count;e++)i[o][t+e]=void 0;d(n.children)&&0<n.children.length&&u(n.children,i,o+1,t)}),i.forEach(function(n){for(var t=0;t<i[0].length;t++)n[t]||(n[t]=void 0)}),i}(bn(n),[],0,0)),{columns:function(n){for(var r=[],t=n.length-1;0<=t;t--)n[t].forEach(function(n,t){n&&n.field&&h(r[t])&&(r[t]=n.field)});return r}(n),data:n}},n.randomColor=function(){return"rgba("+R(0,255,!0)+","+R(0,255,!0)+","+R(0,255,!0)+",1)"},n.repeatString=nn,n.roundFixed=function(n,t,r){n=x(n);var e,i=Math.pow(10,t),n=f(Math.round(n*i)/i);return 0<t&&(e=(i=S(n,"."))[0],(i=i[1]||"").length<t&&(i=E(i,t,"0"),n=(i=r?i.replace(/0+$/,""):i)?e+"."+i:e)),n},n.shake=function(n,t){return t=Object.assign({string:!0,array:!0,kvPair:!0},t),function i(n,t){if(l(n))for(var r in n){var e=n[r];(d(e)||l(e))&&i(e,t),z(e,t)&&delete n[r]}}(n=w(n),t),n},n.shortNumber=function(n,t,r){for(var e=h(r)?yn:r,i=(e.sort(function(n,t){return t[0]-n[0]}),n),o="",a=0;a<e.length;a++){var u=e[a],c=n/u[0];if(1<=Math.abs(c)){i=c,o=u[1];break}}return{value:i,fmtValue:t(i),unit:o}},n.sortWithIndex=function(n,t){for(var r=[],e=0;e<n.length;e++)r[e]=n[t[e]];return r},n.spanTable=function(n,o){var u=w(n),c={};function r(i,o){var a=0;u.forEach(function(n,t){n.$rowSpan=null!=(e=n.$rowSpan)?e:{};var r,e=n[i];c[i]=null!=(r=c[i])?r:0,1<c[i]?(n.$rowSpan[i]=0,c[i]--):(r=function(n,t,r,e){var i=1;for(n++;n<e.length;n++){var o=e[n][t];if(o!==r&&!p(o))break;i++}return i}(t,i,e,u),void 0!==o&&(e=function(n,t,r){for(var e=0;0<=t&&!(0<(e=n[t].$rowSpan[r]));t--);return e}(u,t,o),0<a?e<=a+r?(r=e-a,a=0):a+=r:r<e?a=r:r=e),c[i]=r,n.$rowSpan[i]=c[i])})}return o.forEach(function(n,t){r(n,o[t-1])}),u.forEach(function(e){e.$colField={};var i=0;o.forEach(function(n,t){var r=e[n];1<i?(e.$colField[n]=0,i--):(i=function(n,t,r,e){var i=1;for(n++;n<e.length;n++){var o=b(r[e[n]]);if(o!==t&&!p(o))break;i++}return i}(t,r,e,o),e.$colField[n]=i)})}),u},n.split=S,n.thousands=function(n,i,o){return i=i||3,o=o||",",(v(n)?n:f(n)).replace(/([^.]*)?(\.)?(.*)?/,function(n,t,r,e){return f(t).replace(new RegExp("(.(?=(.{"+i+"})+$))","g"),"$1"+o)+f(r)+f(e)})},n.tree=function(n,t){for(var r=(t=g(t)).id||"id",e=t.pid||"pid",i=t.children||"children",o=0;o<n.length;o++){var a,u=n[o];(a=T(n,function(n){return null!=n[r]&&n[r]!=u[r]&&n[r]===u[e]},i))&&(a[i]=_(a[i]),a[i].push(u),n.splice(o--,1))}return n},n.treeLeafs=function(n){var t=[];return function r(n,t){k(n,function(n){d(n.children)?r(n.children,t):t.push(n)})}(n,t),t},n.trim=b,n.union=function(){for(var n=arguments.length,t=new Array(n),r=0;r<n;r++)t[r]=arguments[r];var e=new Set(t);return Array.from(e)},n.urlToGet=function(n,t){n=f(n);var o=l(t)?t:r(t),t=r(n=n.replace(/({{)(.*?)(}})/g,function(n,t,r,e){r=b(r);var i=o[r];return delete o[r],i})),t=K(o=Object.assign(t,o));return n=t?(n=n.replace(/\?.*/,""))+"?"+t:n},n.uuid=function(n){n=x(n);for(var t="",r=0;r<13;r++)t+=R(1,9);return n=(new Date).getTime()*R(1,100),E(A()+Number(t).toString(32)+n.toString(32),20,A()+A()+A())},n.variableHasValue=C});
5
+ !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).jUtilsBase={})}(this,function(n){"use strict";var t=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],a="Array",L="Class",$="Function",u="Object",c="String",N="Number",m=void 0,q="false",V="true",B=Object.prototype.toString,G=encodeURI,X=decodeURIComponent;function h(n){return null===n||n===m}function f(n){return h(n)?"":String(n)}var H=$.toLowerCase();function r(n){return typeof n===H}function l(n){return r(t=n)&&/^class\s/.test(Function.prototype.toString.call(t))?L:B.call(n).slice(8,-1);var t}function d(n){return l(n)===a}function s(n){return l(n)===u}function v(n){return l(n)===c}function i(n,t){var e;try{e=JSON.parse(n)}catch(r){e=t}return e}function g(n){return n=s(n)||s(n=i(n))?n:{}}function p(n){return h(n)||""===n}function K(n){var e=[];function i(n,t){null!=n&&""!==n&&(t=null==(t=r(t)?t():t)?"":t,e[e.length]=G(n)+"="+G(t))}return function o(n,t){var e,r;if(n)switch(l(t)){case a:for(e=0;e<t.length;e++)o(n+"["+("object"==typeof t[e]&&t[e]?e:"")+"]",t[e]);break;case u:for(r in t)o(n+"["+r+"]",t[r]);break;default:i(n,t)}else switch(l(t)){case c:case u:for(r in t)o(r,t[r]);break;case a:for(e=0;e<t.length;e++)i(t[e].name,t[e].value)}}("",n),e.join("&")}function _(n){return n=d(n)||d(n=i(n))?n:[]}function y(n){return l(n)===N}var o="[\\s\\uFEFF\\xA0]+";function b(n,t){var e=l(n),r=(e===N&&(n=String(n),e=c),"");if(e!==c)return"";switch(t){case 1:r="^"+o;break;case-1:r=o+"$";break;case"*":r=o;break;default:r="^"+o+"|"+o+"$"}return n.replace(new RegExp(r,"g"),"")}function x(n){var t=!1,e=0,e=y(n)?n:(v(n)&&(n=b(n,"*").replace(/,/g,"").replace(/%$/,function(n){return t=!0,""})),Number(n));return e=Math.abs(e)===Math.abs(Infinity)||isNaN(e)?0:e,t&&(e/=100),e}var U=[m,m];function W(n){if(n==m)return U;var r,i=n;return n.replace(/^\[(.*?)\](.*)?/,function(n,t,e){return i=t,r=e,""}),[i,r]}function Z(n){return""===n||/^\d+$/.test(n)}function e(n){var a={},u=!1,r="";return(n=h(n)?"":n).replace(/([^=&?/#]*?)=([^=&?/#]*)/g,function(n,t,o){var e;e=X(o),o=null==e?m:q!==e&&(V===e||i(e,e)),r=X(t),u=!1,""!==r&&(r.replace(/(.*?)(\[.*)/,function(n,t,e){var r=W(e);u=!0,Z(r[0])?a[t]=_(a[t]):a[t]=g(a[t]),function i(n,t,e){var t=W(t),r=t[0];Z(r)?(r=x(r),t[1]==m?n.push(e):(/^\[[\D]+\]/.test(t[1])?n[r]=g(n[r]):n[r]=_(n[r]),i(n[r],t[1],e))):t[1]==m?n[r]=e:(/^\[[\D]+\]/.test(t[1])?n[r]=g(n[r]):n[r]=_(n[r]),i(n[r],t[1],e))}(a[t],e,o)}),u||(a[r]=o))}),a}function k(n,t){for(var e=0;e<n.length;e++)t(n[e],e,n)}function w(t){switch(l(t)){case L:e=Object.assign(Object.create(Object.getPrototypeOf(t)),t);break;case a:for(var e=[],n=0;n<t.length;n++)e.push(w(t[n]));break;case u:e={},k(Object.keys(t),function(n){e[n]=w(t[n])});break;case $:function r(){t.apply(this,arguments)}for(var i in t.prototype)r.prototype[i]=t.prototype[i];e=r;break;default:e=t}return e}function z(n,t){var e=!1;return e=d(n)&&t.array&&0===n.length||s(n)&&t.kvPair&&function(n){var t,e=!0;for(t in n)if(t!==m){e=!1;break}return e}(n)||v(n)&&t.string&&""===n||h(n)?!0:e}function C(n,t,e){var r;e=null==e?60:e,n()?t():(clearTimeout(r),setTimeout(function(){C(n,t,e)},e))}C["async"]=function(t,e){return new Promise(function(n){C(t,n,e)})};var J={id:"id",children:"children"};var Q=/(-|\+)?((\d+)|((\d,?)+\d+))(\.?\d+)?%?/.toString().replace(/(^\/)|(\/$)/g,"");function Y(n){n=b(n);return new RegExp("^"+Q+"$").test(n)}function nn(n,t){var e="";if((n=f(n)).length*t<1<<28)for(;1==(1&t)&&(e+=n),0!=(t>>>=1);)n+=n;return e}function tn(n,t,e,r){return(n=f(n)).length>(t>>=0)?n:(t-=n.length,e.length<t&&(e+=nn(e,t/e.length)),-1===r?e.slice(0,t)+n:n+e.slice(0,t))}function en(n,t,e){return tn(n,t,e,-1)}function T(n,t,e){return tn(n,t,e,1)}function E(n,t){return""!==n?n.split(t):[]}function S(n,e,t){var r,i,o=h(t)?"children":t;return function a(n){if(n)for(var t=0;t<n.length;t++){if(i=e(n[t])){r=n[t];break}if(a(n[t][o]),i)break}}(n),r}function A(n,t,e){e=!1===e?0:1;return n=Math.random()*(t-n+e)+n,e?Math.floor(n):n}function R(){return t[A(0,t.length-1)][0]}function rn(n,i,o,a){a=a||"children";var t=[];return function u(n,t){for(var e=0;e<n.length;e++){var r=o(n[e]);h(r)||(t[e]=w(r),n[e][a]&&(t[e][i]=[],u(n[e][a],t[e][i])))}}(n,t),t}var O={};function on(n,t){}var an=function(){function n(n){this._timer=void 0,this._timer_info=void 0,this._stamp=0,this._passStamp=0,this._option=void 0,this._option=Object.assign({timeout:6e3,interval:1e3,handler:on},n),this._next=this._next.bind(this),this._doOnce=this._doOnce.bind(this),this.done=this.done.bind(this)}var t=n.prototype;return t._next=function(){return clearInterval(this._timer),this._passStamp=+new Date-this._stamp,this._timer=setTimeout(this._doOnce,this._option.interval),this},t._doOnce=function(){if(this._passStamp>=this._option.timeout)return this._option.onMessage&&this._option.onMessage(0),this.done(),this;this._option.handler(this._next,this.done)},t.start=function(){var n,t=this;this._stamp=+new Date,this.done(),this._doOnce();return this._option.onMessage&&(clearInterval(this._timer_info),this._timer_info=setInterval(function(){n=+new Date-t._stamp,0===(n=Math.max(t._option.timeout-n,0))&&t.done(),t._option.onMessage(n)},100)),this},t.done=function(){return clearTimeout(this._timer),clearTimeout(this._timer_info),this},t.dispose=function(){return this.done(),this},n}();function un(n,t,e,r){if(n="【"+n+"】",e&&p(t))throw"字段"+n+"不能为空";if(l(t)!==r)switch(r){case"String":t=String(t);break;case"Number":if(!Y(t))throw"字段"+n+"必须为数字";t=Number(t)}return t}var cn={number:function(n,t){return un(n,t,!(2<arguments.length&&arguments[2]!==undefined)||arguments[2],"Number")},string:function(n,t){return un(n,t,2<arguments.length&&arguments[2]!==undefined&&arguments[2],"String")}};function P(n){return Array.from(new Set(n))}var fn=function(n,t){return Number(n)-Number(t)},ln=0,sn={};function hn(n,t){var e=[],r=[];return n.forEach(function(n){n=t[n],sn[n]||(sn[n]={id:++ln,label:n});n=sn[n];e.push(n.id),r.push(n.label)}),{id:e.join("_"),label:r.join("→")}}function dn(n,t){return n===m||t===m?m:(t-n)/Math.abs(n)}function F(n,t){var e,r={},i=-1;for(e in n)i++,r[e]=t(n[e],e,i);return r}function mn(n){return n.map(function(n,t){return{value:n,index:t}})}function I(n,t){return 0===n||h(n)?0:0===t||h(t)?1:n/t}function vn(n,e,r){var i=[];return n.forEach(function(t){e.some(function(n){return r(n,t)})||i.push(t)}),e.forEach(function(t){n.some(function(n){return r(n,t)})||i.some(function(n){return r(n,t)})||i.push(t)}),i}function M(n,t,e){return h(t)?n:(n=t,e?e(n):n)}var gn="sys-row-avg";function pn(n,t){var u={},e=t.colField;if(!h(e)&&n.length){var i=t.cellSummary;if(n.forEach(function(n){var t=n[e];u[t]=u[t]||{data:[],summary:0,_collect:[]},u[t].data.push(n),i&&(n=n[i.numerator[0]],u[t].summary+=n,u[t]._collect.push(n))}),!h(i)){var r,o,a;for(r in u)!function(n){var t=u[n],e=1,r=i.denominator;if(r)if(y(r))e=r;else switch(r[1]){case"length":e=t.data.map(function(n){return n[r[0]]}).length;break;case"uniqLength":e=P(t.data.map(function(n){return n[r[0]]})).length}switch(i.numerator[1]){case"sum":h(t.summary)||(t.summary=t.summary/e);break;case"length":t.summary=t._collect.length/e;break;case"uniqLength":t.summary=P(t._collect).length/e}}(r);a=o=0,F(u,function(n){o++;n=h(n.summary)?0:n.summary;a+=n}),u[gn]={data:[],summary:a/o,_collect:[]},t.colCustom&&F(t.colCustom,function(n,t){var e=c(n.numerator),n=n.denominator?c(n.denominator):1;u[t]={data:[],summary:I(e,n),_collect:[]}})}}return u;function c(o){var a=0,n=Object.keys(u).filter(function(n){var t=[gn].includes(n),n="*"===o[1]||o[1].includes(n);return!t&&n});return d(o[1])&&n.sort(function(n,t){return o[1].indexOf(n)-o[1].indexOf(t)}),n.forEach(function(n,t){var e,r,n=u[n],i=0;h(o[2])||"value"===o[2]?i=h(n.summary)?0:n.summary:"length"===o[2]?(e=o[3])&&(i=n.data.map(function(n){return n[e]}).length):"uniqLength"===o[2]&&(r=o[3])&&(i=P(n.data.map(function(n){return n[r]})).length),"sum"===o[0]?a+=i:"max"===o[0]?a=Math.max(a,i):"diff"===o[0]&&(0===t?a=i:a-=i)}),a}}function _n(n,u){var t={},c=0;!function l(n,t,e){for(var r=0;r<t.length;r++){var i=t[r],o=function(n,t){var e=[];return d(n)?n.forEach(function(n){e.push(t[n])}):e.push(t[n]),e.join("→")}(u.path[c].field,i);n[o]=n[o]||{uidPath:e.concat(o),uid:o,data:[],child:{}},n[o].data.push(i)}if(c<u.path.length-1)for(var a in c++,n)l(n[a].child,n[a].data,n[a].uidPath)}(t,n,[]);var n=function s(n,t,e,r){var i,o=[];for(i in n){var a=t===e,u=s(n[i].child,t,e+1,r);o.push({uidPath:n[i].uidPath,uid:n[i].uid,data:n[i].data,_columnRiseRatio:{},_columnTotal:{},_columnProportion:{},_columns:pn(n[i].data,r),isLeaf:a,children:u})}return o}(t,c,0,u),r=(!function i(n,t){var e;n.sort(null==(e=u.path[t])?void 0:e.sort),n.forEach(function(n){i(n.children,t+1)})}(n,0),!function o(n){n.forEach(function(n){var e={};F(n._columns,function(n,t){n=h(n.summary)?0:n.summary;e[t]=e[t]||0,e[t]+=n}),n._columnTotal=e,o(n.children)})}(n),{}),f=(n.forEach(function(e){F(e._columns,function(n,t){r[t]=r[t]||0,r[t]+=e._columnTotal[t]})}),[]);return u.colCustom&&F(u.colCustom,function(n,t){n.riseRatio||f.push(t)}),function e(n){var o={},a={};n.forEach(function(n,i){F(n._columns,function(n,t){var e,r;f.includes(t)||(0<i?h(e=n.summary)?a[t]=m:(r=null!=(r=o[t])?r:0,a[t]=I(e-r,r)):a[t]=void 0,o[t]=n.summary)}),n._columnRiseRatio=a,e(n.children)})}(n),function a(n,r){n.forEach(function(n,t){var e={};F(n._columns,function(n,t){e[t]=I(n.summary,r[t])}),n._columnProportion=e,a(n.children,n._columnTotal)})}(n,r),{data:n,total:r}}function j(n){return h(n)||0===n}var yn=[[1e4,"万"],[1e8,"亿"]];function D(n,t){return en(n,t,"0")}function bn(n){return rn(n,"children",function(n){return{field:n.field,title:n.title,count:function e(n){var t=0;return d(n.children)?n.children.forEach(function(n){t+=e(n)}):t=1,t}(n)}})}function xn(i){i.forEach(function(n,e){n.forEach(function(n,t){n&&(n.rowSpan=function(n,t){for(var e,r=0;n<i.length&&(null==i||null==(e=i[n])||!e[t]);n++)r++;return r}(e+1,t)+1)})})}var kn=new(function(){function n(){this._list={}}var t=n.prototype;return t._resetGroupClickXAxisCategory=function(i){i.forEach(function(t){clearTimeout(t.timer_01),t.instence.off("click",t.onAxxisSeriesClick),t.instence.off("click",t.onAxxisCategoryClick),t.onAxxisCategoryClick=function(n){var e=n.tickIndex,r=!1!==n.needEmit;clearTimeout(t.timer_01),t.timer_01=setTimeout(function(){i.forEach(function(n){var t=w(n.instence.getOption());d(t.xAxis)&&t.xAxis.length&&r&&n.config&&n.config.onXAxisCtegoryClick&&(t=t.xAxis,n.config.onXAxisCtegoryClick(t.map(function(n){return n.data}),e,n.instence))})},30)},t.onAxxisSeriesClick=function(n){"markLine"!==n.componentType&&null!=t&&t.onAxxisCategoryClick&&t.onAxxisCategoryClick({tickIndex:n.dataIndex})},t.instence.on("click","series",t.onAxxisSeriesClick),t.instence.on("click","xAxis.category",t.onAxxisCategoryClick)})},t.clickXAsisCategory=function(n,t,e){var r,i=!0!==e;for(r in this._list)for(var o=0;o<this._list[r].length;o++){var a=this._list[r][o];a.instence===n&&a.onAxxisCategoryClick&&a.onAxxisCategoryClick({tickIndex:t,needEmit:i})}},t.add=function(n,t){var e=n.group;return e&&(this._list[e]=this._list[e]||[],this._list[e].push({config:t,instence:n,timer_01:-1}),this._resetGroupClickXAxisCategory(this._list[e])),this},t.remove=function(n){if(n)for(var t in this._list)for(var e=0;e<this._list[t].length;e++){var r=this._list[t][e];clearTimeout(r.timer_01),r.instence===n&&(r.instence.off("click",r.onAxxisCategoryClick),this._list[t].splice(e--,1))}},n}());function wn(n,t){return Object.assign(n,t)}n.Animate=function(){function n(n){this._timer=void 0,this._passTime=0,this._options=void 0,this._middleData=void 0,this._options=n,this._middleData=w(n.to)}var t=n.prototype;return t.start=function(){var t=this,{from:e,to:r,easing:c,duration:f,onChange:i}=this._options,o=(new Date).getTime()-this._passTime;return clearInterval(this._timer),this._timer=setInterval(function(){var a=Math.min((new Date).getTime()-o,f),n=(!function u(r,i,o){function n(n){var t,e;y(i[n])||y(o[n])?(t=x(i[n]),e=x(o[n]),r[n]=c(a,t,e-t,f)):(d(i[n])||s(i[n]))&&u(r[n],i[n],o[n])}if(d(i))for(var t=0;t<i.length;t++)n(t);else if(s(i))for(var e in r)n(e)}(t._middleData,e,r),a/f);1==n&&(clearInterval(t._timer),a=0),t._passTime=a,i(t._middleData,n)},17),this},t.stop=function(){return clearInterval(this._timer),this},t.dispose=function(){this.stop()},n}(),n.Polling=an,n._Array=_,n._Boolean=function(n){return!0===n||"true"===n||"1"===n||1===n},n._KvPair=g,n._Number=x,n._String=f,n.arrayRowToColumn=function(n,i){var t,e=[],o=(n.forEach(function(n){n=String(n[i.colField]);e.includes(n)||e.push(n)}),e.sort(null!=(c=i.colSort)?c:fn),{}),s=(n.forEach(function(t){var n=hn(i.uniqueRowId,t),e={},r=(i.uniqueRowId.forEach(function(n){e[n]=t[n]}),o[n.id]=o[n.id]||{value:e,name:n.label,data:{}},i.colCreate(t[i.colField]).field);o[n.id].data[r]=o[n.id].data[r]||[],o[n.id].data[r].push(t)}),[]);for(t in o)s.push({name:o[t].name,value:o[t].value,data:o[t].data,summary:{}});var a,u,r,c=e.map(function(n){var t=i.colCreate(n);return{value:n,label:t.label,field:t.field}}),h={};return i.summaryConfig&&(i.summaryConfig.row&&(a=s,u=i.summaryConfig.row,r=i.summaryConfig.averageField,a.forEach(function(c){var f=u[c.name];if(f){var l,n,s=0,h=0;for(n in c.data)!function(n){h++;var t,e=[],r=0,i=[],o=[],a=(c.data[n].forEach(function(n){y(f.count)||e.push(n[f.count.field]);var t=x(n[f.value.field]);switch(f.value.mode){case"uniqLength":i.push(n[f.value.field]),i=P(i),r=i.length;break;case"sum":case"avg":r+=t}0!==t&&o.push(t)}),0);if(y(f.count))a=f.count;else switch(f.count.mode){case"length":a=e.length;break;case"uniqLength":a=P(e).length;break;case"notZeroValue":a=o.length}var u=r;"avg"===f.value.mode&&(u=r/a),s+=u,c.summary[n]={value:u,proportion:0,riseRatio:l?dn(null==(t=c.summary[l])?void 0:t.value,u):void 0},l=n}(n);c.summary[r]={value:s/h,riseRatio:m,proportion:0}}}),a.forEach(function(n){var t=u[n.name];if(t){var e=a.find(function(n){return n.name===t.proportionBaseField});if(t.proportionBaseField&&e)for(var r in n.summary)n.summary[r].proportion=n.summary[r].value/e.summary[r].value}}),s=a),i.summaryConfig.column&&(h=function(f,l,s){var n,h={},d={},t=function(i){d[i]={},h[i]={};var n,o=l[i],t=(f.forEach(function(r){for(var n in r.data)!function(n){h[i][n]=h[i][n]||{data:[],sum:0};var t=[],e=0;switch(r.data[n].forEach(function(n){switch(t.push(n[o.field]),o.mode){case"uniqLength":t=P(t);break;case"avg":case"sum":e+=n[o.field];break;case"notZeroLength":0!==x(n[o.field])&&e++}}),o.mode){case"uniqLength":t=P(t);break;case"avg":e/=r.data[n].length}h[i][n].data=h[i][n].data.concat(t),h[i][n].sum+=e}(n)}),void 0);for(n in h[i]){var e,r=0;switch(o.mode){case"avg":r=h[i][n].sum/f.length;break;case"uniqLength":r=P(h[i][n].data).length;break;case"notZeroLength":case"sum":r=h[i][n].sum}d[i][n]={value:r,proportion:0,riseRatio:t?dn(null==(e=d[i][t])?void 0:e.value,r):void 0},t=n}var a,u=0,c=0;for(a in d[i])u+=d[i][a].value,c++;d[i][s]={value:u/c,riseRatio:m,proportion:0}};for(n in l)t(n);return d}(s,i.summaryConfig.column,i.summaryConfig.averageField))),{columns:c,data:s,colSummary:h,getExtRow:function(t,n,e){var r,i=s.find(function(n){return n.name===t}),o={};if(!i){var a=n,u=e,c=h[t],f={};if(c)for(var l in c)f[l]=u(c[l][a]);return f}for(r in i.summary)o[r]=e(i.summary[r][n]);return o}}},n.changeIndex=function(n,t,e){return n<0?t:((t=(t+e)%(n+=1))<0&&(t+=n),-0===t?0:t)},n.cloneEasy=w,n.connectEcharts=kn,n.dataPage=function(n,t,e){if(e<1)throw"页码必须大于0";var r=(e-1)*t,i=r+t;return{current:e,total:n.length,size:t,pages:Math.ceil(n.length/t),data:w(n.slice(r,i))}},n.debounce=function(r,n,t){var e,i,o,a,u=M(500,n),{leading:c,trailing:f}=wn({leading:!1,trailing:!0},t),l=!1,s=!1;function h(){clearTimeout(e),e=setTimeout(d,u)}function d(){l=!1}function m(){l=!0,h(),r.apply(self,a)}function v(){if(!s){o=this;for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];a=t,c&&(l||(l=!0,r.apply(o,a)),h()),f&&(clearTimeout(i),i=setTimeout(m,u))}}return v.cancel=function(){clearTimeout(e),clearTimeout(i)},v.dispose=function(){clearTimeout(e),clearTimeout(i),s=!0},v},n.deepFindItem=S,n.deepFindTreePath=function(n,t,e){e=Object.assign(J,e);for(var r=[],i=w(n),o=new Set,a=e["children"];i.length;){var u=i[0];if(o.has(u))r.pop(),i.shift();else if(o.add(u),u[a]&&i.unshift.apply(i,u[a]),r.push(u),t(u))return r}return undefined},n.defineEventBus=function(i){if(O[i])throw'"'+i+'" Has already been registered!';return O[i]=O[i]||[],{on:function(n){O[i].push(n)},emit:function(){for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];for(var r=0;r<O[i].length;r++)O[i][r].apply(m,t)},off:function(n){if(!n)throw"the hander of off is required!";for(var t=0;t<O[i].length;t++)O[i][t]===n&&O[i].splice(t--,1)},dispose:function(){for(var n=0;n<O[i].length;n++)O[i].splice(n--,1);delete O[i]},eventList:function(){return O[i]}}},n.defualtFormatter=M,n.difference=vn,n.fieldCheck=cn,n.filterWithMove=function(n,t){for(var e=[],r=0;r<n.length;r++){var i=n[r];t(i,r,n)&&(e.push(i),n.splice(r--,1))}return e},n.floorFixed=function(n,t,e){var r=(n=E(n=b(x(n)),"."))[1]||"";return r.length<t&&(r=T(r,t,"0"),e&&(r=r.replace(/0+$/,""))),t<1||!r?n[0]:n[0]+"."+r.substring(0,t)},n.forEach=k,n.forEachKvPair=F,n.forEachTree=function(n,i,o){o=o||"children",function a(n,t){for(var e=0;e<n.length;e++){var r=w(t);i(n[e],r),d(n[e][o])&&(r.push(n[e]),a(n[e][o],r))}}(n,[])},n.formatTime=function(n){var t=(n=new Date(n)).getFullYear(),e=n.getMonth()+1,r=n.getDate(),i=n.getHours(),o=n.getMinutes(),a=n.getSeconds(),n=n.getMilliseconds();return D(t,4)+"/"+D(e,2)+"/"+D(r,2)+" "+D(i,2)+":"+D(o,2)+":"+D(a,2)+":"+D(n,3)},n.getLikeNumberRegExp=function(){return Q},n.getPiecesWithIndex=function(n,r){var i=[];return k(n,function(t,n){var e=r.find(function(n){return t>=n.min&&t<n.max});e&&i.push({gte:n,lt:n+1,color:e.color})}),i},n.getRandom=A,n.getRatio=I,n.getRiseRatio=function(n,t){return j(n)&&j(t)?0:j(n)?1:j(t)?-1:(t-n)/n},n.getSortIndex=function(n,e){var t=mn(n),r=mn(n);return r.sort(function(n,t){return e(n.value,t.value)}),t.map(function(t){return r.findIndex(function(n){return t.index===n.index})})},n.getType=l,n.isArray=d,n.isEmpty=p,n.isFunction=r,n.isFuzzyMatch=function(n,t,e){var r=!0;return(n=b(n,"*"))&&(n=E(n,"").join(".*"),r=new RegExp(n,f(e)).test(t)),r},n.isKvPair=s,n.isLikeNumber=Y,n.isNull=h,n.isString=v,n.listGroup=function(n,t){var l=_n(n,t);function o(n,t,e,r,i){var o=S(l.data,function(n){return 0===vn(n.uidPath,t,function(n,t){return n===t}).length}),a=M("",i);if(o)try{switch(n){case"_columnRiseRatio":case"_columnTotal":case"_columnProportion":var u=o[n][e];return h(u)?a:r(u);default:var c=o[n][e].summary;return h(c)?a:r(c,o[n][e].data)}}catch(f){return a}return a}function a(n,t,e,r){return o("_columns",n,t,e,r)}function u(n,t,e,r){return o("_columnProportion",n,t,e,r)}return{data:l.data,getCellValue:a,getCellVerticalRiseRatio:function(n,t,e,r){return o("_columnRiseRatio",n,t,e,r)},getCellVerticalTotal:function(n,t,e,r){var i;return"*"===n?h(i=l.total[t])?M("",r):e(i):o("_columnTotal",n,t,e,r)},getCellVerticalProportion:u,getRowCellValue:function(t,n,e,r){var i={};return n.forEach(function(n){i[n.id]=a(t,n.field,e,r)}),i},getRowVerticalProportion:function(t,n,e,r){var i={};return n.forEach(function(n){i[n.id]=u(t,n.field,e,r)}),i},getOriginGroupData:function(t,n){var e=S(l.data,function(n){return 0===vn(n.uidPath,t,function(n,t){return n===t}).length});return e&&null!=(e=null==(n=e._columns[n])?void 0:n.data)?e:[]},getOriginAllData:function(){return n}}},n.mapKvPair=function(n,t){var e,r={};for(e in n)r[e]=t(w(n[e]),e);return r},n.mapTree=rn,n.mixInZeroWidthUnicode=function(n){return E(n,"").join("‎")},n.padEnd=T,n.padStart=en,n.param=K,n.parseQuery=e,n.parseTreeToTableHeader=function(n){return xn(n=function u(n,i,o,a){return i[o]||(i[o]=[]),--a,n.forEach(function(n){var t=a+1,e=(a=t+n.count-1)-t+1,e={colStart:t,colEnd:a,colSpan:e,count:n.count,field:n.field,title:n.title,rowSpan:1};i[o][t]=e;for(var r=1;r<n.count;r++)i[o][t+r]=void 0;d(n.children)&&0<n.children.length&&u(n.children,i,o+1,t)}),i.forEach(function(n){for(var t=0;t<i[0].length;t++)n[t]||(n[t]=void 0)}),i}(bn(n),[],0,0)),{columns:function(n){for(var e=[],t=n.length-1;0<=t;t--)n[t].forEach(function(n,t){n&&n.field&&h(e[t])&&(e[t]=n.field)});return e}(n),data:n}},n.randomColor=function(){return"rgba("+A(0,255,!0)+","+A(0,255,!0)+","+A(0,255,!0)+",1)"},n.repeatString=nn,n.roundFixed=function(n,t,e){n=x(n);var r,i=Math.pow(10,t),n=f(Math.round(n*i)/i);return 0<t&&(r=(i=E(n,"."))[0],(i=i[1]||"").length<t&&(i=T(i,t,"0"),n=(i=e?i.replace(/0+$/,""):i)?r+"."+i:r)),n},n.shake=function(n,t){return t=Object.assign({string:!0,array:!0,kvPair:!0},t),function i(n,t){if(s(n))for(var e in n){var r=n[e];(d(r)||s(r))&&i(r,t),z(r,t)&&delete n[e]}}(n=w(n),t),n},n.shortNumber=function(n,t,e){for(var r=h(e)?yn:e,i=(r.sort(function(n,t){return t[0]-n[0]}),n),o="",a=0;a<r.length;a++){var u=r[a],c=n/u[0];if(1<=Math.abs(c)){i=c,o=u[1];break}}return{value:i,fmtValue:t(i),unit:o}},n.sortWithIndex=function(n,t){for(var e=[],r=0;r<n.length;r++)e[r]=n[t[r]];return e},n.spanTable=function(n,o){var u=w(n),c={};function e(i,o){var a=0;u.forEach(function(n,t){n.$rowSpan=null!=(r=n.$rowSpan)?r:{};var e,r=n[i];c[i]=null!=(e=c[i])?e:0,1<c[i]?(n.$rowSpan[i]=0,c[i]--):(e=function(n,t,e,r){var i=1;for(n++;n<r.length;n++){var o=r[n][t];if(o!==e&&!p(o))break;i++}return i}(t,i,r,u),void 0!==o&&(r=function(n,t,e){for(var r=0;0<=t&&!(0<(r=n[t].$rowSpan[e]));t--);return r}(u,t,o),0<a?r<=a+e?(e=r-a,a=0):a+=e:e<r?a=e:e=r),c[i]=e,n.$rowSpan[i]=c[i])})}return o.forEach(function(n,t){e(n,o[t-1])}),u.forEach(function(r){r.$colField={};var i=0;o.forEach(function(n,t){var e=r[n];1<i?(r.$colField[n]=0,i--):(i=function(n,t,e,r){var i=1;for(n++;n<r.length;n++){var o=b(e[r[n]]);if(o!==t&&!p(o))break;i++}return i}(t,e,r,o),r.$colField[n]=i)})}),u},n.split=E,n.thousands=function(n,i,o){return i=i||3,o=o||",",(v(n)?n:f(n)).replace(/([^.]*)?(\.)?(.*)?/,function(n,t,e,r){return f(t).replace(new RegExp("(.(?=(.{"+i+"})+$))","g"),"$1"+o)+f(e)+f(r)})},n.throttle=function(n,t,e){var r,i,o,a,u,c=M(500,t),{leading:f,trailing:l}=wn({leading:!0,trailing:!0},e),s=0,h=0,d=!1;function m(){h=s=0}function v(){l&&(1<h||!f)?(g(),u=setTimeout(m,c)):m()}function g(){s=+new Date,n.apply(i,a)}function p(){if(!d){h++;for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];a=t,i=this,r=+new Date,clearTimeout(o),clearTimeout(u),0===s?f?g():s=r:c<=r-s&&g(),o=setTimeout(v,c)}}return p.cancel=function(){clearTimeout(o),clearTimeout(u)},p.dispose=function(){clearTimeout(o),clearTimeout(u),d=!0},p},n.tree=function(n,t){for(var e=(t=g(t)).id||"id",r=t.pid||"pid",i=t.children||"children",o=0;o<n.length;o++){var a,u=n[o];(a=S(n,function(n){return null!=n[e]&&n[e]!=u[e]&&n[e]===u[r]},i))&&(a[i]=_(a[i]),a[i].push(u),n.splice(o--,1))}return n},n.treeLeafs=function(n){var t=[];return function e(n,t){k(n,function(n){d(n.children)?e(n.children,t):t.push(n)})}(n,t),t},n.trim=b,n.union=function(){for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];var r=new Set(t);return Array.from(r)},n.urlToGet=function(n,t){n=f(n);var o=s(t)?t:e(t),t=e(n=n.replace(/({{)(.*?)(}})/g,function(n,t,e,r){e=b(e);var i=o[e];return delete o[e],i})),t=K(o=Object.assign(t,o));return n=t?(n=n.replace(/\?.*/,""))+"?"+t:n},n.uuid=function(n){n=x(n);for(var t="",e=0;e<13;e++)t+=A(1,9);return n=(new Date).getTime()*A(1,100),T(R()+Number(t).toString(32)+n.toString(32),20,R()+R()+R())},n.variableHasValue=C});
@@ -386,7 +386,7 @@ declare function main<T extends TKvPair, K extends TKvPair, C extends keyof T>(
386
386
  childKeyFrom?: keyof K
387
387
  ): T[];
388
388
 
389
- type EventHander = (...args: any[]) => void;
389
+ type EventHander$2 = (...args: any[]) => void;
390
390
  /**
391
391
  * 事件订阅,可获得TS类型推导支持
392
392
  * @param eventName - 订阅名
@@ -410,7 +410,7 @@ type EventHander = (...args: any[]) => void;
410
410
  * useUpdateDataBus.dispose()
411
411
  * ```
412
412
  */
413
- declare function defineEventBus<T extends EventHander>(
413
+ declare function defineEventBus<T extends EventHander$2>(
414
414
  eventName: string
415
415
  ): {
416
416
  /** 追加订阅 */
@@ -421,7 +421,7 @@ declare function defineEventBus<T extends EventHander>(
421
421
  off: (hander: T) => void;
422
422
  /** 销毁所有订阅 */
423
423
  dispose: () => void;
424
- eventList: () => EventHander[];
424
+ eventList: () => EventHander$2[];
425
425
  };
426
426
 
427
427
  /**
@@ -985,6 +985,43 @@ declare class Animate<T extends TKvPair> {
985
985
  dispose(): void;
986
986
  }
987
987
 
988
+ type EventHander$1 = (...args: any[]) => void;
989
+ /**
990
+ * 防抖函数。默认执行条件范围内最后一次
991
+ * @param handler - 处理回调
992
+ * @param interval - 频率(毫秒)
993
+ * @param options - 配置项
994
+ * @param options.leading - 立即执行
995
+ * @param options.trailing - 延后执行
996
+ * @returns
997
+ */
998
+ declare function debounce<T extends EventHander$1>(
999
+ handler: T,
1000
+ interval?: number,
1001
+ options?: {
1002
+ leading?: boolean;
1003
+ trailing?: boolean;
1004
+ }
1005
+ ): {
1006
+ (this: any, ...v: Parameters<T>): void;
1007
+ cancel(): void;
1008
+ dispose(): void;
1009
+ };
1010
+
1011
+ type EventHander = (...args: any[]) => void;
1012
+ declare function throttle<T extends EventHander>(
1013
+ handler: T,
1014
+ interval?: number,
1015
+ options?: {
1016
+ leading?: boolean;
1017
+ trailing?: boolean;
1018
+ }
1019
+ ): {
1020
+ (this: any, ...v: Parameters<T>): void;
1021
+ cancel(): void;
1022
+ dispose(): void;
1023
+ };
1024
+
988
1025
  declare global {
989
1026
  /**
990
1027
  * 该声明文件用于全局声明(不用npm安装时拷贝到项目中直接使用)
@@ -1004,6 +1041,7 @@ declare global {
1004
1041
  cloneEasy,
1005
1042
  _default as connectEcharts,
1006
1043
  dataPage,
1044
+ debounce,
1007
1045
  deepFindItem,
1008
1046
  deepFindTreePath,
1009
1047
  defineEventBus,
@@ -1049,6 +1087,7 @@ declare global {
1049
1087
  spanTable,
1050
1088
  split,
1051
1089
  thousands,
1090
+ throttle,
1052
1091
  flatArrayToTree as tree,
1053
1092
  treeLeafs,
1054
1093
  trim,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bestime/utils_base",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "main": "./dist/esm/index.min.mjs",
5
5
  "module": "./dist/esm/index.min.mjs",
6
6
  "typings": "./dist/esm/index.min.d.ts",