ast-deep-contains
Version:
Like t.same assert on array of objects, where element order doesn't matter.
35 lines (33 loc) • 22.1 kB
JavaScript
/**
* @name ast-deep-contains
* @fileoverview Like t.same assert on array of objects, where element order doesn't matter.
* @version 5.1.0
* @author Roy Revelt
* @license MIT
* {@link https://codsen.com/os/ast-deep-contains/}
*/
;var astDeepContains=(()=>{var Cr=Object.create;var F=Object.defineProperty,Pr=Object.defineProperties,Ur=Object.getOwnPropertyDescriptor,Vr=Object.getOwnPropertyDescriptors,Mr=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,Rr=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty,Lr=Object.prototype.propertyIsEnumerable;var q=(r,t,u)=>t in r?F(r,t,{enumerable:!0,configurable:!0,writable:!0,value:u}):r[t]=u,T=(r,t)=>{for(var u in t||(t={}))z.call(t,u)&&q(r,u,t[u]);if(Q)for(var u of Q(t))Lr.call(t,u)&&q(r,u,t[u]);return r},B=(r,t)=>Pr(r,Vr(t));var Y=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Wr=(r,t)=>{for(var u in t)F(r,u,{get:t[u],enumerable:!0})},Z=(r,t,u,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let w of Mr(t))!z.call(r,w)&&w!==u&&F(r,w,{get:()=>t[w],enumerable:!(d=Ur(t,w))||d.enumerable});return r};var W=(r,t,u)=>(u=r!=null?Cr(Rr(r)):{},Z(t||!r||!r.__esModule?F(u,"default",{value:r,enumerable:!0}):u,r)),Gr=r=>Z(F({},"__esModule",{value:!0}),r);var v=Y((X,M)=>{(function(r,t){"use strict";typeof M=="object"&&typeof M.exports=="object"?M.exports=t():typeof define=="function"&&define.amd?define([],t):r.objectPath=t()})(X,function(){"use strict";var r=Object.prototype.toString;function t(o,n){return o==null?!1:Object.prototype.hasOwnProperty.call(o,n)}function u(o){if(!o||A(o)&&o.length===0)return!0;if(typeof o!="string"){for(var n in o)if(t(o,n))return!1;return!0}return!1}function d(o){return r.call(o)}function w(o){return typeof o=="object"&&d(o)==="[object Object]"}var A=Array.isArray||function(o){return r.call(o)==="[object Array]"};function a(o){return typeof o=="boolean"||d(o)==="[object Boolean]"}function s(o){var n=parseInt(o);return n.toString()===o?n:o}function i(o){o=o||{};var n=function(p){return Object.keys(n).reduce(function(e,f){return f==="create"||typeof n[f]=="function"&&(e[f]=n[f].bind(n,p)),e},{})},l;o.includeInheritedProps?l=function(){return!0}:l=function(p,e){return typeof e=="number"&&Array.isArray(p)||t(p,e)};function S(p,e){if(l(p,e))return p[e]}var x;o.includeInheritedProps?x=function(p,e){typeof e!="string"&&typeof e!="number"&&(e=String(e));var f=S(p,e);if(e==="__proto__"||e==="prototype"||e==="constructor"&&typeof f=="function")throw new Error("For security reasons, object's magic properties cannot be set");return f}:x=function(p,e){return S(p,e)};function I(p,e,f,y){if(typeof e=="number"&&(e=[e]),!e||e.length===0)return p;if(typeof e=="string")return I(p,e.split(".").map(s),f,y);var h=e[0],E=x(p,h);return e.length===1?((E===void 0||!y)&&(p[h]=f),E):(E===void 0&&(typeof e[1]=="number"?p[h]=[]:p[h]={}),I(p[h],e.slice(1),f,y))}return n.has=function(p,e){if(typeof e=="number"?e=[e]:typeof e=="string"&&(e=e.split(".")),!e||e.length===0)return!!p;for(var f=0;f<e.length;f++){var y=s(e[f]);if(typeof y=="number"&&A(p)&&y<p.length||(o.includeInheritedProps?y in Object(p):t(p,y)))p=p[y];else return!1}return!0},n.ensureExists=function(p,e,f){return I(p,e,f,!0)},n.set=function(p,e,f,y){return I(p,e,f,y)},n.insert=function(p,e,f,y){var h=n.get(p,e);y=~~y,A(h)||(h=[],n.set(p,e,h)),h.splice(y,0,f)},n.empty=function(p,e){if(!u(e)&&p!=null){var f,y;if(f=n.get(p,e)){if(typeof f=="string")return n.set(p,e,"");if(a(f))return n.set(p,e,!1);if(typeof f=="number")return n.set(p,e,0);if(A(f))f.length=0;else if(w(f))for(y in f)l(f,y)&&delete f[y];else return n.set(p,e,null)}}},n.push=function(p,e){var f=n.get(p,e);A(f)||(f=[],n.set(p,e,f)),f.push.apply(f,Array.prototype.slice.call(arguments,2))},n.coalesce=function(p,e,f){for(var y,h=0,E=e.length;h<E;h++)if((y=n.get(p,e[h]))!==void 0)return y;return f},n.get=function(p,e,f){if(typeof e=="number"&&(e=[e]),!e||e.length===0)return p;if(p==null)return f;if(typeof e=="string")return n.get(p,e.split("."),f);var y=s(e[0]),h=x(p,y);return h===void 0?f:e.length===1?h:n.get(p[y],e.slice(1),f)},n.del=function(e,f){if(typeof f=="number"&&(f=[f]),e==null||u(f))return e;if(typeof f=="string")return n.del(e,f.split("."));var y=s(f[0]);if(x(e,y),!l(e,y))return e;if(f.length===1)A(e)?e.splice(y,1):delete e[y];else return n.del(e[y],f.slice(1));return e},n}var c=i();return c.create=i,c.withInheritedProps=i({includeInheritedProps:!0}),c})});var G=Y((dn,rr)=>{"use strict";rr.exports=Jr;function k(r){return r instanceof Buffer?Buffer.from(r):new r.constructor(r.buffer.slice(),r.byteOffset,r.length)}function Jr(r){if(r=r||{},r.circles)return gr(r);let t=new Map;if(t.set(Date,a=>new Date(a)),t.set(Map,(a,s)=>new Map(d(Array.from(a),s))),t.set(Set,(a,s)=>new Set(d(Array.from(a),s))),r.constructorHandlers)for(let a of r.constructorHandlers)t.set(a[0],a[1]);let u=null;return r.proto?A:w;function d(a,s){let i=Object.keys(a),c=new Array(i.length);for(let o=0;o<i.length;o++){let n=i[o],l=a[n];typeof l!="object"||l===null?c[n]=l:l.constructor!==Object&&(u=t.get(l.constructor))?c[n]=u(l,s):ArrayBuffer.isView(l)?c[n]=k(l):c[n]=s(l)}return c}function w(a){if(typeof a!="object"||a===null)return a;if(Array.isArray(a))return d(a,w);if(a.constructor!==Object&&(u=t.get(a.constructor)))return u(a,w);let s={};for(let i in a){if(Object.hasOwnProperty.call(a,i)===!1)continue;let c=a[i];typeof c!="object"||c===null?s[i]=c:c.constructor!==Object&&(u=t.get(c.constructor))?s[i]=u(c,w):ArrayBuffer.isView(c)?s[i]=k(c):s[i]=w(c)}return s}function A(a){if(typeof a!="object"||a===null)return a;if(Array.isArray(a))return d(a,A);if(a.constructor!==Object&&(u=t.get(a.constructor)))return u(a,A);let s={};for(let i in a){let c=a[i];typeof c!="object"||c===null?s[i]=c:c.constructor!==Object&&(u=t.get(c.constructor))?s[i]=u(c,A):ArrayBuffer.isView(c)?s[i]=k(c):s[i]=A(c)}return s}}function gr(r){let t=[],u=[],d=new Map;if(d.set(Date,i=>new Date(i)),d.set(Map,(i,c)=>new Map(A(Array.from(i),c))),d.set(Set,(i,c)=>new Set(A(Array.from(i),c))),r.constructorHandlers)for(let i of r.constructorHandlers)d.set(i[0],i[1]);let w=null;return r.proto?s:a;function A(i,c){let o=Object.keys(i),n=new Array(o.length);for(let l=0;l<o.length;l++){let S=o[l],x=i[S];if(typeof x!="object"||x===null)n[S]=x;else if(x.constructor!==Object&&(w=d.get(x.constructor)))n[S]=w(x,c);else if(ArrayBuffer.isView(x))n[S]=k(x);else{let I=t.indexOf(x);I!==-1?n[S]=u[I]:n[S]=c(x)}}return n}function a(i){if(typeof i!="object"||i===null)return i;if(Array.isArray(i))return A(i,a);if(i.constructor!==Object&&(w=d.get(i.constructor)))return w(i,a);let c={};t.push(i),u.push(c);for(let o in i){if(Object.hasOwnProperty.call(i,o)===!1)continue;let n=i[o];if(typeof n!="object"||n===null)c[o]=n;else if(n.constructor!==Object&&(w=d.get(n.constructor)))c[o]=w(n,a);else if(ArrayBuffer.isView(n))c[o]=k(n);else{let l=t.indexOf(n);l!==-1?c[o]=u[l]:c[o]=a(n)}}return t.pop(),u.pop(),c}function s(i){if(typeof i!="object"||i===null)return i;if(Array.isArray(i))return A(i,s);if(i.constructor!==Object&&(w=d.get(i.constructor)))return w(i,s);let c={};t.push(i),u.push(c);for(let o in i){let n=i[o];if(typeof n!="object"||n===null)c[o]=n;else if(n.constructor!==Object&&(w=d.get(n.constructor)))c[o]=w(n,s);else if(ArrayBuffer.isView(n))c[o]=k(n);else{let l=t.indexOf(n);l!==-1?c[o]=u[l]:c[o]=s(n)}}return t.pop(),u.pop(),c}}});var ln={};Wr(ln,{deepContains:()=>Fr,defaults:()=>jr,version:()=>pn});var L=W(v(),1);var er=W(G(),1);var tr=W(G(),1);var bn=(0,tr.default)();function nr(r){if(r==null||typeof r!="object")return!1;let t=Object.getPrototypeOf(r);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null?!1:!(Symbol.iterator in r)&&!(Symbol.toStringTag in r)}function J(r){if(r.includes(".")){let t=r.lastIndexOf(".");if(!r.slice(0,t).includes("."))return r.slice(0,t);for(let u=t-1;u--;)if(r[u]===".")return r.slice(u+1,t)}return null}var g=(0,er.default)();function ir(r,t){let u={now:!1};function d(w,A,a,s){let i=g(w),c,o=T({depth:-1,path:""},a);if(o.depth+=1,Array.isArray(i))for(let n=0,l=i.length;n<l&&!s.now;n++){let S=o.path?"".concat(o.path,".").concat(n):"".concat(n);i[n]!==void 0?(o.parent=g(i),o.parentType="array",o.parentKey=J(S),c=d(A(i[n],void 0,B(T({},o),{path:S}),s),A,B(T({},o),{path:S}),s),Number.isNaN(c)&&n<i.length?(i.splice(n,1),n-=1):i[n]=c):i.splice(n,1)}else if(nr(i))for(let n in i){if(s.now&&n!=null)break;let l=o.path?"".concat(o.path,".").concat(n):n;o.depth===0&&n!=null&&(o.topmostKey=n),o.parent=g(i),o.parentType="object",o.parentKey=J(l),c=d(A(n,i[n],B(T({},o),{path:l}),s),A,B(T({},o),{path:l}),s),Number.isNaN(c)?delete i[n]:i[n]=c}return i}return d(r,t,{},u)}function or(r){return Object.keys(r)}var cr=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Hr(r){return cr.includes(r)}var fr=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","WeakRef","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement","NaN",...cr];function Kr(r){return fr.includes(r)}var pr=["null","undefined","string","number","bigint","boolean","symbol"];function _r(r){return pr.includes(r)}var Tn=["positive number","negative number","Class","string with a number","null or undefined","Iterable","AsyncIterable","native Promise","EnumCase","string with a URL","truthy","falsy","primitive","integer","plain object","TypedArray","array-like","tuple-like","Node.js Stream","infinite number","empty array","non-empty array","empty string","empty string or whitespace","non-empty string","non-empty string and not whitespace","empty object","non-empty object","empty set","non-empty set","empty map","non-empty map","PropertyKey","even integer","odd integer","T","in range","predicate returns truthy for any value","predicate returns truthy for all values","valid Date","valid length","whitespace string",...fr,...pr],b=r=>{let t=Object.prototype.toString.call(r).slice(8,-1);if(/HTML\w+Element/.test(t)&&wr(r))return"HTMLElement";if(Kr(t))return t};function ur(r){if(r===null)return"null";switch(typeof r){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(r)?"NaN":"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(K(r))return"Observable";if(D(r))return"Array";if(dr(r))return"Buffer";let t=b(r);if(t&&t!=="Object")return t;if(yr(r))return"Promise";if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}function yr(r){return $(r==null?void 0:r.then)&&$(r==null?void 0:r.catch)}var Qr=Object.assign(ur,{all:qr,any:lr,array:D,arrayBuffer:Yr,arrayLike:Zr,asyncFunction:Xr,asyncGenerator:vr,asyncGeneratorFunction:rt,asyncIterable:sr,bigint:tt,bigInt64Array:nt,bigUint64Array:et,blob:it,boolean:ot,boundFunction:ut,buffer:dr,class:ct,dataView:ft,date:br,detect:ur,directInstanceOf:pt,emptyArray:yt,emptyMap:at,emptyObject:lt,emptySet:st,emptyString:hr,emptyStringOrWhitespace:H,enumCase:dt,error:bt,evenInteger:ht,falsy:wt,float32Array:At,float64Array:Et,formData:xt,function:$,generator:St,generatorFunction:$t,htmlElement:wr,infinite:Nt,inRange:mt,int16Array:It,int32Array:Dt,int8Array:kt,integer:Ar,iterable:Er,map:C,nan:xr,nativePromise:Sr,negativeNumber:jt,nodeStream:Ft,nonEmptyArray:Bt,nonEmptyMap:Ct,nonEmptyObject:Pt,nonEmptySet:Ut,nonEmptyString:Vt,nonEmptyStringAndNotWhitespace:Mt,null:R,nullOrUndefined:$r,number:P,numericString:Rt,object:U,observable:K,oddInteger:Lt,plainObject:Or,positiveNumber:Wt,primitive:Gt,promise:Jt,propertyKey:gt,regExp:Ht,safeInteger:Tr,set:V,sharedArrayBuffer:Kt,string:N,symbol:Nr,truthy:_t,tupleLike:Qt,typedArray:qt,uint16Array:zt,uint32Array:Yt,uint8Array:Zt,uint8ClampedArray:Xt,undefined:_,urlInstance:vt,urlSearchParams:rn,urlString:tn,optional:zr,validDate:nn,validLength:mr,weakMap:en,weakRef:on,weakSet:un,whitespaceString:Ir});function ar(r){return t=>Ar(t)&&Math.abs(t%2)===r}function qr(r,...t){return Dr(Array.prototype.every,r,t)}function lr(r,...t){return(D(r)?r:[r]).some(d=>Dr(Array.prototype.some,d,t))}function zr(r,t){return _(r)||t(r)}function D(r,t){return Array.isArray(r)?$(t)?r.every(u=>t(u)):!0:!1}function Yr(r){return b(r)==="ArrayBuffer"}function Zr(r){return!$r(r)&&!$(r)&&mr(r.length)}function Xr(r){return b(r)==="AsyncFunction"}function vr(r){return sr(r)&&$(r.next)&&$(r.throw)}function rt(r){return b(r)==="AsyncGeneratorFunction"}function sr(r){return $(r==null?void 0:r[Symbol.asyncIterator])}function tt(r){return typeof r=="bigint"}function nt(r){return b(r)==="BigInt64Array"}function et(r){return b(r)==="BigUint64Array"}function it(r){return b(r)==="Blob"}function ot(r){return r===!0||r===!1}function ut(r){return $(r)&&!Object.hasOwn(r,"prototype")}function dr(r){var t,u,d;return(d=(u=(t=r==null?void 0:r.constructor)==null?void 0:t.isBuffer)==null?void 0:u.call(t,r))!=null?d:!1}function ct(r){return $(r)&&r.toString().startsWith("class ")}function ft(r){return b(r)==="DataView"}function br(r){return b(r)==="Date"}function pt(r,t){return r==null?!1:Object.getPrototypeOf(r)===t.prototype}function yt(r){return D(r)&&r.length===0}function at(r){return C(r)&&r.size===0}function lt(r){return U(r)&&!C(r)&&!V(r)&&Object.keys(r).length===0}function st(r){return V(r)&&r.size===0}function hr(r){return N(r)&&r.length===0}function H(r){return hr(r)||Ir(r)}function dt(r,t){return Object.values(t).includes(r)}function bt(r){return b(r)==="Error"}function ht(r){return ar(0)(r)}function wt(r){return!r}function At(r){return b(r)==="Float32Array"}function Et(r){return b(r)==="Float64Array"}function xt(r){return b(r)==="FormData"}function $(r){return typeof r=="function"}function St(r){return Er(r)&&$(r==null?void 0:r.next)&&$(r==null?void 0:r.throw)}function $t(r){return b(r)==="GeneratorFunction"}var Ot=1,Tt=["innerHTML","ownerDocument","style","attributes","nodeValue"];function wr(r){return U(r)&&r.nodeType===Ot&&N(r.nodeName)&&!Or(r)&&Tt.every(t=>t in r)}function Nt(r){return r===Number.POSITIVE_INFINITY||r===Number.NEGATIVE_INFINITY}function mt(r,t){if(P(t))return r>=Math.min(0,t)&&r<=Math.max(t,0);if(D(t)&&t.length===2)return r>=Math.min(...t)&&r<=Math.max(...t);throw new TypeError("Invalid range: ".concat(JSON.stringify(t)))}function It(r){return b(r)==="Int16Array"}function Dt(r){return b(r)==="Int32Array"}function kt(r){return b(r)==="Int8Array"}function Ar(r){return Number.isInteger(r)}function Er(r){return $(r==null?void 0:r[Symbol.iterator])}function C(r){return b(r)==="Map"}function xr(r){return Number.isNaN(r)}function Sr(r){return b(r)==="Promise"}function jt(r){return P(r)&&r<0}function Ft(r){return U(r)&&$(r.pipe)&&!K(r)}function Bt(r){return D(r)&&r.length>0}function Ct(r){return C(r)&&r.size>0}function Pt(r){return U(r)&&!C(r)&&!V(r)&&Object.keys(r).length>0}function Ut(r){return V(r)&&r.size>0}function Vt(r){return N(r)&&r.length>0}function Mt(r){return N(r)&&!H(r)}function R(r){return r===null}function $r(r){return R(r)||_(r)}function P(r){return typeof r=="number"&&!Number.isNaN(r)}function Rt(r){return N(r)&&!H(r)&&!Number.isNaN(Number(r))}function U(r){return!R(r)&&(typeof r=="object"||$(r))}function K(r){var t,u;return r?Symbol.observable!==void 0&&r===((t=r[Symbol.observable])==null?void 0:t.call(r))||r===((u=r["@@observable"])==null?void 0:u.call(r)):!1}function Lt(r){return ar(1)(r)}function Or(r){if(typeof r!="object"||r===null)return!1;let t=Object.getPrototypeOf(r);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)}function Wt(r){return P(r)&&r>0}function Gt(r){return R(r)||_r(typeof r)}function Jt(r){return Sr(r)||yr(r)}function gt(r){return lr([N,P,Nr],r)}function Ht(r){return b(r)==="RegExp"}function Tr(r){return Number.isSafeInteger(r)}function V(r){return b(r)==="Set"}function Kt(r){return b(r)==="SharedArrayBuffer"}function N(r){return typeof r=="string"}function Nr(r){return typeof r=="symbol"}function _t(r){return!!r}function Qt(r,t){return D(t)&&D(r)&&t.length===r.length?t.every((u,d)=>u(r[d])):!1}function qt(r){return Hr(b(r))}function zt(r){return b(r)==="Uint16Array"}function Yt(r){return b(r)==="Uint32Array"}function Zt(r){return b(r)==="Uint8Array"}function Xt(r){return b(r)==="Uint8ClampedArray"}function _(r){return r===void 0}function vt(r){return b(r)==="URL"}function rn(r){return b(r)==="URLSearchParams"}function tn(r){if(!N(r))return!1;try{return new URL(r),!0}catch(t){return!1}}function nn(r){return br(r)&&!xr(Number(r))}function mr(r){return Tr(r)&&r>=0}function en(r){return b(r)==="WeakMap"}function on(r){return b(r)==="WeakRef"}function un(r){return b(r)==="WeakSet"}function Ir(r){return N(r)&&/^\s+$/.test(r)}function Dr(r,t,u){if(!$(t))throw new TypeError("Invalid predicate: ".concat(JSON.stringify(t)));if(u.length===0)throw new TypeError("Invalid number of values");return r.call(u,t)}var Nn=new Intl.ListFormat("en",{style:"long",type:"conjunction"}),mn=new Intl.ListFormat("en",{style:"long",type:"disjunction"});var cn={isArray:"Array",isArrayBuffer:"ArrayBuffer",isArrayLike:"array-like",isAsyncFunction:"AsyncFunction",isAsyncGenerator:"AsyncGenerator",isAsyncGeneratorFunction:"AsyncGeneratorFunction",isAsyncIterable:"AsyncIterable",isBigint:"bigint",isBigInt64Array:"BigInt64Array",isBigUint64Array:"BigUint64Array",isBlob:"Blob",isBoolean:"boolean",isBoundFunction:"Function",isBuffer:"Buffer",isClass:"Class",isDataView:"DataView",isDate:"Date",isDirectInstanceOf:"T",isEmptyArray:"empty array",isEmptyMap:"empty map",isEmptyObject:"empty object",isEmptySet:"empty set",isEmptyString:"empty string",isEmptyStringOrWhitespace:"empty string or whitespace",isEnumCase:"EnumCase",isError:"Error",isEvenInteger:"even integer",isFalsy:"falsy",isFloat32Array:"Float32Array",isFloat64Array:"Float64Array",isFormData:"FormData",isFunction:"Function",isGenerator:"Generator",isGeneratorFunction:"GeneratorFunction",isHtmlElement:"HTMLElement",isInfinite:"infinite number",isInRange:"in range",isInt16Array:"Int16Array",isInt32Array:"Int32Array",isInt8Array:"Int8Array",isInteger:"integer",isIterable:"Iterable",isMap:"Map",isNan:"NaN",isNativePromise:"native Promise",isNegativeNumber:"negative number",isNodeStream:"Node.js Stream",isNonEmptyArray:"non-empty array",isNonEmptyMap:"non-empty map",isNonEmptyObject:"non-empty object",isNonEmptySet:"non-empty set",isNonEmptyString:"non-empty string",isNonEmptyStringAndNotWhitespace:"non-empty string and not whitespace",isNull:"null",isNullOrUndefined:"null or undefined",isNumber:"number",isNumericString:"string with a number",isObject:"Object",isObservable:"Observable",isOddInteger:"odd integer",isPlainObject:"plain object",isPositiveNumber:"positive number",isPrimitive:"primitive",isPromise:"Promise",isPropertyKey:"PropertyKey",isRegExp:"RegExp",isSafeInteger:"integer",isSet:"Set",isSharedArrayBuffer:"SharedArrayBuffer",isString:"string",isSymbol:"symbol",isTruthy:"truthy",isTupleLike:"tuple-like",isTypedArray:"TypedArray",isUint16Array:"Uint16Array",isUint32Array:"Uint32Array",isUint8Array:"Uint8Array",isUint8ClampedArray:"Uint8ClampedArray",isUndefined:"undefined",isUrlInstance:"URL",isUrlSearchParams:"URLSearchParams",isUrlString:"string with a URL",isValidDate:"valid Date",isValidLength:"valid length",isWeakMap:"WeakMap",isWeakRef:"WeakRef",isWeakSet:"WeakSet",isWhitespaceString:"whitespace string"},In=or(cn);var m=Qr;var kr="5.1.0";var pn=kr;function yn(r){if(r.includes(".")){for(let t=r.length;t--;)if(r[t]===".")return r.slice(0,t)}return r}function an(r,t){return Array.from(r).filter((u,d)=>d!==t)}var jr={skipContainers:!0,arrayStrictComparison:!1};function Fr(r,t,u,d,w){let A=T(T({},jr),w);m(r)!==m(t)?d("the first input arg is of a type ".concat(m(r).toLowerCase()," but the second is ").concat(m(t).toLowerCase(),". Values are - 1st:\n").concat(JSON.stringify(r,null,4),"\n2nd:\n").concat(JSON.stringify(t,null,4))):ir(t,(a,s,i,c)=>{let o=s!==void 0?s:a,{path:n}=i;if(L.default.has(r,n))if(!A.arrayStrictComparison&&m.plainObject(o)&&i.parentType==="array"&&i.parent.length>1){c.now=!0;let l=Array.from(i.path.includes(".")?L.default.get(r,yn(n)):r);if(l.length<i.parent.length)d("the first array: ".concat(JSON.stringify(l,null,4),"\nhas less objects than array we're matching against, ").concat(JSON.stringify(i.parent,null,4)));else{let S=i.parent,x=l.map((y,h)=>h),I=S.map((y,h)=>h),p=[];for(let y=0,h=x.length;y<h;y++){let E=[],O=x[y],j=an(x,y);E.push(O),j.forEach(Br=>{p.push(Array.from(E).concat(Br))})}let e=p.map(y=>y.map((h,E)=>[E,h])),f=0;for(let y=0,h=e.length;y<h;y++){let E=0;e[y].forEach(O=>{m.plainObject(S[O[0]])&&m.plainObject(l[O[1]])&&Object.keys(S[O[0]]).forEach(j=>{Object.keys(l[O[1]]).includes(j)&&(E+=1,l[O[1]][j]===S[O[0]][j]&&(E+=5))})}),e[y].push(E),E>f&&(f=E)}for(let y=0,h=e.length;y<h;y++)if(e[y][2]===f){e[y].forEach((E,O)=>{O<e[y].length-1&&Fr(l[E[1]],S[E[0]],u,d,A)});break}}}else{let l=L.default.get(r,n);(!A.skipContainers||!m.plainObject(l)&&!Array.isArray(l))&&u(l,o,n)}else d("the first input: ".concat(JSON.stringify(r,null,4),'\ndoes not have the path "').concat(n,'", we were looking, would it contain a value ').concat(JSON.stringify(o,null,0),"."));return o})}return Gr(ln);})();
/**
* @name codsen-utils
* @fileoverview Various utility functions
* @version 1.7.0
* @author Roy Revelt
* @license MIT
* {@link https://codsen.com/os/codsen-utils/}
*/
/**
* @name ast-monkey-util
* @fileoverview Utility library of AST helper functions
* @version 3.1.0
* @author Roy Revelt
* @license MIT
* {@link https://codsen.com/os/ast-monkey-util/}
*/
/**
* @name ast-monkey-traverse
* @fileoverview Utility library to traverse AST
* @version 4.1.0
* @author Roy Revelt
* @license MIT
* {@link https://codsen.com/os/ast-monkey-traverse/}
*/