ddan-js 1.3.0 → 1.3.2

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.
@@ -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 i=0;i<e.length&&(e.charCodeAt(i)>127||94===e.charCodeAt(i)?r+=2:r++,!(r>t));i++)n=i;return e.substr(0,n+1)}};const t=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";const n={};return n.yyyy=r.getFullYear(),n.yy=`${n.yyyy}`.substr(2),n.M=r.getMonth()+1,n.MM=(n.M<10?"0":"")+n.M,n.d=r.getDate(),n.dd=(n.d<10?"0":"")+n.d,n.h=r.getHours(),n.hh=(n.h<10?"0":"")+n.h,n.m=r.getMinutes(),n.mm=(n.m<10?"0":"")+n.m,n.s=r.getSeconds(),n.ss=(n.s<10?"0":"")+n.s,n.S=r.getMilliseconds(),n.SS=(n.S<10?"0":"")+n.S,n.SSS=n.S.toString().padStart(3,0),t.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>n[e]))};function r(){return Date.now()}var n={now:r,isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),format:t,parseTime:function({year:e=0,month:r=0,date:n=0,hour:i=0,minute:s=0,second:o=0}){const a=`${e||"yyyy"}/${r||"MM"}/${n||"dd"} ${i}:${s}:${o}`;return new Date(t(Date.now(),a)).getTime()},todayZero:()=>new Date(t(r(),"yyyy/MM/dd 00:00:00")).getTime(),oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3},i="object"==typeof global&&global&&global.Object===Object&&global,s="object"==typeof self&&self&&self.Object===Object&&self;const o=(i||s||Function("return this")()).Symbol,{toString:a,hasOwnProperty:u,propertyIsEnumerable:l}=Object.prototype,c=o?o.toStringTag:void 0;function f(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":c&&c in Object(e)?function(e){const t=u.call(e,c),r=e[c];let n=!1;try{e[c]=void 0,n=!0}catch(e){}const i=a.call(e);return n&&(t?e[c]=r:delete e[c]),i}(e):a.call(e)}var d={getTag:f,getType:function(e){return(f(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:a,hasOwnProperty:u,propertyIsEnumerable:l},g="[object Function]",y="[object GeneratorFunction]",p="[object AsyncFunction]",h=9007199254740991;const m=/^(?:0|[1-9]\d*)$/;function b(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function v(e){return null!=e&&"object"==typeof e}const w=Array.isArray;function O(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=h}(e.length)&&!$(e)}function j(e){return v(e)&&O(e)}function $(e){var t=b(e)?d.getTag(e):"";return t===g||t===y||t===p}var A={is:function(e,t){return d.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===d.getTag(e)},isString:function(e){return"string"==typeof e||!w(e)&&v(e)&&"[object String]"==d.getTag(e)},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isObject:b,isObjectLike:v,isSymbol:function(e){return"symbol"==typeof e||v(e)&&"[object Symbol]"===d.getTag(e)},isFunction:$,isArray:w,isArrayLikeObject:j,isIndex:function(e,t){return!!(t=null==t?h:t)&&("number"==typeof e||m.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:O,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return j(e)&&d.hasOwnProperty.call(e,"callee")&&(!d.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==d.toString.call(e))},isPromise:function(e){return"[object Promise]"===(b(e)?d.getTag(e):"")}};const q=NaN,F=/^\s+|\s+$/g,x=/^[-+]0x[0-9a-f]+$/i,S=/^0b[01]+$/i,E=/^0o[0-7]+$/i,P=parseInt,k=1/0,M=17976931348623157e292;function R(e){if("number"==typeof e)return e;if(A.isSymbol(e))return q;if(A.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=A.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(F,"");const t=S.test(e);return t||E.test(e)?P(e.slice(2),t?2:8):x.test(e)?q:+e}function D(e){return e?(e=R(e))===k||e===-k?(e<0?-1:1)*M:e==e?e:0:0===e?e:0}var T={toNumber:R,toFinite:D,toInteger:function(e){var t=D(e),r=t%1;return t==t?r?t-r:t:0}};const N="Expected a function",C=Math.max,I=Math.min;function _(e,t=0,r={}){var n,i,s,o,a,u,l=0,c=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError(N);function g(t){var r=n,s=i;return n=i=void 0,l=t,o=e.apply(s,r)}function y(e){var r=e-u;return void 0===u||r>=t||r<0||f&&e-l>=s}function p(){var e=Date.now();if(y(e))return h(e);a=setTimeout(p,function(e){var r=t-(e-u);return f?I(r,s-(e-l)):r}(e))}function h(e){return a=void 0,d&&n?g(e):(n=i=void 0,o)}function m(...e){var r=Date.now(),s=y(r);if(n=arguments,i=this,u=r,s){if(void 0===a)return function(e){return l=e,a=setTimeout(p,t),c?g(e):o}(u);if(f)return a=setTimeout(p,t),g(u)}return void 0===a&&(a=setTimeout(p,t)),o}return t=T.toNumber(t)||0,A.isObject(r)&&(c=!!r.leading,s=(f="maxWait"in r)?C(T.toNumber(r.maxWait)||0,t):s,d="trailing"in r?!!r.trailing:d),m.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=u=i=a=void 0},m.flush=function(){return void 0===a?o:h(Date.now())},m}class V{constructor(e){this.source=e}run(){let e;try{let t;return t=A.isFunction(this.source)?this.source():this.source,e=A.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}}var z={sleep:(e=1e3)=>new Promise((t=>{setTimeout(t,e)})),run:e=>new V(e).run(),debounce:_,throttle:function(e,t=0,r={}){var n=!1,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return A.isObject(r)&&(n=r.leading?!!r.leading:n,i=r.trailing?!!r.trailing:i),_(e,t,{leading:n,maxWait:t,trailing:i})}};var U={random:function(e){return Math.floor(Math.random()*e)},randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randomString:function(e,t=!1){e=e||32;const r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let i="";for(let t=0;t<e;t++)i+=r.charAt(Math.floor(62*Math.random()));return t?n.format(new Date,"yyyyMMddhhmmss")+i:i}};function L(e){return e!=e}function J(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}(t,(function(t){return e[t]}))}var B,W,Z=(B=Object.keys,W=Object,function(e){return B(W(e))}),H=Math.max;function Y(e,t){var r=A.isArray(e)||A.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,i=!!n;for(var s in e)!t&&!d.hasOwnProperty.call(e,s)||i&&("length"==s||A.isIndex(s,n))||r.push(s);return r}var G=Object.assign(Object.assign(Object.assign({},A),d),{includes:function(e,t,r,n){e=A.isArrayLike(e)?e:function(e){return e?J(e,function(e){return A.isArrayLike(e)?Y(e):function(e){if(!A.isPrototype(e))return Z(e);var t=[];for(var r in Object(e))d.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?T.toInteger(r):0;var i=e.length;return r<0&&(r=H(i+r,0)),A.isString(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var i=e.length,s=r+(n?1:-1);n?s--:++s<i;)if(t(e[s],s,e))return s;return-1}(e,L,r);for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}(e,t,r)>-1},merge:function(e,t){return t?e?(Object.keys(t).forEach((r=>{Array.isArray(e[r])&&Array.isArray(t[r])?e[r]=e[r].concat(t[r]):"object"==typeof e[r]&&"object"==typeof t[r]?e[r]=Object.assign(e[r],t[r]):e[r]=t[r]})),e):t:e},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},copy:function(e){if(void 0!==e)return JSON.parse(JSON.stringify(e))},clone:function e(t){if(!t)return t;if("object"!=typeof t)return t;const r=Array.isArray(t)?[]:{};for(let n in t)t.hasOwnProperty(n)&&(r[n]=e(t[n]));return r}});class K{constructor(){this._map=new Map}clear(){return this._map.clear(),this}on(e,t){if(!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){const r=this._map.get(e);if(!r)return this;return[...r].forEach((e=>e(...t))),this}off(e="",t){if(!e)return this._map.clear(),this;if(!t)return this._map.delete(e.toString()),this;const r=this._map.get(e);return r?(r.delete(t),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)}}var Q={groupBy:(e,t)=>e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{}),stepAction:function(e,t,r=100){if(!A.isFunction(t))return;if(!A.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let i=r+n,s=e.slice(n,i);t&&t(s),n=i}},skip:(e,t)=>{if(!A.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:(e,t,r=0)=>{if(!A.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const i=t+n;return e.slice(n,e.length<i?e.length:i)||[]},distinct:e=>!A.isArray(e)||e.length<=0?[]:[...new Set(e)]};const X="[object Object]",ee="[object Array]",te=e=>Object.prototype.toString.call(e),re=(e,t,r=!1)=>{if(e===t)return;const n=te(e);if(n===te(t))if(n===ee&&e.length>=t.length)for(let r=0;r<t.length;r++)re(e[r],t[r]);else if(n===X&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?re(e[n],t[n]):e[n]=null},ne=(e,t,r,n="",i=!1)=>{if(e===t)return;const s=te(e),o=te(t);if(s===ee&&o===s&&e.length>=t.length)for(let i=0;i<e.length;i++)ne(e[i],t[i],r,`${n}[${i}]`);else if(s===X&&o===s&&(i||Object.keys(e).length>=Object.keys(t).length)){const i=Object.keys(e);for(let s of i){const i=e[s],o=t[s],a=te(i),u=te(o);if(i!==o)if(a===ee&&u===a&&i.length>=o.length)for(let e=0;e<i.length;e++)ne(i[e],o[e],r,`${n?n+".":""}${s}[${e}]`);else if(a===X&&u===a&&Object.keys(i).length>=Object.keys(o).length)for(let e in i)ne(i[e],o[e],r,`${n?n+".":""}${s}.${e}`);else r[`${n?n+".":""}${s}`]=i}}else r[n]=e};const ie=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var se={diff:function(e,t){const r={};return(e=>{if(te(e)===X)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,i=r.length;for(let e=0;e<i-1;e++){const t=r[e];te(n[t])!==X&&(n[t]={}),n=n[t]}n[r[i-1]]=e[t],delete e[t]}})(e),re(e,t,!0),ne(e,t,r,"",!0),r},promixify:ie,run:(e,t={})=>{if(e)return z.run(ie(e)(t))},formatList:(e,t,r)=>(e||[]).reduce(((e,n,i)=>Object.assign(Object.assign({},e),{[`${r}[${t+i}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e)))};function oe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}const ae=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:i=!1}={}){t=t||"&",r=r||"=";const s={};if("string"!=typeof e||0===e.length)return s;const o=/\+/g,a=n||1e3;let u=(e=e.split(t)).length;a>0&&u>a&&(u=a);for(let t=0;t<u;++t){let n,a,u,l,c=e[t].replace(o,"%20"),f=c.indexOf(r);f>=0?(n=c.substr(0,f),a=c.substr(f+1)):(n=c,a=""),u=decodeURIComponent(n),l=decodeURIComponent(a),oe(s,u)&&i?Array.isArray(s[u])?s[u].push(l):s[u]=[s[u],l]:s[u]=l}return s},ue=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},le=function(e,{sep:t="&",eq:r="=",name:n=null,multiple:i=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const s=encodeURIComponent(ue(n))+r;return i&&Array.isArray(e[n])?e[n].map((function(e){return s+encodeURIComponent(ue(e))})).join(t):s+encodeURIComponent(ue(e[n]))})).filter(Boolean).join(t):n?encodeURIComponent(ue(n))+r+encodeURIComponent(ue(e)):""};var ce={parse:ae,decode:ae,stringify:le,encode:le,useHttps:function(e){if(!e)return e;const t=e.trim();return"string"!=typeof e?e:t.indexOf("https")<0?t.replace("http","https"):t}};const fe=/%[sdj%]/g;let de=()=>{};function ge(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 ye(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(fe,(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 pe(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 he(e,t,r){let n=0;const i=e.length;!function s(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<i?t(e[a],s):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(de=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class me extends Error{constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function be(e,t,r,n,i){if(t.first){const t=new Promise(((t,s)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);he(o,r,(e=>(n(e),e.length?s(new me(e,ge(e))):t(i))))}));return t.catch((e=>e)),t}const s=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let u=0;const l=[],c=new Promise(((t,c)=>{const f=e=>{if(l.push.apply(l,e),u++,u===a)return n(l),l.length?c(new me(l,ge(l))):t(i)};o.length||(n(l),t(i)),o.forEach((t=>{const n=e[t];-1!==s.indexOf(t)?he(n,r,f):function(e,t,r){const n=[];let i=0;const s=e.length;function o(e){n.push(...e||[]),i++,i===s&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return c.catch((e=>e)),c}function ve(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],(i=r)&&void 0!==i.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var i}}function we(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]=Object.assign(Object.assign({},e[r]),n):e[r]=n}return e}const Oe=(e,t,r,n,i,s)=>{!e.required||r.hasOwnProperty(e.field||"")&&!pe(t,s||e.type)||n.push(ye(i.messages.required,e.fullField))};let je;const $e=/^(([^<>()\[\]\\.,;:\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,}))$/,Ae=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,qe={integer:e=>qe.number(e)&&parseInt(e,10)===e,float:e=>qe.number(e)&&!qe.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&&!qe.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match($e),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(je)return je;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}",i=`\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(),s=new RegExp(`(?:^${r}$)|(?:^${i}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${i}$`),u=e=>e&&e.exact?s:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${i}${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)}${i}${t(e)}`,"g");const l=u.v4().source,c=u.v6().source;return je=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${c}|(?:(?:[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"),je})()),hex:e=>"string"==typeof e&&!!e.match(Ae)},Fe="enum";var xe={required:Oe,whitespace:(e,t,r,n,i)=>{(/^\s+$/.test(t)||""===t)&&n.push(ye(i.messages.whitespace,e.fullField))},type:(e,t,r,n,i)=>{if(e.required&&void 0===t)return void Oe(e,t,r,n,i);const s=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(s)>-1?qe[s](t)||n.push(ye(i.messages.types[s],e.fullField,e.type)):s&&typeof t!==e.type&&n.push(ye(i.messages.types[s],e.fullField,e.type))},range:(e,t,r,n,i)=>{const s="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,c="";const f="number"==typeof t,d="string"==typeof t,g=Array.isArray(t);if(f?c="number":d?c="string":g&&(c="array"),!c)return!1;g&&(l=t.length),d&&(l=t.replace(u,"_").length),s?l!==e.len&&n.push(ye(i.messages[c].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(ye(i.messages[c].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(ye(i.messages[c].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(ye(i.messages[c].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,i)=>{e[Fe]=Array.isArray(e[Fe])?e[Fe]:[],-1===e[Fe].indexOf(t)&&n.push(ye(i.messages[Fe],e.fullField,e[Fe].join(", ")))},pattern:(e,t,r,n,i)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(ye(i.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(ye(i.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Se=(e,t,r,n,i)=>{const s=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t,s)&&!e.required)return r();xe.required(e,t,n,o,i,s),pe(t,s)||xe.type(e,t,n,o,i)}r(o)};var Ee={string:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(pe(t,"string")&&!e.required)return r();xe.required(e,t,n,s,i,"string"),pe(t,"string")||(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i),xe.pattern(e,t,n,s,i),!0===e.whitespace&&xe.whitespace(e,t,n,s,i))}r(s)},method:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&xe.type(e,t,n,s,i)}r(s)},number:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),pe(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i))}r(s)},boolean:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&xe.type(e,t,n,s,i)}r(s)},regexp:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t)&&!e.required)return r();xe.required(e,t,n,s,i),pe(t)||xe.type(e,t,n,s,i)}r(s)},integer:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i))}r(s)},float:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i))}r(s)},array:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();xe.required(e,t,n,s,i,"array"),null!=t&&(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i))}r(s)},object:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&xe.type(e,t,n,s,i)}r(s)},enum:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&xe.enum(e,t,n,s,i)}r(s)},pattern:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t,"string")&&!e.required)return r();xe.required(e,t,n,s,i),pe(t,"string")||xe.pattern(e,t,n,s,i)}r(s)},date:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t,"date")&&!e.required)return r();if(xe.required(e,t,n,s,i),!pe(t,"date")){let r;r=t instanceof Date?t:new Date(t),xe.type(e,r,n,s,i),r&&xe.range(e,r.getTime(),n,s,i)}}r(s)},url:Se,hex:Se,email:Se,required:(e,t,r,n,i)=>{const s=[],o=Array.isArray(t)?"array":typeof t;xe.required(e,t,n,s,i,o),r(s)},any:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(pe(t)&&!e.required)return r();xe.required(e,t,n,s,i)}r(s)}};function Pe(){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 ke=Pe();class Me{constructor(e){this.rules={},this._messages=ke,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=we(Pe(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,i=t,s=r;if("function"==typeof i&&(s=i,i={}),!this.rules||0===Object.keys(this.rules).length)return s&&s(null,n),Promise.resolve(n);if(i.messages){let e=this.messages();e===ke&&(e=Pe()),we(e,i.messages),i.messages=e}else i.messages=this.messages();const o={};(i.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let i=n[t];r.forEach((r=>{let s=r;"function"==typeof s.transform&&(n===e&&(n=Object.assign({},n)),i=n[t]=s.transform(i)),s="function"==typeof s?{validator:s}:Object.assign({},s),s.validator=this.getValidationMethod(s),s.validator&&(s.field=t,s.fullField=s.fullField||t,s.type=this.getType(s),o[t]=o[t]||[],o[t].push({rule:s,value:i,source:n,field:t}))}))}));const a={};return be(o,i,((e,t)=>{var r;const s=e.rule;let o,u=!("object"!==s.type&&"array"!==s.type||"object"!=typeof s.fields&&"object"!=typeof s.defaultField);function l(e,t){return Object.assign(Object.assign({},t),{fullField:`${s.fullField}.${e}`,fullFields:s.fullFields?[...s.fullFields,e]:[e]})}function c(r=[]){let o=Array.isArray(r)?r:[r];!0===i.suppressWarning&&o.length&&Me.warning("async-validator:",o),o.length&&void 0!==s.message&&(o=[].concat(s.message));let c=o.map(ve(s,n));if(i.first&&c.length)return a[s.field]=1,t(c);if(u){if(s.required&&!e.value)return void 0!==s.message?c=[].concat(s.message).map(ve(s,n)):i.error&&(c=[i.error(s,ye(i.messages.required,s.field))]),t(c);let r={};s.defaultField&&Object.keys(e.value).map((e=>{r[e]=s.defaultField})),r=Object.assign(Object.assign({},r),e.rule.fields);const o={};Object.keys(r).forEach((e=>{const t=r[e],n=Array.isArray(t)?t:[t];o[e]=n.map(l.bind(null,e))}));const a=new Me(o);a.messages(i.messages),e.rule.options&&(e.rule.options.messages=i.messages,e.rule.options.error=i.error),a.validate(e.value,e.rule.options||i,(e=>{const r=[];c&&c.length&&r.push(...c),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(c)}if(u=u&&(s.required||!s.required&&e.value),s.field=e.field,s.asyncValidator)o=s.asyncValidator(s,e.value,c,e.source,i);else if(s.validator){try{o=s.validator(s,e.value,c,e.source,i)}catch(e){null===(r=console.error)||void 0===r||r.call(console,e),i.suppressValidatorError||setTimeout((()=>{throw e}),0),c(e.message)}!0===o?c():!1===o?c("function"==typeof s.message?s.message(s.fullField||s.field):s.message||`${s.fullField||s.field} fails`):o instanceof Array?c(o):o instanceof Error&&c(o.message)}o&&o.then&&o.then((()=>c()),(e=>c(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)i=e[r],Array.isArray(i)?t=t.concat(...i):t.push(i);var i;t.length?(r=ge(t),s(t,r)):s(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Ee.hasOwnProperty(e.type))throw new Error(ye("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]?Ee.required:Ee[this.getType(e)]||void 0}}function Re(e){return new Me(e)}Me.register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Ee[e]=t},Me.warning=de,Me.messages=ke,Me.validators=Ee;var De={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:Re,validate:function(e,t,r={},n=(()=>{})){return z.run(Re(e).validate(t,r,n))}};function Te(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{u(n.next(e))}catch(e){s(e)}}function a(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}u((n=n.apply(e,t||[])).next())}))}class Ne extends K{constructor(){super(),this.getters={},this.setters={},this.actions={}}dispatch(e,t=void 0){return Te(this,void 0,void 0,(function*(){const r=Reflect.get(this.actions,e);if(!A.isFunction(r))return;const[,n]=yield z.run(r(this,t));return n}))}getByOnce(e){return Te(this,void 0,void 0,(function*(){const t=Reflect.get(this,e);let r;return r=null!=t&&""!==t?JSON.parse(JSON.stringify(t)):yield this.dispatch(e),r}))}}var Ce={gbk:e,time:n,hook:z,math:U,util:G,list:Q,mini:se,url:ce,rule:De,DEvent:K,store:Ne,storeRef:e=>{const t=Object.assign(new Ne,e||{});return new Proxy(t,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return A.isFunction(n)?n():Reflect.get(e,t,r)},set:(e,t,r,n)=>{const i=Reflect.get(e.setters,t);if(A.isFunction(i)&&!i(r))return!0;const s=Reflect.set(e,t,r,n);return s&&e.emit(t.toString(),r),s},has:(e,t)=>Reflect.has(e,t)})}};export{Ce 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 i=0;i<e.length&&(e.charCodeAt(i)>127||94===e.charCodeAt(i)?r+=2:r++,!(r>t));i++)n=i;return e.substr(0,n+1)}};const t=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";const n={};return n.yyyy=r.getFullYear(),n.yy=`${n.yyyy}`.substr(2),n.M=r.getMonth()+1,n.MM=(n.M<10?"0":"")+n.M,n.d=r.getDate(),n.dd=(n.d<10?"0":"")+n.d,n.h=r.getHours(),n.hh=(n.h<10?"0":"")+n.h,n.m=r.getMinutes(),n.mm=(n.m<10?"0":"")+n.m,n.s=r.getSeconds(),n.ss=(n.s<10?"0":"")+n.s,n.S=r.getMilliseconds(),n.SS=(n.S<10?"0":"")+n.S,n.SSS=n.S.toString().padStart(3,0),t.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>n[e]))};function r(){return Date.now()}var n={now:r,isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),format:t,parseTime:function({year:e=0,month:r=0,date:n=0,hour:i=0,minute:s=0,second:o=0}){const a=`${e||"yyyy"}/${r||"MM"}/${n||"dd"} ${i}:${s}:${o}`;return new Date(t(Date.now(),a)).getTime()},todayZero:()=>new Date(t(r(),"yyyy/MM/dd 00:00:00")).getTime(),oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3},i="object"==typeof global&&global&&global.Object===Object&&global,s="object"==typeof self&&self&&self.Object===Object&&self;const o=(i||s||Function("return this")()).Symbol,{toString:a,hasOwnProperty:u,propertyIsEnumerable:l}=Object.prototype,c=o?o.toStringTag:void 0;function f(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":c&&c in Object(e)?function(e){const t=u.call(e,c),r=e[c];let n=!1;try{e[c]=void 0,n=!0}catch(e){}const i=a.call(e);return n&&(t?e[c]=r:delete e[c]),i}(e):a.call(e)}var d={getTag:f,getType:function(e){return(f(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:a,hasOwnProperty:u,propertyIsEnumerable:l},p="[object Function]",y="[object GeneratorFunction]",h="[object AsyncFunction]",g=9007199254740991;const m=/^(?:0|[1-9]\d*)$/;function b(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function v(e){return null!=e&&"object"==typeof e}const w=Array.isArray;function $(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=g}(e.length)&&!j(e)}function O(e){return v(e)&&$(e)}function j(e){var t=b(e)?d.getTag(e):"";return t===p||t===y||t===h}var A={is:function(e,t){return d.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===d.getTag(e)},isString:function(e){return"string"==typeof e||!w(e)&&v(e)&&"[object String]"==d.getTag(e)},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isObject:b,isObjectLike:v,isSymbol:function(e){return"symbol"==typeof e||v(e)&&"[object Symbol]"===d.getTag(e)},isFunction:j,isArray:w,isArrayLikeObject:O,isIndex:function(e,t){return!!(t=null==t?g:t)&&("number"==typeof e||m.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:$,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return O(e)&&d.hasOwnProperty.call(e,"callee")&&(!d.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==d.toString.call(e))},isPromise:function(e){return"[object Promise]"===(b(e)?d.getTag(e):"")}};const q=NaN,F=/^\s+|\s+$/g,x=/^[-+]0x[0-9a-f]+$/i,S=/^0b[01]+$/i,E=/^0o[0-7]+$/i,P=parseInt,M=1/0,k=17976931348623157e292;function R(e){if("number"==typeof e)return e;if(A.isSymbol(e))return q;if(A.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=A.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(F,"");const t=S.test(e);return t||E.test(e)?P(e.slice(2),t?2:8):x.test(e)?q:+e}function D(e){return e?(e=R(e))===M||e===-M?(e<0?-1:1)*k:e==e?e:0:0===e?e:0}var T={toNumber:R,toFinite:D,toInteger:function(e){var t=D(e),r=t%1;return t==t?r?t-r:t:0}};const _="Expected a function",N=Math.max,C=Math.min;function I(e,t=0,r={}){var n,i,s,o,a,u,l=0,c=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError(_);function p(t){var r=n,s=i;return n=i=void 0,l=t,o=e.apply(s,r)}function y(e){var r=e-u;return void 0===u||r>=t||r<0||f&&e-l>=s}function h(){var e=Date.now();if(y(e))return g(e);a=setTimeout(h,function(e){var r=t-(e-u);return f?C(r,s-(e-l)):r}(e))}function g(e){return a=void 0,d&&n?p(e):(n=i=void 0,o)}function m(...e){var r=Date.now(),s=y(r);if(n=arguments,i=this,u=r,s){if(void 0===a)return function(e){return l=e,a=setTimeout(h,t),c?p(e):o}(u);if(f)return a=setTimeout(h,t),p(u)}return void 0===a&&(a=setTimeout(h,t)),o}return t=T.toNumber(t)||0,A.isObject(r)&&(c=!!r.leading,s=(f="maxWait"in r)?N(T.toNumber(r.maxWait)||0,t):s,d="trailing"in r?!!r.trailing:d),m.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=u=i=a=void 0},m.flush=function(){return void 0===a?o:g(Date.now())},m}class V{source;constructor(e){this.source=e}run(){let e;try{let t;return t=A.isFunction(this.source)?this.source():this.source,e=A.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}}var z={sleep:(e=1e3)=>new Promise((t=>{setTimeout(t,e)})),run:e=>new V(e).run(),debounce:I,throttle:function(e,t=0,r={}){var n=!1,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return A.isObject(r)&&(n=r.leading?!!r.leading:n,i=r.trailing?!!r.trailing:i),I(e,t,{leading:n,maxWait:t,trailing:i})}};var U={random:function(e){return Math.floor(Math.random()*e)},randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randomString:function(e,t=!1){e=e||32;const r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let i="";for(let t=0;t<e;t++)i+=r.charAt(Math.floor(62*Math.random()));return t?n.format(new Date,"yyyyMMddhhmmss")+i:i}};function L(e){return e!=e}function J(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}(t,(function(t){return e[t]}))}var W,Z,B=(W=Object.keys,Z=Object,function(e){return W(Z(e))}),H=Math.max;function Y(e,t){var r=A.isArray(e)||A.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,i=!!n;for(var s in e)!t&&!d.hasOwnProperty.call(e,s)||i&&("length"==s||A.isIndex(s,n))||r.push(s);return r}const G=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]=G(e[r]));return t};var K={...A,...d,includes:function(e,t,r,n){e=A.isArrayLike(e)?e:function(e){return e?J(e,function(e){return A.isArrayLike(e)?Y(e):function(e){if(!A.isPrototype(e))return B(e);var t=[];for(var r in Object(e))d.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?T.toInteger(r):0;var i=e.length;return r<0&&(r=H(i+r,0)),A.isString(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var i=e.length,s=r+(n?1:-1);n?s--:++s<i;)if(t(e[s],s,e))return s;return-1}(e,L,r);for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}(e,t,r)>-1},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},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},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)||!t||t.length<=0)return r;const n={};for(const e in r)t.includes(e)&&r.hasOwnProperty(e)&&(n[e]=r[e]);return n},clone:G};class Q{_map;constructor(){this._map=new Map}clear(){return this._map.clear(),this}on(e,t){if(!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){const r=this._map.get(e);if(!r)return this;return[...r].forEach((e=>e(...t))),this}off(e="",t){if(!e)return this._map.clear(),this;if(!t)return this._map.delete(e.toString()),this;const r=this._map.get(e);return r?(r.delete(t),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)}}var X={groupBy:(e,t)=>e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{}),stepAction:function(e,t,r=100){if(!A.isFunction(t))return;if(!A.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let i=r+n,s=e.slice(n,i);t&&t(s),n=i}},skip:(e,t)=>{if(!A.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:(e,t,r=0)=>{if(!A.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const i=t+n;return e.slice(n,e.length<i?e.length:i)||[]},distinct:e=>!A.isArray(e)||e.length<=0?[]:[...new Set(e)]};const ee="[object Object]",te="[object Array]",re=e=>Object.prototype.toString.call(e),ne=(e,t,r=!1)=>{if(e===t)return;const n=re(e);if(n===re(t))if(n===te&&e.length>=t.length)for(let r=0;r<t.length;r++)ne(e[r],t[r]);else if(n===ee&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?ne(e[n],t[n]):e[n]=null},ie=(e,t,r,n="",i=!1)=>{if(e===t)return;const s=re(e),o=re(t);if(s===te&&o===s&&e.length>=t.length)for(let i=0;i<e.length;i++)ie(e[i],t[i],r,`${n}[${i}]`);else if(s===ee&&o===s&&(i||Object.keys(e).length>=Object.keys(t).length)){const i=Object.keys(e);for(let s of i){const i=e[s],o=t[s],a=re(i),u=re(o);if(i!==o)if(a===te&&u===a&&i.length>=o.length)for(let e=0;e<i.length;e++)ie(i[e],o[e],r,`${n?n+".":""}${s}[${e}]`);else if(a===ee&&u===a&&Object.keys(i).length>=Object.keys(o).length)for(let e in i)ie(i[e],o[e],r,`${n?n+".":""}${s}.${e}`);else r[`${n?n+".":""}${s}`]=i}}else r[n]=e};const se=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var oe={diff:function(e,t){const r={};return(e=>{if(re(e)===ee)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,i=r.length;for(let e=0;e<i-1;e++){const t=r[e];re(n[t])!==ee&&(n[t]={}),n=n[t]}n[r[i-1]]=e[t],delete e[t]}})(e),ne(e,t,!0),ie(e,t,r,"",!0),r},promixify:se,run:(e,t={})=>{if(e)return z.run(se(e)(t))},formatList:(e,t,r)=>(e||[]).reduce(((e,n,i)=>({...e,[`${r}[${t+i}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e)))};function ae(e,t){return Object.prototype.hasOwnProperty.call(e,t)}const ue=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:i=!1}={}){t=t||"&",r=r||"=";const s={};if("string"!=typeof e||0===e.length)return s;const o=/\+/g,a=n||1e3;let u=(e=e.split(t)).length;a>0&&u>a&&(u=a);for(let t=0;t<u;++t){let n,a,u,l,c=e[t].replace(o,"%20"),f=c.indexOf(r);f>=0?(n=c.substr(0,f),a=c.substr(f+1)):(n=c,a=""),u=decodeURIComponent(n),l=decodeURIComponent(a),ae(s,u)&&i?Array.isArray(s[u])?s[u].push(l):s[u]=[s[u],l]:s[u]=l}return s},le=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},ce=function(e,{sep:t="&",eq:r="=",name:n=null,multiple:i=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const s=encodeURIComponent(le(n))+r;return i&&Array.isArray(e[n])?e[n].map((function(e){return s+encodeURIComponent(le(e))})).join(t):s+encodeURIComponent(le(e[n]))})).filter(Boolean).join(t):n?encodeURIComponent(le(n))+r+encodeURIComponent(le(e)):""};var fe={parse:ue,decode:ue,stringify:ce,encode:ce,useHttps:function(e){if(!e)return e;const t=e.trim();return"string"!=typeof e?e:t.indexOf("https")<0?t.replace("http","https"):t}};const de=/%[sdj%]/g;let pe=()=>{};function ye(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 he(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(de,(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 ge(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 me(e,t,r){let n=0;const i=e.length;!function s(o){if(o&&o.length)return void r(o);const a=n;n+=1,a<i?t(e[a],s):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(pe=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class be extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function ve(e,t,r,n,i){if(t.first){const t=new Promise(((t,s)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);me(o,r,(e=>(n(e),e.length?s(new be(e,ye(e))):t(i))))}));return t.catch((e=>e)),t}const s=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),a=o.length;let u=0;const l=[],c=new Promise(((t,c)=>{const f=e=>{if(l.push.apply(l,e),u++,u===a)return n(l),l.length?c(new be(l,ye(l))):t(i)};o.length||(n(l),t(i)),o.forEach((t=>{const n=e[t];-1!==s.indexOf(t)?me(n,r,f):function(e,t,r){const n=[];let i=0;const s=e.length;function o(e){n.push(...e||[]),i++,i===s&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return c.catch((e=>e)),c}function we(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],(i=r)&&void 0!==i.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var i}}function $e(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 Oe=(e,t,r,n,i,s)=>{!e.required||r.hasOwnProperty(e.field||"")&&!ge(t,s||e.type)||n.push(he(i.messages.required,e.fullField))};let je;const Ae=/^(([^<>()\[\]\\.,;:\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,}))$/,qe=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Fe={integer:e=>Fe.number(e)&&parseInt(e,10)===e,float:e=>Fe.number(e)&&!Fe.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&&!Fe.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ae),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(je)return je;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}",i=`\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(),s=new RegExp(`(?:^${r}$)|(?:^${i}$)`),o=new RegExp(`^${r}$`),a=new RegExp(`^${i}$`),u=e=>e&&e.exact?s:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${i}${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)}${i}${t(e)}`,"g");const l=u.v4().source,c=u.v6().source;return je=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${c}|(?:(?:[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"),je})()),hex:e=>"string"==typeof e&&!!e.match(qe)},xe="enum";var Se={required:Oe,whitespace:(e,t,r,n,i)=>{(/^\s+$/.test(t)||""===t)&&n.push(he(i.messages.whitespace,e.fullField))},type:(e,t,r,n,i)=>{if(e.required&&void 0===t)return void Oe(e,t,r,n,i);const s=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(s)>-1?Fe[s](t)||n.push(he(i.messages.types[s],e.fullField,e.type)):s&&typeof t!==e.type&&n.push(he(i.messages.types[s],e.fullField,e.type))},range:(e,t,r,n,i)=>{const s="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,c="";const f="number"==typeof t,d="string"==typeof t,p=Array.isArray(t);if(f?c="number":d?c="string":p&&(c="array"),!c)return!1;p&&(l=t.length),d&&(l=t.replace(u,"_").length),s?l!==e.len&&n.push(he(i.messages[c].len,e.fullField,e.len)):o&&!a&&l<e.min?n.push(he(i.messages[c].min,e.fullField,e.min)):a&&!o&&l>e.max?n.push(he(i.messages[c].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&n.push(he(i.messages[c].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,i)=>{e[xe]=Array.isArray(e[xe])?e[xe]:[],-1===e[xe].indexOf(t)&&n.push(he(i.messages[xe],e.fullField,e[xe].join(", ")))},pattern:(e,t,r,n,i)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(he(i.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(he(i.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Ee=(e,t,r,n,i)=>{const s=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t,s)&&!e.required)return r();Se.required(e,t,n,o,i,s),ge(t,s)||Se.type(e,t,n,o,i)}r(o)};var Pe={string:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(ge(t,"string")&&!e.required)return r();Se.required(e,t,n,s,i,"string"),ge(t,"string")||(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i),Se.pattern(e,t,n,s,i),!0===e.whitespace&&Se.whitespace(e,t,n,s,i))}r(s)},method:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&Se.type(e,t,n,s,i)}r(s)},number:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i))}r(s)},boolean:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&Se.type(e,t,n,s,i)}r(s)},regexp:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),ge(t)||Se.type(e,t,n,s,i)}r(s)},integer:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i))}r(s)},float:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i))}r(s)},array:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Se.required(e,t,n,s,i,"array"),null!=t&&(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i))}r(s)},object:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&Se.type(e,t,n,s,i)}r(s)},enum:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&Se.enum(e,t,n,s,i)}r(s)},pattern:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t,"string")&&!e.required)return r();Se.required(e,t,n,s,i),ge(t,"string")||Se.pattern(e,t,n,s,i)}r(s)},date:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t,"date")&&!e.required)return r();if(Se.required(e,t,n,s,i),!ge(t,"date")){let r;r=t instanceof Date?t:new Date(t),Se.type(e,r,n,s,i),r&&Se.range(e,r.getTime(),n,s,i)}}r(s)},url:Ee,hex:Ee,email:Ee,required:(e,t,r,n,i)=>{const s=[],o=Array.isArray(t)?"array":typeof t;Se.required(e,t,n,s,i,o),r(s)},any:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i)}r(s)}};function Me(){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 ke=Me();class Re{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Pe[e]=t};static warning=pe;static messages=ke;static validators=Pe;rules={};_messages=ke;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=$e(Me(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,i=t,s=r;if("function"==typeof i&&(s=i,i={}),!this.rules||0===Object.keys(this.rules).length)return s&&s(null,n),Promise.resolve(n);if(i.messages){let e=this.messages();e===ke&&(e=Me()),$e(e,i.messages),i.messages=e}else i.messages=this.messages();const o={};(i.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let i=n[t];r.forEach((r=>{let s=r;"function"==typeof s.transform&&(n===e&&(n={...n}),i=n[t]=s.transform(i)),s="function"==typeof s?{validator:s}:{...s},s.validator=this.getValidationMethod(s),s.validator&&(s.field=t,s.fullField=s.fullField||t,s.type=this.getType(s),o[t]=o[t]||[],o[t].push({rule:s,value:i,source:n,field:t}))}))}));const a={};return ve(o,i,((e,t)=>{const r=e.rule;let s,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 l(s=[]){let l=Array.isArray(s)?s:[s];!0===i.suppressWarning&&l.length&&Re.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let c=l.map(we(r,n));if(i.first&&c.length)return a[r.field]=1,t(c);if(o){if(r.required&&!e.value)return void 0!==r.message?c=[].concat(r.message).map(we(r,n)):i.error&&(c=[i.error(r,he(i.messages.required,r.field))]),t(c);let s={};r.defaultField&&Object.keys(e.value).map((e=>{s[e]=r.defaultField})),s={...s,...e.rule.fields};const o={};Object.keys(s).forEach((e=>{const t=s[e],r=Array.isArray(t)?t:[t];o[e]=r.map(u.bind(null,e))}));const a=new Re(o);a.messages(i.messages),e.rule.options&&(e.rule.options.messages=i.messages,e.rule.options.error=i.error),a.validate(e.value,e.rule.options||i,(e=>{const r=[];c&&c.length&&r.push(...c),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(c)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)s=r.asyncValidator(r,e.value,l,e.source,i);else if(r.validator){try{s=r.validator(r,e.value,l,e.source,i)}catch(e){console.error?.(e),i.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===s?l():!1===s?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):s instanceof Array?l(s):s instanceof Error&&l(s.message)}s&&s.then&&s.then((()=>l()),(e=>l(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)i=e[r],Array.isArray(i)?t=t.concat(...i):t.push(i);var i;t.length?(r=ye(t),s(t,r)):s(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Pe.hasOwnProperty(e.type))throw new Error(he("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]?Pe.required:Pe[this.getType(e)]||void 0}}function De(e){return new Re(e)}var Te={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:De,validate:function(e,t,r={},n=(()=>{})){return z.run(De(e).validate(t,r,n))}};class _e extends Q{setters;getters;actions;constructor(){super(),this.getters={},this.setters={},this.actions={}}async dispatch(e,t=void 0){const r=Reflect.get(this.actions,e);if(!K.isFunction(r))return;const[,n]=await z.run(r(this,t));return n}async query(e){const t=Reflect.get(this,e);let r;return r=null!=t&&""!==t?K.copy(t):await this.dispatch(e),r}change=e=>this.on("__change__",e)}var Ne={gbk:e,time:n,hook:z,math:U,util:K,list:X,mini:oe,url:fe,rule:Te,DEvent:Q,store:_e,storeRef:e=>{const t=Object.assign(new _e,e||{});return new Proxy(t,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return K.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const i=Reflect.get(e.setters,t);if(K.isFunction(i)&&!i(e,r))return!0;const s=Reflect.set(e,t,r,n);return s&&(e.emit(t.toString(),r),e.emit("__change__",e,t,r)),s},has:(e,t)=>Reflect.has(e,t)})}};export{Ne 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 i=0;i<e.length&&(e.charCodeAt(i)>127||94===e.charCodeAt(i)?r+=2:r++,!(r>t));i++)n=i;return e.substr(0,n+1)}};const t=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";const n={};return n.yyyy=r.getFullYear(),n.yy=`${n.yyyy}`.substr(2),n.M=r.getMonth()+1,n.MM=(n.M<10?"0":"")+n.M,n.d=r.getDate(),n.dd=(n.d<10?"0":"")+n.d,n.h=r.getHours(),n.hh=(n.h<10?"0":"")+n.h,n.m=r.getMinutes(),n.mm=(n.m<10?"0":"")+n.m,n.s=r.getSeconds(),n.ss=(n.s<10?"0":"")+n.s,n.S=r.getMilliseconds(),n.SS=(n.S<10?"0":"")+n.S,n.SSS=n.S.toString().padStart(3,0),t.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>n[e]))};function r(){return Date.now()}var n={now:r,isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),format:t,parseTime:function({year:e=0,month:r=0,date:n=0,hour:i=0,minute:s=0,second:o=0}){const u=`${e||"yyyy"}/${r||"MM"}/${n||"dd"} ${i}:${s}:${o}`;return new Date(t(Date.now(),u)).getTime()},todayZero:()=>new Date(t(r(),"yyyy/MM/dd 00:00:00")).getTime(),oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3},i="object"==typeof global&&global&&global.Object===Object&&global,s="object"==typeof self&&self&&self.Object===Object&&self;const o=(i||s||Function("return this")()).Symbol,{toString:u,hasOwnProperty:a,propertyIsEnumerable:l}=Object.prototype,c=o?o.toStringTag:void 0;function f(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":c&&c in Object(e)?function(e){const t=a.call(e,c),r=e[c];let n=!1;try{e[c]=void 0,n=!0}catch(e){}const i=u.call(e);return n&&(t?e[c]=r:delete e[c]),i}(e):u.call(e)}var d={getTag:f,getType:function(e){return(f(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:u,hasOwnProperty:a,propertyIsEnumerable:l},p="[object Function]",y="[object GeneratorFunction]",g="[object AsyncFunction]",h=9007199254740991;const m=/^(?:0|[1-9]\d*)$/;function b(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function v(e){return null!=e&&"object"==typeof e}const w=Array.isArray;function O(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=h}(e.length)&&!$(e)}function j(e){return v(e)&&O(e)}function $(e){var t=b(e)?d.getTag(e):"";return t===p||t===y||t===g}var A={is:function(e,t){return d.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===d.getTag(e)},isString:function(e){return"string"==typeof e||!w(e)&&v(e)&&"[object String]"==d.getTag(e)},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isObject:b,isObjectLike:v,isSymbol:function(e){return"symbol"==typeof e||v(e)&&"[object Symbol]"===d.getTag(e)},isFunction:$,isArray:w,isArrayLikeObject:j,isIndex:function(e,t){return!!(t=null==t?h:t)&&("number"==typeof e||m.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:O,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return j(e)&&d.hasOwnProperty.call(e,"callee")&&(!d.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==d.toString.call(e))},isPromise:function(e){return"[object Promise]"===(b(e)?d.getTag(e):"")}};const q=NaN,F=/^\s+|\s+$/g,x=/^[-+]0x[0-9a-f]+$/i,S=/^0b[01]+$/i,E=/^0o[0-7]+$/i,P=parseInt,k=1/0,M=17976931348623157e292;function R(e){if("number"==typeof e)return e;if(A.isSymbol(e))return q;if(A.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=A.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(F,"");const t=S.test(e);return t||E.test(e)?P(e.slice(2),t?2:8):x.test(e)?q:+e}function T(e){return e?(e=R(e))===k||e===-k?(e<0?-1:1)*M:e==e?e:0:0===e?e:0}var D={toNumber:R,toFinite:T,toInteger:function(e){var t=T(e),r=t%1;return t==t?r?t-r:t:0}};const N="Expected a function",C=Math.max,I=Math.min;function _(e,t=0,r={}){var n,i,s,o,u,a,l=0,c=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError(N);function p(t){var r=n,s=i;return n=i=void 0,l=t,o=e.apply(s,r)}function y(e){var r=e-a;return void 0===a||r>=t||r<0||f&&e-l>=s}function g(){var e=Date.now();if(y(e))return h(e);u=setTimeout(g,function(e){var r=t-(e-a);return f?I(r,s-(e-l)):r}(e))}function h(e){return u=void 0,d&&n?p(e):(n=i=void 0,o)}function m(...e){var r=Date.now(),s=y(r);if(n=arguments,i=this,a=r,s){if(void 0===u)return function(e){return l=e,u=setTimeout(g,t),c?p(e):o}(a);if(f)return u=setTimeout(g,t),p(a)}return void 0===u&&(u=setTimeout(g,t)),o}return t=D.toNumber(t)||0,A.isObject(r)&&(c=!!r.leading,s=(f="maxWait"in r)?C(D.toNumber(r.maxWait)||0,t):s,d="trailing"in r?!!r.trailing:d),m.cancel=function(){void 0!==u&&clearTimeout(u),l=0,n=a=i=u=void 0},m.flush=function(){return void 0===u?o:h(Date.now())},m}class V{constructor(e){this.source=e}run(){let e;try{let t;return t=A.isFunction(this.source)?this.source():this.source,e=A.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}}var z={sleep:(e=1e3)=>new Promise((t=>{setTimeout(t,e)})),run:e=>new V(e).run(),debounce:_,throttle:function(e,t=0,r={}){var n=!1,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return A.isObject(r)&&(n=r.leading?!!r.leading:n,i=r.trailing?!!r.trailing:i),_(e,t,{leading:n,maxWait:t,trailing:i})}};var U={random:function(e){return Math.floor(Math.random()*e)},randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randomString:function(e,t=!1){e=e||32;const r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let i="";for(let t=0;t<e;t++)i+=r.charAt(Math.floor(62*Math.random()));return t?n.format(new Date,"yyyyMMddhhmmss")+i:i}};function L(e){return e!=e}function J(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}(t,(function(t){return e[t]}))}var B,W,Z=(B=Object.keys,W=Object,function(e){return B(W(e))}),H=Math.max;function Y(e,t){var r=A.isArray(e)||A.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,i=!!n;for(var s in e)!t&&!d.hasOwnProperty.call(e,s)||i&&("length"==s||A.isIndex(s,n))||r.push(s);return r}var G=Object.assign(Object.assign(Object.assign({},A),d),{includes:function(e,t,r,n){e=A.isArrayLike(e)?e:function(e){return e?J(e,function(e){return A.isArrayLike(e)?Y(e):function(e){if(!A.isPrototype(e))return Z(e);var t=[];for(var r in Object(e))d.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?D.toInteger(r):0;var i=e.length;return r<0&&(r=H(i+r,0)),A.isString(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var i=e.length,s=r+(n?1:-1);n?s--:++s<i;)if(t(e[s],s,e))return s;return-1}(e,L,r);for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}(e,t,r)>-1},merge:function(e,t){return t?e?(Object.keys(t).forEach((r=>{Array.isArray(e[r])&&Array.isArray(t[r])?e[r]=e[r].concat(t[r]):"object"==typeof e[r]&&"object"==typeof t[r]?e[r]=Object.assign(e[r],t[r]):e[r]=t[r]})),e):t:e},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},copy:function(e){if(void 0!==e)return JSON.parse(JSON.stringify(e))},clone:function e(t){if(!t)return t;if("object"!=typeof t)return t;const r=Array.isArray(t)?[]:{};for(let n in t)t.hasOwnProperty(n)&&(r[n]=e(t[n]));return r}});class K{constructor(){this._map=new Map}clear(){return this._map.clear(),this}on(e,t){if(!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){const r=this._map.get(e);if(!r)return this;return[...r].forEach((e=>e(...t))),this}off(e="",t){if(!e)return this._map.clear(),this;if(!t)return this._map.delete(e.toString()),this;const r=this._map.get(e);return r?(r.delete(t),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)}}var Q={groupBy:(e,t)=>e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{}),stepAction:function(e,t,r=100){if(!A.isFunction(t))return;if(!A.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let i=r+n,s=e.slice(n,i);t&&t(s),n=i}},skip:(e,t)=>{if(!A.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:(e,t,r=0)=>{if(!A.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const i=t+n;return e.slice(n,e.length<i?e.length:i)||[]},distinct:e=>!A.isArray(e)||e.length<=0?[]:[...new Set(e)]};const X="[object Object]",ee="[object Array]",te=e=>Object.prototype.toString.call(e),re=(e,t,r=!1)=>{if(e===t)return;const n=te(e);if(n===te(t))if(n===ee&&e.length>=t.length)for(let r=0;r<t.length;r++)re(e[r],t[r]);else if(n===X&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?re(e[n],t[n]):e[n]=null},ne=(e,t,r,n="",i=!1)=>{if(e===t)return;const s=te(e),o=te(t);if(s===ee&&o===s&&e.length>=t.length)for(let i=0;i<e.length;i++)ne(e[i],t[i],r,`${n}[${i}]`);else if(s===X&&o===s&&(i||Object.keys(e).length>=Object.keys(t).length)){const i=Object.keys(e);for(let s of i){const i=e[s],o=t[s],u=te(i),a=te(o);if(i!==o)if(u===ee&&a===u&&i.length>=o.length)for(let e=0;e<i.length;e++)ne(i[e],o[e],r,`${n?n+".":""}${s}[${e}]`);else if(u===X&&a===u&&Object.keys(i).length>=Object.keys(o).length)for(let e in i)ne(i[e],o[e],r,`${n?n+".":""}${s}.${e}`);else r[`${n?n+".":""}${s}`]=i}}else r[n]=e};const ie=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var se={diff:function(e,t){const r={};return(e=>{if(te(e)===X)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,i=r.length;for(let e=0;e<i-1;e++){const t=r[e];te(n[t])!==X&&(n[t]={}),n=n[t]}n[r[i-1]]=e[t],delete e[t]}})(e),re(e,t,!0),ne(e,t,r,"",!0),r},promixify:ie,run:(e,t={})=>{if(e)return z.run(ie(e)(t))},formatList:(e,t,r)=>(e||[]).reduce(((e,n,i)=>Object.assign(Object.assign({},e),{[`${r}[${t+i}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e)))};function oe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}const ue=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:i=!1}={}){t=t||"&",r=r||"=";const s={};if("string"!=typeof e||0===e.length)return s;const o=/\+/g,u=n||1e3;let a=(e=e.split(t)).length;u>0&&a>u&&(a=u);for(let t=0;t<a;++t){let n,u,a,l,c=e[t].replace(o,"%20"),f=c.indexOf(r);f>=0?(n=c.substr(0,f),u=c.substr(f+1)):(n=c,u=""),a=decodeURIComponent(n),l=decodeURIComponent(u),oe(s,a)&&i?Array.isArray(s[a])?s[a].push(l):s[a]=[s[a],l]:s[a]=l}return s},ae=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},le=function(e,{sep:t="&",eq:r="=",name:n=null,multiple:i=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const s=encodeURIComponent(ae(n))+r;return i&&Array.isArray(e[n])?e[n].map((function(e){return s+encodeURIComponent(ae(e))})).join(t):s+encodeURIComponent(ae(e[n]))})).filter(Boolean).join(t):n?encodeURIComponent(ae(n))+r+encodeURIComponent(ae(e)):""};var ce={parse:ue,decode:ue,stringify:le,encode:le,useHttps:function(e){if(!e)return e;const t=e.trim();return"string"!=typeof e?e:t.indexOf("https")<0?t.replace("http","https"):t}};const fe=/%[sdj%]/g;let de=()=>{};function pe(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 ye(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(fe,(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 ge(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 he(e,t,r){let n=0;const i=e.length;!function s(o){if(o&&o.length)return void r(o);const u=n;n+=1,u<i?t(e[u],s):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(de=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class me extends Error{constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function be(e,t,r,n,i){if(t.first){const t=new Promise(((t,s)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);he(o,r,(e=>(n(e),e.length?s(new me(e,pe(e))):t(i))))}));return t.catch((e=>e)),t}const s=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),u=o.length;let a=0;const l=[],c=new Promise(((t,c)=>{const f=e=>{if(l.push.apply(l,e),a++,a===u)return n(l),l.length?c(new me(l,pe(l))):t(i)};o.length||(n(l),t(i)),o.forEach((t=>{const n=e[t];-1!==s.indexOf(t)?he(n,r,f):function(e,t,r){const n=[];let i=0;const s=e.length;function o(e){n.push(...e||[]),i++,i===s&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return c.catch((e=>e)),c}function ve(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],(i=r)&&void 0!==i.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var i}}function we(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]=Object.assign(Object.assign({},e[r]),n):e[r]=n}return e}const Oe=(e,t,r,n,i,s)=>{!e.required||r.hasOwnProperty(e.field||"")&&!ge(t,s||e.type)||n.push(ye(i.messages.required,e.fullField))};let je;const $e=/^(([^<>()\[\]\\.,;:\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,}))$/,Ae=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,qe={integer:e=>qe.number(e)&&parseInt(e,10)===e,float:e=>qe.number(e)&&!qe.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&&!qe.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match($e),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(je)return je;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}",i=`\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(),s=new RegExp(`(?:^${r}$)|(?:^${i}$)`),o=new RegExp(`^${r}$`),u=new RegExp(`^${i}$`),a=e=>e&&e.exact?s:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${i}${t(e)})`,"g");a.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),a.v6=e=>e&&e.exact?u:new RegExp(`${t(e)}${i}${t(e)}`,"g");const l=a.v4().source,c=a.v6().source;return je=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${c}|(?:(?:[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"),je})()),hex:e=>"string"==typeof e&&!!e.match(Ae)},Fe="enum";var xe={required:Oe,whitespace:(e,t,r,n,i)=>{(/^\s+$/.test(t)||""===t)&&n.push(ye(i.messages.whitespace,e.fullField))},type:(e,t,r,n,i)=>{if(e.required&&void 0===t)return void Oe(e,t,r,n,i);const s=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(s)>-1?qe[s](t)||n.push(ye(i.messages.types[s],e.fullField,e.type)):s&&typeof t!==e.type&&n.push(ye(i.messages.types[s],e.fullField,e.type))},range:(e,t,r,n,i)=>{const s="number"==typeof e.len,o="number"==typeof e.min,u="number"==typeof e.max,a=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,c="";const f="number"==typeof t,d="string"==typeof t,p=Array.isArray(t);if(f?c="number":d?c="string":p&&(c="array"),!c)return!1;p&&(l=t.length),d&&(l=t.replace(a,"_").length),s?l!==e.len&&n.push(ye(i.messages[c].len,e.fullField,e.len)):o&&!u&&l<e.min?n.push(ye(i.messages[c].min,e.fullField,e.min)):u&&!o&&l>e.max?n.push(ye(i.messages[c].max,e.fullField,e.max)):o&&u&&(l<e.min||l>e.max)&&n.push(ye(i.messages[c].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,i)=>{e[Fe]=Array.isArray(e[Fe])?e[Fe]:[],-1===e[Fe].indexOf(t)&&n.push(ye(i.messages[Fe],e.fullField,e[Fe].join(", ")))},pattern:(e,t,r,n,i)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(ye(i.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(ye(i.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Se=(e,t,r,n,i)=>{const s=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t,s)&&!e.required)return r();xe.required(e,t,n,o,i,s),ge(t,s)||xe.type(e,t,n,o,i)}r(o)};var Ee={string:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(ge(t,"string")&&!e.required)return r();xe.required(e,t,n,s,i,"string"),ge(t,"string")||(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i),xe.pattern(e,t,n,s,i),!0===e.whitespace&&xe.whitespace(e,t,n,s,i))}r(s)},method:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&xe.type(e,t,n,s,i)}r(s)},number:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),ge(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i))}r(s)},boolean:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&xe.type(e,t,n,s,i)}r(s)},regexp:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();xe.required(e,t,n,s,i),ge(t)||xe.type(e,t,n,s,i)}r(s)},integer:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i))}r(s)},float:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i))}r(s)},array:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();xe.required(e,t,n,s,i,"array"),null!=t&&(xe.type(e,t,n,s,i),xe.range(e,t,n,s,i))}r(s)},object:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&xe.type(e,t,n,s,i)}r(s)},enum:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();xe.required(e,t,n,s,i),void 0!==t&&xe.enum(e,t,n,s,i)}r(s)},pattern:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t,"string")&&!e.required)return r();xe.required(e,t,n,s,i),ge(t,"string")||xe.pattern(e,t,n,s,i)}r(s)},date:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t,"date")&&!e.required)return r();if(xe.required(e,t,n,s,i),!ge(t,"date")){let r;r=t instanceof Date?t:new Date(t),xe.type(e,r,n,s,i),r&&xe.range(e,r.getTime(),n,s,i)}}r(s)},url:Se,hex:Se,email:Se,required:(e,t,r,n,i)=>{const s=[],o=Array.isArray(t)?"array":typeof t;xe.required(e,t,n,s,i,o),r(s)},any:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();xe.required(e,t,n,s,i)}r(s)}};function Pe(){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 ke=Pe();class Me{constructor(e){this.rules={},this._messages=ke,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=we(Pe(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,i=t,s=r;if("function"==typeof i&&(s=i,i={}),!this.rules||0===Object.keys(this.rules).length)return s&&s(null,n),Promise.resolve(n);if(i.messages){let e=this.messages();e===ke&&(e=Pe()),we(e,i.messages),i.messages=e}else i.messages=this.messages();const o={};(i.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let i=n[t];r.forEach((r=>{let s=r;"function"==typeof s.transform&&(n===e&&(n=Object.assign({},n)),i=n[t]=s.transform(i)),s="function"==typeof s?{validator:s}:Object.assign({},s),s.validator=this.getValidationMethod(s),s.validator&&(s.field=t,s.fullField=s.fullField||t,s.type=this.getType(s),o[t]=o[t]||[],o[t].push({rule:s,value:i,source:n,field:t}))}))}));const u={};return be(o,i,((e,t)=>{var r;const s=e.rule;let o,a=!("object"!==s.type&&"array"!==s.type||"object"!=typeof s.fields&&"object"!=typeof s.defaultField);function l(e,t){return Object.assign(Object.assign({},t),{fullField:`${s.fullField}.${e}`,fullFields:s.fullFields?[...s.fullFields,e]:[e]})}function c(r=[]){let o=Array.isArray(r)?r:[r];!0===i.suppressWarning&&o.length&&Me.warning("async-validator:",o),o.length&&void 0!==s.message&&(o=[].concat(s.message));let c=o.map(ve(s,n));if(i.first&&c.length)return u[s.field]=1,t(c);if(a){if(s.required&&!e.value)return void 0!==s.message?c=[].concat(s.message).map(ve(s,n)):i.error&&(c=[i.error(s,ye(i.messages.required,s.field))]),t(c);let r={};s.defaultField&&Object.keys(e.value).map((e=>{r[e]=s.defaultField})),r=Object.assign(Object.assign({},r),e.rule.fields);const o={};Object.keys(r).forEach((e=>{const t=r[e],n=Array.isArray(t)?t:[t];o[e]=n.map(l.bind(null,e))}));const u=new Me(o);u.messages(i.messages),e.rule.options&&(e.rule.options.messages=i.messages,e.rule.options.error=i.error),u.validate(e.value,e.rule.options||i,(e=>{const r=[];c&&c.length&&r.push(...c),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(c)}if(a=a&&(s.required||!s.required&&e.value),s.field=e.field,s.asyncValidator)o=s.asyncValidator(s,e.value,c,e.source,i);else if(s.validator){try{o=s.validator(s,e.value,c,e.source,i)}catch(e){null===(r=console.error)||void 0===r||r.call(console,e),i.suppressValidatorError||setTimeout((()=>{throw e}),0),c(e.message)}!0===o?c():!1===o?c("function"==typeof s.message?s.message(s.fullField||s.field):s.message||`${s.fullField||s.field} fails`):o instanceof Array?c(o):o instanceof Error&&c(o.message)}o&&o.then&&o.then((()=>c()),(e=>c(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)i=e[r],Array.isArray(i)?t=t.concat(...i):t.push(i);var i;t.length?(r=pe(t),s(t,r)):s(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Ee.hasOwnProperty(e.type))throw new Error(ye("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]?Ee.required:Ee[this.getType(e)]||void 0}}function Re(e){return new Me(e)}Me.register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Ee[e]=t},Me.warning=de,Me.messages=ke,Me.validators=Ee;var Te={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:Re,validate:function(e,t,r={},n=(()=>{})){return z.run(Re(e).validate(t,r,n))}};function De(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{a(n.next(e))}catch(e){s(e)}}function u(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))}class Ne extends K{constructor(){super(),this.getters={},this.setters={},this.actions={}}dispatch(e,t=void 0){return De(this,void 0,void 0,(function*(){const r=Reflect.get(this.actions,e);if(!A.isFunction(r))return;const[,n]=yield z.run(r(this,t));return n}))}getByOnce(e){return De(this,void 0,void 0,(function*(){const t=Reflect.get(this,e);let r;return r=null!=t&&""!==t?JSON.parse(JSON.stringify(t)):yield this.dispatch(e),r}))}}return{gbk:e,time:n,hook:z,math:U,util:G,list:Q,mini:se,url:ce,rule:Te,DEvent:K,store:Ne,storeRef:e=>{const t=Object.assign(new Ne,e||{});return new Proxy(t,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return A.isFunction(n)?n():Reflect.get(e,t,r)},set:(e,t,r,n)=>{const i=Reflect.get(e.setters,t);if(A.isFunction(i)&&!i(r))return!0;const s=Reflect.set(e,t,r,n);return s&&e.emit(t.toString(),r),s},has:(e,t)=>Reflect.has(e,t)})}}}));
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 i=0;i<e.length&&(e.charCodeAt(i)>127||94===e.charCodeAt(i)?r+=2:r++,!(r>t));i++)n=i;return e.substr(0,n+1)}};const t=(e,t="yyyy-MM-dd hh:mm:ss")=>{const r="string"==typeof e||"number"==typeof e?new Date(e):e;if(!r)return"";const n={};return n.yyyy=r.getFullYear(),n.yy=`${n.yyyy}`.substr(2),n.M=r.getMonth()+1,n.MM=(n.M<10?"0":"")+n.M,n.d=r.getDate(),n.dd=(n.d<10?"0":"")+n.d,n.h=r.getHours(),n.hh=(n.h<10?"0":"")+n.h,n.m=r.getMinutes(),n.mm=(n.m<10?"0":"")+n.m,n.s=r.getSeconds(),n.ss=(n.s<10?"0":"")+n.s,n.S=r.getMilliseconds(),n.SS=(n.S<10?"0":"")+n.S,n.SSS=n.S.toString().padStart(3,0),t.replace(/\byyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S\b/g,(e=>n[e]))};function r(){return Date.now()}var n={now:r,isToday:e=>e&&(new Date).toDateString()===new Date(e).toDateString(),format:t,parseTime:function({year:e=0,month:r=0,date:n=0,hour:i=0,minute:s=0,second:o=0}){const u=`${e||"yyyy"}/${r||"MM"}/${n||"dd"} ${i}:${s}:${o}`;return new Date(t(Date.now(),u)).getTime()},todayZero:()=>new Date(t(r(),"yyyy/MM/dd 00:00:00")).getTime(),oneDay:864e5,oneHour:36e5,oneMinute:6e4,oneSecond:1e3},i="object"==typeof global&&global&&global.Object===Object&&global,s="object"==typeof self&&self&&self.Object===Object&&self;const o=(i||s||Function("return this")()).Symbol,{toString:u,hasOwnProperty:a,propertyIsEnumerable:l}=Object.prototype,c=o?o.toStringTag:void 0;function f(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":c&&c in Object(e)?function(e){const t=a.call(e,c),r=e[c];let n=!1;try{e[c]=void 0,n=!0}catch(e){}const i=u.call(e);return n&&(t?e[c]=r:delete e[c]),i}(e):u.call(e)}var d={getTag:f,getType:function(e){return(f(e).match(/\w+/g)||["object","Undefined"])[1]||""},toString:u,hasOwnProperty:a,propertyIsEnumerable:l},p="[object Function]",y="[object GeneratorFunction]",h="[object AsyncFunction]",g=9007199254740991;const m=/^(?:0|[1-9]\d*)$/;function b(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}function v(e){return null!=e&&"object"==typeof e}const w=Array.isArray;function $(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=g}(e.length)&&!j(e)}function O(e){return v(e)&&$(e)}function j(e){var t=b(e)?d.getTag(e):"";return t===p||t===y||t===h}var A={is:function(e,t){return d.getTag(e)===`[object ${t}]`},isNumber:function(e){return"[object Number]"===d.getTag(e)},isString:function(e){return"string"==typeof e||!w(e)&&v(e)&&"[object String]"==d.getTag(e)},isChinese:function(e){return!!e&&!!/^[\u4E00-\u9FA5]+$/.test(e)},isObject:b,isObjectLike:v,isSymbol:function(e){return"symbol"==typeof e||v(e)&&"[object Symbol]"===d.getTag(e)},isFunction:j,isArray:w,isArrayLikeObject:O,isIndex:function(e,t){return!!(t=null==t?g:t)&&("number"==typeof e||m.test(e))&&e>-1&&e%1==0&&e<t},isArrayLike:$,isPrototype:function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Object.prototype)},isArguments:function(e){return O(e)&&d.hasOwnProperty.call(e,"callee")&&(!d.propertyIsEnumerable.call(e,"callee")||"[object Arguments]"==d.toString.call(e))},isPromise:function(e){return"[object Promise]"===(b(e)?d.getTag(e):"")}};const q=NaN,F=/^\s+|\s+$/g,x=/^[-+]0x[0-9a-f]+$/i,S=/^0b[01]+$/i,E=/^0o[0-7]+$/i,P=parseInt,M=1/0,k=17976931348623157e292;function R(e){if("number"==typeof e)return e;if(A.isSymbol(e))return q;if(A.isObject(e)){const t="function"==typeof e.valueOf?e.valueOf():e;e=A.isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(F,"");const t=S.test(e);return t||E.test(e)?P(e.slice(2),t?2:8):x.test(e)?q:+e}function T(e){return e?(e=R(e))===M||e===-M?(e<0?-1:1)*k:e==e?e:0:0===e?e:0}var D={toNumber:R,toFinite:T,toInteger:function(e){var t=T(e),r=t%1;return t==t?r?t-r:t:0}};const _="Expected a function",N=Math.max,C=Math.min;function I(e,t=0,r={}){var n,i,s,o,u,a,l=0,c=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError(_);function p(t){var r=n,s=i;return n=i=void 0,l=t,o=e.apply(s,r)}function y(e){var r=e-a;return void 0===a||r>=t||r<0||f&&e-l>=s}function h(){var e=Date.now();if(y(e))return g(e);u=setTimeout(h,function(e){var r=t-(e-a);return f?C(r,s-(e-l)):r}(e))}function g(e){return u=void 0,d&&n?p(e):(n=i=void 0,o)}function m(...e){var r=Date.now(),s=y(r);if(n=arguments,i=this,a=r,s){if(void 0===u)return function(e){return l=e,u=setTimeout(h,t),c?p(e):o}(a);if(f)return u=setTimeout(h,t),p(a)}return void 0===u&&(u=setTimeout(h,t)),o}return t=D.toNumber(t)||0,A.isObject(r)&&(c=!!r.leading,s=(f="maxWait"in r)?N(D.toNumber(r.maxWait)||0,t):s,d="trailing"in r?!!r.trailing:d),m.cancel=function(){void 0!==u&&clearTimeout(u),l=0,n=a=i=u=void 0},m.flush=function(){return void 0===u?o:g(Date.now())},m}class V{source;constructor(e){this.source=e}run(){let e;try{let t;return t=A.isFunction(this.source)?this.source():this.source,e=A.isPromise(t)?t:Promise.resolve(t),e.then((e=>[null,e])).catch((e=>[e,void 0]))}catch(e){return Promise.resolve([e,void 0])}}}var z={sleep:(e=1e3)=>new Promise((t=>{setTimeout(t,e)})),run:e=>new V(e).run(),debounce:I,throttle:function(e,t=0,r={}){var n=!1,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return A.isObject(r)&&(n=r.leading?!!r.leading:n,i=r.trailing?!!r.trailing:i),I(e,t,{leading:n,maxWait:t,trailing:i})}};var U={random:function(e){return Math.floor(Math.random()*e)},randomRange:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},lerp:function(e,t,r){return e*(1-r)+t*r},randomString:function(e,t=!1){e=e||32;const r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let i="";for(let t=0;t<e;t++)i+=r.charAt(Math.floor(62*Math.random()));return t?n.format(new Date,"yyyyMMddhhmmss")+i:i}};function L(e){return e!=e}function J(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}(t,(function(t){return e[t]}))}var W,Z,B=(W=Object.keys,Z=Object,function(e){return W(Z(e))}),H=Math.max;function Y(e,t){var r=A.isArray(e)||A.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,i=!!n;for(var s in e)!t&&!d.hasOwnProperty.call(e,s)||i&&("length"==s||A.isIndex(s,n))||r.push(s);return r}const G=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]=G(e[r]));return t};var K={...A,...d,includes:function(e,t,r,n){e=A.isArrayLike(e)?e:function(e){return e?J(e,function(e){return A.isArrayLike(e)?Y(e):function(e){if(!A.isPrototype(e))return B(e);var t=[];for(var r in Object(e))d.hasOwnProperty.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}(e)):[]}(e),r=r&&!n?D.toInteger(r):0;var i=e.length;return r<0&&(r=H(i+r,0)),A.isString(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var i=e.length,s=r+(n?1:-1);n?s--:++s<i;)if(t(e[s],s,e))return s;return-1}(e,L,r);for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}(e,t,r)>-1},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},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},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)||!t||t.length<=0)return r;const n={};for(const e in r)t.includes(e)&&r.hasOwnProperty(e)&&(n[e]=r[e]);return n},clone:G};class Q{_map;constructor(){this._map=new Map}clear(){return this._map.clear(),this}on(e,t){if(!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){const r=this._map.get(e);if(!r)return this;return[...r].forEach((e=>e(...t))),this}off(e="",t){if(!e)return this._map.clear(),this;if(!t)return this._map.delete(e.toString()),this;const r=this._map.get(e);return r?(r.delete(t),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)}}var X={groupBy:(e,t)=>e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{}),stepAction:function(e,t,r=100){if(!A.isFunction(t))return;if(!A.isArray(e)||e.length<=0)return;let n=0;for(;e.length>n;){let i=r+n,s=e.slice(n,i);t&&t(s),n=i}},skip:(e,t)=>{if(!A.isArray(e)||e.length<=0)return[];const r=t;return e.slice(r)},take:(e,t,r=0)=>{if(!A.isArray(e)||e.length<=0)return[];const n=r||0;if(n>=e.length)return[];const i=t+n;return e.slice(n,e.length<i?e.length:i)||[]},distinct:e=>!A.isArray(e)||e.length<=0?[]:[...new Set(e)]};const ee="[object Object]",te="[object Array]",re=e=>Object.prototype.toString.call(e),ne=(e,t,r=!1)=>{if(e===t)return;const n=re(e);if(n===re(t))if(n===te&&e.length>=t.length)for(let r=0;r<t.length;r++)ne(e[r],t[r]);else if(n===ee&&Object.keys(e).length>=Object.keys(t).length)for(let n in t)r||void 0!==e[n]?ne(e[n],t[n]):e[n]=null},ie=(e,t,r,n="",i=!1)=>{if(e===t)return;const s=re(e),o=re(t);if(s===te&&o===s&&e.length>=t.length)for(let i=0;i<e.length;i++)ie(e[i],t[i],r,`${n}[${i}]`);else if(s===ee&&o===s&&(i||Object.keys(e).length>=Object.keys(t).length)){const i=Object.keys(e);for(let s of i){const i=e[s],o=t[s],u=re(i),a=re(o);if(i!==o)if(u===te&&a===u&&i.length>=o.length)for(let e=0;e<i.length;e++)ie(i[e],o[e],r,`${n?n+".":""}${s}[${e}]`);else if(u===ee&&a===u&&Object.keys(i).length>=Object.keys(o).length)for(let e in i)ie(i[e],o[e],r,`${n?n+".":""}${s}.${e}`);else r[`${n?n+".":""}${s}`]=i}}else r[n]=e};const se=e=>"function"!=typeof e?e:(t={})=>new Promise(((r,n)=>{e(Object.assign(t,{success:r,fail:n}))}));var oe={diff:function(e,t){const r={};return(e=>{if(re(e)===ee)for(let t in e)if(/\w+\.\w+/g.test(t)&&-1===t.indexOf("[")){const r=t.split(".");let n=e,i=r.length;for(let e=0;e<i-1;e++){const t=r[e];re(n[t])!==ee&&(n[t]={}),n=n[t]}n[r[i-1]]=e[t],delete e[t]}})(e),ne(e,t,!0),ie(e,t,r,"",!0),r},promixify:se,run:(e,t={})=>{if(e)return z.run(se(e)(t))},formatList:(e,t,r)=>(e||[]).reduce(((e,n,i)=>({...e,[`${r}[${t+i}]`]:n})),{}),ruleValidator:(e,t)=>!!t&&(!Array.isArray(t)||!(t.length<=0)&&t.every((e=>!!e)))};function ue(e,t){return Object.prototype.hasOwnProperty.call(e,t)}const ae=function(e,{sep:t="&",eq:r="=",max:n=1e3,multiple:i=!1}={}){t=t||"&",r=r||"=";const s={};if("string"!=typeof e||0===e.length)return s;const o=/\+/g,u=n||1e3;let a=(e=e.split(t)).length;u>0&&a>u&&(a=u);for(let t=0;t<a;++t){let n,u,a,l,c=e[t].replace(o,"%20"),f=c.indexOf(r);f>=0?(n=c.substr(0,f),u=c.substr(f+1)):(n=c,u=""),a=decodeURIComponent(n),l=decodeURIComponent(u),ue(s,a)&&i?Array.isArray(s[a])?s[a].push(l):s[a]=[s[a],l]:s[a]=l}return s},le=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},ce=function(e,{sep:t="&",eq:r="=",name:n=null,multiple:i=!1}={}){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){const s=encodeURIComponent(le(n))+r;return i&&Array.isArray(e[n])?e[n].map((function(e){return s+encodeURIComponent(le(e))})).join(t):s+encodeURIComponent(le(e[n]))})).filter(Boolean).join(t):n?encodeURIComponent(le(n))+r+encodeURIComponent(le(e)):""};var fe={parse:ae,decode:ae,stringify:ce,encode:ce,useHttps:function(e){if(!e)return e;const t=e.trim();return"string"!=typeof e?e:t.indexOf("https")<0?t.replace("http","https"):t}};const de=/%[sdj%]/g;let pe=()=>{};function ye(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 he(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(de,(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 ge(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 me(e,t,r){let n=0;const i=e.length;!function s(o){if(o&&o.length)return void r(o);const u=n;n+=1,u<i?t(e[u],s):r([])}([])}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(pe=(e,t)=>{"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((e=>"string"==typeof e))&&console.warn(e,t)});class be extends Error{errors;fields;constructor(e,t){super("Async Validation Error"),this.errors=e,this.fields=t}}function ve(e,t,r,n,i){if(t.first){const t=new Promise(((t,s)=>{const o=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push(...e[r]||[])})),t}(e);me(o,r,(e=>(n(e),e.length?s(new be(e,ye(e))):t(i))))}));return t.catch((e=>e)),t}const s=!0===t.firstFields?Object.keys(e):t.firstFields||[],o=Object.keys(e),u=o.length;let a=0;const l=[],c=new Promise(((t,c)=>{const f=e=>{if(l.push.apply(l,e),a++,a===u)return n(l),l.length?c(new be(l,ye(l))):t(i)};o.length||(n(l),t(i)),o.forEach((t=>{const n=e[t];-1!==s.indexOf(t)?me(n,r,f):function(e,t,r){const n=[];let i=0;const s=e.length;function o(e){n.push(...e||[]),i++,i===s&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return c.catch((e=>e)),c}function we(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],(i=r)&&void 0!==i.message?(r.field=r.field||e.fullField,r.fieldValue=n,r):{message:"function"==typeof r?r():r,fieldValue:n,field:r.field||e.fullField};var i}}function $e(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 Oe=(e,t,r,n,i,s)=>{!e.required||r.hasOwnProperty(e.field||"")&&!ge(t,s||e.type)||n.push(he(i.messages.required,e.fullField))};let je;const Ae=/^(([^<>()\[\]\\.,;:\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,}))$/,qe=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,Fe={integer:e=>Fe.number(e)&&parseInt(e,10)===e,float:e=>Fe.number(e)&&!Fe.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&&!Fe.array(e),method:e=>"function"==typeof e,email:e=>"string"==typeof e&&e.length<=320&&!!e.match(Ae),url:e=>"string"==typeof e&&e.length<=2048&&!!e.match((()=>{if(je)return je;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}",i=`\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(),s=new RegExp(`(?:^${r}$)|(?:^${i}$)`),o=new RegExp(`^${r}$`),u=new RegExp(`^${i}$`),a=e=>e&&e.exact?s:new RegExp(`(?:${t(e)}${r}${t(e)})|(?:${t(e)}${i}${t(e)})`,"g");a.v4=e=>e&&e.exact?o:new RegExp(`${t(e)}${r}${t(e)}`,"g"),a.v6=e=>e&&e.exact?u:new RegExp(`${t(e)}${i}${t(e)}`,"g");const l=a.v4().source,c=a.v6().source;return je=new RegExp(`(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${l}|${c}|(?:(?:[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"),je})()),hex:e=>"string"==typeof e&&!!e.match(qe)},xe="enum";var Se={required:Oe,whitespace:(e,t,r,n,i)=>{(/^\s+$/.test(t)||""===t)&&n.push(he(i.messages.whitespace,e.fullField))},type:(e,t,r,n,i)=>{if(e.required&&void 0===t)return void Oe(e,t,r,n,i);const s=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(s)>-1?Fe[s](t)||n.push(he(i.messages.types[s],e.fullField,e.type)):s&&typeof t!==e.type&&n.push(he(i.messages.types[s],e.fullField,e.type))},range:(e,t,r,n,i)=>{const s="number"==typeof e.len,o="number"==typeof e.min,u="number"==typeof e.max,a=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,c="";const f="number"==typeof t,d="string"==typeof t,p=Array.isArray(t);if(f?c="number":d?c="string":p&&(c="array"),!c)return!1;p&&(l=t.length),d&&(l=t.replace(a,"_").length),s?l!==e.len&&n.push(he(i.messages[c].len,e.fullField,e.len)):o&&!u&&l<e.min?n.push(he(i.messages[c].min,e.fullField,e.min)):u&&!o&&l>e.max?n.push(he(i.messages[c].max,e.fullField,e.max)):o&&u&&(l<e.min||l>e.max)&&n.push(he(i.messages[c].range,e.fullField,e.min,e.max))},enum:(e,t,r,n,i)=>{e[xe]=Array.isArray(e[xe])?e[xe]:[],-1===e[xe].indexOf(t)&&n.push(he(i.messages[xe],e.fullField,e[xe].join(", ")))},pattern:(e,t,r,n,i)=>{if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(he(i.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||n.push(he(i.messages.pattern.mismatch,e.fullField,t,e.pattern))}}};const Ee=(e,t,r,n,i)=>{const s=e.type,o=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t,s)&&!e.required)return r();Se.required(e,t,n,o,i,s),ge(t,s)||Se.type(e,t,n,o,i)}r(o)};var Pe={string:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field||"")){if(ge(t,"string")&&!e.required)return r();Se.required(e,t,n,s,i,"string"),ge(t,"string")||(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i),Se.pattern(e,t,n,s,i),!0===e.whitespace&&Se.whitespace(e,t,n,s,i))}r(s)},method:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&Se.type(e,t,n,s,i)}r(s)},number:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===t&&(t=void 0),ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i))}r(s)},boolean:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&Se.type(e,t,n,s,i)}r(s)},regexp:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),ge(t)||Se.type(e,t,n,s,i)}r(s)},integer:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i))}r(s)},float:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i))}r(s)},array:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();Se.required(e,t,n,s,i,"array"),null!=t&&(Se.type(e,t,n,s,i),Se.range(e,t,n,s,i))}r(s)},object:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&Se.type(e,t,n,s,i)}r(s)},enum:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i),void 0!==t&&Se.enum(e,t,n,s,i)}r(s)},pattern:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t,"string")&&!e.required)return r();Se.required(e,t,n,s,i),ge(t,"string")||Se.pattern(e,t,n,s,i)}r(s)},date:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t,"date")&&!e.required)return r();if(Se.required(e,t,n,s,i),!ge(t,"date")){let r;r=t instanceof Date?t:new Date(t),Se.type(e,r,n,s,i),r&&Se.range(e,r.getTime(),n,s,i)}}r(s)},url:Ee,hex:Ee,email:Ee,required:(e,t,r,n,i)=>{const s=[],o=Array.isArray(t)?"array":typeof t;Se.required(e,t,n,s,i,o),r(s)},any:(e,t,r,n,i)=>{const s=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(ge(t)&&!e.required)return r();Se.required(e,t,n,s,i)}r(s)}};function Me(){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 ke=Me();class Re{static register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");Pe[e]=t};static warning=pe;static messages=ke;static validators=Pe;rules={};_messages=ke;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=$e(Me(),e)),this._messages}validate(e,t={},r=(()=>{})){let n=e,i=t,s=r;if("function"==typeof i&&(s=i,i={}),!this.rules||0===Object.keys(this.rules).length)return s&&s(null,n),Promise.resolve(n);if(i.messages){let e=this.messages();e===ke&&(e=Me()),$e(e,i.messages),i.messages=e}else i.messages=this.messages();const o={};(i.keys||Object.keys(this.rules)).forEach((t=>{const r=this.rules[t];let i=n[t];r.forEach((r=>{let s=r;"function"==typeof s.transform&&(n===e&&(n={...n}),i=n[t]=s.transform(i)),s="function"==typeof s?{validator:s}:{...s},s.validator=this.getValidationMethod(s),s.validator&&(s.field=t,s.fullField=s.fullField||t,s.type=this.getType(s),o[t]=o[t]||[],o[t].push({rule:s,value:i,source:n,field:t}))}))}));const u={};return ve(o,i,((e,t)=>{const r=e.rule;let s,o=!("object"!==r.type&&"array"!==r.type||"object"!=typeof r.fields&&"object"!=typeof r.defaultField);function a(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function l(s=[]){let l=Array.isArray(s)?s:[s];!0===i.suppressWarning&&l.length&&Re.warning("async-validator:",l),l.length&&void 0!==r.message&&(l=[].concat(r.message));let c=l.map(we(r,n));if(i.first&&c.length)return u[r.field]=1,t(c);if(o){if(r.required&&!e.value)return void 0!==r.message?c=[].concat(r.message).map(we(r,n)):i.error&&(c=[i.error(r,he(i.messages.required,r.field))]),t(c);let s={};r.defaultField&&Object.keys(e.value).map((e=>{s[e]=r.defaultField})),s={...s,...e.rule.fields};const o={};Object.keys(s).forEach((e=>{const t=s[e],r=Array.isArray(t)?t:[t];o[e]=r.map(a.bind(null,e))}));const u=new Re(o);u.messages(i.messages),e.rule.options&&(e.rule.options.messages=i.messages,e.rule.options.error=i.error),u.validate(e.value,e.rule.options||i,(e=>{const r=[];c&&c.length&&r.push(...c),e&&e.length&&r.push(...e),t(r.length?r:null)}))}else t(c)}if(o=o&&(r.required||!r.required&&e.value),r.field=e.field,r.asyncValidator)s=r.asyncValidator(r,e.value,l,e.source,i);else if(r.validator){try{s=r.validator(r,e.value,l,e.source,i)}catch(e){console.error?.(e),i.suppressValidatorError||setTimeout((()=>{throw e}),0),l(e.message)}!0===s?l():!1===s?l("function"==typeof r.message?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):s instanceof Array?l(s):s instanceof Error&&l(s.message)}s&&s.then&&s.then((()=>l()),(e=>l(e)))}),(e=>{!function(e){let t=[],r={};for(let r=0;r<e.length;r++)i=e[r],Array.isArray(i)?t=t.concat(...i):t.push(i);var i;t.length?(r=ye(t),s(t,r)):s(null,n)}(e)}),n)}getType(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!Pe.hasOwnProperty(e.type))throw new Error(he("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]?Pe.required:Pe[this.getType(e)]||void 0}}function Te(e){return new Re(e)}var De={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:Te,validate:function(e,t,r={},n=(()=>{})){return z.run(Te(e).validate(t,r,n))}};class _e extends Q{setters;getters;actions;constructor(){super(),this.getters={},this.setters={},this.actions={}}async dispatch(e,t=void 0){const r=Reflect.get(this.actions,e);if(!K.isFunction(r))return;const[,n]=await z.run(r(this,t));return n}async query(e){const t=Reflect.get(this,e);let r;return r=null!=t&&""!==t?K.copy(t):await this.dispatch(e),r}change=e=>this.on("__change__",e)}return{gbk:e,time:n,hook:z,math:U,util:K,list:X,mini:oe,url:fe,rule:De,DEvent:Q,store:_e,storeRef:e=>{const t=Object.assign(new _e,e||{});return new Proxy(t,{get:(e,t,r)=>{const n=Reflect.get(e.getters,t);return K.isFunction(n)?n(e):Reflect.get(e,t,r)},set:(e,t,r,n)=>{const i=Reflect.get(e.setters,t);if(K.isFunction(i)&&!i(e,r))return!0;const s=Reflect.set(e,t,r,n);return s&&(e.emit(t.toString(),r),e.emit("__change__",e,t,r)),s},has:(e,t)=>Reflect.has(e,t)})}}}));
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class DEvent {
4
+ _map;
4
5
  constructor() {
5
6
  this._map = new Map();
6
7
  }
@@ -1,49 +1,40 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.storeRef = void 0;
13
4
  const hook_1 = require("../modules/hook");
14
5
  const event_1 = require("./event");
15
- const is_1 = require("../util/is");
6
+ const util_1 = require("../util");
16
7
  class DStore extends event_1.default {
8
+ setters;
9
+ getters;
10
+ actions;
17
11
  constructor() {
18
12
  super();
19
13
  this.getters = {};
20
14
  this.setters = {};
21
15
  this.actions = {};
22
16
  }
23
- dispatch(key, payload = undefined) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- const self = this;
26
- const action = Reflect.get(this.actions, key);
27
- if (!is_1.default.isFunction(action))
28
- return undefined;
29
- // return Promise.resolve().then(() => action(self, payload));
30
- const [, data] = yield hook_1.default.run(action(self, payload));
31
- return data;
32
- });
17
+ async dispatch(key, payload = undefined) {
18
+ const self = this;
19
+ const action = Reflect.get(self.actions, key);
20
+ if (!util_1.default.isFunction(action))
21
+ return undefined;
22
+ const [, data] = await hook_1.default.run(action(self, payload));
23
+ return data;
33
24
  }
34
- getByOnce(key) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const val = Reflect.get(this, key);
37
- let result = undefined;
38
- if (val !== null && val !== undefined && val !== "") {
39
- result = JSON.parse(JSON.stringify(val));
40
- }
41
- else {
42
- result = yield this.dispatch(key);
43
- }
44
- return result;
45
- });
25
+ async query(key) {
26
+ const val = Reflect.get(this, key);
27
+ let result = undefined;
28
+ if (val !== null && val !== undefined && val !== "") {
29
+ // result = JSON.parse(JSON.stringify(val));
30
+ result = util_1.default.copy(val);
31
+ }
32
+ else {
33
+ result = await this.dispatch(key);
34
+ }
35
+ return result;
46
36
  }
37
+ change = (func) => this.on("__change__", func);
47
38
  }
48
39
  exports.default = DStore;
49
40
  const storeRef = (source) => {
@@ -51,17 +42,18 @@ const storeRef = (source) => {
51
42
  return new Proxy(_source, {
52
43
  get: (target, key, receiver) => {
53
44
  const getFunc = Reflect.get(target.getters, key);
54
- if (is_1.default.isFunction(getFunc))
55
- return getFunc();
45
+ if (util_1.default.isFunction(getFunc))
46
+ return getFunc(target);
56
47
  return Reflect.get(target, key, receiver);
57
48
  },
58
49
  set: (target, key, value, receiver) => {
59
50
  const setFunc = Reflect.get(target.setters, key);
60
- if (is_1.default.isFunction(setFunc) && !setFunc(value))
51
+ if (util_1.default.isFunction(setFunc) && !setFunc(target, value))
61
52
  return true;
62
53
  const ret = Reflect.set(target, key, value, receiver);
63
54
  if (ret) {
64
55
  target.emit(key.toString(), value);
56
+ target.emit("__change__", target, key, value);
65
57
  }
66
58
  return ret;
67
59
  },
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const is_1 = require("../util/is");
4
4
  class DTask {
5
+ source;
5
6
  constructor(source) {
6
7
  this.source = source;
7
8
  }
@@ -15,7 +15,7 @@ const run = (func, args = {}) => {
15
15
  return hook_1.default.run(promixify(func)(args));
16
16
  };
17
17
  const formatList = (lists, start, name) => {
18
- return (lists || []).reduce((res, val, index) => (Object.assign(Object.assign({}, res), { [`${name}[${start + index}]`]: val })), {});
18
+ return (lists || []).reduce((res, val, index) => ({ ...res, [`${name}[${start + index}]`]: val }), {});
19
19
  };
20
20
  const ruleValidator = (_, value) => {
21
21
  if (!value)
@@ -25,10 +25,20 @@ __exportStar(require("./interface"), exports);
25
25
  * for this schema.
26
26
  */
27
27
  class Schema {
28
+ // ========================= Static =========================
29
+ static register = function register(type, validator) {
30
+ if (typeof validator !== 'function') {
31
+ throw new Error('Cannot register a validator by type, validator is not a function');
32
+ }
33
+ index_1.default[type] = validator;
34
+ };
35
+ static warning = util_1.warning;
36
+ static messages = messages_1.messages;
37
+ static validators = index_1.default;
38
+ // ======================== Instance ========================
39
+ rules = {};
40
+ _messages = messages_1.messages;
28
41
  constructor(descriptor) {
29
- // ======================== Instance ========================
30
- this.rules = {};
31
- this._messages = messages_1.messages;
32
42
  this.define(descriptor);
33
43
  }
34
44
  define(rules) {
@@ -106,7 +116,7 @@ class Schema {
106
116
  let rule = r;
107
117
  if (typeof rule.transform === 'function') {
108
118
  if (source === source_) {
109
- source = Object.assign({}, source);
119
+ source = { ...source };
110
120
  }
111
121
  value = source[z] = rule.transform(value);
112
122
  }
@@ -116,7 +126,7 @@ class Schema {
116
126
  };
117
127
  }
118
128
  else {
119
- rule = Object.assign({}, rule);
129
+ rule = { ...rule };
120
130
  }
121
131
  // Fill validator. Skip if nothing need to validate
122
132
  rule.validator = this.getValidationMethod(rule);
@@ -137,7 +147,6 @@ class Schema {
137
147
  });
138
148
  const errorFields = {};
139
149
  return (0, util_1.asyncMap)(series, options, (data, doIt) => {
140
- var _a;
141
150
  const rule = data.rule;
142
151
  let deep = (rule.type === 'object' || rule.type === 'array') &&
143
152
  (typeof rule.fields === 'object' ||
@@ -145,7 +154,11 @@ class Schema {
145
154
  deep = deep && (rule.required || (!rule.required && data.value));
146
155
  rule.field = data.field;
147
156
  function addFullField(key, schema) {
148
- return Object.assign(Object.assign({}, schema), { fullField: `${rule.fullField}.${key}`, fullFields: rule.fullFields ? [...rule.fullFields, key] : [key] });
157
+ return {
158
+ ...schema,
159
+ fullField: `${rule.fullField}.${key}`,
160
+ fullFields: rule.fullFields ? [...rule.fullFields, key] : [key],
161
+ };
149
162
  }
150
163
  function cb(e = []) {
151
164
  let errorList = Array.isArray(e) ? e : [e];
@@ -190,7 +203,10 @@ class Schema {
190
203
  fieldsSchema[key] = rule.defaultField;
191
204
  });
192
205
  }
193
- fieldsSchema = Object.assign(Object.assign({}, fieldsSchema), data.rule.fields);
206
+ fieldsSchema = {
207
+ ...fieldsSchema,
208
+ ...data.rule.fields,
209
+ };
194
210
  const paredFieldsSchema = {};
195
211
  Object.keys(fieldsSchema).forEach(field => {
196
212
  const fieldSchema = fieldsSchema[field];
@@ -229,7 +245,7 @@ class Schema {
229
245
  res = rule.validator(rule, data.value, cb, data.source, options);
230
246
  }
231
247
  catch (error) {
232
- (_a = console.error) === null || _a === void 0 ? void 0 : _a.call(console, error);
248
+ console.error?.(error);
233
249
  // rethrow to report error
234
250
  if (!options.suppressValidatorError) {
235
251
  setTimeout(() => {
@@ -287,14 +303,4 @@ class Schema {
287
303
  return index_1.default[this.getType(rule)] || undefined;
288
304
  }
289
305
  }
290
- // ========================= Static =========================
291
- Schema.register = function register(type, validator) {
292
- if (typeof validator !== 'function') {
293
- throw new Error('Cannot register a validator by type, validator is not a function');
294
- }
295
- index_1.default[type] = validator;
296
- };
297
- Schema.warning = util_1.warning;
298
- Schema.messages = messages_1.messages;
299
- Schema.validators = index_1.default;
300
306
  exports.default = Schema;
@@ -137,6 +137,8 @@ function flattenObjArr(objArr) {
137
137
  return ret;
138
138
  }
139
139
  class AsyncValidationError extends Error {
140
+ errors;
141
+ fields;
140
142
  constructor(errors, fields) {
141
143
  super('Async Validation Error');
142
144
  this.errors = errors;
@@ -236,7 +238,10 @@ function deepMerge(target, source) {
236
238
  if (source.hasOwnProperty(s)) {
237
239
  const value = source[s];
238
240
  if (typeof value === 'object' && typeof target[s] === 'object') {
239
- target[s] = Object.assign(Object.assign({}, target[s]), value);
241
+ target[s] = {
242
+ ...target[s],
243
+ ...value,
244
+ };
240
245
  }
241
246
  else {
242
247
  //@ts-ignore
@@ -14,40 +14,50 @@ function compareArray(arr1, arr2) {
14
14
  }
15
15
  return true;
16
16
  }
17
- function merge(target, source) {
18
- if (!source)
19
- return target;
20
- if (!target)
21
- return source;
22
- Object.keys(source).forEach((key) => {
23
- if (Array.isArray(target[key]) && Array.isArray(source[key])) {
24
- target[key] = target[key].concat(source[key]);
25
- }
26
- else if (typeof target[key] === "object" && typeof source[key] === "object") {
27
- target[key] = Object.assign(target[key], source[key]);
28
- }
29
- else {
30
- target[key] = source[key];
31
- }
32
- });
33
- return target;
34
- }
35
- function copy(target) {
17
+ const copy = (target, fields = []) => {
36
18
  if (target === undefined)
37
19
  return undefined;
38
- return JSON.parse(JSON.stringify(target));
39
- }
40
- function clone(target) {
20
+ const newTarget = JSON.parse(JSON.stringify(target));
21
+ if (typeof newTarget !== 'object')
22
+ return newTarget;
23
+ if (Array.isArray(newTarget) || !fields || fields.length <= 0)
24
+ return newTarget;
25
+ const result = {};
26
+ for (const key in newTarget) {
27
+ if (fields.includes(key) && newTarget.hasOwnProperty(key)) {
28
+ result[key] = newTarget[key];
29
+ }
30
+ }
31
+ return result;
32
+ };
33
+ const clone = (target) => {
41
34
  if (!target)
42
35
  return target;
43
36
  if (typeof target !== 'object')
44
37
  return target;
45
- const cloneTarget = Array.isArray(target) ? [] : {};
46
- for (let prop in target) {
47
- if (target.hasOwnProperty(prop)) {
48
- cloneTarget[prop] = clone(target[prop]);
38
+ const result = Array.isArray(target) ? [] : {};
39
+ for (const key in target) {
40
+ if (target.hasOwnProperty(key)) {
41
+ result[key] = clone(target[key]);
49
42
  }
50
43
  }
51
- return cloneTarget;
44
+ return result;
45
+ };
46
+ function merge(target, source) {
47
+ if (source) {
48
+ for (const s in source) {
49
+ if (source.hasOwnProperty(s)) {
50
+ const value = source[s];
51
+ if (typeof value === 'object' && typeof target[s] === 'object') {
52
+ target[s] = { ...target[s], ...value };
53
+ }
54
+ else {
55
+ // @ts-ignore
56
+ target[s] = value;
57
+ }
58
+ }
59
+ }
60
+ }
61
+ return target;
52
62
  }
53
- exports.default = Object.assign(Object.assign(Object.assign({}, is_1.default), _object_1.default), { includes: includes_1.default, merge, compareArray, copy, clone });
63
+ exports.default = { ...is_1.default, ..._object_1.default, includes: includes_1.default, merge, compareArray, copy, clone };
@@ -1,11 +1,12 @@
1
1
  import DEvent from "./event";
2
- import { IDStore } from "../typings";
2
+ import { IDStore, TStoreSetterFunction, TStoreGetterFunction, TStoreActionFunction } from "../typings";
3
3
  export default class DStore extends DEvent {
4
- actions: {};
5
- setters: {};
6
- getters: {};
4
+ setters: Record<string, TStoreSetterFunction>;
5
+ getters: Record<string, TStoreGetterFunction>;
6
+ actions: Record<string, TStoreActionFunction>;
7
7
  constructor();
8
8
  dispatch(key: string, payload?: undefined): Promise<any>;
9
- getByOnce(key: string): Promise<undefined>;
9
+ query(key: string): Promise<undefined>;
10
+ change: (func: Function) => this;
10
11
  }
11
12
  export declare const storeRef: (source: IDStore) => DStore & IDStore;
@@ -7,7 +7,7 @@ declare const _default: {
7
7
  };
8
8
  time: {
9
9
  now: () => number;
10
- isToday: (date: any) => boolean;
10
+ isToday: (date: any) => any;
11
11
  format: (time: string | number | Date, reg?: string) => string;
12
12
  parseTime: ({ year, month, date, hour, minute, second }: {
13
13
  year?: number | undefined;
@@ -37,8 +37,10 @@ declare const _default: {
37
37
  };
38
38
  util: {
39
39
  includes: typeof import("./util/includes").default;
40
- merge: (target: any, source: any) => any;
40
+ merge: <T extends object>(target: T, source: Partial<T>) => T;
41
41
  compareArray: (arr1: any, arr2: any) => boolean;
42
+ copy: (target: any, fields?: string[]) => any;
43
+ clone: (target: any) => any;
42
44
  getTag: (value: any) => string;
43
45
  getType: (value: any) => string;
44
46
  toString: () => string;
@@ -62,7 +64,7 @@ declare const _default: {
62
64
  };
63
65
  list: {
64
66
  groupBy: (list: any[], key: string) => Record<string, any[]>;
65
- stepAction: <T>(list: T[], func: import("./typings").TArrayFunction<T>, stepCount?: number) => void;
67
+ stepAction: <T_1>(list: T_1[], func: import("./typings").TArrayFunction<T_1>, stepCount?: number) => void;
66
68
  skip: (list: any[], count: number) => any[];
67
69
  take: (list: any[], count: number, skip?: number) => any[];
68
70
  distinct: (list: any[]) => any[];
@@ -6,9 +6,12 @@ export interface IDebounceOption {
6
6
  maxWait?: number;
7
7
  trailing?: boolean;
8
8
  }
9
+ export type TStoreGetterFunction = (arg: IDStore) => any;
10
+ export type TStoreSetterFunction = (arg: IDStore, payload: any) => boolean;
11
+ export type TStoreActionFunction = (arg: IDStore, payload: any) => any;
9
12
  export interface IDStore {
10
13
  [key: string]: any;
11
- getters?: Record<string, Function>;
12
- setters?: Record<string, Function>;
13
- actions?: Record<string, Function>;
14
+ getters?: Record<string, TStoreGetterFunction>;
15
+ setters?: Record<string, TStoreSetterFunction>;
16
+ actions?: Record<string, TStoreActionFunction>;
14
17
  }
@@ -1,14 +1,12 @@
1
1
  import includes from "./includes";
2
2
  declare function compareArray(arr1: any, arr2: any): boolean;
3
- declare function merge(target: any, source: any): any;
4
- declare function copy(target: any): any;
5
- declare function clone(target: any): any;
3
+ declare function merge<T extends object>(target: T, source: Partial<T>): T;
6
4
  declare const _default: {
7
5
  includes: typeof includes;
8
6
  merge: typeof merge;
9
7
  compareArray: typeof compareArray;
10
- copy: typeof copy;
11
- clone: typeof clone;
8
+ copy: (target: any, fields?: string[]) => any;
9
+ clone: (target: any) => any;
12
10
  getTag: (value: any) => string;
13
11
  getType: (value: any) => string;
14
12
  toString: () => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ddan-js",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "bin/ddan-js.js",
@@ -89,6 +89,7 @@
89
89
  "devDependencies": {
90
90
  "@commitlint/cli": "^17.6.1",
91
91
  "@commitlint/config-conventional": "^17.6.1",
92
+ "@rollup/plugin-node-resolve": "^15.1.0",
92
93
  "@types/babel__core": "7.1.19",
93
94
  "@types/babel__traverse": "7.17.1",
94
95
  "@types/jest": "^23.3.2",