UNPKG

w-puppeteer-uitest

Version:
8 lines (7 loc) 29.3 kB
/*! * exp v1.0.42 * (c) 2018-2021 yuda-lyu(semisphere) * Released under the MIT License. */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("fs"),require("puppeteer"),require("jimp"),require("json5")):"function"==typeof define&&define.amd?define(["exports","fs","puppeteer","jimp","json5"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).exp={},t.fs,t.puppeteer,t.jimp,t.json5)}(this,(function(t,e,n,r,o){"use strict";function i(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}function a(t,e){return t===e||t!=t&&e!=e}function u(t,e){for(var n=t.length;n--;)if(a(t[n][0],e))return n;return-1}var c=Array.prototype.splice;function s(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])}}s.prototype.clear=function(){this.__data__=[],this.size=0},s.prototype.delete=function(t){var e=this.__data__,n=u(e,t);return!(n<0)&&(n==e.length-1?e.pop():c.call(e,n,1),--this.size,!0)},s.prototype.get=function(t){var e=this.__data__,n=u(e,t);return n<0?void 0:e[n][1]},s.prototype.has=function(t){return u(this.__data__,t)>-1},s.prototype.set=function(t,e){var n=this.__data__,r=u(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var l="object"==typeof global&&global&&global.Object===Object&&global,f="object"==typeof self&&self&&self.Object===Object&&self,p=l||f||Function("return this")(),h=p.Symbol,v=Object.prototype,y=v.hasOwnProperty,d=v.toString,b=h?h.toStringTag:void 0;var w=Object.prototype.toString;var g="[object Null]",_="[object Undefined]",m=h?h.toStringTag:void 0;function j(t){return null==t?void 0===t?_:g:m&&m in Object(t)?function(t){var e=y.call(t,b),n=t[b];try{t[b]=void 0;var r=!0}catch(t){}var o=d.call(t);return r&&(e?t[b]=n:delete t[b]),o}(t):function(t){return w.call(t)}(t)}function x(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var O="[object AsyncFunction]",F="[object Function]",S="[object GeneratorFunction]",k="[object Proxy]";function A(t){if(!x(t))return!1;var e=j(t);return e==F||e==S||e==O||e==k}var z,P=p["__core-js_shared__"],$=(z=/[^.]+$/.exec(P&&P.keys&&P.keys.IE_PROTO||""))?"Symbol(src)_1."+z:"";var E=Function.prototype.toString;function C(t){if(null!=t){try{return E.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var T=/^\[object .+?Constructor\]$/,B=Function.prototype,M=Object.prototype,L=B.toString,N=M.hasOwnProperty,I=RegExp("^"+L.call(N).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function U(t){return!(!x(t)||(e=t,$&&$ in e))&&(A(t)?I:T).test(C(t));var e}function q(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return U(n)?n:void 0}var D=q(p,"Map"),R=q(Object,"create");var V=Object.prototype.hasOwnProperty;var W=Object.prototype.hasOwnProperty;function G(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 H(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 J(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])}}G.prototype.clear=function(){this.__data__=R?R(null):{},this.size=0},G.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},G.prototype.get=function(t){var e=this.__data__;if(R){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return V.call(e,t)?e[t]:void 0},G.prototype.has=function(t){var e=this.__data__;return R?void 0!==e[t]:W.call(e,t)},G.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=R&&void 0===e?"__lodash_hash_undefined__":e,this},J.prototype.clear=function(){this.size=0,this.__data__={hash:new G,map:new(D||s),string:new G}},J.prototype.delete=function(t){var e=H(this,t).delete(t);return this.size-=e?1:0,e},J.prototype.get=function(t){return H(this,t).get(t)},J.prototype.has=function(t){return H(this,t).has(t)},J.prototype.set=function(t,e){var n=H(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function K(t){var e=this.__data__=new s(t);this.size=e.size}K.prototype.clear=function(){this.__data__=new s,this.size=0},K.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},K.prototype.get=function(t){return this.__data__.get(t)},K.prototype.has=function(t){return this.__data__.has(t)},K.prototype.set=function(t,e){var n=this.__data__;if(n instanceof s){var r=n.__data__;if(!D||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new J(r)}return n.set(t,e),this.size=n.size,this};function Q(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new J;++e<n;)this.add(t[e])}function X(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}Q.prototype.add=Q.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Q.prototype.has=function(t){return this.__data__.has(t)};var Y=1,Z=2;function tt(t,e,n,r,o,i){var a=n&Y,u=t.length,c=e.length;if(u!=c&&!(a&&c>u))return!1;var s=i.get(t),l=i.get(e);if(s&&l)return s==e&&l==t;var f=-1,p=!0,h=n&Z?new Q:void 0;for(i.set(t,e),i.set(e,t);++f<u;){var v=t[f],y=e[f];if(r)var d=a?r(y,v,f,e,t,i):r(v,y,f,t,e,i);if(void 0!==d){if(d)continue;p=!1;break}if(h){if(!X(e,(function(t,e){if(a=e,!h.has(a)&&(v===t||o(v,t,n,r,i)))return h.push(e);var a}))){p=!1;break}}else if(v!==y&&!o(v,y,n,r,i)){p=!1;break}}return i.delete(t),i.delete(e),p}var et=p.Uint8Array;function nt(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function rt(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var ot=1,it=2,at="[object Boolean]",ut="[object Date]",ct="[object Error]",st="[object Map]",lt="[object Number]",ft="[object RegExp]",pt="[object Set]",ht="[object String]",vt="[object Symbol]",yt="[object ArrayBuffer]",dt="[object DataView]",bt=h?h.prototype:void 0,wt=bt?bt.valueOf:void 0;var gt=Array.isArray;var _t=Object.prototype.propertyIsEnumerable,mt=Object.getOwnPropertySymbols,jt=mt?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var n=-1,r=null==t?0:t.length,o=0,i=[];++n<r;){var a=t[n];e(a,n,t)&&(i[o++]=a)}return i}(mt(t),(function(e){return _t.call(t,e)})))}:function(){return[]};function xt(t){return null!=t&&"object"==typeof t}function Ot(t){return xt(t)&&"[object Arguments]"==j(t)}var Ft=Object.prototype,St=Ft.hasOwnProperty,kt=Ft.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return xt(t)&&St.call(t,"callee")&&!kt.call(t,"callee")},zt=At;var Pt="object"==typeof t&&t&&!t.nodeType&&t,$t=Pt&&"object"==typeof module&&module&&!module.nodeType&&module,Et=$t&&$t.exports===Pt?p.Buffer:void 0,Ct=(Et?Et.isBuffer:void 0)||function(){return!1},Tt=9007199254740991,Bt=/^(?:0|[1-9]\d*)$/;function Mt(t,e){var n=typeof t;return!!(e=null==e?Tt:e)&&("number"==n||"symbol"!=n&&Bt.test(t))&&t>-1&&t%1==0&&t<e}var Lt=9007199254740991;function Nt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Lt}var It={};It["[object Float32Array]"]=It["[object Float64Array]"]=It["[object Int8Array]"]=It["[object Int16Array]"]=It["[object Int32Array]"]=It["[object Uint8Array]"]=It["[object Uint8ClampedArray]"]=It["[object Uint16Array]"]=It["[object Uint32Array]"]=!0,It["[object Arguments]"]=It["[object Array]"]=It["[object ArrayBuffer]"]=It["[object Boolean]"]=It["[object DataView]"]=It["[object Date]"]=It["[object Error]"]=It["[object Function]"]=It["[object Map]"]=It["[object Number]"]=It["[object Object]"]=It["[object RegExp]"]=It["[object Set]"]=It["[object String]"]=It["[object WeakMap]"]=!1;var Ut,qt="object"==typeof t&&t&&!t.nodeType&&t,Dt=qt&&"object"==typeof module&&module&&!module.nodeType&&module,Rt=Dt&&Dt.exports===qt&&l.process,Vt=function(){try{var t=Dt&&Dt.require&&Dt.require("util").types;return t||Rt&&Rt.binding&&Rt.binding("util")}catch(t){}}(),Wt=Vt&&Vt.isTypedArray,Gt=Wt?(Ut=Wt,function(t){return Ut(t)}):function(t){return xt(t)&&Nt(t.length)&&!!It[j(t)]},Ht=Object.prototype.hasOwnProperty;function Jt(t,e){var n=gt(t),r=!n&&zt(t),o=!n&&!r&&Ct(t),i=!n&&!r&&!o&&Gt(t),a=n||r||o||i,u=a?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],c=u.length;for(var s in t)!e&&!Ht.call(t,s)||a&&("length"==s||o&&("offset"==s||"parent"==s)||i&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||Mt(s,c))||u.push(s);return u}var Kt=Object.prototype;var Qt=function(t,e){return function(n){return t(e(n))}}(Object.keys,Object),Xt=Qt,Yt=Object.prototype.hasOwnProperty;function Zt(t){if(n=(e=t)&&e.constructor,e!==("function"==typeof n&&n.prototype||Kt))return Xt(t);var e,n,r=[];for(var o in Object(t))Yt.call(t,o)&&"constructor"!=o&&r.push(o);return r}function te(t){return null!=t&&Nt(t.length)&&!A(t)}function ee(t){return te(t)?Jt(t):Zt(t)}function ne(t){return function(t,e,n){var r=e(t);return gt(t)?r:function(t,e){for(var n=-1,r=e.length,o=t.length;++n<r;)t[o+n]=e[n];return t}(r,n(t))}(t,ee,jt)}var re=1,oe=Object.prototype.hasOwnProperty;var ie=q(p,"DataView"),ae=q(p,"Promise"),ue=q(p,"Set"),ce=q(p,"WeakMap"),se="[object Map]",le="[object Promise]",fe="[object Set]",pe="[object WeakMap]",he="[object DataView]",ve=C(ie),ye=C(D),de=C(ae),be=C(ue),we=C(ce),ge=j;(ie&&ge(new ie(new ArrayBuffer(1)))!=he||D&&ge(new D)!=se||ae&&ge(ae.resolve())!=le||ue&&ge(new ue)!=fe||ce&&ge(new ce)!=pe)&&(ge=function(t){var e=j(t),n="[object Object]"==e?t.constructor:void 0,r=n?C(n):"";if(r)switch(r){case ve:return he;case ye:return se;case de:return le;case be:return fe;case we:return pe}return e});var _e=ge,me=1,je="[object Arguments]",xe="[object Array]",Oe="[object Object]",Fe=Object.prototype.hasOwnProperty;function Se(t,e,n,r,o,i){var u=gt(t),c=gt(e),s=u?xe:_e(t),l=c?xe:_e(e),f=(s=s==je?Oe:s)==Oe,p=(l=l==je?Oe:l)==Oe,h=s==l;if(h&&Ct(t)){if(!Ct(e))return!1;u=!0,f=!1}if(h&&!f)return i||(i=new K),u||Gt(t)?tt(t,e,n,r,o,i):function(t,e,n,r,o,i,u){switch(n){case dt:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case yt:return!(t.byteLength!=e.byteLength||!i(new et(t),new et(e)));case at:case ut:case lt:return a(+t,+e);case ct:return t.name==e.name&&t.message==e.message;case ft:case ht:return t==e+"";case st:var c=nt;case pt:var s=r&ot;if(c||(c=rt),t.size!=e.size&&!s)return!1;var l=u.get(t);if(l)return l==e;r|=it,u.set(t,e);var f=tt(c(t),c(e),r,o,i,u);return u.delete(t),f;case vt:if(wt)return wt.call(t)==wt.call(e)}return!1}(t,e,s,n,r,o,i);if(!(n&me)){var v=f&&Fe.call(t,"__wrapped__"),y=p&&Fe.call(e,"__wrapped__");if(v||y){var d=v?t.value():t,b=y?e.value():e;return i||(i=new K),o(d,b,n,r,i)}}return!!h&&(i||(i=new K),function(t,e,n,r,o,i){var a=n&re,u=ne(t),c=u.length;if(c!=ne(e).length&&!a)return!1;for(var s=c;s--;){var l=u[s];if(!(a?l in e:oe.call(e,l)))return!1}var f=i.get(t),p=i.get(e);if(f&&p)return f==e&&p==t;var h=!0;i.set(t,e),i.set(e,t);for(var v=a;++s<c;){var y=t[l=u[s]],d=e[l];if(r)var b=a?r(d,y,l,e,t,i):r(y,d,l,t,e,i);if(!(void 0===b?y===d||o(y,d,n,r,i):b)){h=!1;break}v||(v="constructor"==l)}if(h&&!v){var w=t.constructor,g=e.constructor;w==g||!("constructor"in t)||!("constructor"in e)||"function"==typeof w&&w instanceof w&&"function"==typeof g&&g instanceof g||(h=!1)}return i.delete(t),i.delete(e),h}(t,e,n,r,o,i))}function ke(t,e,n,r,o){return t===e||(null==t||null==e||!xt(t)&&!xt(e)?t!=t&&e!=e:Se(t,e,n,r,ke,o))}var Ae=1,ze=2;function Pe(t){return t==t&&!x(t)}function $e(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}function Ee(t){var e=function(t){for(var e=ee(t),n=e.length;n--;){var r=e[n],o=t[r];e[n]=[r,o,Pe(o)]}return e}(t);return 1==e.length&&e[0][2]?$e(e[0][0],e[0][1]):function(n){return n===t||function(t,e,n,r){var o=n.length,i=o,a=!r;if(null==t)return!i;for(t=Object(t);o--;){var u=n[o];if(a&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<i;){var c=(u=n[o])[0],s=t[c],l=u[1];if(a&&u[2]){if(void 0===s&&!(c in t))return!1}else{var f=new K;if(r)var p=r(s,l,c,t,e,f);if(!(void 0===p?ke(l,s,Ae|ze,r,f):p))return!1}}return!0}(n,t,e)}}var Ce="[object Symbol]";function Te(t){return"symbol"==typeof t||xt(t)&&j(t)==Ce}var Be=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Me=/^\w*$/;function Le(t,e){if(gt(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!Te(t))||(Me.test(t)||!Be.test(t)||null!=e&&t in Object(e))}var Ne="Expected a function";function Ie(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(Ne);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 a=t.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(Ie.Cache||J),n}Ie.Cache=J;var Ue=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,qe=/\\(\\)?/g,De=function(t){var e=Ie(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(Ue,(function(t,n,r,o){e.push(r?o.replace(qe,"$1"):n||t)})),e})),Re=De,Ve=1/0,We=h?h.prototype:void 0,Ge=We?We.toString:void 0;function He(t){if("string"==typeof t)return t;if(gt(t))return i(t,He)+"";if(Te(t))return Ge?Ge.call(t):"";var e=t+"";return"0"==e&&1/t==-Ve?"-0":e}function Je(t){return null==t?"":He(t)}function Ke(t,e){return gt(t)?t:Le(t,e)?[t]:Re(Je(t))}var Qe=1/0;function Xe(t){if("string"==typeof t||Te(t))return t;var e=t+"";return"0"==e&&1/t==-Qe?"-0":e}function Ye(t,e){for(var n=0,r=(e=Ke(e,t)).length;null!=t&&n<r;)t=t[Xe(e[n++])];return n&&n==r?t:void 0}function Ze(t,e,n){var r=null==t?void 0:Ye(t,e);return void 0===r?n:r}function tn(t,e){return null!=t&&e in Object(t)}function en(t,e){return null!=t&&function(t,e,n){for(var r=-1,o=(e=Ke(e,t)).length,i=!1;++r<o;){var a=Xe(e[r]);if(!(i=null!=t&&n(t,a)))break;t=t[a]}return i||++r!=o?i:!!(o=null==t?0:t.length)&&Nt(o)&&Mt(a,o)&&(gt(t)||zt(t))}(t,e,tn)}var nn=1,rn=2;function on(t){return t}function an(t){return function(e){return null==e?void 0:e[t]}}function un(t){return Le(t)?an(Xe(t)):function(t){return function(e){return Ye(e,t)}}(t)}function cn(t){return"function"==typeof t?t:null==t?on:"object"==typeof t?gt(t)?(e=t[0],n=t[1],Le(e)&&Pe(n)?$e(Xe(e),n):function(t){var r=Ze(t,e);return void 0===r&&r===n?en(t,e):ke(n,r,nn|rn)}):Ee(t):un(t);var e,n}var sn,ln=function(t,e,n){for(var r=-1,o=Object(t),i=n(t),a=i.length;a--;){var u=i[sn?a:++r];if(!1===e(o[u],u,o))break}return t};var fn=function(t,e){return function(n,r){if(null==n)return n;if(!te(n))return t(n,r);for(var o=n.length,i=e?o:-1,a=Object(n);(e?i--:++i<o)&&!1!==r(a[i],i,a););return n}}((function(t,e){return t&&ln(t,e,ee)})),pn=fn;function hn(t,e){var n=-1,r=te(t)?Array(t.length):[];return pn(t,(function(t,o,i){r[++n]=e(t,o,i)})),r}function vn(t,e){return(gt(t)?i:hn)(t,cn(e))}var yn=/\s/;var dn=/^\s+/;function bn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&yn.test(t.charAt(e)););return e}(t)+1).replace(dn,""):t}var wn=NaN,gn=/^[-+]0x[0-9a-f]+$/i,_n=/^0b[01]+$/i,mn=/^0o[0-7]+$/i,jn=parseInt;function xn(t){if("number"==typeof t)return t;if(Te(t))return wn;if(x(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=x(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=bn(t);var n=_n.test(t);return n||mn.test(t)?jn(t.slice(2),n?2:8):gn.test(t)?wn:+t}var On=1/0,Fn=17976931348623157e292;function Sn(t){return t?(t=xn(t))===On||t===-On?(t<0?-1:1)*Fn:t==t?t:0:0===t?t:0}function kn(t){var e=Sn(t),n=e%1;return e==e?n?e-n:e:0}function An(t){return"[object String]"===Object.prototype.toString.call(t)}function zn(t){return t!=t}function Pn(t){let e=!1;if(function(t){return!(!An(t)||""===t)}(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(zn(t))return!1;e=!0}return e}function $n(t){if(!Pn(t))return 0;return Sn(t)}function En(t){return!!Pn(t)&&(t=$n(t),"number"==typeof(e=t)&&e==kn(e));var e}var Cn=p.isFinite,Tn=Math.min;var Bn=function(t){var e=Math[t];return function(t,n){if(t=xn(t),(n=null==n?0:Tn(kn(n),292))&&Cn(t)){var r=(Je(t)+"e").split("e");return+((r=(Je(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return e(t)}}("round"),Mn=Bn;function Ln(t){if(!Pn(t))return 0;t=$n(t);let e=Mn(t);return"0"===String(e)?0:e}function Nn(t){if(!En(t))return!1;return Ln(t)>0}function In(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}function Un(t,e){var n;return(gt(t)?In:pn)(t,"function"==typeof(n=e)?n:on)}var qn="[object String]";var Dn=an("length"),Rn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var Vn="\\ud800-\\udfff",Wn="["+Vn+"]",Gn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Hn="\\ud83c[\\udffb-\\udfff]",Jn="[^"+Vn+"]",Kn="(?:\\ud83c[\\udde6-\\uddff]){2}",Qn="[\\ud800-\\udbff][\\udc00-\\udfff]",Xn="(?:"+Gn+"|"+Hn+")"+"?",Yn="[\\ufe0e\\ufe0f]?",Zn=Yn+Xn+("(?:\\u200d(?:"+[Jn,Kn,Qn].join("|")+")"+Yn+Xn+")*"),tr="(?:"+[Jn+Gn+"?",Gn,Kn,Qn,Wn].join("|")+")",er=RegExp(Hn+"(?="+Hn+")|"+tr+Zn,"g");function nr(t){return function(t){return Rn.test(t)}(t)?function(t){for(var e=er.lastIndex=0;er.test(t);)++e;return e}(t):Dn(t)}var rr="[object Map]",or="[object Set]";function ir(t){if(null==t)return 0;if(te(t))return"string"==typeof(e=t)||!gt(e)&&xt(e)&&j(e)==qn?nr(t):t.length;var e,n=_e(t);return n==rr||n==or?t.size:Zt(t).length}function ar(t){return null==t?[]:function(t,e){return i(e,(function(e){return t[e]}))}(t,ee(t))}function ur(){let t,e,n=new Promise((function(){t=arguments[0],e=arguments[1]}));return n.resolve=t,n.reject=e,n}function cr(t){return"[object Array]"===Object.prototype.toString.call(t)}function sr(t){return"[object Object]"===Object.prototype.toString.call(t)}function lr(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}var fr={};!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,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var u=new o(r,i||t,a),c=n?n+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],u]:t._events[c].push(u):(t._events[c]=u,t._eventsCount++),t}function a(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function u(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),u.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},u.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,a=new Array(i);o<i;o++)a[o]=r[o].fn;return a},u.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},u.prototype.emit=function(t,e,r,o,i,a){var u=n?n+t:t;if(!this._events[u])return!1;var c,s,l=this._events[u],f=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),f){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,a),!0}for(s=1,c=new Array(f-1);s<f;s++)c[s-1]=arguments[s];l.fn.apply(l.context,c)}else{var p,h=l.length;for(s=0;s<h;s++)switch(l[s].once&&this.removeListener(t,l[s].fn,void 0,!0),f){case 1:l[s].fn.call(l[s].context);break;case 2:l[s].fn.call(l[s].context,e);break;case 3:l[s].fn.call(l[s].context,e,r);break;case 4:l[s].fn.call(l[s].context,e,r,o);break;default:if(!c)for(p=1,c=new Array(f-1);p<f;p++)c[p-1]=arguments[p];l[s].fn.apply(l[s].context,c)}}return!0},u.prototype.on=function(t,e,n){return i(this,t,e,n,!1)},u.prototype.once=function(t,e,n){return i(this,t,e,n,!0)},u.prototype.removeListener=function(t,e,r,o){var i=n?n+t:t;if(!this._events[i])return this;if(!e)return a(this,i),this;var u=this._events[i];if(u.fn)u.fn!==e||o&&!u.once||r&&u.context!==r||a(this,i);else{for(var c=0,s=[],l=u.length;c<l;c++)(u[c].fn!==e||o&&!u[c].once||r&&u[c].context!==r)&&s.push(u[c]);s.length?this._events[i]=1===s.length?s[0]:s:a(this,i)}return this},u.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&a(this,e)):(this._events=new r,this._eventsCount=0),this},u.prototype.off=u.prototype.removeListener,u.prototype.addListener=u.prototype.on,u.prefixed=n,u.EventEmitter=u,t.exports=u}({get exports(){return fr},set exports(t){fr=t}});var pr=fr;function hr(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=0,n=[];var r;En(r=t)&&Ln(r)<0&&(t=0),t=Ln(t);let o=new pr;return o.get=function(){if(n.length>0){return e+=1,n.splice(0,1)[0]}return null},o.cb=function(){e-=1,e<0&&(e=0),n.length>0&&o.emit("message",n)},o.push=function(r){n.push(r),(t<=0||e<t)&&o.emit("message",n)},o.clear=function(){e=0,n=[]},o}function vr(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r={},o=!1,i=ur();if(!cr(t)&&!sr(t))return i.reject("rs is not an array or object"),i;if(0===ir(t))return i.resolve([]),i;let a=!1;if(sr(t)){a=!0;let e=[];Un(t,((t,n)=>{e.push({k:n,v:t})})),t=e}let u=hr(n);return u.on("message",(function(n){if(o)return;let c,s=u.get();if(lr(e)){let t=s.key,n=s.value;if(a&&(t=s.value.k,n=s.value.v),c=e(n,t),!function(t){let e,n=Object.prototype.toString.call(t);if(e="[object Promise]"===n,e)return!0;if("[object Function]"!==n)return!1;try{e="function"!=typeof t.subscribe&&"function"==typeof t.then}catch(t){}return e}(c))throw new Error("return of fun is not a promise")}else c=s.value;c.then((t=>{r[s.key]=t})).catch((t=>{o=!0,u.clear(),i.reject(t)})).finally((()=>{u.cb(),ir(r)===ir(t)&&i.resolve(ar(r))}))})),Un(t,((t,e)=>{u.push({key:e,value:t})})),i}var yr="[object Boolean]";function dr(t){return!0===(e=t)||!1===e||xt(e)&&j(e)==yr;var e}function br(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(sr(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!An(t)||""!==t)}(t)||(!!function(t){return!!cr(t)&&0===t.length}(t)||!!zn(t)))))}function wr(t,e,n){var r=null==t?0:t.length;return r?function(t,e,n){var r=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=Array(o);++r<o;)i[r]=t[r+e];return i}(t,(e=n||void 0===e?1:kn(e))<0?0:e,r):[]}async function gr(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Ze(e,"headless");dr(r)||(r=!0);let o=Ze(e,"viewport");sr(o)||(o={x:0,y:0,width:800,height:600});let i=Ze(e,"actions");cr(i)||(i=[]);let a=Ze(e,"waitsec");En(a)||(a=5);let u={headless:r,slowMo:20},c=await n.launch(u),s=await c.newPage();async function l(t){let e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(n=Ln(n),0===n){if(e=await s.$(t),br(e))return console.log("page.$ get no result: "+t),null}else{let r=await s.$$(t);if(0===r.length)return console.log("page.$$ get no result: "+t),null;e=n<0?r[r.length+n]:r[n]}if(br(e))return console.log("invalid ele: "+t),null;if(br(e.boundingBox))return console.log("invalid ele.boundingBox: "+t),null;let r=await e.boundingBox();return r.cx=r.x+r.width/2,r.cy=r.y+r.height/2,r.ele=e,r}await s.goto(t),await s.setViewport(o),await s.waitFor(1e3*a),await function(t,e){let n=ur();if(!cr(t)&&!sr(t))return n.reject("rs is not an array or object"),n;let r=!1;if(sr(t)){r=!0;let e=[];Un(t,((t,n)=>{e.push({k:n,v:t})})),t=e}lr(e)||(e=function(t){return t});let o=-1,i=[];return t.reduce((function(t,n){return t.then((function(t){i.push(t),o+=1;let a=o,u=n;return r&&(a=n.k,u=n.v),lr(e)?e(u,a):u}))}),Promise.resolve()).then((function(t){i.push(t),i=wr(i),n.resolve(i)})).catch((function(t){n.reject(t)})),n}(i,(async function(t){if("wait"===t.mode)await s.waitFor(t.time);else if("resize"===t.mode)await s.waitFor(300),await s.setViewport({x:0,y:0,width:t.width,height:t.height}),await s.waitFor(300);else if("move"===t.mode)await s.waitFor(300),await s.mouse.move(t.x1,t.y1),await s.waitFor(300);else if("elemove"===t.mode){await s.waitFor(300);let e=await l(t.selector,t.nth);e&&(await s.mouse.move(e.cx,e.cy),await s.waitFor(300))}else if("elehover"===t.mode)await s.waitFor(300),await s.hover(t.selector),await s.waitFor(300);else if("drag"===t.mode)await s.waitFor(300),await s.mouse.move(t.x1,t.y1),await s.mouse.down(),await s.waitFor(300),await s.mouse.move(t.x2,t.y2,{steps:50}),await s.waitFor(300),await s.mouse.up(),await s.waitFor(300);else if("eledrag"===t.mode){await s.waitFor(300);let e=await l(t.selector,t.nth);e&&(await s.mouse.move(e.cx,e.cy),await s.mouse.down(),await s.waitFor(300),await s.mouse.move(e.cx+t.shiftx,e.cy+t.shifty,{steps:50}),await s.waitFor(300),await s.mouse.up(),await s.waitFor(300))}else if("click"===t.mode)await s.waitFor(300),await s.mouse.move(t.x1,t.y1),await s.mouse.down(),await s.mouse.up(),await s.waitFor(300);else if("eleclick"===t.mode){await s.waitFor(300);let e=await l(t.selector,t.nth);e&&(await e.ele.click(),await s.waitFor(300))}else if("dbclick"===t.mode)await s.waitFor(300),await s.mouse.click(t.x1,t.y1,{clickCount:2}),await s.waitFor(300);else if("eledbclick"===t.mode){await s.waitFor(300);let e=await l(t.selector,t.nth);e&&(await e.ele.click({clickCount:2}),await s.waitFor(300))}else if("type"===t.mode)await s.waitFor(300),await s.keyboard.type(t.str,{delay:50}),t.noEnter||await s.keyboard.type(String.fromCharCode(13)),await s.waitFor(300);else if("eletype"===t.mode){await s.waitFor(300);let e=await l(t.selector,t.nth);e&&(await e.ele.click(),await s.waitFor(50),await s.keyboard.type(t.str,{delay:50}),t.noEnter||await s.keyboard.type(String.fromCharCode(13)),await s.waitFor(300))}else if("keypress"===t.mode){await s.waitFor(300);let e=Ln(t.count);e<=0&&(e=1);for(let n=0;n<e;n++)await s.keyboard.press(t.key);await s.waitFor(300)}else if("elefocus"===t.mode){await s.waitFor(300);let e=await l(t.selector,t.nth);e&&(await e.ele.focus(),await s.waitFor(300))}else console.log("mode is unrecognized: "+t.mode)})),await s.waitFor(2e3);let f=await s.screenshot({encoding:"base64"});return await s.close(),await c.close(),f}async function _r(t){let e=Buffer.from(t,"base64");return(await r.read(e)).bitmap.data}async function mr(t,e){return function(t,e){if(t.length!==e.length)return 0;let n=0,r=t.length;for(let r=0,o=t.length;r<o;r++)n+=Math.abs(t[r]-e[r])/255;return n=1-Math.pow(n/r,1/3),n}(await _r(t),await _r(e))}async function jr(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=e.promises,o=await r.readdir(t);return""!==n&&(o=o.filter((function(t){return t.indexOf(n)>=0}))),o}function xr(t){let n=e.readFileSync(t,"utf8");return o.parse(n)}t.build=async function(t,n,r,o){if(!e.existsSync(t))return void console.log("build: folder not exits: ",t);if(!A(n)&&!e.existsSync(n))return void console.log("build: folder not exits: ",n);e.existsSync(r)||e.mkdirSync(r);let i=await jr(t,".html");A(o.htmlFilter)&&(i=o.htmlFilter(i));let a=vn(i,(function(e){let o=e.replace(".html",""),i={name:o,actions:[],url:t+e,fn_png:r+o+".png",fn_base64:r+o+".base64"};return A(n)?i.actions=n(o):i.actions=xr(n+o+".action.json"),i}));await async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Ze(n,"headless"),o=Ze(n,"viewport"),i=Ze(n,"waitsec"),a=10;return Nn(n.num_web)&&(a=Ln(n.num_web)),vr(t,(async function(t){console.log("expBuild: "+t.name);let n={headless:r,viewport:o,actions:t.actions,waitsec:i},a=await gr(t.url,n);t.fn_png&&e.writeFileSync(t.fn_png,a,"base64"),t.fn_base64&&e.writeFileSync(t.fn_base64,a,"utf8"),console.log("success: "+t.name)}),a).then((()=>{console.log("%s","expBuild success")})).catch((t=>{console.log("%s","expBuild error: "+t)}))}(a,o)},t.test=async function(t,n,r,o){if(!e.existsSync(t))return void console.log("test: folder not exits: ",t);if(!A(n)&&!e.existsSync(n))return void console.log("build: folder not exits: ",n);if(!e.existsSync(r))return void console.log("test: folder not exits: ",r);let i=await jr(t,".html");A(o.htmlFilter)&&(i=o.htmlFilter(i));let a=vn(i,(function(e){let o=e.replace(".html",""),i={name:o,actions:[],url:t+e,fn_base64:r+o+".base64"};return A(n)?i.actions=n(o):i.actions=xr(n+o+".action.json"),i}));await async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Ze(n,"headless"),o=Ze(n,"viewport"),i=Ze(n,"waitsec"),a=10;Nn(n.num_web)&&(a=Ln(n.num_web));let u=1;Pn(n.ratio_similar)&&(u=$n(n.ratio_similar));let c=!1;return vr(t,(async function(t){console.log("expTest: "+t.name);let n,a={headless:r,viewport:o,actions:t.actions,waitsec:i},s=await gr(t.url,a),l=e.readFileSync(t.fn_base64,"utf8");if(1===u)n=s===l;else{let t=await mr(s,l);n=t>=u;let e=n?" >= ":"<";console.log(`ratio[${t}] ${e} ratio_similar[${u}]`)}return n?(c||console.log("success: "+t.name),t.name):(c||(console.log("error: "+t.name),e.writeFileSync(t.name+".err.png",s,"base64")),c=!0,Promise.reject(t.name))}),a).then((()=>{console.log("%s","expTest success")})).catch((t=>{console.log("%s","expTest error: "+t)}))}(a,o)}})); //# sourceMappingURL=exp.umd.js.map