├── .github
└── workflows
│ └── node.js.yml
├── .gitignore
├── .npmignore
├── .npmrc
├── LICENSE
├── README.md
├── cjs
├── index.js
└── package.json
├── es.js
├── esm
└── index.js
├── package-lock.json
├── package.json
├── rollup
└── es.config.js
├── test
├── index.html
└── index.js
└── types
└── index.d.ts
/.github/workflows/node.js.yml:
--------------------------------------------------------------------------------
1 | # This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3 |
4 | name: build
5 |
6 | on: [push, pull_request]
7 |
8 | jobs:
9 | build:
10 |
11 | runs-on: ubuntu-latest
12 |
13 | strategy:
14 | matrix:
15 | node-version: [16]
16 |
17 | steps:
18 | - uses: actions/checkout@v2
19 | - name: Use Node.js ${{ matrix.node-version }}
20 | uses: actions/setup-node@v2
21 | with:
22 | node-version: ${{ matrix.node-version }}
23 | cache: 'npm'
24 | - run: npm ci
25 | - run: npm run build --if-present
26 | - run: npm test
27 | - run: npm run coverage --if-present
28 | - name: Coveralls
29 | uses: coverallsapp/github-action@master
30 | with:
31 | github-token: ${{ secrets.GITHUB_TOKEN }}
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .nyc_output
3 | coverage/
4 | node_modules/
5 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .nyc_output
3 | .eslintrc.json
4 | .github/
5 | .travis.yml
6 | coverage/
7 | node_modules/
8 | rollup/
9 | test/
10 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=false
2 | package-lock=true
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | ISC License
2 |
3 | Copyright (c) 2023, Andrea Giammarchi, @WebReflection
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14 | OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 | PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # handy-wrap
2 |
3 | [](https://github.com/WebReflection/handy-wrap/actions) [](https://coveralls.io/github/WebReflection/handy-wrap?branch=main)
4 |
5 | **Social Media Photo by [Rudy Dong](https://unsplash.com/@mrdongok) on [Unsplash](https://unsplash.com/)**
6 |
7 | A generic `EventTarget` Proxy wrapper to chain and/or group common operations, used to showcase [this blog post](https://webreflection.medium.com/taming-the-web-speech-api-ef64f5a245e1) code.
8 |
9 | This module is *450 bytes* once minified (plus brotli).
10 |
11 | ### Single
12 | * `$('css'[, parent])` to query the document and handle a single reference
13 | * `$(target)` to wrap directly an *EventTarget* implemented interface
14 | * `$(t).on(type, ...rest)` to add a listener and chain the proxy
15 | * `$(t).emit(type, ...rest)` to dispatch an event and chain the proxy
16 | * `$(t).field` to get the field value
17 | * `$(t).field = value` to set a field value
18 | * `$(t).method(...args)` to invoke a (bound) method and chain the proxy
19 | * `$(t).valueOf()` to retrieve the wrapped reference
20 |
21 | ### List
22 | * `$$('css'[, parent])` to query the document and handle a list of references
23 | * `$$([target1, target2, ...targetN])` to wrap directly more *EventTarget* implemented interfaces
24 | * `$$([...t]).on(type, ...rest)` to add a listener to all targets and chain the proxy
25 | * `$$([...t]).emit(type, ...rest)` to dispatch many events and chain the proxy
26 | * `$$([...t]).field` to get all fields values as array
27 | * `$$([...t]).field = value` to set all fields values
28 | * `$$([...t]).method(...args)` to invoke all (bound) methods and chain the proxy
29 | * `$$([...t]).valueOf()` to retrieve the list of references
30 | * `$$([...t]).length` to retrieve the `length` of the list
31 |
32 | ### Plugins
33 |
34 | This module exports a `plugins` *Map* to enhance the utilities as needed.
35 |
36 | ```js
37 | // import {$, $$, plugins} from 'https://unpkg.com/handy-wrap';
38 | import {$, $$, plugins} from 'handy-wrap';
39 |
40 | const html = Symbol('html');
41 |
42 | plugins.set(html, (value, name, proxy) => {
43 | const output = [];
44 | for (const node of (value instanceof NodeList ? value : [value]))
45 | output.push(node.outerHTML);
46 | return output.join('');
47 | });
48 |
49 | // returns the document.body HTML
50 | $('body')[html];
51 |
52 | // returns all
as HTML
53 | $$('li')[html];
54 | ```
55 |
--------------------------------------------------------------------------------
/cjs/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | /*! (c) Andrea Giammarchi - ISC */
3 |
4 | const {iterator} = Symbol;
5 |
6 | const plugins = new Map;
7 | exports.plugins = plugins;
8 |
9 | const valueOf = (_, $) => _ ? $.at(0) : $;
10 |
11 | const handler = {
12 | get({_, $}, name, proxy) {
13 | if (plugins.has(name))
14 | return plugins.get(name)(valueOf(_, $), name, proxy);
15 | switch (name) {
16 | case iterator: return $[iterator].bind($);
17 | case 'emit': return (type, ...args) => {
18 | for (let i = 0; i < $.length; i++)
19 | $[i].dispatchEvent(new Event(type, ...args));
20 | return proxy;
21 | };
22 | case 'length': return valueOf(_, $)?.length;
23 | case 'valueOf': return () => valueOf(_, $);
24 | case 'on': name = 'addEventListener';
25 | default: {
26 | let value;
27 | for (let i = 0; i < $.length; i++) {
28 | if (i) value[i] = $[i][name];
29 | else {
30 | value = $[i][name];
31 | if (typeof value === 'function') return (...args) => {
32 | for (let i = 0; i < $.length; i++) $[i][name](...args);
33 | return proxy;
34 | };
35 | if (_) return value;
36 | value = [value];
37 | }
38 | }
39 | return value;
40 | }
41 | }
42 | },
43 | set({$}, name, value) {
44 | for (let i = 0; i < $.length; i++) $[i][name] = value;
45 | return true;
46 | }
47 | };
48 |
49 | const query = (target, name, parent = globalThis.document) =>
50 | typeof target === 'string' ? parent[name](target) : target.valueOf();
51 |
52 | const $ = (target, parent) => new Proxy(
53 | {_: 1, $: [query(target, 'querySelector', parent)]},
54 | handler
55 | );
56 | exports.$ = $;
57 |
58 | const $$ = (target, parent) => new Proxy(
59 | {_: 0, $: query(target, 'querySelectorAll', parent)},
60 | handler
61 | );
62 | exports.$$ = $$;
63 |
--------------------------------------------------------------------------------
/cjs/package.json:
--------------------------------------------------------------------------------
1 | {"type":"commonjs"}
--------------------------------------------------------------------------------
/es.js:
--------------------------------------------------------------------------------
1 | /*! (c) Andrea Giammarchi - ISC */
2 | const{iterator:e}=Symbol,t=new Map,r=(e,t)=>e?t.at(0):t,n={get({_:n,$:l},o,u){if(t.has(o))return t.get(o)(r(n,l),o,u);switch(o){case e:return l[e].bind(l);case"emit":return(e,...t)=>{for(let r=0;rr(n,l);case"on":o="addEventListener";default:{let e;for(let t=0;t{for(let t=0;t"string"==typeof e?r[t](e):e.valueOf(),o=(e,t)=>new Proxy({_:1,$:[l(e,"querySelector",t)]},n),u=(e,t)=>new Proxy({_:0,$:l(e,"querySelectorAll",t)},n);export{o as $,u as $$,t as plugins};
3 |
--------------------------------------------------------------------------------
/esm/index.js:
--------------------------------------------------------------------------------
1 | /*! (c) Andrea Giammarchi - ISC */
2 |
3 | const {iterator} = Symbol;
4 |
5 | export const plugins = new Map;
6 |
7 | const valueOf = (_, $) => _ ? $.at(0) : $;
8 |
9 | const handler = {
10 | get({_, $}, name, proxy) {
11 | if (plugins.has(name))
12 | return plugins.get(name)(valueOf(_, $), name, proxy);
13 | switch (name) {
14 | case iterator: return $[iterator].bind($);
15 | case 'emit': return (type, ...args) => {
16 | for (let i = 0; i < $.length; i++)
17 | $[i].dispatchEvent(new Event(type, ...args));
18 | return proxy;
19 | };
20 | case 'length': return valueOf(_, $)?.length;
21 | case 'valueOf': return () => valueOf(_, $);
22 | case 'on': name = 'addEventListener';
23 | default: {
24 | let value;
25 | for (let i = 0; i < $.length; i++) {
26 | if (i) value[i] = $[i][name];
27 | else {
28 | value = $[i][name];
29 | if (typeof value === 'function') return (...args) => {
30 | for (let i = 0; i < $.length; i++) $[i][name](...args);
31 | return proxy;
32 | };
33 | if (_) return value;
34 | value = [value];
35 | }
36 | }
37 | return value;
38 | }
39 | }
40 | },
41 | set({$}, name, value) {
42 | for (let i = 0; i < $.length; i++) $[i][name] = value;
43 | return true;
44 | }
45 | };
46 |
47 | const query = (target, name, parent = globalThis.document) =>
48 | typeof target === 'string' ? parent[name](target) : target.valueOf();
49 |
50 | export const $ = (target, parent) => new Proxy(
51 | {_: 1, $: [query(target, 'querySelector', parent)]},
52 | handler
53 | );
54 |
55 | export const $$ = (target, parent) => new Proxy(
56 | {_: 0, $: query(target, 'querySelectorAll', parent)},
57 | handler
58 | );
59 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "handy-wrap",
3 | "version": "0.2.2",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "handy-wrap",
9 | "version": "0.2.2",
10 | "license": "ISC",
11 | "devDependencies": {
12 | "@rollup/plugin-node-resolve": "^15.0.1",
13 | "@rollup/plugin-terser": "^0.4.0",
14 | "ascjs": "^5.0.1",
15 | "c8": "^7.12.0",
16 | "rollup": "^3.12.1"
17 | }
18 | },
19 | "node_modules/@babel/parser": {
20 | "version": "7.20.13",
21 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz",
22 | "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==",
23 | "dev": true,
24 | "bin": {
25 | "parser": "bin/babel-parser.js"
26 | },
27 | "engines": {
28 | "node": ">=6.0.0"
29 | }
30 | },
31 | "node_modules/@bcoe/v8-coverage": {
32 | "version": "0.2.3",
33 | "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
34 | "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
35 | "dev": true
36 | },
37 | "node_modules/@istanbuljs/schema": {
38 | "version": "0.1.3",
39 | "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
40 | "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
41 | "dev": true,
42 | "engines": {
43 | "node": ">=8"
44 | }
45 | },
46 | "node_modules/@jridgewell/gen-mapping": {
47 | "version": "0.3.2",
48 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
49 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
50 | "dev": true,
51 | "dependencies": {
52 | "@jridgewell/set-array": "^1.0.1",
53 | "@jridgewell/sourcemap-codec": "^1.4.10",
54 | "@jridgewell/trace-mapping": "^0.3.9"
55 | },
56 | "engines": {
57 | "node": ">=6.0.0"
58 | }
59 | },
60 | "node_modules/@jridgewell/resolve-uri": {
61 | "version": "3.1.0",
62 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
63 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
64 | "dev": true,
65 | "engines": {
66 | "node": ">=6.0.0"
67 | }
68 | },
69 | "node_modules/@jridgewell/set-array": {
70 | "version": "1.1.2",
71 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
72 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
73 | "dev": true,
74 | "engines": {
75 | "node": ">=6.0.0"
76 | }
77 | },
78 | "node_modules/@jridgewell/source-map": {
79 | "version": "0.3.2",
80 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
81 | "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
82 | "dev": true,
83 | "dependencies": {
84 | "@jridgewell/gen-mapping": "^0.3.0",
85 | "@jridgewell/trace-mapping": "^0.3.9"
86 | }
87 | },
88 | "node_modules/@jridgewell/sourcemap-codec": {
89 | "version": "1.4.14",
90 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
91 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
92 | "dev": true
93 | },
94 | "node_modules/@jridgewell/trace-mapping": {
95 | "version": "0.3.17",
96 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
97 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
98 | "dev": true,
99 | "dependencies": {
100 | "@jridgewell/resolve-uri": "3.1.0",
101 | "@jridgewell/sourcemap-codec": "1.4.14"
102 | }
103 | },
104 | "node_modules/@rollup/plugin-node-resolve": {
105 | "version": "15.0.1",
106 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz",
107 | "integrity": "sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==",
108 | "dev": true,
109 | "dependencies": {
110 | "@rollup/pluginutils": "^5.0.1",
111 | "@types/resolve": "1.20.2",
112 | "deepmerge": "^4.2.2",
113 | "is-builtin-module": "^3.2.0",
114 | "is-module": "^1.0.0",
115 | "resolve": "^1.22.1"
116 | },
117 | "engines": {
118 | "node": ">=14.0.0"
119 | },
120 | "peerDependencies": {
121 | "rollup": "^2.78.0||^3.0.0"
122 | },
123 | "peerDependenciesMeta": {
124 | "rollup": {
125 | "optional": true
126 | }
127 | }
128 | },
129 | "node_modules/@rollup/plugin-terser": {
130 | "version": "0.4.0",
131 | "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.0.tgz",
132 | "integrity": "sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==",
133 | "dev": true,
134 | "dependencies": {
135 | "serialize-javascript": "^6.0.0",
136 | "smob": "^0.0.6",
137 | "terser": "^5.15.1"
138 | },
139 | "engines": {
140 | "node": ">=14.0.0"
141 | },
142 | "peerDependencies": {
143 | "rollup": "^2.x || ^3.x"
144 | },
145 | "peerDependenciesMeta": {
146 | "rollup": {
147 | "optional": true
148 | }
149 | }
150 | },
151 | "node_modules/@rollup/pluginutils": {
152 | "version": "5.0.2",
153 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
154 | "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
155 | "dev": true,
156 | "dependencies": {
157 | "@types/estree": "^1.0.0",
158 | "estree-walker": "^2.0.2",
159 | "picomatch": "^2.3.1"
160 | },
161 | "engines": {
162 | "node": ">=14.0.0"
163 | },
164 | "peerDependencies": {
165 | "rollup": "^1.20.0||^2.0.0||^3.0.0"
166 | },
167 | "peerDependenciesMeta": {
168 | "rollup": {
169 | "optional": true
170 | }
171 | }
172 | },
173 | "node_modules/@types/estree": {
174 | "version": "1.0.0",
175 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
176 | "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
177 | "dev": true
178 | },
179 | "node_modules/@types/istanbul-lib-coverage": {
180 | "version": "2.0.4",
181 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
182 | "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==",
183 | "dev": true
184 | },
185 | "node_modules/@types/resolve": {
186 | "version": "1.20.2",
187 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
188 | "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
189 | "dev": true
190 | },
191 | "node_modules/acorn": {
192 | "version": "8.8.2",
193 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
194 | "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
195 | "dev": true,
196 | "bin": {
197 | "acorn": "bin/acorn"
198 | },
199 | "engines": {
200 | "node": ">=0.4.0"
201 | }
202 | },
203 | "node_modules/ansi-regex": {
204 | "version": "5.0.1",
205 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
206 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
207 | "dev": true,
208 | "engines": {
209 | "node": ">=8"
210 | }
211 | },
212 | "node_modules/ansi-styles": {
213 | "version": "4.3.0",
214 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
215 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
216 | "dev": true,
217 | "dependencies": {
218 | "color-convert": "^2.0.1"
219 | },
220 | "engines": {
221 | "node": ">=8"
222 | },
223 | "funding": {
224 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
225 | }
226 | },
227 | "node_modules/ascjs": {
228 | "version": "5.0.1",
229 | "resolved": "https://registry.npmjs.org/ascjs/-/ascjs-5.0.1.tgz",
230 | "integrity": "sha512-1d/QdICzpywXiP53/Zz3fMdaC0/BB1ybLf+fK+QrqY8iyXNnWUHUrpmrowueXeswo+O+meJWm43TJSg2ClP3Sg==",
231 | "dev": true,
232 | "dependencies": {
233 | "@babel/parser": "^7.12.5"
234 | },
235 | "bin": {
236 | "ascjs": "bin.js"
237 | }
238 | },
239 | "node_modules/balanced-match": {
240 | "version": "1.0.2",
241 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
242 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
243 | "dev": true
244 | },
245 | "node_modules/brace-expansion": {
246 | "version": "1.1.11",
247 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
248 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
249 | "dev": true,
250 | "dependencies": {
251 | "balanced-match": "^1.0.0",
252 | "concat-map": "0.0.1"
253 | }
254 | },
255 | "node_modules/buffer-from": {
256 | "version": "1.1.2",
257 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
258 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
259 | "dev": true
260 | },
261 | "node_modules/builtin-modules": {
262 | "version": "3.3.0",
263 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
264 | "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
265 | "dev": true,
266 | "engines": {
267 | "node": ">=6"
268 | },
269 | "funding": {
270 | "url": "https://github.com/sponsors/sindresorhus"
271 | }
272 | },
273 | "node_modules/c8": {
274 | "version": "7.12.0",
275 | "resolved": "https://registry.npmjs.org/c8/-/c8-7.12.0.tgz",
276 | "integrity": "sha512-CtgQrHOkyxr5koX1wEUmN/5cfDa2ckbHRA4Gy5LAL0zaCFtVWJS5++n+w4/sr2GWGerBxgTjpKeDclk/Qk6W/A==",
277 | "dev": true,
278 | "dependencies": {
279 | "@bcoe/v8-coverage": "^0.2.3",
280 | "@istanbuljs/schema": "^0.1.3",
281 | "find-up": "^5.0.0",
282 | "foreground-child": "^2.0.0",
283 | "istanbul-lib-coverage": "^3.2.0",
284 | "istanbul-lib-report": "^3.0.0",
285 | "istanbul-reports": "^3.1.4",
286 | "rimraf": "^3.0.2",
287 | "test-exclude": "^6.0.0",
288 | "v8-to-istanbul": "^9.0.0",
289 | "yargs": "^16.2.0",
290 | "yargs-parser": "^20.2.9"
291 | },
292 | "bin": {
293 | "c8": "bin/c8.js"
294 | },
295 | "engines": {
296 | "node": ">=10.12.0"
297 | }
298 | },
299 | "node_modules/cliui": {
300 | "version": "7.0.4",
301 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
302 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
303 | "dev": true,
304 | "dependencies": {
305 | "string-width": "^4.2.0",
306 | "strip-ansi": "^6.0.0",
307 | "wrap-ansi": "^7.0.0"
308 | }
309 | },
310 | "node_modules/color-convert": {
311 | "version": "2.0.1",
312 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
313 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
314 | "dev": true,
315 | "dependencies": {
316 | "color-name": "~1.1.4"
317 | },
318 | "engines": {
319 | "node": ">=7.0.0"
320 | }
321 | },
322 | "node_modules/color-name": {
323 | "version": "1.1.4",
324 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
325 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
326 | "dev": true
327 | },
328 | "node_modules/commander": {
329 | "version": "2.20.3",
330 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
331 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
332 | "dev": true
333 | },
334 | "node_modules/concat-map": {
335 | "version": "0.0.1",
336 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
337 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
338 | "dev": true
339 | },
340 | "node_modules/convert-source-map": {
341 | "version": "1.9.0",
342 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
343 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
344 | "dev": true
345 | },
346 | "node_modules/cross-spawn": {
347 | "version": "7.0.3",
348 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
349 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
350 | "dev": true,
351 | "dependencies": {
352 | "path-key": "^3.1.0",
353 | "shebang-command": "^2.0.0",
354 | "which": "^2.0.1"
355 | },
356 | "engines": {
357 | "node": ">= 8"
358 | }
359 | },
360 | "node_modules/deepmerge": {
361 | "version": "4.3.0",
362 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz",
363 | "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==",
364 | "dev": true,
365 | "engines": {
366 | "node": ">=0.10.0"
367 | }
368 | },
369 | "node_modules/emoji-regex": {
370 | "version": "8.0.0",
371 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
372 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
373 | "dev": true
374 | },
375 | "node_modules/escalade": {
376 | "version": "3.1.1",
377 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
378 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
379 | "dev": true,
380 | "engines": {
381 | "node": ">=6"
382 | }
383 | },
384 | "node_modules/estree-walker": {
385 | "version": "2.0.2",
386 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
387 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
388 | "dev": true
389 | },
390 | "node_modules/find-up": {
391 | "version": "5.0.0",
392 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
393 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
394 | "dev": true,
395 | "dependencies": {
396 | "locate-path": "^6.0.0",
397 | "path-exists": "^4.0.0"
398 | },
399 | "engines": {
400 | "node": ">=10"
401 | },
402 | "funding": {
403 | "url": "https://github.com/sponsors/sindresorhus"
404 | }
405 | },
406 | "node_modules/foreground-child": {
407 | "version": "2.0.0",
408 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
409 | "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
410 | "dev": true,
411 | "dependencies": {
412 | "cross-spawn": "^7.0.0",
413 | "signal-exit": "^3.0.2"
414 | },
415 | "engines": {
416 | "node": ">=8.0.0"
417 | }
418 | },
419 | "node_modules/fs.realpath": {
420 | "version": "1.0.0",
421 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
422 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
423 | "dev": true
424 | },
425 | "node_modules/fsevents": {
426 | "version": "2.3.2",
427 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
428 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
429 | "dev": true,
430 | "hasInstallScript": true,
431 | "optional": true,
432 | "os": [
433 | "darwin"
434 | ],
435 | "engines": {
436 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
437 | }
438 | },
439 | "node_modules/function-bind": {
440 | "version": "1.1.1",
441 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
442 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
443 | "dev": true
444 | },
445 | "node_modules/get-caller-file": {
446 | "version": "2.0.5",
447 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
448 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
449 | "dev": true,
450 | "engines": {
451 | "node": "6.* || 8.* || >= 10.*"
452 | }
453 | },
454 | "node_modules/glob": {
455 | "version": "7.2.3",
456 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
457 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
458 | "dev": true,
459 | "dependencies": {
460 | "fs.realpath": "^1.0.0",
461 | "inflight": "^1.0.4",
462 | "inherits": "2",
463 | "minimatch": "^3.1.1",
464 | "once": "^1.3.0",
465 | "path-is-absolute": "^1.0.0"
466 | },
467 | "engines": {
468 | "node": "*"
469 | },
470 | "funding": {
471 | "url": "https://github.com/sponsors/isaacs"
472 | }
473 | },
474 | "node_modules/has": {
475 | "version": "1.0.3",
476 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
477 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
478 | "dev": true,
479 | "dependencies": {
480 | "function-bind": "^1.1.1"
481 | },
482 | "engines": {
483 | "node": ">= 0.4.0"
484 | }
485 | },
486 | "node_modules/has-flag": {
487 | "version": "4.0.0",
488 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
489 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
490 | "dev": true,
491 | "engines": {
492 | "node": ">=8"
493 | }
494 | },
495 | "node_modules/html-escaper": {
496 | "version": "2.0.2",
497 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
498 | "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
499 | "dev": true
500 | },
501 | "node_modules/inflight": {
502 | "version": "1.0.6",
503 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
504 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
505 | "dev": true,
506 | "dependencies": {
507 | "once": "^1.3.0",
508 | "wrappy": "1"
509 | }
510 | },
511 | "node_modules/inherits": {
512 | "version": "2.0.4",
513 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
514 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
515 | "dev": true
516 | },
517 | "node_modules/is-builtin-module": {
518 | "version": "3.2.1",
519 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
520 | "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
521 | "dev": true,
522 | "dependencies": {
523 | "builtin-modules": "^3.3.0"
524 | },
525 | "engines": {
526 | "node": ">=6"
527 | },
528 | "funding": {
529 | "url": "https://github.com/sponsors/sindresorhus"
530 | }
531 | },
532 | "node_modules/is-core-module": {
533 | "version": "2.11.0",
534 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
535 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
536 | "dev": true,
537 | "dependencies": {
538 | "has": "^1.0.3"
539 | },
540 | "funding": {
541 | "url": "https://github.com/sponsors/ljharb"
542 | }
543 | },
544 | "node_modules/is-fullwidth-code-point": {
545 | "version": "3.0.0",
546 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
547 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
548 | "dev": true,
549 | "engines": {
550 | "node": ">=8"
551 | }
552 | },
553 | "node_modules/is-module": {
554 | "version": "1.0.0",
555 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
556 | "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
557 | "dev": true
558 | },
559 | "node_modules/isexe": {
560 | "version": "2.0.0",
561 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
562 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
563 | "dev": true
564 | },
565 | "node_modules/istanbul-lib-coverage": {
566 | "version": "3.2.0",
567 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
568 | "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
569 | "dev": true,
570 | "engines": {
571 | "node": ">=8"
572 | }
573 | },
574 | "node_modules/istanbul-lib-report": {
575 | "version": "3.0.0",
576 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
577 | "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
578 | "dev": true,
579 | "dependencies": {
580 | "istanbul-lib-coverage": "^3.0.0",
581 | "make-dir": "^3.0.0",
582 | "supports-color": "^7.1.0"
583 | },
584 | "engines": {
585 | "node": ">=8"
586 | }
587 | },
588 | "node_modules/istanbul-reports": {
589 | "version": "3.1.5",
590 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
591 | "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
592 | "dev": true,
593 | "dependencies": {
594 | "html-escaper": "^2.0.0",
595 | "istanbul-lib-report": "^3.0.0"
596 | },
597 | "engines": {
598 | "node": ">=8"
599 | }
600 | },
601 | "node_modules/locate-path": {
602 | "version": "6.0.0",
603 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
604 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
605 | "dev": true,
606 | "dependencies": {
607 | "p-locate": "^5.0.0"
608 | },
609 | "engines": {
610 | "node": ">=10"
611 | },
612 | "funding": {
613 | "url": "https://github.com/sponsors/sindresorhus"
614 | }
615 | },
616 | "node_modules/make-dir": {
617 | "version": "3.1.0",
618 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
619 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
620 | "dev": true,
621 | "dependencies": {
622 | "semver": "^6.0.0"
623 | },
624 | "engines": {
625 | "node": ">=8"
626 | },
627 | "funding": {
628 | "url": "https://github.com/sponsors/sindresorhus"
629 | }
630 | },
631 | "node_modules/minimatch": {
632 | "version": "3.1.2",
633 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
634 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
635 | "dev": true,
636 | "dependencies": {
637 | "brace-expansion": "^1.1.7"
638 | },
639 | "engines": {
640 | "node": "*"
641 | }
642 | },
643 | "node_modules/once": {
644 | "version": "1.4.0",
645 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
646 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
647 | "dev": true,
648 | "dependencies": {
649 | "wrappy": "1"
650 | }
651 | },
652 | "node_modules/p-limit": {
653 | "version": "3.1.0",
654 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
655 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
656 | "dev": true,
657 | "dependencies": {
658 | "yocto-queue": "^0.1.0"
659 | },
660 | "engines": {
661 | "node": ">=10"
662 | },
663 | "funding": {
664 | "url": "https://github.com/sponsors/sindresorhus"
665 | }
666 | },
667 | "node_modules/p-locate": {
668 | "version": "5.0.0",
669 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
670 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
671 | "dev": true,
672 | "dependencies": {
673 | "p-limit": "^3.0.2"
674 | },
675 | "engines": {
676 | "node": ">=10"
677 | },
678 | "funding": {
679 | "url": "https://github.com/sponsors/sindresorhus"
680 | }
681 | },
682 | "node_modules/path-exists": {
683 | "version": "4.0.0",
684 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
685 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
686 | "dev": true,
687 | "engines": {
688 | "node": ">=8"
689 | }
690 | },
691 | "node_modules/path-is-absolute": {
692 | "version": "1.0.1",
693 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
694 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
695 | "dev": true,
696 | "engines": {
697 | "node": ">=0.10.0"
698 | }
699 | },
700 | "node_modules/path-key": {
701 | "version": "3.1.1",
702 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
703 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
704 | "dev": true,
705 | "engines": {
706 | "node": ">=8"
707 | }
708 | },
709 | "node_modules/path-parse": {
710 | "version": "1.0.7",
711 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
712 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
713 | "dev": true
714 | },
715 | "node_modules/picomatch": {
716 | "version": "2.3.1",
717 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
718 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
719 | "dev": true,
720 | "engines": {
721 | "node": ">=8.6"
722 | },
723 | "funding": {
724 | "url": "https://github.com/sponsors/jonschlinkert"
725 | }
726 | },
727 | "node_modules/randombytes": {
728 | "version": "2.1.0",
729 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
730 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
731 | "dev": true,
732 | "dependencies": {
733 | "safe-buffer": "^5.1.0"
734 | }
735 | },
736 | "node_modules/require-directory": {
737 | "version": "2.1.1",
738 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
739 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
740 | "dev": true,
741 | "engines": {
742 | "node": ">=0.10.0"
743 | }
744 | },
745 | "node_modules/resolve": {
746 | "version": "1.22.1",
747 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
748 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
749 | "dev": true,
750 | "dependencies": {
751 | "is-core-module": "^2.9.0",
752 | "path-parse": "^1.0.7",
753 | "supports-preserve-symlinks-flag": "^1.0.0"
754 | },
755 | "bin": {
756 | "resolve": "bin/resolve"
757 | },
758 | "funding": {
759 | "url": "https://github.com/sponsors/ljharb"
760 | }
761 | },
762 | "node_modules/rimraf": {
763 | "version": "3.0.2",
764 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
765 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
766 | "dev": true,
767 | "dependencies": {
768 | "glob": "^7.1.3"
769 | },
770 | "bin": {
771 | "rimraf": "bin.js"
772 | },
773 | "funding": {
774 | "url": "https://github.com/sponsors/isaacs"
775 | }
776 | },
777 | "node_modules/rollup": {
778 | "version": "3.12.1",
779 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.1.tgz",
780 | "integrity": "sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==",
781 | "dev": true,
782 | "bin": {
783 | "rollup": "dist/bin/rollup"
784 | },
785 | "engines": {
786 | "node": ">=14.18.0",
787 | "npm": ">=8.0.0"
788 | },
789 | "optionalDependencies": {
790 | "fsevents": "~2.3.2"
791 | }
792 | },
793 | "node_modules/safe-buffer": {
794 | "version": "5.2.1",
795 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
796 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
797 | "dev": true,
798 | "funding": [
799 | {
800 | "type": "github",
801 | "url": "https://github.com/sponsors/feross"
802 | },
803 | {
804 | "type": "patreon",
805 | "url": "https://www.patreon.com/feross"
806 | },
807 | {
808 | "type": "consulting",
809 | "url": "https://feross.org/support"
810 | }
811 | ]
812 | },
813 | "node_modules/semver": {
814 | "version": "6.3.0",
815 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
816 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
817 | "dev": true,
818 | "bin": {
819 | "semver": "bin/semver.js"
820 | }
821 | },
822 | "node_modules/serialize-javascript": {
823 | "version": "6.0.1",
824 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
825 | "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
826 | "dev": true,
827 | "dependencies": {
828 | "randombytes": "^2.1.0"
829 | }
830 | },
831 | "node_modules/shebang-command": {
832 | "version": "2.0.0",
833 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
834 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
835 | "dev": true,
836 | "dependencies": {
837 | "shebang-regex": "^3.0.0"
838 | },
839 | "engines": {
840 | "node": ">=8"
841 | }
842 | },
843 | "node_modules/shebang-regex": {
844 | "version": "3.0.0",
845 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
846 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
847 | "dev": true,
848 | "engines": {
849 | "node": ">=8"
850 | }
851 | },
852 | "node_modules/signal-exit": {
853 | "version": "3.0.7",
854 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
855 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
856 | "dev": true
857 | },
858 | "node_modules/smob": {
859 | "version": "0.0.6",
860 | "resolved": "https://registry.npmjs.org/smob/-/smob-0.0.6.tgz",
861 | "integrity": "sha512-V21+XeNni+tTyiST1MHsa84AQhT1aFZipzPpOFAVB8DkHzwJyjjAmt9bgwnuZiZWnIbMo2duE29wybxv/7HWUw==",
862 | "dev": true
863 | },
864 | "node_modules/source-map": {
865 | "version": "0.6.1",
866 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
867 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
868 | "dev": true,
869 | "engines": {
870 | "node": ">=0.10.0"
871 | }
872 | },
873 | "node_modules/source-map-support": {
874 | "version": "0.5.21",
875 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
876 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
877 | "dev": true,
878 | "dependencies": {
879 | "buffer-from": "^1.0.0",
880 | "source-map": "^0.6.0"
881 | }
882 | },
883 | "node_modules/string-width": {
884 | "version": "4.2.3",
885 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
886 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
887 | "dev": true,
888 | "dependencies": {
889 | "emoji-regex": "^8.0.0",
890 | "is-fullwidth-code-point": "^3.0.0",
891 | "strip-ansi": "^6.0.1"
892 | },
893 | "engines": {
894 | "node": ">=8"
895 | }
896 | },
897 | "node_modules/strip-ansi": {
898 | "version": "6.0.1",
899 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
900 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
901 | "dev": true,
902 | "dependencies": {
903 | "ansi-regex": "^5.0.1"
904 | },
905 | "engines": {
906 | "node": ">=8"
907 | }
908 | },
909 | "node_modules/supports-color": {
910 | "version": "7.2.0",
911 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
912 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
913 | "dev": true,
914 | "dependencies": {
915 | "has-flag": "^4.0.0"
916 | },
917 | "engines": {
918 | "node": ">=8"
919 | }
920 | },
921 | "node_modules/supports-preserve-symlinks-flag": {
922 | "version": "1.0.0",
923 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
924 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
925 | "dev": true,
926 | "engines": {
927 | "node": ">= 0.4"
928 | },
929 | "funding": {
930 | "url": "https://github.com/sponsors/ljharb"
931 | }
932 | },
933 | "node_modules/terser": {
934 | "version": "5.16.2",
935 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.2.tgz",
936 | "integrity": "sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg==",
937 | "dev": true,
938 | "dependencies": {
939 | "@jridgewell/source-map": "^0.3.2",
940 | "acorn": "^8.5.0",
941 | "commander": "^2.20.0",
942 | "source-map-support": "~0.5.20"
943 | },
944 | "bin": {
945 | "terser": "bin/terser"
946 | },
947 | "engines": {
948 | "node": ">=10"
949 | }
950 | },
951 | "node_modules/test-exclude": {
952 | "version": "6.0.0",
953 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
954 | "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
955 | "dev": true,
956 | "dependencies": {
957 | "@istanbuljs/schema": "^0.1.2",
958 | "glob": "^7.1.4",
959 | "minimatch": "^3.0.4"
960 | },
961 | "engines": {
962 | "node": ">=8"
963 | }
964 | },
965 | "node_modules/v8-to-istanbul": {
966 | "version": "9.0.1",
967 | "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz",
968 | "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==",
969 | "dev": true,
970 | "dependencies": {
971 | "@jridgewell/trace-mapping": "^0.3.12",
972 | "@types/istanbul-lib-coverage": "^2.0.1",
973 | "convert-source-map": "^1.6.0"
974 | },
975 | "engines": {
976 | "node": ">=10.12.0"
977 | }
978 | },
979 | "node_modules/which": {
980 | "version": "2.0.2",
981 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
982 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
983 | "dev": true,
984 | "dependencies": {
985 | "isexe": "^2.0.0"
986 | },
987 | "bin": {
988 | "node-which": "bin/node-which"
989 | },
990 | "engines": {
991 | "node": ">= 8"
992 | }
993 | },
994 | "node_modules/wrap-ansi": {
995 | "version": "7.0.0",
996 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
997 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
998 | "dev": true,
999 | "dependencies": {
1000 | "ansi-styles": "^4.0.0",
1001 | "string-width": "^4.1.0",
1002 | "strip-ansi": "^6.0.0"
1003 | },
1004 | "engines": {
1005 | "node": ">=10"
1006 | },
1007 | "funding": {
1008 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
1009 | }
1010 | },
1011 | "node_modules/wrappy": {
1012 | "version": "1.0.2",
1013 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1014 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
1015 | "dev": true
1016 | },
1017 | "node_modules/y18n": {
1018 | "version": "5.0.8",
1019 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
1020 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
1021 | "dev": true,
1022 | "engines": {
1023 | "node": ">=10"
1024 | }
1025 | },
1026 | "node_modules/yargs": {
1027 | "version": "16.2.0",
1028 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
1029 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
1030 | "dev": true,
1031 | "dependencies": {
1032 | "cliui": "^7.0.2",
1033 | "escalade": "^3.1.1",
1034 | "get-caller-file": "^2.0.5",
1035 | "require-directory": "^2.1.1",
1036 | "string-width": "^4.2.0",
1037 | "y18n": "^5.0.5",
1038 | "yargs-parser": "^20.2.2"
1039 | },
1040 | "engines": {
1041 | "node": ">=10"
1042 | }
1043 | },
1044 | "node_modules/yargs-parser": {
1045 | "version": "20.2.9",
1046 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
1047 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
1048 | "dev": true,
1049 | "engines": {
1050 | "node": ">=10"
1051 | }
1052 | },
1053 | "node_modules/yocto-queue": {
1054 | "version": "0.1.0",
1055 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
1056 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
1057 | "dev": true,
1058 | "engines": {
1059 | "node": ">=10"
1060 | },
1061 | "funding": {
1062 | "url": "https://github.com/sponsors/sindresorhus"
1063 | }
1064 | }
1065 | },
1066 | "dependencies": {
1067 | "@babel/parser": {
1068 | "version": "7.20.13",
1069 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz",
1070 | "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==",
1071 | "dev": true
1072 | },
1073 | "@bcoe/v8-coverage": {
1074 | "version": "0.2.3",
1075 | "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
1076 | "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
1077 | "dev": true
1078 | },
1079 | "@istanbuljs/schema": {
1080 | "version": "0.1.3",
1081 | "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
1082 | "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
1083 | "dev": true
1084 | },
1085 | "@jridgewell/gen-mapping": {
1086 | "version": "0.3.2",
1087 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
1088 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
1089 | "dev": true,
1090 | "requires": {
1091 | "@jridgewell/set-array": "^1.0.1",
1092 | "@jridgewell/sourcemap-codec": "^1.4.10",
1093 | "@jridgewell/trace-mapping": "^0.3.9"
1094 | }
1095 | },
1096 | "@jridgewell/resolve-uri": {
1097 | "version": "3.1.0",
1098 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
1099 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
1100 | "dev": true
1101 | },
1102 | "@jridgewell/set-array": {
1103 | "version": "1.1.2",
1104 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
1105 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
1106 | "dev": true
1107 | },
1108 | "@jridgewell/source-map": {
1109 | "version": "0.3.2",
1110 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
1111 | "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
1112 | "dev": true,
1113 | "requires": {
1114 | "@jridgewell/gen-mapping": "^0.3.0",
1115 | "@jridgewell/trace-mapping": "^0.3.9"
1116 | }
1117 | },
1118 | "@jridgewell/sourcemap-codec": {
1119 | "version": "1.4.14",
1120 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
1121 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
1122 | "dev": true
1123 | },
1124 | "@jridgewell/trace-mapping": {
1125 | "version": "0.3.17",
1126 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
1127 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
1128 | "dev": true,
1129 | "requires": {
1130 | "@jridgewell/resolve-uri": "3.1.0",
1131 | "@jridgewell/sourcemap-codec": "1.4.14"
1132 | }
1133 | },
1134 | "@rollup/plugin-node-resolve": {
1135 | "version": "15.0.1",
1136 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz",
1137 | "integrity": "sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==",
1138 | "dev": true,
1139 | "requires": {
1140 | "@rollup/pluginutils": "^5.0.1",
1141 | "@types/resolve": "1.20.2",
1142 | "deepmerge": "^4.2.2",
1143 | "is-builtin-module": "^3.2.0",
1144 | "is-module": "^1.0.0",
1145 | "resolve": "^1.22.1"
1146 | }
1147 | },
1148 | "@rollup/plugin-terser": {
1149 | "version": "0.4.0",
1150 | "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.0.tgz",
1151 | "integrity": "sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==",
1152 | "dev": true,
1153 | "requires": {
1154 | "serialize-javascript": "^6.0.0",
1155 | "smob": "^0.0.6",
1156 | "terser": "^5.15.1"
1157 | }
1158 | },
1159 | "@rollup/pluginutils": {
1160 | "version": "5.0.2",
1161 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
1162 | "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
1163 | "dev": true,
1164 | "requires": {
1165 | "@types/estree": "^1.0.0",
1166 | "estree-walker": "^2.0.2",
1167 | "picomatch": "^2.3.1"
1168 | }
1169 | },
1170 | "@types/estree": {
1171 | "version": "1.0.0",
1172 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
1173 | "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
1174 | "dev": true
1175 | },
1176 | "@types/istanbul-lib-coverage": {
1177 | "version": "2.0.4",
1178 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
1179 | "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==",
1180 | "dev": true
1181 | },
1182 | "@types/resolve": {
1183 | "version": "1.20.2",
1184 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
1185 | "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
1186 | "dev": true
1187 | },
1188 | "acorn": {
1189 | "version": "8.8.2",
1190 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
1191 | "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
1192 | "dev": true
1193 | },
1194 | "ansi-regex": {
1195 | "version": "5.0.1",
1196 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1197 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1198 | "dev": true
1199 | },
1200 | "ansi-styles": {
1201 | "version": "4.3.0",
1202 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1203 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1204 | "dev": true,
1205 | "requires": {
1206 | "color-convert": "^2.0.1"
1207 | }
1208 | },
1209 | "ascjs": {
1210 | "version": "5.0.1",
1211 | "resolved": "https://registry.npmjs.org/ascjs/-/ascjs-5.0.1.tgz",
1212 | "integrity": "sha512-1d/QdICzpywXiP53/Zz3fMdaC0/BB1ybLf+fK+QrqY8iyXNnWUHUrpmrowueXeswo+O+meJWm43TJSg2ClP3Sg==",
1213 | "dev": true,
1214 | "requires": {
1215 | "@babel/parser": "^7.12.5"
1216 | }
1217 | },
1218 | "balanced-match": {
1219 | "version": "1.0.2",
1220 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1221 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1222 | "dev": true
1223 | },
1224 | "brace-expansion": {
1225 | "version": "1.1.11",
1226 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1227 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1228 | "dev": true,
1229 | "requires": {
1230 | "balanced-match": "^1.0.0",
1231 | "concat-map": "0.0.1"
1232 | }
1233 | },
1234 | "buffer-from": {
1235 | "version": "1.1.2",
1236 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
1237 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
1238 | "dev": true
1239 | },
1240 | "builtin-modules": {
1241 | "version": "3.3.0",
1242 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
1243 | "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
1244 | "dev": true
1245 | },
1246 | "c8": {
1247 | "version": "7.12.0",
1248 | "resolved": "https://registry.npmjs.org/c8/-/c8-7.12.0.tgz",
1249 | "integrity": "sha512-CtgQrHOkyxr5koX1wEUmN/5cfDa2ckbHRA4Gy5LAL0zaCFtVWJS5++n+w4/sr2GWGerBxgTjpKeDclk/Qk6W/A==",
1250 | "dev": true,
1251 | "requires": {
1252 | "@bcoe/v8-coverage": "^0.2.3",
1253 | "@istanbuljs/schema": "^0.1.3",
1254 | "find-up": "^5.0.0",
1255 | "foreground-child": "^2.0.0",
1256 | "istanbul-lib-coverage": "^3.2.0",
1257 | "istanbul-lib-report": "^3.0.0",
1258 | "istanbul-reports": "^3.1.4",
1259 | "rimraf": "^3.0.2",
1260 | "test-exclude": "^6.0.0",
1261 | "v8-to-istanbul": "^9.0.0",
1262 | "yargs": "^16.2.0",
1263 | "yargs-parser": "^20.2.9"
1264 | }
1265 | },
1266 | "cliui": {
1267 | "version": "7.0.4",
1268 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
1269 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
1270 | "dev": true,
1271 | "requires": {
1272 | "string-width": "^4.2.0",
1273 | "strip-ansi": "^6.0.0",
1274 | "wrap-ansi": "^7.0.0"
1275 | }
1276 | },
1277 | "color-convert": {
1278 | "version": "2.0.1",
1279 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1280 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1281 | "dev": true,
1282 | "requires": {
1283 | "color-name": "~1.1.4"
1284 | }
1285 | },
1286 | "color-name": {
1287 | "version": "1.1.4",
1288 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1289 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1290 | "dev": true
1291 | },
1292 | "commander": {
1293 | "version": "2.20.3",
1294 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1295 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1296 | "dev": true
1297 | },
1298 | "concat-map": {
1299 | "version": "0.0.1",
1300 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1301 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
1302 | "dev": true
1303 | },
1304 | "convert-source-map": {
1305 | "version": "1.9.0",
1306 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
1307 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
1308 | "dev": true
1309 | },
1310 | "cross-spawn": {
1311 | "version": "7.0.3",
1312 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
1313 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
1314 | "dev": true,
1315 | "requires": {
1316 | "path-key": "^3.1.0",
1317 | "shebang-command": "^2.0.0",
1318 | "which": "^2.0.1"
1319 | }
1320 | },
1321 | "deepmerge": {
1322 | "version": "4.3.0",
1323 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz",
1324 | "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==",
1325 | "dev": true
1326 | },
1327 | "emoji-regex": {
1328 | "version": "8.0.0",
1329 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1330 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1331 | "dev": true
1332 | },
1333 | "escalade": {
1334 | "version": "3.1.1",
1335 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
1336 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
1337 | "dev": true
1338 | },
1339 | "estree-walker": {
1340 | "version": "2.0.2",
1341 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
1342 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
1343 | "dev": true
1344 | },
1345 | "find-up": {
1346 | "version": "5.0.0",
1347 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1348 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1349 | "dev": true,
1350 | "requires": {
1351 | "locate-path": "^6.0.0",
1352 | "path-exists": "^4.0.0"
1353 | }
1354 | },
1355 | "foreground-child": {
1356 | "version": "2.0.0",
1357 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
1358 | "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
1359 | "dev": true,
1360 | "requires": {
1361 | "cross-spawn": "^7.0.0",
1362 | "signal-exit": "^3.0.2"
1363 | }
1364 | },
1365 | "fs.realpath": {
1366 | "version": "1.0.0",
1367 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1368 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1369 | "dev": true
1370 | },
1371 | "fsevents": {
1372 | "version": "2.3.2",
1373 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1374 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1375 | "dev": true,
1376 | "optional": true
1377 | },
1378 | "function-bind": {
1379 | "version": "1.1.1",
1380 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1381 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1382 | "dev": true
1383 | },
1384 | "get-caller-file": {
1385 | "version": "2.0.5",
1386 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
1387 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
1388 | "dev": true
1389 | },
1390 | "glob": {
1391 | "version": "7.2.3",
1392 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1393 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1394 | "dev": true,
1395 | "requires": {
1396 | "fs.realpath": "^1.0.0",
1397 | "inflight": "^1.0.4",
1398 | "inherits": "2",
1399 | "minimatch": "^3.1.1",
1400 | "once": "^1.3.0",
1401 | "path-is-absolute": "^1.0.0"
1402 | }
1403 | },
1404 | "has": {
1405 | "version": "1.0.3",
1406 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1407 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1408 | "dev": true,
1409 | "requires": {
1410 | "function-bind": "^1.1.1"
1411 | }
1412 | },
1413 | "has-flag": {
1414 | "version": "4.0.0",
1415 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1416 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1417 | "dev": true
1418 | },
1419 | "html-escaper": {
1420 | "version": "2.0.2",
1421 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
1422 | "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
1423 | "dev": true
1424 | },
1425 | "inflight": {
1426 | "version": "1.0.6",
1427 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1428 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
1429 | "dev": true,
1430 | "requires": {
1431 | "once": "^1.3.0",
1432 | "wrappy": "1"
1433 | }
1434 | },
1435 | "inherits": {
1436 | "version": "2.0.4",
1437 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1438 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1439 | "dev": true
1440 | },
1441 | "is-builtin-module": {
1442 | "version": "3.2.1",
1443 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
1444 | "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
1445 | "dev": true,
1446 | "requires": {
1447 | "builtin-modules": "^3.3.0"
1448 | }
1449 | },
1450 | "is-core-module": {
1451 | "version": "2.11.0",
1452 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
1453 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
1454 | "dev": true,
1455 | "requires": {
1456 | "has": "^1.0.3"
1457 | }
1458 | },
1459 | "is-fullwidth-code-point": {
1460 | "version": "3.0.0",
1461 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1462 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
1463 | "dev": true
1464 | },
1465 | "is-module": {
1466 | "version": "1.0.0",
1467 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
1468 | "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
1469 | "dev": true
1470 | },
1471 | "isexe": {
1472 | "version": "2.0.0",
1473 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1474 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1475 | "dev": true
1476 | },
1477 | "istanbul-lib-coverage": {
1478 | "version": "3.2.0",
1479 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
1480 | "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
1481 | "dev": true
1482 | },
1483 | "istanbul-lib-report": {
1484 | "version": "3.0.0",
1485 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
1486 | "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
1487 | "dev": true,
1488 | "requires": {
1489 | "istanbul-lib-coverage": "^3.0.0",
1490 | "make-dir": "^3.0.0",
1491 | "supports-color": "^7.1.0"
1492 | }
1493 | },
1494 | "istanbul-reports": {
1495 | "version": "3.1.5",
1496 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
1497 | "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
1498 | "dev": true,
1499 | "requires": {
1500 | "html-escaper": "^2.0.0",
1501 | "istanbul-lib-report": "^3.0.0"
1502 | }
1503 | },
1504 | "locate-path": {
1505 | "version": "6.0.0",
1506 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
1507 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
1508 | "dev": true,
1509 | "requires": {
1510 | "p-locate": "^5.0.0"
1511 | }
1512 | },
1513 | "make-dir": {
1514 | "version": "3.1.0",
1515 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
1516 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
1517 | "dev": true,
1518 | "requires": {
1519 | "semver": "^6.0.0"
1520 | }
1521 | },
1522 | "minimatch": {
1523 | "version": "3.1.2",
1524 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
1525 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
1526 | "dev": true,
1527 | "requires": {
1528 | "brace-expansion": "^1.1.7"
1529 | }
1530 | },
1531 | "once": {
1532 | "version": "1.4.0",
1533 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1534 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
1535 | "dev": true,
1536 | "requires": {
1537 | "wrappy": "1"
1538 | }
1539 | },
1540 | "p-limit": {
1541 | "version": "3.1.0",
1542 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
1543 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
1544 | "dev": true,
1545 | "requires": {
1546 | "yocto-queue": "^0.1.0"
1547 | }
1548 | },
1549 | "p-locate": {
1550 | "version": "5.0.0",
1551 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
1552 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
1553 | "dev": true,
1554 | "requires": {
1555 | "p-limit": "^3.0.2"
1556 | }
1557 | },
1558 | "path-exists": {
1559 | "version": "4.0.0",
1560 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1561 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1562 | "dev": true
1563 | },
1564 | "path-is-absolute": {
1565 | "version": "1.0.1",
1566 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1567 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
1568 | "dev": true
1569 | },
1570 | "path-key": {
1571 | "version": "3.1.1",
1572 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1573 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1574 | "dev": true
1575 | },
1576 | "path-parse": {
1577 | "version": "1.0.7",
1578 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1579 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1580 | "dev": true
1581 | },
1582 | "picomatch": {
1583 | "version": "2.3.1",
1584 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1585 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1586 | "dev": true
1587 | },
1588 | "randombytes": {
1589 | "version": "2.1.0",
1590 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1591 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1592 | "dev": true,
1593 | "requires": {
1594 | "safe-buffer": "^5.1.0"
1595 | }
1596 | },
1597 | "require-directory": {
1598 | "version": "2.1.1",
1599 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
1600 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
1601 | "dev": true
1602 | },
1603 | "resolve": {
1604 | "version": "1.22.1",
1605 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1606 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1607 | "dev": true,
1608 | "requires": {
1609 | "is-core-module": "^2.9.0",
1610 | "path-parse": "^1.0.7",
1611 | "supports-preserve-symlinks-flag": "^1.0.0"
1612 | }
1613 | },
1614 | "rimraf": {
1615 | "version": "3.0.2",
1616 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1617 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1618 | "dev": true,
1619 | "requires": {
1620 | "glob": "^7.1.3"
1621 | }
1622 | },
1623 | "rollup": {
1624 | "version": "3.12.1",
1625 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.1.tgz",
1626 | "integrity": "sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==",
1627 | "dev": true,
1628 | "requires": {
1629 | "fsevents": "~2.3.2"
1630 | }
1631 | },
1632 | "safe-buffer": {
1633 | "version": "5.2.1",
1634 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1635 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1636 | "dev": true
1637 | },
1638 | "semver": {
1639 | "version": "6.3.0",
1640 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1641 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1642 | "dev": true
1643 | },
1644 | "serialize-javascript": {
1645 | "version": "6.0.1",
1646 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
1647 | "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
1648 | "dev": true,
1649 | "requires": {
1650 | "randombytes": "^2.1.0"
1651 | }
1652 | },
1653 | "shebang-command": {
1654 | "version": "2.0.0",
1655 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1656 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1657 | "dev": true,
1658 | "requires": {
1659 | "shebang-regex": "^3.0.0"
1660 | }
1661 | },
1662 | "shebang-regex": {
1663 | "version": "3.0.0",
1664 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1665 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1666 | "dev": true
1667 | },
1668 | "signal-exit": {
1669 | "version": "3.0.7",
1670 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
1671 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
1672 | "dev": true
1673 | },
1674 | "smob": {
1675 | "version": "0.0.6",
1676 | "resolved": "https://registry.npmjs.org/smob/-/smob-0.0.6.tgz",
1677 | "integrity": "sha512-V21+XeNni+tTyiST1MHsa84AQhT1aFZipzPpOFAVB8DkHzwJyjjAmt9bgwnuZiZWnIbMo2duE29wybxv/7HWUw==",
1678 | "dev": true
1679 | },
1680 | "source-map": {
1681 | "version": "0.6.1",
1682 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1683 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1684 | "dev": true
1685 | },
1686 | "source-map-support": {
1687 | "version": "0.5.21",
1688 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
1689 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
1690 | "dev": true,
1691 | "requires": {
1692 | "buffer-from": "^1.0.0",
1693 | "source-map": "^0.6.0"
1694 | }
1695 | },
1696 | "string-width": {
1697 | "version": "4.2.3",
1698 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
1699 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
1700 | "dev": true,
1701 | "requires": {
1702 | "emoji-regex": "^8.0.0",
1703 | "is-fullwidth-code-point": "^3.0.0",
1704 | "strip-ansi": "^6.0.1"
1705 | }
1706 | },
1707 | "strip-ansi": {
1708 | "version": "6.0.1",
1709 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
1710 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
1711 | "dev": true,
1712 | "requires": {
1713 | "ansi-regex": "^5.0.1"
1714 | }
1715 | },
1716 | "supports-color": {
1717 | "version": "7.2.0",
1718 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1719 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1720 | "dev": true,
1721 | "requires": {
1722 | "has-flag": "^4.0.0"
1723 | }
1724 | },
1725 | "supports-preserve-symlinks-flag": {
1726 | "version": "1.0.0",
1727 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1728 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1729 | "dev": true
1730 | },
1731 | "terser": {
1732 | "version": "5.16.2",
1733 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.2.tgz",
1734 | "integrity": "sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg==",
1735 | "dev": true,
1736 | "requires": {
1737 | "@jridgewell/source-map": "^0.3.2",
1738 | "acorn": "^8.5.0",
1739 | "commander": "^2.20.0",
1740 | "source-map-support": "~0.5.20"
1741 | }
1742 | },
1743 | "test-exclude": {
1744 | "version": "6.0.0",
1745 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
1746 | "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
1747 | "dev": true,
1748 | "requires": {
1749 | "@istanbuljs/schema": "^0.1.2",
1750 | "glob": "^7.1.4",
1751 | "minimatch": "^3.0.4"
1752 | }
1753 | },
1754 | "v8-to-istanbul": {
1755 | "version": "9.0.1",
1756 | "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz",
1757 | "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==",
1758 | "dev": true,
1759 | "requires": {
1760 | "@jridgewell/trace-mapping": "^0.3.12",
1761 | "@types/istanbul-lib-coverage": "^2.0.1",
1762 | "convert-source-map": "^1.6.0"
1763 | }
1764 | },
1765 | "which": {
1766 | "version": "2.0.2",
1767 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1768 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1769 | "dev": true,
1770 | "requires": {
1771 | "isexe": "^2.0.0"
1772 | }
1773 | },
1774 | "wrap-ansi": {
1775 | "version": "7.0.0",
1776 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
1777 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
1778 | "dev": true,
1779 | "requires": {
1780 | "ansi-styles": "^4.0.0",
1781 | "string-width": "^4.1.0",
1782 | "strip-ansi": "^6.0.0"
1783 | }
1784 | },
1785 | "wrappy": {
1786 | "version": "1.0.2",
1787 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1788 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
1789 | "dev": true
1790 | },
1791 | "y18n": {
1792 | "version": "5.0.8",
1793 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
1794 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
1795 | "dev": true
1796 | },
1797 | "yargs": {
1798 | "version": "16.2.0",
1799 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
1800 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
1801 | "dev": true,
1802 | "requires": {
1803 | "cliui": "^7.0.2",
1804 | "escalade": "^3.1.1",
1805 | "get-caller-file": "^2.0.5",
1806 | "require-directory": "^2.1.1",
1807 | "string-width": "^4.2.0",
1808 | "y18n": "^5.0.5",
1809 | "yargs-parser": "^20.2.2"
1810 | }
1811 | },
1812 | "yargs-parser": {
1813 | "version": "20.2.9",
1814 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
1815 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
1816 | "dev": true
1817 | },
1818 | "yocto-queue": {
1819 | "version": "0.1.0",
1820 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
1821 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
1822 | "dev": true
1823 | }
1824 | }
1825 | }
1826 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "handy-wrap",
3 | "version": "0.2.2",
4 | "description": "A generic EventTarget Proxy wrapper to chain and/or group common operations",
5 | "main": "./cjs/index.js",
6 | "scripts": {
7 | "build": "npm run cjs && npm run rollup:es && npm run test && npm run size",
8 | "cjs": "ascjs esm cjs",
9 | "rollup:es": "rollup --config rollup/es.config.js",
10 | "test": "c8 node test/index.js",
11 | "coverage": "mkdir -p ./coverage; c8 report --reporter=text-lcov > ./coverage/lcov.info",
12 | "size": "echo -e \"\\x1b[1mhandy-wrap\\x1b[0m: $(cat es.js | brotli | wc -c) bytes (brotli)\""
13 | },
14 | "keywords": [
15 | "proxy",
16 | "jQuery",
17 | "EventTarget"
18 | ],
19 | "author": "Andrea Giammarchi",
20 | "license": "ISC",
21 | "types": "./types/index.d.ts",
22 | "devDependencies": {
23 | "@rollup/plugin-node-resolve": "^15.0.1",
24 | "@rollup/plugin-terser": "^0.4.0",
25 | "ascjs": "^5.0.1",
26 | "c8": "^7.12.0",
27 | "rollup": "^3.12.1"
28 | },
29 | "module": "./esm/index.js",
30 | "type": "module",
31 | "exports": {
32 | ".": {
33 | "import": "./esm/index.js",
34 | "default": "./cjs/index.js"
35 | },
36 | "./package.json": "./package.json"
37 | },
38 | "unpkg": "es.js",
39 | "repository": {
40 | "type": "git",
41 | "url": "git+https://github.com/WebReflection/handy-wrap.git"
42 | },
43 | "bugs": {
44 | "url": "https://github.com/WebReflection/handy-wrap/issues"
45 | },
46 | "homepage": "https://github.com/WebReflection/handy-wrap#readme"
47 | }
48 |
--------------------------------------------------------------------------------
/rollup/es.config.js:
--------------------------------------------------------------------------------
1 | import {nodeResolve} from '@rollup/plugin-node-resolve';
2 | import terser from '@rollup/plugin-terser';
3 |
4 | export default {
5 | input: './esm/index.js',
6 | plugins: [
7 | nodeResolve(),
8 | terser()
9 | ],
10 | output: {
11 | esModule: true,
12 | file: './es.js',
13 | }
14 | };
15 |
--------------------------------------------------------------------------------
/test/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | handy-wrap
7 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/test/index.js:
--------------------------------------------------------------------------------
1 | import {$, $$, plugins} from '../esm/index.js';
2 | const assert = (current, expected) => {
3 | if (current !== expected) {
4 | console.error('got', current, 'expected', expected);
5 | process.exit(1);
6 | }
7 | };
8 |
9 | class ET extends EventTarget {
10 | constructor() {
11 | super().test = Math.random();
12 | this.length = -1;
13 | }
14 | }
15 |
16 | globalThis.document = {
17 | querySelector: () => new ET,
18 | querySelectorAll: () => [new ET, new ET]
19 | };
20 |
21 | const o = $('object').on('test', Object);
22 | const oo = $$('object').on('test', Object);
23 |
24 | assert($(o).valueOf(), o.valueOf());
25 | assert($$(oo).valueOf(), oo.valueOf());
26 |
27 | o.emit('test');
28 | oo.emit('test');
29 |
30 | assert([o.test].join('') !== oo.test.join(''), true);
31 |
32 | o.test = 1;
33 | oo.test = 2;
34 | assert(o.test, 1);
35 | assert([...oo][0].test, 2);
36 | assert(o.length, -1);
37 | assert(oo.length, 2);
38 |
39 | delete globalThis.document;
40 |
41 | plugins.set('random', (value, name, proxy) => {
42 | assert(value, Array);
43 | assert(name, 'random');
44 | assert(proxy.valueOf(), value);
45 | return Math.random();
46 | });
47 |
48 | assert(typeof $(Array).random, 'number');
49 |
--------------------------------------------------------------------------------
/types/index.d.ts:
--------------------------------------------------------------------------------
1 | type Wrap = EventTarget & T & {
2 | emit(type: string, options?: object): Wrap;
3 | on(type: string, handler: Function | EventListener, options?: object): Wrap;
4 | valueOf():T;
5 | };
6 |
7 | /**
8 | * Exposes handy utilities to a single `Element`.
9 | * @param css the *CSS* selector to query.
10 | */
11 | declare function $(css: string): Wrap;
12 |
13 | /**
14 | * Exposes handy utilities to a single `Element`.
15 | * @param css the *CSS* selector to query.
16 | * @param parent the `parentNode` to query.
17 | */
18 | declare function $(css: string, parent: Document | Element): Wrap;
19 |
20 | /**
21 | * Exposes handy utilities to a single `EventTarget` entry.
22 | * @param target the signle `EventTarget` entry to wrap.
23 | */
24 | declare function $(target: T): Wrap;
25 |
26 | /**
27 | * Exposes handy utilities to a list of `EventTarget` entries.
28 | * @param css the *CSS* selector to query all.
29 | */
30 | declare function $$(css: string): Wrap;
31 |
32 | /**
33 | * Exposes handy utilities to a list of `EventTarget` entries.
34 | * @param css the *CSS* selector to query all.
35 | * @param parent the `parentNode` to query.
36 | */
37 | declare function $$(css: string, parent: Document | Element): Wrap;
38 |
39 |
40 | /**
41 | * Exposes handy utilities to a list of `EventTarget` entries.
42 | * @param target the list of `EventTarget` entries to wrap.
43 | */
44 | declare function $$(target: T): Wrap;
45 |
46 | export const plugins:Map<
47 | string,
48 | (
49 | wrapped: object | NodeList,
50 | name: string,
51 | proxy: ProxyHandler
52 | ) => object
53 | >;
54 |
55 | export {$, $$};
56 |
--------------------------------------------------------------------------------