UNPKG

w-data-syncer

Version:

A tool for data detection and synchronization.

8 lines (7 loc) 26.3 kB
/*! * w-data-syncer v1.0.17 * (c) 2018-2021 yuda-lyu(semisphere) * Released under the MIT License. */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-data-syncer"]=e()}(this,(function(){"use strict";var t=Array.isArray,e="object"==typeof global&&global&&global.Object===Object&&global,n="object"==typeof self&&self&&self.Object===Object&&self,r=e||n||Function("return this")(),o=r.Symbol,i=Object.prototype,u=i.hasOwnProperty,a=i.toString,c=o?o.toStringTag:void 0;var f=Object.prototype.toString;var l=o?o.toStringTag:void 0;function s(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":l&&l in Object(t)?function(t){var e=u.call(t,c),n=t[c];try{t[c]=void 0;var r=!0}catch(t){}var o=a.call(t);return r&&(e?t[c]=n:delete t[c]),o}(t):function(t){return f.call(t)}(t)}function p(t){return null!=t&&"object"==typeof t}function v(t){return"symbol"==typeof t||p(t)&&"[object Symbol]"==s(t)}var h=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,d=/^\w*$/;function y(e,n){if(t(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!v(e))||(d.test(e)||!h.test(e)||null!=n&&e in Object(n))}function b(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function g(t){if(!b(t))return!1;var e=s(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var _,j=r["__core-js_shared__"],m=(_=/[^.]+$/.exec(j&&j.keys&&j.keys.IE_PROTO||""))?"Symbol(src)_1."+_:"";var w=Function.prototype.toString;function O(t){if(null!=t){try{return w.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var x=/^\[object .+?Constructor\]$/,A=Function.prototype,S=Object.prototype,z=A.toString,k=S.hasOwnProperty,E=RegExp("^"+z.call(k).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function P(t){return!(!b(t)||(e=t,m&&m in e))&&(g(t)?E:x).test(O(t));var e}function $(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return P(n)?n:void 0}var N=$(Object,"create");var T=Object.prototype.hasOwnProperty;var C=Object.prototype.hasOwnProperty;function I(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function M(t,e){return t===e||t!=t&&e!=e}function B(t,e){for(var n=t.length;n--;)if(M(t[n][0],e))return n;return-1}I.prototype.clear=function(){this.__data__=N?N(null):{},this.size=0},I.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},I.prototype.get=function(t){var e=this.__data__;if(N){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return T.call(e,t)?e[t]:void 0},I.prototype.has=function(t){var e=this.__data__;return N?void 0!==e[t]:C.call(e,t)},I.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=N&&void 0===e?"__lodash_hash_undefined__":e,this};var L=Array.prototype.splice;function D(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}D.prototype.clear=function(){this.__data__=[],this.size=0},D.prototype.delete=function(t){var e=this.__data__,n=B(e,t);return!(n<0)&&(n==e.length-1?e.pop():L.call(e,n,1),--this.size,!0)},D.prototype.get=function(t){var e=this.__data__,n=B(e,t);return n<0?void 0:e[n][1]},D.prototype.has=function(t){return B(this.__data__,t)>-1},D.prototype.set=function(t,e){var n=this.__data__,r=B(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var F=$(r,"Map");function U(t,e){var n,r,o=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof e?"string":"hash"]:o.map}function R(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}R.prototype.clear=function(){this.size=0,this.__data__={hash:new I,map:new(F||D),string:new I}},R.prototype.delete=function(t){var e=U(this,t).delete(t);return this.size-=e?1:0,e},R.prototype.get=function(t){return U(this,t).get(t)},R.prototype.has=function(t){return U(this,t).has(t)},R.prototype.set=function(t,e){var n=U(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function V(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var u=t.apply(this,r);return n.cache=i.set(o,u)||i,u};return n.cache=new(V.Cache||R),n}V.Cache=R;var W,q,J,K=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,G=/\\(\\)?/g,H=(W=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(K,(function(t,n,r,o){e.push(r?o.replace(G,"$1"):n||t)})),e},q=V(W,(function(t){return 500===J.size&&J.clear(),t})),J=q.cache,q),Q=H;function X(t,e){for(var n=-1,r=null==t?0:t.length,o=Array(r);++n<r;)o[n]=e(t[n],n,t);return o}var Y=o?o.prototype:void 0,Z=Y?Y.toString:void 0;function tt(e){if("string"==typeof e)return e;if(t(e))return X(e,tt)+"";if(v(e))return Z?Z.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}function et(t){return null==t?"":tt(t)}function nt(e,n){return t(e)?e:y(e,n)?[e]:Q(et(e))}function rt(t){if("string"==typeof t||v(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function ot(t,e){for(var n=0,r=(e=nt(e,t)).length;null!=t&&n<r;)t=t[rt(e[n++])];return n&&n==r?t:void 0}function it(t,e,n){var r=null==t?void 0:ot(t,e);return void 0===r?n:r}function ut(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}var at,ct=function(t,e,n){for(var r=-1,o=Object(t),i=n(t),u=i.length;u--;){var a=i[at?u:++r];if(!1===e(o[a],a,o))break}return t};function ft(t){return p(t)&&"[object Arguments]"==s(t)}var lt=Object.prototype,st=lt.hasOwnProperty,pt=lt.propertyIsEnumerable,vt=ft(function(){return arguments}())?ft:function(t){return p(t)&&st.call(t,"callee")&&!pt.call(t,"callee")},ht=vt;var dt="object"==typeof exports&&exports&&!exports.nodeType&&exports,yt=dt&&"object"==typeof module&&module&&!module.nodeType&&module,bt=yt&&yt.exports===dt?r.Buffer:void 0,gt=(bt?bt.isBuffer:void 0)||function(){return!1},_t=/^(?:0|[1-9]\d*)$/;function jt(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&_t.test(t))&&t>-1&&t%1==0&&t<e}function mt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var wt={};function Ot(t){return function(e){return t(e)}}wt["[object Float32Array]"]=wt["[object Float64Array]"]=wt["[object Int8Array]"]=wt["[object Int16Array]"]=wt["[object Int32Array]"]=wt["[object Uint8Array]"]=wt["[object Uint8ClampedArray]"]=wt["[object Uint16Array]"]=wt["[object Uint32Array]"]=!0,wt["[object Arguments]"]=wt["[object Array]"]=wt["[object ArrayBuffer]"]=wt["[object Boolean]"]=wt["[object DataView]"]=wt["[object Date]"]=wt["[object Error]"]=wt["[object Function]"]=wt["[object Map]"]=wt["[object Number]"]=wt["[object Object]"]=wt["[object RegExp]"]=wt["[object Set]"]=wt["[object String]"]=wt["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,At=xt&&"object"==typeof module&&module&&!module.nodeType&&module,St=At&&At.exports===xt&&e.process,zt=function(){try{var t=At&&At.require&&At.require("util").types;return t||St&&St.binding&&St.binding("util")}catch(t){}}(),kt=zt&&zt.isTypedArray,Et=kt?Ot(kt):function(t){return p(t)&&mt(t.length)&&!!wt[s(t)]},Pt=Object.prototype.hasOwnProperty;function $t(e,n){var r=t(e),o=!r&&ht(e),i=!r&&!o&&gt(e),u=!r&&!o&&!i&&Et(e),a=r||o||i||u,c=a?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(e.length,String):[],f=c.length;for(var l in e)!n&&!Pt.call(e,l)||a&&("length"==l||i&&("offset"==l||"parent"==l)||u&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||jt(l,f))||c.push(l);return c}var Nt=Object.prototype;var Tt=function(t,e){return function(n){return t(e(n))}}(Object.keys,Object),Ct=Tt,It=Object.prototype.hasOwnProperty;function Mt(t){if(n=(e=t)&&e.constructor,e!==("function"==typeof n&&n.prototype||Nt))return Ct(t);var e,n,r=[];for(var o in Object(t))It.call(t,o)&&"constructor"!=o&&r.push(o);return r}function Bt(t){return null!=t&&mt(t.length)&&!g(t)}function Lt(t){return Bt(t)?$t(t):Mt(t)}var Dt=function(t,e){return function(n,r){if(null==n)return n;if(!Bt(n))return t(n,r);for(var o=n.length,i=e?o:-1,u=Object(n);(e?i--:++i<o)&&!1!==r(u[i],i,u););return n}}((function(t,e){return t&&ct(t,e,Lt)})),Ft=Dt;function Ut(t){return t}function Rt(e,n){var r;return(t(e)?ut:Ft)(e,"function"==typeof(r=n)?r:Ut)}function Vt(t){var e=this.__data__=new D(t);this.size=e.size}Vt.prototype.clear=function(){this.__data__=new D,this.size=0},Vt.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Vt.prototype.get=function(t){return this.__data__.get(t)},Vt.prototype.has=function(t){return this.__data__.has(t)},Vt.prototype.set=function(t,e){var n=this.__data__;if(n instanceof D){var r=n.__data__;if(!F||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new R(r)}return n.set(t,e),this.size=n.size,this};function Wt(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new R;++e<n;)this.add(t[e])}function qt(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function Jt(t,e){return t.has(e)}Wt.prototype.add=Wt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Wt.prototype.has=function(t){return this.__data__.has(t)};function Kt(t,e,n,r,o,i){var u=1&n,a=t.length,c=e.length;if(a!=c&&!(u&&c>a))return!1;var f=i.get(t),l=i.get(e);if(f&&l)return f==e&&l==t;var s=-1,p=!0,v=2&n?new Wt:void 0;for(i.set(t,e),i.set(e,t);++s<a;){var h=t[s],d=e[s];if(r)var y=u?r(d,h,s,e,t,i):r(h,d,s,t,e,i);if(void 0!==y){if(y)continue;p=!1;break}if(v){if(!qt(e,(function(t,e){if(!Jt(v,e)&&(h===t||o(h,t,n,r,i)))return v.push(e)}))){p=!1;break}}else if(h!==d&&!o(h,d,n,r,i)){p=!1;break}}return i.delete(t),i.delete(e),p}var Gt=r.Uint8Array;function Ht(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function Qt(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var Xt=o?o.prototype:void 0,Yt=Xt?Xt.valueOf:void 0;function Zt(t,e){for(var n=-1,r=e.length,o=t.length;++n<r;)t[o+n]=e[n];return t}function te(t,e){for(var n=-1,r=null==t?0:t.length,o=0,i=[];++n<r;){var u=t[n];e(u,n,t)&&(i[o++]=u)}return i}var ee=Object.prototype.propertyIsEnumerable,ne=Object.getOwnPropertySymbols,re=ne?function(t){return null==t?[]:(t=Object(t),te(ne(t),(function(e){return ee.call(t,e)})))}:function(){return[]};function oe(e){return function(e,n,r){var o=n(e);return t(e)?o:Zt(o,r(e))}(e,Lt,re)}var ie=Object.prototype.hasOwnProperty;var ue=$(r,"DataView"),ae=$(r,"Promise"),ce=$(r,"Set"),fe=$(r,"WeakMap"),le="[object Map]",se="[object Promise]",pe="[object Set]",ve="[object WeakMap]",he="[object DataView]",de=O(ue),ye=O(F),be=O(ae),ge=O(ce),_e=O(fe),je=s;(ue&&je(new ue(new ArrayBuffer(1)))!=he||F&&je(new F)!=le||ae&&je(ae.resolve())!=se||ce&&je(new ce)!=pe||fe&&je(new fe)!=ve)&&(je=function(t){var e=s(t),n="[object Object]"==e?t.constructor:void 0,r=n?O(n):"";if(r)switch(r){case de:return he;case ye:return le;case be:return se;case ge:return pe;case _e:return ve}return e});var me=je,we="[object Arguments]",Oe="[object Array]",xe="[object Object]",Ae=Object.prototype.hasOwnProperty;function Se(e,n,r,o,i,u){var a=t(e),c=t(n),f=a?Oe:me(e),l=c?Oe:me(n),s=(f=f==we?xe:f)==xe,p=(l=l==we?xe:l)==xe,v=f==l;if(v&&gt(e)){if(!gt(n))return!1;a=!0,s=!1}if(v&&!s)return u||(u=new Vt),a||Et(e)?Kt(e,n,r,o,i,u):function(t,e,n,r,o,i,u){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new Gt(t),new Gt(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return M(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var a=Ht;case"[object Set]":var c=1&r;if(a||(a=Qt),t.size!=e.size&&!c)return!1;var f=u.get(t);if(f)return f==e;r|=2,u.set(t,e);var l=Kt(a(t),a(e),r,o,i,u);return u.delete(t),l;case"[object Symbol]":if(Yt)return Yt.call(t)==Yt.call(e)}return!1}(e,n,f,r,o,i,u);if(!(1&r)){var h=s&&Ae.call(e,"__wrapped__"),d=p&&Ae.call(n,"__wrapped__");if(h||d){var y=h?e.value():e,b=d?n.value():n;return u||(u=new Vt),i(y,b,r,o,u)}}return!!v&&(u||(u=new Vt),function(t,e,n,r,o,i){var u=1&n,a=oe(t),c=a.length;if(c!=oe(e).length&&!u)return!1;for(var f=c;f--;){var l=a[f];if(!(u?l in e:ie.call(e,l)))return!1}var s=i.get(t),p=i.get(e);if(s&&p)return s==e&&p==t;var v=!0;i.set(t,e),i.set(e,t);for(var h=u;++f<c;){var d=t[l=a[f]],y=e[l];if(r)var b=u?r(y,d,l,e,t,i):r(d,y,l,t,e,i);if(!(void 0===b?d===y||o(d,y,n,r,i):b)){v=!1;break}h||(h="constructor"==l)}if(v&&!h){var g=t.constructor,_=e.constructor;g==_||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof _&&_ instanceof _||(v=!1)}return i.delete(t),i.delete(e),v}(e,n,r,o,i,u))}function ze(t,e,n,r,o){return t===e||(null==t||null==e||!p(t)&&!p(e)?t!=t&&e!=e:Se(t,e,n,r,ze,o))}function ke(t){return t==t&&!b(t)}function Ee(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}function Pe(t){var e=function(t){for(var e=Lt(t),n=e.length;n--;){var r=e[n],o=t[r];e[n]=[r,o,ke(o)]}return e}(t);return 1==e.length&&e[0][2]?Ee(e[0][0],e[0][1]):function(n){return n===t||function(t,e,n,r){var o=n.length,i=o,u=!r;if(null==t)return!i;for(t=Object(t);o--;){var a=n[o];if(u&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++o<i;){var c=(a=n[o])[0],f=t[c],l=a[1];if(u&&a[2]){if(void 0===f&&!(c in t))return!1}else{var s=new Vt;if(r)var p=r(f,l,c,t,e,s);if(!(void 0===p?ze(l,f,3,r,s):p))return!1}}return!0}(n,t,e)}}function $e(t,e){return null!=t&&e in Object(t)}function Ne(e,n){return null!=e&&function(e,n,r){for(var o=-1,i=(n=nt(n,e)).length,u=!1;++o<i;){var a=rt(n[o]);if(!(u=null!=e&&r(e,a)))break;e=e[a]}return u||++o!=i?u:!!(i=null==e?0:e.length)&&mt(i)&&jt(a,i)&&(t(e)||ht(e))}(e,n,$e)}function Te(t){return function(e){return null==e?void 0:e[t]}}function Ce(t){return y(t)?Te(rt(t)):function(t){return function(e){return ot(e,t)}}(t)}function Ie(e){return"function"==typeof e?e:null==e?Ut:"object"==typeof e?t(e)?(n=e[0],r=e[1],y(n)&&ke(r)?Ee(rt(n),r):function(t){var e=it(t,n);return void 0===e&&e===r?Ne(t,n):ze(r,e,3)}):Pe(e):Ce(e);var n,r}function Me(t,e){var n=-1,r=Bt(t)?Array(t.length):[];return Ft(t,(function(t,o,i){r[++n]=e(t,o,i)})),r}function Be(e,n){return(t(e)?X:Me)(e,Ie(n))}var Le=Te("length"),De=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var Fe="\\ud800-\\udfff",Ue="["+Fe+"]",Re="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Ve="\\ud83c[\\udffb-\\udfff]",We="[^"+Fe+"]",qe="(?:\\ud83c[\\udde6-\\uddff]){2}",Je="[\\ud800-\\udbff][\\udc00-\\udfff]",Ke="(?:"+Re+"|"+Ve+")"+"?",Ge="[\\ufe0e\\ufe0f]?",He=Ge+Ke+("(?:\\u200d(?:"+[We,qe,Je].join("|")+")"+Ge+Ke+")*"),Qe="(?:"+[We+Re+"?",Re,qe,Je,Ue].join("|")+")",Xe=RegExp(Ve+"(?="+Ve+")|"+Qe+He,"g");function Ye(t){return function(t){return De.test(t)}(t)?function(t){for(var e=Xe.lastIndex=0;Xe.test(t);)++e;return e}(t):Le(t)}function Ze(e){if(null==e)return 0;if(Bt(e))return"string"==typeof(n=e)||!t(n)&&p(n)&&"[object String]"==s(n)?Ye(e):e.length;var n,r=me(e);return"[object Map]"==r||"[object Set]"==r?e.size:Mt(e).length}var tn=o?o.isConcatSpreadable:void 0;function en(e){return t(e)||ht(e)||!!(tn&&e&&e[tn])}function nn(t,e,n,r,o){var i=-1,u=t.length;for(n||(n=en),o||(o=[]);++i<u;){var a=t[i];e>0&&n(a)?e>1?nn(a,e-1,n,r,o):Zt(o,a):r||(o[o.length]=a)}return o}function rn(t,e){if(t!==e){var n=void 0!==t,r=null===t,o=t==t,i=v(t),u=void 0!==e,a=null===e,c=e==e,f=v(e);if(!a&&!f&&!i&&t>e||i&&u&&c&&!a&&!f||r&&u&&c||!n&&c||!o)return 1;if(!r&&!i&&!f&&t<e||f&&n&&o&&!r&&!i||a&&n&&o||!u&&o||!c)return-1}return 0}function on(e,n,r){n=n.length?X(n,(function(e){return t(e)?function(t){return ot(t,1===e.length?e[0]:e)}:e})):[Ut];var o=-1;return n=X(n,Ot(Ie)),function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}(Me(e,(function(t,e,r){return{criteria:X(n,(function(e){return e(t)})),index:++o,value:t}})),(function(t,e){return function(t,e,n){for(var r=-1,o=t.criteria,i=e.criteria,u=o.length,a=n.length;++r<u;){var c=rn(o[r],i[r]);if(c)return r>=a?c:c*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,r)}))}var un=Math.max;var an=function(){try{var t=$(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),cn=an,fn=cn?function(t,e){return cn(t,"toString",{configurable:!0,enumerable:!1,value:(n=e,function(){return n}),writable:!0});var n}:Ut,ln=fn,sn=Date.now;var pn=function(t){var e=0,n=0;return function(){var r=sn(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(ln),vn=pn;function hn(t,e,n){if(!b(n))return!1;var r=typeof e;return!!("number"==r?Bt(n)&&jt(e,n.length):"string"==r&&e in n)&&M(n[e],t)}var dn=function(t,e){return vn(function(t,e,n){return e=un(void 0===e?t.length-1:e,0),function(){for(var r=arguments,o=-1,i=un(r.length-e,0),u=Array(i);++o<i;)u[o]=r[e+o];o=-1;for(var a=Array(e+1);++o<e;)a[o]=r[o];return a[e]=n(u),function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}(t,this,a)}}(t,e,Ut),t+"")}((function(t,e){if(null==t)return[];var n=e.length;return n>1&&hn(t,e[0],e[1])?e=[]:n>2&&hn(e[0],e[1],e[2])&&(e=[e[0]]),on(t,nn(e,1),[])})),yn=dn;function bn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var gn={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}function o(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function i(t,e,r,i,u){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new o(r,i||t,u),c=n?n+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],a]:t._events[c].push(a):(t._events[c]=a,t._eventsCount++),t}function u(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,r,o=[];if(0===this._eventsCount)return o;for(r in t=this._events)e.call(t,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},a.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,u=new Array(i);o<i;o++)u[o]=r[o].fn;return u},a.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},a.prototype.emit=function(t,e,r,o,i,u){var a=n?n+t:t;if(!this._events[a])return!1;var c,f,l=this._events[a],s=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),s){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,r),!0;case 4:return l.fn.call(l.context,e,r,o),!0;case 5:return l.fn.call(l.context,e,r,o,i),!0;case 6:return l.fn.call(l.context,e,r,o,i,u),!0}for(f=1,c=new Array(s-1);f<s;f++)c[f-1]=arguments[f];l.fn.apply(l.context,c)}else{var p,v=l.length;for(f=0;f<v;f++)switch(l[f].once&&this.removeListener(t,l[f].fn,void 0,!0),s){case 1:l[f].fn.call(l[f].context);break;case 2:l[f].fn.call(l[f].context,e);break;case 3:l[f].fn.call(l[f].context,e,r);break;case 4:l[f].fn.call(l[f].context,e,r,o);break;default:if(!c)for(p=1,c=new Array(s-1);p<s;p++)c[p-1]=arguments[p];l[f].fn.apply(l[f].context,c)}}return!0},a.prototype.on=function(t,e,n){return i(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return i(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,r,o){var i=n?n+t:t;if(!this._events[i])return this;if(!e)return u(this,i),this;var a=this._events[i];if(a.fn)a.fn!==e||o&&!a.once||r&&a.context!==r||u(this,i);else{for(var c=0,f=[],l=a.length;c<l;c++)(a[c].fn!==e||o&&!a[c].once||r&&a[c].context!==r)&&f.push(a[c]);f.length?this._events[i]=1===f.length?f[0]:f:u(this,i)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&u(this,e)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,t.exports=a}(gn);var _n=bn(gn.exports);function jn(){let t,e,n=new Promise((function(){t=arguments[0],e=arguments[1]}));return n.resolve=t,n.reject=e,n}function mn(t){return"[object String]"===Object.prototype.toString.call(t)}function wn(t){return!(!mn(t)||""===t)}var On=/\s/;var xn=/^\s+/;function An(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&On.test(t.charAt(e)););return e}(t)+1).replace(xn,""):t}var Sn=/^[-+]0x[0-9a-f]+$/i,zn=/^0b[01]+$/i,kn=/^0o[0-7]+$/i,En=parseInt;function Pn(t){if("number"==typeof t)return t;if(v(t))return NaN;if(b(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=b(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=An(t);var n=zn.test(t);return n||kn.test(t)?En(t.slice(2),n?2:8):Sn.test(t)?NaN:+t}var $n=1/0;function Nn(t){return t?(t=Pn(t))===$n||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Tn(t){var e=Nn(t),n=e%1;return e==e?n?e-n:e:0}function Cn(t){return t!=t}function In(t){let e=!1;if(wn(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(Cn(t))return!1;e=!0}return e}function Mn(t){if(!In(t))return 0;return Nn(t)}function Bn(t){return!!In(t)&&(t=Mn(t),"number"==typeof(e=t)&&e==Tn(e));var e}var Ln=r.isFinite,Dn=Math.min;var Fn=function(t){var e=Math[t];return function(t,n){if(t=Pn(t),(n=null==n?0:Dn(Tn(n),292))&&Ln(t)){var r=(et(t)+"e").split("e");return+((r=(et(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return e(t)}}("round"),Un=Fn;function Rn(t){if(!In(t))return 0;t=Mn(t);let e=Un(t);return"0"===String(e)?0:e}function Vn(t){return"[object Array]"===Object.prototype.toString.call(t)}function Wn(t){return"[object Object]"===Object.prototype.toString.call(t)}function qn(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(Wn(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!mn(t)||""!==t)}(t)||(!!function(t){return!!Vn(t)&&0===t.length}(t)||!!Cn(t)))))}function Jn(t){return!0===(e=t)||!1===e||p(e)&&"[object Boolean]"==s(e);var e}function Kn(t,e){return!!Wn(t)&&(!(!wn(e)&&!In(e))&&e in t)}function Gn(t,e){var n=[];return Ft(t,(function(t,r,o){e(t,r,o)&&n.push(t)})),n}function Hn(e,n){return(t(e)?te:Gn)(e,Ie(n))}return function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=it(n,"key");wn(r)||(r="time");let o=it(n,"timeInterval");var i;Bn(i=o)&&Rn(i)>0||(o=2e4),o=Rn(o);let u=it(n,"waitEmitInsert");Jn(u)||(u=!1);let a=it(n,"waitEmitSave");Jn(a)||(a=!1);let c=it(n,"waitDel");Jn(c)||(c=!1);let f=it(n,"waitEmitChange");Jn(f)||(f=!1);let l=it(n,"waitEmitChangeAll");Jn(l)||(l=!1);let s=it(n,"useShowLog");Jn(s)||(s=!1);let p=new _n,v=async()=>{try{s&&console.log("src select...");let n=await t.select();if(s&&console.log("src select done"),!function(t){return!(!Vn(t)||0===t.length||1===t.length&&qn(t[0]))}(n))return void(s&&console.log("no src, skip and waiting..."));s&&console.log("tar select...");let o=await e.select();if(s&&console.log("tar select done"),Ze(n)<Ze(o))return void(s&&console.log(`numSrc[${Ze(n)}] < numTar[${Ze(o)}], skip and waiting...`));s&&(console.log("size(ltdtSrc)",Ze(n)),console.log("size(ltdtTar)",Ze(o))),s&&console.log("sortBy..."),n=yn(n,r),o=yn(o,r),s&&console.log("sortBy done"),s&&console.log("ltdtDiffByKey...");let i=function(t,e,n){let r=it(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},"withInfor");Jn(r)||(r=!0);let o={del:[],add:[],same:[],diff:[]};if(!wn(n))return console.log("invalid key"),r&&(o.infor={}),o;Vn(t)||(t=[t]),Vn(e)||(e=[e]),t=Hn(t,(t=>Kn(t,n))),e=Hn(e,(t=>Kn(t,n)));let i=new Map(e.map((t=>[t[n],t])));for(let e of t){let t=i.get(e[n]);t?(JSON.stringify(e)===JSON.stringify(t)?o.same.push(t):o.diff.push(t),i.delete(e[n])):o.del.push(e)}if(o.add=Array.from(i.values()),r){let t={};for(let e of o.del)t[e[n]]="del";for(let e of o.add)t[e[n]]="add";for(let e of o.diff)t[e[n]]="diff";for(let e of o.same)t[e[n]]="same";o.infor=t}return o}(o,n,r,{withInfor:!1});s&&console.log("ltdtDiffByKey done");let v=Ze(i.add),h=Ze(i.diff),d=Ze(i.del);if(s&&console.log("operate and emit..."),v>0){if(s&&console.log("r.add",Be(i.add,r),v),await e.insert(i.add),u){let t=jn();p.emit("insert",i.add,t),await t.catch((()=>{}))}else p.emit("insert",i.add);if(f){let t=jn();p.emit("change",{type:"insert",items:i.add},t),await t.catch((()=>{}))}else p.emit("change",{type:"insert",items:i.add})}if(h>0){if(s&&console.log("r.diff",Be(i.diff,r),h),await e.save(i.diff),a){let t=jn();p.emit("save",i.diff,t),await t.catch((()=>{}))}else p.emit("save",i.diff);if(f){let t=jn();p.emit("change",{type:"save",items:i.diff},t),await t.catch((()=>{}))}else p.emit("change",{type:"save",items:i.diff})}if(d>0){if(s&&console.log("r.del",Be(i.del,r),d),await e.del(i.del),c){let t=jn();p.emit("del",i.del,t),await t.catch((()=>{}))}else p.emit("del",i.del);if(f){let t=jn();p.emit("change",{type:"del",items:i.del},t),await t.catch((()=>{}))}else p.emit("change",{type:"del",items:i.del})}if(v+h+d>0){{let t={add:"insert",diff:"save",del:"del",same:"same"},e={};Rt(i,((n,r)=>{if(!Kn(t,r))throw console.log("kp",t),new Error(`invalid type[${r}]`);r=t[r],e[r]=n})),i=e}if(l){let t=jn();p.emit("change-all",i,t),await t.catch((()=>{}))}else p.emit("change-all",i)}s&&console.log("operate and emit done")}catch(t){s&&console.log(t),p.emit("error",t)}},h=!1,d=setInterval((()=>{h?s&&console.log("locking..."):(h=!0,s&&console.log("compareAndSync..."),v().catch((t=>{s&&console.log(t),p.emit("error",t)})).finally((()=>{s&&console.log("compareAndSync done"),h=!1})))}),o);return p.clear=()=>{clearInterval(d)},p}})); //# sourceMappingURL=w-data-syncer.umd.js.map