Launch Week Day 5: Introducing Reachability for PHP.Learn More
Socket
Book a DemoSign in
Socket

@formily/shared

Package Overview
Dependencies
Maintainers
2
Versions
246
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@formily/shared - npm Package Compare versions

Comparing version
2.2.26
to
2.2.27
+2
-1
dist/formily.shared.all.d.ts

@@ -34,2 +34,3 @@ declare type EachArrayIterator<T> = (currentValue: T, key: number) => void | boolean;

declare function includes<T>(val: T[], searchElement: T, revert?: boolean): boolean;
declare function move<T extends any>(array: T[], fromIndex: number, toIndex: number): T[];

@@ -239,2 +240,2 @@ declare const isEqual: (a: any, b: any) => any;

export { Path as FormPath, Pattern as FormPathPattern, IMiddleware, Subscribable, Subscriber, Subscription, applyMiddleware, camelCase, clone, defaults, deprecate, each, every, find, findIndex, getType, globalThisPolyfill, includes, instOf, isArr, isBool, isEmpty, isEqual, isFn, isHTMLElement, isMap, isNum, isNumberLike, isObj, isPlainObj, isReactElement, isRegExp, isSet, isStr, isUndef, isValid, isWeakMap, isWeakSet, lazyMerge, lowerCase, map, merge, paramCase, pascalCase, reduce, shallowClone, some, stringLength, toArr, uid, upperCase };
export { Path as FormPath, Pattern as FormPathPattern, IMiddleware, Subscribable, Subscriber, Subscription, applyMiddleware, camelCase, clone, defaults, deprecate, each, every, find, findIndex, getType, globalThisPolyfill, includes, instOf, isArr, isBool, isEmpty, isEqual, isFn, isHTMLElement, isMap, isNum, isNumberLike, isObj, isPlainObj, isReactElement, isRegExp, isSet, isStr, isUndef, isValid, isWeakMap, isWeakSet, lazyMerge, lowerCase, map, merge, move, paramCase, pascalCase, reduce, shallowClone, some, stringLength, toArr, uid, upperCase };

@@ -41,2 +41,3 @@ export { camelCase } from 'camel-case';

declare function includes<T>(val: T[], searchElement: T, revert?: boolean): boolean;
declare function move<T extends any>(array: T[], fromIndex: number, toIndex: number): T[];

@@ -119,2 +120,2 @@ declare const isEqual: (a: any, b: any) => any;

export { IMiddleware, Subscribable, Subscriber, Subscription, applyMiddleware, clone, defaults, deprecate, each, every, find, findIndex, getType, globalThisPolyfill, includes, instOf, isArr, isBool, isEmpty, isEqual, isFn, isHTMLElement, isMap, isNum, isNumberLike, isObj, isPlainObj, isReactElement, isRegExp, isSet, isStr, isUndef, isValid, isWeakMap, isWeakSet, lazyMerge, map, merge, reduce, shallowClone, some, stringLength, toArr, uid };
export { IMiddleware, Subscribable, Subscriber, Subscription, applyMiddleware, clone, defaults, deprecate, each, every, find, findIndex, getType, globalThisPolyfill, includes, instOf, isArr, isBool, isEmpty, isEqual, isFn, isHTMLElement, isMap, isNum, isNumberLike, isObj, isPlainObj, isReactElement, isRegExp, isSet, isStr, isUndef, isValid, isWeakMap, isWeakSet, lazyMerge, map, merge, move, reduce, shallowClone, some, stringLength, toArr, uid };

@@ -148,2 +148,27 @@ (function (global, factory) {

}
function move(array, fromIndex, toIndex) {
if (fromIndex === toIndex)
return array;
if (toIndex < 0 ||
fromIndex < 0 ||
toIndex > array.length - 1 ||
fromIndex > array.length - 1) {
return array;
}
if (fromIndex < toIndex) {
var fromItem = array[fromIndex];
for (var index = fromIndex; index < toIndex; index++) {
array[index] = array[index + 1];
}
array[toIndex] = fromItem;
}
else {
var fromItem = array[fromIndex];
for (var index = fromIndex; index > toIndex; index--) {
array[index] = array[index - 1];
}
array[toIndex] = fromItem;
}
return array;
}

@@ -957,2 +982,3 @@ /* istanbul ignore next */

exports.merge = merge;
exports.move = move;
exports.paramCase = paramCase;

@@ -959,0 +985,0 @@ exports.pascalCase = pascalCase;

@@ -1,2 +0,2 @@

!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define("formily.shared",["exports"],e):e(((r="undefined"!=typeof globalThis?globalThis:r||self).Formily=r.Formily||{},r.Formily.Shared={}))}(this,(function(r){"use strict";!function(){const r={NODE_ENV:"production"};try{if(process)return process.env=Object.assign({},process.env),void Object.assign(process.env,r)}catch(r){}globalThis.process={env:r}}();var e=Object.prototype.toString,n=function(r){return function(e){return t(e)==="[object ".concat(r,"]")}},t=function(r){return e.call(r)},i=function(r){return"function"==typeof r},o=Array.isArray,u=n("Object"),c=n("String"),f=n("Boolean"),a=n("Number"),s=function(r){return"object"==typeof r},l=n("RegExp");function p(r,e,n){if(o(r)||c(r)){if(n){for(var t=r.length-1;t>=0;t--)if(!1===e(r[t],t))return}else for(t=0;t<r.length;t++)if(!1===e(r[t],t))return}else if(s(r)){var i=void 0;for(i in r)if(Object.hasOwnProperty.call(r,i)&&!1===e(r[i],i))return}}function b(r,e,n){var t=!1;return p(r,(function(r,n){if(e(r,n))return t=!0,!1}),n),t}var y=function(){try{if("undefined"!=typeof self)return self}catch(r){}try{if("undefined"!=typeof window)return window}catch(r){}try{if("undefined"!=typeof global)return global}catch(r){}return Function("return this")()}(),d=function(r,e){return i(e)?r instanceof e:!!c(e)&&(!!y[e]&&r instanceof y[e])},v=o,g=Object.keys,h=Object.prototype.hasOwnProperty;function O(r,e){if(r===e)return!0;if(r&&e&&"object"==typeof r&&"object"==typeof e){var n,t=v(r),i=v(e),o=void 0,u=void 0;if(t&&i){if((n=r.length)!==e.length)return!1;for(o=n;0!=o--;)if(!O(r[o],e[o]))return!1;return!0}if(t!==i)return!1;var c=r&&r._isAMomentObject,f=e&&e._isAMomentObject;if(c!==f)return!1;if(c&&f)return r.isSame(e);var a=r&&r.toJS;if(a!==(e&&e.toJS))return!1;if(a)return r.is?r.is(e):r===e;var s=d(r,"Date"),l=d(e,"Date");if(s!==l)return!1;if(s&&l)return r.getTime()===e.getTime();var p=d(r,"RegExp"),b=d(e,"RegExp");if(p!==b)return!1;if(p&&b)return r.toString()===e.toString();var y=d(r,"URL"),m=d(e,"URL");if(y!==m)return!1;if(y&&m)return r.href===e.href;var j=r&&r.toJSON,S=e&&e.toJSON;if(j!==S)return!1;if(j&&S)return O(r.toJSON(),e.toJSON());var w=g(r);if((n=w.length)!==g(e).length)return!1;for(o=n;0!=o--;)if(!h.call(e,w[o]))return!1;for(o=n;0!=o--;)if(!("_owner"===(u=w[o])&&r.$$typeof||O(r[u],e[u])))return!1;return!0}return r!=r&&e!=e}var m=function(){return m=Object.assign||function(r){for(var e,n=1,t=arguments.length;n<t;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i]);return r},m.apply(this,arguments)},j=function(r){if(Array.isArray(r)){var e=[];return r.forEach((function(r){e.push(j(r))})),e}if(u(r)){if("$$typeof"in r&&"_owner"in r)return r;if(r._isAMomentObject)return r;if(r._isJSONSchemaObject)return r;if(i(r.toJS))return r.toJS();if(i(r.toJSON))return r.toJSON();var n={};for(var t in r)Object.hasOwnProperty.call(r,t)&&(n[t]=j(r[t]));return n}return r},S=Object.prototype.hasOwnProperty,w=Object.prototype.toString,A=function(r){return null!=r};
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define("formily.shared",["exports"],e):e(((r="undefined"!=typeof globalThis?globalThis:r||self).Formily=r.Formily||{},r.Formily.Shared={}))}(this,(function(r){"use strict";!function(){const r={NODE_ENV:"production"};try{if(process)return process.env=Object.assign({},process.env),void Object.assign(process.env,r)}catch(r){}globalThis.process={env:r}}();var e=Object.prototype.toString,n=function(r){return function(e){return t(e)==="[object ".concat(r,"]")}},t=function(r){return e.call(r)},i=function(r){return"function"==typeof r},o=Array.isArray,u=n("Object"),c=n("String"),f=n("Boolean"),a=n("Number"),s=function(r){return"object"==typeof r},l=n("RegExp");function p(r,e,n){if(o(r)||c(r)){if(n){for(var t=r.length-1;t>=0;t--)if(!1===e(r[t],t))return}else for(t=0;t<r.length;t++)if(!1===e(r[t],t))return}else if(s(r)){var i=void 0;for(i in r)if(Object.hasOwnProperty.call(r,i)&&!1===e(r[i],i))return}}function b(r,e,n){var t=!1;return p(r,(function(r,n){if(e(r,n))return t=!0,!1}),n),t}var y=function(){try{if("undefined"!=typeof self)return self}catch(r){}try{if("undefined"!=typeof window)return window}catch(r){}try{if("undefined"!=typeof global)return global}catch(r){}return Function("return this")()}(),v=function(r,e){return i(e)?r instanceof e:!!c(e)&&(!!y[e]&&r instanceof y[e])},d=o,g=Object.keys,h=Object.prototype.hasOwnProperty;function O(r,e){if(r===e)return!0;if(r&&e&&"object"==typeof r&&"object"==typeof e){var n,t=d(r),i=d(e),o=void 0,u=void 0;if(t&&i){if((n=r.length)!==e.length)return!1;for(o=n;0!=o--;)if(!O(r[o],e[o]))return!1;return!0}if(t!==i)return!1;var c=r&&r._isAMomentObject,f=e&&e._isAMomentObject;if(c!==f)return!1;if(c&&f)return r.isSame(e);var a=r&&r.toJS;if(a!==(e&&e.toJS))return!1;if(a)return r.is?r.is(e):r===e;var s=v(r,"Date"),l=v(e,"Date");if(s!==l)return!1;if(s&&l)return r.getTime()===e.getTime();var p=v(r,"RegExp"),b=v(e,"RegExp");if(p!==b)return!1;if(p&&b)return r.toString()===e.toString();var y=v(r,"URL"),m=v(e,"URL");if(y!==m)return!1;if(y&&m)return r.href===e.href;var j=r&&r.toJSON,S=e&&e.toJSON;if(j!==S)return!1;if(j&&S)return O(r.toJSON(),e.toJSON());var w=g(r);if((n=w.length)!==g(e).length)return!1;for(o=n;0!=o--;)if(!h.call(e,w[o]))return!1;for(o=n;0!=o--;)if(!("_owner"===(u=w[o])&&r.$$typeof||O(r[u],e[u])))return!1;return!0}return r!=r&&e!=e}var m=function(){return m=Object.assign||function(r){for(var e,n=1,t=arguments.length;n<t;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i]);return r},m.apply(this,arguments)},j=function(r){if(Array.isArray(r)){var e=[];return r.forEach((function(r){e.push(j(r))})),e}if(u(r)){if("$$typeof"in r&&"_owner"in r)return r;if(r._isAMomentObject)return r;if(r._isJSONSchemaObject)return r;if(i(r.toJS))return r.toJS();if(i(r.toJSON))return r.toJSON();var n={};for(var t in r)Object.hasOwnProperty.call(r,t)&&(n[t]=j(r[t]));return n}return r},S=Object.prototype.hasOwnProperty,w=Object.prototype.toString,A=function(r){return null!=r};
/*! *****************************************************************************

@@ -15,3 +15,3 @@ Copyright (c) Microsoft Corporation.

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */function M(r,e){if(void 0===e&&(e=!1),null==r)return!0;if("boolean"==typeof r)return!1;if("number"==typeof r)return!1;if("string"==typeof r)return 0===r.length;if("function"==typeof r)return 0===r.length;if(Array.isArray(r)){if(0===r.length)return!0;for(var n=0;n<r.length;n++)if(e){if(void 0!==r[n]&&null!==r[n])return!1}else if(void 0!==r[n]&&null!==r[n]&&""!==r[n]&&0!==r[n])return!1;return!0}if(d(r,"Error"))return""===r.message;if(r.toString===w)switch(r.toString()){case"[object File]":case"[object Map]":case"[object Set]":return 0===r.size;case"[object Object]":for(var t in r)if(S.call(r,t))return!1;return!0}return!1}function x(r){return r.toLowerCase()}var E=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],P=/[^A-Z0-9]+/gi;function J(r,e){void 0===e&&(e={});for(var n=e.splitRegexp,t=void 0===n?E:n,i=e.stripRegexp,o=void 0===i?P:i,u=e.transform,c=void 0===u?x:u,f=e.delimiter,a=void 0===f?" ":f,s=_(_(r,t,"$1\0$2"),o,"\0"),l=0,p=s.length;"\0"===s.charAt(l);)l++;for(;"\0"===s.charAt(p-1);)p--;return s.slice(l,p).split("\0").map(c).join(a)}function _(r,e,n){return e instanceof RegExp?r.replace(e,n):e.reduce((function(r,e){return r.replace(e,n)}),r)}function N(r,e){var n=r.charAt(0),t=r.substr(1).toLowerCase();return e>0&&n>="0"&&n<="9"?"_"+n+t:""+n.toUpperCase()+t}function $(r,e){return void 0===e&&(e={}),J(r,m({delimiter:"",transform:N},e))}function R(r,e){return 0===e?r.toLowerCase():N(r,e)}var C="[\ud800-\udbff][\udc00-\udfff]",k=function(r){return"string"==typeof r?r.replace((e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),new RegExp(e,"g")),""):r;var e};const L=Formily.Path.Path;var T={};var F=function(){var r=this;this.subscribers={index:0},this.subscribe=function(e){if(i(e)){var n=r.subscribers.index+1;return r.subscribers[n]=e,r.subscribers.index++,n}},this.unsubscribe=function(e){r.subscribers[e]?delete r.subscribers[e]:e||(r.subscribers={index:0})},this.notify=function(e,n){r.subscription&&r.subscription&&i(r.subscription.notify)&&!1===r.subscription.notify.call(r,e)||n||p(r.subscribers,(function(n){i(n)&&n(function(e){return r.subscription&&i(r.subscription.filter)?r.subscription.filter.call(r,e):e}(e))}))}};function Z(r){return function(r){return Boolean(r)&&"object"==typeof r}(r)&&!function(r){if("$$typeof"in r&&"_owner"in r)return!0;if(r._isAMomentObject)return!0;if(r._isJSONSchemaObject)return!0;if(i(r.toJS))return!0;if(i(r.toJSON))return!0;return!u(r)}(r)}function z(r,e){var n,t;return!1!==e.clone&&(null===(n=e.isMergeableObject)||void 0===n?void 0:n.call(e,r))?I((t=r,Array.isArray(t)?[]:{}),r,e):r}function U(r,e,n){return r.concat(e).map((function(r){return z(r,n)}))}function B(r){return A(r)?Object.keys(r).concat(function(r){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(r).filter((function(e){return r.propertyIsEnumerable(e)})):[]}(r)):[]}function D(r,e){try{return e in r}catch(r){return!1}}function W(r,e,n){var t=n.assign&&r||{};return n.isMergeableObject(r)?(n.assign||B(r).forEach((function(e){t[e]=z(r[e],n)})),B(e).forEach((function(i){(function(r,e){return D(r,e)&&!(Object.hasOwnProperty.call(r,e)&&Object.propertyIsEnumerable.call(r,e))})(r,i)||(M(r[i])?t[i]=e[i]:D(r,i)&&n.isMergeableObject(e[i])?t[i]=function(r,e){if(!e.customMerge)return I;var n=e.customMerge(r);return"function"==typeof n?n:I}(i,n)(r[i],e[i],n):t[i]=z(e[i],n))})),t):r}function I(r,e,n){(n=n||{}).arrayMerge=n.arrayMerge||U,n.isMergeableObject=n.isMergeableObject||Z,n.cloneUnlessOtherwiseSpecified=z;var t=Array.isArray(e);return t===Array.isArray(r)?t?n.arrayMerge(r,e,n):W(r,e,n):z(e,n)}for(var q=I,H=function(r){return!((null==(e=r)?void 0:e._owner)&&(null==e?void 0:e.$$typeof)||(null==e?void 0:e._isAMomentObject)||(null==e?void 0:e._isJSONSchemaObject)||(null==e?void 0:e.toJS)||(null==e?void 0:e.toJSON))&&"object"==typeof r;var e},V=function(r,e){if(t(r)===t(e)&&H(r)&&H(e)){var n=o(r)?[]:u(r)?{}:r;return p(e,(function(e,t){n[t]=V(r[t],e)})),p(r,(function(r,e){A(n[e])||(n[e]=r)})),n}return M(e)?r:e},K=36,G="";K--;)G+=K.toString(36);r.FormPath=L,r.Subscribable=F,r.applyMiddleware=function(r,e){void 0===e&&(e=[]);var n=function(r,e){var t=r;return Promise.resolve(e[0](r,(function(r){return n(null!=r?r:t,e.slice(1))})))};return new Promise((function(t,i){n(r,e.concat((function(r){t(r)}))).catch(i)}))},r.camelCase=function(r,e){return void 0===e&&(e={}),$(r,m({transform:R},e))},r.clone=j,r.defaults=V,r.deprecate=function r(e,n,t){if(i(e))return function(i,o,u,c,f){return r(n,t),e.apply(this,arguments)};c(e)&&!T[e]&&(T[e]=!0,console.warn(new Error("".concat(e," has been deprecated. Do not continue to use this api.").concat(n||""))))},r.each=p,r.every=function(r,e,n){var t=!0;return p(r,(function(r,n){if(!e(r,n))return t=!1,!1}),n),t},r.find=function(r,e,n){var t;return p(r,(function(r,n){if(e(r,n))return t=r,!1}),n),t},r.findIndex=function(r,e,n){var t=-1;return p(r,(function(r,n){if(e(r,n))return t=n,!1}),n),t},r.getType=t,r.globalThisPolyfill=y,r.includes=function(r,e,n){return c(r)?r.includes(e):b(r,(function(r){return r===e}),n)},r.instOf=d,r.isArr=o,r.isBool=f,r.isEmpty=M,r.isEqual=function(r,e){try{return O(r,e)}catch(r){if(r.message&&r.message.match(/stack|recursion/i)||-2146828260===r.number)return console.warn("Warning: react-fast-compare does not handle circular references.",r.name,r.message),!1;throw r}},r.isFn=i,r.isHTMLElement=function(r){return Object.prototype.toString.call(r).indexOf("HTML")>-1},r.isMap=function(r){return r&&r instanceof Map},r.isNum=a,r.isNumberLike=function(r){return a(r)||/^\d+$/.test(r)},r.isObj=s,r.isPlainObj=u,r.isReactElement=function(r){return r&&r.$$typeof&&r._owner},r.isRegExp=l,r.isSet=function(r){return r&&r instanceof Set},r.isStr=c,r.isUndef=function(r){return void 0===r},r.isValid=A,r.isWeakMap=function(r){return r&&r instanceof WeakMap},r.isWeakSet=function(r){return r&&r instanceof WeakSet},r.lazyMerge=function(r){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var t=function(r,e){if(!A(e))return r;if(!A(r))return e;var n="function"==typeof r,t="function"==typeof e;if(!("object"==typeof r)&&!n)return e;if(!("object"==typeof e)&&!t)return r;var i=function(){return n?r():r},o=function(){return t?e():e},u=function(r,e){var n=o();return e in n?n[e]:i()[e]};return new Proxy(Object.create(null),{set:function(r,e,n){var t=o(),u=i();return e in t?t[e]=n:e in u?u[e]=n:t[e]=n,!0},get:u,ownKeys:function(){var r=o(),e=i(),n=Object.keys(e);for(var t in r)t in e||n.push(t);return n},getPrototypeOf:function(){return Object.getPrototypeOf({})},getOwnPropertyDescriptor:function(r,e){return{value:u(0,e),enumerable:!0,configurable:!0}},has:function(r,e){return e in o()||e in i()}})};return e.reduce((function(r,e){return t(r,e)}),r)},r.lowerCase=x,r.map=function(r,e,n){var t=o(r)||c(r)?[]:{};return p(r,(function(r,n){var i=e(r,n);o(t)?t.push(i):t[n]=i}),n),t},r.merge=q,r.paramCase=function(r,e){return void 0===e&&(e={}),function(r,e){return void 0===e&&(e={}),J(r,m({delimiter:"."},e))}(r,m({delimiter:"-"},e))},r.pascalCase=$,r.reduce=function(r,e,n,t){var i=n;return p(r,(function(r,n){i=e(i,r,n)}),t),i},r.shallowClone=function(r){return Array.isArray(r)?r.slice(0):u(r)?"$$typeof"in r&&"_owner"in r||r._isAMomentObject||r._isJSONSchemaObject||i(r.toJS)||i(r.toJSON)?r:m({},r):"object"==typeof r?new r.constructor(r):r},r.some=b,r.stringLength=function(r){return k(r).replace(e&&e.exact?new RegExp("^".concat(C,"$")):new RegExp(C,"g")," ").length;var e},r.toArr=function(r){return o(r)?r:r?[r]:[]},r.uid=function(r){for(var e="",n=r||11;n--;)e+=G[36*Math.random()|0];return e},r.upperCase=function(r){return r.toUpperCase()},Object.defineProperty(r,"__esModule",{value:!0})}));
***************************************************************************** */function M(r,e){if(void 0===e&&(e=!1),null==r)return!0;if("boolean"==typeof r)return!1;if("number"==typeof r)return!1;if("string"==typeof r)return 0===r.length;if("function"==typeof r)return 0===r.length;if(Array.isArray(r)){if(0===r.length)return!0;for(var n=0;n<r.length;n++)if(e){if(void 0!==r[n]&&null!==r[n])return!1}else if(void 0!==r[n]&&null!==r[n]&&""!==r[n]&&0!==r[n])return!1;return!0}if(v(r,"Error"))return""===r.message;if(r.toString===w)switch(r.toString()){case"[object File]":case"[object Map]":case"[object Set]":return 0===r.size;case"[object Object]":for(var t in r)if(S.call(r,t))return!1;return!0}return!1}function x(r){return r.toLowerCase()}var E=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],P=/[^A-Z0-9]+/gi;function J(r,e){void 0===e&&(e={});for(var n=e.splitRegexp,t=void 0===n?E:n,i=e.stripRegexp,o=void 0===i?P:i,u=e.transform,c=void 0===u?x:u,f=e.delimiter,a=void 0===f?" ":f,s=_(_(r,t,"$1\0$2"),o,"\0"),l=0,p=s.length;"\0"===s.charAt(l);)l++;for(;"\0"===s.charAt(p-1);)p--;return s.slice(l,p).split("\0").map(c).join(a)}function _(r,e,n){return e instanceof RegExp?r.replace(e,n):e.reduce((function(r,e){return r.replace(e,n)}),r)}function N(r,e){var n=r.charAt(0),t=r.substr(1).toLowerCase();return e>0&&n>="0"&&n<="9"?"_"+n+t:""+n.toUpperCase()+t}function $(r,e){return void 0===e&&(e={}),J(r,m({delimiter:"",transform:N},e))}function R(r,e){return 0===e?r.toLowerCase():N(r,e)}var C="[\ud800-\udbff][\udc00-\udfff]",k=function(r){return"string"==typeof r?r.replace((e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),new RegExp(e,"g")),""):r;var e};const L=Formily.Path.Path;var T={};var F=function(){var r=this;this.subscribers={index:0},this.subscribe=function(e){if(i(e)){var n=r.subscribers.index+1;return r.subscribers[n]=e,r.subscribers.index++,n}},this.unsubscribe=function(e){r.subscribers[e]?delete r.subscribers[e]:e||(r.subscribers={index:0})},this.notify=function(e,n){r.subscription&&r.subscription&&i(r.subscription.notify)&&!1===r.subscription.notify.call(r,e)||n||p(r.subscribers,(function(n){i(n)&&n(function(e){return r.subscription&&i(r.subscription.filter)?r.subscription.filter.call(r,e):e}(e))}))}};function Z(r){return function(r){return Boolean(r)&&"object"==typeof r}(r)&&!function(r){if("$$typeof"in r&&"_owner"in r)return!0;if(r._isAMomentObject)return!0;if(r._isJSONSchemaObject)return!0;if(i(r.toJS))return!0;if(i(r.toJSON))return!0;return!u(r)}(r)}function z(r,e){var n,t;return!1!==e.clone&&(null===(n=e.isMergeableObject)||void 0===n?void 0:n.call(e,r))?I((t=r,Array.isArray(t)?[]:{}),r,e):r}function U(r,e,n){return r.concat(e).map((function(r){return z(r,n)}))}function B(r){return A(r)?Object.keys(r).concat(function(r){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(r).filter((function(e){return r.propertyIsEnumerable(e)})):[]}(r)):[]}function D(r,e){try{return e in r}catch(r){return!1}}function W(r,e,n){var t=n.assign&&r||{};return n.isMergeableObject(r)?(n.assign||B(r).forEach((function(e){t[e]=z(r[e],n)})),B(e).forEach((function(i){(function(r,e){return D(r,e)&&!(Object.hasOwnProperty.call(r,e)&&Object.propertyIsEnumerable.call(r,e))})(r,i)||(M(r[i])?t[i]=e[i]:D(r,i)&&n.isMergeableObject(e[i])?t[i]=function(r,e){if(!e.customMerge)return I;var n=e.customMerge(r);return"function"==typeof n?n:I}(i,n)(r[i],e[i],n):t[i]=z(e[i],n))})),t):r}function I(r,e,n){(n=n||{}).arrayMerge=n.arrayMerge||U,n.isMergeableObject=n.isMergeableObject||Z,n.cloneUnlessOtherwiseSpecified=z;var t=Array.isArray(e);return t===Array.isArray(r)?t?n.arrayMerge(r,e,n):W(r,e,n):z(e,n)}for(var q=I,H=function(r){return!((null==(e=r)?void 0:e._owner)&&(null==e?void 0:e.$$typeof)||(null==e?void 0:e._isAMomentObject)||(null==e?void 0:e._isJSONSchemaObject)||(null==e?void 0:e.toJS)||(null==e?void 0:e.toJSON))&&"object"==typeof r;var e},V=function(r,e){if(t(r)===t(e)&&H(r)&&H(e)){var n=o(r)?[]:u(r)?{}:r;return p(e,(function(e,t){n[t]=V(r[t],e)})),p(r,(function(r,e){A(n[e])||(n[e]=r)})),n}return M(e)?r:e},K=36,G="";K--;)G+=K.toString(36);r.FormPath=L,r.Subscribable=F,r.applyMiddleware=function(r,e){void 0===e&&(e=[]);var n=function(r,e){var t=r;return Promise.resolve(e[0](r,(function(r){return n(null!=r?r:t,e.slice(1))})))};return new Promise((function(t,i){n(r,e.concat((function(r){t(r)}))).catch(i)}))},r.camelCase=function(r,e){return void 0===e&&(e={}),$(r,m({transform:R},e))},r.clone=j,r.defaults=V,r.deprecate=function r(e,n,t){if(i(e))return function(i,o,u,c,f){return r(n,t),e.apply(this,arguments)};c(e)&&!T[e]&&(T[e]=!0,console.warn(new Error("".concat(e," has been deprecated. Do not continue to use this api.").concat(n||""))))},r.each=p,r.every=function(r,e,n){var t=!0;return p(r,(function(r,n){if(!e(r,n))return t=!1,!1}),n),t},r.find=function(r,e,n){var t;return p(r,(function(r,n){if(e(r,n))return t=r,!1}),n),t},r.findIndex=function(r,e,n){var t=-1;return p(r,(function(r,n){if(e(r,n))return t=n,!1}),n),t},r.getType=t,r.globalThisPolyfill=y,r.includes=function(r,e,n){return c(r)?r.includes(e):b(r,(function(r){return r===e}),n)},r.instOf=v,r.isArr=o,r.isBool=f,r.isEmpty=M,r.isEqual=function(r,e){try{return O(r,e)}catch(r){if(r.message&&r.message.match(/stack|recursion/i)||-2146828260===r.number)return console.warn("Warning: react-fast-compare does not handle circular references.",r.name,r.message),!1;throw r}},r.isFn=i,r.isHTMLElement=function(r){return Object.prototype.toString.call(r).indexOf("HTML")>-1},r.isMap=function(r){return r&&r instanceof Map},r.isNum=a,r.isNumberLike=function(r){return a(r)||/^\d+$/.test(r)},r.isObj=s,r.isPlainObj=u,r.isReactElement=function(r){return r&&r.$$typeof&&r._owner},r.isRegExp=l,r.isSet=function(r){return r&&r instanceof Set},r.isStr=c,r.isUndef=function(r){return void 0===r},r.isValid=A,r.isWeakMap=function(r){return r&&r instanceof WeakMap},r.isWeakSet=function(r){return r&&r instanceof WeakSet},r.lazyMerge=function(r){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var t=function(r,e){if(!A(e))return r;if(!A(r))return e;var n="function"==typeof r,t="function"==typeof e;if(!("object"==typeof r)&&!n)return e;if(!("object"==typeof e)&&!t)return r;var i=function(){return n?r():r},o=function(){return t?e():e},u=function(r,e){var n=o();return e in n?n[e]:i()[e]};return new Proxy(Object.create(null),{set:function(r,e,n){var t=o(),u=i();return e in t?t[e]=n:e in u?u[e]=n:t[e]=n,!0},get:u,ownKeys:function(){var r=o(),e=i(),n=Object.keys(e);for(var t in r)t in e||n.push(t);return n},getPrototypeOf:function(){return Object.getPrototypeOf({})},getOwnPropertyDescriptor:function(r,e){return{value:u(0,e),enumerable:!0,configurable:!0}},has:function(r,e){return e in o()||e in i()}})};return e.reduce((function(r,e){return t(r,e)}),r)},r.lowerCase=x,r.map=function(r,e,n){var t=o(r)||c(r)?[]:{};return p(r,(function(r,n){var i=e(r,n);o(t)?t.push(i):t[n]=i}),n),t},r.merge=q,r.move=function(r,e,n){if(e===n)return r;if(n<0||e<0||n>r.length-1||e>r.length-1)return r;if(e<n){for(var t=r[e],i=e;i<n;i++)r[i]=r[i+1];r[n]=t}else{for(t=r[e],i=e;i>n;i--)r[i]=r[i-1];r[n]=t}return r},r.paramCase=function(r,e){return void 0===e&&(e={}),function(r,e){return void 0===e&&(e={}),J(r,m({delimiter:"."},e))}(r,m({delimiter:"-"},e))},r.pascalCase=$,r.reduce=function(r,e,n,t){var i=n;return p(r,(function(r,n){i=e(i,r,n)}),t),i},r.shallowClone=function(r){return Array.isArray(r)?r.slice(0):u(r)?"$$typeof"in r&&"_owner"in r||r._isAMomentObject||r._isJSONSchemaObject||i(r.toJS)||i(r.toJSON)?r:m({},r):"object"==typeof r?new r.constructor(r):r},r.some=b,r.stringLength=function(r){return k(r).replace(e&&e.exact?new RegExp("^".concat(C,"$")):new RegExp(C,"g")," ").length;var e},r.toArr=function(r){return o(r)?r:r?[r]:[]},r.uid=function(r){for(var e="",n=r||11;n--;)e+=G[36*Math.random()|0];return e},r.upperCase=function(r){return r.toUpperCase()},Object.defineProperty(r,"__esModule",{value:!0})}));
//# sourceMappingURL=formily.shared.umd.production.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"formily.shared.umd.production.js","sources":["../src/checkers.ts","../src/array.ts","../src/global.ts","../src/instanceof.ts","../src/compare.ts","../src/clone.ts","../src/isEmpty.ts","../../../node_modules/lower-case/dist.es2015/index.js","../../../node_modules/no-case/dist.es2015/index.js","../../../node_modules/pascal-case/dist.es2015/index.js","../../../node_modules/camel-case/dist.es2015/index.js","../src/string.ts","../src/deprecate.ts","../src/subscribable.ts","../src/merge.ts","../src/uid.ts","../src/defaults.ts","../src/middleware.ts","../../../node_modules/param-case/dist.es2015/index.js","../../../node_modules/dot-case/dist.es2015/index.js","../../../node_modules/upper-case/dist.es2015/index.js"],"sourcesContent":["const toString = Object.prototype.toString\nconst isType =\n <T>(type: string | string[]) =>\n (obj: unknown): obj is T =>\n getType(obj) === `[object ${type}]`\nexport const getType = (obj: any) => toString.call(obj)\nexport const isFn = (val: any): val is Function => typeof val === 'function'\nexport const isArr = Array.isArray\nexport const isPlainObj = isType<object>('Object')\nexport const isStr = isType<string>('String')\nexport const isBool = isType<boolean>('Boolean')\nexport const isNum = isType<number>('Number')\nexport const isMap = (val: any): val is Map<any, any> =>\n val && val instanceof Map\nexport const isSet = (val: any): val is Set<any> => val && val instanceof Set\nexport const isWeakMap = (val: any): val is WeakMap<any, any> =>\n val && val instanceof WeakMap\nexport const isWeakSet = (val: any): val is WeakSet<any> =>\n val && val instanceof WeakSet\nexport const isNumberLike = (index: any): index is number =>\n isNum(index) || /^\\d+$/.test(index)\nexport const isObj = (val: unknown): val is object => typeof val === 'object'\nexport const isRegExp = isType<RegExp>('RegExp')\nexport const isReactElement = (obj: any): boolean =>\n obj && obj['$$typeof'] && obj['_owner']\nexport const isHTMLElement = (target: any): target is EventTarget => {\n return Object.prototype.toString.call(target).indexOf('HTML') > -1\n}\n\nexport type Subscriber<S> = (payload: S) => void\n\nexport interface Subscription<S> {\n notify?: (payload: S) => void | boolean\n filter?: (payload: S) => any\n}\n","import { isArr, isObj, isStr } from './checkers'\n\ntype EachArrayIterator<T> = (currentValue: T, key: number) => void | boolean\ntype EachStringIterator = (currentValue: string, key: number) => void | boolean\ntype EachObjectIterator<T = any> = (\n currentValue: T,\n key: string\n) => void | boolean\ntype MapArrayIterator<TItem, TResult> = (\n currentValue: TItem,\n key: number\n) => TResult\ntype MapStringIterator<TResult> = (currentValue: string, key: number) => TResult\ntype MapObjectIterator<TItem, TResult> = (\n currentValue: TItem,\n key: string\n) => TResult\ntype MemoArrayIterator<T, U> = (\n previousValue: U,\n currentValue: T,\n key: number\n) => U\ntype MemoStringIterator<T> = (\n previousValue: T,\n currentValue: string,\n key: number\n) => T\ntype MemoObjectIterator<TValue, TResult> = (\n previousValue: TResult,\n currentValue: TValue,\n key: string\n) => TResult\n\nexport const toArr = (val: any): any[] => (isArr(val) ? val : val ? [val] : [])\nexport function each(\n val: string,\n iterator: EachStringIterator,\n revert?: boolean\n): void\nexport function each<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): void\nexport function each<T extends {}, TValue extends T[keyof T]>(\n val: T,\n iterator: EachObjectIterator<TValue>,\n revert?: boolean\n): void\nexport function each(val: any, iterator: any, revert?: boolean): void {\n if (isArr(val) || isStr(val)) {\n if (revert) {\n for (let i: number = val.length - 1; i >= 0; i--) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n } else {\n for (let i = 0; i < val.length; i++) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n }\n } else if (isObj(val)) {\n let key: string\n for (key in val) {\n if (Object.hasOwnProperty.call(val, key)) {\n if (iterator(val[key], key) === false) {\n return\n }\n }\n }\n }\n}\n\nexport function map<T>(\n val: string,\n iterator: MapStringIterator<T>,\n revert?: boolean\n): T[]\nexport function map<TItem, TResult>(\n val: TItem[],\n iterator: MapArrayIterator<TItem, TResult>,\n revert?: boolean\n): TResult[]\nexport function map<T extends {}, TResult>(\n val: T,\n iterator: MapObjectIterator<T[keyof T], TResult>,\n revert?: boolean\n): Record<keyof T, TResult>\nexport function map(val: any, iterator: any, revert?: any): any {\n const res = isArr(val) || isStr(val) ? [] : {}\n each(\n val,\n (item, key) => {\n const value = iterator(item, key)\n if (isArr(res)) {\n ;(res as any).push(value)\n } else {\n res[key] = value\n }\n },\n revert\n )\n return res\n}\n\nexport function reduce<T, U>(\n val: T[],\n iterator: MemoArrayIterator<T, U>,\n accumulator?: U,\n revert?: boolean\n): U\nexport function reduce<T>(\n val: string,\n iterator: MemoStringIterator<T>,\n accumulator?: T,\n revert?: boolean\n): T\nexport function reduce<T extends {}, TValue extends T[keyof T], TResult = any>(\n val: T,\n iterator: MemoObjectIterator<TValue, TResult>,\n accumulator?: TResult,\n revert?: boolean\n): TResult\nexport function reduce(\n val: any,\n iterator: any,\n accumulator?: any,\n revert?: boolean\n): any {\n let result = accumulator\n each(\n val,\n (item, key) => {\n result = iterator(result, item, key)\n },\n revert\n )\n return result\n}\n\nexport function every<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function every<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function every<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function every(val: any, iterator: any, revert?: boolean): boolean {\n let res = true\n each(\n val,\n (item, key) => {\n if (!iterator(item, key)) {\n res = false\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function some<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function some<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function some<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function some(val: any, iterator: any, revert?: boolean): boolean {\n let res = false\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = true\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function findIndex<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): number\nexport function findIndex<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): number\nexport function findIndex<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): keyof T\nexport function findIndex(\n val: any,\n iterator: any,\n revert?: boolean\n): string | number {\n let res: number | string = -1\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = key\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function find<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): any\nexport function find<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): T\nexport function find<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): T[keyof T]\nexport function find(val: any, iterator: any, revert?: boolean): any {\n let res: any\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = item\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function includes<T extends string>(\n val: T,\n searchElement: string,\n revert?: boolean\n): boolean\nexport function includes<T>(\n val: T[],\n searchElement: T,\n revert?: boolean\n): boolean\nexport function includes(val: any, searchElement: any, revert?: boolean) {\n if (isStr(val)) return val.includes(searchElement)\n return some(val, (item) => item === searchElement, revert)\n}\n","/* istanbul ignore next */\nfunction globalSelf() {\n try {\n if (typeof self !== 'undefined') {\n return self\n }\n } catch (e) {}\n try {\n if (typeof window !== 'undefined') {\n return window\n }\n } catch (e) {}\n try {\n if (typeof global !== 'undefined') {\n return global\n }\n } catch (e) {}\n return Function('return this')()\n}\nexport const globalThisPolyfill: Window = globalSelf()\n","import { globalThisPolyfill } from './global'\nimport { isStr, isFn } from './checkers'\nexport const instOf = (value: any, cls: any) => {\n if (isFn(cls)) return value instanceof cls\n if (isStr(cls))\n return globalThisPolyfill[cls]\n ? value instanceof globalThisPolyfill[cls]\n : false\n return false\n}\n","import { isArr } from './checkers'\nimport { instOf } from './instanceof'\nconst isArray = isArr\nconst keyList = Object.keys\nconst hasProp = Object.prototype.hasOwnProperty\n\n/* eslint-disable */\nfunction equal(a: any, b: any) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) {\n return true\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n const arrA = isArray(a)\n const arrB = isArray(b)\n let i: number\n let length: number\n let key: string | number\n\n if (arrA && arrB) {\n length = a.length\n if (length !== b.length) {\n return false\n }\n for (i = length; i-- !== 0; ) {\n if (!equal(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n if (arrA !== arrB) {\n return false\n }\n const momentA = a && a._isAMomentObject\n const momentB = b && b._isAMomentObject\n if (momentA !== momentB) return false\n if (momentA && momentB) return a.isSame(b)\n const immutableA = a && a.toJS\n const immutableB = b && b.toJS\n if (immutableA !== immutableB) return false\n if (immutableA) return a.is ? a.is(b) : a === b\n const dateA = instOf(a, 'Date')\n const dateB = instOf(b, 'Date')\n if (dateA !== dateB) {\n return false\n }\n if (dateA && dateB) {\n return a.getTime() === b.getTime()\n }\n const regexpA = instOf(a, 'RegExp')\n const regexpB = instOf(b, 'RegExp')\n if (regexpA !== regexpB) {\n return false\n }\n if (regexpA && regexpB) {\n return a.toString() === b.toString()\n }\n const urlA = instOf(a, 'URL')\n const urlB = instOf(b, 'URL')\n\n if (urlA !== urlB) {\n return false\n }\n\n if (urlA && urlB) {\n return a.href === b.href\n }\n\n const schemaA = a && a.toJSON\n const schemaB = b && b.toJSON\n if (schemaA !== schemaB) return false\n if (schemaA && schemaB) return equal(a.toJSON(), b.toJSON())\n\n const keys = keyList(a)\n length = keys.length\n\n if (length !== keyList(b).length) {\n return false\n }\n\n for (i = length; i-- !== 0; ) {\n if (!hasProp.call(b, keys[i])) {\n return false\n }\n }\n // end fast-deep-equal\n\n // Custom handling for React\n for (i = length; i-- !== 0; ) {\n key = keys[i]\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) {\n return false\n }\n }\n }\n\n // fast-deep-equal index.js 2.0.1\n return true\n }\n\n return a !== a && b !== b\n}\n// end fast-deep-equal\n\nexport const isEqual = function exportedEqual(a: any, b: any) {\n try {\n return equal(a, b)\n } catch (error) {\n /* istanbul ignore next */\n if (\n (error.message && error.message.match(/stack|recursion/i)) ||\n error.number === -2146828260\n ) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn(\n 'Warning: react-fast-compare does not handle circular references.',\n error.name,\n error.message\n )\n return false\n }\n // some other error. we should definitely know about these\n /* istanbul ignore next */\n throw error\n }\n}\n","import { isFn, isPlainObj } from './checkers'\n\nexport const shallowClone = (values: any) => {\n if (Array.isArray(values)) {\n return values.slice(0)\n } else if (isPlainObj(values)) {\n if ('$$typeof' in values && '_owner' in values) {\n return values\n }\n if (values['_isAMomentObject']) {\n return values\n }\n if (values['_isJSONSchemaObject']) {\n return values\n }\n if (isFn(values['toJS'])) {\n return values\n }\n if (isFn(values['toJSON'])) {\n return values\n }\n return {\n ...values,\n }\n } else if (typeof values === 'object') {\n return new values.constructor(values)\n }\n return values\n}\n\nexport const clone = (values: any) => {\n if (Array.isArray(values)) {\n const res = []\n values.forEach((item) => {\n res.push(clone(item))\n })\n return res\n } else if (isPlainObj(values)) {\n if ('$$typeof' in values && '_owner' in values) {\n return values\n }\n if (values['_isAMomentObject']) {\n return values\n }\n if (values['_isJSONSchemaObject']) {\n return values\n }\n if (isFn(values['toJS'])) {\n return values['toJS']()\n }\n if (isFn(values['toJSON'])) {\n return values['toJSON']()\n }\n const res = {}\n for (const key in values) {\n if (Object.hasOwnProperty.call(values, key)) {\n res[key] = clone(values[key])\n }\n }\n return res\n } else {\n return values\n }\n}\n","import { instOf } from './instanceof'\nconst has = Object.prototype.hasOwnProperty\n\nconst toString = Object.prototype.toString\n\nexport const isUndef = (val: any) => val === undefined\n\nexport const isValid = (val: any) => val !== undefined && val !== null\n\nexport function isEmpty(val: any, strict = false): boolean {\n // Null and Undefined...\n if (val == null) {\n return true\n }\n\n // Booleans...\n if (typeof val === 'boolean') {\n return false\n }\n\n // Numbers...\n if (typeof val === 'number') {\n return false\n }\n\n // Strings...\n if (typeof val === 'string') {\n return val.length === 0\n }\n\n // Functions...\n if (typeof val === 'function') {\n return val.length === 0\n }\n\n // Arrays...\n if (Array.isArray(val)) {\n if (val.length === 0) {\n return true\n }\n for (let i = 0; i < val.length; i++) {\n if (strict) {\n if (val[i] !== undefined && val[i] !== null) {\n return false\n }\n } else {\n if (\n val[i] !== undefined &&\n val[i] !== null &&\n val[i] !== '' &&\n val[i] !== 0\n ) {\n return false\n }\n }\n }\n return true\n }\n\n // Errors...\n if (instOf(val, 'Error')) {\n return val.message === ''\n }\n\n // Objects...\n if (val.toString === toString) {\n switch (val.toString()) {\n // Maps, Sets, Files and Errors...\n case '[object File]':\n case '[object Map]':\n case '[object Set]': {\n return val.size === 0\n }\n\n // Plain objects...\n case '[object Object]': {\n for (const key in val) {\n if (has.call(val, key)) {\n return false\n }\n }\n\n return true\n }\n }\n }\n\n // Anything else...\n return false\n}\n","/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nvar SUPPORTED_LOCALE = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str, locale) {\n var lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang)\n return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; }));\n return lowerCase(str);\n}\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str) {\n return str.toLowerCase();\n}\n//# sourceMappingURL=index.js.map","import { lowerCase } from \"lower-case\";\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nvar DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n// Remove all non-word characters.\nvar DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input, options) {\n if (options === void 0) { options = {}; }\n var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? \" \" : _d;\n var result = replace(replace(input, splitRegexp, \"$1\\0$2\"), stripRegexp, \"\\0\");\n var start = 0;\n var end = result.length;\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\")\n start++;\n while (result.charAt(end - 1) === \"\\0\")\n end--;\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input, re, value) {\n if (re instanceof RegExp)\n return input.replace(re, value);\n return re.reduce(function (input, re) { return input.replace(re, value); }, input);\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { noCase } from \"no-case\";\nexport function pascalCaseTransform(input, index) {\n var firstChar = input.charAt(0);\n var lowerChars = input.substr(1).toLowerCase();\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return \"_\" + firstChar + lowerChars;\n }\n return \"\" + firstChar.toUpperCase() + lowerChars;\n}\nexport function pascalCaseTransformMerge(input) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\nexport function pascalCase(input, options) {\n if (options === void 0) { options = {}; }\n return noCase(input, __assign({ delimiter: \"\", transform: pascalCaseTransform }, options));\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { pascalCase, pascalCaseTransform, pascalCaseTransformMerge, } from \"pascal-case\";\nexport function camelCaseTransform(input, index) {\n if (index === 0)\n return input.toLowerCase();\n return pascalCaseTransform(input, index);\n}\nexport function camelCaseTransformMerge(input, index) {\n if (index === 0)\n return input.toLowerCase();\n return pascalCaseTransformMerge(input);\n}\nexport function camelCase(input, options) {\n if (options === void 0) { options = {}; }\n return pascalCase(input, __assign({ transform: camelCaseTransform }, options));\n}\n//# sourceMappingURL=index.js.map","// ansiRegex\nconst ansiRegex = () => {\n const pattern = [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[a-zA-Z\\\\d]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PRZcf-ntqry=><~]))',\n ].join('|')\n\n return new RegExp(pattern, 'g')\n}\n\n// astralRegex\nconst regex = '[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]'\n\nconst astralRegex = (opts?: { exact: boolean }) =>\n opts && opts.exact ? new RegExp(`^${regex}$`) : new RegExp(regex, 'g')\n\n// stripAnsi\nconst stripAnsi = (input: any) =>\n typeof input === 'string' ? input.replace(ansiRegex(), '') : input\n\nexport const stringLength = (input: string) =>\n stripAnsi(input).replace(astralRegex(), ' ').length\n","import { isFn, isStr } from './checkers'\n\nconst caches = {}\n\nexport function deprecate<P1 = any, P2 = any, P3 = any, P4 = any, P5 = any>(\n method: any,\n message?: string,\n help?: string\n) {\n if (isFn(method)) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return function (p1?: P1, p2?: P2, p3?: P3, p4?: P4, p5?: P5) {\n deprecate(message, help)\n return method.apply(this, arguments)\n }\n }\n if (isStr(method) && !caches[method]) {\n caches[method] = true\n console.warn(\n new Error(\n `${method} has been deprecated. Do not continue to use this api.${\n message || ''\n }`\n )\n )\n }\n}\n","import { isFn, Subscriber, Subscription } from './checkers'\nimport { each } from './array'\n\nexport class Subscribable<Payload = any> {\n subscribers: {\n index?: number\n [key: number]: Subscriber<Payload>\n } = {\n index: 0,\n }\n\n subscription: Subscription<Payload>\n\n subscribe = (callback?: Subscriber<Payload>): number => {\n if (isFn(callback)) {\n const index: number = this.subscribers.index + 1\n this.subscribers[index] = callback\n this.subscribers.index++\n return index\n }\n }\n\n unsubscribe = (index?: number) => {\n if (this.subscribers[index]) {\n delete this.subscribers[index]\n } else if (!index) {\n this.subscribers = {\n index: 0,\n }\n }\n }\n\n notify = (payload?: Payload, silent?: boolean) => {\n if (this.subscription) {\n if (this.subscription && isFn(this.subscription.notify)) {\n if (this.subscription.notify.call(this, payload) === false) {\n return\n }\n }\n }\n if (silent) return\n const filter = (payload: Payload) => {\n if (this.subscription && isFn(this.subscription.filter)) {\n return this.subscription.filter.call(this, payload)\n }\n return payload\n }\n each(this.subscribers, (callback: any) => {\n if (isFn(callback)) callback(filter(payload))\n })\n }\n}\n","import { isFn, isPlainObj } from './checkers'\nimport { isEmpty, isValid } from './isEmpty'\n\nfunction defaultIsMergeableObject(value: any) {\n return isNonNullObject(value) && !isSpecial(value)\n}\n\nfunction isNonNullObject(value: any) {\n // TODO: value !== null && typeof value === 'object'\n return Boolean(value) && typeof value === 'object'\n}\n\nfunction isSpecial(value: any) {\n // TODO: use isComplexObject()\n if ('$$typeof' in value && '_owner' in value) {\n return true\n }\n if (value._isAMomentObject) {\n return true\n }\n if (value._isJSONSchemaObject) {\n return true\n }\n if (isFn(value.toJS)) {\n return true\n }\n if (isFn(value.toJSON)) {\n return true\n }\n return !isPlainObj(value)\n}\n\nfunction emptyTarget(val: any) {\n return Array.isArray(val) ? [] : {}\n}\n// @ts-ignore\nfunction cloneUnlessOtherwiseSpecified(value: any, options: Options) {\n if (options.clone !== false && options.isMergeableObject?.(value)) {\n return deepmerge(emptyTarget(value), value, options)\n }\n return value\n}\n\nfunction defaultArrayMerge(target: any, source: any, options: Options) {\n return target.concat(source).map(function (element: any) {\n return cloneUnlessOtherwiseSpecified(element, options)\n })\n}\n\nfunction getMergeFunction(key: string, options: Options) {\n if (!options.customMerge) {\n return deepmerge\n }\n const customMerge = options.customMerge(key)\n return typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target: any): any {\n return Object.getOwnPropertySymbols\n ? Object.getOwnPropertySymbols(target).filter(function (symbol) {\n return target.propertyIsEnumerable(symbol)\n })\n : []\n}\n\nfunction getKeys(target: any) {\n if (!isValid(target)) return []\n return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object: any, property: any) {\n /* istanbul ignore next */\n try {\n return property in object\n } catch (_) {\n return false\n }\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target: any, key: PropertyKey) {\n return (\n propertyIsOnObject(target, key) && // Properties are safe to merge if they don't exist in the target yet,\n !(\n Object.hasOwnProperty.call(target, key) && // unsafe if they exist up the prototype chain,\n Object.propertyIsEnumerable.call(target, key)\n )\n ) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target: any, source: any, options: Options) {\n const destination = options.assign ? target || {} : {}\n if (!options.isMergeableObject(target)) return target\n if (!options.assign) {\n getKeys(target).forEach(function (key) {\n destination[key] = cloneUnlessOtherwiseSpecified(target[key], options)\n })\n }\n getKeys(source).forEach(function (key) {\n /* istanbul ignore next */\n if (propertyIsUnsafe(target, key)) {\n return\n }\n if (isEmpty(target[key])) {\n destination[key] = source[key]\n } else if (\n propertyIsOnObject(target, key) &&\n // @ts-ignore\n options.isMergeableObject(source[key])\n ) {\n destination[key] = getMergeFunction(key, options)(\n target[key],\n source[key],\n options\n )\n } else {\n destination[key] = cloneUnlessOtherwiseSpecified(source[key], options)\n }\n })\n return destination\n}\n\ninterface Options {\n arrayMerge?(target: any[], source: any[], options?: Options): any[]\n clone?: boolean\n assign?: boolean\n customMerge?: (\n key: string,\n options?: Options\n ) => ((x: any, y: any) => any) | undefined\n isMergeableObject?(value: object): boolean\n cloneUnlessOtherwiseSpecified?: (value: any, options: Options) => any\n}\n\n// @ts-ignore\nfunction deepmerge(target: any, source: any, options?: Options) {\n options = options || {}\n options.arrayMerge = options.arrayMerge || defaultArrayMerge\n options.isMergeableObject =\n options.isMergeableObject || defaultIsMergeableObject\n // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n // implementations can use it. The caller may not replace it.\n options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified\n\n const sourceIsArray = Array.isArray(source)\n const targetIsArray = Array.isArray(target)\n const sourceAndTargetTypesMatch = sourceIsArray === targetIsArray\n\n if (!sourceAndTargetTypesMatch) {\n return cloneUnlessOtherwiseSpecified(source, options)\n } else if (sourceIsArray) {\n return options.arrayMerge(target, source, options)\n } else {\n return mergeObject(target, source, options)\n }\n}\n\nexport const lazyMerge = <T extends object | Function>(\n target: T,\n ...args: T[]\n): any => {\n const _lazyMerge = <T extends object | Function>(\n target: T,\n source: T\n ): {} => {\n if (!isValid(source)) return target\n if (!isValid(target)) return source\n const isTargetObject = typeof target === 'object'\n const isSourceObject = typeof source === 'object'\n const isTargetFn = typeof target === 'function'\n const isSourceFn = typeof source === 'function'\n if (!isTargetObject && !isTargetFn) return source\n if (!isSourceObject && !isSourceFn) return target\n const getTarget = () => (isTargetFn ? target() : target)\n const getSource = () => (isSourceFn ? source() : source)\n const set = (_: object, key: PropertyKey, value: any) => {\n const source = getSource()\n const target = getTarget()\n if (key in source) {\n // @ts-ignore\n source[key] = value\n } else if (key in target) {\n // @ts-ignore\n target[key] = value\n } else {\n source[key] = value\n }\n return true\n }\n const get = (_: object, key: PropertyKey) => {\n const source = getSource()\n // @ts-ignore\n if (key in source) {\n return source[key]\n }\n // @ts-ignore\n return getTarget()[key]\n }\n const ownKeys = () => {\n const source = getSource()\n const target = getTarget()\n const keys = Object.keys(target)\n for (const key in source) {\n if (!(key in target)) {\n keys.push(key)\n }\n }\n return keys\n }\n const getOwnPropertyDescriptor = (_: object, key: PropertyKey) => ({\n value: get(_, key),\n enumerable: true,\n configurable: true,\n })\n const has = (_: object, key: PropertyKey) => {\n if (key in getSource() || key in getTarget()) return true\n return false\n }\n const getPrototypeOf = () => Object.getPrototypeOf({})\n return new Proxy(Object.create(null), {\n set,\n get,\n ownKeys,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n has,\n }) as any\n }\n return args.reduce<{}>((buf, arg) => _lazyMerge(buf, arg), target)\n}\n\nexport const merge = deepmerge\n","let IDX = 36,\n HEX = ''\nwhile (IDX--) HEX += IDX.toString(36)\n\nexport function uid(len?: number) {\n let str = '',\n num = len || 11\n while (num--) str += HEX[(Math.random() * 36) | 0]\n return str\n}\n","import { each } from './array'\nimport { isEmpty, isValid } from './isEmpty'\nimport { getType, isArr, isPlainObj } from './checkers'\n\nconst isUnNormalObject = (value: any) => {\n if (value?._owner && value?.$$typeof) {\n return true\n }\n if (value?._isAMomentObject || value?._isJSONSchemaObject) {\n return true\n }\n if (value?.toJS || value?.toJSON) {\n return true\n }\n}\n\nconst isEnumerableObject = (val: any) => {\n if (isUnNormalObject(val)) {\n return false\n }\n return typeof val === 'object'\n}\n\n/**\n *\n * @param defaults\n * @param targets\n */\nexport const defaults = (defaults_: any, targets: any) => {\n if (\n getType(defaults_) !== getType(targets) ||\n !isEnumerableObject(defaults_) ||\n !isEnumerableObject(targets)\n ) {\n return !isEmpty(targets) ? targets : defaults_\n } else {\n const results = isArr(defaults_)\n ? []\n : isPlainObj(defaults_)\n ? {}\n : defaults_\n each(targets, (value, key) => {\n results[key] = defaults(defaults_[key], value)\n })\n each(defaults_, (value, key) => {\n if (!isValid(results[key])) {\n results[key] = value\n }\n })\n return results\n }\n}\n","export interface IMiddleware<Payload = any, Result = any> {\n (payload: Payload, next: (payload?: Payload) => Result): Result\n}\n\nexport const applyMiddleware = (payload: any, fns: IMiddleware[] = []) => {\n const compose = (payload: any, fns: IMiddleware[]): Promise<any> => {\n const prevPayload = payload\n return Promise.resolve(\n fns[0](payload, (payload) =>\n compose(payload ?? prevPayload, fns.slice(1))\n )\n )\n }\n return new Promise((resolve, reject) => {\n compose(\n payload,\n fns.concat((payload) => {\n resolve(payload)\n })\n ).catch(reject)\n })\n}\n","import { __assign } from \"tslib\";\nimport { dotCase } from \"dot-case\";\nexport function paramCase(input, options) {\n if (options === void 0) { options = {}; }\n return dotCase(input, __assign({ delimiter: \"-\" }, options));\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { noCase } from \"no-case\";\nexport function dotCase(input, options) {\n if (options === void 0) { options = {}; }\n return noCase(input, __assign({ delimiter: \".\" }, options));\n}\n//# sourceMappingURL=index.js.map","/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nvar SUPPORTED_LOCALE = {\n tr: {\n regexp: /[\\u0069]/g,\n map: {\n i: \"\\u0130\",\n },\n },\n az: {\n regexp: /[\\u0069]/g,\n map: {\n i: \"\\u0130\",\n },\n },\n lt: {\n regexp: /[\\u0069\\u006A\\u012F]\\u0307|\\u0069\\u0307[\\u0300\\u0301\\u0303]/g,\n map: {\n i̇: \"\\u0049\",\n j̇: \"\\u004A\",\n į̇: \"\\u012E\",\n i̇̀: \"\\u00CC\",\n i̇́: \"\\u00CD\",\n i̇̃: \"\\u0128\",\n },\n },\n};\n/**\n * Localized upper case.\n */\nexport function localeUpperCase(str, locale) {\n var lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang)\n return upperCase(str.replace(lang.regexp, function (m) { return lang.map[m]; }));\n return upperCase(str);\n}\n/**\n * Upper case as a function.\n */\nexport function upperCase(str) {\n return str.toUpperCase();\n}\n//# sourceMappingURL=index.js.map"],"names":["toString","Object","prototype","isType","type","obj","getType","concat","call","isFn","val","isArr","Array","isArray","isPlainObj","isStr","isBool","isNum","isObj","isRegExp","each","iterator","revert","i","length","key","hasOwnProperty","some","res","item","globalThisPolyfill","self","e","window","global","Function","globalSelf","instOf","value","cls","keyList","keys","hasProp","equal","a","b","length_1","arrA","arrB","momentA","_isAMomentObject","momentB","isSame","immutableA","toJS","is","dateA","dateB","getTime","regexpA","regexpB","urlA","urlB","href","schemaA","toJSON","schemaB","$$typeof","clone","values","res_1","forEach","push","has","isValid","isEmpty","strict","undefined","message","size","lowerCase","str","toLowerCase","DEFAULT_SPLIT_REGEXP","DEFAULT_STRIP_REGEXP","noCase","input","options","_a","splitRegexp","_b","stripRegexp","_c","transform","_d","delimiter","result","replace","start","end","charAt","slice","split","map","join","re","RegExp","reduce","pascalCaseTransform","index","firstChar","lowerChars","substr","toUpperCase","pascalCase","__assign","camelCaseTransform","regex","stripAnsi","pattern","caches","Subscribable","_this","this","subscribers","subscribe","callback","unsubscribe","notify","payload","silent","subscription","filter","defaultIsMergeableObject","Boolean","isNonNullObject","_isJSONSchemaObject","isSpecial","cloneUnlessOtherwiseSpecified","isMergeableObject","deepmerge","defaultArrayMerge","target","source","element","getKeys","getOwnPropertySymbols","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","object","property","_","mergeObject","destination","assign","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","merge","isEnumerableObject","_owner","defaults","defaults_","targets","results_1","IDX","HEX","fns","compose","prevPayload","Promise","resolve","reject","catch","deprecate","method","help","p1","p2","p3","p4","p5","apply","arguments","console","warn","Error","searchElement","includes","error","match","number","name","indexOf","Map","test","Set","WeakMap","WeakSet","args","_i","_lazyMerge","isTargetFn","isSourceFn","getTarget","getSource","get","Proxy","create","set","ownKeys","getPrototypeOf","getOwnPropertyDescriptor","enumerable","configurable","buf","arg","dotCase","accumulator","constructor","opts","exact","len","num","Math","random"],"mappings":"udAAA,IAAMA,EAAWC,OAAOC,UAAUF,SAC5BG,EACJ,SAAIC,GACJ,OAAA,SAACC,GACC,OAAAC,EAAQD,KAAS,WAAAE,OAAWH,EAAO,OAC1BE,EAAU,SAACD,GAAa,OAAAL,EAASQ,KAAKH,IACtCI,EAAO,SAACC,GAA8B,MAAe,mBAARA,GAC7CC,EAAQC,MAAMC,QACdC,EAAaX,EAAe,UAC5BY,EAAQZ,EAAe,UACvBa,EAASb,EAAgB,WACzBc,EAAQd,EAAe,UAUvBe,EAAQ,SAACR,GAAgC,MAAe,iBAARA,GAChDS,EAAWhB,EAAe,mBC2BvBiB,EAAKV,EAAUW,EAAeC,GAC5C,GAAIX,EAAMD,IAAQK,EAAML,IACtB,GAAIY,GACF,IAAK,IAAIC,EAAYb,EAAIc,OAAS,EAAGD,GAAK,EAAGA,IAC3C,IAA4B,IAAxBF,EAASX,EAAIa,GAAIA,GACnB,YAIJ,IAASA,EAAI,EAAGA,EAAIb,EAAIc,OAAQD,IAC9B,IAA4B,IAAxBF,EAASX,EAAIa,GAAIA,GACnB,YAID,GAAIL,EAAMR,GAAM,CACrB,IAAIe,SACJ,IAAKA,KAAOf,EACV,GAAIT,OAAOyB,eAAelB,KAAKE,EAAKe,KACF,IAA5BJ,EAASX,EAAIe,GAAMA,GACrB,iBAuHME,EAAKjB,EAAUW,EAAeC,GAC5C,IAAIM,GAAM,EAWV,OAVAR,EACEV,GACA,SAACmB,EAAMJ,GACL,GAAIJ,EAASQ,EAAMJ,GAEjB,OADAG,GAAM,GACC,IAGXN,GAEKM,ECrLI,IAAAE,EAlBb,WACE,IACE,GAAoB,oBAATC,KACT,OAAOA,KAET,MAAOC,IACT,IACE,GAAsB,oBAAXC,OACT,OAAOA,OAET,MAAOD,IACT,IACE,GAAsB,oBAAXE,OACT,OAAOA,OAET,MAAOF,IACT,OAAOG,SAAS,cAATA,GAEiCC,GCjB7BC,EAAS,SAACC,EAAYC,GACjC,OAAI9B,EAAK8B,GAAaD,aAAiBC,IACnCxB,EAAMwB,OACDT,EAAmBS,IACtBD,aAAiBR,EAAmBS,KCJtC1B,EAAUF,EACV6B,EAAUvC,OAAOwC,KACjBC,EAAUzC,OAAOC,UAAUwB,eAGjC,SAASiB,EAAMC,EAAQC,GAErB,GAAID,IAAMC,EACR,OAAO,EAGT,GAAID,GAAKC,GAAkB,iBAAND,GAA+B,iBAANC,EAAgB,CAC5D,IAGIC,EAHEC,EAAOlC,EAAQ+B,GACfI,EAAOnC,EAAQgC,GACjBtB,SAEAE,SAEJ,GAAIsB,GAAQC,EAAM,CAEhB,IADAF,EAASF,EAAEpB,UACIqB,EAAErB,OACf,OAAO,EAET,IAAKD,EAAIuB,EAAgB,GAARvB,KACf,IAAKoB,EAAMC,EAAErB,GAAIsB,EAAEtB,IACjB,OAAO,EAGX,OAAO,EAGT,GAAIwB,IAASC,EACX,OAAO,EAET,IAAMC,EAAUL,GAAKA,EAAEM,iBACjBC,EAAUN,GAAKA,EAAEK,iBACvB,GAAID,IAAYE,EAAS,OAAO,EAChC,GAAIF,GAAWE,EAAS,OAAOP,EAAEQ,OAAOP,GACxC,IAAMQ,EAAaT,GAAKA,EAAEU,KAE1B,GAAID,KADeR,GAAKA,EAAES,MACK,OAAO,EACtC,GAAID,EAAY,OAAOT,EAAEW,GAAKX,EAAEW,GAAGV,GAAKD,IAAMC,EAC9C,IAAMW,EAAQnB,EAAOO,EAAG,QAClBa,EAAQpB,EAAOQ,EAAG,QACxB,GAAIW,IAAUC,EACZ,OAAO,EAET,GAAID,GAASC,EACX,OAAOb,EAAEc,YAAcb,EAAEa,UAE3B,IAAMC,EAAUtB,EAAOO,EAAG,UACpBgB,EAAUvB,EAAOQ,EAAG,UAC1B,GAAIc,IAAYC,EACd,OAAO,EAET,GAAID,GAAWC,EACb,OAAOhB,EAAE5C,aAAe6C,EAAE7C,WAE5B,IAAM6D,EAAOxB,EAAOO,EAAG,OACjBkB,EAAOzB,EAAOQ,EAAG,OAEvB,GAAIgB,IAASC,EACX,OAAO,EAGT,GAAID,GAAQC,EACV,OAAOlB,EAAEmB,OAASlB,EAAEkB,KAGtB,IAAMC,EAAUpB,GAAKA,EAAEqB,OACjBC,EAAUrB,GAAKA,EAAEoB,OACvB,GAAID,IAAYE,EAAS,OAAO,EAChC,GAAIF,GAAWE,EAAS,OAAOvB,EAAMC,EAAEqB,SAAUpB,EAAEoB,UAEnD,IAAMxB,EAAOD,EAAQI,GAGrB,IAFAE,EAASL,EAAKjB,UAECgB,EAAQK,GAAGrB,OACxB,OAAO,EAGT,IAAKD,EAAIuB,EAAgB,GAARvB,KACf,IAAKmB,EAAQlC,KAAKqC,EAAGJ,EAAKlB,IACxB,OAAO,EAMX,IAAKA,EAAIuB,EAAgB,GAARvB,KAGf,KAAY,YAFZE,EAAMgB,EAAKlB,KAEaqB,EAAEuB,UAQnBxB,EAAMC,EAAEnB,GAAMoB,EAAEpB,KACnB,OAAO,EAMb,OAAO,EAGT,OAAOmB,GAAMA,GAAKC,GAAMA,EAIb,oNCtFAuB,EAAQ,SAACC,GACpB,GAAIzD,MAAMC,QAAQwD,GAAS,CACzB,IAAMC,EAAM,GAIZ,OAHAD,EAAOE,SAAQ,SAAC1C,GACdyC,EAAIE,KAAKJ,EAAMvC,OAEVyC,EACF,GAAIxD,EAAWuD,GAAS,CAC7B,GAAI,aAAcA,GAAU,WAAYA,EACtC,OAAOA,EAET,GAAIA,EAAyB,iBAC3B,OAAOA,EAET,GAAIA,EAA4B,oBAC9B,OAAOA,EAET,GAAI5D,EAAK4D,EAAa,MACpB,OAAOA,EAAa,OAEtB,GAAI5D,EAAK4D,EAAe,QACtB,OAAOA,EAAe,SAExB,IAAMzC,EAAM,GACZ,IAAK,IAAMH,KAAO4C,EACZpE,OAAOyB,eAAelB,KAAK6D,EAAQ5C,KACrCG,EAAIH,GAAO2C,EAAMC,EAAO5C,KAG5B,OAAOG,EAEP,OAAOyC,GC5DLI,EAAMxE,OAAOC,UAAUwB,eAEvB1B,EAAWC,OAAOC,UAAUF,SAIrB0E,EAAU,SAAChE,GAAa,OAAAA,MAAAA;;;;;;;;;;;;;;oFAErB,SAAAiE,EAAQjE,EAAUkE,GAEhC,QAFgC,IAAAA,IAAAA,GAAc,GAEnC,MAAPlE,EACF,OAAO,EAIT,GAAmB,kBAARA,EACT,OAAO,EAIT,GAAmB,iBAARA,EACT,OAAO,EAIT,GAAmB,iBAARA,EACT,OAAsB,IAAfA,EAAIc,OAIb,GAAmB,mBAARd,EACT,OAAsB,IAAfA,EAAIc,OAIb,GAAIZ,MAAMC,QAAQH,GAAM,CACtB,GAAmB,IAAfA,EAAIc,OACN,OAAO,EAET,IAAK,IAAID,EAAI,EAAGA,EAAIb,EAAIc,OAAQD,IAC9B,GAAIqD,GACF,QAAeC,IAAXnE,EAAIa,IAA+B,OAAXb,EAAIa,GAC9B,OAAO,OAGT,QACasD,IAAXnE,EAAIa,IACO,OAAXb,EAAIa,IACO,KAAXb,EAAIa,IACO,IAAXb,EAAIa,GAEJ,OAAO,EAIb,OAAO,EAIT,GAAIc,EAAO3B,EAAK,SACd,MAAuB,KAAhBA,EAAIoE,QAIb,GAAIpE,EAAIV,WAAaA,EACnB,OAAQU,EAAIV,YAEV,IAAK,gBACL,IAAK,eACL,IAAK,eACH,OAAoB,IAAbU,EAAIqE,KAIb,IAAK,kBACH,IAAK,IAAMtD,KAAOf,EAChB,GAAI+D,EAAIjE,KAAKE,EAAKe,GAChB,OAAO,EAIX,OAAO,EAMb,OAAO,EC5CF,SAASuD,EAAUC,GACtB,OAAOA,EAAIC,cC3Cf,IAAIC,EAAuB,CAAC,qBAAsB,wBAE9CC,EAAuB,eAIpB,SAASC,EAAOC,EAAOC,QACV,IAAZA,IAAsBA,EAAU,IAMpC,IALA,IAAIC,EAAKD,EAAQE,YAAaA,OAAqB,IAAPD,EAAgBL,EAAuBK,EAAIE,EAAKH,EAAQI,YAAaA,OAAqB,IAAPD,EAAgBN,EAAuBM,EAAIE,EAAKL,EAAQM,UAAWA,OAAmB,IAAPD,EAAgBZ,EAAYY,EAAIE,EAAKP,EAAQQ,UAAWA,OAAmB,IAAPD,EAAgB,IAAMA,EACpSE,EAASC,EAAQA,EAAQX,EAAOG,EAAa,UAAWE,EAAa,MACrEO,EAAQ,EACRC,EAAMH,EAAOxE,OAEe,OAAzBwE,EAAOI,OAAOF,IACjBA,IACJ,KAAkC,OAA3BF,EAAOI,OAAOD,EAAM,IACvBA,IAEJ,OAAOH,EAAOK,MAAMH,EAAOC,GAAKG,MAAM,MAAMC,IAAIV,GAAWW,KAAKT,GAKpE,SAASE,EAAQX,EAAOmB,EAAInE,GACxB,OAAImE,aAAcC,OACPpB,EAAMW,QAAQQ,EAAInE,GACtBmE,EAAGE,QAAO,SAAUrB,EAAOmB,GAAM,OAAOnB,EAAMW,QAAQQ,EAAInE,KAAWgD,GC1BzE,SAASsB,EAAoBtB,EAAOuB,GACvC,IAAIC,EAAYxB,EAAMc,OAAO,GACzBW,EAAazB,EAAM0B,OAAO,GAAG9B,cACjC,OAAI2B,EAAQ,GAAKC,GAAa,KAAOA,GAAa,IACvC,IAAMA,EAAYC,EAEtB,GAAKD,EAAUG,cAAgBF,EAKnC,SAASG,EAAW5B,EAAOC,GAE9B,YADgB,IAAZA,IAAsBA,EAAU,IAC7BF,EAAOC,EAAO6B,EAAS,CAAEpB,UAAW,GAAIF,UAAWe,GAAuBrB,ICb9E,SAAS6B,EAAmB9B,EAAOuB,GACtC,OAAc,IAAVA,EACOvB,EAAMJ,cACV0B,EAAoBtB,EAAOuB,GCJtC,IAUMQ,EAAQ,iCAMRC,EAAY,SAAChC,GACjB,MAAiB,iBAAVA,EAAqBA,EAAMW,SAhB5BsB,EAAU,CACd,gFACA,0DACAf,KAAK,KAEA,IAAIE,OAAOa,EAAS,MAW4B,IAAMjC,EAjB7C,IACViC,6BCAR,IAAMC,EAAS,GCCf,IAAAC,EAAA,WAAA,IAgDCC,EAAAC,KA/CCA,KAAAC,YAGI,CACFf,MAAO,GAKTc,KAASE,UAAG,SAACC,GACX,GAAIrH,EAAKqH,GAAW,CAClB,IAAMjB,EAAgBa,EAAKE,YAAYf,MAAQ,EAG/C,OAFAa,EAAKE,YAAYf,GAASiB,EAC1BJ,EAAKE,YAAYf,QACVA,IAIXc,KAAWI,YAAG,SAAClB,GACTa,EAAKE,YAAYf,UACZa,EAAKE,YAAYf,GACdA,IACVa,EAAKE,YAAc,CACjBf,MAAO,KAKbc,KAAAK,OAAS,SAACC,EAAmBC,GACvBR,EAAKS,cACHT,EAAKS,cAAgB1H,EAAKiH,EAAKS,aAAaH,UACO,IAAjDN,EAAKS,aAAaH,OAAOxH,KAAKkH,EAAMO,IAKxCC,GAOJ9G,EAAKsG,EAAKE,aAAa,SAACE,GAClBrH,EAAKqH,IAAWA,EAPP,SAACG,GACd,OAAIP,EAAKS,cAAgB1H,EAAKiH,EAAKS,aAAaC,QACvCV,EAAKS,aAAaC,OAAO5H,KAAKkH,EAAMO,GAEtCA,EAGsBG,CAAOH,SC7C1C,SAASI,EAAyB/F,GAChC,OAGF,SAAyBA,GAEvB,OAAOgG,QAAQhG,IAA2B,iBAAVA,EALzBiG,CAAgBjG,KAQzB,SAAmBA,GAEjB,GAAI,aAAcA,GAAS,WAAYA,EACrC,OAAO,EAET,GAAIA,EAAMY,iBACR,OAAO,EAET,GAAIZ,EAAMkG,oBACR,OAAO,EAET,GAAI/H,EAAK6B,EAAMgB,MACb,OAAO,EAET,GAAI7C,EAAK6B,EAAM2B,QACb,OAAO,EAET,OAAQnD,EAAWwB,GAzBemG,CAAUnG,GAgC9C,SAASoG,EAA8BpG,EAAYiD,SAJ9B7E,EAKnB,OAAsB,IAAlB6E,EAAQnB,QAA4C,QAAzBoB,EAAAD,EAAQoD,yBAAiB,IAAAnD,OAAA,EAAAA,EAAAhF,KAAA+E,EAAGjD,IAClDsG,GANUlI,EAMY4B,EALxB1B,MAAMC,QAAQH,GAAO,GAAK,IAKM4B,EAAOiD,GAEvCjD,EAGT,SAASuG,EAAkBC,EAAaC,EAAaxD,GACnD,OAAOuD,EAAOvI,OAAOwI,GAAQxC,KAAI,SAAUyC,GACzC,OAAON,EAA8BM,EAASzD,MAoBlD,SAAS0D,EAAQH,GACf,OAAKpE,EAAQoE,GACN7I,OAAOwC,KAAKqG,GAAQvI,OAV7B,SAAyCuI,GACvC,OAAO7I,OAAOiJ,sBACVjJ,OAAOiJ,sBAAsBJ,GAAQV,QAAO,SAAUe,GACpD,OAAOL,EAAOM,qBAAqBD,MAErC,GAK8BE,CAAgCP,IADrC,GAI/B,SAASQ,EAAmBC,EAAaC,GAEvC,IACE,OAAOA,KAAYD,EACnB,MAAOE,GACP,OAAO,GAeX,SAASC,EAAYZ,EAAaC,EAAaxD,GAC7C,IAAMoE,EAAcpE,EAAQqE,QAASd,GAAe,GACpD,OAAKvD,EAAQoD,kBAAkBG,IAC1BvD,EAAQqE,QACXX,EAAQH,GAAQvE,SAAQ,SAAU9C,GAChCkI,EAAYlI,GAAOiH,EAA8BI,EAAOrH,GAAM8D,MAGlE0D,EAAQF,GAAQxE,SAAQ,SAAU9C,IAlBpC,SAA0BqH,EAAarH,GACrC,OACE6H,EAAmBR,EAAQrH,MAEzBxB,OAAOyB,eAAelB,KAAKsI,EAAQrH,IACnCxB,OAAOmJ,qBAAqB5I,KAAKsI,EAAQrH,KAevCoI,CAAiBf,EAAQrH,KAGzBkD,EAAQmE,EAAOrH,IACjBkI,EAAYlI,GAAOsH,EAAOtH,GAE1B6H,EAAmBR,EAAQrH,IAE3B8D,EAAQoD,kBAAkBI,EAAOtH,IAEjCkI,EAAYlI,GA7DlB,SAA0BA,EAAa8D,GACrC,IAAKA,EAAQuE,YACX,OAAOlB,EAET,IAAMkB,EAAcvE,EAAQuE,YAAYrI,GACxC,MAA8B,mBAAhBqI,EAA6BA,EAAclB,EAwDlCmB,CAAiBtI,EAAK8D,EAAtBwE,CACjBjB,EAAOrH,GACPsH,EAAOtH,GACP8D,GAGFoE,EAAYlI,GAAOiH,EAA8BK,EAAOtH,GAAM8D,OAG3DoE,GA3BwCb,EA2CjD,SAASF,EAAUE,EAAaC,EAAaxD,IAC3CA,EAAUA,GAAW,IACbyE,WAAazE,EAAQyE,YAAcnB,EAC3CtD,EAAQoD,kBACNpD,EAAQoD,mBAAqBN,EAG/B9C,EAAQmD,8BAAgCA,EAExC,IAAMuB,EAAgBrJ,MAAMC,QAAQkI,GAIpC,OAFkCkB,IADZrJ,MAAMC,QAAQiI,GAKzBmB,EACF1E,EAAQyE,WAAWlB,EAAQC,EAAQxD,GAEnCmE,EAAYZ,EAAQC,EAAQxD,GAJ5BmD,EAA8BK,EAAQxD,GCnJjD,ID2JO,IA0EM2E,EAAQtB,EEvNfuB,EAAqB,SAACzJ,GAC1B,SAZI4B,OADoBA,EAaH5B,QAZZ,EAAL4B,EAAO8H,UAAU9H,MAAAA,OAAK,EAALA,EAAO6B,YAGxB7B,MAAAA,OAAK,EAALA,EAAOY,oBAAoBZ,MAAAA,OAAK,EAALA,EAAOkG,uBAGlClG,MAAAA,OAAK,EAALA,EAAOgB,QAAQhB,MAAAA,OAAK,EAALA,EAAO2B,UASJ,iBAARvD,EAhBS,IAAC4B,GAwBb+H,EAAW,SAACC,EAAgBC,GACvC,GACEjK,EAAQgK,KAAehK,EAAQiK,IAC9BJ,EAAmBG,IACnBH,EAAmBI,GAGf,CACL,IAAMC,EAAU7J,EAAM2J,GAClB,GACAxJ,EAAWwJ,GACX,GACAA,EASJ,OARAlJ,EAAKmJ,GAAS,SAACjI,EAAOb,GACpB+I,EAAQ/I,GAAO4I,EAASC,EAAU7I,GAAMa,MAE1ClB,EAAKkJ,GAAW,SAAChI,EAAOb,GACjBiD,EAAQ8F,EAAQ/I,MACnB+I,EAAQ/I,GAAOa,MAGZkI,EAfP,OAAQ7F,EAAQ4F,GAAqBD,EAAVC,GDlC3BE,EAAM,GACRC,EAAM,GACDD,KAAOC,GAAOD,EAAIzK,SAAS,oDEEH,SAACiI,EAAc0C,QAAA,IAAAA,IAAAA,EAAuB,IACnE,IAAMC,EAAU,SAAC3C,EAAc0C,GAC7B,IAAME,EAAc5C,EACpB,OAAO6C,QAAQC,QACbJ,EAAI,GAAG1C,GAAS,SAACA,GACf,OAAA2C,EAAQ3C,MAAAA,EAAAA,EAAW4C,EAAaF,EAAItE,MAAM,SAIhD,OAAO,IAAIyE,SAAQ,SAACC,EAASC,GAC3BJ,EACE3C,EACA0C,EAAIpK,QAAO,SAAC0H,GACV8C,EAAQ9C,OAEVgD,MAAMD,mBPPL,SAAmB1F,EAAOC,GAE7B,YADgB,IAAZA,IAAsBA,EAAU,IAC7B2B,EAAW5B,EAAO6B,EAAS,CAAEtB,UAAWuB,GAAsB7B,iDEVzD2F,EACdC,EACArG,EACAsG,GAEA,GAAI3K,EAAK0K,GAEP,OAAO,SAAUE,EAASC,EAASC,EAASC,EAASC,GAEnD,OADAP,EAAUpG,EAASsG,GACZD,EAAOO,MAAM/D,KAAMgE,YAG1B5K,EAAMoK,KAAY3D,EAAO2D,KAC3B3D,EAAO2D,IAAU,EACjBS,QAAQC,KACN,IAAIC,MACF,GAAAvL,OAAG4K,EAAM,0DAAA5K,OACPuE,GAAW,kCXyICpE,EAAUW,EAAeC,GAC7C,IAAIM,GAAM,EAWV,OAVAR,EACEV,GACA,SAACmB,EAAMJ,GACL,IAAKJ,EAASQ,EAAMJ,GAElB,OADAG,GAAM,GACC,IAGXN,GAEKM,mBAkFYlB,EAAUW,EAAeC,GAC5C,IAAIM,EAWJ,OAVAR,EACEV,GACA,SAACmB,EAAMJ,GACL,GAAIJ,EAASQ,EAAMJ,GAEjB,OADAG,EAAMC,GACC,IAGXP,GAEKM,wBA7CPlB,EACAW,EACAC,GAEA,IAAIM,GAAwB,EAW5B,OAVAR,EACEV,GACA,SAACmB,EAAMJ,GACL,GAAIJ,EAASQ,EAAMJ,GAEjB,OADAG,EAAMH,GACC,IAGXH,GAEKM,0DA2CgBlB,EAAUqL,EAAoBzK,GACrD,OAAIP,EAAML,GAAaA,EAAIsL,SAASD,GAC7BpK,EAAKjB,GAAK,SAACmB,GAAS,OAAAA,IAASkK,IAAezK,0DGnK9B,SAAuBsB,EAAQC,GACpD,IACE,OAAOF,EAAMC,EAAGC,GAChB,MAAOoJ,GAEP,GACGA,EAAMnH,SAAWmH,EAAMnH,QAAQoH,MAAM,sBACpB,aAAlBD,EAAME,OAYN,OALAP,QAAQC,KACN,mEACAI,EAAMG,KACNH,EAAMnH,UAED,EAIT,MAAMmH,6BJlHmB,SAACnD,GAC5B,OAAO7I,OAAOC,UAAUF,SAASQ,KAAKsI,GAAQuD,QAAQ,SAAW,WAd9C,SAAC3L,GACpB,OAAAA,GAAOA,aAAe4L,8BAMI,SAACzF,GAC3B,OAAA5F,EAAM4F,IAAU,QAAQ0F,KAAK1F,8CAGD,SAACxG,GAC7B,OAAAA,GAAOA,EAAc,UAAKA,EAAY,6BAVnB,SAACK,GAA8B,OAAAA,GAAOA,aAAe8L,yBMTnD,SAAC9L,GAAa,YAAQmE,IAARnE,2BNUZ,SAACA,GACxB,OAAAA,GAAOA,aAAe+L,qBACC,SAAC/L,GACxB,OAAAA,GAAOA,aAAegM,qBc2IC,SACvB5D,OACA,IAAY6D,EAAA,GAAAC,EAAA,EAAZA,EAAYjB,UAAAnK,OAAZoL,IAAAD,EAAYC,EAAA,GAAAjB,UAAAiB,GAEZ,IAAMC,EAAa,SACjB/D,EACAC,GAEA,IAAKrE,EAAQqE,GAAS,OAAOD,EAC7B,IAAKpE,EAAQoE,GAAS,OAAOC,EAC7B,IAEM+D,EAA+B,mBAAXhE,EACpBiE,EAA+B,mBAAXhE,EAC1B,KAJyC,iBAAXD,KAINgE,EAAY,OAAO/D,EAC3C,KAJyC,iBAAXA,KAINgE,EAAY,OAAOjE,EAC3C,IAAMkE,EAAY,WAAM,OAACF,EAAahE,IAAWA,GAC3CmE,EAAY,WAAM,OAACF,EAAahE,IAAWA,GAe3CmE,EAAM,SAACzD,EAAWhI,GACtB,IAAMsH,EAASkE,IAEf,OAAIxL,KAAOsH,EACFA,EAAOtH,GAGTuL,IAAYvL,IAuBrB,OAAO,IAAI0L,MAAMlN,OAAOmN,OAAO,MAAO,CACpCC,IA7CU,SAAC5D,EAAWhI,EAAkBa,GACxC,IAAMyG,EAASkE,IACTnE,EAASkE,IAUf,OATIvL,KAAOsH,EAETA,EAAOtH,GAAOa,EACLb,KAAOqH,EAEhBA,EAAOrH,GAAOa,EAEdyG,EAAOtH,GAAOa,GAET,GAkCP4K,IAAGA,EACHI,QAxBc,WACd,IAAMvE,EAASkE,IACTnE,EAASkE,IACTvK,EAAOxC,OAAOwC,KAAKqG,GACzB,IAAK,IAAMrH,KAAOsH,EACVtH,KAAOqH,GACXrG,EAAK+B,KAAK/C,GAGd,OAAOgB,GAgBP8K,eALqB,WAAM,OAAAtN,OAAOsN,eAAe,KAMjDC,yBAf+B,SAAC/D,EAAWhI,GAAqB,MAAC,CACjEa,MAAO4K,EAAIzD,EAAGhI,GACdgM,YAAY,EACZC,cAAc,IAadjJ,IAXU,SAACgF,EAAWhI,GACtB,OAAIA,KAAOwL,KAAexL,KAAOuL,QAarC,OAAOL,EAAKhG,QAAW,SAACgH,EAAKC,GAAQ,OAAAf,EAAWc,EAAKC,KAAM9E,iCbzIzCpI,EAAUW,EAAeC,GAC3C,IAAMM,EAAMjB,EAAMD,IAAQK,EAAML,GAAO,GAAK,GAa5C,OAZAU,EACEV,GACA,SAACmB,EAAMJ,GACL,IAAMa,EAAQjB,EAASQ,EAAMJ,GACzBd,EAAMiB,GACNA,EAAY4C,KAAKlC,GAEnBV,EAAIH,GAAOa,IAGfhB,GAEKM,yBiBvGF,SAAmB0D,EAAOC,GAE7B,YADgB,IAAZA,IAAsBA,EAAU,ICDjC,SAAiBD,EAAOC,GAE3B,YADgB,IAAZA,IAAsBA,EAAU,IAC7BF,EAAOC,EAAO6B,EAAS,CAAEpB,UAAW,KAAOR,IDA3CsI,CAAQvI,EAAO6B,EAAS,CAAEpB,UAAW,KAAOR,6BjB0HjD,SACJ7E,EACAW,EACAyM,EACAxM,GAEA,IAAI0E,EAAS8H,EAQb,OAPA1M,EACEV,GACA,SAACmB,EAAMJ,GACLuE,EAAS3E,EAAS2E,EAAQnE,EAAMJ,KAElCH,GAEK0E,kBI1ImB,SAAC3B,GAC3B,OAAIzD,MAAMC,QAAQwD,GACTA,EAAOgC,MAAM,GACXvF,EAAWuD,GAChB,aAAcA,GAAU,WAAYA,GAGpCA,EAAyB,kBAGzBA,EAA4B,qBAG5B5D,EAAK4D,EAAa,OAGlB5D,EAAK4D,EAAe,QAXfA,EAcT8C,EAAA,GACK9C,GAEsB,iBAAXA,EACT,IAAIA,EAAO0J,YAAY1J,GAEzBA,2BMPmB,SAACiB,GAC3B,OAAAgC,EAAUhC,GAAOW,QAPjB+H,GAAQA,EAAKC,MAAQ,IAAIvH,OAAO,IAAAnG,OAAI8G,EAAQ,MAAI,IAAIX,OAAOW,EAAO,KAO1B,KAAK7F,OAR3B,IAACwM,WVoBA,SAACtN,GAAoB,OAACC,EAAMD,GAAOA,EAAMA,EAAM,CAACA,GAAO,Uc7BtE,SAAcwN,GAGlB,IAFA,IAAIjJ,EAAM,GACRkJ,EAAMD,GAAO,GACRC,KAAOlJ,GAAOyF,EAAqB,GAAhB0D,KAAKC,SAAiB,GAChD,OAAOpJ,eKgCF,SAAmBA,GACtB,OAAOA,EAAIgC"}
{"version":3,"file":"formily.shared.umd.production.js","sources":["../src/checkers.ts","../src/array.ts","../src/global.ts","../src/instanceof.ts","../src/compare.ts","../src/clone.ts","../src/isEmpty.ts","../../../node_modules/lower-case/dist.es2015/index.js","../../../node_modules/no-case/dist.es2015/index.js","../../../node_modules/pascal-case/dist.es2015/index.js","../../../node_modules/camel-case/dist.es2015/index.js","../src/string.ts","../src/deprecate.ts","../src/subscribable.ts","../src/merge.ts","../src/uid.ts","../src/defaults.ts","../src/middleware.ts","../../../node_modules/param-case/dist.es2015/index.js","../../../node_modules/dot-case/dist.es2015/index.js","../../../node_modules/upper-case/dist.es2015/index.js"],"sourcesContent":["const toString = Object.prototype.toString\nconst isType =\n <T>(type: string | string[]) =>\n (obj: unknown): obj is T =>\n getType(obj) === `[object ${type}]`\nexport const getType = (obj: any) => toString.call(obj)\nexport const isFn = (val: any): val is Function => typeof val === 'function'\nexport const isArr = Array.isArray\nexport const isPlainObj = isType<object>('Object')\nexport const isStr = isType<string>('String')\nexport const isBool = isType<boolean>('Boolean')\nexport const isNum = isType<number>('Number')\nexport const isMap = (val: any): val is Map<any, any> =>\n val && val instanceof Map\nexport const isSet = (val: any): val is Set<any> => val && val instanceof Set\nexport const isWeakMap = (val: any): val is WeakMap<any, any> =>\n val && val instanceof WeakMap\nexport const isWeakSet = (val: any): val is WeakSet<any> =>\n val && val instanceof WeakSet\nexport const isNumberLike = (index: any): index is number =>\n isNum(index) || /^\\d+$/.test(index)\nexport const isObj = (val: unknown): val is object => typeof val === 'object'\nexport const isRegExp = isType<RegExp>('RegExp')\nexport const isReactElement = (obj: any): boolean =>\n obj && obj['$$typeof'] && obj['_owner']\nexport const isHTMLElement = (target: any): target is EventTarget => {\n return Object.prototype.toString.call(target).indexOf('HTML') > -1\n}\n\nexport type Subscriber<S> = (payload: S) => void\n\nexport interface Subscription<S> {\n notify?: (payload: S) => void | boolean\n filter?: (payload: S) => any\n}\n","import { isArr, isObj, isStr } from './checkers'\n\ntype EachArrayIterator<T> = (currentValue: T, key: number) => void | boolean\ntype EachStringIterator = (currentValue: string, key: number) => void | boolean\ntype EachObjectIterator<T = any> = (\n currentValue: T,\n key: string\n) => void | boolean\ntype MapArrayIterator<TItem, TResult> = (\n currentValue: TItem,\n key: number\n) => TResult\ntype MapStringIterator<TResult> = (currentValue: string, key: number) => TResult\ntype MapObjectIterator<TItem, TResult> = (\n currentValue: TItem,\n key: string\n) => TResult\ntype MemoArrayIterator<T, U> = (\n previousValue: U,\n currentValue: T,\n key: number\n) => U\ntype MemoStringIterator<T> = (\n previousValue: T,\n currentValue: string,\n key: number\n) => T\ntype MemoObjectIterator<TValue, TResult> = (\n previousValue: TResult,\n currentValue: TValue,\n key: string\n) => TResult\n\nexport const toArr = (val: any): any[] => (isArr(val) ? val : val ? [val] : [])\nexport function each(\n val: string,\n iterator: EachStringIterator,\n revert?: boolean\n): void\nexport function each<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): void\nexport function each<T extends {}, TValue extends T[keyof T]>(\n val: T,\n iterator: EachObjectIterator<TValue>,\n revert?: boolean\n): void\nexport function each(val: any, iterator: any, revert?: boolean): void {\n if (isArr(val) || isStr(val)) {\n if (revert) {\n for (let i: number = val.length - 1; i >= 0; i--) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n } else {\n for (let i = 0; i < val.length; i++) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n }\n } else if (isObj(val)) {\n let key: string\n for (key in val) {\n if (Object.hasOwnProperty.call(val, key)) {\n if (iterator(val[key], key) === false) {\n return\n }\n }\n }\n }\n}\n\nexport function map<T>(\n val: string,\n iterator: MapStringIterator<T>,\n revert?: boolean\n): T[]\nexport function map<TItem, TResult>(\n val: TItem[],\n iterator: MapArrayIterator<TItem, TResult>,\n revert?: boolean\n): TResult[]\nexport function map<T extends {}, TResult>(\n val: T,\n iterator: MapObjectIterator<T[keyof T], TResult>,\n revert?: boolean\n): Record<keyof T, TResult>\nexport function map(val: any, iterator: any, revert?: any): any {\n const res = isArr(val) || isStr(val) ? [] : {}\n each(\n val,\n (item, key) => {\n const value = iterator(item, key)\n if (isArr(res)) {\n ;(res as any).push(value)\n } else {\n res[key] = value\n }\n },\n revert\n )\n return res\n}\n\nexport function reduce<T, U>(\n val: T[],\n iterator: MemoArrayIterator<T, U>,\n accumulator?: U,\n revert?: boolean\n): U\nexport function reduce<T>(\n val: string,\n iterator: MemoStringIterator<T>,\n accumulator?: T,\n revert?: boolean\n): T\nexport function reduce<T extends {}, TValue extends T[keyof T], TResult = any>(\n val: T,\n iterator: MemoObjectIterator<TValue, TResult>,\n accumulator?: TResult,\n revert?: boolean\n): TResult\nexport function reduce(\n val: any,\n iterator: any,\n accumulator?: any,\n revert?: boolean\n): any {\n let result = accumulator\n each(\n val,\n (item, key) => {\n result = iterator(result, item, key)\n },\n revert\n )\n return result\n}\n\nexport function every<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function every<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function every<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function every(val: any, iterator: any, revert?: boolean): boolean {\n let res = true\n each(\n val,\n (item, key) => {\n if (!iterator(item, key)) {\n res = false\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function some<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function some<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function some<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function some(val: any, iterator: any, revert?: boolean): boolean {\n let res = false\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = true\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function findIndex<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): number\nexport function findIndex<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): number\nexport function findIndex<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): keyof T\nexport function findIndex(\n val: any,\n iterator: any,\n revert?: boolean\n): string | number {\n let res: number | string = -1\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = key\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function find<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): any\nexport function find<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): T\nexport function find<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): T[keyof T]\nexport function find(val: any, iterator: any, revert?: boolean): any {\n let res: any\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = item\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function includes<T extends string>(\n val: T,\n searchElement: string,\n revert?: boolean\n): boolean\nexport function includes<T>(\n val: T[],\n searchElement: T,\n revert?: boolean\n): boolean\nexport function includes(val: any, searchElement: any, revert?: boolean) {\n if (isStr(val)) return val.includes(searchElement)\n return some(val, (item) => item === searchElement, revert)\n}\n\nexport function move<T extends any>(\n array: T[],\n fromIndex: number,\n toIndex: number\n) {\n if (fromIndex === toIndex) return array\n\n if (\n toIndex < 0 ||\n fromIndex < 0 ||\n toIndex > array.length - 1 ||\n fromIndex > array.length - 1\n ) {\n return array\n }\n\n if (fromIndex < toIndex) {\n const fromItem = array[fromIndex]\n for (let index = fromIndex; index < toIndex; index++) {\n array[index] = array[index + 1]\n }\n array[toIndex] = fromItem\n } else {\n const fromItem = array[fromIndex]\n for (let index = fromIndex; index > toIndex; index--) {\n array[index] = array[index - 1]\n }\n array[toIndex] = fromItem\n }\n return array\n}\n","/* istanbul ignore next */\nfunction globalSelf() {\n try {\n if (typeof self !== 'undefined') {\n return self\n }\n } catch (e) {}\n try {\n if (typeof window !== 'undefined') {\n return window\n }\n } catch (e) {}\n try {\n if (typeof global !== 'undefined') {\n return global\n }\n } catch (e) {}\n return Function('return this')()\n}\nexport const globalThisPolyfill: Window = globalSelf()\n","import { globalThisPolyfill } from './global'\nimport { isStr, isFn } from './checkers'\nexport const instOf = (value: any, cls: any) => {\n if (isFn(cls)) return value instanceof cls\n if (isStr(cls))\n return globalThisPolyfill[cls]\n ? value instanceof globalThisPolyfill[cls]\n : false\n return false\n}\n","import { isArr } from './checkers'\nimport { instOf } from './instanceof'\nconst isArray = isArr\nconst keyList = Object.keys\nconst hasProp = Object.prototype.hasOwnProperty\n\n/* eslint-disable */\nfunction equal(a: any, b: any) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) {\n return true\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n const arrA = isArray(a)\n const arrB = isArray(b)\n let i: number\n let length: number\n let key: string | number\n\n if (arrA && arrB) {\n length = a.length\n if (length !== b.length) {\n return false\n }\n for (i = length; i-- !== 0; ) {\n if (!equal(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n if (arrA !== arrB) {\n return false\n }\n const momentA = a && a._isAMomentObject\n const momentB = b && b._isAMomentObject\n if (momentA !== momentB) return false\n if (momentA && momentB) return a.isSame(b)\n const immutableA = a && a.toJS\n const immutableB = b && b.toJS\n if (immutableA !== immutableB) return false\n if (immutableA) return a.is ? a.is(b) : a === b\n const dateA = instOf(a, 'Date')\n const dateB = instOf(b, 'Date')\n if (dateA !== dateB) {\n return false\n }\n if (dateA && dateB) {\n return a.getTime() === b.getTime()\n }\n const regexpA = instOf(a, 'RegExp')\n const regexpB = instOf(b, 'RegExp')\n if (regexpA !== regexpB) {\n return false\n }\n if (regexpA && regexpB) {\n return a.toString() === b.toString()\n }\n const urlA = instOf(a, 'URL')\n const urlB = instOf(b, 'URL')\n\n if (urlA !== urlB) {\n return false\n }\n\n if (urlA && urlB) {\n return a.href === b.href\n }\n\n const schemaA = a && a.toJSON\n const schemaB = b && b.toJSON\n if (schemaA !== schemaB) return false\n if (schemaA && schemaB) return equal(a.toJSON(), b.toJSON())\n\n const keys = keyList(a)\n length = keys.length\n\n if (length !== keyList(b).length) {\n return false\n }\n\n for (i = length; i-- !== 0; ) {\n if (!hasProp.call(b, keys[i])) {\n return false\n }\n }\n // end fast-deep-equal\n\n // Custom handling for React\n for (i = length; i-- !== 0; ) {\n key = keys[i]\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) {\n return false\n }\n }\n }\n\n // fast-deep-equal index.js 2.0.1\n return true\n }\n\n return a !== a && b !== b\n}\n// end fast-deep-equal\n\nexport const isEqual = function exportedEqual(a: any, b: any) {\n try {\n return equal(a, b)\n } catch (error) {\n /* istanbul ignore next */\n if (\n (error.message && error.message.match(/stack|recursion/i)) ||\n error.number === -2146828260\n ) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn(\n 'Warning: react-fast-compare does not handle circular references.',\n error.name,\n error.message\n )\n return false\n }\n // some other error. we should definitely know about these\n /* istanbul ignore next */\n throw error\n }\n}\n","import { isFn, isPlainObj } from './checkers'\n\nexport const shallowClone = (values: any) => {\n if (Array.isArray(values)) {\n return values.slice(0)\n } else if (isPlainObj(values)) {\n if ('$$typeof' in values && '_owner' in values) {\n return values\n }\n if (values['_isAMomentObject']) {\n return values\n }\n if (values['_isJSONSchemaObject']) {\n return values\n }\n if (isFn(values['toJS'])) {\n return values\n }\n if (isFn(values['toJSON'])) {\n return values\n }\n return {\n ...values,\n }\n } else if (typeof values === 'object') {\n return new values.constructor(values)\n }\n return values\n}\n\nexport const clone = (values: any) => {\n if (Array.isArray(values)) {\n const res = []\n values.forEach((item) => {\n res.push(clone(item))\n })\n return res\n } else if (isPlainObj(values)) {\n if ('$$typeof' in values && '_owner' in values) {\n return values\n }\n if (values['_isAMomentObject']) {\n return values\n }\n if (values['_isJSONSchemaObject']) {\n return values\n }\n if (isFn(values['toJS'])) {\n return values['toJS']()\n }\n if (isFn(values['toJSON'])) {\n return values['toJSON']()\n }\n const res = {}\n for (const key in values) {\n if (Object.hasOwnProperty.call(values, key)) {\n res[key] = clone(values[key])\n }\n }\n return res\n } else {\n return values\n }\n}\n","import { instOf } from './instanceof'\nconst has = Object.prototype.hasOwnProperty\n\nconst toString = Object.prototype.toString\n\nexport const isUndef = (val: any) => val === undefined\n\nexport const isValid = (val: any) => val !== undefined && val !== null\n\nexport function isEmpty(val: any, strict = false): boolean {\n // Null and Undefined...\n if (val == null) {\n return true\n }\n\n // Booleans...\n if (typeof val === 'boolean') {\n return false\n }\n\n // Numbers...\n if (typeof val === 'number') {\n return false\n }\n\n // Strings...\n if (typeof val === 'string') {\n return val.length === 0\n }\n\n // Functions...\n if (typeof val === 'function') {\n return val.length === 0\n }\n\n // Arrays...\n if (Array.isArray(val)) {\n if (val.length === 0) {\n return true\n }\n for (let i = 0; i < val.length; i++) {\n if (strict) {\n if (val[i] !== undefined && val[i] !== null) {\n return false\n }\n } else {\n if (\n val[i] !== undefined &&\n val[i] !== null &&\n val[i] !== '' &&\n val[i] !== 0\n ) {\n return false\n }\n }\n }\n return true\n }\n\n // Errors...\n if (instOf(val, 'Error')) {\n return val.message === ''\n }\n\n // Objects...\n if (val.toString === toString) {\n switch (val.toString()) {\n // Maps, Sets, Files and Errors...\n case '[object File]':\n case '[object Map]':\n case '[object Set]': {\n return val.size === 0\n }\n\n // Plain objects...\n case '[object Object]': {\n for (const key in val) {\n if (has.call(val, key)) {\n return false\n }\n }\n\n return true\n }\n }\n }\n\n // Anything else...\n return false\n}\n","/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nvar SUPPORTED_LOCALE = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str, locale) {\n var lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang)\n return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; }));\n return lowerCase(str);\n}\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str) {\n return str.toLowerCase();\n}\n//# sourceMappingURL=index.js.map","import { lowerCase } from \"lower-case\";\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nvar DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n// Remove all non-word characters.\nvar DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input, options) {\n if (options === void 0) { options = {}; }\n var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? \" \" : _d;\n var result = replace(replace(input, splitRegexp, \"$1\\0$2\"), stripRegexp, \"\\0\");\n var start = 0;\n var end = result.length;\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\")\n start++;\n while (result.charAt(end - 1) === \"\\0\")\n end--;\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input, re, value) {\n if (re instanceof RegExp)\n return input.replace(re, value);\n return re.reduce(function (input, re) { return input.replace(re, value); }, input);\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { noCase } from \"no-case\";\nexport function pascalCaseTransform(input, index) {\n var firstChar = input.charAt(0);\n var lowerChars = input.substr(1).toLowerCase();\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return \"_\" + firstChar + lowerChars;\n }\n return \"\" + firstChar.toUpperCase() + lowerChars;\n}\nexport function pascalCaseTransformMerge(input) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\nexport function pascalCase(input, options) {\n if (options === void 0) { options = {}; }\n return noCase(input, __assign({ delimiter: \"\", transform: pascalCaseTransform }, options));\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { pascalCase, pascalCaseTransform, pascalCaseTransformMerge, } from \"pascal-case\";\nexport function camelCaseTransform(input, index) {\n if (index === 0)\n return input.toLowerCase();\n return pascalCaseTransform(input, index);\n}\nexport function camelCaseTransformMerge(input, index) {\n if (index === 0)\n return input.toLowerCase();\n return pascalCaseTransformMerge(input);\n}\nexport function camelCase(input, options) {\n if (options === void 0) { options = {}; }\n return pascalCase(input, __assign({ transform: camelCaseTransform }, options));\n}\n//# sourceMappingURL=index.js.map","// ansiRegex\nconst ansiRegex = () => {\n const pattern = [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[a-zA-Z\\\\d]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PRZcf-ntqry=><~]))',\n ].join('|')\n\n return new RegExp(pattern, 'g')\n}\n\n// astralRegex\nconst regex = '[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]'\n\nconst astralRegex = (opts?: { exact: boolean }) =>\n opts && opts.exact ? new RegExp(`^${regex}$`) : new RegExp(regex, 'g')\n\n// stripAnsi\nconst stripAnsi = (input: any) =>\n typeof input === 'string' ? input.replace(ansiRegex(), '') : input\n\nexport const stringLength = (input: string) =>\n stripAnsi(input).replace(astralRegex(), ' ').length\n","import { isFn, isStr } from './checkers'\n\nconst caches = {}\n\nexport function deprecate<P1 = any, P2 = any, P3 = any, P4 = any, P5 = any>(\n method: any,\n message?: string,\n help?: string\n) {\n if (isFn(method)) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return function (p1?: P1, p2?: P2, p3?: P3, p4?: P4, p5?: P5) {\n deprecate(message, help)\n return method.apply(this, arguments)\n }\n }\n if (isStr(method) && !caches[method]) {\n caches[method] = true\n console.warn(\n new Error(\n `${method} has been deprecated. Do not continue to use this api.${\n message || ''\n }`\n )\n )\n }\n}\n","import { isFn, Subscriber, Subscription } from './checkers'\nimport { each } from './array'\n\nexport class Subscribable<Payload = any> {\n subscribers: {\n index?: number\n [key: number]: Subscriber<Payload>\n } = {\n index: 0,\n }\n\n subscription: Subscription<Payload>\n\n subscribe = (callback?: Subscriber<Payload>): number => {\n if (isFn(callback)) {\n const index: number = this.subscribers.index + 1\n this.subscribers[index] = callback\n this.subscribers.index++\n return index\n }\n }\n\n unsubscribe = (index?: number) => {\n if (this.subscribers[index]) {\n delete this.subscribers[index]\n } else if (!index) {\n this.subscribers = {\n index: 0,\n }\n }\n }\n\n notify = (payload?: Payload, silent?: boolean) => {\n if (this.subscription) {\n if (this.subscription && isFn(this.subscription.notify)) {\n if (this.subscription.notify.call(this, payload) === false) {\n return\n }\n }\n }\n if (silent) return\n const filter = (payload: Payload) => {\n if (this.subscription && isFn(this.subscription.filter)) {\n return this.subscription.filter.call(this, payload)\n }\n return payload\n }\n each(this.subscribers, (callback: any) => {\n if (isFn(callback)) callback(filter(payload))\n })\n }\n}\n","import { isFn, isPlainObj } from './checkers'\nimport { isEmpty, isValid } from './isEmpty'\n\nfunction defaultIsMergeableObject(value: any) {\n return isNonNullObject(value) && !isSpecial(value)\n}\n\nfunction isNonNullObject(value: any) {\n // TODO: value !== null && typeof value === 'object'\n return Boolean(value) && typeof value === 'object'\n}\n\nfunction isSpecial(value: any) {\n // TODO: use isComplexObject()\n if ('$$typeof' in value && '_owner' in value) {\n return true\n }\n if (value._isAMomentObject) {\n return true\n }\n if (value._isJSONSchemaObject) {\n return true\n }\n if (isFn(value.toJS)) {\n return true\n }\n if (isFn(value.toJSON)) {\n return true\n }\n return !isPlainObj(value)\n}\n\nfunction emptyTarget(val: any) {\n return Array.isArray(val) ? [] : {}\n}\n// @ts-ignore\nfunction cloneUnlessOtherwiseSpecified(value: any, options: Options) {\n if (options.clone !== false && options.isMergeableObject?.(value)) {\n return deepmerge(emptyTarget(value), value, options)\n }\n return value\n}\n\nfunction defaultArrayMerge(target: any, source: any, options: Options) {\n return target.concat(source).map(function (element: any) {\n return cloneUnlessOtherwiseSpecified(element, options)\n })\n}\n\nfunction getMergeFunction(key: string, options: Options) {\n if (!options.customMerge) {\n return deepmerge\n }\n const customMerge = options.customMerge(key)\n return typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target: any): any {\n return Object.getOwnPropertySymbols\n ? Object.getOwnPropertySymbols(target).filter(function (symbol) {\n return target.propertyIsEnumerable(symbol)\n })\n : []\n}\n\nfunction getKeys(target: any) {\n if (!isValid(target)) return []\n return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object: any, property: any) {\n /* istanbul ignore next */\n try {\n return property in object\n } catch (_) {\n return false\n }\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target: any, key: PropertyKey) {\n return (\n propertyIsOnObject(target, key) && // Properties are safe to merge if they don't exist in the target yet,\n !(\n Object.hasOwnProperty.call(target, key) && // unsafe if they exist up the prototype chain,\n Object.propertyIsEnumerable.call(target, key)\n )\n ) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target: any, source: any, options: Options) {\n const destination = options.assign ? target || {} : {}\n if (!options.isMergeableObject(target)) return target\n if (!options.assign) {\n getKeys(target).forEach(function (key) {\n destination[key] = cloneUnlessOtherwiseSpecified(target[key], options)\n })\n }\n getKeys(source).forEach(function (key) {\n /* istanbul ignore next */\n if (propertyIsUnsafe(target, key)) {\n return\n }\n if (isEmpty(target[key])) {\n destination[key] = source[key]\n } else if (\n propertyIsOnObject(target, key) &&\n // @ts-ignore\n options.isMergeableObject(source[key])\n ) {\n destination[key] = getMergeFunction(key, options)(\n target[key],\n source[key],\n options\n )\n } else {\n destination[key] = cloneUnlessOtherwiseSpecified(source[key], options)\n }\n })\n return destination\n}\n\ninterface Options {\n arrayMerge?(target: any[], source: any[], options?: Options): any[]\n clone?: boolean\n assign?: boolean\n customMerge?: (\n key: string,\n options?: Options\n ) => ((x: any, y: any) => any) | undefined\n isMergeableObject?(value: object): boolean\n cloneUnlessOtherwiseSpecified?: (value: any, options: Options) => any\n}\n\n// @ts-ignore\nfunction deepmerge(target: any, source: any, options?: Options) {\n options = options || {}\n options.arrayMerge = options.arrayMerge || defaultArrayMerge\n options.isMergeableObject =\n options.isMergeableObject || defaultIsMergeableObject\n // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n // implementations can use it. The caller may not replace it.\n options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified\n\n const sourceIsArray = Array.isArray(source)\n const targetIsArray = Array.isArray(target)\n const sourceAndTargetTypesMatch = sourceIsArray === targetIsArray\n\n if (!sourceAndTargetTypesMatch) {\n return cloneUnlessOtherwiseSpecified(source, options)\n } else if (sourceIsArray) {\n return options.arrayMerge(target, source, options)\n } else {\n return mergeObject(target, source, options)\n }\n}\n\nexport const lazyMerge = <T extends object | Function>(\n target: T,\n ...args: T[]\n): any => {\n const _lazyMerge = <T extends object | Function>(\n target: T,\n source: T\n ): {} => {\n if (!isValid(source)) return target\n if (!isValid(target)) return source\n const isTargetObject = typeof target === 'object'\n const isSourceObject = typeof source === 'object'\n const isTargetFn = typeof target === 'function'\n const isSourceFn = typeof source === 'function'\n if (!isTargetObject && !isTargetFn) return source\n if (!isSourceObject && !isSourceFn) return target\n const getTarget = () => (isTargetFn ? target() : target)\n const getSource = () => (isSourceFn ? source() : source)\n const set = (_: object, key: PropertyKey, value: any) => {\n const source = getSource()\n const target = getTarget()\n if (key in source) {\n // @ts-ignore\n source[key] = value\n } else if (key in target) {\n // @ts-ignore\n target[key] = value\n } else {\n source[key] = value\n }\n return true\n }\n const get = (_: object, key: PropertyKey) => {\n const source = getSource()\n // @ts-ignore\n if (key in source) {\n return source[key]\n }\n // @ts-ignore\n return getTarget()[key]\n }\n const ownKeys = () => {\n const source = getSource()\n const target = getTarget()\n const keys = Object.keys(target)\n for (const key in source) {\n if (!(key in target)) {\n keys.push(key)\n }\n }\n return keys\n }\n const getOwnPropertyDescriptor = (_: object, key: PropertyKey) => ({\n value: get(_, key),\n enumerable: true,\n configurable: true,\n })\n const has = (_: object, key: PropertyKey) => {\n if (key in getSource() || key in getTarget()) return true\n return false\n }\n const getPrototypeOf = () => Object.getPrototypeOf({})\n return new Proxy(Object.create(null), {\n set,\n get,\n ownKeys,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n has,\n }) as any\n }\n return args.reduce<{}>((buf, arg) => _lazyMerge(buf, arg), target)\n}\n\nexport const merge = deepmerge\n","let IDX = 36,\n HEX = ''\nwhile (IDX--) HEX += IDX.toString(36)\n\nexport function uid(len?: number) {\n let str = '',\n num = len || 11\n while (num--) str += HEX[(Math.random() * 36) | 0]\n return str\n}\n","import { each } from './array'\nimport { isEmpty, isValid } from './isEmpty'\nimport { getType, isArr, isPlainObj } from './checkers'\n\nconst isUnNormalObject = (value: any) => {\n if (value?._owner && value?.$$typeof) {\n return true\n }\n if (value?._isAMomentObject || value?._isJSONSchemaObject) {\n return true\n }\n if (value?.toJS || value?.toJSON) {\n return true\n }\n}\n\nconst isEnumerableObject = (val: any) => {\n if (isUnNormalObject(val)) {\n return false\n }\n return typeof val === 'object'\n}\n\n/**\n *\n * @param defaults\n * @param targets\n */\nexport const defaults = (defaults_: any, targets: any) => {\n if (\n getType(defaults_) !== getType(targets) ||\n !isEnumerableObject(defaults_) ||\n !isEnumerableObject(targets)\n ) {\n return !isEmpty(targets) ? targets : defaults_\n } else {\n const results = isArr(defaults_)\n ? []\n : isPlainObj(defaults_)\n ? {}\n : defaults_\n each(targets, (value, key) => {\n results[key] = defaults(defaults_[key], value)\n })\n each(defaults_, (value, key) => {\n if (!isValid(results[key])) {\n results[key] = value\n }\n })\n return results\n }\n}\n","export interface IMiddleware<Payload = any, Result = any> {\n (payload: Payload, next: (payload?: Payload) => Result): Result\n}\n\nexport const applyMiddleware = (payload: any, fns: IMiddleware[] = []) => {\n const compose = (payload: any, fns: IMiddleware[]): Promise<any> => {\n const prevPayload = payload\n return Promise.resolve(\n fns[0](payload, (payload) =>\n compose(payload ?? prevPayload, fns.slice(1))\n )\n )\n }\n return new Promise((resolve, reject) => {\n compose(\n payload,\n fns.concat((payload) => {\n resolve(payload)\n })\n ).catch(reject)\n })\n}\n","import { __assign } from \"tslib\";\nimport { dotCase } from \"dot-case\";\nexport function paramCase(input, options) {\n if (options === void 0) { options = {}; }\n return dotCase(input, __assign({ delimiter: \"-\" }, options));\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { noCase } from \"no-case\";\nexport function dotCase(input, options) {\n if (options === void 0) { options = {}; }\n return noCase(input, __assign({ delimiter: \".\" }, options));\n}\n//# sourceMappingURL=index.js.map","/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nvar SUPPORTED_LOCALE = {\n tr: {\n regexp: /[\\u0069]/g,\n map: {\n i: \"\\u0130\",\n },\n },\n az: {\n regexp: /[\\u0069]/g,\n map: {\n i: \"\\u0130\",\n },\n },\n lt: {\n regexp: /[\\u0069\\u006A\\u012F]\\u0307|\\u0069\\u0307[\\u0300\\u0301\\u0303]/g,\n map: {\n i̇: \"\\u0049\",\n j̇: \"\\u004A\",\n į̇: \"\\u012E\",\n i̇̀: \"\\u00CC\",\n i̇́: \"\\u00CD\",\n i̇̃: \"\\u0128\",\n },\n },\n};\n/**\n * Localized upper case.\n */\nexport function localeUpperCase(str, locale) {\n var lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang)\n return upperCase(str.replace(lang.regexp, function (m) { return lang.map[m]; }));\n return upperCase(str);\n}\n/**\n * Upper case as a function.\n */\nexport function upperCase(str) {\n return str.toUpperCase();\n}\n//# sourceMappingURL=index.js.map"],"names":["toString","Object","prototype","isType","type","obj","getType","concat","call","isFn","val","isArr","Array","isArray","isPlainObj","isStr","isBool","isNum","isObj","isRegExp","each","iterator","revert","i","length","key","hasOwnProperty","some","res","item","globalThisPolyfill","self","e","window","global","Function","globalSelf","instOf","value","cls","keyList","keys","hasProp","equal","a","b","length_1","arrA","arrB","momentA","_isAMomentObject","momentB","isSame","immutableA","toJS","is","dateA","dateB","getTime","regexpA","regexpB","urlA","urlB","href","schemaA","toJSON","schemaB","$$typeof","clone","values","res_1","forEach","push","has","isValid","isEmpty","strict","undefined","message","size","lowerCase","str","toLowerCase","DEFAULT_SPLIT_REGEXP","DEFAULT_STRIP_REGEXP","noCase","input","options","_a","splitRegexp","_b","stripRegexp","_c","transform","_d","delimiter","result","replace","start","end","charAt","slice","split","map","join","re","RegExp","reduce","pascalCaseTransform","index","firstChar","lowerChars","substr","toUpperCase","pascalCase","__assign","camelCaseTransform","regex","stripAnsi","pattern","caches","Subscribable","_this","this","subscribers","subscribe","callback","unsubscribe","notify","payload","silent","subscription","filter","defaultIsMergeableObject","Boolean","isNonNullObject","_isJSONSchemaObject","isSpecial","cloneUnlessOtherwiseSpecified","isMergeableObject","deepmerge","defaultArrayMerge","target","source","element","getKeys","getOwnPropertySymbols","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","object","property","_","mergeObject","destination","assign","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","merge","isEnumerableObject","_owner","defaults","defaults_","targets","results_1","IDX","HEX","fns","compose","prevPayload","Promise","resolve","reject","catch","deprecate","method","help","p1","p2","p3","p4","p5","apply","arguments","console","warn","Error","searchElement","includes","error","match","number","name","indexOf","Map","test","Set","WeakMap","WeakSet","args","_i","_lazyMerge","isTargetFn","isSourceFn","getTarget","getSource","get","Proxy","create","set","ownKeys","getPrototypeOf","getOwnPropertyDescriptor","enumerable","configurable","buf","arg","array","fromIndex","toIndex","fromItem","dotCase","accumulator","constructor","opts","exact","len","num","Math","random"],"mappings":"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"}

