ast-deep-contains 4.0.7 → 4.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/ast-deep-contains.esm.js +7 -114
- package/dist/ast-deep-contains.umd.js +17 -12
- package/examples/_quickTake.js +1 -0
- package/package.json +24 -77
- package/types/index.d.ts +0 -0
- package/examples/api.json +0 -1
package/README.md
CHANGED
|
@@ -38,6 +38,7 @@ If you need a legacy version which works with `require`, use version 3.1.0
|
|
|
38
38
|
|
|
39
39
|
```js
|
|
40
40
|
import { strict as assert } from "assert";
|
|
41
|
+
|
|
41
42
|
import { deepContains } from "ast-deep-contains";
|
|
42
43
|
|
|
43
44
|
const gathered = [];
|
|
@@ -84,7 +85,7 @@ assert.equal(errors.length, 0);
|
|
|
84
85
|
|
|
85
86
|
## Documentation
|
|
86
87
|
|
|
87
|
-
Please [visit codsen.com](https://codsen.com/os/ast-deep-contains/) for a full description of the API
|
|
88
|
+
Please [visit codsen.com](https://codsen.com/os/ast-deep-contains/) for a full description of the API.
|
|
88
89
|
|
|
89
90
|
## Contributing
|
|
90
91
|
|
|
@@ -96,4 +97,6 @@ MIT License
|
|
|
96
97
|
|
|
97
98
|
Copyright (c) 2010-2021 Roy Revelt and other contributors
|
|
98
99
|
|
|
100
|
+
|
|
99
101
|
<img src="https://codsen.com/images/png-codsen-ok.png" width="98" alt="ok" align="center"> <img src="https://codsen.com/images/png-codsen-1.png" width="148" alt="codsen" align="center"> <img src="https://codsen.com/images/png-codsen-star-small.png" width="32" alt="star" align="center">
|
|
102
|
+
|
|
@@ -1,122 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @name ast-deep-contains
|
|
3
3
|
* @fileoverview Like t.same assert on array of objects, where element order doesn't matter.
|
|
4
|
-
* @version 4.0.
|
|
4
|
+
* @version 4.0.10
|
|
5
5
|
* @author Roy Revelt, Codsen Ltd
|
|
6
6
|
* @license MIT
|
|
7
7
|
* {@link https://codsen.com/os/ast-deep-contains/}
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const version = version$1;
|
|
17
|
-
function goUp(pathStr) {
|
|
18
|
-
if (pathStr.includes(".")) {
|
|
19
|
-
for (let i = pathStr.length; i--;) {
|
|
20
|
-
if (pathStr[i] === ".") {
|
|
21
|
-
return pathStr.slice(0, i);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return pathStr;
|
|
26
|
-
}
|
|
27
|
-
function dropIth(arr, badIdx) {
|
|
28
|
-
return Array.from(arr).filter((_el, i) => i !== badIdx);
|
|
29
|
-
}
|
|
30
|
-
const defaults = {
|
|
31
|
-
skipContainers: true,
|
|
32
|
-
arrayStrictComparison: false,
|
|
33
|
-
};
|
|
34
|
-
function deepContains(tree1, tree2, cb, errCb, originalOpts) {
|
|
35
|
-
const opts = { ...defaults, ...originalOpts };
|
|
36
|
-
if (is(tree1) !== is(tree2)) {
|
|
37
|
-
errCb(`the first input arg is of a type ${is(tree1).toLowerCase()} but the second is ${is(tree2).toLowerCase()}. Values are - 1st:\n${JSON.stringify(tree1, null, 4)}\n2nd:\n${JSON.stringify(tree2, null, 4)}`);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
traverse(tree2, (key, val, innerObj, stop) => {
|
|
41
|
-
const current = val !== undefined ? val : key;
|
|
42
|
-
const { path } = innerObj;
|
|
43
|
-
if (objectPath.has(tree1, path)) {
|
|
44
|
-
if (!opts.arrayStrictComparison &&
|
|
45
|
-
is.plainObject(current) &&
|
|
46
|
-
innerObj.parentType === "array" &&
|
|
47
|
-
innerObj.parent.length > 1) {
|
|
48
|
-
stop.now = true;
|
|
49
|
-
const arr1 = Array.from(innerObj.path.includes(".")
|
|
50
|
-
? objectPath.get(tree1, goUp(path))
|
|
51
|
-
: tree1);
|
|
52
|
-
if (arr1.length < innerObj.parent.length) {
|
|
53
|
-
errCb(`the first array: ${JSON.stringify(arr1, null, 4)}\nhas less objects than array we're matching against, ${JSON.stringify(innerObj.parent, null, 4)}`);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
const arr2 = innerObj.parent;
|
|
57
|
-
const tree1RefSource = arr1.map((_v, i) => i);
|
|
58
|
-
arr2.map((_v, i) => i);
|
|
59
|
-
const secondDigits = [];
|
|
60
|
-
for (let i = 0, len = tree1RefSource.length; i < len; i++) {
|
|
61
|
-
const currArr = [];
|
|
62
|
-
const pickedVal = tree1RefSource[i];
|
|
63
|
-
const disposableArr1 = dropIth(tree1RefSource, i);
|
|
64
|
-
currArr.push(pickedVal);
|
|
65
|
-
disposableArr1.forEach((key1) => {
|
|
66
|
-
secondDigits.push(Array.from(currArr).concat(key1));
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
const finalCombined = secondDigits.map((arr) => {
|
|
70
|
-
return arr.map((val2, i) => [i, val2]);
|
|
71
|
-
});
|
|
72
|
-
let maxScore = 0;
|
|
73
|
-
for (let i = 0, len = finalCombined.length; i < len; i++) {
|
|
74
|
-
let score = 0;
|
|
75
|
-
finalCombined[i].forEach((mapping) => {
|
|
76
|
-
if (is.plainObject(arr2[mapping[0]]) &&
|
|
77
|
-
is.plainObject(arr1[mapping[1]])) {
|
|
78
|
-
Object.keys(arr2[mapping[0]]).forEach((key2) => {
|
|
79
|
-
if (Object.keys(arr1[mapping[1]]).includes(key2)) {
|
|
80
|
-
score += 1;
|
|
81
|
-
if (arr1[mapping[1]][key2] ===
|
|
82
|
-
arr2[mapping[0]][key2]) {
|
|
83
|
-
score += 5;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
finalCombined[i].push(score);
|
|
90
|
-
if (score > maxScore) {
|
|
91
|
-
maxScore = score;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
for (let i = 0, len = finalCombined.length; i < len; i++) {
|
|
95
|
-
if (finalCombined[i][2] === maxScore) {
|
|
96
|
-
finalCombined[i].forEach((matchPairObj, y) => {
|
|
97
|
-
if (y < finalCombined[i].length - 1) {
|
|
98
|
-
deepContains(arr1[matchPairObj[1]], arr2[matchPairObj[0]], cb, errCb, opts);
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
const retrieved = objectPath.get(tree1, path);
|
|
108
|
-
if (!opts.skipContainers ||
|
|
109
|
-
(!is.plainObject(retrieved) && !Array.isArray(retrieved))) {
|
|
110
|
-
cb(retrieved, current, path);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
errCb(`the first input: ${JSON.stringify(tree1, null, 4)}\ndoes not have the path "${path}", we were looking, would it contain a value ${JSON.stringify(current, null, 0)}.`);
|
|
116
|
-
}
|
|
117
|
-
return current;
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export { deepContains, defaults, version };
|
|
10
|
+
import h from"object-path";import{traverse as J}from"ast-monkey-traverse";import l from"@sindresorhus/is";var V="4.0.10";var F=V;function k(n){if(n.includes(".")){for(let t=n.length;t--;)if(n[t]===".")return n.slice(0,t)}return n}function j(n,t){return Array.from(n).filter((d,c)=>c!==t)}var w={skipContainers:!0,arrayStrictComparison:!1};function x(n,t,d,c,D){let f={...w,...D};l(n)!==l(t)?c(`the first input arg is of a type ${l(n).toLowerCase()} but the second is ${l(t).toLowerCase()}. Values are - 1st:
|
|
11
|
+
${JSON.stringify(n,null,4)}
|
|
12
|
+
2nd:
|
|
13
|
+
${JSON.stringify(t,null,4)}`):J(t,(O,E,a,N)=>{let p=E!==void 0?E:O,{path:$}=a;if(h.has(n,$))if(!f.arrayStrictComparison&&l.plainObject(p)&&a.parentType==="array"&&a.parent.length>1){N.now=!0;let s=Array.from(a.path.includes(".")?h.get(n,k($)):n);if(s.length<a.parent.length)c(`the first array: ${JSON.stringify(s,null,4)}
|
|
14
|
+
has less objects than array we're matching against, ${JSON.stringify(a.parent,null,4)}`);else{let m=a.parent,g=s.map((e,r)=>r),A=m.map((e,r)=>r),S=[];for(let e=0,r=g.length;e<r;e++){let o=[],i=g[e],b=j(g,e);o.push(i),b.forEach(C=>{S.push(Array.from(o).concat(C))})}let u=S.map(e=>e.map((r,o)=>[o,r])),y=0;for(let e=0,r=u.length;e<r;e++){let o=0;u[e].forEach(i=>{l.plainObject(m[i[0]])&&l.plainObject(s[i[1]])&&Object.keys(m[i[0]]).forEach(b=>{Object.keys(s[i[1]]).includes(b)&&(o+=1,s[i[1]][b]===m[i[0]][b]&&(o+=5))})}),u[e].push(o),o>y&&(y=o)}for(let e=0,r=u.length;e<r;e++)if(u[e][2]===y){u[e].forEach((o,i)=>{i<u[e].length-1&&x(s[o[1]],m[o[0]],d,c,f)});break}}}else{let s=h.get(n,$);(!f.skipContainers||!l.plainObject(s)&&!Array.isArray(s))&&d(s,p,$)}else c(`the first input: ${JSON.stringify(n,null,4)}
|
|
15
|
+
does not have the path "${$}", we were looking, would it contain a value ${JSON.stringify(p,null,0)}.`);return p})}export{x as deepContains,w as defaults,F as version};
|
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @name ast-deep-contains
|
|
3
3
|
* @fileoverview Like t.same assert on array of objects, where element order doesn't matter.
|
|
4
|
-
* @version 4.0.
|
|
4
|
+
* @version 4.0.10
|
|
5
5
|
* @author Roy Revelt, Codsen Ltd
|
|
6
6
|
* @license MIT
|
|
7
7
|
* {@link https://codsen.com/os/ast-deep-contains/}
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).astDeepContains={})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var n={exports:{}};!function(t){t.exports=function(){var t=Object.prototype.toString;function e(t,e){return null!=t&&Object.prototype.hasOwnProperty.call(t,e)}function r(t){if(!t)return!0;if(o(t)&&0===t.length)return!0;if("string"!=typeof t){for(var r in t)if(e(t,r))return!1;return!0}return!1}function n(e){return t.call(e)}function a(t){return"object"==typeof t&&"[object Object]"===n(t)}var o=Array.isArray||function(e){return"[object Array]"===t.call(e)};function i(t){return"boolean"==typeof t||"[object Boolean]"===n(t)}function u(t){var e=parseInt(t);return e.toString()===t?e:t}function c(t){var n,c,s=function(t){return Object.keys(s).reduce((function(e,r){return"create"===r||"function"==typeof s[r]&&(e[r]=s[r].bind(s,t)),e}),{})};function l(t,e){if(n(t,e))return t[e]}function f(t,e,r,n){if("number"==typeof e&&(e=[e]),!e||0===e.length)return t;if("string"==typeof e)return f(t,e.split(".").map(u),r,n);var a=e[0],o=c(t,a);return 1===e.length?(void 0!==o&&n||(t[a]=r),o):(void 0===o&&(t[a]="number"==typeof e[1]?[]:{}),f(t[a],e.slice(1),r,n))}return n=(t=t||{}).includeInheritedProps?function(){return!0}:function(t,r){return"number"==typeof r&&Array.isArray(t)||e(t,r)},c=t.includeInheritedProps?function(t,e){"string"!=typeof e&&"number"!=typeof e&&(e=String(e));var r=l(t,e);if("__proto__"===e||"prototype"===e||"constructor"===e&&"function"==typeof r)throw new Error("For security reasons, object's magic properties cannot be set");return r}:function(t,e){return l(t,e)},s.has=function(r,n){if("number"==typeof n?n=[n]:"string"==typeof n&&(n=n.split(".")),!n||0===n.length)return!!r;for(var a=0;a<n.length;a++){var i=u(n[a]);if(!("number"==typeof i&&o(r)&&i<r.length||(t.includeInheritedProps?i in Object(r):e(r,i))))return!1;r=r[i]}return!0},s.ensureExists=function(t,e,r){return f(t,e,r,!0)},s.set=function(t,e,r,n){return f(t,e,r,n)},s.insert=function(t,e,r,n){var a=s.get(t,e);n=~~n,o(a)||s.set(t,e,a=[]),a.splice(n,0,r)},s.empty=function(t,e){var u,c;if(!r(e)&&null!=t&&(u=s.get(t,e))){if("string"==typeof u)return s.set(t,e,"");if(i(u))return s.set(t,e,!1);if("number"==typeof u)return s.set(t,e,0);if(o(u))u.length=0;else{if(!a(u))return s.set(t,e,null);for(c in u)n(u,c)&&delete u[c]}}},s.push=function(t,e){var r=s.get(t,e);o(r)||s.set(t,e,r=[]),r.push.apply(r,Array.prototype.slice.call(arguments,2))},s.coalesce=function(t,e,r){for(var n,a=0,o=e.length;a<o;a++)if(void 0!==(n=s.get(t,e[a])))return n;return r},s.get=function(t,e,r){if("number"==typeof e&&(e=[e]),!e||0===e.length)return t;if(null==t)return r;if("string"==typeof e)return s.get(t,e.split("."),r);var n=u(e[0]),a=c(t,n);return void 0===a?r:1===e.length?a:s.get(t[n],e.slice(1),r)},s.del=function(t,e){if("number"==typeof e&&(e=[e]),null==t)return t;if(r(e))return t;if("string"==typeof e)return s.del(t,e.split("."));var a=u(e[0]);return c(t,a),n(t,a)?1!==e.length?s.del(t[a],e.slice(1)):(o(t)?t.splice(a,1):delete t[a],t):t},s}var s=c();return s.create=c,s.withInheritedProps=c({includeInheritedProps:!0}),s}()}(n);var a=n.exports,o={exports:{}};!function(t,r){var n="__lodash_hash_undefined__",a=9007199254740991,o="[object Arguments]",i="[object Boolean]",u="[object Date]",c="[object Function]",s="[object GeneratorFunction]",l="[object Map]",f="[object Number]",y="[object Object]",p="[object Promise]",b="[object RegExp]",d="[object Set]",g="[object String]",h="[object Symbol]",m="[object WeakMap]",v="[object ArrayBuffer]",_="[object DataView]",A="[object Float32Array]",j="[object Float64Array]",O="[object Int8Array]",w="[object Int16Array]",S="[object Int32Array]",I="[object Uint8Array]",E="[object Uint8ClampedArray]",F="[object Uint16Array]",P="[object Uint32Array]",x=/\w*$/,U=/^\[object .+?Constructor\]$/,M=/^(?:0|[1-9]\d*)$/,k={};k[o]=k["[object Array]"]=k[v]=k[_]=k[i]=k[u]=k[A]=k[j]=k[O]=k[w]=k[S]=k[l]=k[f]=k[y]=k[b]=k[d]=k[g]=k[h]=k[I]=k[E]=k[F]=k[P]=!0,k["[object Error]"]=k[c]=k[m]=!1;var B="object"==typeof self&&self&&self.Object===Object&&self,N="object"==typeof e&&e&&e.Object===Object&&e||B||Function("return this")(),$=r&&!r.nodeType&&r,T=$&&t&&!t.nodeType&&t,L=T&&T.exports===$;function C(t,e){return t.set(e[0],e[1]),t}function D(t,e){return t.add(e),t}function G(t,e,r,n){var a=-1,o=t?t.length:0;for(n&&o&&(r=t[++a]);++a<o;)r=e(r,t[a],a,t);return r}function R(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function V(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function W(t,e){return function(r){return t(e(r))}}function J(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var K,z=Array.prototype,H=Function.prototype,q=Object.prototype,Q=N["__core-js_shared__"],X=(K=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",Y=H.toString,Z=q.hasOwnProperty,tt=q.toString,et=RegExp("^"+Y.call(Z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),rt=L?N.Buffer:void 0,nt=N.Symbol,at=N.Uint8Array,ot=W(Object.getPrototypeOf,Object),it=Object.create,ut=q.propertyIsEnumerable,ct=z.splice,st=Object.getOwnPropertySymbols,lt=rt?rt.isBuffer:void 0,ft=W(Object.keys,Object),yt=Tt(N,"DataView"),pt=Tt(N,"Map"),bt=Tt(N,"Promise"),dt=Tt(N,"Set"),gt=Tt(N,"WeakMap"),ht=Tt(Object,"create"),mt=Rt(yt),vt=Rt(pt),_t=Rt(bt),At=Rt(dt),jt=Rt(gt),Ot=nt?nt.prototype:void 0,wt=Ot?Ot.valueOf:void 0;function St(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function It(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Et(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Ft(t){this.__data__=new It(t)}function Pt(t,e){var r=Wt(t)||function(t){return function(t){return function(t){return!!t&&"object"==typeof t}(t)&&Jt(t)}(t)&&Z.call(t,"callee")&&(!ut.call(t,"callee")||tt.call(t)==o)}(t)?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],n=r.length,a=!!n;for(var i in t)!e&&!Z.call(t,i)||a&&("length"==i||Dt(i,n))||r.push(i);return r}function xt(t,e,r){var n=t[e];Z.call(t,e)&&Vt(n,r)&&(void 0!==r||e in t)||(t[e]=r)}function Ut(t,e){for(var r=t.length;r--;)if(Vt(t[r][0],e))return r;return-1}function Mt(t,e,r,n,a,p,m){var U;if(n&&(U=p?n(t,a,p,m):n(t)),void 0!==U)return U;if(!Ht(t))return t;var M=Wt(t);if(M){if(U=function(t){var e=t.length,r=t.constructor(e);e&&"string"==typeof t[0]&&Z.call(t,"index")&&(r.index=t.index,r.input=t.input);return r}(t),!e)return function(t,e){var r=-1,n=t.length;e||(e=Array(n));for(;++r<n;)e[r]=t[r];return e}(t,U)}else{var B=Ct(t),N=B==c||B==s;if(Kt(t))return function(t,e){if(e)return t.slice();var r=new t.constructor(t.length);return t.copy(r),r}(t,e);if(B==y||B==o||N&&!p){if(R(t))return p?t:{};if(U=function(t){return"function"!=typeof t.constructor||Gt(t)?{}:(e=ot(t),Ht(e)?it(e):{});var e}(N?{}:t),!e)return function(t,e){return Nt(t,Lt(t),e)}(t,function(t,e){return t&&Nt(e,qt(e),t)}(U,t))}else{if(!k[B])return p?t:{};U=function(t,e,r,n){var a=t.constructor;switch(e){case v:return Bt(t);case i:case u:return new a(+t);case _:return function(t,e){var r=e?Bt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,n);case A:case j:case O:case w:case S:case I:case E:case F:case P:return function(t,e){var r=e?Bt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}(t,n);case l:return function(t,e,r){return G(e?r(V(t),!0):V(t),C,new t.constructor)}(t,n,r);case f:case g:return new a(t);case b:return function(t){var e=new t.constructor(t.source,x.exec(t));return e.lastIndex=t.lastIndex,e}(t);case d:return function(t,e,r){return G(e?r(J(t),!0):J(t),D,new t.constructor)}(t,n,r);case h:return o=t,wt?Object(wt.call(o)):{}}var o}(t,B,Mt,e)}}m||(m=new Ft);var $=m.get(t);if($)return $;if(m.set(t,U),!M)var T=r?function(t){return function(t,e,r){var n=e(t);return Wt(t)?n:function(t,e){for(var r=-1,n=e.length,a=t.length;++r<n;)t[a+r]=e[r];return t}(n,r(t))}(t,qt,Lt)}(t):qt(t);return function(t,e){for(var r=-1,n=t?t.length:0;++r<n&&!1!==e(t[r],r,t););}(T||t,(function(a,o){T&&(a=t[o=a]),xt(U,o,Mt(a,e,r,n,o,t,m))})),U}function kt(t){return!(!Ht(t)||(e=t,X&&X in e))&&(zt(t)||R(t)?et:U).test(Rt(t));var e}function Bt(t){var e=new t.constructor(t.byteLength);return new at(e).set(new at(t)),e}function Nt(t,e,r,n){r||(r={});for(var a=-1,o=e.length;++a<o;){var i=e[a],u=n?n(r[i],t[i],i,r,t):void 0;xt(r,i,void 0===u?t[i]:u)}return r}function $t(t,e){var r,n,a=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?a["string"==typeof e?"string":"hash"]:a.map}function Tt(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return kt(r)?r:void 0}St.prototype.clear=function(){this.__data__=ht?ht(null):{}},St.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},St.prototype.get=function(t){var e=this.__data__;if(ht){var r=e[t];return r===n?void 0:r}return Z.call(e,t)?e[t]:void 0},St.prototype.has=function(t){var e=this.__data__;return ht?void 0!==e[t]:Z.call(e,t)},St.prototype.set=function(t,e){return this.__data__[t]=ht&&void 0===e?n:e,this},It.prototype.clear=function(){this.__data__=[]},It.prototype.delete=function(t){var e=this.__data__,r=Ut(e,t);return!(r<0)&&(r==e.length-1?e.pop():ct.call(e,r,1),!0)},It.prototype.get=function(t){var e=this.__data__,r=Ut(e,t);return r<0?void 0:e[r][1]},It.prototype.has=function(t){return Ut(this.__data__,t)>-1},It.prototype.set=function(t,e){var r=this.__data__,n=Ut(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},Et.prototype.clear=function(){this.__data__={hash:new St,map:new(pt||It),string:new St}},Et.prototype.delete=function(t){return $t(this,t).delete(t)},Et.prototype.get=function(t){return $t(this,t).get(t)},Et.prototype.has=function(t){return $t(this,t).has(t)},Et.prototype.set=function(t,e){return $t(this,t).set(t,e),this},Ft.prototype.clear=function(){this.__data__=new It},Ft.prototype.delete=function(t){return this.__data__.delete(t)},Ft.prototype.get=function(t){return this.__data__.get(t)},Ft.prototype.has=function(t){return this.__data__.has(t)},Ft.prototype.set=function(t,e){var r=this.__data__;if(r instanceof It){var n=r.__data__;if(!pt||n.length<199)return n.push([t,e]),this;r=this.__data__=new Et(n)}return r.set(t,e),this};var Lt=st?W(st,Object):function(){return[]},Ct=function(t){return tt.call(t)};function Dt(t,e){return!!(e=null==e?a:e)&&("number"==typeof t||M.test(t))&&t>-1&&t%1==0&&t<e}function Gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||q)}function Rt(t){if(null!=t){try{return Y.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Vt(t,e){return t===e||t!=t&&e!=e}(yt&&Ct(new yt(new ArrayBuffer(1)))!=_||pt&&Ct(new pt)!=l||bt&&Ct(bt.resolve())!=p||dt&&Ct(new dt)!=d||gt&&Ct(new gt)!=m)&&(Ct=function(t){var e=tt.call(t),r=e==y?t.constructor:void 0,n=r?Rt(r):void 0;if(n)switch(n){case mt:return _;case vt:return l;case _t:return p;case At:return d;case jt:return m}return e});var Wt=Array.isArray;function Jt(t){return null!=t&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=a}(t.length)&&!zt(t)}var Kt=lt||function(){return!1};function zt(t){var e=Ht(t)?tt.call(t):"";return e==c||e==s}function Ht(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function qt(t){return Jt(t)?Pt(t):function(t){if(!Gt(t))return ft(t);var e=[];for(var r in Object(t))Z.call(t,r)&&"constructor"!=r&&e.push(r);return e}(t)}t.exports=function(t){return Mt(t,!0,!0)}}(o,o.exports);var i=o.exports;var u,c,s=Object.prototype,l=Function.prototype.toString,f=s.hasOwnProperty,y=l.call(Object),p=s.toString,b=(u=Object.getPrototypeOf,c=Object,function(t){return u(c(t))});var d=function(t){if(!function(t){return!!t&&"object"==typeof t}(t)||"[object Object]"!=p.call(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t))return!1;var e=b(t);if(null===e)return!0;var r=f.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&l.call(r)==y};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* @license MIT
|
|
17
|
-
* {@link https://codsen.com/os/ast-monkey-util/}
|
|
18
|
-
*/function g(t){if(t.includes(".")){const e=t.lastIndexOf(".");if(!t.slice(0,e).includes("."))return t.slice(0,e);for(let r=e-1;r--;)if("."===t[r])return t.slice(r+1,e)}return null}
|
|
10
|
+
var astDeepContains=(()=>{var Dr=Object.create;var G=Object.defineProperty,Vr=Object.defineProperties,Fr=Object.getOwnPropertyDescriptor,Mr=Object.getOwnPropertyDescriptors,Ur=Object.getOwnPropertyNames,Ot=Object.getOwnPropertySymbols,Br=Object.getPrototypeOf,Et=Object.prototype.hasOwnProperty,kr=Object.prototype.propertyIsEnumerable;var wt=(t,r,n)=>r in t?G(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n,I=(t,r)=>{for(var n in r||(r={}))Et.call(r,n)&&wt(t,n,r[n]);if(Ot)for(var n of Ot(r))kr.call(r,n)&&wt(t,n,r[n]);return t},L=(t,r)=>Vr(t,Mr(r)),It=t=>G(t,"__esModule",{value:!0});var z=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports),Rr=(t,r)=>{for(var n in r)G(t,n,{get:r[n],enumerable:!0})},Tt=(t,r,n,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let y of Ur(r))!Et.call(t,y)&&(n||y!=="default")&&G(t,y,{get:()=>r[y],enumerable:!(o=Fr(r,y))||o.enumerable});return t},X=(t,r)=>Tt(It(G(t!=null?Dr(Br(t)):{},"default",!r&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),vr=(t=>(r,n)=>t&&t.get(r)||(n=Tt(It({}),r,1),t&&t.set(r,n),n))(typeof WeakMap!="undefined"?new WeakMap:0);var Ct=z((jt,Y)=>{(function(t,r){"use strict";typeof Y=="object"&&typeof Y.exports=="object"?Y.exports=r():typeof define=="function"&&define.amd?define([],r):t.objectPath=r()})(jt,function(){"use strict";var t=Object.prototype.toString;function r(f,s){return f==null?!1:Object.prototype.hasOwnProperty.call(f,s)}function n(f){if(!f||p(f)&&f.length===0)return!0;if(typeof f!="string"){for(var s in f)if(r(f,s))return!1;return!0}return!1}function o(f){return t.call(f)}function y(f){return typeof f=="object"&&o(f)==="[object Object]"}var p=Array.isArray||function(f){return t.call(f)==="[object Array]"};function _(f){return typeof f=="boolean"||o(f)==="[object Boolean]"}function m(f){var s=parseInt(f);return s.toString()===f?s:f}function d(f){f=f||{};var s=function(u){return Object.keys(s).reduce(function(i,c){return c==="create"||typeof s[c]=="function"&&(i[c]=s[c].bind(s,u)),i},{})},b;f.includeInheritedProps?b=function(){return!0}:b=function(u,i){return typeof i=="number"&&Array.isArray(u)||r(u,i)};function O(u,i){if(b(u,i))return u[i]}var E;f.includeInheritedProps?E=function(u,i){typeof i!="string"&&typeof i!="number"&&(i=String(i));var c=O(u,i);if(i==="__proto__"||i==="prototype"||i==="constructor"&&typeof c=="function")throw new Error("For security reasons, object's magic properties cannot be set");return c}:E=function(u,i){return O(u,i)};function R(u,i,c,l){if(typeof i=="number"&&(i=[i]),!i||i.length===0)return u;if(typeof i=="string")return R(u,i.split(".").map(m),c,l);var g=i[0],$=E(u,g);return i.length===1?(($===void 0||!l)&&(u[g]=c),$):($===void 0&&(typeof i[1]=="number"?u[g]=[]:u[g]={}),R(u[g],i.slice(1),c,l))}return s.has=function(u,i){if(typeof i=="number"?i=[i]:typeof i=="string"&&(i=i.split(".")),!i||i.length===0)return!!u;for(var c=0;c<i.length;c++){var l=m(i[c]);if(typeof l=="number"&&p(u)&&l<u.length||(f.includeInheritedProps?l in Object(u):r(u,l)))u=u[l];else return!1}return!0},s.ensureExists=function(u,i,c){return R(u,i,c,!0)},s.set=function(u,i,c,l){return R(u,i,c,l)},s.insert=function(u,i,c,l){var g=s.get(u,i);l=~~l,p(g)||(g=[],s.set(u,i,g)),g.splice(l,0,c)},s.empty=function(u,i){if(!n(i)&&u!=null){var c,l;if(!!(c=s.get(u,i))){if(typeof c=="string")return s.set(u,i,"");if(_(c))return s.set(u,i,!1);if(typeof c=="number")return s.set(u,i,0);if(p(c))c.length=0;else if(y(c))for(l in c)b(c,l)&&delete c[l];else return s.set(u,i,null)}}},s.push=function(u,i){var c=s.get(u,i);p(c)||(c=[],s.set(u,i,c)),c.push.apply(c,Array.prototype.slice.call(arguments,2))},s.coalesce=function(u,i,c){for(var l,g=0,$=i.length;g<$;g++)if((l=s.get(u,i[g]))!==void 0)return l;return c},s.get=function(u,i,c){if(typeof i=="number"&&(i=[i]),!i||i.length===0)return u;if(u==null)return c;if(typeof i=="string")return s.get(u,i.split("."),c);var l=m(i[0]),g=E(u,l);return g===void 0?c:i.length===1?g:s.get(u[l],i.slice(1),c)},s.del=function(i,c){if(typeof c=="number"&&(c=[c]),i==null||n(c))return i;if(typeof c=="string")return s.del(i,c.split("."));var l=m(c[0]);if(E(i,l),!b(i,l))return i;if(c.length===1)p(i)?i.splice(l,1):delete i[l];else return s.del(i[l],c.slice(1));return i},s}var S=d();return S.create=d,S.withInheritedProps=d({includeInheritedProps:!0}),S})});var br=z((K,B)=>{var Gr=200,xt="__lodash_hash_undefined__",Nt=9007199254740991,ct="[object Arguments]",Lr="[object Array]",Pt="[object Boolean]",Dt="[object Date]",Jr="[object Error]",ut="[object Function]",Vt="[object GeneratorFunction]",q="[object Map]",Ft="[object Number]",ft="[object Object]",Mt="[object Promise]",Ut="[object RegExp]",Z="[object Set]",Bt="[object String]",kt="[object Symbol]",lt="[object WeakMap]",Rt="[object ArrayBuffer]",Q="[object DataView]",vt="[object Float32Array]",Gt="[object Float64Array]",Lt="[object Int8Array]",Jt="[object Int16Array]",Ht="[object Int32Array]",Kt="[object Uint8Array]",Wt="[object Uint8ClampedArray]",zt="[object Uint16Array]",Xt="[object Uint32Array]",Hr=/[\\^$.*+?()[\]{}|]/g,Kr=/\w*$/,Wr=/^\[object .+?Constructor\]$/,zr=/^(?:0|[1-9]\d*)$/,h={};h[ct]=h[Lr]=h[Rt]=h[Q]=h[Pt]=h[Dt]=h[vt]=h[Gt]=h[Lt]=h[Jt]=h[Ht]=h[q]=h[Ft]=h[ft]=h[Ut]=h[Z]=h[Bt]=h[kt]=h[Kt]=h[Wt]=h[zt]=h[Xt]=!0;h[Jr]=h[ut]=h[lt]=!1;var Xr=typeof global=="object"&&global&&global.Object===Object&&global,Yr=typeof self=="object"&&self&&self.Object===Object&&self,T=Xr||Yr||Function("return this")(),Yt=typeof K=="object"&&K&&!K.nodeType&&K,qt=Yt&&typeof B=="object"&&B&&!B.nodeType&&B,qr=qt&&qt.exports===Yt;function Zr(t,r){return t.set(r[0],r[1]),t}function Qr(t,r){return t.add(r),t}function te(t,r){for(var n=-1,o=t?t.length:0;++n<o&&r(t[n],n,t)!==!1;);return t}function re(t,r){for(var n=-1,o=r.length,y=t.length;++n<o;)t[y+n]=r[n];return t}function Zt(t,r,n,o){var y=-1,p=t?t.length:0;for(o&&p&&(n=t[++y]);++y<p;)n=r(n,t[y],y,t);return n}function ee(t,r){for(var n=-1,o=Array(t);++n<t;)o[n]=r(n);return o}function ne(t,r){return t==null?void 0:t[r]}function Qt(t){var r=!1;if(t!=null&&typeof t.toString!="function")try{r=!!(t+"")}catch(n){}return r}function tr(t){var r=-1,n=Array(t.size);return t.forEach(function(o,y){n[++r]=[y,o]}),n}function yt(t,r){return function(n){return t(r(n))}}function rr(t){var r=-1,n=Array(t.size);return t.forEach(function(o){n[++r]=o}),n}var ie=Array.prototype,oe=Function.prototype,tt=Object.prototype,pt=T["__core-js_shared__"],er=function(){var t=/[^.]+$/.exec(pt&&pt.keys&&pt.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),nr=oe.toString,N=tt.hasOwnProperty,rt=tt.toString,ae=RegExp("^"+nr.call(N).replace(Hr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ir=qr?T.Buffer:void 0,or=T.Symbol,ar=T.Uint8Array,se=yt(Object.getPrototypeOf,Object),ce=Object.create,ue=tt.propertyIsEnumerable,fe=ie.splice,sr=Object.getOwnPropertySymbols,le=ir?ir.isBuffer:void 0,ye=yt(Object.keys,Object),dt=U(T,"DataView"),J=U(T,"Map"),gt=U(T,"Promise"),mt=U(T,"Set"),bt=U(T,"WeakMap"),H=U(Object,"create"),pe=V(dt),de=V(J),ge=V(gt),me=V(mt),be=V(bt),cr=or?or.prototype:void 0,ur=cr?cr.valueOf:void 0;function P(t){var r=-1,n=t?t.length:0;for(this.clear();++r<n;){var o=t[r];this.set(o[0],o[1])}}function he(){this.__data__=H?H(null):{}}function Ae(t){return this.has(t)&&delete this.__data__[t]}function $e(t){var r=this.__data__;if(H){var n=r[t];return n===xt?void 0:n}return N.call(r,t)?r[t]:void 0}function _e(t){var r=this.__data__;return H?r[t]!==void 0:N.call(r,t)}function Se(t,r){var n=this.__data__;return n[t]=H&&r===void 0?xt:r,this}P.prototype.clear=he;P.prototype.delete=Ae;P.prototype.get=$e;P.prototype.has=_e;P.prototype.set=Se;function j(t){var r=-1,n=t?t.length:0;for(this.clear();++r<n;){var o=t[r];this.set(o[0],o[1])}}function Oe(){this.__data__=[]}function Ee(t){var r=this.__data__,n=et(r,t);if(n<0)return!1;var o=r.length-1;return n==o?r.pop():fe.call(r,n,1),!0}function we(t){var r=this.__data__,n=et(r,t);return n<0?void 0:r[n][1]}function Ie(t){return et(this.__data__,t)>-1}function Te(t,r){var n=this.__data__,o=et(n,t);return o<0?n.push([t,r]):n[o][1]=r,this}j.prototype.clear=Oe;j.prototype.delete=Ee;j.prototype.get=we;j.prototype.has=Ie;j.prototype.set=Te;function F(t){var r=-1,n=t?t.length:0;for(this.clear();++r<n;){var o=t[r];this.set(o[0],o[1])}}function je(){this.__data__={hash:new P,map:new(J||j),string:new P}}function Ce(t){return nt(this,t).delete(t)}function xe(t){return nt(this,t).get(t)}function Ne(t){return nt(this,t).has(t)}function Pe(t,r){return nt(this,t).set(t,r),this}F.prototype.clear=je;F.prototype.delete=Ce;F.prototype.get=xe;F.prototype.has=Ne;F.prototype.set=Pe;function M(t){this.__data__=new j(t)}function De(){this.__data__=new j}function Ve(t){return this.__data__.delete(t)}function Fe(t){return this.__data__.get(t)}function Me(t){return this.__data__.has(t)}function Ue(t,r){var n=this.__data__;if(n instanceof j){var o=n.__data__;if(!J||o.length<Gr-1)return o.push([t,r]),this;n=this.__data__=new F(o)}return n.set(t,r),this}M.prototype.clear=De;M.prototype.delete=Ve;M.prototype.get=Fe;M.prototype.has=Me;M.prototype.set=Ue;function Be(t,r){var n=$t(t)||un(t)?ee(t.length,String):[],o=n.length,y=!!o;for(var p in t)(r||N.call(t,p))&&!(y&&(p=="length"||on(p,o)))&&n.push(p);return n}function fr(t,r,n){var o=t[r];(!(N.call(t,r)&&dr(o,n))||n===void 0&&!(r in t))&&(t[r]=n)}function et(t,r){for(var n=t.length;n--;)if(dr(t[n][0],r))return n;return-1}function ke(t,r){return t&&lr(r,_t(r),t)}function ht(t,r,n,o,y,p,_){var m;if(o&&(m=p?o(t,y,p,_):o(t)),m!==void 0)return m;if(!it(t))return t;var d=$t(t);if(d){if(m=rn(t),!r)return Ze(t,m)}else{var S=D(t),f=S==ut||S==Vt;if(ln(t))return He(t,r);if(S==ft||S==ct||f&&!p){if(Qt(t))return p?t:{};if(m=en(f?{}:t),!r)return Qe(t,ke(m,t))}else{if(!h[S])return p?t:{};m=nn(t,S,ht,r)}}_||(_=new M);var s=_.get(t);if(s)return s;if(_.set(t,m),!d)var b=n?tn(t):_t(t);return te(b||t,function(O,E){b&&(E=O,O=t[E]),fr(m,E,ht(O,r,n,o,E,t,_))}),m}function Re(t){return it(t)?ce(t):{}}function ve(t,r,n){var o=r(t);return $t(t)?o:re(o,n(t))}function Ge(t){return rt.call(t)}function Le(t){if(!it(t)||sn(t))return!1;var r=mr(t)||Qt(t)?ae:Wr;return r.test(V(t))}function Je(t){if(!pr(t))return ye(t);var r=[];for(var n in Object(t))N.call(t,n)&&n!="constructor"&&r.push(n);return r}function He(t,r){if(r)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}function At(t){var r=new t.constructor(t.byteLength);return new ar(r).set(new ar(t)),r}function Ke(t,r){var n=r?At(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function We(t,r,n){var o=r?n(tr(t),!0):tr(t);return Zt(o,Zr,new t.constructor)}function ze(t){var r=new t.constructor(t.source,Kr.exec(t));return r.lastIndex=t.lastIndex,r}function Xe(t,r,n){var o=r?n(rr(t),!0):rr(t);return Zt(o,Qr,new t.constructor)}function Ye(t){return ur?Object(ur.call(t)):{}}function qe(t,r){var n=r?At(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ze(t,r){var n=-1,o=t.length;for(r||(r=Array(o));++n<o;)r[n]=t[n];return r}function lr(t,r,n,o){n||(n={});for(var y=-1,p=r.length;++y<p;){var _=r[y],m=o?o(n[_],t[_],_,n,t):void 0;fr(n,_,m===void 0?t[_]:m)}return n}function Qe(t,r){return lr(t,yr(t),r)}function tn(t){return ve(t,_t,yr)}function nt(t,r){var n=t.__data__;return an(r)?n[typeof r=="string"?"string":"hash"]:n.map}function U(t,r){var n=ne(t,r);return Le(n)?n:void 0}var yr=sr?yt(sr,Object):dn,D=Ge;(dt&&D(new dt(new ArrayBuffer(1)))!=Q||J&&D(new J)!=q||gt&&D(gt.resolve())!=Mt||mt&&D(new mt)!=Z||bt&&D(new bt)!=lt)&&(D=function(t){var r=rt.call(t),n=r==ft?t.constructor:void 0,o=n?V(n):void 0;if(o)switch(o){case pe:return Q;case de:return q;case ge:return Mt;case me:return Z;case be:return lt}return r});function rn(t){var r=t.length,n=t.constructor(r);return r&&typeof t[0]=="string"&&N.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function en(t){return typeof t.constructor=="function"&&!pr(t)?Re(se(t)):{}}function nn(t,r,n,o){var y=t.constructor;switch(r){case Rt:return At(t);case Pt:case Dt:return new y(+t);case Q:return Ke(t,o);case vt:case Gt:case Lt:case Jt:case Ht:case Kt:case Wt:case zt:case Xt:return qe(t,o);case q:return We(t,o,n);case Ft:case Bt:return new y(t);case Ut:return ze(t);case Z:return Xe(t,o,n);case kt:return Ye(t)}}function on(t,r){return r=r==null?Nt:r,!!r&&(typeof t=="number"||zr.test(t))&&t>-1&&t%1==0&&t<r}function an(t){var r=typeof t;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?t!=="__proto__":t===null}function sn(t){return!!er&&er in t}function pr(t){var r=t&&t.constructor,n=typeof r=="function"&&r.prototype||tt;return t===n}function V(t){if(t!=null){try{return nr.call(t)}catch(r){}try{return t+""}catch(r){}}return""}function cn(t){return ht(t,!0,!0)}function dr(t,r){return t===r||t!==t&&r!==r}function un(t){return fn(t)&&N.call(t,"callee")&&(!ue.call(t,"callee")||rt.call(t)==ct)}var $t=Array.isArray;function gr(t){return t!=null&&yn(t.length)&&!mr(t)}function fn(t){return pn(t)&&gr(t)}var ln=le||gn;function mr(t){var r=it(t)?rt.call(t):"";return r==ut||r==Vt}function yn(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Nt}function it(t){var r=typeof t;return!!t&&(r=="object"||r=="function")}function pn(t){return!!t&&typeof t=="object"}function _t(t){return gr(t)?Be(t):Je(t)}function dn(){return[]}function gn(){return!1}B.exports=cn});var _r=z((Jn,$r)=>{var mn="[object Object]";function bn(t){var r=!1;if(t!=null&&typeof t.toString!="function")try{r=!!(t+"")}catch(n){}return r}function hn(t,r){return function(n){return t(r(n))}}var An=Function.prototype,hr=Object.prototype,Ar=An.toString,$n=hr.hasOwnProperty,_n=Ar.call(Object),Sn=hr.toString,On=hn(Object.getPrototypeOf,Object);function En(t){return!!t&&typeof t=="object"}function wn(t){if(!En(t)||Sn.call(t)!=mn||bn(t))return!1;var r=On(t);if(r===null)return!0;var n=$n.call(r,"constructor")&&r.constructor;return typeof n=="function"&&n instanceof n&&Ar.call(n)==_n}$r.exports=wn});var jr=z((C,at)=>{"use strict";Object.defineProperty(C,"__esModule",{value:!0});var Er=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Tn(t){return Er.includes(t)}var jn=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Er];function Cn(t){return jn.includes(t)}var xn=["null","undefined","string","number","bigint","boolean","symbol"];function Nn(t){return xn.includes(t)}function k(t){return r=>typeof r===t}var{toString:wr}=Object.prototype,W=t=>{let r=wr.call(t).slice(8,-1);if(/HTML\w+Element/.test(r)&&e.domElement(t))return"HTMLElement";if(Cn(r))return r},A=t=>r=>W(r)===t;function e(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(e.observable(t))return"Observable";if(e.array(t))return"Array";if(e.buffer(t))return"Buffer";let r=W(t);if(r)return r;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}e.undefined=k("undefined");e.string=k("string");var Pn=k("number");e.number=t=>Pn(t)&&!e.nan(t);e.bigint=k("bigint");e.function_=k("function");e.null_=t=>t===null;e.class_=t=>e.function_(t)&&t.toString().startsWith("class ");e.boolean=t=>t===!0||t===!1;e.symbol=k("symbol");e.numericString=t=>e.string(t)&&!e.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));e.array=(t,r)=>Array.isArray(t)?e.function_(r)?t.every(r):!0:!1;e.buffer=t=>{var r,n,o,y;return(y=(o=(n=(r=t)===null||r===void 0?void 0:r.constructor)===null||n===void 0?void 0:n.isBuffer)===null||o===void 0?void 0:o.call(n,t))!==null&&y!==void 0?y:!1};e.nullOrUndefined=t=>e.null_(t)||e.undefined(t);e.object=t=>!e.null_(t)&&(typeof t=="object"||e.function_(t));e.iterable=t=>{var r;return e.function_((r=t)===null||r===void 0?void 0:r[Symbol.iterator])};e.asyncIterable=t=>{var r;return e.function_((r=t)===null||r===void 0?void 0:r[Symbol.asyncIterator])};e.generator=t=>e.iterable(t)&&e.function_(t.next)&&e.function_(t.throw);e.asyncGenerator=t=>e.asyncIterable(t)&&e.function_(t.next)&&e.function_(t.throw);e.nativePromise=t=>A("Promise")(t);var Dn=t=>{var r,n;return e.function_((r=t)===null||r===void 0?void 0:r.then)&&e.function_((n=t)===null||n===void 0?void 0:n.catch)};e.promise=t=>e.nativePromise(t)||Dn(t);e.generatorFunction=A("GeneratorFunction");e.asyncGeneratorFunction=t=>W(t)==="AsyncGeneratorFunction";e.asyncFunction=t=>W(t)==="AsyncFunction";e.boundFunction=t=>e.function_(t)&&!t.hasOwnProperty("prototype");e.regExp=A("RegExp");e.date=A("Date");e.error=A("Error");e.map=t=>A("Map")(t);e.set=t=>A("Set")(t);e.weakMap=t=>A("WeakMap")(t);e.weakSet=t=>A("WeakSet")(t);e.int8Array=A("Int8Array");e.uint8Array=A("Uint8Array");e.uint8ClampedArray=A("Uint8ClampedArray");e.int16Array=A("Int16Array");e.uint16Array=A("Uint16Array");e.int32Array=A("Int32Array");e.uint32Array=A("Uint32Array");e.float32Array=A("Float32Array");e.float64Array=A("Float64Array");e.bigInt64Array=A("BigInt64Array");e.bigUint64Array=A("BigUint64Array");e.arrayBuffer=A("ArrayBuffer");e.sharedArrayBuffer=A("SharedArrayBuffer");e.dataView=A("DataView");e.directInstanceOf=(t,r)=>Object.getPrototypeOf(t)===r.prototype;e.urlInstance=t=>A("URL")(t);e.urlString=t=>{if(!e.string(t))return!1;try{return new URL(t),!0}catch(r){return!1}};e.truthy=t=>Boolean(t);e.falsy=t=>!t;e.nan=t=>Number.isNaN(t);e.primitive=t=>e.null_(t)||Nn(typeof t);e.integer=t=>Number.isInteger(t);e.safeInteger=t=>Number.isSafeInteger(t);e.plainObject=t=>{if(wr.call(t)!=="[object Object]")return!1;let r=Object.getPrototypeOf(t);return r===null||r===Object.getPrototypeOf({})};e.typedArray=t=>Tn(W(t));var Vn=t=>e.safeInteger(t)&&t>=0;e.arrayLike=t=>!e.nullOrUndefined(t)&&!e.function_(t)&&Vn(t.length);e.inRange=(t,r)=>{if(e.number(r))return t>=Math.min(0,r)&&t<=Math.max(r,0);if(e.array(r)&&r.length===2)return t>=Math.min(...r)&&t<=Math.max(...r);throw new TypeError(`Invalid range: ${JSON.stringify(r)}`)};var Fn=1,Mn=["innerHTML","ownerDocument","style","attributes","nodeValue"];e.domElement=t=>e.object(t)&&t.nodeType===Fn&&e.string(t.nodeName)&&!e.plainObject(t)&&Mn.every(r=>r in t);e.observable=t=>{var r,n,o,y;return t?t===((n=(r=t)[Symbol.observable])===null||n===void 0?void 0:n.call(r))||t===((y=(o=t)["@@observable"])===null||y===void 0?void 0:y.call(o)):!1};e.nodeStream=t=>e.object(t)&&e.function_(t.pipe)&&!e.observable(t);e.infinite=t=>t===1/0||t===-1/0;var Ir=t=>r=>e.integer(r)&&Math.abs(r%2)===t;e.evenInteger=Ir(0);e.oddInteger=Ir(1);e.emptyArray=t=>e.array(t)&&t.length===0;e.nonEmptyArray=t=>e.array(t)&&t.length>0;e.emptyString=t=>e.string(t)&&t.length===0;e.nonEmptyString=t=>e.string(t)&&t.length>0;var Un=t=>e.string(t)&&!/\S/.test(t);e.emptyStringOrWhitespace=t=>e.emptyString(t)||Un(t);e.emptyObject=t=>e.object(t)&&!e.map(t)&&!e.set(t)&&Object.keys(t).length===0;e.nonEmptyObject=t=>e.object(t)&&!e.map(t)&&!e.set(t)&&Object.keys(t).length>0;e.emptySet=t=>e.set(t)&&t.size===0;e.nonEmptySet=t=>e.set(t)&&t.size>0;e.emptyMap=t=>e.map(t)&&t.size===0;e.nonEmptyMap=t=>e.map(t)&&t.size>0;e.propertyKey=t=>e.any([e.string,e.number,e.symbol],t);e.formData=t=>A("FormData")(t);e.urlSearchParams=t=>A("URLSearchParams")(t);var Tr=(t,r,n)=>{if(!e.function_(r))throw new TypeError(`Invalid predicate: ${JSON.stringify(r)}`);if(n.length===0)throw new TypeError("Invalid number of values");return t.call(n,r)};e.any=(t,...r)=>(e.array(t)?t:[t]).some(o=>Tr(Array.prototype.some,o,r));e.all=(t,...r)=>Tr(Array.prototype.every,t,r);var a=(t,r,n,o={})=>{if(!t){let{multipleValues:y}=o,p=y?`received values of types ${[...new Set(n.map(_=>`\`${e(_)}\``))].join(", ")}`:`received value of type \`${e(n)}\``;throw new TypeError(`Expected value which is \`${r}\`, ${p}.`)}};C.assert={undefined:t=>a(e.undefined(t),"undefined",t),string:t=>a(e.string(t),"string",t),number:t=>a(e.number(t),"number",t),bigint:t=>a(e.bigint(t),"bigint",t),function_:t=>a(e.function_(t),"Function",t),null_:t=>a(e.null_(t),"null",t),class_:t=>a(e.class_(t),"Class",t),boolean:t=>a(e.boolean(t),"boolean",t),symbol:t=>a(e.symbol(t),"symbol",t),numericString:t=>a(e.numericString(t),"string with a number",t),array:(t,r)=>{a(e.array(t),"Array",t),r&&t.forEach(r)},buffer:t=>a(e.buffer(t),"Buffer",t),nullOrUndefined:t=>a(e.nullOrUndefined(t),"null or undefined",t),object:t=>a(e.object(t),"Object",t),iterable:t=>a(e.iterable(t),"Iterable",t),asyncIterable:t=>a(e.asyncIterable(t),"AsyncIterable",t),generator:t=>a(e.generator(t),"Generator",t),asyncGenerator:t=>a(e.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>a(e.nativePromise(t),"native Promise",t),promise:t=>a(e.promise(t),"Promise",t),generatorFunction:t=>a(e.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>a(e.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>a(e.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>a(e.boundFunction(t),"Function",t),regExp:t=>a(e.regExp(t),"RegExp",t),date:t=>a(e.date(t),"Date",t),error:t=>a(e.error(t),"Error",t),map:t=>a(e.map(t),"Map",t),set:t=>a(e.set(t),"Set",t),weakMap:t=>a(e.weakMap(t),"WeakMap",t),weakSet:t=>a(e.weakSet(t),"WeakSet",t),int8Array:t=>a(e.int8Array(t),"Int8Array",t),uint8Array:t=>a(e.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>a(e.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>a(e.int16Array(t),"Int16Array",t),uint16Array:t=>a(e.uint16Array(t),"Uint16Array",t),int32Array:t=>a(e.int32Array(t),"Int32Array",t),uint32Array:t=>a(e.uint32Array(t),"Uint32Array",t),float32Array:t=>a(e.float32Array(t),"Float32Array",t),float64Array:t=>a(e.float64Array(t),"Float64Array",t),bigInt64Array:t=>a(e.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>a(e.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>a(e.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>a(e.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>a(e.dataView(t),"DataView",t),urlInstance:t=>a(e.urlInstance(t),"URL",t),urlString:t=>a(e.urlString(t),"string with a URL",t),truthy:t=>a(e.truthy(t),"truthy",t),falsy:t=>a(e.falsy(t),"falsy",t),nan:t=>a(e.nan(t),"NaN",t),primitive:t=>a(e.primitive(t),"primitive",t),integer:t=>a(e.integer(t),"integer",t),safeInteger:t=>a(e.safeInteger(t),"integer",t),plainObject:t=>a(e.plainObject(t),"plain object",t),typedArray:t=>a(e.typedArray(t),"TypedArray",t),arrayLike:t=>a(e.arrayLike(t),"array-like",t),domElement:t=>a(e.domElement(t),"HTMLElement",t),observable:t=>a(e.observable(t),"Observable",t),nodeStream:t=>a(e.nodeStream(t),"Node.js Stream",t),infinite:t=>a(e.infinite(t),"infinite number",t),emptyArray:t=>a(e.emptyArray(t),"empty array",t),nonEmptyArray:t=>a(e.nonEmptyArray(t),"non-empty array",t),emptyString:t=>a(e.emptyString(t),"empty string",t),nonEmptyString:t=>a(e.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>a(e.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>a(e.emptyObject(t),"empty object",t),nonEmptyObject:t=>a(e.nonEmptyObject(t),"non-empty object",t),emptySet:t=>a(e.emptySet(t),"empty set",t),nonEmptySet:t=>a(e.nonEmptySet(t),"non-empty set",t),emptyMap:t=>a(e.emptyMap(t),"empty map",t),nonEmptyMap:t=>a(e.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>a(e.propertyKey(t),"PropertyKey",t),formData:t=>a(e.formData(t),"FormData",t),urlSearchParams:t=>a(e.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>a(e.evenInteger(t),"even integer",t),oddInteger:t=>a(e.oddInteger(t),"odd integer",t),directInstanceOf:(t,r)=>a(e.directInstanceOf(t,r),"T",t),inRange:(t,r)=>a(e.inRange(t,r),"in range",t),any:(t,...r)=>a(e.any(t,...r),"predicate returns truthy for any value",r,{multipleValues:!0}),all:(t,...r)=>a(e.all(t,...r),"predicate returns truthy for all values",r,{multipleValues:!0})};Object.defineProperties(e,{class:{value:e.class_},function:{value:e.function_},null:{value:e.null_}});Object.defineProperties(C.assert,{class:{value:C.assert.class_},function:{value:C.assert.function_},null:{value:C.assert.null_}});C.default=e;at.exports=e;at.exports.default=e;at.exports.assert=C.assert});var Gn={};Rr(Gn,{deepContains:()=>Nr,defaults:()=>xr,version:()=>kn});var st=X(Ct(),1);var ot=X(br(),1),Sr=X(_r(),1);function In(t){if(t.includes(".")){let r=t.lastIndexOf(".");if(!t.slice(0,r).includes("."))return t.slice(0,r);for(let n=r-1;n--;)if(t[n]===".")return t.slice(n+1,r)}return null}var St=In;function Or(t,r){let n={now:!1};function o(y,p,_,m){let d=(0,ot.default)(y),S,f=I({depth:-1,path:""},_);if(f.depth+=1,Array.isArray(d))for(let s=0,b=d.length;s<b&&!m.now;s++){let O=f.path?`${f.path}.${s}`:`${s}`;d[s]!==void 0?(f.parent=(0,ot.default)(d),f.parentType="array",f.parentKey=St(O),S=o(p(d[s],void 0,L(I({},f),{path:O}),m),p,L(I({},f),{path:O}),m),Number.isNaN(S)&&s<d.length?(d.splice(s,1),s-=1):d[s]=S):d.splice(s,1)}else if((0,Sr.default)(d))for(let s in d){if(m.now&&s!=null)break;let b=f.path?`${f.path}.${s}`:s;f.depth===0&&s!=null&&(f.topmostKey=s),f.parent=(0,ot.default)(d),f.parentType="object",f.parentKey=St(b),S=o(p(s,d[s],L(I({},f),{path:b}),m),p,L(I({},f),{path:b}),m),Number.isNaN(S)?delete d[s]:d[s]=S}return d}return o(t,r,{},n)}var x=X(jr(),1);var Cr="4.0.10";var kn=Cr;function Rn(t){if(t.includes(".")){for(let r=t.length;r--;)if(t[r]===".")return t.slice(0,r)}return t}function vn(t,r){return Array.from(t).filter((n,o)=>o!==r)}var xr={skipContainers:!0,arrayStrictComparison:!1};function Nr(t,r,n,o,y){let p=I(I({},xr),y);(0,x.default)(t)!==(0,x.default)(r)?o(`the first input arg is of a type ${(0,x.default)(t).toLowerCase()} but the second is ${(0,x.default)(r).toLowerCase()}. Values are - 1st:
|
|
11
|
+
${JSON.stringify(t,null,4)}
|
|
12
|
+
2nd:
|
|
13
|
+
${JSON.stringify(r,null,4)}`):Or(r,(_,m,d,S)=>{let f=m!==void 0?m:_,{path:s}=d;if(st.default.has(t,s))if(!p.arrayStrictComparison&&x.default.plainObject(f)&&d.parentType==="array"&&d.parent.length>1){S.now=!0;let b=Array.from(d.path.includes(".")?st.default.get(t,Rn(s)):t);if(b.length<d.parent.length)o(`the first array: ${JSON.stringify(b,null,4)}
|
|
14
|
+
has less objects than array we're matching against, ${JSON.stringify(d.parent,null,4)}`);else{let O=d.parent,E=b.map((l,g)=>g),R=O.map((l,g)=>g),u=[];for(let l=0,g=E.length;l<g;l++){let $=[],w=E[l],v=vn(E,l);$.push(w),v.forEach(Pr=>{u.push(Array.from($).concat(Pr))})}let i=u.map(l=>l.map((g,$)=>[$,g])),c=0;for(let l=0,g=i.length;l<g;l++){let $=0;i[l].forEach(w=>{x.default.plainObject(O[w[0]])&&x.default.plainObject(b[w[1]])&&Object.keys(O[w[0]]).forEach(v=>{Object.keys(b[w[1]]).includes(v)&&($+=1,b[w[1]][v]===O[w[0]][v]&&($+=5))})}),i[l].push($),$>c&&(c=$)}for(let l=0,g=i.length;l<g;l++)if(i[l][2]===c){i[l].forEach(($,w)=>{w<i[l].length-1&&Nr(b[$[1]],O[$[0]],n,o,p)});break}}}else{let b=st.default.get(t,s);(!p.skipContainers||!x.default.plainObject(b)&&!Array.isArray(b))&&n(b,f,s)}else o(`the first input: ${JSON.stringify(t,null,4)}
|
|
15
|
+
does not have the path "${s}", we were looking, would it contain a value ${JSON.stringify(f,null,0)}.`);return f})}return vr(Gn);})();
|
|
19
16
|
/**
|
|
20
17
|
* @name ast-monkey-traverse
|
|
21
18
|
* @fileoverview Utility library to traverse AST
|
|
22
|
-
* @version 3.0.
|
|
19
|
+
* @version 3.0.10
|
|
23
20
|
* @author Roy Revelt, Codsen Ltd
|
|
24
21
|
* @license MIT
|
|
25
22
|
* {@link https://codsen.com/os/ast-monkey-traverse/}
|
|
26
|
-
*/var h={exports:{}};!function(t,e){Object.defineProperty(e,"__esModule",{value:!0});const r=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];const n=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...r];const a=["null","undefined","string","number","bigint","boolean","symbol"];function o(t){return e=>typeof e===t}const{toString:i}=Object.prototype,u=t=>{const e=i.call(t).slice(8,-1);return/HTML\w+Element/.test(e)&&s.domElement(t)?"HTMLElement":n.includes(e)?e:void 0},c=t=>e=>u(e)===t;function s(t){if(null===t)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol"}if(s.observable(t))return"Observable";if(s.array(t))return"Array";if(s.buffer(t))return"Buffer";const e=u(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}s.undefined=o("undefined"),s.string=o("string");const l=o("number");s.number=t=>l(t)&&!s.nan(t),s.bigint=o("bigint"),s.function_=o("function"),s.null_=t=>null===t,s.class_=t=>s.function_(t)&&t.toString().startsWith("class "),s.boolean=t=>!0===t||!1===t,s.symbol=o("symbol"),s.numericString=t=>s.string(t)&&!s.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t)),s.array=(t,e)=>!!Array.isArray(t)&&(!s.function_(e)||t.every(e)),s.buffer=t=>{var e,r,n,a;return null!==(a=null===(n=null===(r=null===(e=t)||void 0===e?void 0:e.constructor)||void 0===r?void 0:r.isBuffer)||void 0===n?void 0:n.call(r,t))&&void 0!==a&&a},s.nullOrUndefined=t=>s.null_(t)||s.undefined(t),s.object=t=>!s.null_(t)&&("object"==typeof t||s.function_(t)),s.iterable=t=>{var e;return s.function_(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},s.asyncIterable=t=>{var e;return s.function_(null===(e=t)||void 0===e?void 0:e[Symbol.asyncIterator])},s.generator=t=>s.iterable(t)&&s.function_(t.next)&&s.function_(t.throw),s.asyncGenerator=t=>s.asyncIterable(t)&&s.function_(t.next)&&s.function_(t.throw),s.nativePromise=t=>c("Promise")(t);s.promise=t=>s.nativePromise(t)||(t=>{var e,r;return s.function_(null===(e=t)||void 0===e?void 0:e.then)&&s.function_(null===(r=t)||void 0===r?void 0:r.catch)})(t),s.generatorFunction=c("GeneratorFunction"),s.asyncGeneratorFunction=t=>"AsyncGeneratorFunction"===u(t),s.asyncFunction=t=>"AsyncFunction"===u(t),s.boundFunction=t=>s.function_(t)&&!t.hasOwnProperty("prototype"),s.regExp=c("RegExp"),s.date=c("Date"),s.error=c("Error"),s.map=t=>c("Map")(t),s.set=t=>c("Set")(t),s.weakMap=t=>c("WeakMap")(t),s.weakSet=t=>c("WeakSet")(t),s.int8Array=c("Int8Array"),s.uint8Array=c("Uint8Array"),s.uint8ClampedArray=c("Uint8ClampedArray"),s.int16Array=c("Int16Array"),s.uint16Array=c("Uint16Array"),s.int32Array=c("Int32Array"),s.uint32Array=c("Uint32Array"),s.float32Array=c("Float32Array"),s.float64Array=c("Float64Array"),s.bigInt64Array=c("BigInt64Array"),s.bigUint64Array=c("BigUint64Array"),s.arrayBuffer=c("ArrayBuffer"),s.sharedArrayBuffer=c("SharedArrayBuffer"),s.dataView=c("DataView"),s.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype,s.urlInstance=t=>c("URL")(t),s.urlString=t=>{if(!s.string(t))return!1;try{return new URL(t),!0}catch(t){return!1}},s.truthy=t=>Boolean(t),s.falsy=t=>!t,s.nan=t=>Number.isNaN(t),s.primitive=t=>s.null_(t)||a.includes(typeof t),s.integer=t=>Number.isInteger(t),s.safeInteger=t=>Number.isSafeInteger(t),s.plainObject=t=>{if("[object Object]"!==i.call(t))return!1;const e=Object.getPrototypeOf(t);return null===e||e===Object.getPrototypeOf({})},s.typedArray=t=>{return e=u(t),r.includes(e);var e};s.arrayLike=t=>!s.nullOrUndefined(t)&&!s.function_(t)&&(t=>s.safeInteger(t)&&t>=0)(t.length),s.inRange=(t,e)=>{if(s.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(s.array(e)&&2===e.length)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};const f=["innerHTML","ownerDocument","style","attributes","nodeValue"];s.domElement=t=>s.object(t)&&1===t.nodeType&&s.string(t.nodeName)&&!s.plainObject(t)&&f.every((e=>e in t)),s.observable=t=>{var e,r,n,a;return!!t&&(t===(null===(r=(e=t)[Symbol.observable])||void 0===r?void 0:r.call(e))||t===(null===(a=(n=t)["@@observable"])||void 0===a?void 0:a.call(n)))},s.nodeStream=t=>s.object(t)&&s.function_(t.pipe)&&!s.observable(t),s.infinite=t=>t===1/0||t===-1/0;const y=t=>e=>s.integer(e)&&Math.abs(e%2)===t;s.evenInteger=y(0),s.oddInteger=y(1),s.emptyArray=t=>s.array(t)&&0===t.length,s.nonEmptyArray=t=>s.array(t)&&t.length>0,s.emptyString=t=>s.string(t)&&0===t.length,s.nonEmptyString=t=>s.string(t)&&t.length>0;s.emptyStringOrWhitespace=t=>s.emptyString(t)||(t=>s.string(t)&&!/\S/.test(t))(t),s.emptyObject=t=>s.object(t)&&!s.map(t)&&!s.set(t)&&0===Object.keys(t).length,s.nonEmptyObject=t=>s.object(t)&&!s.map(t)&&!s.set(t)&&Object.keys(t).length>0,s.emptySet=t=>s.set(t)&&0===t.size,s.nonEmptySet=t=>s.set(t)&&t.size>0,s.emptyMap=t=>s.map(t)&&0===t.size,s.nonEmptyMap=t=>s.map(t)&&t.size>0,s.propertyKey=t=>s.any([s.string,s.number,s.symbol],t),s.formData=t=>c("FormData")(t),s.urlSearchParams=t=>c("URLSearchParams")(t);const p=(t,e,r)=>{if(!s.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(0===r.length)throw new TypeError("Invalid number of values");return t.call(r,e)};s.any=(t,...e)=>(s.array(t)?t:[t]).some((t=>p(Array.prototype.some,t,e))),s.all=(t,...e)=>p(Array.prototype.every,t,e);const b=(t,e,r,n={})=>{if(!t){const{multipleValues:t}=n,a=t?`received values of types ${[...new Set(r.map((t=>`\`${s(t)}\``)))].join(", ")}`:`received value of type \`${s(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${a}.`)}};e.assert={undefined:t=>b(s.undefined(t),"undefined",t),string:t=>b(s.string(t),"string",t),number:t=>b(s.number(t),"number",t),bigint:t=>b(s.bigint(t),"bigint",t),function_:t=>b(s.function_(t),"Function",t),null_:t=>b(s.null_(t),"null",t),class_:t=>b(s.class_(t),"Class",t),boolean:t=>b(s.boolean(t),"boolean",t),symbol:t=>b(s.symbol(t),"symbol",t),numericString:t=>b(s.numericString(t),"string with a number",t),array:(t,e)=>{b(s.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>b(s.buffer(t),"Buffer",t),nullOrUndefined:t=>b(s.nullOrUndefined(t),"null or undefined",t),object:t=>b(s.object(t),"Object",t),iterable:t=>b(s.iterable(t),"Iterable",t),asyncIterable:t=>b(s.asyncIterable(t),"AsyncIterable",t),generator:t=>b(s.generator(t),"Generator",t),asyncGenerator:t=>b(s.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>b(s.nativePromise(t),"native Promise",t),promise:t=>b(s.promise(t),"Promise",t),generatorFunction:t=>b(s.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>b(s.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>b(s.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>b(s.boundFunction(t),"Function",t),regExp:t=>b(s.regExp(t),"RegExp",t),date:t=>b(s.date(t),"Date",t),error:t=>b(s.error(t),"Error",t),map:t=>b(s.map(t),"Map",t),set:t=>b(s.set(t),"Set",t),weakMap:t=>b(s.weakMap(t),"WeakMap",t),weakSet:t=>b(s.weakSet(t),"WeakSet",t),int8Array:t=>b(s.int8Array(t),"Int8Array",t),uint8Array:t=>b(s.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>b(s.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>b(s.int16Array(t),"Int16Array",t),uint16Array:t=>b(s.uint16Array(t),"Uint16Array",t),int32Array:t=>b(s.int32Array(t),"Int32Array",t),uint32Array:t=>b(s.uint32Array(t),"Uint32Array",t),float32Array:t=>b(s.float32Array(t),"Float32Array",t),float64Array:t=>b(s.float64Array(t),"Float64Array",t),bigInt64Array:t=>b(s.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>b(s.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>b(s.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>b(s.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>b(s.dataView(t),"DataView",t),urlInstance:t=>b(s.urlInstance(t),"URL",t),urlString:t=>b(s.urlString(t),"string with a URL",t),truthy:t=>b(s.truthy(t),"truthy",t),falsy:t=>b(s.falsy(t),"falsy",t),nan:t=>b(s.nan(t),"NaN",t),primitive:t=>b(s.primitive(t),"primitive",t),integer:t=>b(s.integer(t),"integer",t),safeInteger:t=>b(s.safeInteger(t),"integer",t),plainObject:t=>b(s.plainObject(t),"plain object",t),typedArray:t=>b(s.typedArray(t),"TypedArray",t),arrayLike:t=>b(s.arrayLike(t),"array-like",t),domElement:t=>b(s.domElement(t),"HTMLElement",t),observable:t=>b(s.observable(t),"Observable",t),nodeStream:t=>b(s.nodeStream(t),"Node.js Stream",t),infinite:t=>b(s.infinite(t),"infinite number",t),emptyArray:t=>b(s.emptyArray(t),"empty array",t),nonEmptyArray:t=>b(s.nonEmptyArray(t),"non-empty array",t),emptyString:t=>b(s.emptyString(t),"empty string",t),nonEmptyString:t=>b(s.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>b(s.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>b(s.emptyObject(t),"empty object",t),nonEmptyObject:t=>b(s.nonEmptyObject(t),"non-empty object",t),emptySet:t=>b(s.emptySet(t),"empty set",t),nonEmptySet:t=>b(s.nonEmptySet(t),"non-empty set",t),emptyMap:t=>b(s.emptyMap(t),"empty map",t),nonEmptyMap:t=>b(s.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>b(s.propertyKey(t),"PropertyKey",t),formData:t=>b(s.formData(t),"FormData",t),urlSearchParams:t=>b(s.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>b(s.evenInteger(t),"even integer",t),oddInteger:t=>b(s.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>b(s.directInstanceOf(t,e),"T",t),inRange:(t,e)=>b(s.inRange(t,e),"in range",t),any:(t,...e)=>b(s.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>b(s.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})},Object.defineProperties(s,{class:{value:s.class_},function:{value:s.function_},null:{value:s.null_}}),Object.defineProperties(e.assert,{class:{value:e.assert.class_},function:{value:e.assert.function_},null:{value:e.assert.null_}}),e.default=s,t.exports=s,t.exports.default=s,t.exports.assert=e.assert}(h,h.exports);var m=r(h.exports);function v(t,e){return Array.from(t).filter(((t,r)=>r!==e))}const _={skipContainers:!0,arrayStrictComparison:!1};t.deepContains=function t(e,r,n,o,u){const c={..._,...u};m(e)!==m(r)?o(`the first input arg is of a type ${m(e).toLowerCase()} but the second is ${m(r).toLowerCase()}. Values are - 1st:\n${JSON.stringify(e,null,4)}\n2nd:\n${JSON.stringify(r,null,4)}`):function(t,e){(function t(e,r,n,a){const o=i(e);let u;const c={depth:-1,path:"",...n};if(c.depth+=1,Array.isArray(o))for(let e=0,n=o.length;e<n&&!a.now;e++){const n=c.path?`${c.path}.${e}`:`${e}`;void 0!==o[e]?(c.parent=i(o),c.parentType="array",c.parentKey=g(n),u=t(r(o[e],void 0,{...c,path:n},a),r,{...c,path:n},a),Number.isNaN(u)&&e<o.length?(o.splice(e,1),e-=1):o[e]=u):o.splice(e,1)}else if(d(o))for(const e in o){if(a.now&&null!=e)break;const n=c.path?`${c.path}.${e}`:e;0===c.depth&&null!=e&&(c.topmostKey=e),c.parent=i(o),c.parentType="object",c.parentKey=g(n),u=t(r(e,o[e],{...c,path:n},a),r,{...c,path:n},a),Number.isNaN(u)?delete o[e]:o[e]=u}return o})(t,e,{},{now:!1})}(r,((r,i,u,s)=>{const l=void 0!==i?i:r,{path:f}=u;if(a.has(e,f))if(!c.arrayStrictComparison&&m.plainObject(l)&&"array"===u.parentType&&u.parent.length>1){s.now=!0;const r=Array.from(u.path.includes(".")?a.get(e,function(t){if(t.includes("."))for(let e=t.length;e--;)if("."===t[e])return t.slice(0,e);return t}(f)):e);if(r.length<u.parent.length)o(`the first array: ${JSON.stringify(r,null,4)}\nhas less objects than array we're matching against, ${JSON.stringify(u.parent,null,4)}`);else{const e=u.parent,a=r.map(((t,e)=>e));e.map(((t,e)=>e));const i=[];for(let t=0,e=a.length;t<e;t++){const e=[],r=a[t],n=v(a,t);e.push(r),n.forEach((t=>{i.push(Array.from(e).concat(t))}))}const s=i.map((t=>t.map(((t,e)=>[e,t]))));let l=0;for(let t=0,n=s.length;t<n;t++){let n=0;s[t].forEach((t=>{m.plainObject(e[t[0]])&&m.plainObject(r[t[1]])&&Object.keys(e[t[0]]).forEach((a=>{Object.keys(r[t[1]]).includes(a)&&(n+=1,r[t[1]][a]===e[t[0]][a]&&(n+=5))}))})),s[t].push(n),n>l&&(l=n)}for(let a=0,i=s.length;a<i;a++)if(s[a][2]===l){s[a].forEach(((i,u)=>{u<s[a].length-1&&t(r[i[1]],e[i[0]],n,o,c)}));break}}}else{const t=a.get(e,f);c.skipContainers&&(m.plainObject(t)||Array.isArray(t))||n(t,l,f)}else o(`the first input: ${JSON.stringify(e,null,4)}\ndoes not have the path "${f}", we were looking, would it contain a value ${JSON.stringify(l,null,0)}.`);return l}))},t.defaults=_,t.version="4.0.7",Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* @name ast-monkey-util
|
|
26
|
+
* @fileoverview Utility library of AST helper functions
|
|
27
|
+
* @version 2.0.10
|
|
28
|
+
* @author Roy Revelt, Codsen Ltd
|
|
29
|
+
* @license MIT
|
|
30
|
+
* {@link https://codsen.com/os/ast-monkey-util/}
|
|
31
|
+
*/
|
package/examples/_quickTake.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ast-deep-contains",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.10",
|
|
4
4
|
"description": "Like t.same assert on array of objects, where element order doesn't matter.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"array",
|
|
@@ -48,35 +48,28 @@
|
|
|
48
48
|
},
|
|
49
49
|
"types": "types/index.d.ts",
|
|
50
50
|
"scripts": {
|
|
51
|
-
"build": "
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"republish": "npm publish || :",
|
|
64
|
-
"tap": "tap",
|
|
65
|
-
"pretest": "npm run build",
|
|
66
|
-
"test": "npm run test:ci && npm run perf",
|
|
67
|
-
"test:ci": "npm run unittest && npm run test:examples && npm run format",
|
|
68
|
-
"test:examples": "../../scripts/test-examples.js && npm run lect && npm run prettier",
|
|
69
|
-
"tsc": "tsc",
|
|
70
|
-
"unittest": "tap --no-only --reporter=terse && tsc -p tsconfig.json --noEmit"
|
|
51
|
+
"build": "node '../../ops/scripts/esbuild.js' && yarn run dts",
|
|
52
|
+
"dev": "DEV=true node '../../ops/scripts/esbuild.js' && yarn run dts",
|
|
53
|
+
"dts": "rollup -c",
|
|
54
|
+
"examples": "node '../../ops/scripts/run-examples.js'",
|
|
55
|
+
"lect": "node '../../ops/lect/lect.js'",
|
|
56
|
+
"letspublish": "yarn publish || :",
|
|
57
|
+
"lint": "eslint . --fix",
|
|
58
|
+
"perf": "node perf/check.js",
|
|
59
|
+
"prepare": "echo 'ready'",
|
|
60
|
+
"pretest": "yarn run lect && yarn run build",
|
|
61
|
+
"test": "c8 yarn run unit && yarn run examples && yarn run lint",
|
|
62
|
+
"unit": "uvu test"
|
|
71
63
|
},
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
64
|
+
"engines": {
|
|
65
|
+
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
|
66
|
+
},
|
|
67
|
+
"c8": {
|
|
68
|
+
"check-coverage": true,
|
|
69
|
+
"exclude": [
|
|
70
|
+
"**/test/**/*.*"
|
|
78
71
|
],
|
|
79
|
-
"
|
|
72
|
+
"lines": 100
|
|
80
73
|
},
|
|
81
74
|
"lect": {
|
|
82
75
|
"licence": {
|
|
@@ -84,61 +77,15 @@
|
|
|
84
77
|
""
|
|
85
78
|
]
|
|
86
79
|
},
|
|
87
|
-
"
|
|
88
|
-
"various": {
|
|
89
|
-
"devDependencies": [
|
|
90
|
-
"@types/lodash.isplainobject",
|
|
91
|
-
"@types/object-path"
|
|
92
|
-
]
|
|
93
|
-
}
|
|
80
|
+
"various": {}
|
|
94
81
|
},
|
|
95
82
|
"dependencies": {
|
|
96
|
-
"@babel/runtime": "^7.16.3",
|
|
97
83
|
"@sindresorhus/is": "^4.2.0",
|
|
98
|
-
"ast-monkey-traverse": "^3.0.
|
|
84
|
+
"ast-monkey-traverse": "^3.0.10",
|
|
99
85
|
"object-path": "^0.11.8"
|
|
100
86
|
},
|
|
101
87
|
"devDependencies": {
|
|
102
|
-
"@babel/cli": "^7.16.0",
|
|
103
|
-
"@babel/core": "^7.16.0",
|
|
104
|
-
"@babel/node": "^7.16.0",
|
|
105
|
-
"@babel/plugin-external-helpers": "^7.16.0",
|
|
106
|
-
"@babel/plugin-proposal-class-properties": "^7.16.0",
|
|
107
|
-
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0",
|
|
108
|
-
"@babel/plugin-proposal-object-rest-spread": "^7.16.0",
|
|
109
|
-
"@babel/plugin-proposal-optional-chaining": "^7.16.0",
|
|
110
|
-
"@babel/plugin-transform-runtime": "^7.16.4",
|
|
111
|
-
"@babel/preset-env": "^7.16.4",
|
|
112
|
-
"@babel/preset-typescript": "^7.16.0",
|
|
113
|
-
"@babel/register": "^7.16.0",
|
|
114
|
-
"@istanbuljs/esm-loader-hook": "^0.1.2",
|
|
115
|
-
"@rollup/plugin-babel": "^5.3.0",
|
|
116
|
-
"@rollup/plugin-commonjs": "^21.0.1",
|
|
117
|
-
"@rollup/plugin-json": "^4.1.0",
|
|
118
|
-
"@rollup/plugin-node-resolve": "^13.0.6",
|
|
119
|
-
"@rollup/plugin-strip": "^2.1.0",
|
|
120
|
-
"@rollup/plugin-typescript": "^8.3.0",
|
|
121
88
|
"@types/lodash.isplainobject": "^4.0.6",
|
|
122
|
-
"@types/
|
|
123
|
-
"@types/object-path": "^0.11.1",
|
|
124
|
-
"@types/tap": "^15.0.5",
|
|
125
|
-
"@typescript-eslint/eslint-plugin": "^5.5.0",
|
|
126
|
-
"@typescript-eslint/parser": "^5.5.0",
|
|
127
|
-
"core-js": "^3.19.2",
|
|
128
|
-
"cross-env": "^7.0.3",
|
|
129
|
-
"eslint": "^8.3.0",
|
|
130
|
-
"lect": "^0.18.7",
|
|
131
|
-
"rollup": "^2.60.1",
|
|
132
|
-
"rollup-plugin-ascii": "^0.0.3",
|
|
133
|
-
"rollup-plugin-banner": "^0.2.1",
|
|
134
|
-
"rollup-plugin-cleanup": "^3.2.1",
|
|
135
|
-
"rollup-plugin-dts": "^4.0.1",
|
|
136
|
-
"rollup-plugin-terser": "^7.0.2",
|
|
137
|
-
"tap": "^15.1.5",
|
|
138
|
-
"tslib": "^2.3.1",
|
|
139
|
-
"typescript": "^4.5.2"
|
|
140
|
-
},
|
|
141
|
-
"engines": {
|
|
142
|
-
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
|
89
|
+
"@types/object-path": "^0.11.1"
|
|
143
90
|
}
|
|
144
91
|
}
|
package/types/index.d.ts
CHANGED
|
File without changes
|
package/examples/api.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"_quickTake.js":{"title":"Quick Take","content":"import { strict as assert } from \"assert\";\nimport { deepContains } from \"ast-deep-contains\";\n\nconst gathered = [];\nconst errors = [];\n\nconst reference = [\n { c: \"2\" }, // will end up not used\n { a: \"1\", b: \"2\", c: \"3\" },\n { x: \"8\", y: \"9\", z: \"0\" },\n];\n\nconst structureToMatch = [\n { a: \"1\", b: \"2\", c: \"3\" }, // matches but has different position in the source\n { x: \"8\", y: \"9\" }, // \"z\" missing\n];\n\n// This program pre-matches first, then matches objects as a set-subset\ndeepContains(\n reference,\n structureToMatch,\n (leftSideVal, rightSideVal) => {\n // This callback does the pre-matching and picks the key pairs for you.\n // It's up to you what you will do with left- and right-side\n // values - we normally feed them to unit test asserts but here we just push\n // to array:\n gathered.push([leftSideVal, rightSideVal]);\n },\n (err) => {\n errors.push(err);\n }\n);\n\n// imagine instead of pushing pairs into array, you fed them into assert\n// function in unit tests:\nassert.deepEqual(gathered, [\n [\"1\", \"1\"],\n [\"2\", \"2\"],\n [\"3\", \"3\"],\n [\"8\", \"8\"],\n [\"9\", \"9\"],\n]);\nassert.equal(errors.length, 0);"}}
|