ddan-js 1.8.2 → 1.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/class/tracker.d.ts +45 -0
- package/bin/ddan-js.esm.js +1 -1
- package/bin/ddan-js.js +1 -1
- package/bin/index.d.ts +1 -1
- package/bin/lib/class/tracker.js +116 -0
- package/bin/lib/index.js +2 -2
- package/bin/lib/modules/cdn.js +1 -1
- package/bin/types/class/tracker.d.ts +45 -0
- package/bin/types/index.d.ts +1 -1
- package/package.json +1 -1
- package/bin/class/monitor.d.ts +0 -28
- package/bin/class/track.d.ts +0 -12
- package/bin/lib/class/monitor.js +0 -97
- package/bin/lib/class/track.js +0 -22
- package/bin/types/class/monitor.d.ts +0 -28
- package/bin/types/class/track.d.ts +0 -12
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare class DTrack {
|
|
2
|
+
id: string;
|
|
3
|
+
/** 开始时间戳 */
|
|
4
|
+
start: number;
|
|
5
|
+
/** 结束时间戳 */
|
|
6
|
+
end: number;
|
|
7
|
+
/** 耗时 */
|
|
8
|
+
cost: number;
|
|
9
|
+
name: string;
|
|
10
|
+
type: string;
|
|
11
|
+
desc: string;
|
|
12
|
+
/** 开始时间描述 */
|
|
13
|
+
timeStartDesc: string;
|
|
14
|
+
/** 结束时间描述 */
|
|
15
|
+
timeEndDesc: string;
|
|
16
|
+
/** 是否完成 */
|
|
17
|
+
isDone: boolean;
|
|
18
|
+
/** 标志 0:默认,1:结束 */
|
|
19
|
+
flag: 0 | 1;
|
|
20
|
+
constructor();
|
|
21
|
+
/** 执行时间戳 */
|
|
22
|
+
get time(): number;
|
|
23
|
+
/** 执行时间描述 */
|
|
24
|
+
get timeDesc(): string;
|
|
25
|
+
done: (t?: number) => void;
|
|
26
|
+
}
|
|
27
|
+
export declare class DTracker {
|
|
28
|
+
_map: Map<string, DTrack>;
|
|
29
|
+
_trackList: DTrack[];
|
|
30
|
+
can: boolean;
|
|
31
|
+
clear(): this;
|
|
32
|
+
add(name: string, { desc, type }?: {
|
|
33
|
+
desc?: string | undefined;
|
|
34
|
+
type?: string | undefined;
|
|
35
|
+
}): string;
|
|
36
|
+
done(id: string): void;
|
|
37
|
+
getTrack(id: string): DTrack | undefined;
|
|
38
|
+
getLine(id: string): any[];
|
|
39
|
+
getListByName(name: string, id?: string): DTrack[];
|
|
40
|
+
getList(): DTrack[];
|
|
41
|
+
size(): number;
|
|
42
|
+
_endId: (id: string) => string;
|
|
43
|
+
}
|
|
44
|
+
declare const tracker: DTracker;
|
|
45
|
+
export default tracker;
|
package/bin/ddan-js.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const t="0123456789",r="abcdefghijklmnopqrstuvwxyz",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var s={keyNumber:t,keyLower:r,keyUpper:n,keyChars:t+r+n};const i=(e=0,t=0)=>{const r=s.keyChars.split(""),n=[];let i;if(t=t||r.length,e)for(i=0;i<e;i++)n[i]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",i=0;i<36;i++)n[i]||(e=0|16*Math.random(),n[i]=r[19==i?3&e|8:e])}return n.join("")};class o{_map;_event_id_="";constructor(){this._map=new Map,this._event_id_=i()}clear(){return this._map.clear(),this}on(e,t){if(!e||!t)return this;let r=this._map.get(e);return r||(r=new Set,this._map.set(e,r)),r.add(t),this}emit(e,...t){if(!e)return this;const r=this._map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;const r=this._map.get(e);return r?(r.delete(t),this):this}remove(e){return e?(this._map.delete(e),this):this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this._map.has(e)}}class a{_loopTimer;_event=new o;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0)}stop(){this._loopTimer&&(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1)}restart(){this.stop(),this.start()}on(e){this._event.on("frame",e)}off(e){e&&this._event.off("frame",e)}_handleLoop(){this._event.emit("frame")}}var u={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class c{date;countdown=0;countdownS=0;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(){if(!this.timestamp)return this;this.countdown=Math.max(this.timestamp-Date.now(),0),this.countdownS=Math.floor(this.countdown/u.oneSecond);let e=this.countdown;return this.d=Math.floor(e/u.oneDay),this.dd=(this.d<10?"0":"")+this.d,e%=u.oneDay,this.h=Math.floor(e/u.oneHour),this.hh=(this.h<10?"0":"")+this.h,e%=u.oneHour,this.m=Math.floor(e/u.oneMinute),this.mm=(this.m<10?"0":"")+this.m,e%=u.oneMinute,this.s=Math.floor(e/u.oneSecond),this.ss=(this.s<10?"0":"")+this.s,e%=u.oneSecond,this.S=e,this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}countdownFormat(e=""){let t=e;return t||(t=this.countdown>u.oneHour?"hh:mm:ss":this.countdown>u.oneMinute?"mm:ss":"ss"),t.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}}const l=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?f(r).format(t):""},f=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new c(t||0)};function h({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(l(Date.now(),o)).getTime()}var d={...u,now:function(){return f(Date.now())},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:h,todayZero:()=>h({}),format:l,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return f(r).toCountdown().countdownFormat(t)},timeformat:f,loopFrame:(e=500)=>new a(e)},p="object"==typeof global&&global&&global.Object===Object&&global,g="object"==typeof self&&self&&self.Object===Object&&self;const m=(p||g||Function("return this")()).Symbol,{toString:y,hasOwnProperty:b,propertyIsEnumerable:w}=Object.prototype,v=m?m.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){const t=b.call(e,v),r=e[v];let n=!1;try{e[v]=void 0,n=!0}catch(e){}const s=y.call(e);return n&&(t?e[v]=r:delete e[v]),s}(e):y.call(e)}var k={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:y,hasOwnProperty:b,propertyIsEnumerable:w},x="[object Function]",q="[object GeneratorFunction]",A="[object AsyncFunction]",O=9007199254740991;const j=/^(?:0|[1-9]\d*)$/;function S(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function _(e){return null!=e&&"object"==typeof e}const C=Array.isArray;function F(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=O}(e.length)&&!R(e)}function E(e){return _(e)&&F(e)}function R(e){var t=S(e)?k.getTag(e):"";return t===x||t===q||t===A}var L={is:function(e,t){return k.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===k.getTag(e)},isString:function(e){return"string"==typeof e||!C(e)&&_(e)&&"[object String]"==k.getTag(e)},isObject:S,isObjectLike:_,isPlainObject:function(e){if(!_(e)||"[object Object]"!=k.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||_(e)&&"[object Symbol]"===k.getTag(e)},isFunction:R,isArray:C,isArrayLikeObject:E,isIndex:function(e,t){return!!(t=null==t?O:t)&&("number"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:F,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return E(e)&&k.hasOwnProperty.call(e,"callee")&&(!k.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==k.toString.call(e))},isPromise:function(e){return"[object Promise]"===(S(e)?k.getTag(e):"")}};const M=NaN,I=/^\s+|\s+$/g,P=/^[-+]0x[0-9a-f]+$/i,T=/^0b[01]+$/i,D=/^0o[0-7]+$/i,N=parseInt,U=1/0,B=17976931348623157e292;function z(e){if("number"==typeof e)return e;if(L.isSymbol(e))return M;if(L.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=L.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(I,"");const t=T.test(e);return t||D.test(e)?N(e.slice(2),t?2:8):P.test(e)?M:+e}function V(e){return e?(e=z(e))===U||e===-U?(e<0?-1:1)*B:e==e?e:0:0===e?e:0}var Z={toNumber:z,toFinite:V,toInteger:function(e){var t=V(e),r=t%1;return t==t?r?t-r:t:0}};const W="Expected a function",H=Math.max,J=Math.min;function K(e,t=0,r={}){var n,s,i,o,a,u,c=0,l=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(W);function d(t){var r=n,i=s;return n=s=void 0,c=t,o=e.apply(i,r)}function p(e){var r=e-u;return void 0===u||r>=t||r<0||f&&e-c>=i}function g(){var e=Date.now();if(p(e))return m(e);a=setTimeout(g,function(e){var r=t-(e-u);return f?J(r,i-(e-c)):r}(e))}function m(e){return a=void 0,h&&n?d(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=p(r);if(n=arguments,s=this,u=r,i){if(void 0===a)return function(e){return c=e,a=setTimeout(g,t),l?d(e):o}(u);if(f)return a=setTimeout(g,t),d(u)}return void 0===a&&(a=setTimeout(g,t)),o}return t=Z.toNumber(t)||0,L.isObject(r)&&(l=!!r.leading,i=(f="maxWait"in r)?H(Z.toNumber(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),c=0,n=u=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}class G{source;constructor(e){this.source=e}run(){let e;try{let t;return t=L.isFunction(this.source)?this.source():this.source,e=L.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new G(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new G(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new G(e).run();const s=await n;return this._unlock(t),s}}class Y{_list=[];constructor(e){this.push(e)}push(e){return e&&this._list.push(e),this}clear(){return this._list=[],this}_exec(e,t){let r;if(L.isFunction(e))r=e(t);else{if(L.isPromise(e))return e.then((e=>({...t,...e})));r=e}return L.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this._list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}const Q=(e=1e3)=>new Promise((t=>{setTimeout(t,e)}));var X={sleep:Q,run:async(e,t=0)=>{if(t<=0)return new G(e).run();const r=t>0?Date.now():0,n=await new G(e).run(),s=Date.now()-r;return s<t&&await Q(t-s),n},exec:(e,t="")=>G.exec(e,t),debounce:K,throttle:function(e,t=0,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return L.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),K(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new Y(e)};function ee(e){return Math.floor(Math.random()*e)}var te={random:ee,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n}};function re(e){return e!=e}function ne(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var se,ie,oe=(se=Object.keys,ie=Object,function(e){return se(ie(e))}),ae=Math.max;function ue(e,t){var r=L.isArray(e)||L.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var i in e)!t&&!k.hasOwnProperty.call(e,i)||s&&("length"==i||L.isIndex(i,n))||r.push(i);return r}function ce(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const le=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function fe(e){return le.test(e)}const he="\\ud800-\\udfff",de=`[${he}]`,pe="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ge="\\ud83c[\\udffb-\\udfff]",me=`[^${he}]`,ye="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",we=`${`(?:${pe}|${ge})`}?`,ve="[\\ufe0e\\ufe0f]?",$e=ve+we+`(?:\\u200d(?:${[me,ye,be].join("|")})${ve+we})*`,ke=`(?:${[`${me}${pe}?`,pe,ye,be,de].join("|")})`,xe=RegExp(`${ge}(?=${ge})|${ke+$e}`,"g");function qe(e){return fe(e)?function(e){return e.match(xe)||[]}(e):function(e){return e.split("")}(e)}function Ae(e){return t=>{if(!t)return"";const r=fe(t)?qe(t):void 0,n=r?r[0]:t[0],s=r?ce(r,1).join(""):t.slice(1);return n[e]()+s}}const Oe="\\ud800-\\udfff",je="\\u2700-\\u27bf",Se="a-z\\xdf-\\xf6\\xf8-\\xff",_e="A-Z\\xc0-\\xd6\\xd8-\\xde",Ce="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Fe="['’]",Ee=`[${Ce}]`,Re=`[${je}]`,Le=`[${Se}]`,Me=`[^${Oe}${Ce+"\\d"+je+Se+_e}]`,Ie="(?:\\ud83c[\\udde6-\\uddff]){2}",Pe="[\\ud800-\\udbff][\\udc00-\\udfff]",Te=`[${_e}]`,De=`(?:${Le}|${Me})`,Ne=`(?:${Te}|${Me})`,Ue=`(?:${Fe}(?:d|ll|m|re|s|t|ve))?`,Be=`(?:${Fe}(?:D|LL|M|RE|S|T|VE))?`,ze="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ve="[\\ufe0e\\ufe0f]?",Ze=Ve+ze+`(?:\\u200d(?:${[`[^${Oe}]`,Ie,Pe].join("|")})${Ve+ze})*`,We=`(?:${[Re,Ie,Pe].join("|")})${Ze}`,He=RegExp([`${Te}?${Le}+${Ue}(?=${[Ee,Te,"$"].join("|")})`,`${Ne}+${Be}(?=${[Ee,Te+De,"$"].join("|")})`,`${Te}?${De}+${Ue}`,`${Te}+${Be}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",We].join("|"),"g");const Je=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),Ke=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ge(e,t){if(void 0===t){const t=Je(e)?function(e){return e.match(He)}(e):function(e){return e.match(Ke)}(e);return t||[]}return e.match(t)||[]}function Ye(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Ye(e)))}`;if(L.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Qe=Ae("toUpperCase"),Xe=Ae("toLowerCase");var et={toString:Ye,startCase:e=>Ge(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Qe(t)),""),snakeCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Qe(t):t))),""),upperCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Qe,lowerCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Xe,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const tt=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=tt(e[r]));return t};var rt={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!1}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const t=s?i&&e.startsWith("_")?e:et.camelCase(e):e;n.length>0&&!n.includes(e)&&!n.includes(t)||(o[t]=r[e])}return o},clone:tt,merge:function(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e},isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=et.parseValue(n,{number:t,boolean:r});else e[n]=et.parseValue(s,{number:t,boolean:r});return e}};var nt={...L,...k,...rt,includes:function(e,t,r,n){e=L.isArrayLike(e)?e:function(e){return e?ne(e,function(e){return L.isArrayLike(e)?ue(e):function(e){if(!L.isPrototype(e))return oe(e);var t=[];for(var r in Object(e))k.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?Z.toInteger(r):0;var s=e.length;return r<0&&(r=ae(s+r,0)),L.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,re,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},compareArray:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;r++)if(e[r]!==t[r])return!1;return!0},forof:(e,t)=>{if(!e)return;let r;if(L.isObject(e)&&(r=L.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var st={groupBy:(e,t)=>e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{}),first:e=>{if(!e)return;return e.length<=0?void 0:e[0]},last:e=>{if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var it={...st,stepAction:function(e,t,r=100){if(!L.isFunction(t))return;if(!L.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:(e,t)=>{if(!L.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:(e,t,r=0)=>{if(!L.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:e=>!L.isArray(e)||e.length<=0?[]:[...new Set(e)],randoms:(e,t=1,r=!1)=>{const n=e.length||0;return te.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!L.isObject(e))return;const s=e[t];(L.isString(s)&&""!==s||L.isNumber(s))&&(n[s]=e[r])})),n):n}};const ot="[object Object]",at="[object Array]",ut=e=>Object.prototype.toString.call(e),ct=(e,t,r=!1)=>{if(e===t)return;const n=ut(e);if(n===ut(t))if(n===at&&e.length>=t.length)for(let r=0;r<t.length;r++)ct(e[r],t[r]);else if(n===ot&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?ct(e[n],t[n]):e[n]=null},lt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=ut(e),o=ut(t);if(i===at&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)lt(e[s],t[s],r,`${n}[${s}]`);else if(i===ot&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=ut(s),u=ut(o);if(s!==o)if(a===at&&u===a&&s.length>=o.length)for(let e=0;e<s.length;e++)lt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===ot&&u===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)lt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class ft{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class ht{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new ft,response:new ft};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){ht.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete ht.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=rt.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let i;try{if("block"===n.model)this.lockR(ht.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await ht.requestLock[ht.blockId].request;else if(ht.requestLock[ht.blockId]&&ht.requestLock[ht.blockId].lock&&await ht.requestLock[ht.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),ht.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await ht.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const dt=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var pt={diff:function(e,t){const r={};return(e=>{if(ut(e)===ot)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];ut(n[t])!==ot&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),ct(e,t,!0),lt(e,t,r,"",!0),r},promixify:dt,run:(e,t={})=>e?X.run(dt(e)(t)):X.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:ht};const gt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},mt=function(e,t=!0){return t?encodeURIComponent(e):e};var yt={parse:function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const u={};if("string"!=typeof e||0===e.length)return u;const c=/\+/g,l=n||1e3;let f=(e=e.split(t)).length;l>0&&f>l&&(f=l);for(let t=0;t<f;++t){let n,o,a,l,f=e[t].replace(c,"%20"),h=f.indexOf(r);h>=0?(n=f.substr(0,h),o=f.substr(h+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,l=i?decodeURIComponent(o):o,k.hasOwnProperty.call(u,a)&&s?Array.isArray(u[a])?u[a].push(l):u[a]=[u[a],l]:u[a]=l}return rt.parseValue(u,{number:o,boolean:a}),u},stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const i=mt(gt(n),s)+r;return Array.isArray(e[n])?e[n].map((function(e){return i+mt(gt(e),s)})).join(t):i+mt(gt(e[n]),s)})).filter(Boolean).join(t):n?mt(gt(n),s)+r+mt(gt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=e.split("?"),r=t[0],n=t.length>1?t[1]:"";let s="";const i=r.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);return i&&(s=i[1]),{url:e,path:r,page:s,query:n}}};const bt=/%[sdj%]/g;let wt=()=>{};function vt(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function $t(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(bt,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function kt(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function xt(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(wt=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class qt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function At(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);xt(o,r,(e=>(n(e),e.length?i(new qt(e,vt(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let u=0;const c=[],l=new Promise(((t,l)=>{const f=e=>{if(c.push.apply(c,e),u++,u===a)return n(c),c.length?l(new qt(c,vt(c))):t(s)};o.length||(n(c),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?xt(n,r,f):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return l.catch((e=>e)),l}function Ot(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function jt(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const St=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!kt(t,i||e.type)||n.push($t(s.messages.required,e.fullField))};let _t;const Ct=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,Ft=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Et={integer:e=>Et.number(e)&&parseInt(e,10)===e,float:e=>Et.number(e)&&!Et.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!Et.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ct),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(_t)return _t;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),u=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");u.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),u.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const c=u.v4().source,l=u.v6().source;return _t=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${c}|${l}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),_t})()),hex:e=>"string"==typeof e&&!!e.match(Ft)},Rt="enum";var Lt={required:St,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push($t(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void St(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Et[i](t)||n.push($t(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push($t(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let c=t,l="";const f="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(f?l="number":h?l="string":d&&(l="array"),!l)return!1;d&&(c=t.length),h&&(c=t.replace(u,"_").length),i?c!==e.len&&n.push($t(s.messages[l].len,e.fullField,e.len)):o&&!a&&c<e.min?n.push($t(s.messages[l].min,e.fullField,e.min)):a&&!o&&c>e.max?n.push($t(s.messages[l].max,e.fullField,e.max)):o&&a&&(c<e.min||c>e.max)&&n.push($t(s.messages[l].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Rt]=Array.isArray(e[Rt])?e[Rt]:[],-1===e[Rt].indexOf(t)&&n.push($t(s.messages[Rt],e.fullField,e[Rt].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push($t(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push($t(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Mt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,i)&&!e.required)return r();Lt.required(e,t,n,o,s,i),kt(t,i)||Lt.type(e,t,n,o,s)}r(o)};var It={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(kt(t,"string")&&!e.required)return r();Lt.required(e,t,n,i,s,"string"),kt(t,"string")||(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s),Lt.pattern(e,t,n,i,s),!0===e.whitespace&&Lt.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&Lt.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&Lt.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),kt(t)||Lt.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Lt.required(e,t,n,i,s,"array"),null!=t&&(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&Lt.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&Lt.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,"string")&&!e.required)return r();Lt.required(e,t,n,i,s),kt(t,"string")||Lt.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,"date")&&!e.required)return r();if(Lt.required(e,t,n,i,s),!kt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Lt.type(e,r,n,i,s),r&&Lt.range(e,r.getTime(),n,i,s)}}r(i)},url:Mt,hex:Mt,email:Mt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Lt.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s)}r(i)}};function Pt(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Tt=Pt();class Dt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");It[e]=t};static warning=wt;static messages=Tt;static validators=It;rules={};_messages=Tt;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=jt(Pt(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Tt&&(e=Pt()),jt(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return At(o,s,((e,t)=>{const r=e.rule;let i,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function u(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function c(i=[]){let c=Array.isArray(i)?i:[i];!0===s.suppressWarning&&c.length&&Dt.warning("async-validator:",c),c.length&&void 0!==r.message&&(c=[].concat(r.message));let l=c.map(Ot(r,n));if(s.first&&l.length)return a[r.field]=1,t(l);if(o){if(r.required&&!e.value)return void 0!==r.message?l=[].concat(r.message).map(Ot(r,n)):s.error&&(l=[s.error(r,$t(s.messages.required,r.field))]),t(l);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(u.bind(null,e))}));const a=new Dt(o);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];l&&l.length&&r.push(...l),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(l)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,c,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,c,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),c(e.message)}!0===i?c():!1===i?c("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?c(i):i instanceof Error&&c(i.message)}i&&i.then&&i.then((()=>c()),(e=>c(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=vt(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!It.hasOwnProperty(e.type))throw new Error($t("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?It.required:It[this.getType(e)]||void 0}}function Nt(e){return new Dt(e)}var Ut={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Nt,validate:function(e,t,r={},n=(()=>{})){return X.run(Nt(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var Bt={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const zt=`${s.keyUpper}${s.keyLower}${s.keyNumber}+/=`,Vt=e=>{let t,r,n,s,i,o,a,u="",c=0;for(e=Zt(e);c<e.length;)t=e.charCodeAt(c++),r=e.charCodeAt(c++),n=e.charCodeAt(c++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),u=u+zt.charAt(s)+zt.charAt(i)+zt.charAt(o)+zt.charAt(a);return u},Zt=e=>{const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},Wt=e=>{let t="",r=0,n=0,s=0,i=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t};var Ht={encode:Vt,decode:e=>{let t,r,n,s,i,o,a,u="",c=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");c<e.length;)s=zt.indexOf(e.charAt(c++)),i=zt.indexOf(e.charAt(c++)),o=zt.indexOf(e.charAt(c++)),a=zt.indexOf(e.charAt(c++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,u+=String.fromCharCode(t),64!=o&&(u+=String.fromCharCode(r)),64!=a&&(u+=String.fromCharCode(n));return u=Wt(u),u},encodeByOss:e=>Vt(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Jt={...s,base64:Ht,uuid:i,newId:(e,t=!1,r="")=>{const n=i(e||32);return t?d.now().format("yyyyMMddhhmmss")+r+n:n}};const Kt=new class{_map={back:{width:50,content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 12 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/back</title><desc>Created with Sketch.</desc><g id="3.Icons/Outlined/back" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.9"><g id="Icons/Tint-Color/Black" transform="translate(1.000000, 3.000000)" fill="#000000"><path d="M9,16.4375 L7.95453228,17.5 L0.289492864,9.71008525 C-0.0963897671,9.317916 -0.0915538699,8.67716932 0.289492864,8.28991475 L7.95453228,0.5 L9,1.5625 L1.68172599,9 L9,16.4375 Z" id="图标颜色"></path></g></g></svg>'},home:{content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/home</title><desc>Created with Sketch.</desc><g id="3.Icons/Outlined/home" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.9"><g id="icon31" transform="translate(2.000000, 3.000000)" fill="#000000"><path d="M11,16.8 L14.8,16.8 L14.8,9.8 L18.1029437,9.8 L10,1.69705627 L1.89705627,9.8 L5.2,9.8 L5.2,16.8 L9,16.8 L9,14 L11,14 L11,16.8 Z M16,17 C16,17.5522847 15.5522847,18 15,18 L5,18 C4.44771525,18 4,17.5522847 4,17 L4,11 L1.41421356,11 C1.14899707,11 0.89464316,10.8946432 0.707106781,10.7071068 C0.316582489,10.3165825 0.316582489,9.68341751 0.707106781,9.29289322 L9.29289322,0.707106781 C9.68341751,0.316582489 10.3165825,0.316582489 10.7071068,0.707106781 L19.2928932,9.29289322 C19.4804296,9.4804296 19.5857864,9.73478351 19.5857864,10 C19.5857864,10.5522847 19.1380712,11 18.5857864,11 L16,11 L16,17 Z" id="图标颜色"></path></g></g></svg>'},close:{content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/close</title><desc>Created with Sketch.</desc><defs><polygon id="path-1" points="8 6.94318182 1.80681818 0.75 0.75 1.80681818 6.94318182 8 0.75 14.1931818 1.80681818 15.25 8 9.05681818 14.1931818 15.25 15.25 14.1931818 9.05681818 8 15.25 1.80681818 14.1931818 0.75"></polygon></defs><g id="3.Icons/Outlined/close" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Icons/Tint-Color/Black" transform="translate(4.000000, 4.000000)"><mask id="mask-2" fill="white"><use xlink:href="#path-1"></use></mask><use id="图标颜色" fill-opacity="0.9" fill="#000000" xlink:href="#path-1"></use></g></g></svg>'}};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this._map[e];if(!t)return;const r=this.toBase64(t.content);return{width:t.width||100,height:t.height||100,url:r}};toBase64=e=>e?`data:image/svg+xml,${encodeURIComponent(e)}`:""},Gt=e=>{if(!e)return"";if(!nt.isObject(e))return"";let t="";return nt.forof(e,((e,r)=>{r&&(t+=`${et.kebabCase(e)}:${r};`)})),t},Yt=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink"],Qt=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],Xt=(e,t="px")=>e&&t?"0"===e?e:Ut.isFloat(e.toString())?`${e}${t}`:e:e;var er={stringify:Gt,parse:(e,t=!1)=>{if(!e.trim())return;const r=yt.parse(e,{sep:";",eq:":",uri:!1}),n={};return nt.forof(r,((e,r)=>{if(!r)return;const s=t?et.camelCase(e):e;Ut.isFloat(r)||r.length>=2&&r.startsWith(".")&&Ut.isNumber(r.substr(1))?n[s]=+r:n[s]=r})),n},fixValue:Xt,style:(e,t="px")=>{if(!e)return"";const r=nt.copy(e,{fields:Yt});nt.forof(r,((e,n)=>{(Qt.includes(e)||Qt.includes(et.camelCase(e)))&&(r[e]=Xt(n,t))}));return Gt(r)},commonFields:Yt,icon:Kt};const tr=(e,t)=>{const r=document.createElement("a");r.href=t,r.download=e,r.click()};var rr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadFile:tr,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();tr(t,s)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.log("[ddan] downloadImageUrl",e)}return Promise.resolve()}};var nr={ossImage:(e,t={})=>{if(!e)return e;const r=yt.parseUrl(e).path;if(t.domain){const r=it.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(n&&!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=yt.parseUrl(e).path,n=["snapshot"],{m:s="fast",f:i="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`}};var sr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r}};const ir=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function or(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function ar(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(nt.isPlainObject(e)){const r=yt.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class ur{host="";reqConfig={};handleError;interceptors={request:new ft,response:new ft};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(ar),this.interceptors.response.use(e.handleResponse||or),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){ur.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete ur.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=nt.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let i;if(delete s.options.plugins,"block"===r.model)this.lockR(ur.blockId,(()=>ir(s))),i=await ur.requestLock[ur.blockId].request;else if(ur.requestLock[ur.blockId]&&ur.requestLock[ur.blockId].lock&&await ur.requestLock[ur.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),ur.requestLock[e]||this.lockR(e,(()=>ir(s))),i=await ur.requestLock[e].request,this.unlockR(e)}else i=await ir(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}class cr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=X.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=rt.copy(e,{fields:this.fields});this.save(r)}}class lr extends o{setters={};getters={};actions={};persist;constructor(){super()}dispatch=async(e,t=void 0)=>{const r=Reflect.get(this.actions,e);if(!L.isFunction(r))return;const[,n]=await X.run(r(this,t));return n};query=async e=>{const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=rt.copy(t);else{const[,t]=await X.exec((()=>this.dispatch(e)),`${this._event_id_}_${e}`);r=t}return r};commit=(e,t)=>{L.isObject(t)&&(t=rt.copy(t)),this[e]=t}}const fr=(e,t)=>{const r=Object.assign(new lr,e||{});r.__persist=new cr(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return L.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(L.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class hr{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t;this.list.push(`${e}?x-oss-process=image/resize,w_${r},h_${n},m_fill`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Jt.base64.encodeByOss(n),i=yt.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Jt.base64.encodeByOss(e),i=yt.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const dr=new class{state=fr(new lr);frame=new a;cache=new Map;setCache=(e,t="")=>null!=e&&(t||(t=i()),!this.cache.has(t)&&(this.cache.set(t,e),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};removeCache=e=>{e&&this.cache.delete(e)};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),i=this.getCache(s)||{},o=Date.now(),a=i[e],u={time:o,count:1,cycle:n};return a&&("day"!==n||d.isToday(a.time||0))&&(u.count=1+(a.count||0)),i[e]=u,this.setCache(i,s),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const u=a[e];if(!u)return!0;if("day"===i&&!d.isToday(u.time||0))return!0;if(r<=(u.count||0))return!1;return!(Date.now()-(u.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=nt.copy(r);nt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||d.isToday(t.time||0)||delete r[e]})),this.setCache(r,t)}};class pr{start=0;end=0;cost=0;id="";name="";type="";desc="";constructor(){this.start=Date.now()}key=(e,t="")=>`${e}${t?"_"+t:""}`;done=()=>{this.start&&(this.end=Date.now(),this.cost=this.end-this.start)}}const gr=new class{_map=new Map;_reportMap=new Map;_trackList=new Set;_getKey(e,t=""){return`${e}${t?"_"+t:""}`}_getReports(e){return this._reportMap.get(e)||new Set}start(e,t={}){const r=this._getKey(e,t.name);if(this._map.has(r)&&!t.overlay)return!1;const n=new pr;return n.id=e,n.name=t?.name||"",n.type=t?.type||"",n.desc=t?.desc||"",this._map.set(r,n),!0}end(e,t=""){const r=this._getKey(e,t);if(!this._map.has(r))return;const n=this._map.get(r);if(!n)return;n.done();const s=this._getReports(e);s.add(n),this._reportMap.set(e,s);const i=this._getReports(r);i.add(n),this._reportMap.set(r,i),this._map.delete(r)}report(e,t=""){const r=this._getKey(e,t);if(!r)return;const n=this.reports(r)||[];return it.last(n)}reports(e,t=""){const r=this._getKey(e,t);if(r)return Array.from(this._getReports(r))}clean(e,t=""){if(!e)return;const r=this._getKey(e,t);this._reportMap.delete(r);const n=this._reportMap.get(e);if(n)if(t){const r=new Set([...n].filter((e=>e.name!==t)));this._reportMap.set(e,r)}else this._reportMap.delete(e);this._map.delete(r)}clear(){this._map.clear(),this._reportMap.clear()}track(e,{name:t="",desc:r="",type:n=""}={}){if(!e)return;const s=new pr;s.id=e,s.name=t,s.type=n,s.desc=r,this._trackList.add(s)}trackClear(){this._trackList.clear()}trackList(){return Array.from(this._trackList)}};var mr={gbk:e,time:d,hook:X,math:te,util:nt,list:it,string:et,obj:rt,crypto:Jt,mini:pt,qs:yt,css:er,cdn:nr,html:rr,rule:Ut,regex:Bt,convert:sr,Event:o,Http:ur,Store:lr,storeRef:fr,Persist:cr,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r}),watermark:(e,t)=>new hr(e,t),joker:dr,monitor:gr};export{mr as default};
|
|
1
|
+
var e={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const t="0123456789",r="abcdefghijklmnopqrstuvwxyz",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var s={keyNumber:t,keyLower:r,keyUpper:n,keyChars:t+r+n};const i=(e=0,t=0)=>{const r=s.keyChars.split(""),n=[];let i;if(t=t||r.length,e)for(i=0;i<e;i++)n[i]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",i=0;i<36;i++)n[i]||(e=0|16*Math.random(),n[i]=r[19==i?3&e|8:e])}return n.join("")};class o{_map;_event_id_="";constructor(){this._map=new Map,this._event_id_=i()}clear(){return this._map.clear(),this}on(e,t){if(!e||!t)return this;let r=this._map.get(e);return r||(r=new Set,this._map.set(e,r)),r.add(t),this}emit(e,...t){if(!e)return this;const r=this._map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;const r=this._map.get(e);return r?(r.delete(t),this):this}remove(e){return e?(this._map.delete(e),this):this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this._map.has(e)}}class a{_loopTimer;_event=new o;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0)}stop(){this._loopTimer&&(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1)}restart(){this.stop(),this.start()}on(e){this._event.on("frame",e)}off(e){e&&this._event.off("frame",e)}_handleLoop(){this._event.emit("frame")}}var u={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class c{date;countdown=0;countdownS=0;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(){if(!this.timestamp)return this;this.countdown=Math.max(this.timestamp-Date.now(),0),this.countdownS=Math.floor(this.countdown/u.oneSecond);let e=this.countdown;return this.d=Math.floor(e/u.oneDay),this.dd=(this.d<10?"0":"")+this.d,e%=u.oneDay,this.h=Math.floor(e/u.oneHour),this.hh=(this.h<10?"0":"")+this.h,e%=u.oneHour,this.m=Math.floor(e/u.oneMinute),this.mm=(this.m<10?"0":"")+this.m,e%=u.oneMinute,this.s=Math.floor(e/u.oneSecond),this.ss=(this.s<10?"0":"")+this.s,e%=u.oneSecond,this.S=e,this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}countdownFormat(e=""){let t=e;return t||(t=this.countdown>u.oneHour?"hh:mm:ss":this.countdown>u.oneMinute?"mm:ss":"ss"),t.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}}const l=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?f(r).format(t):""},f=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new c(t||0)};function d({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(l(Date.now(),o)).getTime()}var h={...u,now:function(){return f(Date.now())},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:l,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return f(r).toCountdown().countdownFormat(t)},timeformat:f,loopFrame:(e=500)=>new a(e)},p="object"==typeof global&&global&&global.Object===Object&&global,g="object"==typeof self&&self&&self.Object===Object&&self;const m=(p||g||Function("return this")()).Symbol,{toString:y,hasOwnProperty:b,propertyIsEnumerable:w}=Object.prototype,v=m?m.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){const t=b.call(e,v),r=e[v];let n=!1;try{e[v]=void 0,n=!0}catch(e){}const s=y.call(e);return n&&(t?e[v]=r:delete e[v]),s}(e):y.call(e)}var k={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:y,hasOwnProperty:b,propertyIsEnumerable:w},x="[object Function]",q="[object GeneratorFunction]",S="[object AsyncFunction]",O=9007199254740991;const A=/^(?:0|[1-9]\d*)$/;function j(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function C(e){return null!=e&&"object"==typeof e}const _=Array.isArray;function F(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=O}(e.length)&&!E(e)}function L(e){return C(e)&&F(e)}function E(e){var t=j(e)?k.getTag(e):"";return t===x||t===q||t===S}var R={is:function(e,t){return k.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===k.getTag(e)},isString:function(e){return"string"==typeof e||!_(e)&&C(e)&&"[object String]"==k.getTag(e)},isObject:j,isObjectLike:C,isPlainObject:function(e){if(!C(e)||"[object Object]"!=k.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||C(e)&&"[object Symbol]"===k.getTag(e)},isFunction:E,isArray:_,isArrayLikeObject:L,isIndex:function(e,t){return!!(t=null==t?O:t)&&("number"==typeof e||A.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:F,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return L(e)&&k.hasOwnProperty.call(e,"callee")&&(!k.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==k.toString.call(e))},isPromise:function(e){return"[object Promise]"===(j(e)?k.getTag(e):"")}};const I=NaN,D=/^\s+|\s+$/g,T=/^[-+]0x[0-9a-f]+$/i,P=/^0b[01]+$/i,M=/^0o[0-7]+$/i,N=parseInt,U=1/0,B=17976931348623157e292;function z(e){if("number"==typeof e)return e;if(R.isSymbol(e))return I;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(D,"");const t=P.test(e);return t||M.test(e)?N(e.slice(2),t?2:8):T.test(e)?I:+e}function V(e){return e?(e=z(e))===U||e===-U?(e<0?-1:1)*B:e==e?e:0:0===e?e:0}var Z={toNumber:z,toFinite:V,toInteger:function(e){var t=V(e),r=t%1;return t==t?r?t-r:t:0}};const W="Expected a function",H=Math.max,J=Math.min;function G(e,t=0,r={}){var n,s,i,o,a,u,c=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError(W);function h(t){var r=n,i=s;return n=s=void 0,c=t,o=e.apply(i,r)}function p(e){var r=e-u;return void 0===u||r>=t||r<0||f&&e-c>=i}function g(){var e=Date.now();if(p(e))return m(e);a=setTimeout(g,function(e){var r=t-(e-u);return f?J(r,i-(e-c)):r}(e))}function m(e){return a=void 0,d&&n?h(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=p(r);if(n=arguments,s=this,u=r,i){if(void 0===a)return function(e){return c=e,a=setTimeout(g,t),l?h(e):o}(u);if(f)return a=setTimeout(g,t),h(u)}return void 0===a&&(a=setTimeout(g,t)),o}return t=Z.toNumber(t)||0,R.isObject(r)&&(l=!!r.leading,i=(f="maxWait"in r)?H(Z.toNumber(r.maxWait)||0,t):i,d="trailing"in r?!!r.trailing:d),y.cancel=function(){void 0!==a&&clearTimeout(a),c=0,n=u=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}class Y{source;constructor(e){this.source=e}run(){let e;try{let t;return t=R.isFunction(this.source)?this.source():this.source,e=R.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new Y(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new Y(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new Y(e).run();const s=await n;return this._unlock(t),s}}class K{_list=[];constructor(e){this.push(e)}push(e){return e&&this._list.push(e),this}clear(){return this._list=[],this}_exec(e,t){let r;if(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this._list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}const Q=(e=1e3)=>new Promise((t=>{setTimeout(t,e)}));var X={sleep:Q,run:async(e,t=0)=>{if(t<=0)return new Y(e).run();const r=t>0?Date.now():0,n=await new Y(e).run(),s=Date.now()-r;return s<t&&await Q(t-s),n},exec:(e,t="")=>Y.exec(e,t),debounce:G,throttle:function(e,t=0,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),G(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new K(e)};function ee(e){return Math.floor(Math.random()*e)}var te={random:ee,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n}};function re(e){return e!=e}function ne(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var se,ie,oe=(se=Object.keys,ie=Object,function(e){return se(ie(e))}),ae=Math.max;function ue(e,t){var r=R.isArray(e)||R.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var i in e)!t&&!k.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function ce(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const le=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function fe(e){return le.test(e)}const de="\\ud800-\\udfff",he=`[${de}]`,pe="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ge="\\ud83c[\\udffb-\\udfff]",me=`[^${de}]`,ye="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",we=`${`(?:${pe}|${ge})`}?`,ve="[\\ufe0e\\ufe0f]?",$e=ve+we+`(?:\\u200d(?:${[me,ye,be].join("|")})${ve+we})*`,ke=`(?:${[`${me}${pe}?`,pe,ye,be,he].join("|")})`,xe=RegExp(`${ge}(?=${ge})|${ke+$e}`,"g");function qe(e){return fe(e)?function(e){return e.match(xe)||[]}(e):function(e){return e.split("")}(e)}function Se(e){return t=>{if(!t)return"";const r=fe(t)?qe(t):void 0,n=r?r[0]:t[0],s=r?ce(r,1).join(""):t.slice(1);return n[e]()+s}}const Oe="\\ud800-\\udfff",Ae="\\u2700-\\u27bf",je="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",_e="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Fe="['’]",Le=`[${_e}]`,Ee=`[${Ae}]`,Re=`[${je}]`,Ie=`[^${Oe}${_e+"\\d"+Ae+je+Ce}]`,De="(?:\\ud83c[\\udde6-\\uddff]){2}",Te="[\\ud800-\\udbff][\\udc00-\\udfff]",Pe=`[${Ce}]`,Me=`(?:${Re}|${Ie})`,Ne=`(?:${Pe}|${Ie})`,Ue=`(?:${Fe}(?:d|ll|m|re|s|t|ve))?`,Be=`(?:${Fe}(?:D|LL|M|RE|S|T|VE))?`,ze="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ve="[\\ufe0e\\ufe0f]?",Ze=Ve+ze+`(?:\\u200d(?:${[`[^${Oe}]`,De,Te].join("|")})${Ve+ze})*`,We=`(?:${[Ee,De,Te].join("|")})${Ze}`,He=RegExp([`${Pe}?${Re}+${Ue}(?=${[Le,Pe,"$"].join("|")})`,`${Ne}+${Be}(?=${[Le,Pe+Me,"$"].join("|")})`,`${Pe}?${Me}+${Ue}`,`${Pe}+${Be}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",We].join("|"),"g");const Je=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),Ge=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ye(e,t){if(void 0===t){const t=Je(e)?function(e){return e.match(He)}(e):function(e){return e.match(Ge)}(e);return t||[]}return e.match(t)||[]}function Ke(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Ke(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Qe=Se("toUpperCase"),Xe=Se("toLowerCase");var et={toString:Ke,startCase:e=>Ye(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Qe(t)),""),snakeCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Qe(t):t))),""),upperCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Qe,lowerCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Xe,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const tt=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=tt(e[r]));return t};var rt={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!1}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const t=s?i&&e.startsWith("_")?e:et.camelCase(e):e;n.length>0&&!n.includes(e)&&!n.includes(t)||(o[t]=r[e])}return o},clone:tt,merge:function(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e},isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=et.parseValue(n,{number:t,boolean:r});else e[n]=et.parseValue(s,{number:t,boolean:r});return e}};var nt={...R,...k,...rt,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?ne(e,function(e){return R.isArrayLike(e)?ue(e):function(e){if(!R.isPrototype(e))return oe(e);var t=[];for(var r in Object(e))k.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?Z.toInteger(r):0;var s=e.length;return r<0&&(r=ae(s+r,0)),R.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,re,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},compareArray:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;r++)if(e[r]!==t[r])return!1;return!0},forof:(e,t)=>{if(!e)return;let r;if(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var st={groupBy:(e,t)=>e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{}),first:e=>{if(!e)return;return e.length<=0?void 0:e[0]},last:e=>{if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var it={...st,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:(e,t)=>{if(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:(e,t,r=0)=>{if(!R.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:e=>!R.isArray(e)||e.length<=0?[]:[...new Set(e)],randoms:(e,t=1,r=!1)=>{const n=e.length||0;return te.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const ot="[object Object]",at="[object Array]",ut=e=>Object.prototype.toString.call(e),ct=(e,t,r=!1)=>{if(e===t)return;const n=ut(e);if(n===ut(t))if(n===at&&e.length>=t.length)for(let r=0;r<t.length;r++)ct(e[r],t[r]);else if(n===ot&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?ct(e[n],t[n]):e[n]=null},lt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=ut(e),o=ut(t);if(i===at&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)lt(e[s],t[s],r,`${n}[${s}]`);else if(i===ot&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=ut(s),u=ut(o);if(s!==o)if(a===at&&u===a&&s.length>=o.length)for(let e=0;e<s.length;e++)lt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===ot&&u===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)lt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class ft{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class dt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new ft,response:new ft};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){dt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete dt.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=rt.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let i;try{if("block"===n.model)this.lockR(dt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await dt.requestLock[dt.blockId].request;else if(dt.requestLock[dt.blockId]&&dt.requestLock[dt.blockId].lock&&await dt.requestLock[dt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),dt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await dt.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const ht=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var pt={diff:function(e,t){const r={};return(e=>{if(ut(e)===ot)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];ut(n[t])!==ot&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),ct(e,t,!0),lt(e,t,r,"",!0),r},promixify:ht,run:(e,t={})=>e?X.run(ht(e)(t)):X.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:dt};const gt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},mt=function(e,t=!0){return t?encodeURIComponent(e):e};var yt={parse:function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const u={};if("string"!=typeof e||0===e.length)return u;const c=/\+/g,l=n||1e3;let f=(e=e.split(t)).length;l>0&&f>l&&(f=l);for(let t=0;t<f;++t){let n,o,a,l,f=e[t].replace(c,"%20"),d=f.indexOf(r);d>=0?(n=f.substr(0,d),o=f.substr(d+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,l=i?decodeURIComponent(o):o,k.hasOwnProperty.call(u,a)&&s?Array.isArray(u[a])?u[a].push(l):u[a]=[u[a],l]:u[a]=l}return rt.parseValue(u,{number:o,boolean:a}),u},stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const i=mt(gt(n),s)+r;return Array.isArray(e[n])?e[n].map((function(e){return i+mt(gt(e),s)})).join(t):i+mt(gt(e[n]),s)})).filter(Boolean).join(t):n?mt(gt(n),s)+r+mt(gt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=e.split("?"),r=t[0],n=t.length>1?t[1]:"";let s="";const i=r.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);return i&&(s=i[1]),{url:e,path:r,page:s,query:n}}};const bt=/%[sdj%]/g;let wt=()=>{};function vt(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function $t(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(bt,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function kt(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function xt(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(wt=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class qt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function St(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);xt(o,r,(e=>(n(e),e.length?i(new qt(e,vt(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let u=0;const c=[],l=new Promise(((t,l)=>{const f=e=>{if(c.push.apply(c,e),u++,u===a)return n(c),c.length?l(new qt(c,vt(c))):t(s)};o.length||(n(c),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?xt(n,r,f):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return l.catch((e=>e)),l}function Ot(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function At(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const jt=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!kt(t,i||e.type)||n.push($t(s.messages.required,e.fullField))};let Ct;const _t=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,Ft=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Lt={integer:e=>Lt.number(e)&&parseInt(e,10)===e,float:e=>Lt.number(e)&&!Lt.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!Lt.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(_t),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Ct)return Ct;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),u=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");u.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),u.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const c=u.v4().source,l=u.v6().source;return Ct=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${c}|${l}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),Ct})()),hex:e=>"string"==typeof e&&!!e.match(Ft)},Et="enum";var Rt={required:jt,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push($t(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void jt(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Lt[i](t)||n.push($t(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push($t(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let c=t,l="";const f="number"==typeof t,d="string"==typeof t,h=Array.isArray(t);if(f?l="number":d?l="string":h&&(l="array"),!l)return!1;h&&(c=t.length),d&&(c=t.replace(u,"_").length),i?c!==e.len&&n.push($t(s.messages[l].len,e.fullField,e.len)):o&&!a&&c<e.min?n.push($t(s.messages[l].min,e.fullField,e.min)):a&&!o&&c>e.max?n.push($t(s.messages[l].max,e.fullField,e.max)):o&&a&&(c<e.min||c>e.max)&&n.push($t(s.messages[l].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Et]=Array.isArray(e[Et])?e[Et]:[],-1===e[Et].indexOf(t)&&n.push($t(s.messages[Et],e.fullField,e[Et].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push($t(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push($t(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const It=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,i)&&!e.required)return r();Rt.required(e,t,n,o,s,i),kt(t,i)||Rt.type(e,t,n,o,s)}r(o)};var Dt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(kt(t,"string")&&!e.required)return r();Rt.required(e,t,n,i,s,"string"),kt(t,"string")||(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s),Rt.pattern(e,t,n,i,s),!0===e.whitespace&&Rt.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&Rt.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&Rt.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),kt(t)||Rt.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Rt.required(e,t,n,i,s,"array"),null!=t&&(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&Rt.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&Rt.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,"string")&&!e.required)return r();Rt.required(e,t,n,i,s),kt(t,"string")||Rt.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,"date")&&!e.required)return r();if(Rt.required(e,t,n,i,s),!kt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Rt.type(e,r,n,i,s),r&&Rt.range(e,r.getTime(),n,i,s)}}r(i)},url:It,hex:It,email:It,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Rt.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s)}r(i)}};function Tt(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Pt=Tt();class Mt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Dt[e]=t};static warning=wt;static messages=Pt;static validators=Dt;rules={};_messages=Pt;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=At(Tt(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Pt&&(e=Tt()),At(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return St(o,s,((e,t)=>{const r=e.rule;let i,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function u(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function c(i=[]){let c=Array.isArray(i)?i:[i];!0===s.suppressWarning&&c.length&&Mt.warning("async-validator:",c),c.length&&void 0!==r.message&&(c=[].concat(r.message));let l=c.map(Ot(r,n));if(s.first&&l.length)return a[r.field]=1,t(l);if(o){if(r.required&&!e.value)return void 0!==r.message?l=[].concat(r.message).map(Ot(r,n)):s.error&&(l=[s.error(r,$t(s.messages.required,r.field))]),t(l);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(u.bind(null,e))}));const a=new Mt(o);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];l&&l.length&&r.push(...l),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(l)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,c,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,c,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),c(e.message)}!0===i?c():!1===i?c("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?c(i):i instanceof Error&&c(i.message)}i&&i.then&&i.then((()=>c()),(e=>c(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=vt(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Dt.hasOwnProperty(e.type))throw new Error($t("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?Dt.required:Dt[this.getType(e)]||void 0}}function Nt(e){return new Mt(e)}var Ut={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Nt,validate:function(e,t,r={},n=(()=>{})){return X.run(Nt(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var Bt={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const zt=`${s.keyUpper}${s.keyLower}${s.keyNumber}+/=`,Vt=e=>{let t,r,n,s,i,o,a,u="",c=0;for(e=Zt(e);c<e.length;)t=e.charCodeAt(c++),r=e.charCodeAt(c++),n=e.charCodeAt(c++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),u=u+zt.charAt(s)+zt.charAt(i)+zt.charAt(o)+zt.charAt(a);return u},Zt=e=>{const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},Wt=e=>{let t="",r=0,n=0,s=0,i=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t};var Ht={encode:Vt,decode:e=>{let t,r,n,s,i,o,a,u="",c=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");c<e.length;)s=zt.indexOf(e.charAt(c++)),i=zt.indexOf(e.charAt(c++)),o=zt.indexOf(e.charAt(c++)),a=zt.indexOf(e.charAt(c++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,u+=String.fromCharCode(t),64!=o&&(u+=String.fromCharCode(r)),64!=a&&(u+=String.fromCharCode(n));return u=Wt(u),u},encodeByOss:e=>Vt(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Jt={...s,base64:Ht,uuid:i,newId:(e,t=!1,r="")=>{const n=i(e||32);return t?h.now().format("yyyyMMddhhmmss")+r+n:n}};const Gt=new class{_map={back:{width:50,content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 12 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/back</title><desc>Created with Sketch.</desc><g id="3.Icons/Outlined/back" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.9"><g id="Icons/Tint-Color/Black" transform="translate(1.000000, 3.000000)" fill="#000000"><path d="M9,16.4375 L7.95453228,17.5 L0.289492864,9.71008525 C-0.0963897671,9.317916 -0.0915538699,8.67716932 0.289492864,8.28991475 L7.95453228,0.5 L9,1.5625 L1.68172599,9 L9,16.4375 Z" id="图标颜色"></path></g></g></svg>'},home:{content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/home</title><desc>Created with Sketch.</desc><g id="3.Icons/Outlined/home" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.9"><g id="icon31" transform="translate(2.000000, 3.000000)" fill="#000000"><path d="M11,16.8 L14.8,16.8 L14.8,9.8 L18.1029437,9.8 L10,1.69705627 L1.89705627,9.8 L5.2,9.8 L5.2,16.8 L9,16.8 L9,14 L11,14 L11,16.8 Z M16,17 C16,17.5522847 15.5522847,18 15,18 L5,18 C4.44771525,18 4,17.5522847 4,17 L4,11 L1.41421356,11 C1.14899707,11 0.89464316,10.8946432 0.707106781,10.7071068 C0.316582489,10.3165825 0.316582489,9.68341751 0.707106781,9.29289322 L9.29289322,0.707106781 C9.68341751,0.316582489 10.3165825,0.316582489 10.7071068,0.707106781 L19.2928932,9.29289322 C19.4804296,9.4804296 19.5857864,9.73478351 19.5857864,10 C19.5857864,10.5522847 19.1380712,11 18.5857864,11 L16,11 L16,17 Z" id="图标颜色"></path></g></g></svg>'},close:{content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/close</title><desc>Created with Sketch.</desc><defs><polygon id="path-1" points="8 6.94318182 1.80681818 0.75 0.75 1.80681818 6.94318182 8 0.75 14.1931818 1.80681818 15.25 8 9.05681818 14.1931818 15.25 15.25 14.1931818 9.05681818 8 15.25 1.80681818 14.1931818 0.75"></polygon></defs><g id="3.Icons/Outlined/close" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Icons/Tint-Color/Black" transform="translate(4.000000, 4.000000)"><mask id="mask-2" fill="white"><use xlink:href="#path-1"></use></mask><use id="图标颜色" fill-opacity="0.9" fill="#000000" xlink:href="#path-1"></use></g></g></svg>'}};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this._map[e];if(!t)return;const r=this.toBase64(t.content);return{width:t.width||100,height:t.height||100,url:r}};toBase64=e=>e?`data:image/svg+xml,${encodeURIComponent(e)}`:""},Yt=e=>{if(!e)return"";if(!nt.isObject(e))return"";let t="";return nt.forof(e,((e,r)=>{r&&(t+=`${et.kebabCase(e)}:${r};`)})),t},Kt=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink"],Qt=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],Xt=(e,t="px")=>e&&t?"0"===e?e:Ut.isFloat(e.toString())?`${e}${t}`:e:e;var er={stringify:Yt,parse:(e,t=!1)=>{if(!e.trim())return;const r=yt.parse(e,{sep:";",eq:":",uri:!1}),n={};return nt.forof(r,((e,r)=>{if(!r)return;const s=t?et.camelCase(e):e;Ut.isFloat(r)||r.length>=2&&r.startsWith(".")&&Ut.isNumber(r.substr(1))?n[s]=+r:n[s]=r})),n},fixValue:Xt,style:(e,t="px")=>{if(!e)return"";const r=nt.copy(e,{fields:Kt});nt.forof(r,((e,n)=>{(Qt.includes(e)||Qt.includes(et.camelCase(e)))&&(r[e]=Xt(n,t))}));return Yt(r)},commonFields:Kt,icon:Gt};const tr=(e,t)=>{const r=document.createElement("a");r.href=t,r.download=e,r.click()};var rr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadFile:tr,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();tr(t,s)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.log("[ddan] downloadImageUrl",e)}return Promise.resolve()}};var nr={ossImage:(e,t={})=>{if(!e)return e;const r=yt.parseUrl(e).path;if(t.domain){const r=it.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(!n||!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=yt.parseUrl(e).path,n=["snapshot"],{m:s="fast",f:i="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`}};var sr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r}};const ir=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function or(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function ar(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(nt.isPlainObject(e)){const r=yt.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class ur{host="";reqConfig={};handleError;interceptors={request:new ft,response:new ft};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(ar),this.interceptors.response.use(e.handleResponse||or),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){ur.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete ur.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=nt.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let i;if(delete s.options.plugins,"block"===r.model)this.lockR(ur.blockId,(()=>ir(s))),i=await ur.requestLock[ur.blockId].request;else if(ur.requestLock[ur.blockId]&&ur.requestLock[ur.blockId].lock&&await ur.requestLock[ur.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),ur.requestLock[e]||this.lockR(e,(()=>ir(s))),i=await ur.requestLock[e].request,this.unlockR(e)}else i=await ir(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}class cr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=X.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=rt.copy(e,{fields:this.fields});this.save(r)}}class lr extends o{setters={};getters={};actions={};persist;constructor(){super()}dispatch=async(e,t=void 0)=>{const r=Reflect.get(this.actions,e);if(!R.isFunction(r))return;const[,n]=await X.run(r(this,t));return n};query=async e=>{const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=rt.copy(t);else{const[,t]=await X.exec((()=>this.dispatch(e)),`${this._event_id_}_${e}`);r=t}return r};commit=(e,t)=>{R.isObject(t)&&(t=rt.copy(t)),this[e]=t}}const fr=(e,t)=>{const r=Object.assign(new lr,e||{});r.__persist=new cr(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class dr{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t;this.list.push(`${e}?x-oss-process=image/resize,w_${r},h_${n},m_fill`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Jt.base64.encodeByOss(n),i=yt.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Jt.base64.encodeByOss(e),i=yt.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const hr=new class{state=fr(new lr);frame=new a;cache=new Map;setCache=(e,t="")=>null!=e&&(t||(t=i()),!this.cache.has(t)&&(this.cache.set(t,e),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};removeCache=e=>{e&&this.cache.delete(e)};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),i=this.getCache(s)||{},o=Date.now(),a=i[e],u={time:o,count:1,cycle:n};return a&&("day"!==n||h.isToday(a.time||0))&&(u.count=1+(a.count||0)),i[e]=u,this.setCache(i,s),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const u=a[e];if(!u)return!0;if("day"===i&&!h.isToday(u.time||0))return!0;if(r<=(u.count||0))return!1;return!(Date.now()-(u.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=nt.copy(r);nt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||h.isToday(t.time||0)||delete r[e]})),this.setCache(r,t)}};class pr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=i(),this.start=Date.now(),this.timeStartDesc=h.format(this.start,"hh:mm:ss.SSS")}get time(){return this.flag?this.start:this.end}get timeDesc(){return this.flag?this.timeStartDesc:this.timeEndDesc}done=(e=Date.now())=>{this.start&&(this.end=e,this.cost=this.end-this.start,this.timeEndDesc=h.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const gr=new class{_map=new Map;_trackList=[];can=!0;clear(){return this._map.clear(),this._trackList=[],this}add(e,{desc:t="",type:r=""}={}){if(!e||!this.can)return"";const n=new pr;return n.name=e,n.type=r,n.desc=t,this._trackList.push(n),n.id}done(e){if(!e)return;const t=this._trackList.find((t=>t.id===e));if(!t||t.isDone)return;t.done();const r=Object.assign({},t);r.id=this._endId(e),r.flag=1,r.desc=`${t.desc} | end`,this._trackList.push(r)}getTrack(e){return this._trackList.find((t=>t.id===e))}getLine(e){if(!e||e.endsWith("-end"))return[];const t=this._trackList.findIndex((t=>t.id===e));if(t<0)return[];const r=this._endId(e),n=this._trackList.findIndex((e=>e.id===r)),s=n<0?this._trackList.length-t:n-t+1;return it.take(this._trackList,s,t)}getListByName(e,t=""){if(!e)return[];const r=this._trackList.filter((t=>t.name===e));if(r.length<=0)return[];if(!t)return r;const n=this._endId(t);return this._trackList.filter((e=>e.id===t||e.id===n))}getList(){return this._trackList}size(){return this._trackList.length}_endId=e=>`${e}-end`};var mr={gbk:e,time:h,hook:X,math:te,util:nt,list:it,string:et,obj:rt,crypto:Jt,mini:pt,qs:yt,css:er,cdn:nr,html:rr,rule:Ut,regex:Bt,convert:sr,Event:o,Http:ur,Store:lr,storeRef:fr,Persist:cr,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r}),watermark:(e,t)=>new dr(e,t),joker:hr,tracker:gr};export{mr as default};
|
package/bin/ddan-js.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ddan=t()}(this,(function(){"use strict";var e={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const t="0123456789",r="abcdefghijklmnopqrstuvwxyz",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var s={keyNumber:t,keyLower:r,keyUpper:n,keyChars:t+r+n};const i=(e=0,t=0)=>{const r=s.keyChars.split(""),n=[];let i;if(t=t||r.length,e)for(i=0;i<e;i++)n[i]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",i=0;i<36;i++)n[i]||(e=0|16*Math.random(),n[i]=r[19==i?3&e|8:e])}return n.join("")};class o{_map;_event_id_="";constructor(){this._map=new Map,this._event_id_=i()}clear(){return this._map.clear(),this}on(e,t){if(!e||!t)return this;let r=this._map.get(e);return r||(r=new Set,this._map.set(e,r)),r.add(t),this}emit(e,...t){if(!e)return this;const r=this._map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;const r=this._map.get(e);return r?(r.delete(t),this):this}remove(e){return e?(this._map.delete(e),this):this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this._map.has(e)}}class a{_loopTimer;_event=new o;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0)}stop(){this._loopTimer&&(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1)}restart(){this.stop(),this.start()}on(e){this._event.on("frame",e)}off(e){e&&this._event.off("frame",e)}_handleLoop(){this._event.emit("frame")}}var u={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class c{date;countdown=0;countdownS=0;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(){if(!this.timestamp)return this;this.countdown=Math.max(this.timestamp-Date.now(),0),this.countdownS=Math.floor(this.countdown/u.oneSecond);let e=this.countdown;return this.d=Math.floor(e/u.oneDay),this.dd=(this.d<10?"0":"")+this.d,e%=u.oneDay,this.h=Math.floor(e/u.oneHour),this.hh=(this.h<10?"0":"")+this.h,e%=u.oneHour,this.m=Math.floor(e/u.oneMinute),this.mm=(this.m<10?"0":"")+this.m,e%=u.oneMinute,this.s=Math.floor(e/u.oneSecond),this.ss=(this.s<10?"0":"")+this.s,e%=u.oneSecond,this.S=e,this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}countdownFormat(e=""){let t=e;return t||(t=this.countdown>u.oneHour?"hh:mm:ss":this.countdown>u.oneMinute?"mm:ss":"ss"),t.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}}const l=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?f(r).format(t):""},f=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new c(t||0)};function d({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(l(Date.now(),o)).getTime()}var h={...u,now:function(){return f(Date.now())},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:l,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return f(r).toCountdown().countdownFormat(t)},timeformat:f,loopFrame:(e=500)=>new a(e)},p="object"==typeof global&&global&&global.Object===Object&&global,g="object"==typeof self&&self&&self.Object===Object&&self;const m=(p||g||Function("return this")()).Symbol,{toString:y,hasOwnProperty:b,propertyIsEnumerable:w}=Object.prototype,v=m?m.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){const t=b.call(e,v),r=e[v];let n=!1;try{e[v]=void 0,n=!0}catch(e){}const s=y.call(e);return n&&(t?e[v]=r:delete e[v]),s}(e):y.call(e)}var k={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:y,hasOwnProperty:b,propertyIsEnumerable:w},x="[object Function]",q="[object GeneratorFunction]",A="[object AsyncFunction]",O=9007199254740991;const j=/^(?:0|[1-9]\d*)$/;function S(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function _(e){return null!=e&&"object"==typeof e}const C=Array.isArray;function F(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=O}(e.length)&&!R(e)}function E(e){return _(e)&&F(e)}function R(e){var t=S(e)?k.getTag(e):"";return t===x||t===q||t===A}var L={is:function(e,t){return k.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===k.getTag(e)},isString:function(e){return"string"==typeof e||!C(e)&&_(e)&&"[object String]"==k.getTag(e)},isObject:S,isObjectLike:_,isPlainObject:function(e){if(!_(e)||"[object Object]"!=k.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||_(e)&&"[object Symbol]"===k.getTag(e)},isFunction:R,isArray:C,isArrayLikeObject:E,isIndex:function(e,t){return!!(t=null==t?O:t)&&("number"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:F,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return E(e)&&k.hasOwnProperty.call(e,"callee")&&(!k.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==k.toString.call(e))},isPromise:function(e){return"[object Promise]"===(S(e)?k.getTag(e):"")}};const M=NaN,T=/^\s+|\s+$/g,I=/^[-+]0x[0-9a-f]+$/i,P=/^0b[01]+$/i,D=/^0o[0-7]+$/i,N=parseInt,U=1/0,B=17976931348623157e292;function z(e){if("number"==typeof e)return e;if(L.isSymbol(e))return M;if(L.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=L.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(T,"");const t=P.test(e);return t||D.test(e)?N(e.slice(2),t?2:8):I.test(e)?M:+e}function V(e){return e?(e=z(e))===U||e===-U?(e<0?-1:1)*B:e==e?e:0:0===e?e:0}var Z={toNumber:z,toFinite:V,toInteger:function(e){var t=V(e),r=t%1;return t==t?r?t-r:t:0}};const W="Expected a function",H=Math.max,J=Math.min;function K(e,t=0,r={}){var n,s,i,o,a,u,c=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError(W);function h(t){var r=n,i=s;return n=s=void 0,c=t,o=e.apply(i,r)}function p(e){var r=e-u;return void 0===u||r>=t||r<0||f&&e-c>=i}function g(){var e=Date.now();if(p(e))return m(e);a=setTimeout(g,function(e){var r=t-(e-u);return f?J(r,i-(e-c)):r}(e))}function m(e){return a=void 0,d&&n?h(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=p(r);if(n=arguments,s=this,u=r,i){if(void 0===a)return function(e){return c=e,a=setTimeout(g,t),l?h(e):o}(u);if(f)return a=setTimeout(g,t),h(u)}return void 0===a&&(a=setTimeout(g,t)),o}return t=Z.toNumber(t)||0,L.isObject(r)&&(l=!!r.leading,i=(f="maxWait"in r)?H(Z.toNumber(r.maxWait)||0,t):i,d="trailing"in r?!!r.trailing:d),y.cancel=function(){void 0!==a&&clearTimeout(a),c=0,n=u=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}class G{source;constructor(e){this.source=e}run(){let e;try{let t;return t=L.isFunction(this.source)?this.source():this.source,e=L.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new G(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new G(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new G(e).run();const s=await n;return this._unlock(t),s}}class Y{_list=[];constructor(e){this.push(e)}push(e){return e&&this._list.push(e),this}clear(){return this._list=[],this}_exec(e,t){let r;if(L.isFunction(e))r=e(t);else{if(L.isPromise(e))return e.then((e=>({...t,...e})));r=e}return L.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this._list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}const Q=(e=1e3)=>new Promise((t=>{setTimeout(t,e)}));var X={sleep:Q,run:async(e,t=0)=>{if(t<=0)return new G(e).run();const r=t>0?Date.now():0,n=await new G(e).run(),s=Date.now()-r;return s<t&&await Q(t-s),n},exec:(e,t="")=>G.exec(e,t),debounce:K,throttle:function(e,t=0,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return L.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),K(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new Y(e)};function ee(e){return Math.floor(Math.random()*e)}var te={random:ee,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n}};function re(e){return e!=e}function ne(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var se,ie,oe=(se=Object.keys,ie=Object,function(e){return se(ie(e))}),ae=Math.max;function ue(e,t){var r=L.isArray(e)||L.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var i in e)!t&&!k.hasOwnProperty.call(e,i)||s&&("length"==i||L.isIndex(i,n))||r.push(i);return r}function ce(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const le=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function fe(e){return le.test(e)}const de="\\ud800-\\udfff",he=`[${de}]`,pe="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ge="\\ud83c[\\udffb-\\udfff]",me=`[^${de}]`,ye="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",we=`${`(?:${pe}|${ge})`}?`,ve="[\\ufe0e\\ufe0f]?",$e=ve+we+`(?:\\u200d(?:${[me,ye,be].join("|")})${ve+we})*`,ke=`(?:${[`${me}${pe}?`,pe,ye,be,he].join("|")})`,xe=RegExp(`${ge}(?=${ge})|${ke+$e}`,"g");function qe(e){return fe(e)?function(e){return e.match(xe)||[]}(e):function(e){return e.split("")}(e)}function Ae(e){return t=>{if(!t)return"";const r=fe(t)?qe(t):void 0,n=r?r[0]:t[0],s=r?ce(r,1).join(""):t.slice(1);return n[e]()+s}}const Oe="\\ud800-\\udfff",je="\\u2700-\\u27bf",Se="a-z\\xdf-\\xf6\\xf8-\\xff",_e="A-Z\\xc0-\\xd6\\xd8-\\xde",Ce="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Fe="['’]",Ee=`[${Ce}]`,Re=`[${je}]`,Le=`[${Se}]`,Me=`[^${Oe}${Ce+"\\d"+je+Se+_e}]`,Te="(?:\\ud83c[\\udde6-\\uddff]){2}",Ie="[\\ud800-\\udbff][\\udc00-\\udfff]",Pe=`[${_e}]`,De=`(?:${Le}|${Me})`,Ne=`(?:${Pe}|${Me})`,Ue=`(?:${Fe}(?:d|ll|m|re|s|t|ve))?`,Be=`(?:${Fe}(?:D|LL|M|RE|S|T|VE))?`,ze="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ve="[\\ufe0e\\ufe0f]?",Ze=Ve+ze+`(?:\\u200d(?:${[`[^${Oe}]`,Te,Ie].join("|")})${Ve+ze})*`,We=`(?:${[Re,Te,Ie].join("|")})${Ze}`,He=RegExp([`${Pe}?${Le}+${Ue}(?=${[Ee,Pe,"$"].join("|")})`,`${Ne}+${Be}(?=${[Ee,Pe+De,"$"].join("|")})`,`${Pe}?${De}+${Ue}`,`${Pe}+${Be}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",We].join("|"),"g");const Je=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),Ke=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ge(e,t){if(void 0===t){const t=Je(e)?function(e){return e.match(He)}(e):function(e){return e.match(Ke)}(e);return t||[]}return e.match(t)||[]}function Ye(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Ye(e)))}`;if(L.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Qe=Ae("toUpperCase"),Xe=Ae("toLowerCase");var et={toString:Ye,startCase:e=>Ge(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Qe(t)),""),snakeCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Qe(t):t))),""),upperCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Qe,lowerCase:e=>Ge(Ye(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Xe,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const tt=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=tt(e[r]));return t};var rt={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!1}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const t=s?i&&e.startsWith("_")?e:et.camelCase(e):e;n.length>0&&!n.includes(e)&&!n.includes(t)||(o[t]=r[e])}return o},clone:tt,merge:function(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e},isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=et.parseValue(n,{number:t,boolean:r});else e[n]=et.parseValue(s,{number:t,boolean:r});return e}};var nt={...L,...k,...rt,includes:function(e,t,r,n){e=L.isArrayLike(e)?e:function(e){return e?ne(e,function(e){return L.isArrayLike(e)?ue(e):function(e){if(!L.isPrototype(e))return oe(e);var t=[];for(var r in Object(e))k.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?Z.toInteger(r):0;var s=e.length;return r<0&&(r=ae(s+r,0)),L.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,re,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},compareArray:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;r++)if(e[r]!==t[r])return!1;return!0},forof:(e,t)=>{if(!e)return;let r;if(L.isObject(e)&&(r=L.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var st={groupBy:(e,t)=>e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{}),first:e=>{if(!e)return;return e.length<=0?void 0:e[0]},last:e=>{if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var it={...st,stepAction:function(e,t,r=100){if(!L.isFunction(t))return;if(!L.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:(e,t)=>{if(!L.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:(e,t,r=0)=>{if(!L.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:e=>!L.isArray(e)||e.length<=0?[]:[...new Set(e)],randoms:(e,t=1,r=!1)=>{const n=e.length||0;return te.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!L.isObject(e))return;const s=e[t];(L.isString(s)&&""!==s||L.isNumber(s))&&(n[s]=e[r])})),n):n}};const ot="[object Object]",at="[object Array]",ut=e=>Object.prototype.toString.call(e),ct=(e,t,r=!1)=>{if(e===t)return;const n=ut(e);if(n===ut(t))if(n===at&&e.length>=t.length)for(let r=0;r<t.length;r++)ct(e[r],t[r]);else if(n===ot&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?ct(e[n],t[n]):e[n]=null},lt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=ut(e),o=ut(t);if(i===at&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)lt(e[s],t[s],r,`${n}[${s}]`);else if(i===ot&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=ut(s),u=ut(o);if(s!==o)if(a===at&&u===a&&s.length>=o.length)for(let e=0;e<s.length;e++)lt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===ot&&u===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)lt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class ft{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class dt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new ft,response:new ft};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){dt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete dt.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=rt.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let i;try{if("block"===n.model)this.lockR(dt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await dt.requestLock[dt.blockId].request;else if(dt.requestLock[dt.blockId]&&dt.requestLock[dt.blockId].lock&&await dt.requestLock[dt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),dt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await dt.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const ht=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var pt={diff:function(e,t){const r={};return(e=>{if(ut(e)===ot)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];ut(n[t])!==ot&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),ct(e,t,!0),lt(e,t,r,"",!0),r},promixify:ht,run:(e,t={})=>e?X.run(ht(e)(t)):X.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:dt};const gt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},mt=function(e,t=!0){return t?encodeURIComponent(e):e};var yt={parse:function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const u={};if("string"!=typeof e||0===e.length)return u;const c=/\+/g,l=n||1e3;let f=(e=e.split(t)).length;l>0&&f>l&&(f=l);for(let t=0;t<f;++t){let n,o,a,l,f=e[t].replace(c,"%20"),d=f.indexOf(r);d>=0?(n=f.substr(0,d),o=f.substr(d+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,l=i?decodeURIComponent(o):o,k.hasOwnProperty.call(u,a)&&s?Array.isArray(u[a])?u[a].push(l):u[a]=[u[a],l]:u[a]=l}return rt.parseValue(u,{number:o,boolean:a}),u},stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const i=mt(gt(n),s)+r;return Array.isArray(e[n])?e[n].map((function(e){return i+mt(gt(e),s)})).join(t):i+mt(gt(e[n]),s)})).filter(Boolean).join(t):n?mt(gt(n),s)+r+mt(gt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=e.split("?"),r=t[0],n=t.length>1?t[1]:"";let s="";const i=r.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);return i&&(s=i[1]),{url:e,path:r,page:s,query:n}}};const bt=/%[sdj%]/g;let wt=()=>{};function vt(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function $t(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(bt,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function kt(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function xt(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(wt=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class qt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function At(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);xt(o,r,(e=>(n(e),e.length?i(new qt(e,vt(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let u=0;const c=[],l=new Promise(((t,l)=>{const f=e=>{if(c.push.apply(c,e),u++,u===a)return n(c),c.length?l(new qt(c,vt(c))):t(s)};o.length||(n(c),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?xt(n,r,f):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return l.catch((e=>e)),l}function Ot(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function jt(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const St=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!kt(t,i||e.type)||n.push($t(s.messages.required,e.fullField))};let _t;const Ct=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,Ft=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Et={integer:e=>Et.number(e)&&parseInt(e,10)===e,float:e=>Et.number(e)&&!Et.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!Et.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ct),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(_t)return _t;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),u=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");u.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),u.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const c=u.v4().source,l=u.v6().source;return _t=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${c}|${l}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),_t})()),hex:e=>"string"==typeof e&&!!e.match(Ft)},Rt="enum";var Lt={required:St,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push($t(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void St(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Et[i](t)||n.push($t(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push($t(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let c=t,l="";const f="number"==typeof t,d="string"==typeof t,h=Array.isArray(t);if(f?l="number":d?l="string":h&&(l="array"),!l)return!1;h&&(c=t.length),d&&(c=t.replace(u,"_").length),i?c!==e.len&&n.push($t(s.messages[l].len,e.fullField,e.len)):o&&!a&&c<e.min?n.push($t(s.messages[l].min,e.fullField,e.min)):a&&!o&&c>e.max?n.push($t(s.messages[l].max,e.fullField,e.max)):o&&a&&(c<e.min||c>e.max)&&n.push($t(s.messages[l].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Rt]=Array.isArray(e[Rt])?e[Rt]:[],-1===e[Rt].indexOf(t)&&n.push($t(s.messages[Rt],e.fullField,e[Rt].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push($t(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push($t(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Mt=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,i)&&!e.required)return r();Lt.required(e,t,n,o,s,i),kt(t,i)||Lt.type(e,t,n,o,s)}r(o)};var Tt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(kt(t,"string")&&!e.required)return r();Lt.required(e,t,n,i,s,"string"),kt(t,"string")||(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s),Lt.pattern(e,t,n,i,s),!0===e.whitespace&&Lt.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&Lt.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&Lt.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),kt(t)||Lt.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Lt.required(e,t,n,i,s,"array"),null!=t&&(Lt.type(e,t,n,i,s),Lt.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&Lt.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s),void 0!==t&&Lt.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,"string")&&!e.required)return r();Lt.required(e,t,n,i,s),kt(t,"string")||Lt.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,"date")&&!e.required)return r();if(Lt.required(e,t,n,i,s),!kt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Lt.type(e,r,n,i,s),r&&Lt.range(e,r.getTime(),n,i,s)}}r(i)},url:Mt,hex:Mt,email:Mt,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Lt.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Lt.required(e,t,n,i,s)}r(i)}};function It(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Pt=It();class Dt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Tt[e]=t};static warning=wt;static messages=Pt;static validators=Tt;rules={};_messages=Pt;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=jt(It(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Pt&&(e=It()),jt(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return At(o,s,((e,t)=>{const r=e.rule;let i,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function u(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function c(i=[]){let c=Array.isArray(i)?i:[i];!0===s.suppressWarning&&c.length&&Dt.warning("async-validator:",c),c.length&&void 0!==r.message&&(c=[].concat(r.message));let l=c.map(Ot(r,n));if(s.first&&l.length)return a[r.field]=1,t(l);if(o){if(r.required&&!e.value)return void 0!==r.message?l=[].concat(r.message).map(Ot(r,n)):s.error&&(l=[s.error(r,$t(s.messages.required,r.field))]),t(l);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(u.bind(null,e))}));const a=new Dt(o);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];l&&l.length&&r.push(...l),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(l)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,c,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,c,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),c(e.message)}!0===i?c():!1===i?c("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?c(i):i instanceof Error&&c(i.message)}i&&i.then&&i.then((()=>c()),(e=>c(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=vt(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Tt.hasOwnProperty(e.type))throw new Error($t("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?Tt.required:Tt[this.getType(e)]||void 0}}function Nt(e){return new Dt(e)}var Ut={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Nt,validate:function(e,t,r={},n=(()=>{})){return X.run(Nt(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var Bt={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const zt=`${s.keyUpper}${s.keyLower}${s.keyNumber}+/=`,Vt=e=>{let t,r,n,s,i,o,a,u="",c=0;for(e=Zt(e);c<e.length;)t=e.charCodeAt(c++),r=e.charCodeAt(c++),n=e.charCodeAt(c++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),u=u+zt.charAt(s)+zt.charAt(i)+zt.charAt(o)+zt.charAt(a);return u},Zt=e=>{const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},Wt=e=>{let t="",r=0,n=0,s=0,i=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t};var Ht={encode:Vt,decode:e=>{let t,r,n,s,i,o,a,u="",c=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");c<e.length;)s=zt.indexOf(e.charAt(c++)),i=zt.indexOf(e.charAt(c++)),o=zt.indexOf(e.charAt(c++)),a=zt.indexOf(e.charAt(c++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,u+=String.fromCharCode(t),64!=o&&(u+=String.fromCharCode(r)),64!=a&&(u+=String.fromCharCode(n));return u=Wt(u),u},encodeByOss:e=>Vt(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Jt={...s,base64:Ht,uuid:i,newId:(e,t=!1,r="")=>{const n=i(e||32);return t?h.now().format("yyyyMMddhhmmss")+r+n:n}};const Kt=new class{_map={back:{width:50,content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 12 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/back</title><desc>Created with Sketch.</desc><g id="3.Icons/Outlined/back" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.9"><g id="Icons/Tint-Color/Black" transform="translate(1.000000, 3.000000)" fill="#000000"><path d="M9,16.4375 L7.95453228,17.5 L0.289492864,9.71008525 C-0.0963897671,9.317916 -0.0915538699,8.67716932 0.289492864,8.28991475 L7.95453228,0.5 L9,1.5625 L1.68172599,9 L9,16.4375 Z" id="图标颜色"></path></g></g></svg>'},home:{content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/home</title><desc>Created with Sketch.</desc><g id="3.Icons/Outlined/home" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.9"><g id="icon31" transform="translate(2.000000, 3.000000)" fill="#000000"><path d="M11,16.8 L14.8,16.8 L14.8,9.8 L18.1029437,9.8 L10,1.69705627 L1.89705627,9.8 L5.2,9.8 L5.2,16.8 L9,16.8 L9,14 L11,14 L11,16.8 Z M16,17 C16,17.5522847 15.5522847,18 15,18 L5,18 C4.44771525,18 4,17.5522847 4,17 L4,11 L1.41421356,11 C1.14899707,11 0.89464316,10.8946432 0.707106781,10.7071068 C0.316582489,10.3165825 0.316582489,9.68341751 0.707106781,9.29289322 L9.29289322,0.707106781 C9.68341751,0.316582489 10.3165825,0.316582489 10.7071068,0.707106781 L19.2928932,9.29289322 C19.4804296,9.4804296 19.5857864,9.73478351 19.5857864,10 C19.5857864,10.5522847 19.1380712,11 18.5857864,11 L16,11 L16,17 Z" id="图标颜色"></path></g></g></svg>'},close:{content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/close</title><desc>Created with Sketch.</desc><defs><polygon id="path-1" points="8 6.94318182 1.80681818 0.75 0.75 1.80681818 6.94318182 8 0.75 14.1931818 1.80681818 15.25 8 9.05681818 14.1931818 15.25 15.25 14.1931818 9.05681818 8 15.25 1.80681818 14.1931818 0.75"></polygon></defs><g id="3.Icons/Outlined/close" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Icons/Tint-Color/Black" transform="translate(4.000000, 4.000000)"><mask id="mask-2" fill="white"><use xlink:href="#path-1"></use></mask><use id="图标颜色" fill-opacity="0.9" fill="#000000" xlink:href="#path-1"></use></g></g></svg>'}};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this._map[e];if(!t)return;const r=this.toBase64(t.content);return{width:t.width||100,height:t.height||100,url:r}};toBase64=e=>e?`data:image/svg+xml,${encodeURIComponent(e)}`:""},Gt=e=>{if(!e)return"";if(!nt.isObject(e))return"";let t="";return nt.forof(e,((e,r)=>{r&&(t+=`${et.kebabCase(e)}:${r};`)})),t},Yt=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink"],Qt=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],Xt=(e,t="px")=>e&&t?"0"===e?e:Ut.isFloat(e.toString())?`${e}${t}`:e:e;var er={stringify:Gt,parse:(e,t=!1)=>{if(!e.trim())return;const r=yt.parse(e,{sep:";",eq:":",uri:!1}),n={};return nt.forof(r,((e,r)=>{if(!r)return;const s=t?et.camelCase(e):e;Ut.isFloat(r)||r.length>=2&&r.startsWith(".")&&Ut.isNumber(r.substr(1))?n[s]=+r:n[s]=r})),n},fixValue:Xt,style:(e,t="px")=>{if(!e)return"";const r=nt.copy(e,{fields:Yt});nt.forof(r,((e,n)=>{(Qt.includes(e)||Qt.includes(et.camelCase(e)))&&(r[e]=Xt(n,t))}));return Gt(r)},commonFields:Yt,icon:Kt};const tr=(e,t)=>{const r=document.createElement("a");r.href=t,r.download=e,r.click()};var rr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadFile:tr,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();tr(t,s)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.log("[ddan] downloadImageUrl",e)}return Promise.resolve()}};var nr={ossImage:(e,t={})=>{if(!e)return e;const r=yt.parseUrl(e).path;if(t.domain){const r=it.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(n&&!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=yt.parseUrl(e).path,n=["snapshot"],{m:s="fast",f:i="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`}};var sr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r}};const ir=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function or(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function ar(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(nt.isPlainObject(e)){const r=yt.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class ur{host="";reqConfig={};handleError;interceptors={request:new ft,response:new ft};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(ar),this.interceptors.response.use(e.handleResponse||or),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){ur.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete ur.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=nt.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let i;if(delete s.options.plugins,"block"===r.model)this.lockR(ur.blockId,(()=>ir(s))),i=await ur.requestLock[ur.blockId].request;else if(ur.requestLock[ur.blockId]&&ur.requestLock[ur.blockId].lock&&await ur.requestLock[ur.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),ur.requestLock[e]||this.lockR(e,(()=>ir(s))),i=await ur.requestLock[e].request,this.unlockR(e)}else i=await ir(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}class cr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=X.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=rt.copy(e,{fields:this.fields});this.save(r)}}class lr extends o{setters={};getters={};actions={};persist;constructor(){super()}dispatch=async(e,t=void 0)=>{const r=Reflect.get(this.actions,e);if(!L.isFunction(r))return;const[,n]=await X.run(r(this,t));return n};query=async e=>{const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=rt.copy(t);else{const[,t]=await X.exec((()=>this.dispatch(e)),`${this._event_id_}_${e}`);r=t}return r};commit=(e,t)=>{L.isObject(t)&&(t=rt.copy(t)),this[e]=t}}const fr=(e,t)=>{const r=Object.assign(new lr,e||{});r.__persist=new cr(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return L.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(L.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class dr{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t;this.list.push(`${e}?x-oss-process=image/resize,w_${r},h_${n},m_fill`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Jt.base64.encodeByOss(n),i=yt.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Jt.base64.encodeByOss(e),i=yt.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const hr=new class{state=fr(new lr);frame=new a;cache=new Map;setCache=(e,t="")=>null!=e&&(t||(t=i()),!this.cache.has(t)&&(this.cache.set(t,e),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};removeCache=e=>{e&&this.cache.delete(e)};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),i=this.getCache(s)||{},o=Date.now(),a=i[e],u={time:o,count:1,cycle:n};return a&&("day"!==n||h.isToday(a.time||0))&&(u.count=1+(a.count||0)),i[e]=u,this.setCache(i,s),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const u=a[e];if(!u)return!0;if("day"===i&&!h.isToday(u.time||0))return!0;if(r<=(u.count||0))return!1;return!(Date.now()-(u.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=nt.copy(r);nt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||h.isToday(t.time||0)||delete r[e]})),this.setCache(r,t)}};class pr{start=0;end=0;cost=0;id="";name="";type="";desc="";constructor(){this.start=Date.now()}key=(e,t="")=>`${e}${t?"_"+t:""}`;done=()=>{this.start&&(this.end=Date.now(),this.cost=this.end-this.start)}}const gr=new class{_map=new Map;_reportMap=new Map;_trackList=new Set;_getKey(e,t=""){return`${e}${t?"_"+t:""}`}_getReports(e){return this._reportMap.get(e)||new Set}start(e,t={}){const r=this._getKey(e,t.name);if(this._map.has(r)&&!t.overlay)return!1;const n=new pr;return n.id=e,n.name=t?.name||"",n.type=t?.type||"",n.desc=t?.desc||"",this._map.set(r,n),!0}end(e,t=""){const r=this._getKey(e,t);if(!this._map.has(r))return;const n=this._map.get(r);if(!n)return;n.done();const s=this._getReports(e);s.add(n),this._reportMap.set(e,s);const i=this._getReports(r);i.add(n),this._reportMap.set(r,i),this._map.delete(r)}report(e,t=""){const r=this._getKey(e,t);if(!r)return;const n=this.reports(r)||[];return it.last(n)}reports(e,t=""){const r=this._getKey(e,t);if(r)return Array.from(this._getReports(r))}clean(e,t=""){if(!e)return;const r=this._getKey(e,t);this._reportMap.delete(r);const n=this._reportMap.get(e);if(n)if(t){const r=new Set([...n].filter((e=>e.name!==t)));this._reportMap.set(e,r)}else this._reportMap.delete(e);this._map.delete(r)}clear(){this._map.clear(),this._reportMap.clear()}track(e,{name:t="",desc:r="",type:n=""}={}){if(!e)return;const s=new pr;s.id=e,s.name=t,s.type=n,s.desc=r,this._trackList.add(s)}trackClear(){this._trackList.clear()}trackList(){return Array.from(this._trackList)}};return{gbk:e,time:h,hook:X,math:te,util:nt,list:it,string:et,obj:rt,crypto:Jt,mini:pt,qs:yt,css:er,cdn:nr,html:rr,rule:Ut,regex:Bt,convert:sr,Event:o,Http:ur,Store:lr,storeRef:fr,Persist:cr,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r}),watermark:(e,t)=>new dr(e,t),joker:hr,monitor:gr}}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ddan=t()}(this,(function(){"use strict";var e={gbkLength:function(e){let t=0;if(!e)return 0;for(let r=0;r<e.length;r++)e.charCodeAt(r)>127||94===e.charCodeAt(r)?t+=2:t++;return t},gbkCut:function(e,t){if(!e||t<=0)return"";let r=0,n=0;for(let s=0;s<e.length&&(e.charCodeAt(s)>127||94===e.charCodeAt(s)?r+=2:r++,!(r>t));s++)n=s;return e.substr(0,n+1)}};const t="0123456789",r="abcdefghijklmnopqrstuvwxyz",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var s={keyNumber:t,keyLower:r,keyUpper:n,keyChars:t+r+n};const i=(e=0,t=0)=>{const r=s.keyChars.split(""),n=[];let i;if(t=t||r.length,e)for(i=0;i<e;i++)n[i]=r[0|Math.random()*t];else{let e;for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",i=0;i<36;i++)n[i]||(e=0|16*Math.random(),n[i]=r[19==i?3&e|8:e])}return n.join("")};class o{_map;_event_id_="";constructor(){this._map=new Map,this._event_id_=i()}clear(){return this._map.clear(),this}on(e,t){if(!e||!t)return this;let r=this._map.get(e);return r||(r=new Set,this._map.set(e,r)),r.add(t),this}emit(e,...t){if(!e)return this;const r=this._map.get(e);if(!r)return this;return[...r].forEach((e=>e&&e(...t))),this}off(e,t){if(!e||!t)return this;const r=this._map.get(e);return r?(r.delete(t),this):this}remove(e){return e?(this._map.delete(e),this):this}once(e,t){const r=(...n)=>{t(...n),this.off(e,r)};return this.on(e,r),this}has(e){return this._map.has(e)}}class a{_loopTimer;_event=new o;started=!1;interval=0;constructor(e=0){this.interval=e||500}start(){this.started||(this.stop(),this._loopTimer=setInterval((()=>{this._handleLoop()}),this.interval),this.started=!0)}stop(){this._loopTimer&&(clearInterval(this._loopTimer),this._loopTimer=0,this.started=!1)}restart(){this.stop(),this.start()}on(e){this._event.on("frame",e)}off(e){e&&this._event.off("frame",e)}_handleLoop(){this._event.emit("frame")}}var u={oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3};class c{date;countdown=0;countdownS=0;timestamp=0;yyyy=0;yy="";M=0;MM="";d=0;dd="";h=0;hh="";m=0;mm="";s=0;ss="";S=0;SS="";SSS="";constructor(e){if(!e)return;const t="string"==typeof e||"number"==typeof e?new Date(e):e;t&&(this.date=t,this.timestamp=t.getTime(),this.toDate())}toDate(){return this.date?(this.yyyy=this.date.getFullYear(),this.yy=`${this.yyyy}`.substr(2),this.M=this.date.getMonth()+1,this.MM=(this.M<10?"0":"")+this.M,this.d=this.date.getDate(),this.dd=(this.d<10?"0":"")+this.d,this.h=this.date.getHours(),this.hh=(this.h<10?"0":"")+this.h,this.m=this.date.getMinutes(),this.mm=(this.m<10?"0":"")+this.m,this.s=this.date.getSeconds(),this.ss=(this.s<10?"0":"")+this.s,this.S=this.date.getMilliseconds(),this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this):this}toCountdown(){if(!this.timestamp)return this;this.countdown=Math.max(this.timestamp-Date.now(),0),this.countdownS=Math.floor(this.countdown/u.oneSecond);let e=this.countdown;return this.d=Math.floor(e/u.oneDay),this.dd=(this.d<10?"0":"")+this.d,e%=u.oneDay,this.h=Math.floor(e/u.oneHour),this.hh=(this.h<10?"0":"")+this.h,e%=u.oneHour,this.m=Math.floor(e/u.oneMinute),this.mm=(this.m<10?"0":"")+this.m,e%=u.oneMinute,this.s=Math.floor(e/u.oneSecond),this.ss=(this.s<10?"0":"")+this.s,e%=u.oneSecond,this.S=e,this.SS=(this.S<10?"0":"")+this.S,this.SSS=this.S.toString().padStart(3,"0"),this}format(e="yyyy-MM-dd hh:mm:ss"){return e.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}countdownFormat(e=""){let t=e;return t||(t=this.countdown>u.oneHour?"hh:mm:ss":this.countdown>u.oneMinute?"mm:ss":"ss"),t.replace(/\bdd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>this[e]))}}const l=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;return r?f(r).format(t):""},f=e=>{const t="string"==typeof e||"number"==typeof e?new Date(e):e;return new c(t||0)};function d({year:e=0,month:t=0,date:r=0,hour:n=0,minute:s=0,second:i=0}){const o=`${e||"yyyy"}/${t||"MM"}/${r||"dd"} ${n}:${s}:${i}`;return new Date(l(Date.now(),o)).getTime()}var h={...u,now:function(){return f(Date.now())},isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),parseTimestamp:d,todayZero:()=>d({}),format:l,countdown:(e,t="")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";return f(r).toCountdown().countdownFormat(t)},timeformat:f,loopFrame:(e=500)=>new a(e)},p="object"==typeof global&&global&&global.Object===Object&&global,g="object"==typeof self&&self&&self.Object===Object&&self;const m=(p||g||Function("return this")()).Symbol,{toString:y,hasOwnProperty:b,propertyIsEnumerable:w}=Object.prototype,v=m?m.toStringTag:void 0;function $(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){const t=b.call(e,v),r=e[v];let n=!1;try{e[v]=void 0,n=!0}catch(e){}const s=y.call(e);return n&&(t?e[v]=r:delete e[v]),s}(e):y.call(e)}var k={getTag:$,getType:function(e){return($(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:y,hasOwnProperty:b,propertyIsEnumerable:w},x="[object Function]",q="[object GeneratorFunction]",S="[object AsyncFunction]",O=9007199254740991;const j=/^(?:0|[1-9]\d*)$/;function A(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function C(e){return null!=e&&"object"==typeof e}const _=Array.isArray;function F(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=O}(e.length)&&!E(e)}function L(e){return C(e)&&F(e)}function E(e){var t=A(e)?k.getTag(e):"";return t===x||t===q||t===S}var R={is:function(e,t){return k.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===k.getTag(e)},isString:function(e){return"string"==typeof e||!_(e)&&C(e)&&"[object String]"==k.getTag(e)},isObject:A,isObjectLike:C,isPlainObject:function(e){if(!C(e)||"[object Object]"!=k.getTag(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},isSymbol:function(e){return"symbol"==typeof e||C(e)&&"[object Symbol]"===k.getTag(e)},isFunction:E,isArray:_,isArrayLikeObject:L,isIndex:function(e,t){return!!(t=null==t?O:t)&&("number"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:F,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return L(e)&&k.hasOwnProperty.call(e,"callee")&&(!k.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==k.toString.call(e))},isPromise:function(e){return"[object Promise]"===(A(e)?k.getTag(e):"")}};const I=NaN,T=/^\s+|\s+$/g,D=/^[-+]0x[0-9a-f]+$/i,P=/^0b[01]+$/i,M=/^0o[0-7]+$/i,N=parseInt,U=1/0,B=17976931348623157e292;function z(e){if("number"==typeof e)return e;if(R.isSymbol(e))return I;if(R.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=R.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(T,"");const t=P.test(e);return t||M.test(e)?N(e.slice(2),t?2:8):D.test(e)?I:+e}function V(e){return e?(e=z(e))===U||e===-U?(e<0?-1:1)*B:e==e?e:0:0===e?e:0}var Z={toNumber:z,toFinite:V,toInteger:function(e){var t=V(e),r=t%1;return t==t?r?t-r:t:0}};const W="Expected a function",H=Math.max,J=Math.min;function G(e,t=0,r={}){var n,s,i,o,a,u,c=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError(W);function h(t){var r=n,i=s;return n=s=void 0,c=t,o=e.apply(i,r)}function p(e){var r=e-u;return void 0===u||r>=t||r<0||f&&e-c>=i}function g(){var e=Date.now();if(p(e))return m(e);a=setTimeout(g,function(e){var r=t-(e-u);return f?J(r,i-(e-c)):r}(e))}function m(e){return a=void 0,d&&n?h(e):(n=s=void 0,o)}function y(...e){var r=Date.now(),i=p(r);if(n=arguments,s=this,u=r,i){if(void 0===a)return function(e){return c=e,a=setTimeout(g,t),l?h(e):o}(u);if(f)return a=setTimeout(g,t),h(u)}return void 0===a&&(a=setTimeout(g,t)),o}return t=Z.toNumber(t)||0,R.isObject(r)&&(l=!!r.leading,i=(f="maxWait"in r)?H(Z.toNumber(r.maxWait)||0,t):i,d="trailing"in r?!!r.trailing:d),y.cancel=function(){void 0!==a&&clearTimeout(a),c=0,n=u=s=a=void 0},y.flush=function(){return void 0===a?o:m(Date.now())},y}class Y{source;constructor(e){this.source=e}run(){let e;try{let t;return t=R.isFunction(this.source)?this.source():this.source,e=R.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}static _lockedMap=new Map;static _lock(e,t){if(!e||!t)return;const r=new Y(t).run();return this._lockedMap.set(e,r),r}static _unlock(e){e&&this._lockedMap.delete(e)}static async exec(e,t){if(!e||!t)return new Y(e).run();const r=this._lockedMap.get(t);if(r)return r;const n=this._lock(t,e);if(!n)return new Y(e).run();const s=await n;return this._unlock(t),s}}class K{_list=[];constructor(e){this.push(e)}push(e){return e&&this._list.push(e),this}clear(){return this._list=[],this}_exec(e,t){let r;if(R.isFunction(e))r=e(t);else{if(R.isPromise(e))return e.then((e=>({...t,...e})));r=e}return R.isPromise(r)?r:Promise.resolve({...r,...t})}run(e){try{return this._list.reduce(((e,t)=>e.then((e=>this._exec(t,e)))),Promise.resolve(e)).then((e=>[void 0,e])).catch((e=>[e,void 0]))}catch(e){return Promise.reject([e,void 0])}}}const Q=(e=1e3)=>new Promise((t=>{setTimeout(t,e)}));var X={sleep:Q,run:async(e,t=0)=>{if(t<=0)return new Y(e).run();const r=t>0?Date.now():0,n=await new Y(e).run(),s=Date.now()-r;return s<t&&await Q(t-s),n},exec:(e,t="")=>Y.exec(e,t),debounce:G,throttle:function(e,t=0,r={}){var n=!1,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return R.isObject(r)&&(n=r.leading?!!r.leading:n,s=r.trailing?!!r.trailing:s),G(e,t,{leading:n,maxWait:t,trailing:s})},task:e=>new K(e)};function ee(e){return Math.floor(Math.random()*e)}var te={random:ee,randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randoms:function(e,t=1,r=!1){const n=[];for(;;){if(n.length>=t)break;if(!r&&n.length>=e)break;const s=ee(e);r?n.push(s):n.includes(s)||n.push(s)}return n}};function re(e){return e!=e}function ne(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}(t,(function(t){return e[t]}))}var se,ie,oe=(se=Object.keys,ie=Object,function(e){return se(ie(e))}),ae=Math.max;function ue(e,t){var r=R.isArray(e)||R.isArguments(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,s=!!n;for(var i in e)!t&&!k.hasOwnProperty.call(e,i)||s&&("length"==i||R.isIndex(i,n))||r.push(i);return r}function ce(e,t,r){const{length:n}=e;return r=void 0===r?n:r,!t&&r>=n?e:function(e,t,r){let n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=-t>n?0:n+t),(r=(r=void 0===r?n:r)>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;let s=-1;const i=new Array(n);for(;++s<n;)i[s]=e[s+t];return i}(e,t,r)}const le=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\ufe0e\\ufe0f]");function fe(e){return le.test(e)}const de="\\ud800-\\udfff",he=`[${de}]`,pe="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",ge="\\ud83c[\\udffb-\\udfff]",me=`[^${de}]`,ye="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",we=`${`(?:${pe}|${ge})`}?`,ve="[\\ufe0e\\ufe0f]?",$e=ve+we+`(?:\\u200d(?:${[me,ye,be].join("|")})${ve+we})*`,ke=`(?:${[`${me}${pe}?`,pe,ye,be,he].join("|")})`,xe=RegExp(`${ge}(?=${ge})|${ke+$e}`,"g");function qe(e){return fe(e)?function(e){return e.match(xe)||[]}(e):function(e){return e.split("")}(e)}function Se(e){return t=>{if(!t)return"";const r=fe(t)?qe(t):void 0,n=r?r[0]:t[0],s=r?ce(r,1).join(""):t.slice(1);return n[e]()+s}}const Oe="\\ud800-\\udfff",je="\\u2700-\\u27bf",Ae="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",_e="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Fe="['’]",Le=`[${_e}]`,Ee=`[${je}]`,Re=`[${Ae}]`,Ie=`[^${Oe}${_e+"\\d"+je+Ae+Ce}]`,Te="(?:\\ud83c[\\udde6-\\uddff]){2}",De="[\\ud800-\\udbff][\\udc00-\\udfff]",Pe=`[${Ce}]`,Me=`(?:${Re}|${Ie})`,Ne=`(?:${Pe}|${Ie})`,Ue=`(?:${Fe}(?:d|ll|m|re|s|t|ve))?`,Be=`(?:${Fe}(?:D|LL|M|RE|S|T|VE))?`,ze="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]|\\ud83c[\\udffb-\\udfff])?",Ve="[\\ufe0e\\ufe0f]?",Ze=Ve+ze+`(?:\\u200d(?:${[`[^${Oe}]`,Te,De].join("|")})${Ve+ze})*`,We=`(?:${[Ee,Te,De].join("|")})${Ze}`,He=RegExp([`${Pe}?${Re}+${Ue}(?=${[Le,Pe,"$"].join("|")})`,`${Ne}+${Be}(?=${[Le,Pe+Me,"$"].join("|")})`,`${Pe}?${Me}+${Ue}`,`${Pe}+${Be}`,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",We].join("|"),"g");const Je=RegExp.prototype.test.bind(/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/),Ge=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Ye(e,t){if(void 0===t){const t=Je(e)?function(e){return e.match(He)}(e):function(e){return e.match(Ge)}(e);return t||[]}return e.match(t)||[]}function Ke(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return`${e.map((e=>null==e?e:Ke(e)))}`;if(R.isSymbol(e))return e.toString();const t=`${e}`;return"0"==t&&1/e==-Infinity?"-0":t}const Qe=Se("toUpperCase"),Xe=Se("toLowerCase");var et={toString:Ke,startCase:e=>Ye(`${e}`.replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+Qe(t)),""),snakeCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"_":"")+t.toLowerCase()),""),kebabCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?"-":"")+t.toLowerCase()),""),camelCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>(t=t.toLowerCase(),e+(r?Qe(t):t))),""),upperCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toUpperCase()),""),upperFirst:Qe,lowerCase:e=>Ye(Ke(e).replace(/['\u2019]/g,"")).reduce(((e,t,r)=>e+(r?" ":"")+t.toLowerCase()),""),lowerFirst:Xe,splitOnFirst:(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const r=e.indexOf(t);return-1===r?[]:[e.slice(0,r),e.slice(r+t.length)]},parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{let n=e;return e&&"string"==typeof e?(t&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?n=Number(e):!r||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(n="true"===e.toLowerCase()),n):n},replace:(e,t)=>{if(!e)return e;if(!t)return e;let r=e;return((Array.isArray(t)?t:[t])||[]).forEach((e=>{e.key&&e.value&&(r=r.replace(new RegExp(e.key,e.flag||""),e.value))})),r}};const tt=e=>{if(!e)return e;if("object"!=typeof e)return e;const t=Array.isArray(e)?[]:{};for(const r in e)e.hasOwnProperty(r)&&(t[r]=tt(e[r]));return t};var rt={copy:(e,t={})=>{if(void 0===e)return;const r=JSON.parse(JSON.stringify(e));if("object"!=typeof r)return r;if(Array.isArray(r))return r;const{fields:n=[],camel:s=!1,pure:i=!1}=t;if((!n||n.length<=0)&&!s)return r;const o={};for(const e in r){if(!r.hasOwnProperty(e))continue;const t=s?i&&e.startsWith("_")?e:et.camelCase(e):e;n.length>0&&!n.includes(e)&&!n.includes(t)||(o[t]=r[e])}return o},clone:tt,merge:function(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e},isEmpty:e=>0!==e&&(!e||"object"==typeof e&&(Array.isArray(e)?!e.length:Object.keys(e).length<=0)),parseValue:(e,{number:t=!1,boolean:r=!1}={})=>{if(!e&&"object"!=typeof e)return e;for(const[n,s]of Object.entries(e))if("object"==typeof s&&null!==s)for(const[e,n]of Object.entries(s))s[e]=et.parseValue(n,{number:t,boolean:r});else e[n]=et.parseValue(s,{number:t,boolean:r});return e}};var nt={...R,...k,...rt,includes:function(e,t,r,n){e=R.isArrayLike(e)?e:function(e){return e?ne(e,function(e){return R.isArrayLike(e)?ue(e):function(e){if(!R.isPrototype(e))return oe(e);var t=[];for(var r in Object(e))k.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?Z.toInteger(r):0;var s=e.length;return r<0&&(r=ae(s+r,0)),R.isString(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var s=e.length,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}(e,re,r);for(var n=r-1,s=e.length;++n<s;)if(e[n]===t)return n;return-1}(e,t,r)>-1},compareArray:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;r++)if(e[r]!==t[r])return!1;return!0},forof:(e,t)=>{if(!e)return;let r;if(R.isObject(e)&&(r=R.isArray(e)?e.entries():Object.entries(e),r))for(const[e,n]of r)t&&t(e,n)}};var st={groupBy:(e,t)=>e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{}),first:e=>{if(!e)return;return e.length<=0?void 0:e[0]},last:e=>{if(!e)return;const t=e.length;return t<=0?void 0:e[t-1]},toList:function(e){return Array.isArray(e)?e:e?[e]:[]}};var it={...st,stepAction:function(e,t,r=100){if(!R.isFunction(t))return;if(!R.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let s=r+n,i=e.slice(n,s);t&&t(i),n=s}},skip:(e,t)=>{if(!R.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:(e,t,r=0)=>{if(!R.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const s=t+n;return e.slice(n,e.length<s?e.length:s)||[]},distinct:e=>!R.isArray(e)||e.length<=0?[]:[...new Set(e)],randoms:(e,t=1,r=!1)=>{const n=e.length||0;return te.randoms(n,t,r).map((t=>e[t]))||[]},toKV:(e,t,r)=>{const n={};return t&&r?((e||[]).forEach((e=>{if(!e||!R.isObject(e))return;const s=e[t];(R.isString(s)&&""!==s||R.isNumber(s))&&(n[s]=e[r])})),n):n}};const ot="[object Object]",at="[object Array]",ut=e=>Object.prototype.toString.call(e),ct=(e,t,r=!1)=>{if(e===t)return;const n=ut(e);if(n===ut(t))if(n===at&&e.length>=t.length)for(let r=0;r<t.length;r++)ct(e[r],t[r]);else if(n===ot&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?ct(e[n],t[n]):e[n]=null},lt=(e,t,r,n="",s=!1)=>{if(e===t)return;const i=ut(e),o=ut(t);if(i===at&&o===i&&e.length>=t.length)for(let s=0;s<e.length;s++)lt(e[s],t[s],r,`${n}[${s}]`);else if(i===ot&&o===i&&(s||Object.keys(e).length>=Object.keys(t).length)){const s=Object.keys(e);for(let i of s){const s=e[i],o=t[i],a=ut(s),u=ut(o);if(s!==o)if(a===at&&u===a&&s.length>=o.length)for(let e=0;e<s.length;e++)lt(s[e],o[e],r,`${n?n+".":""}${i}[${e}]`);else if(a===ot&&u===a&&Object.keys(s).length>=Object.keys(o).length)for(let e in s)lt(s[e],o[e],r,`${n?n+".":""}${i}.${e}`);else r[`${n?n+".":""}${i}`]=s}}else r[n]=e};class ft{list=[];constructor(){this.invoke=this.invoke.bind(this)}use(e){this.list=this.list.concat(e)}invoke(e){return this.list.reduce(((e,t)=>e.then((e=>t(e)))),Promise.resolve(e)).catch((e=>"REFETCH"===e.sig?Promise.resolve(e.result):Promise.reject(e)))}}class dt{reqConfig={};handleRequest;handleEncrypt;handleDecrypt;handleError;interceptors={request:new ft,response:new ft};constructor(e){const{reqConfig:t={},requestEncrypt:r,responseDecrypt:n,handleError:s,api:i}=e;this.reqConfig=t,this.handleEncrypt=r,this.handleDecrypt=n,this.handleError=s,this.handleRequest=i}static blockId="blockid";static requestLock={};lockR(e,t){dt.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete dt.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}_fetch(e,t){let r=e;return t&&this.handleEncrypt&&(r=this.handleEncrypt(e)),new Promise(((e,n)=>{this.handleRequest({...r,success:r=>{let n=r;t&&this.handleDecrypt&&(n=this.handleDecrypt(r)),e(n)},fail:e=>{n(e)}})}))}async request(e,t){const r=rt.copy(this.reqConfig[e]),{config:n,...s}=await this.interceptors.request.invoke({url:r.url,data:t||{},header:{"content-type":"application/json"},method:r.method?r.method:"POST",responseType:"text",config:r});let i;try{if("block"===n.model)this.lockR(dt.blockId,(()=>this._fetch(s,n.hasEncrypt))),i=await dt.requestLock[dt.blockId].request;else if(dt.requestLock[dt.blockId]&&dt.requestLock[dt.blockId].lock&&await dt.requestLock[dt.blockId].request,"debounce"===n.model||"debounceUrl"===n.model){let e;e="debounceUrl"===n.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),dt.requestLock[e]||this.lockR(e,(()=>this._fetch(s,n.hasEncrypt))),i=await dt.requestLock[e].request,this.unlockR(e)}else i=await this._fetch(s,n.hasEncrypt)}catch(e){this.handleError&&this.handleError(e)}return this.interceptors.response.invoke({res:i,config:r,reqId:this.getIdFromReq(s),refetch:()=>({sig:"REFETCH",result:this.request(e,t||{})})})}}const ht=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var pt={diff:function(e,t){const r={};return(e=>{if(ut(e)===ot)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,s=r.length;for(let e=0;e<s-1;e++){const t=r[e];ut(n[t])!==ot&&(n[t]={}),n=n[t]}n[r[s-1]]=e[t],delete e[t]}})(e),ct(e,t,!0),lt(e,t,r,"",!0),r},promixify:ht,run:(e,t={})=>e?X.run(ht(e)(t)):X.run(e),formatList:(e,t,r)=>(e||[]).reduce(((e,n,s)=>({...e,[`${r}[${t+s}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e))),Http:dt};const gt=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},mt=function(e,t=!0){return t?encodeURIComponent(e):e};var yt={parse:function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:s=!0,uri:i=!0,parseNumber:o=!1,parseBoolean:a=!1}={}){t=t||"&",r=r||"=";const u={};if("string"!=typeof e||0===e.length)return u;const c=/\+/g,l=n||1e3;let f=(e=e.split(t)).length;l>0&&f>l&&(f=l);for(let t=0;t<f;++t){let n,o,a,l,f=e[t].replace(c,"%20"),d=f.indexOf(r);d>=0?(n=f.substr(0,d),o=f.substr(d+1)):(n=f,o=""),a=i?decodeURIComponent(n):n,l=i?decodeURIComponent(o):o,k.hasOwnProperty.call(u,a)&&s?Array.isArray(u[a])?u[a].push(l):u[a]=[u[a],l]:u[a]=l}return rt.parseValue(u,{number:o,boolean:a}),u},stringify:function(e,{sep:t="&",eq:r="=",name:n=null,uri:s=!0}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const i=mt(gt(n),s)+r;return Array.isArray(e[n])?e[n].map((function(e){return i+mt(gt(e),s)})).join(t):i+mt(gt(e[n]),s)})).filter(Boolean).join(t):n?mt(gt(n),s)+r+mt(gt(e),s):""},https:e=>e?e.replace(/^http[s]?/,"https"):e,parseUrl:e=>{const t=e.split("?"),r=t[0],n=t.length>1?t[1]:"";let s="";const i=r.match(/[\/]?([\w\_\-]+)[.]?[\w]*[?]?$/);return i&&(s=i[1]),{url:e,path:r,page:s,query:n}}};const bt=/%[sdj%]/g;let wt=()=>{};function vt(e){if(!e||!e.length)return null;const t={};return e.forEach((e=>{const r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function $t(e,...t){let r=0;const n=t.length;if("function"==typeof e)return e.apply(null,t);if("string"==typeof e){return e.replace(bt,(e=>{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}))}return e}function kt(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function xt(e,t,r){let n=0;const s=e.length;!function i(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<s?t(e[a],i):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(wt=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class qt extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function St(e,t,r,n,s){if(t.first){const t=new Promise(((t,i)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);xt(o,r,(e=>(n(e),e.length?i(new qt(e,vt(e))):t(s))))}));return t.catch((e=>e)),t}const i=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let u=0;const c=[],l=new Promise(((t,l)=>{const f=e=>{if(c.push.apply(c,e),u++,u===a)return n(c),c.length?l(new qt(c,vt(c))):t(s)};o.length||(n(c),t(s)),o.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?xt(n,r,f):function(e,t,r){const n=[];let s=0;const i=e.length;function o(e){n.push(...e||[]),s++,s===i&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return l.catch((e=>e)),l}function Ot(e,t){return r=>{let n;return n=e.fullFields?function(e,t){let r=e;for(let e=0;e<t.length;e++){if(null==r)return r;r=r[t[e]]}return r}(t,e.fullFields):t[r.field||e.fullField],function(e){return!(!e||void 0===e.message)}(r)?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField}}}function jt(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}const At=(e,t,r,n,s,i)=>{!e.required||r.hasOwnProperty(e.field||"")&&!kt(t,i||e.type)||n.push($t(s.messages.required,e.fullField))};let Ct;const _t=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,Ft=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Lt={integer:e=>Lt.number(e)&&parseInt(e,10)===e,float:e=>Lt.number(e)&&!Lt.integer(e),array:e=>Array.isArray(e),regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:e=>"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime()),number:e=>!isNaN(e)&&"number"==typeof e,object:e=>"object"==typeof e&&!Lt.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(_t),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(Ct)return Ct;const e="[a-fA-F\\d:]",t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:"",r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",s=`\n(?:\n(?:${n}:){7}(?:${n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${n}:){6}(?:${r}|:${n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${n}:){5}(?::${r}|(?::${n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${n}:){4}(?:(?::${n}){0,1}:${r}|(?::${n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${n}:){3}(?:(?::${n}){0,2}:${r}|(?::${n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${n}:){2}(?:(?::${n}){0,3}:${r}|(?::${n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${n}:){1}(?:(?::${n}){0,4}:${r}|(?::${n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${n}){0,5}:${r}|(?::${n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),i=new RegExp(`(?:^${r}$)|(?:^${s}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${s}$`),u=e=>e&&e.exact?i:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${s}${t(e)})`,"g");u.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),u.v6=e=>e&&e.exact?a:new RegExp(`${t(e)}${s}${t(e)}`,"g");const c=u.v4().source,l=u.v6().source;return Ct=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${c}|${l}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)`,"i"),Ct})()),hex:e=>"string"==typeof e&&!!e.match(Ft)},Et="enum";var Rt={required:At,whitespace:(e,t,r,n,s)=>{(/^\s+$/.test(t)||""===t)&&n.push($t(s.messages.whitespace,e.fullField))},type:(e,t,r,n,s)=>{if(e.required&&void 0===t)return void At(e,t,r,n,s);const i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?Lt[i](t)||n.push($t(s.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&n.push($t(s.messages.types[i],e.fullField,e.type))},range:(e,t,r,n,s)=>{const i="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let c=t,l="";const f="number"==typeof t,d="string"==typeof t,h=Array.isArray(t);if(f?l="number":d?l="string":h&&(l="array"),!l)return!1;h&&(c=t.length),d&&(c=t.replace(u,"_").length),i?c!==e.len&&n.push($t(s.messages[l].len,e.fullField,e.len)):o&&!a&&c<e.min?n.push($t(s.messages[l].min,e.fullField,e.min)):a&&!o&&c>e.max?n.push($t(s.messages[l].max,e.fullField,e.max)):o&&a&&(c<e.min||c>e.max)&&n.push($t(s.messages[l].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,s)=>{e[Et]=Array.isArray(e[Et])?e[Et]:[],-1===e[Et].indexOf(t)&&n.push($t(s.messages[Et],e.fullField,e[Et].join(", ")))},pattern:(e,t,r,n,s)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push($t(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push($t(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const It=(e,t,r,n,s)=>{const i=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,i)&&!e.required)return r();Rt.required(e,t,n,o,s,i),kt(t,i)||Rt.type(e,t,n,o,s)}r(o)};var Tt={string:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(kt(t,"string")&&!e.required)return r();Rt.required(e,t,n,i,s,"string"),kt(t,"string")||(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s),Rt.pattern(e,t,n,i,s),!0===e.whitespace&&Rt.whitespace(e,t,n,i,s))}r(i)},method:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&Rt.type(e,t,n,i,s)}r(i)},number:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s))}r(i)},boolean:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&Rt.type(e,t,n,i,s)}r(i)},regexp:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),kt(t)||Rt.type(e,t,n,i,s)}r(i)},integer:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s))}r(i)},float:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s))}r(i)},array:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Rt.required(e,t,n,i,s,"array"),null!=t&&(Rt.type(e,t,n,i,s),Rt.range(e,t,n,i,s))}r(i)},object:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&Rt.type(e,t,n,i,s)}r(i)},enum:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s),void 0!==t&&Rt.enum(e,t,n,i,s)}r(i)},pattern:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,"string")&&!e.required)return r();Rt.required(e,t,n,i,s),kt(t,"string")||Rt.pattern(e,t,n,i,s)}r(i)},date:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t,"date")&&!e.required)return r();if(Rt.required(e,t,n,i,s),!kt(t,"date")){let r;r=t instanceof Date?t:new Date(t),Rt.type(e,r,n,i,s),r&&Rt.range(e,r.getTime(),n,i,s)}}r(i)},url:It,hex:It,email:It,required:(e,t,r,n,s)=>{const i=[],o=Array.isArray(t)?"array":typeof t;Rt.required(e,t,n,i,s,o),r(i)},any:(e,t,r,n,s)=>{const i=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(kt(t)&&!e.required)return r();Rt.required(e,t,n,i,s)}r(i)}};function Dt(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone(){const e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}const Pt=Dt();class Mt{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Tt[e]=t};static warning=wt;static messages=Pt;static validators=Tt;rules={};_messages=Pt;constructor(e){this.define(e)}define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((t=>{const r=e[t];this.rules[t]=Array.isArray(r)?r:[r]}))}messages(e){return e&&(this._messages=jt(Dt(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,s=t,i=r;if("function"==typeof s&&(i=s,s={}),!this.rules||0===Object.keys(this.rules).length)return i&&i(null,n),Promise.resolve(n);if(s.messages){let e=this.messages();e===Pt&&(e=Dt()),jt(e,s.messages),s.messages=e}else s.messages=this.messages();const o={};(s.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let s=n[t];r.forEach((r=>{let i=r;"function"==typeof i.transform&&(n===e&&(n={...n}),s=n[t]=i.transform(s)),i="function"==typeof i?{validator:i}:{...i},i.validator=this.getValidationMethod(i),i.validator&&(i.field=t,i.fullField=i.fullField||t,i.type=this.getType(i),o[t]=o[t]||[],o[t].push({rule:i,value:s,source:n,field:t}))}))}));const a={};return St(o,s,((e,t)=>{const r=e.rule;let i,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function u(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function c(i=[]){let c=Array.isArray(i)?i:[i];!0===s.suppressWarning&&c.length&&Mt.warning("async-validator:",c),c.length&&void 0!==r.message&&(c=[].concat(r.message));let l=c.map(Ot(r,n));if(s.first&&l.length)return a[r.field]=1,t(l);if(o){if(r.required&&!e.value)return void 0!==r.message?l=[].concat(r.message).map(Ot(r,n)):s.error&&(l=[s.error(r,$t(s.messages.required,r.field))]),t(l);let i={};r.defaultField&&Object.keys(e.value).map((e=>{i[e]=r.defaultField})),i={...i,...e.rule.fields};const o={};Object.keys(i).forEach((e=>{const t=i[e],r=Array.isArray(t)?t:[t];o[e]=r.map(u.bind(null,e))}));const a=new Mt(o);a.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),a.validate(e.value,e.rule.options||s,(e=>{const r=[];l&&l.length&&r.push(...l),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(l)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)i=r.asyncValidator(r,e.value,c,e.source,s);else if(r.validator){try{i=r.validator(r,e.value,c,e.source,s)}catch(e){console.error?.(e),s.suppressValidatorError||setTimeout((()=>{throw e}),0),c(e.message)}!0===i?c():!1===i?c("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):i instanceof Array?c(i):i instanceof Error&&c(i.message)}i&&i.then&&i.then((()=>c()),(e=>c(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)s=e[r],Array.isArray(s)?t=t.concat(...s):t.push(s);var s;t.length?(r=vt(t),i(t,r)):i(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Tt.hasOwnProperty(e.type))throw new Error($t("Unknown rule type %s",e.type));return e.type||"string"}getValidationMethod(e){if("function"==typeof e.validator)return e.validator;const t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?Tt.required:Tt[this.getType(e)]||void 0}}function Nt(e){return new Mt(e)}var Ut={validateId:function(e){return!!e&&(!(e.length<6)&&!!/^[A-Za-z0-9_-]+$/.test(e))},validatePhone:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},validator:Nt,validate:function(e,t,r={},n=(()=>{})){return X.run(Nt(e).validate(t,r,n))},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isNumber:function(e){return!!e&&!!/^[0-9]+$/.test(e)},isFloat:function(e){return!!e&&!!/^(\-|\+)?\d+(\.\d+)?$/.test(e)},isPhoneNumber:function(e){return!!e&&!!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)}};var Bt={pattern:{num:"0-9",zh:"一-龥",en:"A-Za-z"},regex:(e,t)=>new RegExp(e,t),entire:{chinese:/^[\u4E00-\u9FA5]+$/,real:/^(\-|\+)?\d+(\.\d+)?$/,cssReal:/^(\-|\+)?\d*(\.)?\d+$/,id:/^[A-Za-z0-9]+$/,yyyyMMdd:/^(\d{4})-?(\d{2})-?(\d{2})$/}};const zt=`${s.keyUpper}${s.keyLower}${s.keyNumber}+/=`,Vt=e=>{let t,r,n,s,i,o,a,u="",c=0;for(e=Zt(e);c<e.length;)t=e.charCodeAt(c++),r=e.charCodeAt(c++),n=e.charCodeAt(c++),s=t>>2,i=(3&t)<<4|r>>4,o=(15&r)<<2|n>>6,a=63&n,isNaN(r)?o=a=64:isNaN(n)&&(a=64),u=u+zt.charAt(s)+zt.charAt(i)+zt.charAt(o)+zt.charAt(a);return u},Zt=e=>{const t=e.replace(/\r\n/g,"\n");let r="";for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);n<128?r+=String.fromCharCode(n):n>127&&n<2048?(r+=String.fromCharCode(n>>6|192),r+=String.fromCharCode(63&n|128)):(r+=String.fromCharCode(n>>12|224),r+=String.fromCharCode(n>>6&63|128),r+=String.fromCharCode(63&n|128))}return r},Wt=e=>{let t="",r=0,n=0,s=0,i=0;for(;r<e.length;)n=e.charCodeAt(r),n<128?(t+=String.fromCharCode(n),r++):n>191&&n<224?(s=e.charCodeAt(r+1),t+=String.fromCharCode((31&n)<<6|63&s),r+=2):(s=e.charCodeAt(r+1),i=e.charCodeAt(r+2),t+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),r+=3);return t};var Ht={encode:Vt,decode:e=>{let t,r,n,s,i,o,a,u="",c=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");c<e.length;)s=zt.indexOf(e.charAt(c++)),i=zt.indexOf(e.charAt(c++)),o=zt.indexOf(e.charAt(c++)),a=zt.indexOf(e.charAt(c++)),t=s<<2|i>>4,r=(15&i)<<4|o>>2,n=(3&o)<<6|a,u+=String.fromCharCode(t),64!=o&&(u+=String.fromCharCode(r)),64!=a&&(u+=String.fromCharCode(n));return u=Wt(u),u},encodeByOss:e=>Vt(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")};var Jt={...s,base64:Ht,uuid:i,newId:(e,t=!1,r="")=>{const n=i(e||32);return t?h.now().format("yyyyMMddhhmmss")+r+n:n}};const Gt=new class{_map={back:{width:50,content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 12 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/back</title><desc>Created with Sketch.</desc><g id="3.Icons/Outlined/back" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.9"><g id="Icons/Tint-Color/Black" transform="translate(1.000000, 3.000000)" fill="#000000"><path d="M9,16.4375 L7.95453228,17.5 L0.289492864,9.71008525 C-0.0963897671,9.317916 -0.0915538699,8.67716932 0.289492864,8.28991475 L7.95453228,0.5 L9,1.5625 L1.68172599,9 L9,16.4375 Z" id="图标颜色"></path></g></g></svg>'},home:{content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/home</title><desc>Created with Sketch.</desc><g id="3.Icons/Outlined/home" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.9"><g id="icon31" transform="translate(2.000000, 3.000000)" fill="#000000"><path d="M11,16.8 L14.8,16.8 L14.8,9.8 L18.1029437,9.8 L10,1.69705627 L1.89705627,9.8 L5.2,9.8 L5.2,16.8 L9,16.8 L9,14 L11,14 L11,16.8 Z M16,17 C16,17.5522847 15.5522847,18 15,18 L5,18 C4.44771525,18 4,17.5522847 4,17 L4,11 L1.41421356,11 C1.14899707,11 0.89464316,10.8946432 0.707106781,10.7071068 C0.316582489,10.3165825 0.316582489,9.68341751 0.707106781,9.29289322 L9.29289322,0.707106781 C9.68341751,0.316582489 10.3165825,0.316582489 10.7071068,0.707106781 L19.2928932,9.29289322 C19.4804296,9.4804296 19.5857864,9.73478351 19.5857864,10 C19.5857864,10.5522847 19.1380712,11 18.5857864,11 L16,11 L16,17 Z" id="图标颜色"></path></g></g></svg>'},close:{content:'<?xml version="1.0" encoding="UTF-8"?><svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>3.Icons/Outlined/close</title><desc>Created with Sketch.</desc><defs><polygon id="path-1" points="8 6.94318182 1.80681818 0.75 0.75 1.80681818 6.94318182 8 0.75 14.1931818 1.80681818 15.25 8 9.05681818 14.1931818 15.25 15.25 14.1931818 9.05681818 8 15.25 1.80681818 14.1931818 0.75"></polygon></defs><g id="3.Icons/Outlined/close" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Icons/Tint-Color/Black" transform="translate(4.000000, 4.000000)"><mask id="mask-2" fill="white"><use xlink:href="#path-1"></use></mask><use id="图标颜色" fill-opacity="0.9" fill="#000000" xlink:href="#path-1"></use></g></g></svg>'}};getBase64=e=>{const t=this.getSVG(e);return t?.url||""};getSVG=e=>{if(!e)return;const t=this._map[e];if(!t)return;const r=this.toBase64(t.content);return{width:t.width||100,height:t.height||100,url:r}};toBase64=e=>e?`data:image/svg+xml,${encodeURIComponent(e)}`:""},Yt=e=>{if(!e)return"";if(!nt.isObject(e))return"";let t="";return nt.forof(e,((e,r)=>{r&&(t+=`${et.kebabCase(e)}:${r};`)})),t},Kt=["display","position","top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","fontSize","textAlign","fontFamily","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius","background","color","overflow","opacity","flexDirection","justifyContent","alignItems","flexWrap","alignContent","alignSelf","flex","flexBasis","flexFlow","flexShrink"],Qt=["top","bottom","left","right","padding","margin","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","border","borderLeft","borderRight","borderTop","borderBottom","borderColor","borderRadius"],Xt=(e,t="px")=>e&&t?"0"===e?e:Ut.isFloat(e.toString())?`${e}${t}`:e:e;var er={stringify:Yt,parse:(e,t=!1)=>{if(!e.trim())return;const r=yt.parse(e,{sep:";",eq:":",uri:!1}),n={};return nt.forof(r,((e,r)=>{if(!r)return;const s=t?et.camelCase(e):e;Ut.isFloat(r)||r.length>=2&&r.startsWith(".")&&Ut.isNumber(r.substr(1))?n[s]=+r:n[s]=r})),n},fixValue:Xt,style:(e,t="px")=>{if(!e)return"";const r=nt.copy(e,{fields:Kt});nt.forof(r,((e,n)=>{(Qt.includes(e)||Qt.includes(et.camelCase(e)))&&(r[e]=Xt(n,t))}));return Yt(r)},commonFields:Kt,icon:Gt};const tr=(e,t)=>{const r=document.createElement("a");r.href=t,r.download=e,r.click()};var rr={dataURLtoFile:(e,t)=>{let r=e.split(","),n=r[0].match(/:(.*?);/)[1],s=window.atob(r[1]),i=s.length,o=new Uint8Array(i);for(;i--;)o[i]=s.charCodeAt(i);return new File([o],t,{type:n})},dataURLtoBlob:e=>{let t=e.split(","),r=t[0].match(/:(.*?);/)[1],n=window.atob(t[1]),s=n.length,i=new Uint8Array(s);for(;s--;)i[s]=n.charCodeAt(s);return new Blob([i],{type:r})},blobToFile:(e,t)=>(e.lastModifiedDate=new Date,e.name=t,e),readAsDataURL:(e,t)=>{var r=new FileReader;r.readAsDataURL(e),r.onloadend=function(e){t&&t(e.target?.result)}},downloadFile:tr,downloadImage:e=>{try{if(!e)return;const t=e.match(/\/(\w+.\w+)$/)[1],r=new Image;r.onload=()=>{let e=document.createElement("canvas");e.width=r.width,e.height=r.height;let n=e.getContext("2d");n&&n.drawImage(r,0,0,r.width,r.height);let s=e.toDataURL();tr(t,s)},r.src=e,r.setAttribute("crossOrigin","Anonymous")}catch(e){console.log("[ddan] downloadImageUrl",e)}return Promise.resolve()}};var nr={ossImage:(e,t={})=>{if(!e)return e;const r=yt.parseUrl(e).path;if(t.domain){const r=it.toList(t.domain||""),n=e.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1]||"";if(!n||!r.includes(n))return e}const n=[];return t.webp&&!r.endsWith(".gif")&&n.push("format,webp"),t.resize&&n.push(`resize,s_${t.resize}`),t.interlace&&(n.push("interlace,1"),!n.every((e=>!e.startsWith("format")))||r.endsWith(".gif")||r.endsWith(".jpg")||n.push("format,jpg")),n.length<=0?e:`${r}?x-oss-process=image/${n.join("/")}`},ossSnapshot:(e,t={})=>{if(!e)return e;const r=yt.parseUrl(e).path,n=["snapshot"],{m:s="fast",f:i="jpg"}=t;return(t.t||0===t.t)&&n.push(`t_${t.t}`),t.w&&n.push(`w_${t.w}`),t.h&&n.push(`h_${t.h}`),s&&n.push(`m_${s}`),i&&n.push(`f_${i}`),t.ar&&n.push(`ar_${t.ar}`),`${r}?x-oss-process=video/${n.join(",")}`}};var sr={uint8ArrayToString:function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},stringToArrayBuffer:function(e){const t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;r++)n[r]=e.charCodeAt(r);return r}};const ir=({url:e,options:t})=>{const r={"Content-Type":"application/json; charset=utf-8",...t.headers||{}};return t.headers=r,new Promise(((r,n)=>{fetch(e,t).then((e=>{r(e.json())})).catch((e=>{n(e)}))}))};function or(e){const{response:t}=e;return 0===t.code?Promise.resolve(t):Promise.reject(t)}function ar(e){const{url:t="",host:r,options:n}=e,s=e;if(t.startsWith("http://")||t.startsWith("https://")||(s.url=(r||"")+t),"GET"===n.method.toUpperCase()&&n.body){const e=JSON.parse(n.body);if(nt.isPlainObject(e)){const r=yt.stringify(e),n=-1===t.indexOf("?")?"?":"&";s.url=`${s.url||""}${n}${r}`,delete s.options.body}}return n&&n.plugins&&delete s.options?.plugins,n&&n.model&&delete s.options?.model,s}class ur{host="";reqConfig={};handleError;interceptors={request:new ft,response:new ft};constructor(e){this.host=e.host||"",this.reqConfig=e.config,this.interceptors.request.use(e.handleRequest||[]),this.interceptors.request.use(ar),this.interceptors.response.use(e.handleResponse||or),this.handleError=e.handleError}static blockId="blockid";static requestLock={};lockR(e,t){ur.requestLock[e]={lock:!0,request:t()}}unlockR(e){delete ur.requestLock[e]}getIdFromReq(e){const{url:t,data:r={}}=e;return t+JSON.stringify(r)}getIdFromReqUrl(e){return e.url||""}async fetch(e,t){const r=nt.copy(this.reqConfig[e])||{},n={host:this.host,url:r.url||"",options:{...r||{},body:JSON.stringify({...t||{}})}};try{const s=await this.interceptors.request.invoke(n);let i;if(delete s.options.plugins,"block"===r.model)this.lockR(ur.blockId,(()=>ir(s))),i=await ur.requestLock[ur.blockId].request;else if(ur.requestLock[ur.blockId]&&ur.requestLock[ur.blockId].lock&&await ur.requestLock[ur.blockId].request,"debounce"===r.model||"debounceUrl"===r.model){let e;e="debounceUrl"===r.model?this.getIdFromReqUrl(s):this.getIdFromReq(s),ur.requestLock[e]||this.lockR(e,(()=>ir(s))),i=await ur.requestLock[e].request,this.unlockR(e)}else i=await ir(s);return this.interceptors.response.invoke({response:i,config:r,refetch:()=>({sig:"REFETCH",result:this.fetch(e,t)})})}catch(e){return this.handleError&&this.handleError(e),Promise.reject(e)}}}class cr{key;storage;fields=[];constructor(e){this.key=e?.key||"",this.fields=e?.fields||[],this.storage=e?.storage||void 0}save=X.debounce((e=>{if(this.key&&this.storage)try{const{setItem:t,setStorageSync:r}=this.storage;if(r)return r(this.key,e);if(t)return t(this.key,JSON.stringify(e))}catch(e){console.error("persit save ",e)}}));read(){if(this.key&&this.storage)try{const{getItem:e,getStorageSync:t}=this.storage;if(t)return t(this.key);if(e){const t=e(this.key);return JSON.parse(t)}}catch(e){return void console.error("persit read ",e)}}handleSave(e,t){if(!this.fields.includes(t)||!e)return;const r=rt.copy(e,{fields:this.fields});this.save(r)}}class lr extends o{setters={};getters={};actions={};persist;constructor(){super()}dispatch=async(e,t=void 0)=>{const r=Reflect.get(this.actions,e);if(!R.isFunction(r))return;const[,n]=await X.run(r(this,t));return n};query=async e=>{const t=Reflect.get(this,e);let r;if(null!=t&&""!==t)r=rt.copy(t);else{const[,t]=await X.exec((()=>this.dispatch(e)),`${this._event_id_}_${e}`);r=t}return r};commit=(e,t)=>{R.isObject(t)&&(t=rt.copy(t)),this[e]=t}}const fr=(e,t)=>{const r=Object.assign(new lr,e||{});r.__persist=new cr(t||r.persist);const n=r.__persist.read(),s=n?Object.assign(r,n):r;return new Proxy(s,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return R.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const s=Reflect.get(e.setters,t);if(R.isFunction(s)&&!s(e,r))return!0;const i=Reflect.set(e,t,r,n);return i&&(e.emit(t.toString(),r),e?.__persist?.handleSave(e,t.toString())),i},has:(e,t)=>Reflect.has(e,t)})};class dr{host="";list=[];constructor(e,t={}){this._parseHost(e);const{width:r=500,height:n=400}=t;this.list.push(`${e}?x-oss-process=image/resize,w_${r},h_${n},m_fill`)}_parseHost(e){e&&!this.host&&/^http[s]?:\/\/([\w.]+)/.test(e)&&(this.host=e.replace(/^http[s]?:\/\/([\w.]+)[\w\W]+/,"$1"))}image(e,t={}){if(!e||!e.includes(this.host))return;if(this.list.length<=0)return;const r={g:"nw",...t},n=e.replace(/^http[s]?:\/\/[\w.]+\/([\w-.,_/?%&=]+)$/,"$1"),s=Jt.base64.encodeByOss(n),i=yt.stringify({image:s,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}text(e,t={},r={}){if(!e)return;const n={g:"nw",...t},s=Jt.base64.encodeByOss(e),i=yt.stringify({text:s,...n,...r},{sep:",",eq:"_"});this.list.push(`/watermark,${i}`)}result(){return this.list.join("")}}const hr=new class{state=fr(new lr);frame=new a;cache=new Map;setCache=(e,t="")=>null!=e&&(t||(t=i()),!this.cache.has(t)&&(this.cache.set(t,e),!0));hasCache=e=>{if(!e)return!1;this.cache.has(e)};getCache=e=>{if(e)return this.cache.get(e)};removeCache=e=>{e&&this.cache.delete(e)};cacheId=e=>`_${e}_cache_`;timesRecord=(e,t={})=>{if(!e)return;const{mode:r="running",cycle:n="day"}=t||{},s=this.cacheId(r),i=this.getCache(s)||{},o=Date.now(),a=i[e],u={time:o,count:1,cycle:n};return a&&("day"!==n||h.isToday(a.time||0))&&(u.count=1+(a.count||0)),i[e]=u,this.setCache(i,s),i};timesValid=(e,t={})=>{if(!e)return!1;const{max:r=1,interval:n=0,mode:s="running",cycle:i="day"}=t||{},o=this.cacheId(s);let a=this.getCache(o);if(!a)return!0;const u=a[e];if(!u)return!0;if("day"===i&&!h.isToday(u.time||0))return!0;if(r<=(u.count||0))return!1;return!(Date.now()-(u.time||0)<n)};timesClean=(e="running")=>{const t=this.cacheId(e),r=this.getCache(t);if(!r)return;const n=nt.copy(r);nt.forof(n,((e,t)=>{"day"!==t.cycle&&void 0!==t.cycle||h.isToday(t.time||0)||delete r[e]})),this.setCache(r,t)}};class pr{id="";start=0;end=0;cost=0;name="";type="";desc="";timeStartDesc="";timeEndDesc="";isDone=!1;flag=0;constructor(){this.id=i(),this.start=Date.now(),this.timeStartDesc=h.format(this.start,"hh:mm:ss.SSS")}get time(){return this.flag?this.start:this.end}get timeDesc(){return this.flag?this.timeStartDesc:this.timeEndDesc}done=(e=Date.now())=>{this.start&&(this.end=e,this.cost=this.end-this.start,this.timeEndDesc=h.format(this.end,"hh:mm:ss.SSS"),this.isDone=!0)}}const gr=new class{_map=new Map;_trackList=[];can=!0;clear(){return this._map.clear(),this._trackList=[],this}add(e,{desc:t="",type:r=""}={}){if(!e||!this.can)return"";const n=new pr;return n.name=e,n.type=r,n.desc=t,this._trackList.push(n),n.id}done(e){if(!e)return;const t=this._trackList.find((t=>t.id===e));if(!t||t.isDone)return;t.done();const r=Object.assign({},t);r.id=this._endId(e),r.flag=1,r.desc=`${t.desc} | end`,this._trackList.push(r)}getTrack(e){return this._trackList.find((t=>t.id===e))}getLine(e){if(!e||e.endsWith("-end"))return[];const t=this._trackList.findIndex((t=>t.id===e));if(t<0)return[];const r=this._endId(e),n=this._trackList.findIndex((e=>e.id===r)),s=n<0?this._trackList.length-t:n-t+1;return it.take(this._trackList,s,t)}getListByName(e,t=""){if(!e)return[];const r=this._trackList.filter((t=>t.name===e));if(r.length<=0)return[];if(!t)return r;const n=this._endId(t);return this._trackList.filter((e=>e.id===t||e.id===n))}getList(){return this._trackList}size(){return this._trackList.length}_endId=e=>`${e}-end`};return{gbk:e,time:h,hook:X,math:te,util:nt,list:it,string:et,obj:rt,crypto:Jt,mini:pt,qs:yt,css:er,cdn:nr,html:rr,rule:Ut,regex:Bt,convert:sr,Event:o,Http:ur,Store:lr,storeRef:fr,Persist:cr,persistConfig:(e,t,r)=>({key:e,fields:t,storage:r}),watermark:(e,t)=>new dr(e,t),joker:hr,tracker:gr}}));
|
package/bin/index.d.ts
CHANGED
|
@@ -239,6 +239,6 @@ declare const _default: {
|
|
|
239
239
|
height?: number | undefined;
|
|
240
240
|
} | undefined) => import("./class/watermark").DWatermark;
|
|
241
241
|
joker: import("./class/joker").Joker;
|
|
242
|
-
|
|
242
|
+
tracker: import("./class/tracker").DTracker;
|
|
243
243
|
};
|
|
244
244
|
export default _default;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DTracker = exports.DTrack = void 0;
|
|
4
|
+
const list_1 = require("../modules/list");
|
|
5
|
+
const uuid_1 = require("../modules/crypto/uuid");
|
|
6
|
+
const time_1 = require("../modules/time");
|
|
7
|
+
class DTrack {
|
|
8
|
+
id = "";
|
|
9
|
+
/** 开始时间戳 */
|
|
10
|
+
start = 0;
|
|
11
|
+
/** 结束时间戳 */
|
|
12
|
+
end = 0;
|
|
13
|
+
/** 耗时 */
|
|
14
|
+
cost = 0;
|
|
15
|
+
name = "";
|
|
16
|
+
type = "";
|
|
17
|
+
desc = "";
|
|
18
|
+
/** 开始时间描述 */
|
|
19
|
+
timeStartDesc = "";
|
|
20
|
+
/** 结束时间描述 */
|
|
21
|
+
timeEndDesc = "";
|
|
22
|
+
/** 是否完成 */
|
|
23
|
+
isDone = false;
|
|
24
|
+
/** 标志 0:默认,1:结束 */
|
|
25
|
+
flag = 0;
|
|
26
|
+
constructor() {
|
|
27
|
+
this.id = (0, uuid_1.default)();
|
|
28
|
+
this.start = Date.now();
|
|
29
|
+
this.timeStartDesc = time_1.default.format(this.start, "hh:mm:ss.SSS");
|
|
30
|
+
}
|
|
31
|
+
/** 执行时间戳 */
|
|
32
|
+
get time() {
|
|
33
|
+
return this.flag ? this.start : this.end;
|
|
34
|
+
}
|
|
35
|
+
/** 执行时间描述 */
|
|
36
|
+
get timeDesc() {
|
|
37
|
+
return this.flag ? this.timeStartDesc : this.timeEndDesc;
|
|
38
|
+
}
|
|
39
|
+
done = (t = Date.now()) => {
|
|
40
|
+
if (!this.start)
|
|
41
|
+
return;
|
|
42
|
+
this.end = t;
|
|
43
|
+
this.cost = this.end - this.start;
|
|
44
|
+
this.timeEndDesc = time_1.default.format(this.end, "hh:mm:ss.SSS");
|
|
45
|
+
this.isDone = true;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
exports.DTrack = DTrack;
|
|
49
|
+
class DTracker {
|
|
50
|
+
_map = new Map();
|
|
51
|
+
_trackList = [];
|
|
52
|
+
can = true;
|
|
53
|
+
clear() {
|
|
54
|
+
this._map.clear();
|
|
55
|
+
this._trackList = [];
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
add(name, { desc = "", type = "" } = {}) {
|
|
59
|
+
if (!name || !this.can)
|
|
60
|
+
return "";
|
|
61
|
+
const _track = new DTrack();
|
|
62
|
+
_track.name = name;
|
|
63
|
+
_track.type = type;
|
|
64
|
+
_track.desc = desc;
|
|
65
|
+
this._trackList.push(_track);
|
|
66
|
+
return _track.id;
|
|
67
|
+
}
|
|
68
|
+
done(id) {
|
|
69
|
+
if (!id)
|
|
70
|
+
return;
|
|
71
|
+
const _track = this._trackList.find(e => e.id === id);
|
|
72
|
+
if (!_track || _track.isDone)
|
|
73
|
+
return;
|
|
74
|
+
_track.done();
|
|
75
|
+
const endTrack = Object.assign({}, _track);
|
|
76
|
+
endTrack.id = this._endId(id);
|
|
77
|
+
endTrack.flag = 1;
|
|
78
|
+
endTrack.desc = `${_track.desc} | end`;
|
|
79
|
+
this._trackList.push(endTrack);
|
|
80
|
+
}
|
|
81
|
+
getTrack(id) {
|
|
82
|
+
return this._trackList.find(e => e.id === id);
|
|
83
|
+
}
|
|
84
|
+
getLine(id) {
|
|
85
|
+
if (!id || id.endsWith("-end"))
|
|
86
|
+
return [];
|
|
87
|
+
const idx_s = this._trackList.findIndex(e => e.id === id);
|
|
88
|
+
if (idx_s < 0)
|
|
89
|
+
return [];
|
|
90
|
+
const endid = this._endId(id);
|
|
91
|
+
const idx_e = this._trackList.findIndex(e => e.id === endid);
|
|
92
|
+
const count = idx_e < 0 ? this._trackList.length - idx_s : idx_e - idx_s + 1;
|
|
93
|
+
return list_1.default.take(this._trackList, count, idx_s);
|
|
94
|
+
}
|
|
95
|
+
getListByName(name, id = "") {
|
|
96
|
+
if (!name)
|
|
97
|
+
return [];
|
|
98
|
+
const _nameList = this._trackList.filter(e => e.name === name);
|
|
99
|
+
if (_nameList.length <= 0)
|
|
100
|
+
return [];
|
|
101
|
+
if (!id)
|
|
102
|
+
return _nameList;
|
|
103
|
+
const endid = this._endId(id);
|
|
104
|
+
return this._trackList.filter(e => e.id === id || e.id === endid);
|
|
105
|
+
}
|
|
106
|
+
getList() {
|
|
107
|
+
return this._trackList;
|
|
108
|
+
}
|
|
109
|
+
size() {
|
|
110
|
+
return this._trackList.length;
|
|
111
|
+
}
|
|
112
|
+
_endId = (id) => `${id}-end`;
|
|
113
|
+
}
|
|
114
|
+
exports.DTracker = DTracker;
|
|
115
|
+
const tracker = new DTracker();
|
|
116
|
+
exports.default = tracker;
|
package/bin/lib/index.js
CHANGED
|
@@ -23,7 +23,7 @@ const store_1 = require("./class/store");
|
|
|
23
23
|
const persist_1 = require("./class/persist");
|
|
24
24
|
const watermark_1 = require("./class/watermark");
|
|
25
25
|
const joker_1 = require("./class/joker");
|
|
26
|
-
const
|
|
26
|
+
const tracker_1 = require("./class/tracker");
|
|
27
27
|
exports.default = {
|
|
28
28
|
gbk: gbk_1.default,
|
|
29
29
|
time: time_1.default,
|
|
@@ -50,5 +50,5 @@ exports.default = {
|
|
|
50
50
|
persistConfig: persist_1.persistConfig,
|
|
51
51
|
watermark: watermark_1.default,
|
|
52
52
|
joker: joker_1.default,
|
|
53
|
-
|
|
53
|
+
tracker: tracker_1.default,
|
|
54
54
|
};
|
package/bin/lib/modules/cdn.js
CHANGED
|
@@ -10,7 +10,7 @@ const ossImage = (url, options = {}) => {
|
|
|
10
10
|
if (options.domain) {
|
|
11
11
|
const domains = list_1.default.toList(options.domain || "");
|
|
12
12
|
const host = url.match(/^http[s]?:\/\/([\w.]+)[\w\W]+/)[1] || "";
|
|
13
|
-
if (host
|
|
13
|
+
if (!host || !domains.includes(host))
|
|
14
14
|
return url;
|
|
15
15
|
}
|
|
16
16
|
const arr = [];
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare class DTrack {
|
|
2
|
+
id: string;
|
|
3
|
+
/** 开始时间戳 */
|
|
4
|
+
start: number;
|
|
5
|
+
/** 结束时间戳 */
|
|
6
|
+
end: number;
|
|
7
|
+
/** 耗时 */
|
|
8
|
+
cost: number;
|
|
9
|
+
name: string;
|
|
10
|
+
type: string;
|
|
11
|
+
desc: string;
|
|
12
|
+
/** 开始时间描述 */
|
|
13
|
+
timeStartDesc: string;
|
|
14
|
+
/** 结束时间描述 */
|
|
15
|
+
timeEndDesc: string;
|
|
16
|
+
/** 是否完成 */
|
|
17
|
+
isDone: boolean;
|
|
18
|
+
/** 标志 0:默认,1:结束 */
|
|
19
|
+
flag: 0 | 1;
|
|
20
|
+
constructor();
|
|
21
|
+
/** 执行时间戳 */
|
|
22
|
+
get time(): number;
|
|
23
|
+
/** 执行时间描述 */
|
|
24
|
+
get timeDesc(): string;
|
|
25
|
+
done: (t?: number) => void;
|
|
26
|
+
}
|
|
27
|
+
export declare class DTracker {
|
|
28
|
+
_map: Map<string, DTrack>;
|
|
29
|
+
_trackList: DTrack[];
|
|
30
|
+
can: boolean;
|
|
31
|
+
clear(): this;
|
|
32
|
+
add(name: string, { desc, type }?: {
|
|
33
|
+
desc?: string | undefined;
|
|
34
|
+
type?: string | undefined;
|
|
35
|
+
}): string;
|
|
36
|
+
done(id: string): void;
|
|
37
|
+
getTrack(id: string): DTrack | undefined;
|
|
38
|
+
getLine(id: string): any[];
|
|
39
|
+
getListByName(name: string, id?: string): DTrack[];
|
|
40
|
+
getList(): DTrack[];
|
|
41
|
+
size(): number;
|
|
42
|
+
_endId: (id: string) => string;
|
|
43
|
+
}
|
|
44
|
+
declare const tracker: DTracker;
|
|
45
|
+
export default tracker;
|
package/bin/types/index.d.ts
CHANGED
|
@@ -239,6 +239,6 @@ declare const _default: {
|
|
|
239
239
|
height?: number | undefined;
|
|
240
240
|
} | undefined) => import("./class/watermark").DWatermark;
|
|
241
241
|
joker: import("./class/joker").Joker;
|
|
242
|
-
|
|
242
|
+
tracker: import("./class/tracker").DTracker;
|
|
243
243
|
};
|
|
244
244
|
export default _default;
|
package/package.json
CHANGED
package/bin/class/monitor.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import DTrack from "./track";
|
|
2
|
-
export declare class DMonitor {
|
|
3
|
-
_map: Map<string, DTrack>;
|
|
4
|
-
_reportMap: Map<string, Set<DTrack>>;
|
|
5
|
-
_trackList: Set<DTrack>;
|
|
6
|
-
_getKey(id: string, name?: string): string;
|
|
7
|
-
_getReports(key: string): Set<DTrack>;
|
|
8
|
-
start(id: string, options?: {
|
|
9
|
-
name?: string;
|
|
10
|
-
overlay?: boolean;
|
|
11
|
-
desc?: string;
|
|
12
|
-
type?: string;
|
|
13
|
-
}): boolean;
|
|
14
|
-
end(id: string, name?: string): void;
|
|
15
|
-
report(id: string, name?: string): DTrack | undefined;
|
|
16
|
-
reports(id: string, name?: string): DTrack[] | undefined;
|
|
17
|
-
clean(id: string, name?: string): void;
|
|
18
|
-
clear(): void;
|
|
19
|
-
track(id: string, { name, desc, type }?: {
|
|
20
|
-
name?: string | undefined;
|
|
21
|
-
desc?: string | undefined;
|
|
22
|
-
type?: string | undefined;
|
|
23
|
-
}): void;
|
|
24
|
-
trackClear(): void;
|
|
25
|
-
trackList(): DTrack[];
|
|
26
|
-
}
|
|
27
|
-
declare const monitor: DMonitor;
|
|
28
|
-
export default monitor;
|
package/bin/class/track.d.ts
DELETED
package/bin/lib/class/monitor.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DMonitor = void 0;
|
|
4
|
-
const list_1 = require("../modules/list");
|
|
5
|
-
const track_1 = require("./track");
|
|
6
|
-
class DMonitor {
|
|
7
|
-
_map = new Map();
|
|
8
|
-
_reportMap = new Map();
|
|
9
|
-
_trackList = new Set();
|
|
10
|
-
_getKey(id, name = "") {
|
|
11
|
-
return `${id}${name ? '_' + name : ''}`;
|
|
12
|
-
}
|
|
13
|
-
_getReports(key) {
|
|
14
|
-
return this._reportMap.get(key) || new Set();
|
|
15
|
-
}
|
|
16
|
-
start(id, options = {}) {
|
|
17
|
-
const key = this._getKey(id, options.name);
|
|
18
|
-
if (this._map.has(key) && !options.overlay)
|
|
19
|
-
return false;
|
|
20
|
-
const _track = new track_1.default();
|
|
21
|
-
_track.id = id;
|
|
22
|
-
_track.name = options?.name || "";
|
|
23
|
-
_track.type = options?.type || "";
|
|
24
|
-
_track.desc = options?.desc || "";
|
|
25
|
-
this._map.set(key, _track);
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
end(id, name = "") {
|
|
29
|
-
const key = this._getKey(id, name);
|
|
30
|
-
if (!this._map.has(key))
|
|
31
|
-
return;
|
|
32
|
-
const track = this._map.get(key);
|
|
33
|
-
if (!track)
|
|
34
|
-
return;
|
|
35
|
-
track.done();
|
|
36
|
-
const _idReport = this._getReports(id);
|
|
37
|
-
_idReport.add(track);
|
|
38
|
-
this._reportMap.set(id, _idReport);
|
|
39
|
-
const _keyReport = this._getReports(key);
|
|
40
|
-
_keyReport.add(track);
|
|
41
|
-
this._reportMap.set(key, _keyReport);
|
|
42
|
-
this._map.delete(key);
|
|
43
|
-
}
|
|
44
|
-
report(id, name = "") {
|
|
45
|
-
const key = this._getKey(id, name);
|
|
46
|
-
if (!key)
|
|
47
|
-
return undefined;
|
|
48
|
-
const list = this.reports(key) || [];
|
|
49
|
-
return list_1.default.last(list);
|
|
50
|
-
}
|
|
51
|
-
reports(id, name = "") {
|
|
52
|
-
const key = this._getKey(id, name);
|
|
53
|
-
if (!key)
|
|
54
|
-
return undefined;
|
|
55
|
-
return Array.from(this._getReports(key));
|
|
56
|
-
}
|
|
57
|
-
clean(id, name = "") {
|
|
58
|
-
if (!id)
|
|
59
|
-
return;
|
|
60
|
-
const key = this._getKey(id, name);
|
|
61
|
-
this._reportMap.delete(key);
|
|
62
|
-
const _rMap = this._reportMap.get(id);
|
|
63
|
-
if (_rMap) {
|
|
64
|
-
if (name) {
|
|
65
|
-
const set = new Set([..._rMap].filter(r => r.name !== name));
|
|
66
|
-
this._reportMap.set(id, set);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
this._reportMap.delete(id);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
this._map.delete(key);
|
|
73
|
-
}
|
|
74
|
-
clear() {
|
|
75
|
-
this._map.clear();
|
|
76
|
-
this._reportMap.clear();
|
|
77
|
-
}
|
|
78
|
-
track(id, { name = "", desc = "", type = "" } = {}) {
|
|
79
|
-
if (!id)
|
|
80
|
-
return;
|
|
81
|
-
const _track = new track_1.default();
|
|
82
|
-
_track.id = id;
|
|
83
|
-
_track.name = name;
|
|
84
|
-
_track.type = type;
|
|
85
|
-
_track.desc = desc;
|
|
86
|
-
this._trackList.add(_track);
|
|
87
|
-
}
|
|
88
|
-
trackClear() {
|
|
89
|
-
this._trackList.clear();
|
|
90
|
-
}
|
|
91
|
-
trackList() {
|
|
92
|
-
return Array.from(this._trackList);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.DMonitor = DMonitor;
|
|
96
|
-
const monitor = new DMonitor();
|
|
97
|
-
exports.default = monitor;
|
package/bin/lib/class/track.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class DTrack {
|
|
4
|
-
start = 0;
|
|
5
|
-
end = 0;
|
|
6
|
-
cost = 0;
|
|
7
|
-
id = "";
|
|
8
|
-
name = "";
|
|
9
|
-
type = "";
|
|
10
|
-
desc = "";
|
|
11
|
-
constructor() {
|
|
12
|
-
this.start = Date.now();
|
|
13
|
-
}
|
|
14
|
-
key = (id, name = "") => `${id}${name ? '_' + name : ''}`;
|
|
15
|
-
done = () => {
|
|
16
|
-
if (!this.start)
|
|
17
|
-
return;
|
|
18
|
-
this.end = Date.now();
|
|
19
|
-
this.cost = this.end - this.start;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
exports.default = DTrack;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import DTrack from "./track";
|
|
2
|
-
export declare class DMonitor {
|
|
3
|
-
_map: Map<string, DTrack>;
|
|
4
|
-
_reportMap: Map<string, Set<DTrack>>;
|
|
5
|
-
_trackList: Set<DTrack>;
|
|
6
|
-
_getKey(id: string, name?: string): string;
|
|
7
|
-
_getReports(key: string): Set<DTrack>;
|
|
8
|
-
start(id: string, options?: {
|
|
9
|
-
name?: string;
|
|
10
|
-
overlay?: boolean;
|
|
11
|
-
desc?: string;
|
|
12
|
-
type?: string;
|
|
13
|
-
}): boolean;
|
|
14
|
-
end(id: string, name?: string): void;
|
|
15
|
-
report(id: string, name?: string): DTrack | undefined;
|
|
16
|
-
reports(id: string, name?: string): DTrack[] | undefined;
|
|
17
|
-
clean(id: string, name?: string): void;
|
|
18
|
-
clear(): void;
|
|
19
|
-
track(id: string, { name, desc, type }?: {
|
|
20
|
-
name?: string | undefined;
|
|
21
|
-
desc?: string | undefined;
|
|
22
|
-
type?: string | undefined;
|
|
23
|
-
}): void;
|
|
24
|
-
trackClear(): void;
|
|
25
|
-
trackList(): DTrack[];
|
|
26
|
-
}
|
|
27
|
-
declare const monitor: DMonitor;
|
|
28
|
-
export default monitor;
|