@@ -34,2 +34,3 @@ declare type EachArrayIterator<T> = (currentValue: T, key: number) => void | boolean;

export declare function includes<T>(val: T[], searchElement: T, revert?: boolean): boolean;
export declare function move<T extends any>(array: T[], fromIndex: number, toIndex: number): T[];
export {};

@@ -97,2 +97,27 @@ import { isArr, isObj, isStr } from './checkers';

}
export function move(array, fromIndex, toIndex) {
if (fromIndex === toIndex)
return array;
if (toIndex < 0 ||
fromIndex < 0 ||
toIndex > array.length - 1 ||
fromIndex > array.length - 1) {
return array;
}
if (fromIndex < toIndex) {
var fromItem = array[fromIndex];
for (var index = fromIndex; index < toIndex; index++) {
array[index] = array[index + 1];
}
array[toIndex] = fromItem;
}
else {
var fromItem = array[fromIndex];
for (var index = fromIndex; index > toIndex; index--) {
array[index] = array[index - 1];
}
array[toIndex] = fromItem;
}
return array;
}
//# sourceMappingURL=array.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArr, isObj, isStr } from './checkers'\n\ntype EachArrayIterator<T> = (currentValue: T, key: number) => void | boolean\ntype EachStringIterator = (currentValue: string, key: number) => void | boolean\ntype EachObjectIterator<T = any> = (\n currentValue: T,\n key: string\n) => void | boolean\ntype MapArrayIterator<TItem, TResult> = (\n currentValue: TItem,\n key: number\n) => TResult\ntype MapStringIterator<TResult> = (currentValue: string, key: number) => TResult\ntype MapObjectIterator<TItem, TResult> = (\n currentValue: TItem,\n key: string\n) => TResult\ntype MemoArrayIterator<T, U> = (\n previousValue: U,\n currentValue: T,\n key: number\n) => U\ntype MemoStringIterator<T> = (\n previousValue: T,\n currentValue: string,\n key: number\n) => T\ntype MemoObjectIterator<TValue, TResult> = (\n previousValue: TResult,\n currentValue: TValue,\n key: string\n) => TResult\n\nexport const toArr = (val: any): any[] => (isArr(val) ? val : val ? [val] : [])\nexport function each(\n val: string,\n iterator: EachStringIterator,\n revert?: boolean\n): void\nexport function each<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): void\nexport function each<T extends {}, TValue extends T[keyof T]>(\n val: T,\n iterator: EachObjectIterator<TValue>,\n revert?: boolean\n): void\nexport function each(val: any, iterator: any, revert?: boolean): void {\n if (isArr(val) || isStr(val)) {\n if (revert) {\n for (let i: number = val.length - 1; i >= 0; i--) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n } else {\n for (let i = 0; i < val.length; i++) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n }\n } else if (isObj(val)) {\n let key: string\n for (key in val) {\n if (Object.hasOwnProperty.call(val, key)) {\n if (iterator(val[key], key) === false) {\n return\n }\n }\n }\n }\n}\n\nexport function map<T>(\n val: string,\n iterator: MapStringIterator<T>,\n revert?: boolean\n): T[]\nexport function map<TItem, TResult>(\n val: TItem[],\n iterator: MapArrayIterator<TItem, TResult>,\n revert?: boolean\n): TResult[]\nexport function map<T extends {}, TResult>(\n val: T,\n iterator: MapObjectIterator<T[keyof T], TResult>,\n revert?: boolean\n): Record<keyof T, TResult>\nexport function map(val: any, iterator: any, revert?: any): any {\n const res = isArr(val) || isStr(val) ? [] : {}\n each(\n val,\n (item, key) => {\n const value = iterator(item, key)\n if (isArr(res)) {\n ;(res as any).push(value)\n } else {\n res[key] = value\n }\n },\n revert\n )\n return res\n}\n\nexport function reduce<T, U>(\n val: T[],\n iterator: MemoArrayIterator<T, U>,\n accumulator?: U,\n revert?: boolean\n): U\nexport function reduce<T>(\n val: string,\n iterator: MemoStringIterator<T>,\n accumulator?: T,\n revert?: boolean\n): T\nexport function reduce<T extends {}, TValue extends T[keyof T], TResult = any>(\n val: T,\n iterator: MemoObjectIterator<TValue, TResult>,\n accumulator?: TResult,\n revert?: boolean\n): TResult\nexport function reduce(\n val: any,\n iterator: any,\n accumulator?: any,\n revert?: boolean\n): any {\n let result = accumulator\n each(\n val,\n (item, key) => {\n result = iterator(result, item, key)\n },\n revert\n )\n return result\n}\n\nexport function every<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function every<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function every<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function every(val: any, iterator: any, revert?: boolean): boolean {\n let res = true\n each(\n val,\n (item, key) => {\n if (!iterator(item, key)) {\n res = false\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function some<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function some<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function some<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function some(val: any, iterator: any, revert?: boolean): boolean {\n let res = false\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = true\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function findIndex<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): number\nexport function findIndex<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): number\nexport function findIndex<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): keyof T\nexport function findIndex(\n val: any,\n iterator: any,\n revert?: boolean\n): string | number {\n let res: number | string = -1\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = key\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function find<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): any\nexport function find<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): T\nexport function find<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): T[keyof T]\nexport function find(val: any, iterator: any, revert?: boolean): any {\n let res: any\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = item\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function includes<T extends string>(\n val: T,\n searchElement: string,\n revert?: boolean\n): boolean\nexport function includes<T>(\n val: T[],\n searchElement: T,\n revert?: boolean\n): boolean\nexport function includes(val: any, searchElement: any, revert?: boolean) {\n if (isStr(val)) return val.includes(searchElement)\n return some(val, (item) => item === searchElement, revert)\n}\n"]}
{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArr, isObj, isStr } from './checkers'\n\ntype EachArrayIterator<T> = (currentValue: T, key: number) => void | boolean\ntype EachStringIterator = (currentValue: string, key: number) => void | boolean\ntype EachObjectIterator<T = any> = (\n currentValue: T,\n key: string\n) => void | boolean\ntype MapArrayIterator<TItem, TResult> = (\n currentValue: TItem,\n key: number\n) => TResult\ntype MapStringIterator<TResult> = (currentValue: string, key: number) => TResult\ntype MapObjectIterator<TItem, TResult> = (\n currentValue: TItem,\n key: string\n) => TResult\ntype MemoArrayIterator<T, U> = (\n previousValue: U,\n currentValue: T,\n key: number\n) => U\ntype MemoStringIterator<T> = (\n previousValue: T,\n currentValue: string,\n key: number\n) => T\ntype MemoObjectIterator<TValue, TResult> = (\n previousValue: TResult,\n currentValue: TValue,\n key: string\n) => TResult\n\nexport const toArr = (val: any): any[] => (isArr(val) ? val : val ? [val] : [])\nexport function each(\n val: string,\n iterator: EachStringIterator,\n revert?: boolean\n): void\nexport function each<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): void\nexport function each<T extends {}, TValue extends T[keyof T]>(\n val: T,\n iterator: EachObjectIterator<TValue>,\n revert?: boolean\n): void\nexport function each(val: any, iterator: any, revert?: boolean): void {\n if (isArr(val) || isStr(val)) {\n if (revert) {\n for (let i: number = val.length - 1; i >= 0; i--) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n } else {\n for (let i = 0; i < val.length; i++) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n }\n } else if (isObj(val)) {\n let key: string\n for (key in val) {\n if (Object.hasOwnProperty.call(val, key)) {\n if (iterator(val[key], key) === false) {\n return\n }\n }\n }\n }\n}\n\nexport function map<T>(\n val: string,\n iterator: MapStringIterator<T>,\n revert?: boolean\n): T[]\nexport function map<TItem, TResult>(\n val: TItem[],\n iterator: MapArrayIterator<TItem, TResult>,\n revert?: boolean\n): TResult[]\nexport function map<T extends {}, TResult>(\n val: T,\n iterator: MapObjectIterator<T[keyof T], TResult>,\n revert?: boolean\n): Record<keyof T, TResult>\nexport function map(val: any, iterator: any, revert?: any): any {\n const res = isArr(val) || isStr(val) ? [] : {}\n each(\n val,\n (item, key) => {\n const value = iterator(item, key)\n if (isArr(res)) {\n ;(res as any).push(value)\n } else {\n res[key] = value\n }\n },\n revert\n )\n return res\n}\n\nexport function reduce<T, U>(\n val: T[],\n iterator: MemoArrayIterator<T, U>,\n accumulator?: U,\n revert?: boolean\n): U\nexport function reduce<T>(\n val: string,\n iterator: MemoStringIterator<T>,\n accumulator?: T,\n revert?: boolean\n): T\nexport function reduce<T extends {}, TValue extends T[keyof T], TResult = any>(\n val: T,\n iterator: MemoObjectIterator<TValue, TResult>,\n accumulator?: TResult,\n revert?: boolean\n): TResult\nexport function reduce(\n val: any,\n iterator: any,\n accumulator?: any,\n revert?: boolean\n): any {\n let result = accumulator\n each(\n val,\n (item, key) => {\n result = iterator(result, item, key)\n },\n revert\n )\n return result\n}\n\nexport function every<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function every<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function every<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function every(val: any, iterator: any, revert?: boolean): boolean {\n let res = true\n each(\n val,\n (item, key) => {\n if (!iterator(item, key)) {\n res = false\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function some<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function some<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function some<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function some(val: any, iterator: any, revert?: boolean): boolean {\n let res = false\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = true\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function findIndex<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): number\nexport function findIndex<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): number\nexport function findIndex<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): keyof T\nexport function findIndex(\n val: any,\n iterator: any,\n revert?: boolean\n): string | number {\n let res: number | string = -1\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = key\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function find<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): any\nexport function find<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): T\nexport function find<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): T[keyof T]\nexport function find(val: any, iterator: any, revert?: boolean): any {\n let res: any\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = item\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function includes<T extends string>(\n val: T,\n searchElement: string,\n revert?: boolean\n): boolean\nexport function includes<T>(\n val: T[],\n searchElement: T,\n revert?: boolean\n): boolean\nexport function includes(val: any, searchElement: any, revert?: boolean) {\n if (isStr(val)) return val.includes(searchElement)\n return some(val, (item) => item === searchElement, revert)\n}\n\nexport function move<T extends any>(\n array: T[],\n fromIndex: number,\n toIndex: number\n) {\n if (fromIndex === toIndex) return array\n\n if (\n toIndex < 0 ||\n fromIndex < 0 ||\n toIndex > array.length - 1 ||\n fromIndex > array.length - 1\n ) {\n return array\n }\n\n if (fromIndex < toIndex) {\n const fromItem = array[fromIndex]\n for (let index = fromIndex; index < toIndex; index++) {\n array[index] = array[index + 1]\n }\n array[toIndex] = fromItem\n } else {\n const fromItem = array[fromIndex]\n for (let index = fromIndex; index > toIndex; index--) {\n array[index] = array[index - 1]\n }\n array[toIndex] = fromItem\n }\n return array\n}\n"]}

@@ -34,2 +34,3 @@ declare type EachArrayIterator<T> = (currentValue: T, key: number) => void | boolean;

export declare function includes<T>(val: T[], searchElement: T, revert?: boolean): boolean;
export declare function move<T extends any>(array: T[], fromIndex: number, toIndex: number): T[];
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.includes = exports.find = exports.findIndex = exports.some = exports.every = exports.reduce = exports.map = exports.each = exports.toArr = void 0;
exports.move = exports.includes = exports.find = exports.findIndex = exports.some = exports.every = exports.reduce = exports.map = exports.each = exports.toArr = void 0;
var checkers_1 = require("./checkers");

@@ -109,2 +109,28 @@ var toArr = function (val) { return ((0, checkers_1.isArr)(val) ? val : val ? [val] : []); };

exports.includes = includes;
function move(array, fromIndex, toIndex) {
if (fromIndex === toIndex)
return array;
if (toIndex < 0 ||
fromIndex < 0 ||
toIndex > array.length - 1 ||
fromIndex > array.length - 1) {
return array;
}
if (fromIndex < toIndex) {
var fromItem = array[fromIndex];
for (var index = fromIndex; index < toIndex; index++) {
array[index] = array[index + 1];
}
array[toIndex] = fromItem;
}
else {
var fromItem = array[fromIndex];
for (var index = fromIndex; index > toIndex; index--) {
array[index] = array[index - 1];
}
array[toIndex] = fromItem;
}
return array;
}
exports.move = move;
//# sourceMappingURL=array.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArr, isObj, isStr } from './checkers'\n\ntype EachArrayIterator<T> = (currentValue: T, key: number) => void | boolean\ntype EachStringIterator = (currentValue: string, key: number) => void | boolean\ntype EachObjectIterator<T = any> = (\n currentValue: T,\n key: string\n) => void | boolean\ntype MapArrayIterator<TItem, TResult> = (\n currentValue: TItem,\n key: number\n) => TResult\ntype MapStringIterator<TResult> = (currentValue: string, key: number) => TResult\ntype MapObjectIterator<TItem, TResult> = (\n currentValue: TItem,\n key: string\n) => TResult\ntype MemoArrayIterator<T, U> = (\n previousValue: U,\n currentValue: T,\n key: number\n) => U\ntype MemoStringIterator<T> = (\n previousValue: T,\n currentValue: string,\n key: number\n) => T\ntype MemoObjectIterator<TValue, TResult> = (\n previousValue: TResult,\n currentValue: TValue,\n key: string\n) => TResult\n\nexport const toArr = (val: any): any[] => (isArr(val) ? val : val ? [val] : [])\nexport function each(\n val: string,\n iterator: EachStringIterator,\n revert?: boolean\n): void\nexport function each<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): void\nexport function each<T extends {}, TValue extends T[keyof T]>(\n val: T,\n iterator: EachObjectIterator<TValue>,\n revert?: boolean\n): void\nexport function each(val: any, iterator: any, revert?: boolean): void {\n if (isArr(val) || isStr(val)) {\n if (revert) {\n for (let i: number = val.length - 1; i >= 0; i--) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n } else {\n for (let i = 0; i < val.length; i++) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n }\n } else if (isObj(val)) {\n let key: string\n for (key in val) {\n if (Object.hasOwnProperty.call(val, key)) {\n if (iterator(val[key], key) === false) {\n return\n }\n }\n }\n }\n}\n\nexport function map<T>(\n val: string,\n iterator: MapStringIterator<T>,\n revert?: boolean\n): T[]\nexport function map<TItem, TResult>(\n val: TItem[],\n iterator: MapArrayIterator<TItem, TResult>,\n revert?: boolean\n): TResult[]\nexport function map<T extends {}, TResult>(\n val: T,\n iterator: MapObjectIterator<T[keyof T], TResult>,\n revert?: boolean\n): Record<keyof T, TResult>\nexport function map(val: any, iterator: any, revert?: any): any {\n const res = isArr(val) || isStr(val) ? [] : {}\n each(\n val,\n (item, key) => {\n const value = iterator(item, key)\n if (isArr(res)) {\n ;(res as any).push(value)\n } else {\n res[key] = value\n }\n },\n revert\n )\n return res\n}\n\nexport function reduce<T, U>(\n val: T[],\n iterator: MemoArrayIterator<T, U>,\n accumulator?: U,\n revert?: boolean\n): U\nexport function reduce<T>(\n val: string,\n iterator: MemoStringIterator<T>,\n accumulator?: T,\n revert?: boolean\n): T\nexport function reduce<T extends {}, TValue extends T[keyof T], TResult = any>(\n val: T,\n iterator: MemoObjectIterator<TValue, TResult>,\n accumulator?: TResult,\n revert?: boolean\n): TResult\nexport function reduce(\n val: any,\n iterator: any,\n accumulator?: any,\n revert?: boolean\n): any {\n let result = accumulator\n each(\n val,\n (item, key) => {\n result = iterator(result, item, key)\n },\n revert\n )\n return result\n}\n\nexport function every<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function every<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function every<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function every(val: any, iterator: any, revert?: boolean): boolean {\n let res = true\n each(\n val,\n (item, key) => {\n if (!iterator(item, key)) {\n res = false\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function some<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function some<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function some<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function some(val: any, iterator: any, revert?: boolean): boolean {\n let res = false\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = true\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function findIndex<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): number\nexport function findIndex<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): number\nexport function findIndex<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): keyof T\nexport function findIndex(\n val: any,\n iterator: any,\n revert?: boolean\n): string | number {\n let res: number | string = -1\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = key\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function find<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): any\nexport function find<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): T\nexport function find<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): T[keyof T]\nexport function find(val: any, iterator: any, revert?: boolean): any {\n let res: any\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = item\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function includes<T extends string>(\n val: T,\n searchElement: string,\n revert?: boolean\n): boolean\nexport function includes<T>(\n val: T[],\n searchElement: T,\n revert?: boolean\n): boolean\nexport function includes(val: any, searchElement: any, revert?: boolean) {\n if (isStr(val)) return val.includes(searchElement)\n return some(val, (item) => item === searchElement, revert)\n}\n"]}
{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArr, isObj, isStr } from './checkers'\n\ntype EachArrayIterator<T> = (currentValue: T, key: number) => void | boolean\ntype EachStringIterator = (currentValue: string, key: number) => void | boolean\ntype EachObjectIterator<T = any> = (\n currentValue: T,\n key: string\n) => void | boolean\ntype MapArrayIterator<TItem, TResult> = (\n currentValue: TItem,\n key: number\n) => TResult\ntype MapStringIterator<TResult> = (currentValue: string, key: number) => TResult\ntype MapObjectIterator<TItem, TResult> = (\n currentValue: TItem,\n key: string\n) => TResult\ntype MemoArrayIterator<T, U> = (\n previousValue: U,\n currentValue: T,\n key: number\n) => U\ntype MemoStringIterator<T> = (\n previousValue: T,\n currentValue: string,\n key: number\n) => T\ntype MemoObjectIterator<TValue, TResult> = (\n previousValue: TResult,\n currentValue: TValue,\n key: string\n) => TResult\n\nexport const toArr = (val: any): any[] => (isArr(val) ? val : val ? [val] : [])\nexport function each(\n val: string,\n iterator: EachStringIterator,\n revert?: boolean\n): void\nexport function each<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): void\nexport function each<T extends {}, TValue extends T[keyof T]>(\n val: T,\n iterator: EachObjectIterator<TValue>,\n revert?: boolean\n): void\nexport function each(val: any, iterator: any, revert?: boolean): void {\n if (isArr(val) || isStr(val)) {\n if (revert) {\n for (let i: number = val.length - 1; i >= 0; i--) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n } else {\n for (let i = 0; i < val.length; i++) {\n if (iterator(val[i], i) === false) {\n return\n }\n }\n }\n } else if (isObj(val)) {\n let key: string\n for (key in val) {\n if (Object.hasOwnProperty.call(val, key)) {\n if (iterator(val[key], key) === false) {\n return\n }\n }\n }\n }\n}\n\nexport function map<T>(\n val: string,\n iterator: MapStringIterator<T>,\n revert?: boolean\n): T[]\nexport function map<TItem, TResult>(\n val: TItem[],\n iterator: MapArrayIterator<TItem, TResult>,\n revert?: boolean\n): TResult[]\nexport function map<T extends {}, TResult>(\n val: T,\n iterator: MapObjectIterator<T[keyof T], TResult>,\n revert?: boolean\n): Record<keyof T, TResult>\nexport function map(val: any, iterator: any, revert?: any): any {\n const res = isArr(val) || isStr(val) ? [] : {}\n each(\n val,\n (item, key) => {\n const value = iterator(item, key)\n if (isArr(res)) {\n ;(res as any).push(value)\n } else {\n res[key] = value\n }\n },\n revert\n )\n return res\n}\n\nexport function reduce<T, U>(\n val: T[],\n iterator: MemoArrayIterator<T, U>,\n accumulator?: U,\n revert?: boolean\n): U\nexport function reduce<T>(\n val: string,\n iterator: MemoStringIterator<T>,\n accumulator?: T,\n revert?: boolean\n): T\nexport function reduce<T extends {}, TValue extends T[keyof T], TResult = any>(\n val: T,\n iterator: MemoObjectIterator<TValue, TResult>,\n accumulator?: TResult,\n revert?: boolean\n): TResult\nexport function reduce(\n val: any,\n iterator: any,\n accumulator?: any,\n revert?: boolean\n): any {\n let result = accumulator\n each(\n val,\n (item, key) => {\n result = iterator(result, item, key)\n },\n revert\n )\n return result\n}\n\nexport function every<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function every<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function every<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function every(val: any, iterator: any, revert?: boolean): boolean {\n let res = true\n each(\n val,\n (item, key) => {\n if (!iterator(item, key)) {\n res = false\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function some<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): boolean\nexport function some<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): boolean\nexport function some<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): boolean\nexport function some(val: any, iterator: any, revert?: boolean): boolean {\n let res = false\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = true\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function findIndex<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): number\nexport function findIndex<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): number\nexport function findIndex<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): keyof T\nexport function findIndex(\n val: any,\n iterator: any,\n revert?: boolean\n): string | number {\n let res: number | string = -1\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = key\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function find<T extends string>(\n val: T,\n iterator: EachStringIterator,\n revert?: boolean\n): any\nexport function find<T>(\n val: T[],\n iterator: EachArrayIterator<T>,\n revert?: boolean\n): T\nexport function find<T extends {}>(\n val: T,\n iterator: EachObjectIterator,\n revert?: boolean\n): T[keyof T]\nexport function find(val: any, iterator: any, revert?: boolean): any {\n let res: any\n each(\n val,\n (item, key) => {\n if (iterator(item, key)) {\n res = item\n return false\n }\n },\n revert\n )\n return res\n}\n\nexport function includes<T extends string>(\n val: T,\n searchElement: string,\n revert?: boolean\n): boolean\nexport function includes<T>(\n val: T[],\n searchElement: T,\n revert?: boolean\n): boolean\nexport function includes(val: any, searchElement: any, revert?: boolean) {\n if (isStr(val)) return val.includes(searchElement)\n return some(val, (item) => item === searchElement, revert)\n}\n\nexport function move<T extends any>(\n array: T[],\n fromIndex: number,\n toIndex: number\n) {\n if (fromIndex === toIndex) return array\n\n if (\n toIndex < 0 ||\n fromIndex < 0 ||\n toIndex > array.length - 1 ||\n fromIndex > array.length - 1\n ) {\n return array\n }\n\n if (fromIndex < toIndex) {\n const fromItem = array[fromIndex]\n for (let index = fromIndex; index < toIndex; index++) {\n array[index] = array[index + 1]\n }\n array[toIndex] = fromItem\n } else {\n const fromItem = array[fromIndex]\n for (let index = fromIndex; index > toIndex; index--) {\n array[index] = array[index - 1]\n }\n array[toIndex] = fromItem\n }\n return array\n}\n"]}
{
"name": "@formily/shared",
"version": "2.2.26",
"version": "2.2.27",
"license": "MIT",

@@ -26,3 +26,3 @@ "main": "lib",

},
"gitHead": "7b74842c4c74bf3fea318c1e0f889c809b0954b9",
"gitHead": "3627fb1c63c0018ee19cb27ba4d28ae3d42abb89",
"scripts": {

@@ -35,3 +35,3 @@ "build": "rimraf -rf lib esm dist && npm run build:cjs && npm run build:esm && npm run build:umd",

"dependencies": {
"@formily/path": "2.2.26",
"@formily/path": "2.2.27",
"camel-case": "^4.1.1",

@@ -38,0 +38,0 @@ "lower-case": "^2.0.1",

Sorry, the diff of this file is too big to display