fix: remove accidentally committed node_modules
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6a1c2268ef
commit
0a657fd640
6897 changed files with 0 additions and 534064 deletions
1
pkg/miniapp/frontend/node_modules/.bin/esbuild
generated
vendored
1
pkg/miniapp/frontend/node_modules/.bin/esbuild
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
../@esbuild/linux-arm64/bin/esbuild
|
|
||||||
1
pkg/miniapp/frontend/node_modules/.bin/marked
generated
vendored
1
pkg/miniapp/frontend/node_modules/.bin/marked
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
../marked/bin/marked.js
|
|
||||||
1
pkg/miniapp/frontend/node_modules/.bin/nanoid
generated
vendored
1
pkg/miniapp/frontend/node_modules/.bin/nanoid
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
../nanoid/bin/nanoid.cjs
|
|
||||||
1
pkg/miniapp/frontend/node_modules/.bin/rollup
generated
vendored
1
pkg/miniapp/frontend/node_modules/.bin/rollup
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
../rollup/dist/bin/rollup
|
|
||||||
1
pkg/miniapp/frontend/node_modules/.bin/vite
generated
vendored
1
pkg/miniapp/frontend/node_modules/.bin/vite
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
../vite/bin/vite.js
|
|
||||||
1
pkg/miniapp/frontend/node_modules/.bin/vite-node
generated
vendored
1
pkg/miniapp/frontend/node_modules/.bin/vite-node
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
../vite-node/vite-node.mjs
|
|
||||||
1
pkg/miniapp/frontend/node_modules/.bin/vitest
generated
vendored
1
pkg/miniapp/frontend/node_modules/.bin/vitest
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
../vitest/vitest.mjs
|
|
||||||
1
pkg/miniapp/frontend/node_modules/.bin/why-is-node-running
generated
vendored
1
pkg/miniapp/frontend/node_modules/.bin/why-is-node-running
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
../why-is-node-running/cli.js
|
|
||||||
3
pkg/miniapp/frontend/node_modules/@esbuild/linux-arm64/README.md
generated
vendored
3
pkg/miniapp/frontend/node_modules/@esbuild/linux-arm64/README.md
generated
vendored
|
|
@ -1,3 +0,0 @@
|
||||||
# esbuild
|
|
||||||
|
|
||||||
This is the Linux ARM 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details.
|
|
||||||
20
pkg/miniapp/frontend/node_modules/@esbuild/linux-arm64/package.json
generated
vendored
20
pkg/miniapp/frontend/node_modules/@esbuild/linux-arm64/package.json
generated
vendored
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@esbuild/linux-arm64",
|
|
||||||
"version": "0.21.5",
|
|
||||||
"description": "The Linux ARM 64-bit binary for esbuild, a JavaScript bundler.",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/evanw/esbuild.git"
|
|
||||||
},
|
|
||||||
"license": "MIT",
|
|
||||||
"preferUnplugged": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
19
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/LICENSE
generated
vendored
19
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/LICENSE
generated
vendored
|
|
@ -1,19 +0,0 @@
|
||||||
Copyright 2024 Justin Ridgewell <justin@ridgewell.name>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
264
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/README.md
generated
vendored
264
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/README.md
generated
vendored
|
|
@ -1,264 +0,0 @@
|
||||||
# @jridgewell/sourcemap-codec
|
|
||||||
|
|
||||||
Encode/decode the `mappings` property of a [sourcemap](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit).
|
|
||||||
|
|
||||||
|
|
||||||
## Why?
|
|
||||||
|
|
||||||
Sourcemaps are difficult to generate and manipulate, because the `mappings` property – the part that actually links the generated code back to the original source – is encoded using an obscure method called [Variable-length quantity](https://en.wikipedia.org/wiki/Variable-length_quantity). On top of that, each segment in the mapping contains offsets rather than absolute indices, which means that you can't look at a segment in isolation – you have to understand the whole sourcemap.
|
|
||||||
|
|
||||||
This package makes the process slightly easier.
|
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm install @jridgewell/sourcemap-codec
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```js
|
|
||||||
import { encode, decode } from '@jridgewell/sourcemap-codec';
|
|
||||||
|
|
||||||
var decoded = decode( ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
|
|
||||||
|
|
||||||
assert.deepEqual( decoded, [
|
|
||||||
// the first line (of the generated code) has no mappings,
|
|
||||||
// as shown by the starting semi-colon (which separates lines)
|
|
||||||
[],
|
|
||||||
|
|
||||||
// the second line contains four (comma-separated) segments
|
|
||||||
[
|
|
||||||
// segments are encoded as you'd expect:
|
|
||||||
// [ generatedCodeColumn, sourceIndex, sourceCodeLine, sourceCodeColumn, nameIndex ]
|
|
||||||
|
|
||||||
// i.e. the first segment begins at column 2, and maps back to the second column
|
|
||||||
// of the second line (both zero-based) of the 0th source, and uses the 0th
|
|
||||||
// name in the `map.names` array
|
|
||||||
[ 2, 0, 2, 2, 0 ],
|
|
||||||
|
|
||||||
// the remaining segments are 4-length rather than 5-length,
|
|
||||||
// because they don't map a name
|
|
||||||
[ 4, 0, 2, 4 ],
|
|
||||||
[ 6, 0, 2, 5 ],
|
|
||||||
[ 7, 0, 2, 7 ]
|
|
||||||
],
|
|
||||||
|
|
||||||
// the final line contains two segments
|
|
||||||
[
|
|
||||||
[ 2, 1, 10, 19 ],
|
|
||||||
[ 12, 1, 11, 20 ]
|
|
||||||
]
|
|
||||||
]);
|
|
||||||
|
|
||||||
var encoded = encode( decoded );
|
|
||||||
assert.equal( encoded, ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
|
|
||||||
```
|
|
||||||
|
|
||||||
## Benchmarks
|
|
||||||
|
|
||||||
```
|
|
||||||
node v20.10.0
|
|
||||||
|
|
||||||
amp.js.map - 45120 segments
|
|
||||||
|
|
||||||
Decode Memory Usage:
|
|
||||||
local code 5815135 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 5868160 bytes
|
|
||||||
sourcemap-codec 5492584 bytes
|
|
||||||
source-map-0.6.1 13569984 bytes
|
|
||||||
source-map-0.8.0 6390584 bytes
|
|
||||||
chrome dev tools 8011136 bytes
|
|
||||||
Smallest memory usage is sourcemap-codec
|
|
||||||
|
|
||||||
Decode speed:
|
|
||||||
decode: local code x 492 ops/sec ±1.22% (90 runs sampled)
|
|
||||||
decode: @jridgewell/sourcemap-codec 1.4.15 x 499 ops/sec ±1.16% (89 runs sampled)
|
|
||||||
decode: sourcemap-codec x 376 ops/sec ±1.66% (89 runs sampled)
|
|
||||||
decode: source-map-0.6.1 x 34.99 ops/sec ±0.94% (48 runs sampled)
|
|
||||||
decode: source-map-0.8.0 x 351 ops/sec ±0.07% (95 runs sampled)
|
|
||||||
chrome dev tools x 165 ops/sec ±0.91% (86 runs sampled)
|
|
||||||
Fastest is decode: @jridgewell/sourcemap-codec 1.4.15
|
|
||||||
|
|
||||||
Encode Memory Usage:
|
|
||||||
local code 444248 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 623024 bytes
|
|
||||||
sourcemap-codec 8696280 bytes
|
|
||||||
source-map-0.6.1 8745176 bytes
|
|
||||||
source-map-0.8.0 8736624 bytes
|
|
||||||
Smallest memory usage is local code
|
|
||||||
|
|
||||||
Encode speed:
|
|
||||||
encode: local code x 796 ops/sec ±0.11% (97 runs sampled)
|
|
||||||
encode: @jridgewell/sourcemap-codec 1.4.15 x 795 ops/sec ±0.25% (98 runs sampled)
|
|
||||||
encode: sourcemap-codec x 231 ops/sec ±0.83% (86 runs sampled)
|
|
||||||
encode: source-map-0.6.1 x 166 ops/sec ±0.57% (86 runs sampled)
|
|
||||||
encode: source-map-0.8.0 x 203 ops/sec ±0.45% (88 runs sampled)
|
|
||||||
Fastest is encode: local code,encode: @jridgewell/sourcemap-codec 1.4.15
|
|
||||||
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
|
|
||||||
babel.min.js.map - 347793 segments
|
|
||||||
|
|
||||||
Decode Memory Usage:
|
|
||||||
local code 35424960 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 35424696 bytes
|
|
||||||
sourcemap-codec 36033464 bytes
|
|
||||||
source-map-0.6.1 62253704 bytes
|
|
||||||
source-map-0.8.0 43843920 bytes
|
|
||||||
chrome dev tools 45111400 bytes
|
|
||||||
Smallest memory usage is @jridgewell/sourcemap-codec 1.4.15
|
|
||||||
|
|
||||||
Decode speed:
|
|
||||||
decode: local code x 38.18 ops/sec ±5.44% (52 runs sampled)
|
|
||||||
decode: @jridgewell/sourcemap-codec 1.4.15 x 38.36 ops/sec ±5.02% (52 runs sampled)
|
|
||||||
decode: sourcemap-codec x 34.05 ops/sec ±4.45% (47 runs sampled)
|
|
||||||
decode: source-map-0.6.1 x 4.31 ops/sec ±2.76% (15 runs sampled)
|
|
||||||
decode: source-map-0.8.0 x 55.60 ops/sec ±0.13% (73 runs sampled)
|
|
||||||
chrome dev tools x 16.94 ops/sec ±3.78% (46 runs sampled)
|
|
||||||
Fastest is decode: source-map-0.8.0
|
|
||||||
|
|
||||||
Encode Memory Usage:
|
|
||||||
local code 2606016 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 2626440 bytes
|
|
||||||
sourcemap-codec 21152576 bytes
|
|
||||||
source-map-0.6.1 25023928 bytes
|
|
||||||
source-map-0.8.0 25256448 bytes
|
|
||||||
Smallest memory usage is local code
|
|
||||||
|
|
||||||
Encode speed:
|
|
||||||
encode: local code x 127 ops/sec ±0.18% (83 runs sampled)
|
|
||||||
encode: @jridgewell/sourcemap-codec 1.4.15 x 128 ops/sec ±0.26% (83 runs sampled)
|
|
||||||
encode: sourcemap-codec x 29.31 ops/sec ±2.55% (53 runs sampled)
|
|
||||||
encode: source-map-0.6.1 x 18.85 ops/sec ±3.19% (36 runs sampled)
|
|
||||||
encode: source-map-0.8.0 x 19.34 ops/sec ±1.97% (36 runs sampled)
|
|
||||||
Fastest is encode: @jridgewell/sourcemap-codec 1.4.15
|
|
||||||
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
|
|
||||||
preact.js.map - 1992 segments
|
|
||||||
|
|
||||||
Decode Memory Usage:
|
|
||||||
local code 261696 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 244296 bytes
|
|
||||||
sourcemap-codec 302816 bytes
|
|
||||||
source-map-0.6.1 939176 bytes
|
|
||||||
source-map-0.8.0 336 bytes
|
|
||||||
chrome dev tools 587368 bytes
|
|
||||||
Smallest memory usage is source-map-0.8.0
|
|
||||||
|
|
||||||
Decode speed:
|
|
||||||
decode: local code x 17,782 ops/sec ±0.32% (97 runs sampled)
|
|
||||||
decode: @jridgewell/sourcemap-codec 1.4.15 x 17,863 ops/sec ±0.40% (100 runs sampled)
|
|
||||||
decode: sourcemap-codec x 12,453 ops/sec ±0.27% (101 runs sampled)
|
|
||||||
decode: source-map-0.6.1 x 1,288 ops/sec ±1.05% (96 runs sampled)
|
|
||||||
decode: source-map-0.8.0 x 9,289 ops/sec ±0.27% (101 runs sampled)
|
|
||||||
chrome dev tools x 4,769 ops/sec ±0.18% (100 runs sampled)
|
|
||||||
Fastest is decode: @jridgewell/sourcemap-codec 1.4.15
|
|
||||||
|
|
||||||
Encode Memory Usage:
|
|
||||||
local code 262944 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 25544 bytes
|
|
||||||
sourcemap-codec 323048 bytes
|
|
||||||
source-map-0.6.1 507808 bytes
|
|
||||||
source-map-0.8.0 507480 bytes
|
|
||||||
Smallest memory usage is @jridgewell/sourcemap-codec 1.4.15
|
|
||||||
|
|
||||||
Encode speed:
|
|
||||||
encode: local code x 24,207 ops/sec ±0.79% (95 runs sampled)
|
|
||||||
encode: @jridgewell/sourcemap-codec 1.4.15 x 24,288 ops/sec ±0.48% (96 runs sampled)
|
|
||||||
encode: sourcemap-codec x 6,761 ops/sec ±0.21% (100 runs sampled)
|
|
||||||
encode: source-map-0.6.1 x 5,374 ops/sec ±0.17% (99 runs sampled)
|
|
||||||
encode: source-map-0.8.0 x 5,633 ops/sec ±0.32% (99 runs sampled)
|
|
||||||
Fastest is encode: @jridgewell/sourcemap-codec 1.4.15,encode: local code
|
|
||||||
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
|
|
||||||
react.js.map - 5726 segments
|
|
||||||
|
|
||||||
Decode Memory Usage:
|
|
||||||
local code 678816 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 678816 bytes
|
|
||||||
sourcemap-codec 816400 bytes
|
|
||||||
source-map-0.6.1 2288864 bytes
|
|
||||||
source-map-0.8.0 721360 bytes
|
|
||||||
chrome dev tools 1012512 bytes
|
|
||||||
Smallest memory usage is local code
|
|
||||||
|
|
||||||
Decode speed:
|
|
||||||
decode: local code x 6,178 ops/sec ±0.19% (98 runs sampled)
|
|
||||||
decode: @jridgewell/sourcemap-codec 1.4.15 x 6,261 ops/sec ±0.22% (100 runs sampled)
|
|
||||||
decode: sourcemap-codec x 4,472 ops/sec ±0.90% (99 runs sampled)
|
|
||||||
decode: source-map-0.6.1 x 449 ops/sec ±0.31% (95 runs sampled)
|
|
||||||
decode: source-map-0.8.0 x 3,219 ops/sec ±0.13% (100 runs sampled)
|
|
||||||
chrome dev tools x 1,743 ops/sec ±0.20% (99 runs sampled)
|
|
||||||
Fastest is decode: @jridgewell/sourcemap-codec 1.4.15
|
|
||||||
|
|
||||||
Encode Memory Usage:
|
|
||||||
local code 140960 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 159808 bytes
|
|
||||||
sourcemap-codec 969304 bytes
|
|
||||||
source-map-0.6.1 930520 bytes
|
|
||||||
source-map-0.8.0 930248 bytes
|
|
||||||
Smallest memory usage is local code
|
|
||||||
|
|
||||||
Encode speed:
|
|
||||||
encode: local code x 8,013 ops/sec ±0.19% (100 runs sampled)
|
|
||||||
encode: @jridgewell/sourcemap-codec 1.4.15 x 7,989 ops/sec ±0.20% (101 runs sampled)
|
|
||||||
encode: sourcemap-codec x 2,472 ops/sec ±0.21% (99 runs sampled)
|
|
||||||
encode: source-map-0.6.1 x 2,200 ops/sec ±0.17% (99 runs sampled)
|
|
||||||
encode: source-map-0.8.0 x 2,220 ops/sec ±0.37% (99 runs sampled)
|
|
||||||
Fastest is encode: local code
|
|
||||||
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
|
|
||||||
vscode.map - 2141001 segments
|
|
||||||
|
|
||||||
Decode Memory Usage:
|
|
||||||
local code 198955264 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 199175352 bytes
|
|
||||||
sourcemap-codec 199102688 bytes
|
|
||||||
source-map-0.6.1 386323432 bytes
|
|
||||||
source-map-0.8.0 244116432 bytes
|
|
||||||
chrome dev tools 293734280 bytes
|
|
||||||
Smallest memory usage is local code
|
|
||||||
|
|
||||||
Decode speed:
|
|
||||||
decode: local code x 3.90 ops/sec ±22.21% (15 runs sampled)
|
|
||||||
decode: @jridgewell/sourcemap-codec 1.4.15 x 3.95 ops/sec ±23.53% (15 runs sampled)
|
|
||||||
decode: sourcemap-codec x 3.82 ops/sec ±17.94% (14 runs sampled)
|
|
||||||
decode: source-map-0.6.1 x 0.61 ops/sec ±7.81% (6 runs sampled)
|
|
||||||
decode: source-map-0.8.0 x 9.54 ops/sec ±0.28% (28 runs sampled)
|
|
||||||
chrome dev tools x 2.18 ops/sec ±10.58% (10 runs sampled)
|
|
||||||
Fastest is decode: source-map-0.8.0
|
|
||||||
|
|
||||||
Encode Memory Usage:
|
|
||||||
local code 13509880 bytes
|
|
||||||
@jridgewell/sourcemap-codec 1.4.15 13537648 bytes
|
|
||||||
sourcemap-codec 32540104 bytes
|
|
||||||
source-map-0.6.1 127531040 bytes
|
|
||||||
source-map-0.8.0 127535312 bytes
|
|
||||||
Smallest memory usage is local code
|
|
||||||
|
|
||||||
Encode speed:
|
|
||||||
encode: local code x 20.10 ops/sec ±0.19% (38 runs sampled)
|
|
||||||
encode: @jridgewell/sourcemap-codec 1.4.15 x 20.26 ops/sec ±0.32% (38 runs sampled)
|
|
||||||
encode: sourcemap-codec x 5.44 ops/sec ±1.64% (18 runs sampled)
|
|
||||||
encode: source-map-0.6.1 x 2.30 ops/sec ±4.79% (10 runs sampled)
|
|
||||||
encode: source-map-0.8.0 x 2.46 ops/sec ±6.53% (10 runs sampled)
|
|
||||||
Fastest is encode: @jridgewell/sourcemap-codec 1.4.15
|
|
||||||
```
|
|
||||||
|
|
||||||
# License
|
|
||||||
|
|
||||||
MIT
|
|
||||||
63
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/package.json
generated
vendored
63
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/package.json
generated
vendored
|
|
@ -1,63 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@jridgewell/sourcemap-codec",
|
|
||||||
"version": "1.5.5",
|
|
||||||
"description": "Encode/decode sourcemap mappings",
|
|
||||||
"keywords": [
|
|
||||||
"sourcemap",
|
|
||||||
"vlq"
|
|
||||||
],
|
|
||||||
"main": "dist/sourcemap-codec.umd.js",
|
|
||||||
"module": "dist/sourcemap-codec.mjs",
|
|
||||||
"types": "types/sourcemap-codec.d.cts",
|
|
||||||
"files": [
|
|
||||||
"dist",
|
|
||||||
"src",
|
|
||||||
"types"
|
|
||||||
],
|
|
||||||
"exports": {
|
|
||||||
".": [
|
|
||||||
{
|
|
||||||
"import": {
|
|
||||||
"types": "./types/sourcemap-codec.d.mts",
|
|
||||||
"default": "./dist/sourcemap-codec.mjs"
|
|
||||||
},
|
|
||||||
"default": {
|
|
||||||
"types": "./types/sourcemap-codec.d.cts",
|
|
||||||
"default": "./dist/sourcemap-codec.umd.js"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"./dist/sourcemap-codec.umd.js"
|
|
||||||
],
|
|
||||||
"./package.json": "./package.json"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"benchmark": "run-s build:code benchmark:*",
|
|
||||||
"benchmark:install": "cd benchmark && npm install",
|
|
||||||
"benchmark:only": "node --expose-gc benchmark/index.js",
|
|
||||||
"build": "run-s -n build:code build:types",
|
|
||||||
"build:code": "node ../../esbuild.mjs sourcemap-codec.ts",
|
|
||||||
"build:types": "run-s build:types:force build:types:emit build:types:mts",
|
|
||||||
"build:types:force": "rimraf tsconfig.build.tsbuildinfo",
|
|
||||||
"build:types:emit": "tsc --project tsconfig.build.json",
|
|
||||||
"build:types:mts": "node ../../mts-types.mjs",
|
|
||||||
"clean": "run-s -n clean:code clean:types",
|
|
||||||
"clean:code": "tsc --build --clean tsconfig.build.json",
|
|
||||||
"clean:types": "rimraf dist types",
|
|
||||||
"test": "run-s -n test:types test:only test:format",
|
|
||||||
"test:format": "prettier --check '{src,test}/**/*.ts'",
|
|
||||||
"test:only": "mocha",
|
|
||||||
"test:types": "eslint '{src,test}/**/*.ts'",
|
|
||||||
"lint": "run-s -n lint:types lint:format",
|
|
||||||
"lint:format": "npm run test:format -- --write",
|
|
||||||
"lint:types": "npm run test:types -- --fix",
|
|
||||||
"prepublishOnly": "npm run-s -n build test"
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/jridgewell/sourcemaps/tree/main/packages/sourcemap-codec",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/jridgewell/sourcemaps.git",
|
|
||||||
"directory": "packages/sourcemap-codec"
|
|
||||||
},
|
|
||||||
"author": "Justin Ridgewell <justin@ridgewell.name>",
|
|
||||||
"license": "MIT"
|
|
||||||
}
|
|
||||||
345
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts
generated
vendored
345
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts
generated
vendored
|
|
@ -1,345 +0,0 @@
|
||||||
import { StringReader, StringWriter } from './strings';
|
|
||||||
import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';
|
|
||||||
|
|
||||||
const EMPTY: any[] = [];
|
|
||||||
|
|
||||||
type Line = number;
|
|
||||||
type Column = number;
|
|
||||||
type Kind = number;
|
|
||||||
type Name = number;
|
|
||||||
type Var = number;
|
|
||||||
type SourcesIndex = number;
|
|
||||||
type ScopesIndex = number;
|
|
||||||
|
|
||||||
type Mix<A, B, O> = (A & O) | (B & O);
|
|
||||||
|
|
||||||
export type OriginalScope = Mix<
|
|
||||||
[Line, Column, Line, Column, Kind],
|
|
||||||
[Line, Column, Line, Column, Kind, Name],
|
|
||||||
{ vars: Var[] }
|
|
||||||
>;
|
|
||||||
|
|
||||||
export type GeneratedRange = Mix<
|
|
||||||
[Line, Column, Line, Column],
|
|
||||||
[Line, Column, Line, Column, SourcesIndex, ScopesIndex],
|
|
||||||
{
|
|
||||||
callsite: CallSite | null;
|
|
||||||
bindings: Binding[];
|
|
||||||
isScope: boolean;
|
|
||||||
}
|
|
||||||
>;
|
|
||||||
export type CallSite = [SourcesIndex, Line, Column];
|
|
||||||
type Binding = BindingExpressionRange[];
|
|
||||||
export type BindingExpressionRange = [Name] | [Name, Line, Column];
|
|
||||||
|
|
||||||
export function decodeOriginalScopes(input: string): OriginalScope[] {
|
|
||||||
const { length } = input;
|
|
||||||
const reader = new StringReader(input);
|
|
||||||
const scopes: OriginalScope[] = [];
|
|
||||||
const stack: OriginalScope[] = [];
|
|
||||||
let line = 0;
|
|
||||||
|
|
||||||
for (; reader.pos < length; reader.pos++) {
|
|
||||||
line = decodeInteger(reader, line);
|
|
||||||
const column = decodeInteger(reader, 0);
|
|
||||||
|
|
||||||
if (!hasMoreVlq(reader, length)) {
|
|
||||||
const last = stack.pop()!;
|
|
||||||
last[2] = line;
|
|
||||||
last[3] = column;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const kind = decodeInteger(reader, 0);
|
|
||||||
const fields = decodeInteger(reader, 0);
|
|
||||||
const hasName = fields & 0b0001;
|
|
||||||
|
|
||||||
const scope: OriginalScope = (
|
|
||||||
hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]
|
|
||||||
) as OriginalScope;
|
|
||||||
|
|
||||||
let vars: Var[] = EMPTY;
|
|
||||||
if (hasMoreVlq(reader, length)) {
|
|
||||||
vars = [];
|
|
||||||
do {
|
|
||||||
const varsIndex = decodeInteger(reader, 0);
|
|
||||||
vars.push(varsIndex);
|
|
||||||
} while (hasMoreVlq(reader, length));
|
|
||||||
}
|
|
||||||
scope.vars = vars;
|
|
||||||
|
|
||||||
scopes.push(scope);
|
|
||||||
stack.push(scope);
|
|
||||||
}
|
|
||||||
|
|
||||||
return scopes;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function encodeOriginalScopes(scopes: OriginalScope[]): string {
|
|
||||||
const writer = new StringWriter();
|
|
||||||
|
|
||||||
for (let i = 0; i < scopes.length; ) {
|
|
||||||
i = _encodeOriginalScopes(scopes, i, writer, [0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return writer.flush();
|
|
||||||
}
|
|
||||||
|
|
||||||
function _encodeOriginalScopes(
|
|
||||||
scopes: OriginalScope[],
|
|
||||||
index: number,
|
|
||||||
writer: StringWriter,
|
|
||||||
state: [
|
|
||||||
number, // GenColumn
|
|
||||||
],
|
|
||||||
): number {
|
|
||||||
const scope = scopes[index];
|
|
||||||
const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;
|
|
||||||
|
|
||||||
if (index > 0) writer.write(comma);
|
|
||||||
|
|
||||||
state[0] = encodeInteger(writer, startLine, state[0]);
|
|
||||||
encodeInteger(writer, startColumn, 0);
|
|
||||||
encodeInteger(writer, kind, 0);
|
|
||||||
|
|
||||||
const fields = scope.length === 6 ? 0b0001 : 0;
|
|
||||||
encodeInteger(writer, fields, 0);
|
|
||||||
if (scope.length === 6) encodeInteger(writer, scope[5], 0);
|
|
||||||
|
|
||||||
for (const v of vars) {
|
|
||||||
encodeInteger(writer, v, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (index++; index < scopes.length; ) {
|
|
||||||
const next = scopes[index];
|
|
||||||
const { 0: l, 1: c } = next;
|
|
||||||
if (l > endLine || (l === endLine && c >= endColumn)) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
index = _encodeOriginalScopes(scopes, index, writer, state);
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.write(comma);
|
|
||||||
state[0] = encodeInteger(writer, endLine, state[0]);
|
|
||||||
encodeInteger(writer, endColumn, 0);
|
|
||||||
|
|
||||||
return index;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function decodeGeneratedRanges(input: string): GeneratedRange[] {
|
|
||||||
const { length } = input;
|
|
||||||
const reader = new StringReader(input);
|
|
||||||
const ranges: GeneratedRange[] = [];
|
|
||||||
const stack: GeneratedRange[] = [];
|
|
||||||
|
|
||||||
let genLine = 0;
|
|
||||||
let definitionSourcesIndex = 0;
|
|
||||||
let definitionScopeIndex = 0;
|
|
||||||
let callsiteSourcesIndex = 0;
|
|
||||||
let callsiteLine = 0;
|
|
||||||
let callsiteColumn = 0;
|
|
||||||
let bindingLine = 0;
|
|
||||||
let bindingColumn = 0;
|
|
||||||
|
|
||||||
do {
|
|
||||||
const semi = reader.indexOf(';');
|
|
||||||
let genColumn = 0;
|
|
||||||
|
|
||||||
for (; reader.pos < semi; reader.pos++) {
|
|
||||||
genColumn = decodeInteger(reader, genColumn);
|
|
||||||
|
|
||||||
if (!hasMoreVlq(reader, semi)) {
|
|
||||||
const last = stack.pop()!;
|
|
||||||
last[2] = genLine;
|
|
||||||
last[3] = genColumn;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const fields = decodeInteger(reader, 0);
|
|
||||||
const hasDefinition = fields & 0b0001;
|
|
||||||
const hasCallsite = fields & 0b0010;
|
|
||||||
const hasScope = fields & 0b0100;
|
|
||||||
|
|
||||||
let callsite: CallSite | null = null;
|
|
||||||
let bindings: Binding[] = EMPTY;
|
|
||||||
let range: GeneratedRange;
|
|
||||||
if (hasDefinition) {
|
|
||||||
const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);
|
|
||||||
definitionScopeIndex = decodeInteger(
|
|
||||||
reader,
|
|
||||||
definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0,
|
|
||||||
);
|
|
||||||
|
|
||||||
definitionSourcesIndex = defSourcesIndex;
|
|
||||||
range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex] as GeneratedRange;
|
|
||||||
} else {
|
|
||||||
range = [genLine, genColumn, 0, 0] as GeneratedRange;
|
|
||||||
}
|
|
||||||
|
|
||||||
range.isScope = !!hasScope;
|
|
||||||
|
|
||||||
if (hasCallsite) {
|
|
||||||
const prevCsi = callsiteSourcesIndex;
|
|
||||||
const prevLine = callsiteLine;
|
|
||||||
callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);
|
|
||||||
const sameSource = prevCsi === callsiteSourcesIndex;
|
|
||||||
callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);
|
|
||||||
callsiteColumn = decodeInteger(
|
|
||||||
reader,
|
|
||||||
sameSource && prevLine === callsiteLine ? callsiteColumn : 0,
|
|
||||||
);
|
|
||||||
|
|
||||||
callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];
|
|
||||||
}
|
|
||||||
range.callsite = callsite;
|
|
||||||
|
|
||||||
if (hasMoreVlq(reader, semi)) {
|
|
||||||
bindings = [];
|
|
||||||
do {
|
|
||||||
bindingLine = genLine;
|
|
||||||
bindingColumn = genColumn;
|
|
||||||
const expressionsCount = decodeInteger(reader, 0);
|
|
||||||
let expressionRanges: BindingExpressionRange[];
|
|
||||||
if (expressionsCount < -1) {
|
|
||||||
expressionRanges = [[decodeInteger(reader, 0)]];
|
|
||||||
for (let i = -1; i > expressionsCount; i--) {
|
|
||||||
const prevBl = bindingLine;
|
|
||||||
bindingLine = decodeInteger(reader, bindingLine);
|
|
||||||
bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);
|
|
||||||
const expression = decodeInteger(reader, 0);
|
|
||||||
expressionRanges.push([expression, bindingLine, bindingColumn]);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
expressionRanges = [[expressionsCount]];
|
|
||||||
}
|
|
||||||
bindings.push(expressionRanges);
|
|
||||||
} while (hasMoreVlq(reader, semi));
|
|
||||||
}
|
|
||||||
range.bindings = bindings;
|
|
||||||
|
|
||||||
ranges.push(range);
|
|
||||||
stack.push(range);
|
|
||||||
}
|
|
||||||
|
|
||||||
genLine++;
|
|
||||||
reader.pos = semi + 1;
|
|
||||||
} while (reader.pos < length);
|
|
||||||
|
|
||||||
return ranges;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function encodeGeneratedRanges(ranges: GeneratedRange[]): string {
|
|
||||||
if (ranges.length === 0) return '';
|
|
||||||
|
|
||||||
const writer = new StringWriter();
|
|
||||||
|
|
||||||
for (let i = 0; i < ranges.length; ) {
|
|
||||||
i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return writer.flush();
|
|
||||||
}
|
|
||||||
|
|
||||||
function _encodeGeneratedRanges(
|
|
||||||
ranges: GeneratedRange[],
|
|
||||||
index: number,
|
|
||||||
writer: StringWriter,
|
|
||||||
state: [
|
|
||||||
number, // GenLine
|
|
||||||
number, // GenColumn
|
|
||||||
number, // DefSourcesIndex
|
|
||||||
number, // DefScopesIndex
|
|
||||||
number, // CallSourcesIndex
|
|
||||||
number, // CallLine
|
|
||||||
number, // CallColumn
|
|
||||||
],
|
|
||||||
): number {
|
|
||||||
const range = ranges[index];
|
|
||||||
const {
|
|
||||||
0: startLine,
|
|
||||||
1: startColumn,
|
|
||||||
2: endLine,
|
|
||||||
3: endColumn,
|
|
||||||
isScope,
|
|
||||||
callsite,
|
|
||||||
bindings,
|
|
||||||
} = range;
|
|
||||||
|
|
||||||
if (state[0] < startLine) {
|
|
||||||
catchupLine(writer, state[0], startLine);
|
|
||||||
state[0] = startLine;
|
|
||||||
state[1] = 0;
|
|
||||||
} else if (index > 0) {
|
|
||||||
writer.write(comma);
|
|
||||||
}
|
|
||||||
|
|
||||||
state[1] = encodeInteger(writer, range[1], state[1]);
|
|
||||||
|
|
||||||
const fields =
|
|
||||||
(range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0);
|
|
||||||
encodeInteger(writer, fields, 0);
|
|
||||||
|
|
||||||
if (range.length === 6) {
|
|
||||||
const { 4: sourcesIndex, 5: scopesIndex } = range;
|
|
||||||
if (sourcesIndex !== state[2]) {
|
|
||||||
state[3] = 0;
|
|
||||||
}
|
|
||||||
state[2] = encodeInteger(writer, sourcesIndex, state[2]);
|
|
||||||
state[3] = encodeInteger(writer, scopesIndex, state[3]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (callsite) {
|
|
||||||
const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite!;
|
|
||||||
if (sourcesIndex !== state[4]) {
|
|
||||||
state[5] = 0;
|
|
||||||
state[6] = 0;
|
|
||||||
} else if (callLine !== state[5]) {
|
|
||||||
state[6] = 0;
|
|
||||||
}
|
|
||||||
state[4] = encodeInteger(writer, sourcesIndex, state[4]);
|
|
||||||
state[5] = encodeInteger(writer, callLine, state[5]);
|
|
||||||
state[6] = encodeInteger(writer, callColumn, state[6]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bindings) {
|
|
||||||
for (const binding of bindings) {
|
|
||||||
if (binding.length > 1) encodeInteger(writer, -binding.length, 0);
|
|
||||||
const expression = binding[0][0];
|
|
||||||
encodeInteger(writer, expression, 0);
|
|
||||||
let bindingStartLine = startLine;
|
|
||||||
let bindingStartColumn = startColumn;
|
|
||||||
for (let i = 1; i < binding.length; i++) {
|
|
||||||
const expRange = binding[i];
|
|
||||||
bindingStartLine = encodeInteger(writer, expRange[1]!, bindingStartLine);
|
|
||||||
bindingStartColumn = encodeInteger(writer, expRange[2]!, bindingStartColumn);
|
|
||||||
encodeInteger(writer, expRange[0]!, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (index++; index < ranges.length; ) {
|
|
||||||
const next = ranges[index];
|
|
||||||
const { 0: l, 1: c } = next;
|
|
||||||
if (l > endLine || (l === endLine && c >= endColumn)) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
index = _encodeGeneratedRanges(ranges, index, writer, state);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (state[0] < endLine) {
|
|
||||||
catchupLine(writer, state[0], endLine);
|
|
||||||
state[0] = endLine;
|
|
||||||
state[1] = 0;
|
|
||||||
} else {
|
|
||||||
writer.write(comma);
|
|
||||||
}
|
|
||||||
state[1] = encodeInteger(writer, endColumn, state[1]);
|
|
||||||
|
|
||||||
return index;
|
|
||||||
}
|
|
||||||
|
|
||||||
function catchupLine(writer: StringWriter, lastLine: number, line: number) {
|
|
||||||
do {
|
|
||||||
writer.write(semicolon);
|
|
||||||
} while (++lastLine < line);
|
|
||||||
}
|
|
||||||
111
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts
generated
vendored
111
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts
generated
vendored
|
|
@ -1,111 +0,0 @@
|
||||||
import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';
|
|
||||||
import { StringWriter, StringReader } from './strings';
|
|
||||||
|
|
||||||
export {
|
|
||||||
decodeOriginalScopes,
|
|
||||||
encodeOriginalScopes,
|
|
||||||
decodeGeneratedRanges,
|
|
||||||
encodeGeneratedRanges,
|
|
||||||
} from './scopes';
|
|
||||||
export type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';
|
|
||||||
|
|
||||||
export type SourceMapSegment =
|
|
||||||
| [number]
|
|
||||||
| [number, number, number, number]
|
|
||||||
| [number, number, number, number, number];
|
|
||||||
export type SourceMapLine = SourceMapSegment[];
|
|
||||||
export type SourceMapMappings = SourceMapLine[];
|
|
||||||
|
|
||||||
export function decode(mappings: string): SourceMapMappings {
|
|
||||||
const { length } = mappings;
|
|
||||||
const reader = new StringReader(mappings);
|
|
||||||
const decoded: SourceMapMappings = [];
|
|
||||||
let genColumn = 0;
|
|
||||||
let sourcesIndex = 0;
|
|
||||||
let sourceLine = 0;
|
|
||||||
let sourceColumn = 0;
|
|
||||||
let namesIndex = 0;
|
|
||||||
|
|
||||||
do {
|
|
||||||
const semi = reader.indexOf(';');
|
|
||||||
const line: SourceMapLine = [];
|
|
||||||
let sorted = true;
|
|
||||||
let lastCol = 0;
|
|
||||||
genColumn = 0;
|
|
||||||
|
|
||||||
while (reader.pos < semi) {
|
|
||||||
let seg: SourceMapSegment;
|
|
||||||
|
|
||||||
genColumn = decodeInteger(reader, genColumn);
|
|
||||||
if (genColumn < lastCol) sorted = false;
|
|
||||||
lastCol = genColumn;
|
|
||||||
|
|
||||||
if (hasMoreVlq(reader, semi)) {
|
|
||||||
sourcesIndex = decodeInteger(reader, sourcesIndex);
|
|
||||||
sourceLine = decodeInteger(reader, sourceLine);
|
|
||||||
sourceColumn = decodeInteger(reader, sourceColumn);
|
|
||||||
|
|
||||||
if (hasMoreVlq(reader, semi)) {
|
|
||||||
namesIndex = decodeInteger(reader, namesIndex);
|
|
||||||
seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];
|
|
||||||
} else {
|
|
||||||
seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
seg = [genColumn];
|
|
||||||
}
|
|
||||||
|
|
||||||
line.push(seg);
|
|
||||||
reader.pos++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!sorted) sort(line);
|
|
||||||
decoded.push(line);
|
|
||||||
reader.pos = semi + 1;
|
|
||||||
} while (reader.pos <= length);
|
|
||||||
|
|
||||||
return decoded;
|
|
||||||
}
|
|
||||||
|
|
||||||
function sort(line: SourceMapSegment[]) {
|
|
||||||
line.sort(sortComparator);
|
|
||||||
}
|
|
||||||
|
|
||||||
function sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {
|
|
||||||
return a[0] - b[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
export function encode(decoded: SourceMapMappings): string;
|
|
||||||
export function encode(decoded: Readonly<SourceMapMappings>): string;
|
|
||||||
export function encode(decoded: Readonly<SourceMapMappings>): string {
|
|
||||||
const writer = new StringWriter();
|
|
||||||
let sourcesIndex = 0;
|
|
||||||
let sourceLine = 0;
|
|
||||||
let sourceColumn = 0;
|
|
||||||
let namesIndex = 0;
|
|
||||||
|
|
||||||
for (let i = 0; i < decoded.length; i++) {
|
|
||||||
const line = decoded[i];
|
|
||||||
if (i > 0) writer.write(semicolon);
|
|
||||||
if (line.length === 0) continue;
|
|
||||||
|
|
||||||
let genColumn = 0;
|
|
||||||
|
|
||||||
for (let j = 0; j < line.length; j++) {
|
|
||||||
const segment = line[j];
|
|
||||||
if (j > 0) writer.write(comma);
|
|
||||||
|
|
||||||
genColumn = encodeInteger(writer, segment[0], genColumn);
|
|
||||||
|
|
||||||
if (segment.length === 1) continue;
|
|
||||||
sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
|
|
||||||
sourceLine = encodeInteger(writer, segment[2], sourceLine);
|
|
||||||
sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
|
|
||||||
|
|
||||||
if (segment.length === 4) continue;
|
|
||||||
namesIndex = encodeInteger(writer, segment[4], namesIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return writer.flush();
|
|
||||||
}
|
|
||||||
65
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/src/strings.ts
generated
vendored
65
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/src/strings.ts
generated
vendored
|
|
@ -1,65 +0,0 @@
|
||||||
const bufLength = 1024 * 16;
|
|
||||||
|
|
||||||
// Provide a fallback for older environments.
|
|
||||||
const td =
|
|
||||||
typeof TextDecoder !== 'undefined'
|
|
||||||
? /* #__PURE__ */ new TextDecoder()
|
|
||||||
: typeof Buffer !== 'undefined'
|
|
||||||
? {
|
|
||||||
decode(buf: Uint8Array): string {
|
|
||||||
const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
||||||
return out.toString();
|
|
||||||
},
|
|
||||||
}
|
|
||||||
: {
|
|
||||||
decode(buf: Uint8Array): string {
|
|
||||||
let out = '';
|
|
||||||
for (let i = 0; i < buf.length; i++) {
|
|
||||||
out += String.fromCharCode(buf[i]);
|
|
||||||
}
|
|
||||||
return out;
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export class StringWriter {
|
|
||||||
pos = 0;
|
|
||||||
private out = '';
|
|
||||||
private buffer = new Uint8Array(bufLength);
|
|
||||||
|
|
||||||
write(v: number): void {
|
|
||||||
const { buffer } = this;
|
|
||||||
buffer[this.pos++] = v;
|
|
||||||
if (this.pos === bufLength) {
|
|
||||||
this.out += td.decode(buffer);
|
|
||||||
this.pos = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
flush(): string {
|
|
||||||
const { buffer, out, pos } = this;
|
|
||||||
return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class StringReader {
|
|
||||||
pos = 0;
|
|
||||||
declare private buffer: string;
|
|
||||||
|
|
||||||
constructor(buffer: string) {
|
|
||||||
this.buffer = buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
next(): number {
|
|
||||||
return this.buffer.charCodeAt(this.pos++);
|
|
||||||
}
|
|
||||||
|
|
||||||
peek(): number {
|
|
||||||
return this.buffer.charCodeAt(this.pos);
|
|
||||||
}
|
|
||||||
|
|
||||||
indexOf(char: string): number {
|
|
||||||
const { buffer, pos } = this;
|
|
||||||
const idx = buffer.indexOf(char, pos);
|
|
||||||
return idx === -1 ? buffer.length : idx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
55
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts
generated
vendored
55
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts
generated
vendored
|
|
@ -1,55 +0,0 @@
|
||||||
import type { StringReader, StringWriter } from './strings';
|
|
||||||
|
|
||||||
export const comma = ','.charCodeAt(0);
|
|
||||||
export const semicolon = ';'.charCodeAt(0);
|
|
||||||
|
|
||||||
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
||||||
const intToChar = new Uint8Array(64); // 64 possible chars.
|
|
||||||
const charToInt = new Uint8Array(128); // z is 122 in ASCII
|
|
||||||
|
|
||||||
for (let i = 0; i < chars.length; i++) {
|
|
||||||
const c = chars.charCodeAt(i);
|
|
||||||
intToChar[i] = c;
|
|
||||||
charToInt[c] = i;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function decodeInteger(reader: StringReader, relative: number): number {
|
|
||||||
let value = 0;
|
|
||||||
let shift = 0;
|
|
||||||
let integer = 0;
|
|
||||||
|
|
||||||
do {
|
|
||||||
const c = reader.next();
|
|
||||||
integer = charToInt[c];
|
|
||||||
value |= (integer & 31) << shift;
|
|
||||||
shift += 5;
|
|
||||||
} while (integer & 32);
|
|
||||||
|
|
||||||
const shouldNegate = value & 1;
|
|
||||||
value >>>= 1;
|
|
||||||
|
|
||||||
if (shouldNegate) {
|
|
||||||
value = -0x80000000 | -value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return relative + value;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function encodeInteger(builder: StringWriter, num: number, relative: number): number {
|
|
||||||
let delta = num - relative;
|
|
||||||
|
|
||||||
delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;
|
|
||||||
do {
|
|
||||||
let clamped = delta & 0b011111;
|
|
||||||
delta >>>= 5;
|
|
||||||
if (delta > 0) clamped |= 0b100000;
|
|
||||||
builder.write(intToChar[clamped]);
|
|
||||||
} while (delta > 0);
|
|
||||||
|
|
||||||
return num;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function hasMoreVlq(reader: StringReader, max: number) {
|
|
||||||
if (reader.pos >= max) return false;
|
|
||||||
return reader.peek() !== comma;
|
|
||||||
}
|
|
||||||
50
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts
generated
vendored
50
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts
generated
vendored
|
|
@ -1,50 +0,0 @@
|
||||||
type Line = number;
|
|
||||||
type Column = number;
|
|
||||||
type Kind = number;
|
|
||||||
type Name = number;
|
|
||||||
type Var = number;
|
|
||||||
type SourcesIndex = number;
|
|
||||||
type ScopesIndex = number;
|
|
||||||
type Mix<A, B, O> = (A & O) | (B & O);
|
|
||||||
export type OriginalScope = Mix<[
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Kind
|
|
||||||
], [
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Kind,
|
|
||||||
Name
|
|
||||||
], {
|
|
||||||
vars: Var[];
|
|
||||||
}>;
|
|
||||||
export type GeneratedRange = Mix<[
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Line,
|
|
||||||
Column
|
|
||||||
], [
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
SourcesIndex,
|
|
||||||
ScopesIndex
|
|
||||||
], {
|
|
||||||
callsite: CallSite | null;
|
|
||||||
bindings: Binding[];
|
|
||||||
isScope: boolean;
|
|
||||||
}>;
|
|
||||||
export type CallSite = [SourcesIndex, Line, Column];
|
|
||||||
type Binding = BindingExpressionRange[];
|
|
||||||
export type BindingExpressionRange = [Name] | [Name, Line, Column];
|
|
||||||
export declare function decodeOriginalScopes(input: string): OriginalScope[];
|
|
||||||
export declare function encodeOriginalScopes(scopes: OriginalScope[]): string;
|
|
||||||
export declare function decodeGeneratedRanges(input: string): GeneratedRange[];
|
|
||||||
export declare function encodeGeneratedRanges(ranges: GeneratedRange[]): string;
|
|
||||||
export {};
|
|
||||||
//# sourceMappingURL=scopes.d.ts.map
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map
generated
vendored
1
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAKA,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,MAAM,GAAG,MAAM,CAAC;AACrB,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,GAAG,GAAG,MAAM,CAAC;AAClB,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,IAAI;CAAC,EAClC;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,IAAI;CAAC,EACxC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,GAAG,CAC9B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;CAAC,EAC5B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,YAAY;IAAE,WAAW;CAAC,EACvD;IACE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,CACF,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACpD,KAAK,OAAO,GAAG,sBAAsB,EAAE,CAAC;AACxC,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEnE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAyCnE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAQpE;AA2CD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAoGrE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAUtE"}
|
|
||||||
50
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts
generated
vendored
50
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts
generated
vendored
|
|
@ -1,50 +0,0 @@
|
||||||
type Line = number;
|
|
||||||
type Column = number;
|
|
||||||
type Kind = number;
|
|
||||||
type Name = number;
|
|
||||||
type Var = number;
|
|
||||||
type SourcesIndex = number;
|
|
||||||
type ScopesIndex = number;
|
|
||||||
type Mix<A, B, O> = (A & O) | (B & O);
|
|
||||||
export type OriginalScope = Mix<[
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Kind
|
|
||||||
], [
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Kind,
|
|
||||||
Name
|
|
||||||
], {
|
|
||||||
vars: Var[];
|
|
||||||
}>;
|
|
||||||
export type GeneratedRange = Mix<[
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Line,
|
|
||||||
Column
|
|
||||||
], [
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
Line,
|
|
||||||
Column,
|
|
||||||
SourcesIndex,
|
|
||||||
ScopesIndex
|
|
||||||
], {
|
|
||||||
callsite: CallSite | null;
|
|
||||||
bindings: Binding[];
|
|
||||||
isScope: boolean;
|
|
||||||
}>;
|
|
||||||
export type CallSite = [SourcesIndex, Line, Column];
|
|
||||||
type Binding = BindingExpressionRange[];
|
|
||||||
export type BindingExpressionRange = [Name] | [Name, Line, Column];
|
|
||||||
export declare function decodeOriginalScopes(input: string): OriginalScope[];
|
|
||||||
export declare function encodeOriginalScopes(scopes: OriginalScope[]): string;
|
|
||||||
export declare function decodeGeneratedRanges(input: string): GeneratedRange[];
|
|
||||||
export declare function encodeGeneratedRanges(ranges: GeneratedRange[]): string;
|
|
||||||
export {};
|
|
||||||
//# sourceMappingURL=scopes.d.ts.map
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map
generated
vendored
1
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAKA,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,MAAM,GAAG,MAAM,CAAC;AACrB,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,GAAG,GAAG,MAAM,CAAC;AAClB,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,IAAI;CAAC,EAClC;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,IAAI;CAAC,EACxC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,GAAG,CAC9B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;CAAC,EAC5B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,YAAY;IAAE,WAAW;CAAC,EACvD;IACE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,CACF,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACpD,KAAK,OAAO,GAAG,sBAAsB,EAAE,CAAC;AACxC,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEnE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAyCnE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAQpE;AA2CD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAoGrE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAUtE"}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
export { decodeOriginalScopes, encodeOriginalScopes, decodeGeneratedRanges, encodeGeneratedRanges, } from './scopes.cts';
|
|
||||||
export type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes.cts';
|
|
||||||
export type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number];
|
|
||||||
export type SourceMapLine = SourceMapSegment[];
|
|
||||||
export type SourceMapMappings = SourceMapLine[];
|
|
||||||
export declare function decode(mappings: string): SourceMapMappings;
|
|
||||||
export declare function encode(decoded: SourceMapMappings): string;
|
|
||||||
export declare function encode(decoded: Readonly<SourceMapMappings>): string;
|
|
||||||
//# sourceMappingURL=sourcemap-codec.d.ts.map
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"sourcemap-codec.d.ts","sourceRoot":"","sources":["../src/sourcemap-codec.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEhG,MAAM,MAAM,gBAAgB,GACxB,CAAC,MAAM,CAAC,GACR,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,MAAM,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;AAC/C,MAAM,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;AAEhD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAiD1D;AAUD,wBAAgB,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC;AAC3D,wBAAgB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC"}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
export { decodeOriginalScopes, encodeOriginalScopes, decodeGeneratedRanges, encodeGeneratedRanges, } from './scopes.mts';
|
|
||||||
export type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes.mts';
|
|
||||||
export type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number];
|
|
||||||
export type SourceMapLine = SourceMapSegment[];
|
|
||||||
export type SourceMapMappings = SourceMapLine[];
|
|
||||||
export declare function decode(mappings: string): SourceMapMappings;
|
|
||||||
export declare function encode(decoded: SourceMapMappings): string;
|
|
||||||
export declare function encode(decoded: Readonly<SourceMapMappings>): string;
|
|
||||||
//# sourceMappingURL=sourcemap-codec.d.ts.map
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"sourcemap-codec.d.ts","sourceRoot":"","sources":["../src/sourcemap-codec.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEhG,MAAM,MAAM,gBAAgB,GACxB,CAAC,MAAM,CAAC,GACR,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,MAAM,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;AAC/C,MAAM,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;AAEhD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAiD1D;AAUD,wBAAgB,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC;AAC3D,wBAAgB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC"}
|
|
||||||
16
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts
generated
vendored
16
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts
generated
vendored
|
|
@ -1,16 +0,0 @@
|
||||||
export declare class StringWriter {
|
|
||||||
pos: number;
|
|
||||||
private out;
|
|
||||||
private buffer;
|
|
||||||
write(v: number): void;
|
|
||||||
flush(): string;
|
|
||||||
}
|
|
||||||
export declare class StringReader {
|
|
||||||
pos: number;
|
|
||||||
private buffer;
|
|
||||||
constructor(buffer: string);
|
|
||||||
next(): number;
|
|
||||||
peek(): number;
|
|
||||||
indexOf(char: string): number;
|
|
||||||
}
|
|
||||||
//# sourceMappingURL=strings.d.ts.map
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAuBA,qBAAa,YAAY;IACvB,GAAG,SAAK;IACR,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,MAAM,CAA6B;IAE3C,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAStB,KAAK,IAAI,MAAM;CAIhB;AAED,qBAAa,YAAY;IACvB,GAAG,SAAK;IACR,QAAgB,MAAM,CAAS;gBAEnB,MAAM,EAAE,MAAM;IAI1B,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAId,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAK9B"}
|
|
||||||
16
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts
generated
vendored
16
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts
generated
vendored
|
|
@ -1,16 +0,0 @@
|
||||||
export declare class StringWriter {
|
|
||||||
pos: number;
|
|
||||||
private out;
|
|
||||||
private buffer;
|
|
||||||
write(v: number): void;
|
|
||||||
flush(): string;
|
|
||||||
}
|
|
||||||
export declare class StringReader {
|
|
||||||
pos: number;
|
|
||||||
private buffer;
|
|
||||||
constructor(buffer: string);
|
|
||||||
next(): number;
|
|
||||||
peek(): number;
|
|
||||||
indexOf(char: string): number;
|
|
||||||
}
|
|
||||||
//# sourceMappingURL=strings.d.ts.map
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAuBA,qBAAa,YAAY;IACvB,GAAG,SAAK;IACR,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,MAAM,CAA6B;IAE3C,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAStB,KAAK,IAAI,MAAM;CAIhB;AAED,qBAAa,YAAY;IACvB,GAAG,SAAK;IACR,QAAgB,MAAM,CAAS;gBAEnB,MAAM,EAAE,MAAM;IAI1B,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAId,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAK9B"}
|
|
||||||
7
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts
generated
vendored
7
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts
generated
vendored
|
|
@ -1,7 +0,0 @@
|
||||||
import type { StringReader, StringWriter } from './strings.cts';
|
|
||||||
export declare const comma: number;
|
|
||||||
export declare const semicolon: number;
|
|
||||||
export declare function decodeInteger(reader: StringReader, relative: number): number;
|
|
||||||
export declare function encodeInteger(builder: StringWriter, num: number, relative: number): number;
|
|
||||||
export declare function hasMoreVlq(reader: StringReader, max: number): boolean;
|
|
||||||
//# sourceMappingURL=vlq.d.ts.map
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map
generated
vendored
1
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"vlq.d.ts","sourceRoot":"","sources":["../src/vlq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE5D,eAAO,MAAM,KAAK,QAAoB,CAAC;AACvC,eAAO,MAAM,SAAS,QAAoB,CAAC;AAY3C,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoB5E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY1F;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,WAG3D"}
|
|
||||||
7
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts
generated
vendored
7
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts
generated
vendored
|
|
@ -1,7 +0,0 @@
|
||||||
import type { StringReader, StringWriter } from './strings.mts';
|
|
||||||
export declare const comma: number;
|
|
||||||
export declare const semicolon: number;
|
|
||||||
export declare function decodeInteger(reader: StringReader, relative: number): number;
|
|
||||||
export declare function encodeInteger(builder: StringWriter, num: number, relative: number): number;
|
|
||||||
export declare function hasMoreVlq(reader: StringReader, max: number): boolean;
|
|
||||||
//# sourceMappingURL=vlq.d.ts.map
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map
generated
vendored
1
pkg/miniapp/frontend/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"vlq.d.ts","sourceRoot":"","sources":["../src/vlq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE5D,eAAO,MAAM,KAAK,QAAoB,CAAC;AACvC,eAAO,MAAM,SAAS,QAAoB,CAAC;AAY3C,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoB5E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY1F;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,WAG3D"}
|
|
||||||
3
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-gnu/README.md
generated
vendored
3
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-gnu/README.md
generated
vendored
|
|
@ -1,3 +0,0 @@
|
||||||
# `@rollup/rollup-linux-arm64-gnu`
|
|
||||||
|
|
||||||
This is the **aarch64-unknown-linux-gnu** binary for `rollup`
|
|
||||||
25
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-gnu/package.json
generated
vendored
25
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-gnu/package.json
generated
vendored
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@rollup/rollup-linux-arm64-gnu",
|
|
||||||
"version": "4.59.0",
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"files": [
|
|
||||||
"rollup.linux-arm64-gnu.node"
|
|
||||||
],
|
|
||||||
"description": "Native bindings for Rollup",
|
|
||||||
"author": "Lukas Taegert-Atkinson",
|
|
||||||
"homepage": "https://rollupjs.org/",
|
|
||||||
"license": "MIT",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/rollup/rollup.git"
|
|
||||||
},
|
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"main": "./rollup.linux-arm64-gnu.node"
|
|
||||||
}
|
|
||||||
BIN
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-gnu/rollup.linux-arm64-gnu.node
generated
vendored
BIN
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-gnu/rollup.linux-arm64-gnu.node
generated
vendored
Binary file not shown.
3
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-musl/README.md
generated
vendored
3
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-musl/README.md
generated
vendored
|
|
@ -1,3 +0,0 @@
|
||||||
# `@rollup/rollup-linux-arm64-musl`
|
|
||||||
|
|
||||||
This is the **aarch64-unknown-linux-musl** binary for `rollup`
|
|
||||||
25
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-musl/package.json
generated
vendored
25
pkg/miniapp/frontend/node_modules/@rollup/rollup-linux-arm64-musl/package.json
generated
vendored
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@rollup/rollup-linux-arm64-musl",
|
|
||||||
"version": "4.59.0",
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"files": [
|
|
||||||
"rollup.linux-arm64-musl.node"
|
|
||||||
],
|
|
||||||
"description": "Native bindings for Rollup",
|
|
||||||
"author": "Lukas Taegert-Atkinson",
|
|
||||||
"homepage": "https://rollupjs.org/",
|
|
||||||
"license": "MIT",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/rollup/rollup.git"
|
|
||||||
},
|
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"main": "./rollup.linux-arm64-musl.node"
|
|
||||||
}
|
|
||||||
Binary file not shown.
21
pkg/miniapp/frontend/node_modules/@types/estree/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/@types/estree/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) Microsoft Corporation.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE
|
|
||||||
15
pkg/miniapp/frontend/node_modules/@types/estree/README.md
generated
vendored
15
pkg/miniapp/frontend/node_modules/@types/estree/README.md
generated
vendored
|
|
@ -1,15 +0,0 @@
|
||||||
# Installation
|
|
||||||
> `npm install --save @types/estree`
|
|
||||||
|
|
||||||
# Summary
|
|
||||||
This package contains type definitions for estree (https://github.com/estree/estree).
|
|
||||||
|
|
||||||
# Details
|
|
||||||
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree.
|
|
||||||
|
|
||||||
### Additional Details
|
|
||||||
* Last updated: Fri, 06 Jun 2025 00:04:33 GMT
|
|
||||||
* Dependencies: none
|
|
||||||
|
|
||||||
# Credits
|
|
||||||
These definitions were written by [RReverser](https://github.com/RReverser).
|
|
||||||
167
pkg/miniapp/frontend/node_modules/@types/estree/flow.d.ts
generated
vendored
167
pkg/miniapp/frontend/node_modules/@types/estree/flow.d.ts
generated
vendored
|
|
@ -1,167 +0,0 @@
|
||||||
declare namespace ESTree {
|
|
||||||
interface FlowTypeAnnotation extends Node {}
|
|
||||||
|
|
||||||
interface FlowBaseTypeAnnotation extends FlowTypeAnnotation {}
|
|
||||||
|
|
||||||
interface FlowLiteralTypeAnnotation extends FlowTypeAnnotation, Literal {}
|
|
||||||
|
|
||||||
interface FlowDeclaration extends Declaration {}
|
|
||||||
|
|
||||||
interface AnyTypeAnnotation extends FlowBaseTypeAnnotation {}
|
|
||||||
|
|
||||||
interface ArrayTypeAnnotation extends FlowTypeAnnotation {
|
|
||||||
elementType: FlowTypeAnnotation;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface BooleanLiteralTypeAnnotation extends FlowLiteralTypeAnnotation {}
|
|
||||||
|
|
||||||
interface BooleanTypeAnnotation extends FlowBaseTypeAnnotation {}
|
|
||||||
|
|
||||||
interface ClassImplements extends Node {
|
|
||||||
id: Identifier;
|
|
||||||
typeParameters?: TypeParameterInstantiation | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ClassProperty {
|
|
||||||
key: Expression;
|
|
||||||
value?: Expression | null;
|
|
||||||
typeAnnotation?: TypeAnnotation | null;
|
|
||||||
computed: boolean;
|
|
||||||
static: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface DeclareClass extends FlowDeclaration {
|
|
||||||
id: Identifier;
|
|
||||||
typeParameters?: TypeParameterDeclaration | null;
|
|
||||||
body: ObjectTypeAnnotation;
|
|
||||||
extends: InterfaceExtends[];
|
|
||||||
}
|
|
||||||
|
|
||||||
interface DeclareFunction extends FlowDeclaration {
|
|
||||||
id: Identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface DeclareModule extends FlowDeclaration {
|
|
||||||
id: Literal | Identifier;
|
|
||||||
body: BlockStatement;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface DeclareVariable extends FlowDeclaration {
|
|
||||||
id: Identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface FunctionTypeAnnotation extends FlowTypeAnnotation {
|
|
||||||
params: FunctionTypeParam[];
|
|
||||||
returnType: FlowTypeAnnotation;
|
|
||||||
rest?: FunctionTypeParam | null;
|
|
||||||
typeParameters?: TypeParameterDeclaration | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface FunctionTypeParam {
|
|
||||||
name: Identifier;
|
|
||||||
typeAnnotation: FlowTypeAnnotation;
|
|
||||||
optional: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface GenericTypeAnnotation extends FlowTypeAnnotation {
|
|
||||||
id: Identifier | QualifiedTypeIdentifier;
|
|
||||||
typeParameters?: TypeParameterInstantiation | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface InterfaceExtends extends Node {
|
|
||||||
id: Identifier | QualifiedTypeIdentifier;
|
|
||||||
typeParameters?: TypeParameterInstantiation | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface InterfaceDeclaration extends FlowDeclaration {
|
|
||||||
id: Identifier;
|
|
||||||
typeParameters?: TypeParameterDeclaration | null;
|
|
||||||
extends: InterfaceExtends[];
|
|
||||||
body: ObjectTypeAnnotation;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface IntersectionTypeAnnotation extends FlowTypeAnnotation {
|
|
||||||
types: FlowTypeAnnotation[];
|
|
||||||
}
|
|
||||||
|
|
||||||
interface MixedTypeAnnotation extends FlowBaseTypeAnnotation {}
|
|
||||||
|
|
||||||
interface NullableTypeAnnotation extends FlowTypeAnnotation {
|
|
||||||
typeAnnotation: TypeAnnotation;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface NumberLiteralTypeAnnotation extends FlowLiteralTypeAnnotation {}
|
|
||||||
|
|
||||||
interface NumberTypeAnnotation extends FlowBaseTypeAnnotation {}
|
|
||||||
|
|
||||||
interface StringLiteralTypeAnnotation extends FlowLiteralTypeAnnotation {}
|
|
||||||
|
|
||||||
interface StringTypeAnnotation extends FlowBaseTypeAnnotation {}
|
|
||||||
|
|
||||||
interface TupleTypeAnnotation extends FlowTypeAnnotation {
|
|
||||||
types: FlowTypeAnnotation[];
|
|
||||||
}
|
|
||||||
|
|
||||||
interface TypeofTypeAnnotation extends FlowTypeAnnotation {
|
|
||||||
argument: FlowTypeAnnotation;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface TypeAlias extends FlowDeclaration {
|
|
||||||
id: Identifier;
|
|
||||||
typeParameters?: TypeParameterDeclaration | null;
|
|
||||||
right: FlowTypeAnnotation;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface TypeAnnotation extends Node {
|
|
||||||
typeAnnotation: FlowTypeAnnotation;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface TypeCastExpression extends Expression {
|
|
||||||
expression: Expression;
|
|
||||||
typeAnnotation: TypeAnnotation;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface TypeParameterDeclaration extends Node {
|
|
||||||
params: Identifier[];
|
|
||||||
}
|
|
||||||
|
|
||||||
interface TypeParameterInstantiation extends Node {
|
|
||||||
params: FlowTypeAnnotation[];
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ObjectTypeAnnotation extends FlowTypeAnnotation {
|
|
||||||
properties: ObjectTypeProperty[];
|
|
||||||
indexers: ObjectTypeIndexer[];
|
|
||||||
callProperties: ObjectTypeCallProperty[];
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ObjectTypeCallProperty extends Node {
|
|
||||||
value: FunctionTypeAnnotation;
|
|
||||||
static: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ObjectTypeIndexer extends Node {
|
|
||||||
id: Identifier;
|
|
||||||
key: FlowTypeAnnotation;
|
|
||||||
value: FlowTypeAnnotation;
|
|
||||||
static: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ObjectTypeProperty extends Node {
|
|
||||||
key: Expression;
|
|
||||||
value: FlowTypeAnnotation;
|
|
||||||
optional: boolean;
|
|
||||||
static: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface QualifiedTypeIdentifier extends Node {
|
|
||||||
qualification: Identifier | QualifiedTypeIdentifier;
|
|
||||||
id: Identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface UnionTypeAnnotation extends FlowTypeAnnotation {
|
|
||||||
types: FlowTypeAnnotation[];
|
|
||||||
}
|
|
||||||
|
|
||||||
interface VoidTypeAnnotation extends FlowBaseTypeAnnotation {}
|
|
||||||
}
|
|
||||||
694
pkg/miniapp/frontend/node_modules/@types/estree/index.d.ts
generated
vendored
694
pkg/miniapp/frontend/node_modules/@types/estree/index.d.ts
generated
vendored
|
|
@ -1,694 +0,0 @@
|
||||||
// This definition file follows a somewhat unusual format. ESTree allows
|
|
||||||
// runtime type checks based on the `type` parameter. In order to explain this
|
|
||||||
// to typescript we want to use discriminated union types:
|
|
||||||
// https://github.com/Microsoft/TypeScript/pull/9163
|
|
||||||
//
|
|
||||||
// For ESTree this is a bit tricky because the high level interfaces like
|
|
||||||
// Node or Function are pulling double duty. We want to pass common fields down
|
|
||||||
// to the interfaces that extend them (like Identifier or
|
|
||||||
// ArrowFunctionExpression), but you can't extend a type union or enforce
|
|
||||||
// common fields on them. So we've split the high level interfaces into two
|
|
||||||
// types, a base type which passes down inherited fields, and a type union of
|
|
||||||
// all types which extend the base type. Only the type union is exported, and
|
|
||||||
// the union is how other types refer to the collection of inheriting types.
|
|
||||||
//
|
|
||||||
// This makes the definitions file here somewhat more difficult to maintain,
|
|
||||||
// but it has the notable advantage of making ESTree much easier to use as
|
|
||||||
// an end user.
|
|
||||||
|
|
||||||
export interface BaseNodeWithoutComments {
|
|
||||||
// Every leaf interface that extends BaseNode must specify a type property.
|
|
||||||
// The type property should be a string literal. For example, Identifier
|
|
||||||
// has: `type: "Identifier"`
|
|
||||||
type: string;
|
|
||||||
loc?: SourceLocation | null | undefined;
|
|
||||||
range?: [number, number] | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BaseNode extends BaseNodeWithoutComments {
|
|
||||||
leadingComments?: Comment[] | undefined;
|
|
||||||
trailingComments?: Comment[] | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface NodeMap {
|
|
||||||
AssignmentProperty: AssignmentProperty;
|
|
||||||
CatchClause: CatchClause;
|
|
||||||
Class: Class;
|
|
||||||
ClassBody: ClassBody;
|
|
||||||
Expression: Expression;
|
|
||||||
Function: Function;
|
|
||||||
Identifier: Identifier;
|
|
||||||
Literal: Literal;
|
|
||||||
MethodDefinition: MethodDefinition;
|
|
||||||
ModuleDeclaration: ModuleDeclaration;
|
|
||||||
ModuleSpecifier: ModuleSpecifier;
|
|
||||||
Pattern: Pattern;
|
|
||||||
PrivateIdentifier: PrivateIdentifier;
|
|
||||||
Program: Program;
|
|
||||||
Property: Property;
|
|
||||||
PropertyDefinition: PropertyDefinition;
|
|
||||||
SpreadElement: SpreadElement;
|
|
||||||
Statement: Statement;
|
|
||||||
Super: Super;
|
|
||||||
SwitchCase: SwitchCase;
|
|
||||||
TemplateElement: TemplateElement;
|
|
||||||
VariableDeclarator: VariableDeclarator;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type Node = NodeMap[keyof NodeMap];
|
|
||||||
|
|
||||||
export interface Comment extends BaseNodeWithoutComments {
|
|
||||||
type: "Line" | "Block";
|
|
||||||
value: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SourceLocation {
|
|
||||||
source?: string | null | undefined;
|
|
||||||
start: Position;
|
|
||||||
end: Position;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Position {
|
|
||||||
/** >= 1 */
|
|
||||||
line: number;
|
|
||||||
/** >= 0 */
|
|
||||||
column: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Program extends BaseNode {
|
|
||||||
type: "Program";
|
|
||||||
sourceType: "script" | "module";
|
|
||||||
body: Array<Directive | Statement | ModuleDeclaration>;
|
|
||||||
comments?: Comment[] | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Directive extends BaseNode {
|
|
||||||
type: "ExpressionStatement";
|
|
||||||
expression: Literal;
|
|
||||||
directive: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BaseFunction extends BaseNode {
|
|
||||||
params: Pattern[];
|
|
||||||
generator?: boolean | undefined;
|
|
||||||
async?: boolean | undefined;
|
|
||||||
// The body is either BlockStatement or Expression because arrow functions
|
|
||||||
// can have a body that's either. FunctionDeclarations and
|
|
||||||
// FunctionExpressions have only BlockStatement bodies.
|
|
||||||
body: BlockStatement | Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type Function = FunctionDeclaration | FunctionExpression | ArrowFunctionExpression;
|
|
||||||
|
|
||||||
export type Statement =
|
|
||||||
| ExpressionStatement
|
|
||||||
| BlockStatement
|
|
||||||
| StaticBlock
|
|
||||||
| EmptyStatement
|
|
||||||
| DebuggerStatement
|
|
||||||
| WithStatement
|
|
||||||
| ReturnStatement
|
|
||||||
| LabeledStatement
|
|
||||||
| BreakStatement
|
|
||||||
| ContinueStatement
|
|
||||||
| IfStatement
|
|
||||||
| SwitchStatement
|
|
||||||
| ThrowStatement
|
|
||||||
| TryStatement
|
|
||||||
| WhileStatement
|
|
||||||
| DoWhileStatement
|
|
||||||
| ForStatement
|
|
||||||
| ForInStatement
|
|
||||||
| ForOfStatement
|
|
||||||
| Declaration;
|
|
||||||
|
|
||||||
export interface BaseStatement extends BaseNode {}
|
|
||||||
|
|
||||||
export interface EmptyStatement extends BaseStatement {
|
|
||||||
type: "EmptyStatement";
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BlockStatement extends BaseStatement {
|
|
||||||
type: "BlockStatement";
|
|
||||||
body: Statement[];
|
|
||||||
innerComments?: Comment[] | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface StaticBlock extends Omit<BlockStatement, "type"> {
|
|
||||||
type: "StaticBlock";
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ExpressionStatement extends BaseStatement {
|
|
||||||
type: "ExpressionStatement";
|
|
||||||
expression: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface IfStatement extends BaseStatement {
|
|
||||||
type: "IfStatement";
|
|
||||||
test: Expression;
|
|
||||||
consequent: Statement;
|
|
||||||
alternate?: Statement | null | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface LabeledStatement extends BaseStatement {
|
|
||||||
type: "LabeledStatement";
|
|
||||||
label: Identifier;
|
|
||||||
body: Statement;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BreakStatement extends BaseStatement {
|
|
||||||
type: "BreakStatement";
|
|
||||||
label?: Identifier | null | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ContinueStatement extends BaseStatement {
|
|
||||||
type: "ContinueStatement";
|
|
||||||
label?: Identifier | null | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface WithStatement extends BaseStatement {
|
|
||||||
type: "WithStatement";
|
|
||||||
object: Expression;
|
|
||||||
body: Statement;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SwitchStatement extends BaseStatement {
|
|
||||||
type: "SwitchStatement";
|
|
||||||
discriminant: Expression;
|
|
||||||
cases: SwitchCase[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ReturnStatement extends BaseStatement {
|
|
||||||
type: "ReturnStatement";
|
|
||||||
argument?: Expression | null | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ThrowStatement extends BaseStatement {
|
|
||||||
type: "ThrowStatement";
|
|
||||||
argument: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface TryStatement extends BaseStatement {
|
|
||||||
type: "TryStatement";
|
|
||||||
block: BlockStatement;
|
|
||||||
handler?: CatchClause | null | undefined;
|
|
||||||
finalizer?: BlockStatement | null | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface WhileStatement extends BaseStatement {
|
|
||||||
type: "WhileStatement";
|
|
||||||
test: Expression;
|
|
||||||
body: Statement;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface DoWhileStatement extends BaseStatement {
|
|
||||||
type: "DoWhileStatement";
|
|
||||||
body: Statement;
|
|
||||||
test: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ForStatement extends BaseStatement {
|
|
||||||
type: "ForStatement";
|
|
||||||
init?: VariableDeclaration | Expression | null | undefined;
|
|
||||||
test?: Expression | null | undefined;
|
|
||||||
update?: Expression | null | undefined;
|
|
||||||
body: Statement;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BaseForXStatement extends BaseStatement {
|
|
||||||
left: VariableDeclaration | Pattern;
|
|
||||||
right: Expression;
|
|
||||||
body: Statement;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ForInStatement extends BaseForXStatement {
|
|
||||||
type: "ForInStatement";
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface DebuggerStatement extends BaseStatement {
|
|
||||||
type: "DebuggerStatement";
|
|
||||||
}
|
|
||||||
|
|
||||||
export type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration;
|
|
||||||
|
|
||||||
export interface BaseDeclaration extends BaseStatement {}
|
|
||||||
|
|
||||||
export interface MaybeNamedFunctionDeclaration extends BaseFunction, BaseDeclaration {
|
|
||||||
type: "FunctionDeclaration";
|
|
||||||
/** It is null when a function declaration is a part of the `export default function` statement */
|
|
||||||
id: Identifier | null;
|
|
||||||
body: BlockStatement;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface FunctionDeclaration extends MaybeNamedFunctionDeclaration {
|
|
||||||
id: Identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface VariableDeclaration extends BaseDeclaration {
|
|
||||||
type: "VariableDeclaration";
|
|
||||||
declarations: VariableDeclarator[];
|
|
||||||
kind: "var" | "let" | "const" | "using" | "await using";
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface VariableDeclarator extends BaseNode {
|
|
||||||
type: "VariableDeclarator";
|
|
||||||
id: Pattern;
|
|
||||||
init?: Expression | null | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ExpressionMap {
|
|
||||||
ArrayExpression: ArrayExpression;
|
|
||||||
ArrowFunctionExpression: ArrowFunctionExpression;
|
|
||||||
AssignmentExpression: AssignmentExpression;
|
|
||||||
AwaitExpression: AwaitExpression;
|
|
||||||
BinaryExpression: BinaryExpression;
|
|
||||||
CallExpression: CallExpression;
|
|
||||||
ChainExpression: ChainExpression;
|
|
||||||
ClassExpression: ClassExpression;
|
|
||||||
ConditionalExpression: ConditionalExpression;
|
|
||||||
FunctionExpression: FunctionExpression;
|
|
||||||
Identifier: Identifier;
|
|
||||||
ImportExpression: ImportExpression;
|
|
||||||
Literal: Literal;
|
|
||||||
LogicalExpression: LogicalExpression;
|
|
||||||
MemberExpression: MemberExpression;
|
|
||||||
MetaProperty: MetaProperty;
|
|
||||||
NewExpression: NewExpression;
|
|
||||||
ObjectExpression: ObjectExpression;
|
|
||||||
SequenceExpression: SequenceExpression;
|
|
||||||
TaggedTemplateExpression: TaggedTemplateExpression;
|
|
||||||
TemplateLiteral: TemplateLiteral;
|
|
||||||
ThisExpression: ThisExpression;
|
|
||||||
UnaryExpression: UnaryExpression;
|
|
||||||
UpdateExpression: UpdateExpression;
|
|
||||||
YieldExpression: YieldExpression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type Expression = ExpressionMap[keyof ExpressionMap];
|
|
||||||
|
|
||||||
export interface BaseExpression extends BaseNode {}
|
|
||||||
|
|
||||||
export type ChainElement = SimpleCallExpression | MemberExpression;
|
|
||||||
|
|
||||||
export interface ChainExpression extends BaseExpression {
|
|
||||||
type: "ChainExpression";
|
|
||||||
expression: ChainElement;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ThisExpression extends BaseExpression {
|
|
||||||
type: "ThisExpression";
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ArrayExpression extends BaseExpression {
|
|
||||||
type: "ArrayExpression";
|
|
||||||
elements: Array<Expression | SpreadElement | null>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ObjectExpression extends BaseExpression {
|
|
||||||
type: "ObjectExpression";
|
|
||||||
properties: Array<Property | SpreadElement>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface PrivateIdentifier extends BaseNode {
|
|
||||||
type: "PrivateIdentifier";
|
|
||||||
name: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Property extends BaseNode {
|
|
||||||
type: "Property";
|
|
||||||
key: Expression | PrivateIdentifier;
|
|
||||||
value: Expression | Pattern; // Could be an AssignmentProperty
|
|
||||||
kind: "init" | "get" | "set";
|
|
||||||
method: boolean;
|
|
||||||
shorthand: boolean;
|
|
||||||
computed: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface PropertyDefinition extends BaseNode {
|
|
||||||
type: "PropertyDefinition";
|
|
||||||
key: Expression | PrivateIdentifier;
|
|
||||||
value?: Expression | null | undefined;
|
|
||||||
computed: boolean;
|
|
||||||
static: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface FunctionExpression extends BaseFunction, BaseExpression {
|
|
||||||
id?: Identifier | null | undefined;
|
|
||||||
type: "FunctionExpression";
|
|
||||||
body: BlockStatement;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SequenceExpression extends BaseExpression {
|
|
||||||
type: "SequenceExpression";
|
|
||||||
expressions: Expression[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface UnaryExpression extends BaseExpression {
|
|
||||||
type: "UnaryExpression";
|
|
||||||
operator: UnaryOperator;
|
|
||||||
prefix: true;
|
|
||||||
argument: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BinaryExpression extends BaseExpression {
|
|
||||||
type: "BinaryExpression";
|
|
||||||
operator: BinaryOperator;
|
|
||||||
left: Expression | PrivateIdentifier;
|
|
||||||
right: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AssignmentExpression extends BaseExpression {
|
|
||||||
type: "AssignmentExpression";
|
|
||||||
operator: AssignmentOperator;
|
|
||||||
left: Pattern | MemberExpression;
|
|
||||||
right: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface UpdateExpression extends BaseExpression {
|
|
||||||
type: "UpdateExpression";
|
|
||||||
operator: UpdateOperator;
|
|
||||||
argument: Expression;
|
|
||||||
prefix: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface LogicalExpression extends BaseExpression {
|
|
||||||
type: "LogicalExpression";
|
|
||||||
operator: LogicalOperator;
|
|
||||||
left: Expression;
|
|
||||||
right: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ConditionalExpression extends BaseExpression {
|
|
||||||
type: "ConditionalExpression";
|
|
||||||
test: Expression;
|
|
||||||
alternate: Expression;
|
|
||||||
consequent: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BaseCallExpression extends BaseExpression {
|
|
||||||
callee: Expression | Super;
|
|
||||||
arguments: Array<Expression | SpreadElement>;
|
|
||||||
}
|
|
||||||
export type CallExpression = SimpleCallExpression | NewExpression;
|
|
||||||
|
|
||||||
export interface SimpleCallExpression extends BaseCallExpression {
|
|
||||||
type: "CallExpression";
|
|
||||||
optional: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface NewExpression extends BaseCallExpression {
|
|
||||||
type: "NewExpression";
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MemberExpression extends BaseExpression, BasePattern {
|
|
||||||
type: "MemberExpression";
|
|
||||||
object: Expression | Super;
|
|
||||||
property: Expression | PrivateIdentifier;
|
|
||||||
computed: boolean;
|
|
||||||
optional: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type Pattern = Identifier | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | MemberExpression;
|
|
||||||
|
|
||||||
export interface BasePattern extends BaseNode {}
|
|
||||||
|
|
||||||
export interface SwitchCase extends BaseNode {
|
|
||||||
type: "SwitchCase";
|
|
||||||
test?: Expression | null | undefined;
|
|
||||||
consequent: Statement[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CatchClause extends BaseNode {
|
|
||||||
type: "CatchClause";
|
|
||||||
param: Pattern | null;
|
|
||||||
body: BlockStatement;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Identifier extends BaseNode, BaseExpression, BasePattern {
|
|
||||||
type: "Identifier";
|
|
||||||
name: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type Literal = SimpleLiteral | RegExpLiteral | BigIntLiteral;
|
|
||||||
|
|
||||||
export interface SimpleLiteral extends BaseNode, BaseExpression {
|
|
||||||
type: "Literal";
|
|
||||||
value: string | boolean | number | null;
|
|
||||||
raw?: string | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface RegExpLiteral extends BaseNode, BaseExpression {
|
|
||||||
type: "Literal";
|
|
||||||
value?: RegExp | null | undefined;
|
|
||||||
regex: {
|
|
||||||
pattern: string;
|
|
||||||
flags: string;
|
|
||||||
};
|
|
||||||
raw?: string | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BigIntLiteral extends BaseNode, BaseExpression {
|
|
||||||
type: "Literal";
|
|
||||||
value?: bigint | null | undefined;
|
|
||||||
bigint: string;
|
|
||||||
raw?: string | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type UnaryOperator = "-" | "+" | "!" | "~" | "typeof" | "void" | "delete";
|
|
||||||
|
|
||||||
export type BinaryOperator =
|
|
||||||
| "=="
|
|
||||||
| "!="
|
|
||||||
| "==="
|
|
||||||
| "!=="
|
|
||||||
| "<"
|
|
||||||
| "<="
|
|
||||||
| ">"
|
|
||||||
| ">="
|
|
||||||
| "<<"
|
|
||||||
| ">>"
|
|
||||||
| ">>>"
|
|
||||||
| "+"
|
|
||||||
| "-"
|
|
||||||
| "*"
|
|
||||||
| "/"
|
|
||||||
| "%"
|
|
||||||
| "**"
|
|
||||||
| "|"
|
|
||||||
| "^"
|
|
||||||
| "&"
|
|
||||||
| "in"
|
|
||||||
| "instanceof";
|
|
||||||
|
|
||||||
export type LogicalOperator = "||" | "&&" | "??";
|
|
||||||
|
|
||||||
export type AssignmentOperator =
|
|
||||||
| "="
|
|
||||||
| "+="
|
|
||||||
| "-="
|
|
||||||
| "*="
|
|
||||||
| "/="
|
|
||||||
| "%="
|
|
||||||
| "**="
|
|
||||||
| "<<="
|
|
||||||
| ">>="
|
|
||||||
| ">>>="
|
|
||||||
| "|="
|
|
||||||
| "^="
|
|
||||||
| "&="
|
|
||||||
| "||="
|
|
||||||
| "&&="
|
|
||||||
| "??=";
|
|
||||||
|
|
||||||
export type UpdateOperator = "++" | "--";
|
|
||||||
|
|
||||||
export interface ForOfStatement extends BaseForXStatement {
|
|
||||||
type: "ForOfStatement";
|
|
||||||
await: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Super extends BaseNode {
|
|
||||||
type: "Super";
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SpreadElement extends BaseNode {
|
|
||||||
type: "SpreadElement";
|
|
||||||
argument: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ArrowFunctionExpression extends BaseExpression, BaseFunction {
|
|
||||||
type: "ArrowFunctionExpression";
|
|
||||||
expression: boolean;
|
|
||||||
body: BlockStatement | Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface YieldExpression extends BaseExpression {
|
|
||||||
type: "YieldExpression";
|
|
||||||
argument?: Expression | null | undefined;
|
|
||||||
delegate: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface TemplateLiteral extends BaseExpression {
|
|
||||||
type: "TemplateLiteral";
|
|
||||||
quasis: TemplateElement[];
|
|
||||||
expressions: Expression[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface TaggedTemplateExpression extends BaseExpression {
|
|
||||||
type: "TaggedTemplateExpression";
|
|
||||||
tag: Expression;
|
|
||||||
quasi: TemplateLiteral;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface TemplateElement extends BaseNode {
|
|
||||||
type: "TemplateElement";
|
|
||||||
tail: boolean;
|
|
||||||
value: {
|
|
||||||
/** It is null when the template literal is tagged and the text has an invalid escape (e.g. - tag`\unicode and \u{55}`) */
|
|
||||||
cooked?: string | null | undefined;
|
|
||||||
raw: string;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AssignmentProperty extends Property {
|
|
||||||
value: Pattern;
|
|
||||||
kind: "init";
|
|
||||||
method: boolean; // false
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ObjectPattern extends BasePattern {
|
|
||||||
type: "ObjectPattern";
|
|
||||||
properties: Array<AssignmentProperty | RestElement>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ArrayPattern extends BasePattern {
|
|
||||||
type: "ArrayPattern";
|
|
||||||
elements: Array<Pattern | null>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface RestElement extends BasePattern {
|
|
||||||
type: "RestElement";
|
|
||||||
argument: Pattern;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AssignmentPattern extends BasePattern {
|
|
||||||
type: "AssignmentPattern";
|
|
||||||
left: Pattern;
|
|
||||||
right: Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type Class = ClassDeclaration | ClassExpression;
|
|
||||||
export interface BaseClass extends BaseNode {
|
|
||||||
superClass?: Expression | null | undefined;
|
|
||||||
body: ClassBody;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ClassBody extends BaseNode {
|
|
||||||
type: "ClassBody";
|
|
||||||
body: Array<MethodDefinition | PropertyDefinition | StaticBlock>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MethodDefinition extends BaseNode {
|
|
||||||
type: "MethodDefinition";
|
|
||||||
key: Expression | PrivateIdentifier;
|
|
||||||
value: FunctionExpression;
|
|
||||||
kind: "constructor" | "method" | "get" | "set";
|
|
||||||
computed: boolean;
|
|
||||||
static: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MaybeNamedClassDeclaration extends BaseClass, BaseDeclaration {
|
|
||||||
type: "ClassDeclaration";
|
|
||||||
/** It is null when a class declaration is a part of the `export default class` statement */
|
|
||||||
id: Identifier | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ClassDeclaration extends MaybeNamedClassDeclaration {
|
|
||||||
id: Identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ClassExpression extends BaseClass, BaseExpression {
|
|
||||||
type: "ClassExpression";
|
|
||||||
id?: Identifier | null | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MetaProperty extends BaseExpression {
|
|
||||||
type: "MetaProperty";
|
|
||||||
meta: Identifier;
|
|
||||||
property: Identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type ModuleDeclaration =
|
|
||||||
| ImportDeclaration
|
|
||||||
| ExportNamedDeclaration
|
|
||||||
| ExportDefaultDeclaration
|
|
||||||
| ExportAllDeclaration;
|
|
||||||
export interface BaseModuleDeclaration extends BaseNode {}
|
|
||||||
|
|
||||||
export type ModuleSpecifier = ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier;
|
|
||||||
export interface BaseModuleSpecifier extends BaseNode {
|
|
||||||
local: Identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ImportDeclaration extends BaseModuleDeclaration {
|
|
||||||
type: "ImportDeclaration";
|
|
||||||
specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>;
|
|
||||||
attributes: ImportAttribute[];
|
|
||||||
source: Literal;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ImportSpecifier extends BaseModuleSpecifier {
|
|
||||||
type: "ImportSpecifier";
|
|
||||||
imported: Identifier | Literal;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ImportAttribute extends BaseNode {
|
|
||||||
type: "ImportAttribute";
|
|
||||||
key: Identifier | Literal;
|
|
||||||
value: Literal;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ImportExpression extends BaseExpression {
|
|
||||||
type: "ImportExpression";
|
|
||||||
source: Expression;
|
|
||||||
options?: Expression | null | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ImportDefaultSpecifier extends BaseModuleSpecifier {
|
|
||||||
type: "ImportDefaultSpecifier";
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ImportNamespaceSpecifier extends BaseModuleSpecifier {
|
|
||||||
type: "ImportNamespaceSpecifier";
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ExportNamedDeclaration extends BaseModuleDeclaration {
|
|
||||||
type: "ExportNamedDeclaration";
|
|
||||||
declaration?: Declaration | null | undefined;
|
|
||||||
specifiers: ExportSpecifier[];
|
|
||||||
attributes: ImportAttribute[];
|
|
||||||
source?: Literal | null | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ExportSpecifier extends Omit<BaseModuleSpecifier, "local"> {
|
|
||||||
type: "ExportSpecifier";
|
|
||||||
local: Identifier | Literal;
|
|
||||||
exported: Identifier | Literal;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ExportDefaultDeclaration extends BaseModuleDeclaration {
|
|
||||||
type: "ExportDefaultDeclaration";
|
|
||||||
declaration: MaybeNamedFunctionDeclaration | MaybeNamedClassDeclaration | Expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ExportAllDeclaration extends BaseModuleDeclaration {
|
|
||||||
type: "ExportAllDeclaration";
|
|
||||||
exported: Identifier | Literal | null;
|
|
||||||
attributes: ImportAttribute[];
|
|
||||||
source: Literal;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AwaitExpression extends BaseExpression {
|
|
||||||
type: "AwaitExpression";
|
|
||||||
argument: Expression;
|
|
||||||
}
|
|
||||||
27
pkg/miniapp/frontend/node_modules/@types/estree/package.json
generated
vendored
27
pkg/miniapp/frontend/node_modules/@types/estree/package.json
generated
vendored
|
|
@ -1,27 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@types/estree",
|
|
||||||
"version": "1.0.8",
|
|
||||||
"description": "TypeScript definitions for estree",
|
|
||||||
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree",
|
|
||||||
"license": "MIT",
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "RReverser",
|
|
||||||
"githubUsername": "RReverser",
|
|
||||||
"url": "https://github.com/RReverser"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"main": "",
|
|
||||||
"types": "index.d.ts",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
|
|
||||||
"directory": "types/estree"
|
|
||||||
},
|
|
||||||
"scripts": {},
|
|
||||||
"dependencies": {},
|
|
||||||
"peerDependencies": {},
|
|
||||||
"typesPublisherContentHash": "7a167b6e4a4d9f6e9a2cb9fd3fc45c885f89cbdeb44b3e5961bb057a45c082fd",
|
|
||||||
"typeScriptVersion": "5.1",
|
|
||||||
"nonNpm": true
|
|
||||||
}
|
|
||||||
21
pkg/miniapp/frontend/node_modules/@vitest/expect/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/@vitest/expect/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021-Present Vitest Team
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
21
pkg/miniapp/frontend/node_modules/@vitest/expect/README.md
generated
vendored
21
pkg/miniapp/frontend/node_modules/@vitest/expect/README.md
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
# @vitest/expect
|
|
||||||
|
|
||||||
Jest's expect matchers as a Chai plugin.
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```js
|
|
||||||
import {
|
|
||||||
JestAsymmetricMatchers,
|
|
||||||
JestChaiExpect,
|
|
||||||
JestExtend,
|
|
||||||
} from '@vitest/expect'
|
|
||||||
import * as chai from 'chai'
|
|
||||||
|
|
||||||
// allows using expect.extend instead of chai.use to extend plugins
|
|
||||||
chai.use(JestExtend)
|
|
||||||
// adds all jest matchers to expect
|
|
||||||
chai.use(JestChaiExpect)
|
|
||||||
// adds asymmetric matchers like stringContaining, objectContaining
|
|
||||||
chai.use(JestAsymmetricMatchers)
|
|
||||||
```
|
|
||||||
3
pkg/miniapp/frontend/node_modules/@vitest/expect/index.d.ts
generated
vendored
3
pkg/miniapp/frontend/node_modules/@vitest/expect/index.d.ts
generated
vendored
|
|
@ -1,3 +0,0 @@
|
||||||
import './dist/chai.cjs'
|
|
||||||
|
|
||||||
export * from './dist/index.js'
|
|
||||||
47
pkg/miniapp/frontend/node_modules/@vitest/expect/package.json
generated
vendored
47
pkg/miniapp/frontend/node_modules/@vitest/expect/package.json
generated
vendored
|
|
@ -1,47 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@vitest/expect",
|
|
||||||
"type": "module",
|
|
||||||
"version": "2.1.9",
|
|
||||||
"description": "Jest's expect matchers as a Chai plugin",
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": "https://opencollective.com/vitest",
|
|
||||||
"homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/expect#readme",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/vitest-dev/vitest.git",
|
|
||||||
"directory": "packages/expect"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/vitest-dev/vitest/issues"
|
|
||||||
},
|
|
||||||
"sideEffects": false,
|
|
||||||
"exports": {
|
|
||||||
".": {
|
|
||||||
"types": "./index.d.ts",
|
|
||||||
"default": "./dist/index.js"
|
|
||||||
},
|
|
||||||
"./*": "./*"
|
|
||||||
},
|
|
||||||
"main": "./dist/index.js",
|
|
||||||
"module": "./dist/index.js",
|
|
||||||
"types": "./index.d.ts",
|
|
||||||
"files": [
|
|
||||||
"*.d.ts",
|
|
||||||
"dist"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"chai": "^5.1.2",
|
|
||||||
"tinyrainbow": "^1.2.0",
|
|
||||||
"@vitest/spy": "2.1.9",
|
|
||||||
"@vitest/utils": "2.1.9"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/chai": "4.3.6",
|
|
||||||
"rollup-plugin-copy": "^3.5.0",
|
|
||||||
"@vitest/runner": "2.1.9"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "rimraf dist && rollup -c",
|
|
||||||
"dev": "rollup -c --watch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
21
pkg/miniapp/frontend/node_modules/@vitest/mocker/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/@vitest/mocker/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021-Present Vitest Team
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
5
pkg/miniapp/frontend/node_modules/@vitest/mocker/README.md
generated
vendored
5
pkg/miniapp/frontend/node_modules/@vitest/mocker/README.md
generated
vendored
|
|
@ -1,5 +0,0 @@
|
||||||
# @vitest/mocker
|
|
||||||
|
|
||||||
Vitest's module mocker implementation.
|
|
||||||
|
|
||||||
[GitHub](https://github.com/vitest-dev/vitest/blob/main/packages/mocker/) | [Documentation](https://github.com/vitest-dev/vitest/blob/main/packages/mocker/EXPORTS.md)
|
|
||||||
82
pkg/miniapp/frontend/node_modules/@vitest/mocker/package.json
generated
vendored
82
pkg/miniapp/frontend/node_modules/@vitest/mocker/package.json
generated
vendored
|
|
@ -1,82 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@vitest/mocker",
|
|
||||||
"type": "module",
|
|
||||||
"version": "2.1.9",
|
|
||||||
"description": "Vitest module mocker implementation",
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": "https://opencollective.com/vitest",
|
|
||||||
"homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/mocker#readme",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/vitest-dev/vitest.git",
|
|
||||||
"directory": "packages/mocker"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/vitest-dev/vitest/issues"
|
|
||||||
},
|
|
||||||
"sideEffects": false,
|
|
||||||
"exports": {
|
|
||||||
".": {
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"default": "./dist/index.js"
|
|
||||||
},
|
|
||||||
"./node": {
|
|
||||||
"types": "./dist/node.d.ts",
|
|
||||||
"default": "./dist/node.js"
|
|
||||||
},
|
|
||||||
"./browser": {
|
|
||||||
"types": "./dist/browser.d.ts",
|
|
||||||
"default": "./dist/browser.js"
|
|
||||||
},
|
|
||||||
"./redirect": {
|
|
||||||
"types": "./dist/redirect.d.ts",
|
|
||||||
"default": "./dist/redirect.js"
|
|
||||||
},
|
|
||||||
"./register": {
|
|
||||||
"types": "./dist/register.d.ts",
|
|
||||||
"default": "./dist/register.js"
|
|
||||||
},
|
|
||||||
"./auto-register": {
|
|
||||||
"types": "./dist/register.d.ts",
|
|
||||||
"default": "./dist/register.js"
|
|
||||||
},
|
|
||||||
"./*": "./*"
|
|
||||||
},
|
|
||||||
"main": "./dist/index.js",
|
|
||||||
"module": "./dist/index.js",
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"files": [
|
|
||||||
"*.d.ts",
|
|
||||||
"dist"
|
|
||||||
],
|
|
||||||
"peerDependencies": {
|
|
||||||
"msw": "^2.4.9",
|
|
||||||
"vite": "^5.0.0"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"msw": {
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"vite": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"estree-walker": "^3.0.3",
|
|
||||||
"magic-string": "^0.30.12",
|
|
||||||
"@vitest/spy": "2.1.9"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/estree": "^1.0.6",
|
|
||||||
"acorn-walk": "^8.3.4",
|
|
||||||
"msw": "^2.6.4",
|
|
||||||
"pathe": "^1.1.2",
|
|
||||||
"vite": "^5.4.0",
|
|
||||||
"@vitest/spy": "2.1.9",
|
|
||||||
"@vitest/utils": "2.1.9"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "rimraf dist && rollup -c",
|
|
||||||
"dev": "rollup -c --watch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
21
pkg/miniapp/frontend/node_modules/@vitest/pretty-format/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/@vitest/pretty-format/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021-Present Vitest Team
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
43
pkg/miniapp/frontend/node_modules/@vitest/pretty-format/package.json
generated
vendored
43
pkg/miniapp/frontend/node_modules/@vitest/pretty-format/package.json
generated
vendored
|
|
@ -1,43 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@vitest/pretty-format",
|
|
||||||
"type": "module",
|
|
||||||
"version": "2.1.9",
|
|
||||||
"description": "Fork of pretty-format with support for ESM",
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": "https://opencollective.com/vitest",
|
|
||||||
"homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/utils#readme",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/vitest-dev/vitest.git",
|
|
||||||
"directory": "packages/pretty-format"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/vitest-dev/vitest/issues"
|
|
||||||
},
|
|
||||||
"sideEffects": false,
|
|
||||||
"exports": {
|
|
||||||
".": {
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"default": "./dist/index.js"
|
|
||||||
},
|
|
||||||
"./*": "./*"
|
|
||||||
},
|
|
||||||
"main": "./dist/index.js",
|
|
||||||
"module": "./dist/index.js",
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"files": [
|
|
||||||
"*.d.ts",
|
|
||||||
"dist"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"tinyrainbow": "^1.2.0"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/react-is": "^18.3.0",
|
|
||||||
"react-is": "^18.3.1"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "rimraf dist && rollup -c",
|
|
||||||
"dev": "rollup -c --watch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
21
pkg/miniapp/frontend/node_modules/@vitest/runner/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/@vitest/runner/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021-Present Vitest Team
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
5
pkg/miniapp/frontend/node_modules/@vitest/runner/README.md
generated
vendored
5
pkg/miniapp/frontend/node_modules/@vitest/runner/README.md
generated
vendored
|
|
@ -1,5 +0,0 @@
|
||||||
# @vitest/runner
|
|
||||||
|
|
||||||
Vitest mechanism to collect and run tasks.
|
|
||||||
|
|
||||||
[GitHub](https://github.com/vitest-dev/vitest) | [Documentation](https://vitest.dev/advanced/runner)
|
|
||||||
48
pkg/miniapp/frontend/node_modules/@vitest/runner/package.json
generated
vendored
48
pkg/miniapp/frontend/node_modules/@vitest/runner/package.json
generated
vendored
|
|
@ -1,48 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@vitest/runner",
|
|
||||||
"type": "module",
|
|
||||||
"version": "2.1.9",
|
|
||||||
"description": "Vitest test runner",
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": "https://opencollective.com/vitest",
|
|
||||||
"homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/runner#readme",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/vitest-dev/vitest.git",
|
|
||||||
"directory": "packages/runner"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/vitest-dev/vitest/issues"
|
|
||||||
},
|
|
||||||
"sideEffects": true,
|
|
||||||
"exports": {
|
|
||||||
".": {
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"default": "./dist/index.js"
|
|
||||||
},
|
|
||||||
"./utils": {
|
|
||||||
"types": "./dist/utils.d.ts",
|
|
||||||
"default": "./dist/utils.js"
|
|
||||||
},
|
|
||||||
"./types": {
|
|
||||||
"types": "./dist/types.d.ts",
|
|
||||||
"default": "./dist/types.js"
|
|
||||||
},
|
|
||||||
"./*": "./*"
|
|
||||||
},
|
|
||||||
"main": "./dist/index.js",
|
|
||||||
"module": "./dist/index.js",
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"files": [
|
|
||||||
"*.d.ts",
|
|
||||||
"dist"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"pathe": "^1.1.2",
|
|
||||||
"@vitest/utils": "2.1.9"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "rimraf dist && rollup -c",
|
|
||||||
"dev": "rollup -c --watch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@vitest/runner/types.d.ts
generated
vendored
1
pkg/miniapp/frontend/node_modules/@vitest/runner/types.d.ts
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
export * from './dist/types.js'
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@vitest/runner/utils.d.ts
generated
vendored
1
pkg/miniapp/frontend/node_modules/@vitest/runner/utils.d.ts
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
export * from './dist/utils.js'
|
|
||||||
21
pkg/miniapp/frontend/node_modules/@vitest/snapshot/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/@vitest/snapshot/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021-Present Vitest Team
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
84
pkg/miniapp/frontend/node_modules/@vitest/snapshot/README.md
generated
vendored
84
pkg/miniapp/frontend/node_modules/@vitest/snapshot/README.md
generated
vendored
|
|
@ -1,84 +0,0 @@
|
||||||
# @vitest/snapshot
|
|
||||||
|
|
||||||
Lightweight implementation of Jest's snapshots.
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```js
|
|
||||||
import { SnapshotClient } from '@vitest/snapshot'
|
|
||||||
import { NodeSnapshotEnvironment } from '@vitest/snapshot/environment'
|
|
||||||
import { SnapshotManager } from '@vitest/snapshot/manager'
|
|
||||||
|
|
||||||
const client = new SnapshotClient({
|
|
||||||
// you need to provide your own equality check implementation if you use it
|
|
||||||
// this function is called when `.toMatchSnapshot({ property: 1 })` is called
|
|
||||||
isEqual: (received, expected) =>
|
|
||||||
equals(received, expected, [iterableEquality, subsetEquality]),
|
|
||||||
})
|
|
||||||
|
|
||||||
// class that implements snapshot saving and reading
|
|
||||||
// by default uses fs module, but you can provide your own implementation depending on the environment
|
|
||||||
const environment = new NodeSnapshotEnvironment()
|
|
||||||
|
|
||||||
// you need to implement this yourselves,
|
|
||||||
// this depends on your runner
|
|
||||||
function getCurrentFilepath() {
|
|
||||||
return '/file.spec.js'
|
|
||||||
}
|
|
||||||
function getCurrentTestName() {
|
|
||||||
return 'test1'
|
|
||||||
}
|
|
||||||
|
|
||||||
// example for inline snapshots, nothing is required to support regular snapshots,
|
|
||||||
// just call `assert` with `isInline: false`
|
|
||||||
function wrapper(received) {
|
|
||||||
function __INLINE_SNAPSHOT__(inlineSnapshot, message) {
|
|
||||||
client.assert({
|
|
||||||
received,
|
|
||||||
message,
|
|
||||||
isInline: true,
|
|
||||||
inlineSnapshot,
|
|
||||||
filepath: getCurrentFilepath(),
|
|
||||||
name: getCurrentTestName(),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
// the name is hard-coded, it should be inside another function, so Vitest can find the actual test file where it was called (parses call stack trace + 2)
|
|
||||||
// you can override this behaviour in SnapshotState's `_inferInlineSnapshotStack` method by providing your own SnapshotState to SnapshotClient constructor
|
|
||||||
toMatchInlineSnapshot: (...args) => __INLINE_SNAPSHOT__(...args),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const options = {
|
|
||||||
updateSnapshot: 'new',
|
|
||||||
snapshotEnvironment: environment,
|
|
||||||
}
|
|
||||||
|
|
||||||
await client.startCurrentRun(
|
|
||||||
getCurrentFilepath(),
|
|
||||||
getCurrentTestName(),
|
|
||||||
options
|
|
||||||
)
|
|
||||||
|
|
||||||
// this will save snapshot to a file which is returned by "snapshotEnvironment.resolvePath"
|
|
||||||
client.assert({
|
|
||||||
received: 'some text',
|
|
||||||
isInline: false,
|
|
||||||
})
|
|
||||||
|
|
||||||
// uses "pretty-format", so it requires quotes
|
|
||||||
// also naming is hard-coded when parsing test files
|
|
||||||
wrapper('text 1').toMatchInlineSnapshot()
|
|
||||||
wrapper('text 2').toMatchInlineSnapshot('"text 2"')
|
|
||||||
|
|
||||||
const result = await client.finishCurrentRun() // this saves files and returns SnapshotResult
|
|
||||||
|
|
||||||
// you can use manager to manage several clients
|
|
||||||
const manager = new SnapshotManager(options)
|
|
||||||
manager.add(result)
|
|
||||||
|
|
||||||
// do something
|
|
||||||
// and then read the summary
|
|
||||||
|
|
||||||
console.log(manager.summary)
|
|
||||||
```
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@vitest/snapshot/environment.d.ts
generated
vendored
1
pkg/miniapp/frontend/node_modules/@vitest/snapshot/environment.d.ts
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
export * from './dist/environment.js'
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@vitest/snapshot/manager.d.ts
generated
vendored
1
pkg/miniapp/frontend/node_modules/@vitest/snapshot/manager.d.ts
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
export * from './dist/manager.js'
|
|
||||||
54
pkg/miniapp/frontend/node_modules/@vitest/snapshot/package.json
generated
vendored
54
pkg/miniapp/frontend/node_modules/@vitest/snapshot/package.json
generated
vendored
|
|
@ -1,54 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@vitest/snapshot",
|
|
||||||
"type": "module",
|
|
||||||
"version": "2.1.9",
|
|
||||||
"description": "Vitest snapshot manager",
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": "https://opencollective.com/vitest",
|
|
||||||
"homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/snapshot#readme",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/vitest-dev/vitest.git",
|
|
||||||
"directory": "packages/snapshot"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/vitest-dev/vitest/issues"
|
|
||||||
},
|
|
||||||
"sideEffects": false,
|
|
||||||
"exports": {
|
|
||||||
".": {
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"default": "./dist/index.js"
|
|
||||||
},
|
|
||||||
"./environment": {
|
|
||||||
"types": "./dist/environment.d.ts",
|
|
||||||
"default": "./dist/environment.js"
|
|
||||||
},
|
|
||||||
"./manager": {
|
|
||||||
"types": "./dist/manager.d.ts",
|
|
||||||
"default": "./dist/manager.js"
|
|
||||||
},
|
|
||||||
"./*": "./*"
|
|
||||||
},
|
|
||||||
"main": "./dist/index.js",
|
|
||||||
"module": "./dist/index.js",
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"files": [
|
|
||||||
"*.d.ts",
|
|
||||||
"dist"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"magic-string": "^0.30.12",
|
|
||||||
"pathe": "^1.1.2",
|
|
||||||
"@vitest/pretty-format": "2.1.9"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/natural-compare": "^1.4.3",
|
|
||||||
"natural-compare": "^1.4.0",
|
|
||||||
"@vitest/utils": "2.1.9"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "rimraf dist && rollup -c",
|
|
||||||
"dev": "rollup -c --watch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
21
pkg/miniapp/frontend/node_modules/@vitest/spy/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/@vitest/spy/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021-Present Vitest Team
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
3
pkg/miniapp/frontend/node_modules/@vitest/spy/README.md
generated
vendored
3
pkg/miniapp/frontend/node_modules/@vitest/spy/README.md
generated
vendored
|
|
@ -1,3 +0,0 @@
|
||||||
# @vitest/spy
|
|
||||||
|
|
||||||
Lightweight Jest compatible spy implementation.
|
|
||||||
38
pkg/miniapp/frontend/node_modules/@vitest/spy/package.json
generated
vendored
38
pkg/miniapp/frontend/node_modules/@vitest/spy/package.json
generated
vendored
|
|
@ -1,38 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@vitest/spy",
|
|
||||||
"type": "module",
|
|
||||||
"version": "2.1.9",
|
|
||||||
"description": "Lightweight Jest compatible spy implementation",
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": "https://opencollective.com/vitest",
|
|
||||||
"homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/spy#readme",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/vitest-dev/vitest.git",
|
|
||||||
"directory": "packages/spy"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/vitest-dev/vitest/issues"
|
|
||||||
},
|
|
||||||
"sideEffects": false,
|
|
||||||
"exports": {
|
|
||||||
".": {
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"default": "./dist/index.js"
|
|
||||||
},
|
|
||||||
"./*": "./*"
|
|
||||||
},
|
|
||||||
"main": "./dist/index.js",
|
|
||||||
"module": "./dist/index.js",
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"files": [
|
|
||||||
"dist"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"tinyspy": "^3.0.2"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "rimraf dist && rollup -c",
|
|
||||||
"dev": "rollup -c --watch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
21
pkg/miniapp/frontend/node_modules/@vitest/utils/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/@vitest/utils/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021-Present Vitest Team
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@vitest/utils/diff.d.ts
generated
vendored
1
pkg/miniapp/frontend/node_modules/@vitest/utils/diff.d.ts
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
export * from './dist/diff.js'
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@vitest/utils/error.d.ts
generated
vendored
1
pkg/miniapp/frontend/node_modules/@vitest/utils/error.d.ts
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
export * from './dist/error.js'
|
|
||||||
1
pkg/miniapp/frontend/node_modules/@vitest/utils/helpers.d.ts
generated
vendored
1
pkg/miniapp/frontend/node_modules/@vitest/utils/helpers.d.ts
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
export * from './dist/helpers.js'
|
|
||||||
77
pkg/miniapp/frontend/node_modules/@vitest/utils/package.json
generated
vendored
77
pkg/miniapp/frontend/node_modules/@vitest/utils/package.json
generated
vendored
|
|
@ -1,77 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@vitest/utils",
|
|
||||||
"type": "module",
|
|
||||||
"version": "2.1.9",
|
|
||||||
"description": "Shared Vitest utility functions",
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": "https://opencollective.com/vitest",
|
|
||||||
"homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/utils#readme",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/vitest-dev/vitest.git",
|
|
||||||
"directory": "packages/utils"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/vitest-dev/vitest/issues"
|
|
||||||
},
|
|
||||||
"sideEffects": false,
|
|
||||||
"exports": {
|
|
||||||
".": {
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"default": "./dist/index.js"
|
|
||||||
},
|
|
||||||
"./diff": {
|
|
||||||
"types": "./dist/diff.d.ts",
|
|
||||||
"default": "./dist/diff.js"
|
|
||||||
},
|
|
||||||
"./ast": {
|
|
||||||
"types": "./dist/ast.d.ts",
|
|
||||||
"default": "./dist/ast.js"
|
|
||||||
},
|
|
||||||
"./error": {
|
|
||||||
"types": "./dist/error.d.ts",
|
|
||||||
"default": "./dist/error.js"
|
|
||||||
},
|
|
||||||
"./helpers": {
|
|
||||||
"types": "./dist/helpers.d.ts",
|
|
||||||
"default": "./dist/helpers.js"
|
|
||||||
},
|
|
||||||
"./source-map": {
|
|
||||||
"types": "./dist/source-map.d.ts",
|
|
||||||
"default": "./dist/source-map.js"
|
|
||||||
},
|
|
||||||
"./*": "./*"
|
|
||||||
},
|
|
||||||
"main": "./dist/index.js",
|
|
||||||
"module": "./dist/index.js",
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"typesVersions": {
|
|
||||||
"*": {
|
|
||||||
"ast": [
|
|
||||||
"dist/ast.d.ts"
|
|
||||||
],
|
|
||||||
"source-map": [
|
|
||||||
"dist/source-map.d.ts"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"*.d.ts",
|
|
||||||
"dist"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"loupe": "^3.1.2",
|
|
||||||
"tinyrainbow": "^1.2.0",
|
|
||||||
"@vitest/pretty-format": "2.1.9"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
|
||||||
"@types/estree": "^1.0.6",
|
|
||||||
"diff-sequences": "^29.6.3",
|
|
||||||
"tinyhighlight": "^0.3.2"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "rimraf dist && rollup -c",
|
|
||||||
"dev": "rollup -c --watch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
21
pkg/miniapp/frontend/node_modules/assertion-error/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/assertion-error/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2013 Jake Luer jake@qualiancy.com (http://qualiancy.com)
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
68
pkg/miniapp/frontend/node_modules/assertion-error/README.md
generated
vendored
68
pkg/miniapp/frontend/node_modules/assertion-error/README.md
generated
vendored
|
|
@ -1,68 +0,0 @@
|
||||||
<p align=center>
|
|
||||||
AssertionError and AssertionResult classes.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p align=center>
|
|
||||||
<a href="https://github.com/chaijs/assertion-error/actions">
|
|
||||||
<img
|
|
||||||
alt="build:?"
|
|
||||||
src="https://github.com/chaijs/assertion-error/actions/workflows/nodejs.yml/badge.svg"
|
|
||||||
/>
|
|
||||||
</a><a href="https://www.npmjs.com/package/assertion-error">
|
|
||||||
<img
|
|
||||||
alt="downloads:?"
|
|
||||||
src="https://img.shields.io/npm/dm/assertion-error.svg"
|
|
||||||
/>
|
|
||||||
</a><a href="">
|
|
||||||
<img
|
|
||||||
alt="devDependencies:none"
|
|
||||||
src="https://img.shields.io/badge/dependencies-none-brightgreen"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
## What is AssertionError?
|
|
||||||
|
|
||||||
Assertion Error is a module that contains two classes: `AssertionError`, which
|
|
||||||
is an instance of an `Error`, and `AssertionResult` which is not an instance of
|
|
||||||
Error.
|
|
||||||
|
|
||||||
These can be useful for returning from a function - if the function "succeeds"
|
|
||||||
return an `AssertionResult` and if the function fails return (or throw) an
|
|
||||||
`AssertionError`.
|
|
||||||
|
|
||||||
Both `AssertionError` and `AssertionResult` implement the `Result` interface:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
interface Result {
|
|
||||||
name: "AssertionError" | "AssertionResult";
|
|
||||||
ok: boolean;
|
|
||||||
toJSON(...args: unknown[]): Record<string, unknown>;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
So if a function returns `AssertionResult | AssertionError` it is easy to check
|
|
||||||
_which_ one is returned by checking either `.name` or `.ok`, or check
|
|
||||||
`instanceof Error`.
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
### Node.js
|
|
||||||
|
|
||||||
`assertion-error` is available on [npm](http://npmjs.org).
|
|
||||||
|
|
||||||
```
|
|
||||||
$ npm install --save assertion-error
|
|
||||||
```
|
|
||||||
|
|
||||||
### Deno
|
|
||||||
|
|
||||||
`assertion_error` is available on
|
|
||||||
[Deno.land](https://deno.land/x/assertion_error)
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import {
|
|
||||||
AssertionError,
|
|
||||||
AssertionResult,
|
|
||||||
} from "https://deno.land/x/assertion_error@2.0.0/mod.ts";
|
|
||||||
```
|
|
||||||
27
pkg/miniapp/frontend/node_modules/assertion-error/index.d.ts
generated
vendored
27
pkg/miniapp/frontend/node_modules/assertion-error/index.d.ts
generated
vendored
|
|
@ -1,27 +0,0 @@
|
||||||
interface Result {
|
|
||||||
name: "AssertionError" | "AssertionResult";
|
|
||||||
ok: boolean;
|
|
||||||
toJSON(...args: unknown[]): Record<string, unknown>;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class AssertionError<T> extends Error implements Result {
|
|
||||||
[key: string]: unknown
|
|
||||||
name: "AssertionError";
|
|
||||||
ok: false;
|
|
||||||
message: string;
|
|
||||||
// deno-lint-ignore ban-types
|
|
||||||
constructor(message: string, props?: T, ssf?: Function);
|
|
||||||
stack: string;
|
|
||||||
toJSON(stack?: boolean): Record<string, unknown>;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class AssertionResult<T> implements Result {
|
|
||||||
[key: string]: unknown
|
|
||||||
name: "AssertionResult";
|
|
||||||
ok: true;
|
|
||||||
message: string;
|
|
||||||
constructor(props?: T);
|
|
||||||
toJSON(): Record<string, unknown>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export { AssertionError, AssertionResult, Result };
|
|
||||||
60
pkg/miniapp/frontend/node_modules/assertion-error/index.js
generated
vendored
60
pkg/miniapp/frontend/node_modules/assertion-error/index.js
generated
vendored
|
|
@ -1,60 +0,0 @@
|
||||||
// deno-fmt-ignore-file
|
|
||||||
// deno-lint-ignore-file
|
|
||||||
// This code was bundled using `deno bundle` and it's not recommended to edit it manually
|
|
||||||
|
|
||||||
const canElideFrames = "captureStackTrace" in Error;
|
|
||||||
class AssertionError extends Error {
|
|
||||||
message;
|
|
||||||
get name() {
|
|
||||||
return "AssertionError";
|
|
||||||
}
|
|
||||||
get ok() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
constructor(message = "Unspecified AssertionError", props, ssf){
|
|
||||||
super(message);
|
|
||||||
this.message = message;
|
|
||||||
if (canElideFrames) {
|
|
||||||
Error.captureStackTrace(this, ssf || AssertionError);
|
|
||||||
}
|
|
||||||
for(const key in props){
|
|
||||||
if (!(key in this)) {
|
|
||||||
this[key] = props[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
toJSON(stack) {
|
|
||||||
return {
|
|
||||||
...this,
|
|
||||||
name: this.name,
|
|
||||||
message: this.message,
|
|
||||||
ok: false,
|
|
||||||
stack: stack !== false ? this.stack : undefined
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
class AssertionResult {
|
|
||||||
get name() {
|
|
||||||
return "AssertionResult";
|
|
||||||
}
|
|
||||||
get ok() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
constructor(props){
|
|
||||||
for(const key in props){
|
|
||||||
if (!(key in this)) {
|
|
||||||
this[key] = props[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
toJSON() {
|
|
||||||
return {
|
|
||||||
...this,
|
|
||||||
name: this.name,
|
|
||||||
ok: this.ok
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export { AssertionError as AssertionError };
|
|
||||||
export { AssertionResult as AssertionResult };
|
|
||||||
|
|
||||||
32
pkg/miniapp/frontend/node_modules/assertion-error/package.json
generated
vendored
32
pkg/miniapp/frontend/node_modules/assertion-error/package.json
generated
vendored
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
"name": "assertion-error",
|
|
||||||
"version": "2.0.1",
|
|
||||||
"description": "Error constructor for test and validation frameworks that implements standardized AssertionError specification.",
|
|
||||||
"author": "Jake Luer <jake@qualiancy.com> (http://qualiancy.com)",
|
|
||||||
"license": "MIT",
|
|
||||||
"types": "./index.d.ts",
|
|
||||||
"keywords": [
|
|
||||||
"test",
|
|
||||||
"assertion",
|
|
||||||
"assertion-error"
|
|
||||||
],
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git@github.com:chaijs/assertion-error.git"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"index.d.ts"
|
|
||||||
],
|
|
||||||
"type": "module",
|
|
||||||
"module": "index.js",
|
|
||||||
"main": "index.js",
|
|
||||||
"scripts": {
|
|
||||||
"build": "deno bundle mod.ts > index.js",
|
|
||||||
"pretest": "rm -rf coverage/",
|
|
||||||
"test": "deno test --coverage=coverage",
|
|
||||||
"posttest": "deno coverage coverage --lcov > coverage/lcov.info && lcov --summary coverage/lcov.info"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
21
pkg/miniapp/frontend/node_modules/cac/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/cac/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) EGOIST <0x142857@gmail.com> (https://github.com/egoist)
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
536
pkg/miniapp/frontend/node_modules/cac/README.md
generated
vendored
536
pkg/miniapp/frontend/node_modules/cac/README.md
generated
vendored
|
|
@ -1,536 +0,0 @@
|
||||||
<img width="945" alt="2017-07-26 9 27 05" src="https://user-images.githubusercontent.com/8784712/28623641-373450f4-7249-11e7-854d-1b076dab274d.png">
|
|
||||||
|
|
||||||
[](https://npmjs.com/package/cac) [](https://npmjs.com/package/cac) [](https://circleci.com/gh/cacjs/cac/tree/master) [](https://codecov.io/gh/cacjs/cac) [](https://github.com/egoist/donate) [](https://chat.egoist.moe) [](https://packagephobia.now.sh/result?p=cac)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
**C**ommand **A**nd **C**onquer is a JavaScript library for building CLI apps.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- **Super light-weight**: No dependency, just a single file.
|
|
||||||
- **Easy to learn**. There're only 4 APIs you need to learn for building simple CLIs: `cli.option` `cli.version` `cli.help` `cli.parse`.
|
|
||||||
- **Yet so powerful**. Enable features like default command, git-like subcommands, validation for required arguments and options, variadic arguments, dot-nested options, automated help message generation and so on.
|
|
||||||
- **Developer friendly**. Written in TypeScript.
|
|
||||||
|
|
||||||
## Table of Contents
|
|
||||||
|
|
||||||
<!-- toc -->
|
|
||||||
|
|
||||||
- [Install](#install)
|
|
||||||
- [Usage](#usage)
|
|
||||||
- [Simple Parsing](#simple-parsing)
|
|
||||||
- [Display Help Message and Version](#display-help-message-and-version)
|
|
||||||
- [Command-specific Options](#command-specific-options)
|
|
||||||
- [Dash in option names](#dash-in-option-names)
|
|
||||||
- [Brackets](#brackets)
|
|
||||||
- [Negated Options](#negated-options)
|
|
||||||
- [Variadic Arguments](#variadic-arguments)
|
|
||||||
- [Dot-nested Options](#dot-nested-options)
|
|
||||||
- [Default Command](#default-command)
|
|
||||||
- [Supply an array as option value](#supply-an-array-as-option-value)
|
|
||||||
- [Error Handling](#error-handling)
|
|
||||||
- [With TypeScript](#with-typescript)
|
|
||||||
- [With Deno](#with-deno)
|
|
||||||
- [Projects Using CAC](#projects-using-cac)
|
|
||||||
- [References](#references)
|
|
||||||
- [CLI Instance](#cli-instance)
|
|
||||||
- [cac(name?)](#cacname)
|
|
||||||
- [cli.command(name, description, config?)](#clicommandname-description-config)
|
|
||||||
- [cli.option(name, description, config?)](#clioptionname-description-config)
|
|
||||||
- [cli.parse(argv?)](#cliparseargv)
|
|
||||||
- [cli.version(version, customFlags?)](#cliversionversion-customflags)
|
|
||||||
- [cli.help(callback?)](#clihelpcallback)
|
|
||||||
- [cli.outputHelp()](#clioutputhelp)
|
|
||||||
- [cli.usage(text)](#cliusagetext)
|
|
||||||
- [Command Instance](#command-instance)
|
|
||||||
- [command.option()](#commandoption)
|
|
||||||
- [command.action(callback)](#commandactioncallback)
|
|
||||||
- [command.alias(name)](#commandaliasname)
|
|
||||||
- [command.allowUnknownOptions()](#commandallowunknownoptions)
|
|
||||||
- [command.example(example)](#commandexampleexample)
|
|
||||||
- [command.usage(text)](#commandusagetext)
|
|
||||||
- [Events](#events)
|
|
||||||
- [FAQ](#faq)
|
|
||||||
- [How is the name written and pronounced?](#how-is-the-name-written-and-pronounced)
|
|
||||||
- [Why not use Commander.js?](#why-not-use-commanderjs)
|
|
||||||
- [Project Stats](#project-stats)
|
|
||||||
- [Contributing](#contributing)
|
|
||||||
- [Author](#author)
|
|
||||||
|
|
||||||
<!-- tocstop -->
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yarn add cac
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
### Simple Parsing
|
|
||||||
|
|
||||||
Use CAC as simple argument parser:
|
|
||||||
|
|
||||||
```js
|
|
||||||
// examples/basic-usage.js
|
|
||||||
const cli = require('cac')()
|
|
||||||
|
|
||||||
cli.option('--type <type>', 'Choose a project type', {
|
|
||||||
default: 'node',
|
|
||||||
})
|
|
||||||
|
|
||||||
const parsed = cli.parse()
|
|
||||||
|
|
||||||
console.log(JSON.stringify(parsed, null, 2))
|
|
||||||
```
|
|
||||||
|
|
||||||
<img width="500" alt="2018-11-26 12 28 03" src="https://user-images.githubusercontent.com/8784712/48981576-2a871000-f112-11e8-8151-80f61e9b9908.png">
|
|
||||||
|
|
||||||
### Display Help Message and Version
|
|
||||||
|
|
||||||
```js
|
|
||||||
// examples/help.js
|
|
||||||
const cli = require('cac')()
|
|
||||||
|
|
||||||
cli.option('--type [type]', 'Choose a project type', {
|
|
||||||
default: 'node',
|
|
||||||
})
|
|
||||||
cli.option('--name <name>', 'Provide your name')
|
|
||||||
|
|
||||||
cli.command('lint [...files]', 'Lint files').action((files, options) => {
|
|
||||||
console.log(files, options)
|
|
||||||
})
|
|
||||||
|
|
||||||
// Display help message when `-h` or `--help` appears
|
|
||||||
cli.help()
|
|
||||||
// Display version number when `-v` or `--version` appears
|
|
||||||
// It's also used in help message
|
|
||||||
cli.version('0.0.0')
|
|
||||||
|
|
||||||
cli.parse()
|
|
||||||
```
|
|
||||||
|
|
||||||
<img width="500" alt="2018-11-25 8 21 14" src="https://user-images.githubusercontent.com/8784712/48979012-acb20d00-f0ef-11e8-9cc6-8ffca00ab78a.png">
|
|
||||||
|
|
||||||
### Command-specific Options
|
|
||||||
|
|
||||||
You can attach options to a command.
|
|
||||||
|
|
||||||
```js
|
|
||||||
const cli = require('cac')()
|
|
||||||
|
|
||||||
cli
|
|
||||||
.command('rm <dir>', 'Remove a dir')
|
|
||||||
.option('-r, --recursive', 'Remove recursively')
|
|
||||||
.action((dir, options) => {
|
|
||||||
console.log('remove ' + dir + (options.recursive ? ' recursively' : ''))
|
|
||||||
})
|
|
||||||
|
|
||||||
cli.help()
|
|
||||||
|
|
||||||
cli.parse()
|
|
||||||
```
|
|
||||||
|
|
||||||
A command's options are validated when the command is used. Any unknown options will be reported as an error. However, if an action-based command does not define an action, then the options are not validated. If you really want to use unknown options, use [`command.allowUnknownOptions`](#commandallowunknownoptions).
|
|
||||||
|
|
||||||
<img alt="command options" width="500" src="https://user-images.githubusercontent.com/8784712/49065552-49dc8500-f259-11e8-9c7b-a7c32d70920e.png">
|
|
||||||
|
|
||||||
### Dash in option names
|
|
||||||
|
|
||||||
Options in kebab-case should be referenced in camelCase in your code:
|
|
||||||
|
|
||||||
```js
|
|
||||||
cli
|
|
||||||
.command('dev', 'Start dev server')
|
|
||||||
.option('--clear-screen', 'Clear screen')
|
|
||||||
.action((options) => {
|
|
||||||
console.log(options.clearScreen)
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
In fact `--clear-screen` and `--clearScreen` are both mapped to `options.clearScreen`.
|
|
||||||
|
|
||||||
### Brackets
|
|
||||||
|
|
||||||
When using brackets in command name, angled brackets indicate required command arguments, while square bracket indicate optional arguments.
|
|
||||||
|
|
||||||
When using brackets in option name, angled brackets indicate that a string / number value is required, while square bracket indicate that the value can also be `true`.
|
|
||||||
|
|
||||||
```js
|
|
||||||
const cli = require('cac')()
|
|
||||||
|
|
||||||
cli
|
|
||||||
.command('deploy <folder>', 'Deploy a folder to AWS')
|
|
||||||
.option('--scale [level]', 'Scaling level')
|
|
||||||
.action((folder, options) => {
|
|
||||||
// ...
|
|
||||||
})
|
|
||||||
|
|
||||||
cli
|
|
||||||
.command('build [project]', 'Build a project')
|
|
||||||
.option('--out <dir>', 'Output directory')
|
|
||||||
.action((folder, options) => {
|
|
||||||
// ...
|
|
||||||
})
|
|
||||||
|
|
||||||
cli.parse()
|
|
||||||
```
|
|
||||||
|
|
||||||
### Negated Options
|
|
||||||
|
|
||||||
To allow an option whose value is `false`, you need to manually specify a negated option:
|
|
||||||
|
|
||||||
```js
|
|
||||||
cli
|
|
||||||
.command('build [project]', 'Build a project')
|
|
||||||
.option('--no-config', 'Disable config file')
|
|
||||||
.option('--config <path>', 'Use a custom config file')
|
|
||||||
```
|
|
||||||
|
|
||||||
This will let CAC set the default value of `config` to true, and you can use `--no-config` flag to set it to `false`.
|
|
||||||
|
|
||||||
### Variadic Arguments
|
|
||||||
|
|
||||||
The last argument of a command can be variadic, and only the last argument. To make an argument variadic you have to add `...` to the start of argument name, just like the rest operator in JavaScript. Here is an example:
|
|
||||||
|
|
||||||
```js
|
|
||||||
const cli = require('cac')()
|
|
||||||
|
|
||||||
cli
|
|
||||||
.command('build <entry> [...otherFiles]', 'Build your app')
|
|
||||||
.option('--foo', 'Foo option')
|
|
||||||
.action((entry, otherFiles, options) => {
|
|
||||||
console.log(entry)
|
|
||||||
console.log(otherFiles)
|
|
||||||
console.log(options)
|
|
||||||
})
|
|
||||||
|
|
||||||
cli.help()
|
|
||||||
|
|
||||||
cli.parse()
|
|
||||||
```
|
|
||||||
|
|
||||||
<img width="500" alt="2018-11-25 8 25 30" src="https://user-images.githubusercontent.com/8784712/48979056-47125080-f0f0-11e8-9d8f-3219e0beb0ed.png">
|
|
||||||
|
|
||||||
### Dot-nested Options
|
|
||||||
|
|
||||||
Dot-nested options will be merged into a single option.
|
|
||||||
|
|
||||||
```js
|
|
||||||
const cli = require('cac')()
|
|
||||||
|
|
||||||
cli
|
|
||||||
.command('build', 'desc')
|
|
||||||
.option('--env <env>', 'Set envs')
|
|
||||||
.example('--env.API_SECRET xxx')
|
|
||||||
.action((options) => {
|
|
||||||
console.log(options)
|
|
||||||
})
|
|
||||||
|
|
||||||
cli.help()
|
|
||||||
|
|
||||||
cli.parse()
|
|
||||||
```
|
|
||||||
|
|
||||||
<img width="500" alt="2018-11-25 9 37 53" src="https://user-images.githubusercontent.com/8784712/48979771-6ada9400-f0fa-11e8-8192-e541b2cfd9da.png">
|
|
||||||
|
|
||||||
### Default Command
|
|
||||||
|
|
||||||
Register a command that will be used when no other command is matched.
|
|
||||||
|
|
||||||
```js
|
|
||||||
const cli = require('cac')()
|
|
||||||
|
|
||||||
cli
|
|
||||||
// Simply omit the command name, just brackets
|
|
||||||
.command('[...files]', 'Build files')
|
|
||||||
.option('--minimize', 'Minimize output')
|
|
||||||
.action((files, options) => {
|
|
||||||
console.log(files)
|
|
||||||
console.log(options.minimize)
|
|
||||||
})
|
|
||||||
|
|
||||||
cli.parse()
|
|
||||||
```
|
|
||||||
|
|
||||||
### Supply an array as option value
|
|
||||||
|
|
||||||
```bash
|
|
||||||
node cli.js --include project-a
|
|
||||||
# The parsed options will be:
|
|
||||||
# { include: 'project-a' }
|
|
||||||
|
|
||||||
node cli.js --include project-a --include project-b
|
|
||||||
# The parsed options will be:
|
|
||||||
# { include: ['project-a', 'project-b'] }
|
|
||||||
```
|
|
||||||
|
|
||||||
### Error Handling
|
|
||||||
|
|
||||||
To handle command errors globally:
|
|
||||||
|
|
||||||
```js
|
|
||||||
try {
|
|
||||||
// Parse CLI args without running the command
|
|
||||||
cli.parse(process.argv, { run: false })
|
|
||||||
// Run the command yourself
|
|
||||||
// You only need `await` when your command action returns a Promise
|
|
||||||
await cli.runMatchedCommand()
|
|
||||||
} catch (error) {
|
|
||||||
// Handle error here..
|
|
||||||
// e.g.
|
|
||||||
// console.error(error.stack)
|
|
||||||
// process.exit(1)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### With TypeScript
|
|
||||||
|
|
||||||
First you need `@types/node` to be installed as a dev dependency in your project:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yarn add @types/node --dev
|
|
||||||
```
|
|
||||||
|
|
||||||
Then everything just works out of the box:
|
|
||||||
|
|
||||||
```js
|
|
||||||
const { cac } = require('cac')
|
|
||||||
// OR ES modules
|
|
||||||
import { cac } from 'cac'
|
|
||||||
```
|
|
||||||
|
|
||||||
### With Deno
|
|
||||||
|
|
||||||
```ts
|
|
||||||
import { cac } from 'https://unpkg.com/cac/mod.ts'
|
|
||||||
|
|
||||||
const cli = cac('my-program')
|
|
||||||
```
|
|
||||||
|
|
||||||
## Projects Using CAC
|
|
||||||
|
|
||||||
Projects that use **CAC**:
|
|
||||||
|
|
||||||
- [VuePress](https://github.com/vuejs/vuepress): :memo: Minimalistic Vue-powered static site generator.
|
|
||||||
- [SAO](https://github.com/egoist/sao): ⚔️ Futuristic scaffolding tool.
|
|
||||||
- [DocPad](https://github.com/docpad/docpad): 🏹 Powerful Static Site Generator.
|
|
||||||
- [Poi](https://github.com/egoist/poi): ⚡️ Delightful web development.
|
|
||||||
- [bili](https://github.com/egoist/bili): 🥂 Schweizer Armeemesser for bundling JavaScript libraries.
|
|
||||||
- [Lad](https://github.com/ladjs/lad): 👦 Lad scaffolds a Koa webapp and API framework for Node.js.
|
|
||||||
- [Lass](https://github.com/lassjs/lass): 💁🏻 Scaffold a modern package boilerplate for Node.js.
|
|
||||||
- [Foy](https://github.com/zaaack/foy): 🏗 A lightweight and modern task runner and build tool for general purpose.
|
|
||||||
- [Vuese](https://github.com/vuese/vuese): 🤗 One-stop solution for vue component documentation.
|
|
||||||
- [NUT](https://github.com/nut-project/nut): 🌰 A framework born for microfrontends
|
|
||||||
- Feel free to add yours here...
|
|
||||||
|
|
||||||
## References
|
|
||||||
|
|
||||||
**💁 Check out [the generated docs](https://cac-api-doc.egoist.sh/classes/_cac_.cac.html) from source code if you want a more in-depth API references.**
|
|
||||||
|
|
||||||
Below is a brief overview.
|
|
||||||
|
|
||||||
### CLI Instance
|
|
||||||
|
|
||||||
CLI instance is created by invoking the `cac` function:
|
|
||||||
|
|
||||||
```js
|
|
||||||
const cac = require('cac')
|
|
||||||
const cli = cac()
|
|
||||||
```
|
|
||||||
|
|
||||||
#### cac(name?)
|
|
||||||
|
|
||||||
Create a CLI instance, optionally specify the program name which will be used to display in help and version message. When not set we use the basename of `argv[1]`.
|
|
||||||
|
|
||||||
#### cli.command(name, description, config?)
|
|
||||||
|
|
||||||
- Type: `(name: string, description: string) => Command`
|
|
||||||
|
|
||||||
Create a command instance.
|
|
||||||
|
|
||||||
The option also accepts a third argument `config` for additional command config:
|
|
||||||
|
|
||||||
- `config.allowUnknownOptions`: `boolean` Allow unknown options in this command.
|
|
||||||
- `config.ignoreOptionDefaultValue`: `boolean` Don't use the options's default value in parsed options, only display them in help message.
|
|
||||||
|
|
||||||
#### cli.option(name, description, config?)
|
|
||||||
|
|
||||||
- Type: `(name: string, description: string, config?: OptionConfig) => CLI`
|
|
||||||
|
|
||||||
Add a global option.
|
|
||||||
|
|
||||||
The option also accepts a third argument `config` for additional option config:
|
|
||||||
|
|
||||||
- `config.default`: Default value for the option.
|
|
||||||
- `config.type`: `any[]` When set to `[]`, the option value returns an array type. You can also use a conversion function such as `[String]`, which will invoke the option value with `String`.
|
|
||||||
|
|
||||||
#### cli.parse(argv?)
|
|
||||||
|
|
||||||
- Type: `(argv = process.argv) => ParsedArgv`
|
|
||||||
|
|
||||||
```ts
|
|
||||||
interface ParsedArgv {
|
|
||||||
args: string[]
|
|
||||||
options: {
|
|
||||||
[k: string]: any
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
When this method is called, `cli.rawArgs` `cli.args` `cli.options` `cli.matchedCommand` will also be available.
|
|
||||||
|
|
||||||
#### cli.version(version, customFlags?)
|
|
||||||
|
|
||||||
- Type: `(version: string, customFlags = '-v, --version') => CLI`
|
|
||||||
|
|
||||||
Output version number when `-v, --version` flag appears.
|
|
||||||
|
|
||||||
#### cli.help(callback?)
|
|
||||||
|
|
||||||
- Type: `(callback?: HelpCallback) => CLI`
|
|
||||||
|
|
||||||
Output help message when `-h, --help` flag appears.
|
|
||||||
|
|
||||||
Optional `callback` allows post-processing of help text before it is displayed:
|
|
||||||
|
|
||||||
```ts
|
|
||||||
type HelpCallback = (sections: HelpSection[]) => void
|
|
||||||
|
|
||||||
interface HelpSection {
|
|
||||||
title?: string
|
|
||||||
body: string
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
#### cli.outputHelp()
|
|
||||||
|
|
||||||
- Type: `() => CLI`
|
|
||||||
|
|
||||||
Output help message.
|
|
||||||
|
|
||||||
#### cli.usage(text)
|
|
||||||
|
|
||||||
- Type: `(text: string) => CLI`
|
|
||||||
|
|
||||||
Add a global usage text. This is not used by sub-commands.
|
|
||||||
|
|
||||||
### Command Instance
|
|
||||||
|
|
||||||
Command instance is created by invoking the `cli.command` method:
|
|
||||||
|
|
||||||
```js
|
|
||||||
const command = cli.command('build [...files]', 'Build given files')
|
|
||||||
```
|
|
||||||
|
|
||||||
#### command.option()
|
|
||||||
|
|
||||||
Basically the same as `cli.option` but this adds the option to specific command.
|
|
||||||
|
|
||||||
#### command.action(callback)
|
|
||||||
|
|
||||||
- Type: `(callback: ActionCallback) => Command`
|
|
||||||
|
|
||||||
Use a callback function as the command action when the command matches user inputs.
|
|
||||||
|
|
||||||
```ts
|
|
||||||
type ActionCallback = (
|
|
||||||
// Parsed CLI args
|
|
||||||
// The last arg will be an array if it's a variadic argument
|
|
||||||
...args: string | string[] | number | number[]
|
|
||||||
// Parsed CLI options
|
|
||||||
options: Options
|
|
||||||
) => any
|
|
||||||
|
|
||||||
interface Options {
|
|
||||||
[k: string]: any
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
#### command.alias(name)
|
|
||||||
|
|
||||||
- Type: `(name: string) => Command`
|
|
||||||
|
|
||||||
Add an alias name to this command, the `name` here can't contain brackets.
|
|
||||||
|
|
||||||
#### command.allowUnknownOptions()
|
|
||||||
|
|
||||||
- Type: `() => Command`
|
|
||||||
|
|
||||||
Allow unknown options in this command, by default CAC will log an error when unknown options are used.
|
|
||||||
|
|
||||||
#### command.example(example)
|
|
||||||
|
|
||||||
- Type: `(example: CommandExample) => Command`
|
|
||||||
|
|
||||||
Add an example which will be displayed at the end of help message.
|
|
||||||
|
|
||||||
```ts
|
|
||||||
type CommandExample = ((name: string) => string) | string
|
|
||||||
```
|
|
||||||
|
|
||||||
#### command.usage(text)
|
|
||||||
|
|
||||||
- Type: `(text: string) => Command`
|
|
||||||
|
|
||||||
Add a usage text for this command.
|
|
||||||
|
|
||||||
### Events
|
|
||||||
|
|
||||||
Listen to commands:
|
|
||||||
|
|
||||||
```js
|
|
||||||
// Listen to the `foo` command
|
|
||||||
cli.on('command:foo', () => {
|
|
||||||
// Do something
|
|
||||||
})
|
|
||||||
|
|
||||||
// Listen to the default command
|
|
||||||
cli.on('command:!', () => {
|
|
||||||
// Do something
|
|
||||||
})
|
|
||||||
|
|
||||||
// Listen to unknown commands
|
|
||||||
cli.on('command:*', () => {
|
|
||||||
console.error('Invalid command: %s', cli.args.join(' '))
|
|
||||||
process.exit(1)
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
## FAQ
|
|
||||||
|
|
||||||
### How is the name written and pronounced?
|
|
||||||
|
|
||||||
CAC, or cac, pronounced `C-A-C`.
|
|
||||||
|
|
||||||
This project is dedicated to our lovely C.C. sama. Maybe CAC stands for C&C as well :P
|
|
||||||
|
|
||||||
<img src="http://i.giphy.com/v3FeH4swox9mg.gif" width="400"/>
|
|
||||||
|
|
||||||
### Why not use Commander.js?
|
|
||||||
|
|
||||||
CAC is very similar to Commander.js, while the latter does not support dot nested options, i.e. something like `--env.API_SECRET foo`. Besides, you can't use unknown options in Commander.js either.
|
|
||||||
|
|
||||||
_And maybe more..._
|
|
||||||
|
|
||||||
Basically I made CAC to fulfill my own needs for building CLI apps like [Poi](https://poi.js.org), [SAO](https://sao.vercel.app) and all my CLI apps. It's small, simple but powerful :P
|
|
||||||
|
|
||||||
## Project Stats
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
1. Fork it!
|
|
||||||
2. Create your feature branch: `git checkout -b my-new-feature`
|
|
||||||
3. Commit your changes: `git commit -am 'Add some feature'`
|
|
||||||
4. Push to the branch: `git push origin my-new-feature`
|
|
||||||
5. Submit a pull request :D
|
|
||||||
|
|
||||||
## Author
|
|
||||||
|
|
||||||
**CAC** © [EGOIST](https://github.com/egoist), Released under the [MIT](./LICENSE) License.<br>
|
|
||||||
Authored and maintained by egoist with help from contributors ([list](https://github.com/cacjs/cac/contributors)).
|
|
||||||
|
|
||||||
> [Website](https://egoist.sh) · GitHub [@egoist](https://github.com/egoist) · Twitter [@\_egoistlily](https://twitter.com/_egoistlily)
|
|
||||||
331
pkg/miniapp/frontend/node_modules/cac/deno/CAC.ts
generated
vendored
331
pkg/miniapp/frontend/node_modules/cac/deno/CAC.ts
generated
vendored
|
|
@ -1,331 +0,0 @@
|
||||||
import { EventEmitter } from "https://deno.land/std@0.114.0/node/events.ts";
|
|
||||||
import mri from "https://cdn.skypack.dev/mri";
|
|
||||||
import Command, { GlobalCommand, CommandConfig, HelpCallback, CommandExample } from "./Command.ts";
|
|
||||||
import { OptionConfig } from "./Option.ts";
|
|
||||||
import { getMriOptions, setDotProp, setByType, getFileName, camelcaseOptionName } from "./utils.ts";
|
|
||||||
import { processArgs } from "./deno.ts";
|
|
||||||
interface ParsedArgv {
|
|
||||||
args: ReadonlyArray<string>;
|
|
||||||
options: {
|
|
||||||
[k: string]: any;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
class CAC extends EventEmitter {
|
|
||||||
/** The program name to display in help and version message */
|
|
||||||
name: string;
|
|
||||||
commands: Command[];
|
|
||||||
globalCommand: GlobalCommand;
|
|
||||||
matchedCommand?: Command;
|
|
||||||
matchedCommandName?: string;
|
|
||||||
/**
|
|
||||||
* Raw CLI arguments
|
|
||||||
*/
|
|
||||||
|
|
||||||
rawArgs: string[];
|
|
||||||
/**
|
|
||||||
* Parsed CLI arguments
|
|
||||||
*/
|
|
||||||
|
|
||||||
args: ParsedArgv['args'];
|
|
||||||
/**
|
|
||||||
* Parsed CLI options, camelCased
|
|
||||||
*/
|
|
||||||
|
|
||||||
options: ParsedArgv['options'];
|
|
||||||
showHelpOnExit?: boolean;
|
|
||||||
showVersionOnExit?: boolean;
|
|
||||||
/**
|
|
||||||
* @param name The program name to display in help and version message
|
|
||||||
*/
|
|
||||||
|
|
||||||
constructor(name = '') {
|
|
||||||
super();
|
|
||||||
this.name = name;
|
|
||||||
this.commands = [];
|
|
||||||
this.rawArgs = [];
|
|
||||||
this.args = [];
|
|
||||||
this.options = {};
|
|
||||||
this.globalCommand = new GlobalCommand(this);
|
|
||||||
this.globalCommand.usage('<command> [options]');
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Add a global usage text.
|
|
||||||
*
|
|
||||||
* This is not used by sub-commands.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
usage(text: string) {
|
|
||||||
this.globalCommand.usage(text);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Add a sub-command
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
command(rawName: string, description?: string, config?: CommandConfig) {
|
|
||||||
const command = new Command(rawName, description || '', config, this);
|
|
||||||
command.globalCommand = this.globalCommand;
|
|
||||||
this.commands.push(command);
|
|
||||||
return command;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Add a global CLI option.
|
|
||||||
*
|
|
||||||
* Which is also applied to sub-commands.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
option(rawName: string, description: string, config?: OptionConfig) {
|
|
||||||
this.globalCommand.option(rawName, description, config);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Show help message when `-h, --help` flags appear.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
help(callback?: HelpCallback) {
|
|
||||||
this.globalCommand.option('-h, --help', 'Display this message');
|
|
||||||
this.globalCommand.helpCallback = callback;
|
|
||||||
this.showHelpOnExit = true;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Show version number when `-v, --version` flags appear.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
version(version: string, customFlags = '-v, --version') {
|
|
||||||
this.globalCommand.version(version, customFlags);
|
|
||||||
this.showVersionOnExit = true;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Add a global example.
|
|
||||||
*
|
|
||||||
* This example added here will not be used by sub-commands.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
example(example: CommandExample) {
|
|
||||||
this.globalCommand.example(example);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Output the corresponding help message
|
|
||||||
* When a sub-command is matched, output the help message for the command
|
|
||||||
* Otherwise output the global one.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
outputHelp() {
|
|
||||||
if (this.matchedCommand) {
|
|
||||||
this.matchedCommand.outputHelp();
|
|
||||||
} else {
|
|
||||||
this.globalCommand.outputHelp();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Output the version number.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
outputVersion() {
|
|
||||||
this.globalCommand.outputVersion();
|
|
||||||
}
|
|
||||||
|
|
||||||
private setParsedInfo({
|
|
||||||
args,
|
|
||||||
options
|
|
||||||
}: ParsedArgv, matchedCommand?: Command, matchedCommandName?: string) {
|
|
||||||
this.args = args;
|
|
||||||
this.options = options;
|
|
||||||
|
|
||||||
if (matchedCommand) {
|
|
||||||
this.matchedCommand = matchedCommand;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (matchedCommandName) {
|
|
||||||
this.matchedCommandName = matchedCommandName;
|
|
||||||
}
|
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsetMatchedCommand() {
|
|
||||||
this.matchedCommand = undefined;
|
|
||||||
this.matchedCommandName = undefined;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Parse argv
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
parse(argv = processArgs, {
|
|
||||||
/** Whether to run the action for matched command */
|
|
||||||
run = true
|
|
||||||
} = {}): ParsedArgv {
|
|
||||||
this.rawArgs = argv;
|
|
||||||
|
|
||||||
if (!this.name) {
|
|
||||||
this.name = argv[1] ? getFileName(argv[1]) : 'cli';
|
|
||||||
}
|
|
||||||
|
|
||||||
let shouldParse = true; // Search sub-commands
|
|
||||||
|
|
||||||
for (const command of this.commands) {
|
|
||||||
const parsed = this.mri(argv.slice(2), command);
|
|
||||||
const commandName = parsed.args[0];
|
|
||||||
|
|
||||||
if (command.isMatched(commandName)) {
|
|
||||||
shouldParse = false;
|
|
||||||
const parsedInfo = { ...parsed,
|
|
||||||
args: parsed.args.slice(1)
|
|
||||||
};
|
|
||||||
this.setParsedInfo(parsedInfo, command, commandName);
|
|
||||||
this.emit(`command:${commandName}`, command);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (shouldParse) {
|
|
||||||
// Search the default command
|
|
||||||
for (const command of this.commands) {
|
|
||||||
if (command.name === '') {
|
|
||||||
shouldParse = false;
|
|
||||||
const parsed = this.mri(argv.slice(2), command);
|
|
||||||
this.setParsedInfo(parsed, command);
|
|
||||||
this.emit(`command:!`, command);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (shouldParse) {
|
|
||||||
const parsed = this.mri(argv.slice(2));
|
|
||||||
this.setParsedInfo(parsed);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.options.help && this.showHelpOnExit) {
|
|
||||||
this.outputHelp();
|
|
||||||
run = false;
|
|
||||||
this.unsetMatchedCommand();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.options.version && this.showVersionOnExit && this.matchedCommandName == null) {
|
|
||||||
this.outputVersion();
|
|
||||||
run = false;
|
|
||||||
this.unsetMatchedCommand();
|
|
||||||
}
|
|
||||||
|
|
||||||
const parsedArgv = {
|
|
||||||
args: this.args,
|
|
||||||
options: this.options
|
|
||||||
};
|
|
||||||
|
|
||||||
if (run) {
|
|
||||||
this.runMatchedCommand();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this.matchedCommand && this.args[0]) {
|
|
||||||
this.emit('command:*');
|
|
||||||
}
|
|
||||||
|
|
||||||
return parsedArgv;
|
|
||||||
}
|
|
||||||
|
|
||||||
private mri(argv: string[],
|
|
||||||
/** Matched command */
|
|
||||||
command?: Command): ParsedArgv {
|
|
||||||
// All added options
|
|
||||||
const cliOptions = [...this.globalCommand.options, ...(command ? command.options : [])];
|
|
||||||
const mriOptions = getMriOptions(cliOptions); // Extract everything after `--` since mri doesn't support it
|
|
||||||
|
|
||||||
let argsAfterDoubleDashes: string[] = [];
|
|
||||||
const doubleDashesIndex = argv.indexOf('--');
|
|
||||||
|
|
||||||
if (doubleDashesIndex > -1) {
|
|
||||||
argsAfterDoubleDashes = argv.slice(doubleDashesIndex + 1);
|
|
||||||
argv = argv.slice(0, doubleDashesIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
let parsed = mri(argv, mriOptions);
|
|
||||||
parsed = Object.keys(parsed).reduce((res, name) => {
|
|
||||||
return { ...res,
|
|
||||||
[camelcaseOptionName(name)]: parsed[name]
|
|
||||||
};
|
|
||||||
}, {
|
|
||||||
_: []
|
|
||||||
});
|
|
||||||
const args = parsed._;
|
|
||||||
const options: {
|
|
||||||
[k: string]: any;
|
|
||||||
} = {
|
|
||||||
'--': argsAfterDoubleDashes
|
|
||||||
}; // Set option default value
|
|
||||||
|
|
||||||
const ignoreDefault = command && command.config.ignoreOptionDefaultValue ? command.config.ignoreOptionDefaultValue : this.globalCommand.config.ignoreOptionDefaultValue;
|
|
||||||
let transforms = Object.create(null);
|
|
||||||
|
|
||||||
for (const cliOption of cliOptions) {
|
|
||||||
if (!ignoreDefault && cliOption.config.default !== undefined) {
|
|
||||||
for (const name of cliOption.names) {
|
|
||||||
options[name] = cliOption.config.default;
|
|
||||||
}
|
|
||||||
} // If options type is defined
|
|
||||||
|
|
||||||
|
|
||||||
if (Array.isArray(cliOption.config.type)) {
|
|
||||||
if (transforms[cliOption.name] === undefined) {
|
|
||||||
transforms[cliOption.name] = Object.create(null);
|
|
||||||
transforms[cliOption.name]['shouldTransform'] = true;
|
|
||||||
transforms[cliOption.name]['transformFunction'] = cliOption.config.type[0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} // Set option values (support dot-nested property name)
|
|
||||||
|
|
||||||
|
|
||||||
for (const key of Object.keys(parsed)) {
|
|
||||||
if (key !== '_') {
|
|
||||||
const keys = key.split('.');
|
|
||||||
setDotProp(options, keys, parsed[key]);
|
|
||||||
setByType(options, transforms);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
args,
|
|
||||||
options
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
runMatchedCommand() {
|
|
||||||
const {
|
|
||||||
args,
|
|
||||||
options,
|
|
||||||
matchedCommand: command
|
|
||||||
} = this;
|
|
||||||
if (!command || !command.commandAction) return;
|
|
||||||
command.checkUnknownOptions();
|
|
||||||
command.checkOptionValue();
|
|
||||||
command.checkRequiredArgs();
|
|
||||||
const actionArgs: any[] = [];
|
|
||||||
command.args.forEach((arg, index) => {
|
|
||||||
if (arg.variadic) {
|
|
||||||
actionArgs.push(args.slice(index));
|
|
||||||
} else {
|
|
||||||
actionArgs.push(args[index]);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
actionArgs.push(options);
|
|
||||||
return command.commandAction.apply(this, actionArgs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
export default CAC;
|
|
||||||
269
pkg/miniapp/frontend/node_modules/cac/deno/Command.ts
generated
vendored
269
pkg/miniapp/frontend/node_modules/cac/deno/Command.ts
generated
vendored
|
|
@ -1,269 +0,0 @@
|
||||||
import CAC from "./CAC.ts";
|
|
||||||
import Option, { OptionConfig } from "./Option.ts";
|
|
||||||
import { removeBrackets, findAllBrackets, findLongest, padRight, CACError } from "./utils.ts";
|
|
||||||
import { platformInfo } from "./deno.ts";
|
|
||||||
interface CommandArg {
|
|
||||||
required: boolean;
|
|
||||||
value: string;
|
|
||||||
variadic: boolean;
|
|
||||||
}
|
|
||||||
interface HelpSection {
|
|
||||||
title?: string;
|
|
||||||
body: string;
|
|
||||||
}
|
|
||||||
interface CommandConfig {
|
|
||||||
allowUnknownOptions?: boolean;
|
|
||||||
ignoreOptionDefaultValue?: boolean;
|
|
||||||
}
|
|
||||||
type HelpCallback = (sections: HelpSection[]) => void | HelpSection[];
|
|
||||||
type CommandExample = ((bin: string) => string) | string;
|
|
||||||
|
|
||||||
class Command {
|
|
||||||
options: Option[];
|
|
||||||
aliasNames: string[];
|
|
||||||
/* Parsed command name */
|
|
||||||
|
|
||||||
name: string;
|
|
||||||
args: CommandArg[];
|
|
||||||
commandAction?: (...args: any[]) => any;
|
|
||||||
usageText?: string;
|
|
||||||
versionNumber?: string;
|
|
||||||
examples: CommandExample[];
|
|
||||||
helpCallback?: HelpCallback;
|
|
||||||
globalCommand?: GlobalCommand;
|
|
||||||
|
|
||||||
constructor(public rawName: string, public description: string, public config: CommandConfig = {}, public cli: CAC) {
|
|
||||||
this.options = [];
|
|
||||||
this.aliasNames = [];
|
|
||||||
this.name = removeBrackets(rawName);
|
|
||||||
this.args = findAllBrackets(rawName);
|
|
||||||
this.examples = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
usage(text: string) {
|
|
||||||
this.usageText = text;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
allowUnknownOptions() {
|
|
||||||
this.config.allowUnknownOptions = true;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
ignoreOptionDefaultValue() {
|
|
||||||
this.config.ignoreOptionDefaultValue = true;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
version(version: string, customFlags = '-v, --version') {
|
|
||||||
this.versionNumber = version;
|
|
||||||
this.option(customFlags, 'Display version number');
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
example(example: CommandExample) {
|
|
||||||
this.examples.push(example);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Add a option for this command
|
|
||||||
* @param rawName Raw option name(s)
|
|
||||||
* @param description Option description
|
|
||||||
* @param config Option config
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
option(rawName: string, description: string, config?: OptionConfig) {
|
|
||||||
const option = new Option(rawName, description, config);
|
|
||||||
this.options.push(option);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
alias(name: string) {
|
|
||||||
this.aliasNames.push(name);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
action(callback: (...args: any[]) => any) {
|
|
||||||
this.commandAction = callback;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Check if a command name is matched by this command
|
|
||||||
* @param name Command name
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
isMatched(name: string) {
|
|
||||||
return this.name === name || this.aliasNames.includes(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
get isDefaultCommand() {
|
|
||||||
return this.name === '' || this.aliasNames.includes('!');
|
|
||||||
}
|
|
||||||
|
|
||||||
get isGlobalCommand(): boolean {
|
|
||||||
return this instanceof GlobalCommand;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Check if an option is registered in this command
|
|
||||||
* @param name Option name
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
hasOption(name: string) {
|
|
||||||
name = name.split('.')[0];
|
|
||||||
return this.options.find(option => {
|
|
||||||
return option.names.includes(name);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
outputHelp() {
|
|
||||||
const {
|
|
||||||
name,
|
|
||||||
commands
|
|
||||||
} = this.cli;
|
|
||||||
const {
|
|
||||||
versionNumber,
|
|
||||||
options: globalOptions,
|
|
||||||
helpCallback
|
|
||||||
} = this.cli.globalCommand;
|
|
||||||
let sections: HelpSection[] = [{
|
|
||||||
body: `${name}${versionNumber ? `/${versionNumber}` : ''}`
|
|
||||||
}];
|
|
||||||
sections.push({
|
|
||||||
title: 'Usage',
|
|
||||||
body: ` $ ${name} ${this.usageText || this.rawName}`
|
|
||||||
});
|
|
||||||
const showCommands = (this.isGlobalCommand || this.isDefaultCommand) && commands.length > 0;
|
|
||||||
|
|
||||||
if (showCommands) {
|
|
||||||
const longestCommandName = findLongest(commands.map(command => command.rawName));
|
|
||||||
sections.push({
|
|
||||||
title: 'Commands',
|
|
||||||
body: commands.map(command => {
|
|
||||||
return ` ${padRight(command.rawName, longestCommandName.length)} ${command.description}`;
|
|
||||||
}).join('\n')
|
|
||||||
});
|
|
||||||
sections.push({
|
|
||||||
title: `For more info, run any command with the \`--help\` flag`,
|
|
||||||
body: commands.map(command => ` $ ${name}${command.name === '' ? '' : ` ${command.name}`} --help`).join('\n')
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
let options = this.isGlobalCommand ? globalOptions : [...this.options, ...(globalOptions || [])];
|
|
||||||
|
|
||||||
if (!this.isGlobalCommand && !this.isDefaultCommand) {
|
|
||||||
options = options.filter(option => option.name !== 'version');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (options.length > 0) {
|
|
||||||
const longestOptionName = findLongest(options.map(option => option.rawName));
|
|
||||||
sections.push({
|
|
||||||
title: 'Options',
|
|
||||||
body: options.map(option => {
|
|
||||||
return ` ${padRight(option.rawName, longestOptionName.length)} ${option.description} ${option.config.default === undefined ? '' : `(default: ${option.config.default})`}`;
|
|
||||||
}).join('\n')
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.examples.length > 0) {
|
|
||||||
sections.push({
|
|
||||||
title: 'Examples',
|
|
||||||
body: this.examples.map(example => {
|
|
||||||
if (typeof example === 'function') {
|
|
||||||
return example(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
return example;
|
|
||||||
}).join('\n')
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (helpCallback) {
|
|
||||||
sections = helpCallback(sections) || sections;
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(sections.map(section => {
|
|
||||||
return section.title ? `${section.title}:\n${section.body}` : section.body;
|
|
||||||
}).join('\n\n'));
|
|
||||||
}
|
|
||||||
|
|
||||||
outputVersion() {
|
|
||||||
const {
|
|
||||||
name
|
|
||||||
} = this.cli;
|
|
||||||
const {
|
|
||||||
versionNumber
|
|
||||||
} = this.cli.globalCommand;
|
|
||||||
|
|
||||||
if (versionNumber) {
|
|
||||||
console.log(`${name}/${versionNumber} ${platformInfo}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
checkRequiredArgs() {
|
|
||||||
const minimalArgsCount = this.args.filter(arg => arg.required).length;
|
|
||||||
|
|
||||||
if (this.cli.args.length < minimalArgsCount) {
|
|
||||||
throw new CACError(`missing required args for command \`${this.rawName}\``);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Check if the parsed options contain any unknown options
|
|
||||||
*
|
|
||||||
* Exit and output error when true
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
checkUnknownOptions() {
|
|
||||||
const {
|
|
||||||
options,
|
|
||||||
globalCommand
|
|
||||||
} = this.cli;
|
|
||||||
|
|
||||||
if (!this.config.allowUnknownOptions) {
|
|
||||||
for (const name of Object.keys(options)) {
|
|
||||||
if (name !== '--' && !this.hasOption(name) && !globalCommand.hasOption(name)) {
|
|
||||||
throw new CACError(`Unknown option \`${name.length > 1 ? `--${name}` : `-${name}`}\``);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Check if the required string-type options exist
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
checkOptionValue() {
|
|
||||||
const {
|
|
||||||
options: parsedOptions,
|
|
||||||
globalCommand
|
|
||||||
} = this.cli;
|
|
||||||
const options = [...globalCommand.options, ...this.options];
|
|
||||||
|
|
||||||
for (const option of options) {
|
|
||||||
const value = parsedOptions[option.name.split('.')[0]]; // Check required option value
|
|
||||||
|
|
||||||
if (option.required) {
|
|
||||||
const hasNegated = options.some(o => o.negated && o.names.includes(option.name));
|
|
||||||
|
|
||||||
if (value === true || value === false && !hasNegated) {
|
|
||||||
throw new CACError(`option \`${option.rawName}\` value is missing`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
class GlobalCommand extends Command {
|
|
||||||
constructor(cli: CAC) {
|
|
||||||
super('@@global@@', '', {}, cli);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
export type { HelpCallback, CommandExample, CommandConfig };
|
|
||||||
export { GlobalCommand };
|
|
||||||
export default Command;
|
|
||||||
52
pkg/miniapp/frontend/node_modules/cac/deno/Option.ts
generated
vendored
52
pkg/miniapp/frontend/node_modules/cac/deno/Option.ts
generated
vendored
|
|
@ -1,52 +0,0 @@
|
||||||
import { removeBrackets, camelcaseOptionName } from "./utils.ts";
|
|
||||||
interface OptionConfig {
|
|
||||||
default?: any;
|
|
||||||
type?: any[];
|
|
||||||
}
|
|
||||||
export default class Option {
|
|
||||||
/** Option name */
|
|
||||||
name: string;
|
|
||||||
/** Option name and aliases */
|
|
||||||
|
|
||||||
names: string[];
|
|
||||||
isBoolean?: boolean; // `required` will be a boolean for options with brackets
|
|
||||||
|
|
||||||
required?: boolean;
|
|
||||||
config: OptionConfig;
|
|
||||||
negated: boolean;
|
|
||||||
|
|
||||||
constructor(public rawName: string, public description: string, config?: OptionConfig) {
|
|
||||||
this.config = Object.assign({}, config); // You may use cli.option('--env.* [value]', 'desc') to denote a dot-nested option
|
|
||||||
|
|
||||||
rawName = rawName.replace(/\.\*/g, '');
|
|
||||||
this.negated = false;
|
|
||||||
this.names = removeBrackets(rawName).split(',').map((v: string) => {
|
|
||||||
let name = v.trim().replace(/^-{1,2}/, '');
|
|
||||||
|
|
||||||
if (name.startsWith('no-')) {
|
|
||||||
this.negated = true;
|
|
||||||
name = name.replace(/^no-/, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
return camelcaseOptionName(name);
|
|
||||||
}).sort((a, b) => a.length > b.length ? 1 : -1); // Sort names
|
|
||||||
// Use the longest name (last one) as actual option name
|
|
||||||
|
|
||||||
this.name = this.names[this.names.length - 1];
|
|
||||||
|
|
||||||
if (this.negated && this.config.default == null) {
|
|
||||||
this.config.default = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rawName.includes('<')) {
|
|
||||||
this.required = true;
|
|
||||||
} else if (rawName.includes('[')) {
|
|
||||||
this.required = false;
|
|
||||||
} else {
|
|
||||||
// No arg needed, it's boolean flag
|
|
||||||
this.isBoolean = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
export type { OptionConfig };
|
|
||||||
4
pkg/miniapp/frontend/node_modules/cac/deno/deno.ts
generated
vendored
4
pkg/miniapp/frontend/node_modules/cac/deno/deno.ts
generated
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
// Ignore the TypeScript errors
|
|
||||||
// Since this file will only be used in Deno runtime
|
|
||||||
export const processArgs = ['deno', 'cli'].concat(Deno.args);
|
|
||||||
export const platformInfo = `${Deno.build.os}-${Deno.build.arch} deno-${Deno.version.deno}`;
|
|
||||||
10
pkg/miniapp/frontend/node_modules/cac/deno/index.ts
generated
vendored
10
pkg/miniapp/frontend/node_modules/cac/deno/index.ts
generated
vendored
|
|
@ -1,10 +0,0 @@
|
||||||
import CAC from "./CAC.ts";
|
|
||||||
import Command from "./Command.ts";
|
|
||||||
/**
|
|
||||||
* @param name The program name to display in help and version message
|
|
||||||
*/
|
|
||||||
|
|
||||||
const cac = (name = '') => new CAC(name);
|
|
||||||
|
|
||||||
export default cac;
|
|
||||||
export { cac, CAC, Command };
|
|
||||||
145
pkg/miniapp/frontend/node_modules/cac/deno/utils.ts
generated
vendored
145
pkg/miniapp/frontend/node_modules/cac/deno/utils.ts
generated
vendored
|
|
@ -1,145 +0,0 @@
|
||||||
import Option from "./Option.ts";
|
|
||||||
export const removeBrackets = (v: string) => v.replace(/[<[].+/, '').trim();
|
|
||||||
export const findAllBrackets = (v: string) => {
|
|
||||||
const ANGLED_BRACKET_RE_GLOBAL = /<([^>]+)>/g;
|
|
||||||
const SQUARE_BRACKET_RE_GLOBAL = /\[([^\]]+)\]/g;
|
|
||||||
const res = [];
|
|
||||||
|
|
||||||
const parse = (match: string[]) => {
|
|
||||||
let variadic = false;
|
|
||||||
let value = match[1];
|
|
||||||
|
|
||||||
if (value.startsWith('...')) {
|
|
||||||
value = value.slice(3);
|
|
||||||
variadic = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
required: match[0].startsWith('<'),
|
|
||||||
value,
|
|
||||||
variadic
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
let angledMatch;
|
|
||||||
|
|
||||||
while (angledMatch = ANGLED_BRACKET_RE_GLOBAL.exec(v)) {
|
|
||||||
res.push(parse(angledMatch));
|
|
||||||
}
|
|
||||||
|
|
||||||
let squareMatch;
|
|
||||||
|
|
||||||
while (squareMatch = SQUARE_BRACKET_RE_GLOBAL.exec(v)) {
|
|
||||||
res.push(parse(squareMatch));
|
|
||||||
}
|
|
||||||
|
|
||||||
return res;
|
|
||||||
};
|
|
||||||
interface MriOptions {
|
|
||||||
alias: {
|
|
||||||
[k: string]: string[];
|
|
||||||
};
|
|
||||||
boolean: string[];
|
|
||||||
}
|
|
||||||
export const getMriOptions = (options: Option[]) => {
|
|
||||||
const result: MriOptions = {
|
|
||||||
alias: {},
|
|
||||||
boolean: []
|
|
||||||
};
|
|
||||||
|
|
||||||
for (const [index, option] of options.entries()) {
|
|
||||||
// We do not set default values in mri options
|
|
||||||
// Since its type (typeof) will be used to cast parsed arguments.
|
|
||||||
// Which mean `--foo foo` will be parsed as `{foo: true}` if we have `{default:{foo: true}}`
|
|
||||||
// Set alias
|
|
||||||
if (option.names.length > 1) {
|
|
||||||
result.alias[option.names[0]] = option.names.slice(1);
|
|
||||||
} // Set boolean
|
|
||||||
|
|
||||||
|
|
||||||
if (option.isBoolean) {
|
|
||||||
if (option.negated) {
|
|
||||||
// For negated option
|
|
||||||
// We only set it to `boolean` type when there's no string-type option with the same name
|
|
||||||
const hasStringTypeOption = options.some((o, i) => {
|
|
||||||
return i !== index && o.names.some(name => option.names.includes(name)) && typeof o.required === 'boolean';
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!hasStringTypeOption) {
|
|
||||||
result.boolean.push(option.names[0]);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
result.boolean.push(option.names[0]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
export const findLongest = (arr: string[]) => {
|
|
||||||
return arr.sort((a, b) => {
|
|
||||||
return a.length > b.length ? -1 : 1;
|
|
||||||
})[0];
|
|
||||||
};
|
|
||||||
export const padRight = (str: string, length: number) => {
|
|
||||||
return str.length >= length ? str : `${str}${' '.repeat(length - str.length)}`;
|
|
||||||
};
|
|
||||||
export const camelcase = (input: string) => {
|
|
||||||
return input.replace(/([a-z])-([a-z])/g, (_, p1, p2) => {
|
|
||||||
return p1 + p2.toUpperCase();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
export const setDotProp = (obj: {
|
|
||||||
[k: string]: any;
|
|
||||||
}, keys: string[], val: any) => {
|
|
||||||
let i = 0;
|
|
||||||
let length = keys.length;
|
|
||||||
let t = obj;
|
|
||||||
let x;
|
|
||||||
|
|
||||||
for (; i < length; ++i) {
|
|
||||||
x = t[keys[i]];
|
|
||||||
t = t[keys[i]] = i === length - 1 ? val : x != null ? x : !!~keys[i + 1].indexOf('.') || !(+keys[i + 1] > -1) ? {} : [];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
export const setByType = (obj: {
|
|
||||||
[k: string]: any;
|
|
||||||
}, transforms: {
|
|
||||||
[k: string]: any;
|
|
||||||
}) => {
|
|
||||||
for (const key of Object.keys(transforms)) {
|
|
||||||
const transform = transforms[key];
|
|
||||||
|
|
||||||
if (transform.shouldTransform) {
|
|
||||||
obj[key] = Array.prototype.concat.call([], obj[key]);
|
|
||||||
|
|
||||||
if (typeof transform.transformFunction === 'function') {
|
|
||||||
obj[key] = obj[key].map(transform.transformFunction);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
export const getFileName = (input: string) => {
|
|
||||||
const m = /([^\\\/]+)$/.exec(input);
|
|
||||||
return m ? m[1] : '';
|
|
||||||
};
|
|
||||||
export const camelcaseOptionName = (name: string) => {
|
|
||||||
// Camelcase the option name
|
|
||||||
// Don't camelcase anything after the dot `.`
|
|
||||||
return name.split('.').map((v, i) => {
|
|
||||||
return i === 0 ? camelcase(v) : v;
|
|
||||||
}).join('.');
|
|
||||||
};
|
|
||||||
export class CACError extends Error {
|
|
||||||
constructor(message: string) {
|
|
||||||
super(message);
|
|
||||||
this.name = this.constructor.name;
|
|
||||||
|
|
||||||
if (typeof Error.captureStackTrace === 'function') {
|
|
||||||
Error.captureStackTrace(this, this.constructor);
|
|
||||||
} else {
|
|
||||||
this.stack = new Error(message).stack;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
11
pkg/miniapp/frontend/node_modules/cac/index-compat.js
generated
vendored
11
pkg/miniapp/frontend/node_modules/cac/index-compat.js
generated
vendored
|
|
@ -1,11 +0,0 @@
|
||||||
const { cac, CAC, Command } = require('./dist/index')
|
|
||||||
|
|
||||||
// For backwards compatibility
|
|
||||||
module.exports = cac
|
|
||||||
|
|
||||||
Object.assign(module.exports, {
|
|
||||||
default: cac,
|
|
||||||
cac,
|
|
||||||
CAC,
|
|
||||||
Command,
|
|
||||||
})
|
|
||||||
2
pkg/miniapp/frontend/node_modules/cac/mod.js
generated
vendored
2
pkg/miniapp/frontend/node_modules/cac/mod.js
generated
vendored
|
|
@ -1,2 +0,0 @@
|
||||||
// Deno users should use mod.ts instead
|
|
||||||
export * from './deno/index.ts'
|
|
||||||
2
pkg/miniapp/frontend/node_modules/cac/mod.ts
generated
vendored
2
pkg/miniapp/frontend/node_modules/cac/mod.ts
generated
vendored
|
|
@ -1,2 +0,0 @@
|
||||||
// For Deno
|
|
||||||
export * from './deno/index.ts'
|
|
||||||
104
pkg/miniapp/frontend/node_modules/cac/package.json
generated
vendored
104
pkg/miniapp/frontend/node_modules/cac/package.json
generated
vendored
|
|
@ -1,104 +0,0 @@
|
||||||
{
|
|
||||||
"name": "cac",
|
|
||||||
"version": "6.7.14",
|
|
||||||
"description": "Simple yet powerful framework for building command-line apps.",
|
|
||||||
"repository": {
|
|
||||||
"url": "egoist/cac",
|
|
||||||
"type": "git"
|
|
||||||
},
|
|
||||||
"main": "index-compat.js",
|
|
||||||
"module": "dist/index.mjs",
|
|
||||||
"types": "dist/index.d.ts",
|
|
||||||
"exports": {
|
|
||||||
".": {
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"import": "./dist/index.mjs",
|
|
||||||
"require": "./index-compat.js"
|
|
||||||
},
|
|
||||||
"./package.json": "./package.json",
|
|
||||||
"./*": "./*"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"dist",
|
|
||||||
"!**/__test__/**",
|
|
||||||
"/mod.js",
|
|
||||||
"/mod.ts",
|
|
||||||
"/deno",
|
|
||||||
"/index-compat.js"
|
|
||||||
],
|
|
||||||
"scripts": {
|
|
||||||
"test": "jest",
|
|
||||||
"test:cov": "jest --coverage",
|
|
||||||
"build:deno": "node -r sucrase/register scripts/build-deno.ts",
|
|
||||||
"build:node": "rollup -c",
|
|
||||||
"build": "yarn build:deno && yarn build:node",
|
|
||||||
"toc": "markdown-toc -i README.md",
|
|
||||||
"prepublishOnly": "npm run build && cp mod.js mod.mjs",
|
|
||||||
"docs:api": "typedoc --out api-doc --readme none --exclude \"**/__test__/**\" --theme minimal"
|
|
||||||
},
|
|
||||||
"author": "egoist <0x142857@gmail.com>",
|
|
||||||
"license": "MIT",
|
|
||||||
"devDependencies": {
|
|
||||||
"@babel/core": "^7.12.10",
|
|
||||||
"@babel/plugin-syntax-typescript": "^7.12.1",
|
|
||||||
"@rollup/plugin-commonjs": "^17.0.0",
|
|
||||||
"@rollup/plugin-node-resolve": "^11.0.0",
|
|
||||||
"@types/fs-extra": "^9.0.5",
|
|
||||||
"@types/jest": "^26.0.19",
|
|
||||||
"@types/mri": "^1.1.0",
|
|
||||||
"cz-conventional-changelog": "^2.1.0",
|
|
||||||
"esbuild": "^0.8.21",
|
|
||||||
"eslint-config-rem": "^3.0.0",
|
|
||||||
"execa": "^5.0.0",
|
|
||||||
"fs-extra": "^9.0.1",
|
|
||||||
"globby": "^11.0.1",
|
|
||||||
"husky": "^1.2.0",
|
|
||||||
"jest": "^24.9.0",
|
|
||||||
"lint-staged": "^8.1.0",
|
|
||||||
"markdown-toc": "^1.2.0",
|
|
||||||
"mri": "^1.1.6",
|
|
||||||
"prettier": "^2.2.1",
|
|
||||||
"rollup": "^2.34.2",
|
|
||||||
"rollup-plugin-dts": "^2.0.1",
|
|
||||||
"rollup-plugin-esbuild": "^2.6.1",
|
|
||||||
"semantic-release": "^17.3.0",
|
|
||||||
"sucrase": "^3.16.0",
|
|
||||||
"ts-jest": "^26.4.4",
|
|
||||||
"ts-node": "^9.1.1",
|
|
||||||
"typedoc": "^0.19.2",
|
|
||||||
"typescript": "^4.1.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
},
|
|
||||||
"release": {
|
|
||||||
"branch": "master"
|
|
||||||
},
|
|
||||||
"config": {
|
|
||||||
"commitizen": {
|
|
||||||
"path": "./node_modules/cz-conventional-changelog"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lint-staged": {
|
|
||||||
"linters": {
|
|
||||||
"*.{js,json,ts}": [
|
|
||||||
"prettier --write",
|
|
||||||
"git add"
|
|
||||||
],
|
|
||||||
"*.md": [
|
|
||||||
"markdown-toc -i",
|
|
||||||
"prettier --write",
|
|
||||||
"git add"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ignore": [
|
|
||||||
"dist/**",
|
|
||||||
"mod.js"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"husky": {
|
|
||||||
"hooks": {
|
|
||||||
"pre-commit": "npm t && lint-staged"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
21
pkg/miniapp/frontend/node_modules/chai/LICENSE
generated
vendored
21
pkg/miniapp/frontend/node_modules/chai/LICENSE
generated
vendored
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2017 Chai.js Assertion Library
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
162
pkg/miniapp/frontend/node_modules/chai/README.md
generated
vendored
162
pkg/miniapp/frontend/node_modules/chai/README.md
generated
vendored
|
|
@ -1,162 +0,0 @@
|
||||||
<h1 align=center>
|
|
||||||
<a href="http://chaijs.com" title="Chai Documentation">
|
|
||||||
<img alt="ChaiJS" src="http://chaijs.com/img/chai-logo.png">
|
|
||||||
</a>
|
|
||||||
<br>
|
|
||||||
chai
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<p align=center>
|
|
||||||
Chai is a BDD / TDD assertion library for <a href="http://nodejs.org">node</a> and the browser that can be delightfully paired with any javascript testing framework.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p align=center>
|
|
||||||
<a href="https://www.npmjs.com/package/chai">
|
|
||||||
<img
|
|
||||||
alt="downloads:?"
|
|
||||||
src="https://img.shields.io/npm/dm/chai.svg?style=flat-square"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
<a href="https://www.npmjs.com/package/chai">
|
|
||||||
<img
|
|
||||||
alt="node:?"
|
|
||||||
src="https://img.shields.io/badge/node-%3E=18.0-blue.svg?style=flat-square"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
<br/>
|
|
||||||
<a href="https://chai-slack.herokuapp.com/">
|
|
||||||
<img
|
|
||||||
alt="Join the Slack chat"
|
|
||||||
src="https://img.shields.io/badge/slack-join%20chat-E2206F.svg?style=flat-square"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
<a href="https://gitter.im/chaijs/chai">
|
|
||||||
<img
|
|
||||||
alt="Join the Gitter chat"
|
|
||||||
src="https://img.shields.io/badge/gitter-join%20chat-D0104D.svg?style=flat-square"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
<a href="https://opencollective.com/chaijs">
|
|
||||||
<img
|
|
||||||
alt="OpenCollective Backers"
|
|
||||||
src="https://opencollective.com/chaijs/backers/badge.svg?style=flat-square"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
For more information or to download plugins, view the [documentation](http://chaijs.com).
|
|
||||||
|
|
||||||
## What is Chai?
|
|
||||||
|
|
||||||
Chai is an _assertion library_, similar to Node's built-in `assert`. It makes testing much easier by giving you lots of assertions you can run against your code.
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
### Node.js
|
|
||||||
|
|
||||||
`chai` is available on [npm](http://npmjs.org). To install it, type:
|
|
||||||
|
|
||||||
$ npm install --save-dev chai
|
|
||||||
|
|
||||||
### Browsers
|
|
||||||
|
|
||||||
You can also use it within the browser; install via npm and use the `chai.js` file found within the download. For example:
|
|
||||||
|
|
||||||
```html
|
|
||||||
<script src="./node_modules/chai/chai.js"></script>
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
Import the library in your code, and then pick one of the styles you'd like to use - either `assert`, `expect` or `should`:
|
|
||||||
|
|
||||||
```js
|
|
||||||
import { assert } from 'chai'; // Using Assert style
|
|
||||||
import { expect } from 'chai'; // Using Expect style
|
|
||||||
import { should } from 'chai'; // Using Should style
|
|
||||||
```
|
|
||||||
|
|
||||||
### Register the chai testing style globally
|
|
||||||
|
|
||||||
```js
|
|
||||||
import 'chai/register-assert'; // Using Assert style
|
|
||||||
import 'chai/register-expect'; // Using Expect style
|
|
||||||
import 'chai/register-should'; // Using Should style
|
|
||||||
```
|
|
||||||
|
|
||||||
### Import assertion styles as local variables
|
|
||||||
|
|
||||||
```js
|
|
||||||
import { assert } from 'chai'; // Using Assert style
|
|
||||||
import { expect } from 'chai'; // Using Expect style
|
|
||||||
import { should } from 'chai'; // Using Should style
|
|
||||||
should(); // Modifies `Object.prototype`
|
|
||||||
|
|
||||||
import { expect, use } from 'chai'; // Creates local variables `expect` and `use`; useful for plugin use
|
|
||||||
```
|
|
||||||
|
|
||||||
### Usage with Mocha
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mocha spec.js --require chai/register-assert.js # Using Assert style
|
|
||||||
mocha spec.js --require chai/register-expect.js # Using Expect style
|
|
||||||
mocha spec.js --require chai/register-should.js # Using Should style
|
|
||||||
```
|
|
||||||
|
|
||||||
[Read more about these styles in our docs](http://chaijs.com/guide/styles/).
|
|
||||||
|
|
||||||
## Plugins
|
|
||||||
|
|
||||||
Chai offers a robust Plugin architecture for extending Chai's assertions and interfaces.
|
|
||||||
|
|
||||||
- Need a plugin? View the [official plugin list](http://chaijs.com/plugins).
|
|
||||||
- Want to build a plugin? Read the [plugin api documentation](http://chaijs.com/guide/plugins/).
|
|
||||||
- Have a plugin and want it listed? Simply add the following keywords to your package.json:
|
|
||||||
- `chai-plugin`
|
|
||||||
- `browser` if your plugin works in the browser as well as Node.js
|
|
||||||
- `browser-only` if your plugin does not work with Node.js
|
|
||||||
|
|
||||||
### Related Projects
|
|
||||||
|
|
||||||
- [chaijs / chai-docs](https://github.com/chaijs/chai-docs): The chaijs.com website source code.
|
|
||||||
- [chaijs / assertion-error](https://github.com/chaijs/assertion-error): Custom `Error` constructor thrown upon an assertion failing.
|
|
||||||
- [chaijs / deep-eql](https://github.com/chaijs/deep-eql): Improved deep equality testing for Node.js and the browser.
|
|
||||||
- [chaijs / check-error](https://github.com/chaijs/check-error): Error comparison and information related utility for Node.js and the browser.
|
|
||||||
- [chaijs / loupe](https://github.com/chaijs/loupe): Inspect utility for Node.js and browsers.
|
|
||||||
- [chaijs / pathval](https://github.com/chaijs/pathval): Object value retrieval given a string path.
|
|
||||||
|
|
||||||
### Contributing
|
|
||||||
|
|
||||||
Thank you very much for considering to contribute!
|
|
||||||
|
|
||||||
Please make sure you follow our [Code Of Conduct](https://github.com/chaijs/chai/blob/master/CODE_OF_CONDUCT.md) and we also strongly recommend reading our [Contributing Guide](https://github.com/chaijs/chai/blob/master/CONTRIBUTING.md).
|
|
||||||
|
|
||||||
Here are a few issues other contributors frequently ran into when opening pull requests:
|
|
||||||
|
|
||||||
- Please do not commit changes to the `chai.js` build. We do it once per release.
|
|
||||||
- Before pushing your commits, please make sure you [rebase](https://github.com/chaijs/chai/blob/master/CONTRIBUTING.md#pull-requests) them.
|
|
||||||
|
|
||||||
### Contributors
|
|
||||||
|
|
||||||
Please see the full
|
|
||||||
[Contributors Graph](https://github.com/chaijs/chai/graphs/contributors) for our
|
|
||||||
list of contributors.
|
|
||||||
|
|
||||||
### Core Contributors
|
|
||||||
|
|
||||||
Feel free to reach out to any of the core contributors with your questions or
|
|
||||||
concerns. We will do our best to respond in a timely manner.
|
|
||||||
|
|
||||||
[](https://github.com/keithamus)
|
|
||||||
[](https://github.com/43081j)
|
|
||||||
[](https://github.com/koddsson)
|
|
||||||
|
|
||||||
### Core Contributor Alumni
|
|
||||||
|
|
||||||
This project would not be what it is without the contributions from our prior
|
|
||||||
core contributors, for whom we are forever grateful:
|
|
||||||
|
|
||||||
[](https://github.com/logicalparadox)
|
|
||||||
[](https://github.com/vesln)
|
|
||||||
[](https://github.com/lucasfcosta)
|
|
||||||
[](https://github.com/meeber)
|
|
||||||
1
pkg/miniapp/frontend/node_modules/chai/chai.js
generated
vendored
1
pkg/miniapp/frontend/node_modules/chai/chai.js
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
export * from './index.js';
|
|
||||||
4381
pkg/miniapp/frontend/node_modules/chai/index.js
generated
vendored
4381
pkg/miniapp/frontend/node_modules/chai/index.js
generated
vendored
File diff suppressed because it is too large
Load diff
66
pkg/miniapp/frontend/node_modules/chai/lib/chai.js
generated
vendored
66
pkg/miniapp/frontend/node_modules/chai/lib/chai.js
generated
vendored
|
|
@ -1,66 +0,0 @@
|
||||||
/*!
|
|
||||||
* chai
|
|
||||||
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
||||||
|
|
||||||
import * as util from './chai/utils/index.js';
|
|
||||||
import {AssertionError} from 'assertion-error';
|
|
||||||
import {config} from './chai/config.js';
|
|
||||||
import './chai/core/assertions.js';
|
|
||||||
import {expect} from './chai/interface/expect.js';
|
|
||||||
import {Assertion} from './chai/assertion.js';
|
|
||||||
import * as should from './chai/interface/should.js';
|
|
||||||
import {assert} from './chai/interface/assert.js';
|
|
||||||
|
|
||||||
const used = [];
|
|
||||||
|
|
||||||
// Assertion Error
|
|
||||||
export {AssertionError};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* # .use(function)
|
|
||||||
*
|
|
||||||
* Provides a way to extend the internals of Chai.
|
|
||||||
*
|
|
||||||
* @param {Function} fn
|
|
||||||
* @returns {this} for chaining
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
export function use(fn) {
|
|
||||||
const exports = {
|
|
||||||
use,
|
|
||||||
AssertionError,
|
|
||||||
util,
|
|
||||||
config,
|
|
||||||
expect,
|
|
||||||
assert,
|
|
||||||
Assertion,
|
|
||||||
...should
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!~used.indexOf(fn)) {
|
|
||||||
fn(exports, util);
|
|
||||||
used.push(fn);
|
|
||||||
}
|
|
||||||
|
|
||||||
return exports;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Utility Functions
|
|
||||||
export {util};
|
|
||||||
|
|
||||||
// Configuration
|
|
||||||
export {config};
|
|
||||||
|
|
||||||
// Primary `Assertion` prototype
|
|
||||||
export * from './chai/assertion.js';
|
|
||||||
|
|
||||||
// Expect interface
|
|
||||||
export * from './chai/interface/expect.js';
|
|
||||||
|
|
||||||
// Should interface
|
|
||||||
export * from './chai/interface/should.js';
|
|
||||||
|
|
||||||
// Assert interface
|
|
||||||
export * from './chai/interface/assert.js';
|
|
||||||
204
pkg/miniapp/frontend/node_modules/chai/lib/chai/assertion.js
generated
vendored
204
pkg/miniapp/frontend/node_modules/chai/lib/chai/assertion.js
generated
vendored
|
|
@ -1,204 +0,0 @@
|
||||||
/*!
|
|
||||||
* chai
|
|
||||||
* http://chaijs.com
|
|
||||||
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
||||||
|
|
||||||
import {config} from './config.js';
|
|
||||||
import {AssertionError} from 'assertion-error';
|
|
||||||
import * as util from './utils/index.js';
|
|
||||||
|
|
||||||
export class Assertion {
|
|
||||||
/** @type {{}} */
|
|
||||||
__flags = {};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates object for chaining.
|
|
||||||
* `Assertion` objects contain metadata in the form of flags. Three flags can
|
|
||||||
* be assigned during instantiation by passing arguments to this constructor:
|
|
||||||
*
|
|
||||||
* - `object`: This flag contains the target of the assertion. For example, in
|
|
||||||
* the assertion `expect(numKittens).to.equal(7);`, the `object` flag will
|
|
||||||
* contain `numKittens` so that the `equal` assertion can reference it when
|
|
||||||
* needed.
|
|
||||||
*
|
|
||||||
* - `message`: This flag contains an optional custom error message to be
|
|
||||||
* prepended to the error message that's generated by the assertion when it
|
|
||||||
* fails.
|
|
||||||
*
|
|
||||||
* - `ssfi`: This flag stands for "start stack function indicator". It
|
|
||||||
* contains a function reference that serves as the starting point for
|
|
||||||
* removing frames from the stack trace of the error that's created by the
|
|
||||||
* assertion when it fails. The goal is to provide a cleaner stack trace to
|
|
||||||
* end users by removing Chai's internal functions. Note that it only works
|
|
||||||
* in environments that support `Error.captureStackTrace`, and only when
|
|
||||||
* `Chai.config.includeStack` hasn't been set to `false`.
|
|
||||||
*
|
|
||||||
* - `lockSsfi`: This flag controls whether or not the given `ssfi` flag
|
|
||||||
* should retain its current value, even as assertions are chained off of
|
|
||||||
* this object. This is usually set to `true` when creating a new assertion
|
|
||||||
* from within another assertion. It's also temporarily set to `true` before
|
|
||||||
* an overwritten assertion gets called by the overwriting assertion.
|
|
||||||
*
|
|
||||||
* - `eql`: This flag contains the deepEqual function to be used by the assertion.
|
|
||||||
*
|
|
||||||
* @param {unknown} obj target of the assertion
|
|
||||||
* @param {string} [msg] (optional) custom error message
|
|
||||||
* @param {Function} [ssfi] (optional) starting point for removing stack frames
|
|
||||||
* @param {boolean} [lockSsfi] (optional) whether or not the ssfi flag is locked
|
|
||||||
*/
|
|
||||||
constructor(obj, msg, ssfi, lockSsfi) {
|
|
||||||
util.flag(this, 'ssfi', ssfi || Assertion);
|
|
||||||
util.flag(this, 'lockSsfi', lockSsfi);
|
|
||||||
util.flag(this, 'object', obj);
|
|
||||||
util.flag(this, 'message', msg);
|
|
||||||
util.flag(this, 'eql', config.deepEqual || util.eql);
|
|
||||||
|
|
||||||
return util.proxify(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @returns {boolean} */
|
|
||||||
static get includeStack() {
|
|
||||||
console.warn(
|
|
||||||
'Assertion.includeStack is deprecated, use chai.config.includeStack instead.'
|
|
||||||
);
|
|
||||||
return config.includeStack;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @param {boolean} value */
|
|
||||||
static set includeStack(value) {
|
|
||||||
console.warn(
|
|
||||||
'Assertion.includeStack is deprecated, use chai.config.includeStack instead.'
|
|
||||||
);
|
|
||||||
config.includeStack = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @returns {boolean} */
|
|
||||||
static get showDiff() {
|
|
||||||
console.warn(
|
|
||||||
'Assertion.showDiff is deprecated, use chai.config.showDiff instead.'
|
|
||||||
);
|
|
||||||
return config.showDiff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @param {boolean} value */
|
|
||||||
static set showDiff(value) {
|
|
||||||
console.warn(
|
|
||||||
'Assertion.showDiff is deprecated, use chai.config.showDiff instead.'
|
|
||||||
);
|
|
||||||
config.showDiff = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} name
|
|
||||||
* @param {Function} fn
|
|
||||||
*/
|
|
||||||
static addProperty(name, fn) {
|
|
||||||
util.addProperty(this.prototype, name, fn);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} name
|
|
||||||
* @param {Function} fn
|
|
||||||
*/
|
|
||||||
static addMethod(name, fn) {
|
|
||||||
util.addMethod(this.prototype, name, fn);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} name
|
|
||||||
* @param {Function} fn
|
|
||||||
* @param {Function} chainingBehavior
|
|
||||||
*/
|
|
||||||
static addChainableMethod(name, fn, chainingBehavior) {
|
|
||||||
util.addChainableMethod(this.prototype, name, fn, chainingBehavior);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} name
|
|
||||||
* @param {Function} fn
|
|
||||||
*/
|
|
||||||
static overwriteProperty(name, fn) {
|
|
||||||
util.overwriteProperty(this.prototype, name, fn);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} name
|
|
||||||
* @param {Function} fn
|
|
||||||
*/
|
|
||||||
static overwriteMethod(name, fn) {
|
|
||||||
util.overwriteMethod(this.prototype, name, fn);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} name
|
|
||||||
* @param {Function} fn
|
|
||||||
* @param {Function} chainingBehavior
|
|
||||||
*/
|
|
||||||
static overwriteChainableMethod(name, fn, chainingBehavior) {
|
|
||||||
util.overwriteChainableMethod(this.prototype, name, fn, chainingBehavior);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .assert(expression, message, negateMessage, expected, actual, showDiff)
|
|
||||||
*
|
|
||||||
* Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass.
|
|
||||||
*
|
|
||||||
* @name assert
|
|
||||||
* @param {unknown} _expr to be tested
|
|
||||||
* @param {string | Function} msg or function that returns message to display if expression fails
|
|
||||||
* @param {string | Function} _negateMsg or function that returns negatedMessage to display if negated expression fails
|
|
||||||
* @param {unknown} expected value (remember to check for negation)
|
|
||||||
* @param {unknown} _actual (optional) will default to `this.obj`
|
|
||||||
* @param {boolean} showDiff (optional) when set to `true`, assert will display a diff in addition to the message if expression fails
|
|
||||||
* @returns {void}
|
|
||||||
*/
|
|
||||||
assert(_expr, msg, _negateMsg, expected, _actual, showDiff) {
|
|
||||||
const ok = util.test(this, arguments);
|
|
||||||
if (false !== showDiff) showDiff = true;
|
|
||||||
if (undefined === expected && undefined === _actual) showDiff = false;
|
|
||||||
if (true !== config.showDiff) showDiff = false;
|
|
||||||
|
|
||||||
if (!ok) {
|
|
||||||
msg = util.getMessage(this, arguments);
|
|
||||||
const actual = util.getActual(this, arguments);
|
|
||||||
/** @type {Record<PropertyKey, unknown>} */
|
|
||||||
const assertionErrorObjectProperties = {
|
|
||||||
actual: actual,
|
|
||||||
expected: expected,
|
|
||||||
showDiff: showDiff
|
|
||||||
};
|
|
||||||
|
|
||||||
const operator = util.getOperator(this, arguments);
|
|
||||||
if (operator) {
|
|
||||||
assertionErrorObjectProperties.operator = operator;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new AssertionError(
|
|
||||||
msg,
|
|
||||||
assertionErrorObjectProperties,
|
|
||||||
// @ts-expect-error Not sure what to do about these types yet
|
|
||||||
config.includeStack ? this.assert : util.flag(this, 'ssfi')
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Quick reference to stored `actual` value for plugin developers.
|
|
||||||
*
|
|
||||||
* @returns {unknown}
|
|
||||||
*/
|
|
||||||
get _obj() {
|
|
||||||
return util.flag(this, 'object');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Quick reference to stored `actual` value for plugin developers.
|
|
||||||
*
|
|
||||||
* @param {unknown} val
|
|
||||||
*/
|
|
||||||
set _obj(val) {
|
|
||||||
util.flag(this, 'object', val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
112
pkg/miniapp/frontend/node_modules/chai/lib/chai/config.js
generated
vendored
112
pkg/miniapp/frontend/node_modules/chai/lib/chai/config.js
generated
vendored
|
|
@ -1,112 +0,0 @@
|
||||||
export const config = {
|
|
||||||
/**
|
|
||||||
* ### config.includeStack
|
|
||||||
*
|
|
||||||
* User configurable property, influences whether stack trace
|
|
||||||
* is included in Assertion error message. Default of false
|
|
||||||
* suppresses stack trace in the error message.
|
|
||||||
*
|
|
||||||
* chai.config.includeStack = true; // enable stack on error
|
|
||||||
*
|
|
||||||
* @param {boolean}
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
includeStack: false,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### config.showDiff
|
|
||||||
*
|
|
||||||
* User configurable property, influences whether or not
|
|
||||||
* the `showDiff` flag should be included in the thrown
|
|
||||||
* AssertionErrors. `false` will always be `false`; `true`
|
|
||||||
* will be true when the assertion has requested a diff
|
|
||||||
* be shown.
|
|
||||||
*
|
|
||||||
* @param {boolean}
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
showDiff: true,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### config.truncateThreshold
|
|
||||||
*
|
|
||||||
* User configurable property, sets length threshold for actual and
|
|
||||||
* expected values in assertion errors. If this threshold is exceeded, for
|
|
||||||
* example for large data structures, the value is replaced with something
|
|
||||||
* like `[ Array(3) ]` or `{ Object (prop1, prop2) }`.
|
|
||||||
*
|
|
||||||
* Set it to zero if you want to disable truncating altogether.
|
|
||||||
*
|
|
||||||
* This is especially userful when doing assertions on arrays: having this
|
|
||||||
* set to a reasonable large value makes the failure messages readily
|
|
||||||
* inspectable.
|
|
||||||
*
|
|
||||||
* chai.config.truncateThreshold = 0; // disable truncating
|
|
||||||
*
|
|
||||||
* @param {number}
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
truncateThreshold: 40,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### config.useProxy
|
|
||||||
*
|
|
||||||
* User configurable property, defines if chai will use a Proxy to throw
|
|
||||||
* an error when a non-existent property is read, which protects users
|
|
||||||
* from typos when using property-based assertions.
|
|
||||||
*
|
|
||||||
* Set it to false if you want to disable this feature.
|
|
||||||
*
|
|
||||||
* chai.config.useProxy = false; // disable use of Proxy
|
|
||||||
*
|
|
||||||
* This feature is automatically disabled regardless of this config value
|
|
||||||
* in environments that don't support proxies.
|
|
||||||
*
|
|
||||||
* @param {boolean}
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
useProxy: true,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### config.proxyExcludedKeys
|
|
||||||
*
|
|
||||||
* User configurable property, defines which properties should be ignored
|
|
||||||
* instead of throwing an error if they do not exist on the assertion.
|
|
||||||
* This is only applied if the environment Chai is running in supports proxies and
|
|
||||||
* if the `useProxy` configuration setting is enabled.
|
|
||||||
* By default, `then` and `inspect` will not throw an error if they do not exist on the
|
|
||||||
* assertion object because the `.inspect` property is read by `util.inspect` (for example, when
|
|
||||||
* using `console.log` on the assertion object) and `.then` is necessary for promise type-checking.
|
|
||||||
*
|
|
||||||
* // By default these keys will not throw an error if they do not exist on the assertion object
|
|
||||||
* chai.config.proxyExcludedKeys = ['then', 'inspect'];
|
|
||||||
*
|
|
||||||
* @param {Array}
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
proxyExcludedKeys: ['then', 'catch', 'inspect', 'toJSON'],
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### config.deepEqual
|
|
||||||
*
|
|
||||||
* User configurable property, defines which a custom function to use for deepEqual
|
|
||||||
* comparisons.
|
|
||||||
* By default, the function used is the one from the `deep-eql` package without custom comparator.
|
|
||||||
*
|
|
||||||
* // use a custom comparator
|
|
||||||
* chai.config.deepEqual = (expected, actual) => {
|
|
||||||
* return chai.util.eql(expected, actual, {
|
|
||||||
* comparator: (expected, actual) => {
|
|
||||||
* // for non number comparison, use the default behavior
|
|
||||||
* if(typeof expected !== 'number') return null;
|
|
||||||
* // allow a difference of 10 between compared numbers
|
|
||||||
* return typeof actual === 'number' && Math.abs(actual - expected) < 10
|
|
||||||
* }
|
|
||||||
* })
|
|
||||||
* };
|
|
||||||
*
|
|
||||||
* @param {Function}
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
deepEqual: null
|
|
||||||
};
|
|
||||||
4156
pkg/miniapp/frontend/node_modules/chai/lib/chai/core/assertions.js
generated
vendored
4156
pkg/miniapp/frontend/node_modules/chai/lib/chai/core/assertions.js
generated
vendored
File diff suppressed because it is too large
Load diff
3228
pkg/miniapp/frontend/node_modules/chai/lib/chai/interface/assert.js
generated
vendored
3228
pkg/miniapp/frontend/node_modules/chai/lib/chai/interface/assert.js
generated
vendored
File diff suppressed because it is too large
Load diff
59
pkg/miniapp/frontend/node_modules/chai/lib/chai/interface/expect.js
generated
vendored
59
pkg/miniapp/frontend/node_modules/chai/lib/chai/interface/expect.js
generated
vendored
|
|
@ -1,59 +0,0 @@
|
||||||
/*!
|
|
||||||
* chai
|
|
||||||
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
||||||
|
|
||||||
import * as chai from '../../chai.js';
|
|
||||||
import {Assertion} from '../assertion.js';
|
|
||||||
import {AssertionError} from 'assertion-error';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {unknown} val
|
|
||||||
* @param {string} message
|
|
||||||
* @returns {Assertion}
|
|
||||||
*/
|
|
||||||
function expect(val, message) {
|
|
||||||
return new Assertion(val, message);
|
|
||||||
}
|
|
||||||
|
|
||||||
export {expect};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .fail([message])
|
|
||||||
* ### .fail(actual, expected, [message], [operator])
|
|
||||||
*
|
|
||||||
* Throw a failure.
|
|
||||||
*
|
|
||||||
* expect.fail();
|
|
||||||
* expect.fail("custom error message");
|
|
||||||
* expect.fail(1, 2);
|
|
||||||
* expect.fail(1, 2, "custom error message");
|
|
||||||
* expect.fail(1, 2, "custom error message", ">");
|
|
||||||
* expect.fail(1, 2, undefined, ">");
|
|
||||||
*
|
|
||||||
* @name fail
|
|
||||||
* @param {unknown} actual
|
|
||||||
* @param {unknown} expected
|
|
||||||
* @param {string} message
|
|
||||||
* @param {string} operator
|
|
||||||
* @namespace expect
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
expect.fail = function (actual, expected, message, operator) {
|
|
||||||
if (arguments.length < 2) {
|
|
||||||
message = actual;
|
|
||||||
actual = undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
message = message || 'expect.fail()';
|
|
||||||
throw new AssertionError(
|
|
||||||
message,
|
|
||||||
{
|
|
||||||
actual: actual,
|
|
||||||
expected: expected,
|
|
||||||
operator: operator
|
|
||||||
},
|
|
||||||
chai.expect.fail
|
|
||||||
);
|
|
||||||
};
|
|
||||||
227
pkg/miniapp/frontend/node_modules/chai/lib/chai/interface/should.js
generated
vendored
227
pkg/miniapp/frontend/node_modules/chai/lib/chai/interface/should.js
generated
vendored
|
|
@ -1,227 +0,0 @@
|
||||||
/*!
|
|
||||||
* chai
|
|
||||||
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
||||||
|
|
||||||
import {Assertion} from '../assertion.js';
|
|
||||||
import {AssertionError} from 'assertion-error';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @returns {void}
|
|
||||||
*/
|
|
||||||
function loadShould() {
|
|
||||||
// explicitly define this method as function as to have it's name to include as `ssfi`
|
|
||||||
/**
|
|
||||||
* @returns {Assertion}
|
|
||||||
*/
|
|
||||||
function shouldGetter() {
|
|
||||||
if (
|
|
||||||
this instanceof String ||
|
|
||||||
this instanceof Number ||
|
|
||||||
this instanceof Boolean ||
|
|
||||||
(typeof Symbol === 'function' && this instanceof Symbol) ||
|
|
||||||
(typeof BigInt === 'function' && this instanceof BigInt)
|
|
||||||
) {
|
|
||||||
return new Assertion(this.valueOf(), null, shouldGetter);
|
|
||||||
}
|
|
||||||
return new Assertion(this, null, shouldGetter);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* @param {unknown} value
|
|
||||||
*/
|
|
||||||
function shouldSetter(value) {
|
|
||||||
// See https://github.com/chaijs/chai/issues/86: this makes
|
|
||||||
// `whatever.should = someValue` actually set `someValue`, which is
|
|
||||||
// especially useful for `global.should = require('chai').should()`.
|
|
||||||
//
|
|
||||||
// Note that we have to use [[DefineProperty]] instead of [[Put]]
|
|
||||||
// since otherwise we would trigger this very setter!
|
|
||||||
Object.defineProperty(this, 'should', {
|
|
||||||
value: value,
|
|
||||||
enumerable: true,
|
|
||||||
configurable: true,
|
|
||||||
writable: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// modify Object.prototype to have `should`
|
|
||||||
Object.defineProperty(Object.prototype, 'should', {
|
|
||||||
set: shouldSetter,
|
|
||||||
get: shouldGetter,
|
|
||||||
configurable: true
|
|
||||||
});
|
|
||||||
|
|
||||||
let should = {};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .fail([message])
|
|
||||||
* ### .fail(actual, expected, [message], [operator])
|
|
||||||
*
|
|
||||||
* Throw a failure.
|
|
||||||
*
|
|
||||||
* should.fail();
|
|
||||||
* should.fail("custom error message");
|
|
||||||
* should.fail(1, 2);
|
|
||||||
* should.fail(1, 2, "custom error message");
|
|
||||||
* should.fail(1, 2, "custom error message", ">");
|
|
||||||
* should.fail(1, 2, undefined, ">");
|
|
||||||
*
|
|
||||||
* @name fail
|
|
||||||
* @param {unknown} actual
|
|
||||||
* @param {unknown} expected
|
|
||||||
* @param {string} message
|
|
||||||
* @param {string} operator
|
|
||||||
* @namespace BDD
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
should.fail = function (actual, expected, message, operator) {
|
|
||||||
if (arguments.length < 2) {
|
|
||||||
message = actual;
|
|
||||||
actual = undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
message = message || 'should.fail()';
|
|
||||||
throw new AssertionError(
|
|
||||||
message,
|
|
||||||
{
|
|
||||||
actual: actual,
|
|
||||||
expected: expected,
|
|
||||||
operator: operator
|
|
||||||
},
|
|
||||||
should.fail
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .equal(actual, expected, [message])
|
|
||||||
*
|
|
||||||
* Asserts non-strict equality (`==`) of `actual` and `expected`.
|
|
||||||
*
|
|
||||||
* should.equal(3, '3', '== coerces values to strings');
|
|
||||||
*
|
|
||||||
* @name equal
|
|
||||||
* @param {unknown} actual
|
|
||||||
* @param {unknown} expected
|
|
||||||
* @param {string} message
|
|
||||||
* @namespace Should
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
should.equal = function (actual, expected, message) {
|
|
||||||
new Assertion(actual, message).to.equal(expected);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .throw(function, [constructor/string/regexp], [string/regexp], [message])
|
|
||||||
*
|
|
||||||
* Asserts that `function` will throw an error that is an instance of
|
|
||||||
* `constructor`, or alternately that it will throw an error with message
|
|
||||||
* matching `regexp`.
|
|
||||||
*
|
|
||||||
* should.throw(fn, 'function throws a reference error');
|
|
||||||
* should.throw(fn, /function throws a reference error/);
|
|
||||||
* should.throw(fn, ReferenceError);
|
|
||||||
* should.throw(fn, ReferenceError, 'function throws a reference error');
|
|
||||||
* should.throw(fn, ReferenceError, /function throws a reference error/);
|
|
||||||
*
|
|
||||||
* @name throw
|
|
||||||
* @alias Throw
|
|
||||||
* @param {Function} fn
|
|
||||||
* @param {Error} errt
|
|
||||||
* @param {RegExp} errs
|
|
||||||
* @param {string} msg
|
|
||||||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
|
||||||
* @namespace Should
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
should.Throw = function (fn, errt, errs, msg) {
|
|
||||||
new Assertion(fn, msg).to.Throw(errt, errs);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .exist
|
|
||||||
*
|
|
||||||
* Asserts that the target is neither `null` nor `undefined`.
|
|
||||||
*
|
|
||||||
* var foo = 'hi';
|
|
||||||
* should.exist(foo, 'foo exists');
|
|
||||||
*
|
|
||||||
* @param {unknown} val
|
|
||||||
* @param {string} msg
|
|
||||||
* @name exist
|
|
||||||
* @namespace Should
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
should.exist = function (val, msg) {
|
|
||||||
new Assertion(val, msg).to.exist;
|
|
||||||
};
|
|
||||||
|
|
||||||
// negation
|
|
||||||
should.not = {};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .not.equal(actual, expected, [message])
|
|
||||||
*
|
|
||||||
* Asserts non-strict inequality (`!=`) of `actual` and `expected`.
|
|
||||||
*
|
|
||||||
* should.not.equal(3, 4, 'these numbers are not equal');
|
|
||||||
*
|
|
||||||
* @name not.equal
|
|
||||||
* @param {unknown} actual
|
|
||||||
* @param {unknown} expected
|
|
||||||
* @param {string} msg
|
|
||||||
* @namespace Should
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
should.not.equal = function (actual, expected, msg) {
|
|
||||||
new Assertion(actual, msg).to.not.equal(expected);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .throw(function, [constructor/regexp], [message])
|
|
||||||
*
|
|
||||||
* Asserts that `function` will _not_ throw an error that is an instance of
|
|
||||||
* `constructor`, or alternately that it will not throw an error with message
|
|
||||||
* matching `regexp`.
|
|
||||||
*
|
|
||||||
* should.not.throw(fn, Error, 'function does not throw');
|
|
||||||
*
|
|
||||||
* @name not.throw
|
|
||||||
* @alias not.Throw
|
|
||||||
* @param {Function} fn
|
|
||||||
* @param {Error} errt
|
|
||||||
* @param {RegExp} errs
|
|
||||||
* @param {string} msg
|
|
||||||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
|
||||||
* @namespace Should
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
should.not.Throw = function (fn, errt, errs, msg) {
|
|
||||||
new Assertion(fn, msg).to.not.Throw(errt, errs);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .not.exist
|
|
||||||
*
|
|
||||||
* Asserts that the target is neither `null` nor `undefined`.
|
|
||||||
*
|
|
||||||
* var bar = null;
|
|
||||||
* should.not.exist(bar, 'bar does not exist');
|
|
||||||
*
|
|
||||||
* @namespace Should
|
|
||||||
* @name not.exist
|
|
||||||
* @param {unknown} val
|
|
||||||
* @param {string} msg
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
should.not.exist = function (val, msg) {
|
|
||||||
new Assertion(val, msg).to.not.exist;
|
|
||||||
};
|
|
||||||
|
|
||||||
should['throw'] = should['Throw'];
|
|
||||||
should.not['throw'] = should.not['Throw'];
|
|
||||||
|
|
||||||
return should;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const should = loadShould;
|
|
||||||
export const Should = loadShould;
|
|
||||||
146
pkg/miniapp/frontend/node_modules/chai/lib/chai/utils/addChainableMethod.js
generated
vendored
146
pkg/miniapp/frontend/node_modules/chai/lib/chai/utils/addChainableMethod.js
generated
vendored
|
|
@ -1,146 +0,0 @@
|
||||||
/*!
|
|
||||||
* Chai - addChainingMethod utility
|
|
||||||
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
||||||
|
|
||||||
import {Assertion} from '../assertion.js';
|
|
||||||
import {addLengthGuard} from './addLengthGuard.js';
|
|
||||||
import {flag} from './flag.js';
|
|
||||||
import {proxify} from './proxify.js';
|
|
||||||
import {transferFlags} from './transferFlags.js';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Module variables
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Check whether `Object.setPrototypeOf` is supported
|
|
||||||
let canSetPrototype = typeof Object.setPrototypeOf === 'function';
|
|
||||||
|
|
||||||
// Without `Object.setPrototypeOf` support, this module will need to add properties to a function.
|
|
||||||
// However, some of functions' own props are not configurable and should be skipped.
|
|
||||||
let testFn = function () {};
|
|
||||||
let excludeNames = Object.getOwnPropertyNames(testFn).filter(function (name) {
|
|
||||||
let propDesc = Object.getOwnPropertyDescriptor(testFn, name);
|
|
||||||
|
|
||||||
// Note: PhantomJS 1.x includes `callee` as one of `testFn`'s own properties,
|
|
||||||
// but then returns `undefined` as the property descriptor for `callee`. As a
|
|
||||||
// workaround, we perform an otherwise unnecessary type-check for `propDesc`,
|
|
||||||
// and then filter it out if it's not an object as it should be.
|
|
||||||
if (typeof propDesc !== 'object') return true;
|
|
||||||
|
|
||||||
return !propDesc.configurable;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Cache `Function` properties
|
|
||||||
let call = Function.prototype.call,
|
|
||||||
apply = Function.prototype.apply;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ### .addChainableMethod(ctx, name, method, chainingBehavior)
|
|
||||||
*
|
|
||||||
* Adds a method to an object, such that the method can also be chained.
|
|
||||||
*
|
|
||||||
* utils.addChainableMethod(chai.Assertion.prototype, 'foo', function (str) {
|
|
||||||
* var obj = utils.flag(this, 'object');
|
|
||||||
* new chai.Assertion(obj).to.be.equal(str);
|
|
||||||
* });
|
|
||||||
*
|
|
||||||
* Can also be accessed directly from `chai.Assertion`.
|
|
||||||
*
|
|
||||||
* chai.Assertion.addChainableMethod('foo', fn, chainingBehavior);
|
|
||||||
*
|
|
||||||
* The result can then be used as both a method assertion, executing both `method` and
|
|
||||||
* `chainingBehavior`, or as a language chain, which only executes `chainingBehavior`.
|
|
||||||
*
|
|
||||||
* expect(fooStr).to.be.foo('bar');
|
|
||||||
* expect(fooStr).to.be.foo.equal('foo');
|
|
||||||
*
|
|
||||||
* @param {object} ctx object to which the method is added
|
|
||||||
* @param {string} name of method to add
|
|
||||||
* @param {Function} method function to be used for `name`, when called
|
|
||||||
* @param {Function} chainingBehavior function to be called every time the property is accessed
|
|
||||||
* @namespace Utils
|
|
||||||
* @name addChainableMethod
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
export function addChainableMethod(ctx, name, method, chainingBehavior) {
|
|
||||||
if (typeof chainingBehavior !== 'function') {
|
|
||||||
chainingBehavior = function () {};
|
|
||||||
}
|
|
||||||
|
|
||||||
let chainableBehavior = {
|
|
||||||
method: method,
|
|
||||||
chainingBehavior: chainingBehavior
|
|
||||||
};
|
|
||||||
|
|
||||||
// save the methods so we can overwrite them later, if we need to.
|
|
||||||
if (!ctx.__methods) {
|
|
||||||
ctx.__methods = {};
|
|
||||||
}
|
|
||||||
ctx.__methods[name] = chainableBehavior;
|
|
||||||
|
|
||||||
Object.defineProperty(ctx, name, {
|
|
||||||
get: function chainableMethodGetter() {
|
|
||||||
chainableBehavior.chainingBehavior.call(this);
|
|
||||||
|
|
||||||
let chainableMethodWrapper = function () {
|
|
||||||
// Setting the `ssfi` flag to `chainableMethodWrapper` causes this
|
|
||||||
// function to be the starting point for removing implementation
|
|
||||||
// frames from the stack trace of a failed assertion.
|
|
||||||
//
|
|
||||||
// However, we only want to use this function as the starting point if
|
|
||||||
// the `lockSsfi` flag isn't set.
|
|
||||||
//
|
|
||||||
// If the `lockSsfi` flag is set, then this assertion is being
|
|
||||||
// invoked from inside of another assertion. In this case, the `ssfi`
|
|
||||||
// flag has already been set by the outer assertion.
|
|
||||||
//
|
|
||||||
// Note that overwriting a chainable method merely replaces the saved
|
|
||||||
// methods in `ctx.__methods` instead of completely replacing the
|
|
||||||
// overwritten assertion. Therefore, an overwriting assertion won't
|
|
||||||
// set the `ssfi` or `lockSsfi` flags.
|
|
||||||
if (!flag(this, 'lockSsfi')) {
|
|
||||||
flag(this, 'ssfi', chainableMethodWrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
let result = chainableBehavior.method.apply(this, arguments);
|
|
||||||
if (result !== undefined) {
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
let newAssertion = new Assertion();
|
|
||||||
transferFlags(this, newAssertion);
|
|
||||||
return newAssertion;
|
|
||||||
};
|
|
||||||
|
|
||||||
addLengthGuard(chainableMethodWrapper, name, true);
|
|
||||||
|
|
||||||
// Use `Object.setPrototypeOf` if available
|
|
||||||
if (canSetPrototype) {
|
|
||||||
// Inherit all properties from the object by replacing the `Function` prototype
|
|
||||||
let prototype = Object.create(this);
|
|
||||||
// Restore the `call` and `apply` methods from `Function`
|
|
||||||
prototype.call = call;
|
|
||||||
prototype.apply = apply;
|
|
||||||
Object.setPrototypeOf(chainableMethodWrapper, prototype);
|
|
||||||
}
|
|
||||||
// Otherwise, redefine all properties (slow!)
|
|
||||||
else {
|
|
||||||
let asserterNames = Object.getOwnPropertyNames(ctx);
|
|
||||||
asserterNames.forEach(function (asserterName) {
|
|
||||||
if (excludeNames.indexOf(asserterName) !== -1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let pd = Object.getOwnPropertyDescriptor(ctx, asserterName);
|
|
||||||
Object.defineProperty(chainableMethodWrapper, asserterName, pd);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
transferFlags(this, chainableMethodWrapper);
|
|
||||||
return proxify(chainableMethodWrapper);
|
|
||||||
},
|
|
||||||
configurable: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue