first commit
This commit is contained in:
20
app_vue/node_modules/terser-webpack-plugin/LICENSE
generated
vendored
Normal file
20
app_vue/node_modules/terser-webpack-plugin/LICENSE
generated
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
Copyright JS Foundation and other contributors
|
||||
|
||||
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.
|
934
app_vue/node_modules/terser-webpack-plugin/README.md
generated
vendored
Normal file
934
app_vue/node_modules/terser-webpack-plugin/README.md
generated
vendored
Normal file
@ -0,0 +1,934 @@
|
||||
<div align="center">
|
||||
<a href="https://github.com/webpack/webpack">
|
||||
<img width="200" height="200" src="https://webpack.js.org/assets/icon-square-big.svg">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
[![npm][npm]][npm-url]
|
||||
[![node][node]][node-url]
|
||||
[![tests][tests]][tests-url]
|
||||
[![cover][cover]][cover-url]
|
||||
[![discussion][discussion]][discussion-url]
|
||||
[![size][size]][size-url]
|
||||
|
||||
# terser-webpack-plugin
|
||||
|
||||
This plugin uses [terser](https://github.com/terser/terser) to minify/minimize your JavaScript.
|
||||
|
||||
## Getting Started
|
||||
|
||||
Webpack v5 comes with the latest `terser-webpack-plugin` out of the box. If you are using Webpack v5 or above and wish to customize the options, you will still need to install `terser-webpack-plugin`. Using Webpack v4, you have to install `terser-webpack-plugin` v4.
|
||||
|
||||
To begin, you'll need to install `terser-webpack-plugin`:
|
||||
|
||||
```console
|
||||
npm install terser-webpack-plugin --save-dev
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```console
|
||||
yarn add -D terser-webpack-plugin
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```console
|
||||
pnpm add -D terser-webpack-plugin
|
||||
```
|
||||
|
||||
Then add the plugin to your `webpack` config. For example:
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
And run `webpack` via your preferred method.
|
||||
|
||||
## Note about source maps
|
||||
|
||||
**Works only with `source-map`, `inline-source-map`, `hidden-source-map` and `nosources-source-map` values for the [`devtool`](https://webpack.js.org/configuration/devtool/) option.**
|
||||
|
||||
Why?
|
||||
|
||||
- `eval` wraps modules in `eval("string")` and the minimizer does not handle strings.
|
||||
- `cheap` has not column information and minimizer generate only a single line, which leave only a single mapping.
|
||||
|
||||
Using supported `devtool` values enable source map generation.
|
||||
|
||||
## Options
|
||||
|
||||
- **[`test`](#test)**
|
||||
- **[`include`](#include)**
|
||||
- **[`exclude`](#exclude)**
|
||||
- **[`parallel`](#parallel)**
|
||||
- **[`minify`](#minify)**
|
||||
- **[`terserOptions`](#terseroptions)**
|
||||
- **[`extractComments`](#extractcomments)**
|
||||
|
||||
### `test`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type test = string | RegExp | Array<string | RegExp>;
|
||||
```
|
||||
|
||||
Default: `/\.m?js(\?.*)?$/i`
|
||||
|
||||
Test to match files against.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
test: /\.js(\?.*)?$/i,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### `include`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type include = string | RegExp | Array<string | RegExp>;
|
||||
```
|
||||
|
||||
Default: `undefined`
|
||||
|
||||
Files to include.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
include: /\/includes/,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### `exclude`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type exclude = string | RegExp | Array<string | RegExp>;
|
||||
```
|
||||
|
||||
Default: `undefined`
|
||||
|
||||
Files to exclude.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
exclude: /\/excludes/,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### `parallel`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type parallel = boolean | number;
|
||||
```
|
||||
|
||||
Default: `true`
|
||||
|
||||
Use multi-process parallel running to improve the build speed.
|
||||
Default number of concurrent runs: `os.cpus().length - 1` or `os.availableParallelism() - 1` (if this function is supported).
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> Parallelization can speedup your build significantly and is therefore **highly recommended**.
|
||||
|
||||
> **Warning**
|
||||
>
|
||||
> If you use **Circle CI** or any other environment that doesn't provide real available count of CPUs then you need to setup explicitly number of CPUs to avoid `Error: Call retries were exceeded` (see [#143](https://github.com/webpack-contrib/terser-webpack-plugin/issues/143), [#202](https://github.com/webpack-contrib/terser-webpack-plugin/issues/202)).
|
||||
|
||||
#### `boolean`
|
||||
|
||||
Enable/disable multi-process parallel running.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
parallel: true,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
#### `number`
|
||||
|
||||
Enable multi-process parallel running and set number of concurrent runs.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
parallel: 4,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### `minify`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type minify = (
|
||||
input: {
|
||||
[file: string]: string;
|
||||
},
|
||||
sourceMap: import("@jridgewell/trace-mapping").SourceMapInput | undefined,
|
||||
minifyOptions: {
|
||||
module?: boolean | undefined;
|
||||
ecma?: import("terser").ECMA | undefined;
|
||||
},
|
||||
extractComments:
|
||||
| boolean
|
||||
| "all"
|
||||
| "some"
|
||||
| RegExp
|
||||
| ((
|
||||
astNode: any,
|
||||
comment: {
|
||||
value: string;
|
||||
type: "comment1" | "comment2" | "comment3" | "comment4";
|
||||
pos: number;
|
||||
line: number;
|
||||
col: number;
|
||||
}
|
||||
) => boolean)
|
||||
| {
|
||||
condition?:
|
||||
| boolean
|
||||
| "all"
|
||||
| "some"
|
||||
| RegExp
|
||||
| ((
|
||||
astNode: any,
|
||||
comment: {
|
||||
value: string;
|
||||
type: "comment1" | "comment2" | "comment3" | "comment4";
|
||||
pos: number;
|
||||
line: number;
|
||||
col: number;
|
||||
}
|
||||
) => boolean)
|
||||
| undefined;
|
||||
filename?: string | ((fileData: any) => string) | undefined;
|
||||
banner?:
|
||||
| string
|
||||
| boolean
|
||||
| ((commentsFile: string) => string)
|
||||
| undefined;
|
||||
}
|
||||
| undefined
|
||||
) => Promise<{
|
||||
code: string;
|
||||
map?: import("@jridgewell/trace-mapping").SourceMapInput | undefined;
|
||||
errors?: (string | Error)[] | undefined;
|
||||
warnings?: (string | Error)[] | undefined;
|
||||
extractedComments?: string[] | undefined;
|
||||
}>;
|
||||
```
|
||||
|
||||
Default: `TerserPlugin.terserMinify`
|
||||
|
||||
Allows you to override default minify function.
|
||||
By default plugin uses [terser](https://github.com/terser/terser) package.
|
||||
Useful for using and testing unpublished versions or forks.
|
||||
|
||||
> **Warning**
|
||||
>
|
||||
> **Always use `require` inside `minify` function when `parallel` option enabled**.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
// Can be async
|
||||
const minify = (input, sourceMap, minimizerOptions, extractsComments) => {
|
||||
// The `minimizerOptions` option contains option from the `terserOptions` option
|
||||
// You can use `minimizerOptions.myCustomOption`
|
||||
|
||||
// Custom logic for extract comments
|
||||
const { map, code } = require("uglify-module") // Or require('./path/to/uglify-module')
|
||||
.minify(input, {
|
||||
/* Your options for minification */
|
||||
});
|
||||
|
||||
return { map, code, warnings: [], errors: [], extractedComments: [] };
|
||||
};
|
||||
|
||||
// Used to regenerate `fullhash`/`chunkhash` between different implementation
|
||||
// Example: you fix a bug in custom minimizer/custom function, but unfortunately webpack doesn't know about it, so you will get the same fullhash/chunkhash
|
||||
// to avoid this you can provide version of your custom minimizer
|
||||
// You don't need if you use only `contenthash`
|
||||
minify.getMinimizerVersion = () => {
|
||||
let packageJson;
|
||||
|
||||
try {
|
||||
// eslint-disable-next-line global-require, import/no-extraneous-dependencies
|
||||
packageJson = require("uglify-module/package.json");
|
||||
} catch (error) {
|
||||
// Ignore
|
||||
}
|
||||
|
||||
return packageJson && packageJson.version;
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
terserOptions: {
|
||||
myCustomOption: true,
|
||||
},
|
||||
minify,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### `terserOptions`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type terserOptions = {
|
||||
compress?: boolean | CompressOptions;
|
||||
ecma?: ECMA;
|
||||
enclose?: boolean | string;
|
||||
ie8?: boolean;
|
||||
keep_classnames?: boolean | RegExp;
|
||||
keep_fnames?: boolean | RegExp;
|
||||
mangle?: boolean | MangleOptions;
|
||||
module?: boolean;
|
||||
nameCache?: object;
|
||||
format?: FormatOptions;
|
||||
/** @deprecated */
|
||||
output?: FormatOptions;
|
||||
parse?: ParseOptions;
|
||||
safari10?: boolean;
|
||||
sourceMap?: boolean | SourceMapOptions;
|
||||
toplevel?: boolean;
|
||||
};
|
||||
```
|
||||
|
||||
Default: [default](https://github.com/terser/terser#minify-options)
|
||||
|
||||
Terser [options](https://github.com/terser/terser#minify-options).
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
terserOptions: {
|
||||
ecma: undefined,
|
||||
parse: {},
|
||||
compress: {},
|
||||
mangle: true, // Note `mangle.properties` is `false` by default.
|
||||
module: false,
|
||||
// Deprecated
|
||||
output: null,
|
||||
format: null,
|
||||
toplevel: false,
|
||||
nameCache: null,
|
||||
ie8: false,
|
||||
keep_classnames: undefined,
|
||||
keep_fnames: false,
|
||||
safari10: false,
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### `extractComments`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type extractComments =
|
||||
| boolean
|
||||
| string
|
||||
| RegExp
|
||||
| ((
|
||||
astNode: any,
|
||||
comment: {
|
||||
value: string;
|
||||
type: "comment1" | "comment2" | "comment3" | "comment4";
|
||||
pos: number;
|
||||
line: number;
|
||||
col: number;
|
||||
}
|
||||
) => boolean)
|
||||
| {
|
||||
condition?:
|
||||
| boolean
|
||||
| "all"
|
||||
| "some"
|
||||
| RegExp
|
||||
| ((
|
||||
astNode: any,
|
||||
comment: {
|
||||
value: string;
|
||||
type: "comment1" | "comment2" | "comment3" | "comment4";
|
||||
pos: number;
|
||||
line: number;
|
||||
col: number;
|
||||
}
|
||||
) => boolean)
|
||||
| undefined;
|
||||
filename?: string | ((fileData: any) => string) | undefined;
|
||||
banner?:
|
||||
| string
|
||||
| boolean
|
||||
| ((commentsFile: string) => string)
|
||||
| undefined;
|
||||
};
|
||||
```
|
||||
|
||||
Default: `true`
|
||||
|
||||
Whether comments shall be extracted to a separate file, (see [details](https://github.com/webpack/webpack/commit/71933e979e51c533b432658d5e37917f9e71595a)).
|
||||
By default extract only comments using `/^\**!|@preserve|@license|@cc_on/i` regexp condition and remove remaining comments.
|
||||
If the original file is named `foo.js`, then the comments will be stored to `foo.js.LICENSE.txt`.
|
||||
The `terserOptions.format.comments` option specifies whether the comment will be preserved, i.e. it is possible to preserve some comments (e.g. annotations) while extracting others or even preserving comments that have been extracted.
|
||||
|
||||
#### `boolean`
|
||||
|
||||
Enable/disable extracting comments.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
extractComments: true,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
#### `string`
|
||||
|
||||
Extract `all` or `some` (use `/^\**!|@preserve|@license|@cc_on/i` RegExp) comments.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
extractComments: "all",
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
#### `RegExp`
|
||||
|
||||
All comments that match the given expression will be extracted to the separate file.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
extractComments: /@extract/i,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
#### `function`
|
||||
|
||||
All comments that match the given expression will be extracted to the separate file.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
extractComments: (astNode, comment) => {
|
||||
if (/@extract/i.test(comment.value)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
#### `object`
|
||||
|
||||
Allow to customize condition for extract comments, specify extracted file name and banner.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
extractComments: {
|
||||
condition: /^\**!|@preserve|@license|@cc_on/i,
|
||||
filename: (fileData) => {
|
||||
// The "fileData" argument contains object with "filename", "basename", "query" and "hash"
|
||||
return `${fileData.filename}.LICENSE.txt${fileData.query}`;
|
||||
},
|
||||
banner: (licenseFile) => {
|
||||
return `License information can be found in ${licenseFile}`;
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
##### `condition`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type condition =
|
||||
| boolean
|
||||
| "all"
|
||||
| "some"
|
||||
| RegExp
|
||||
| ((
|
||||
astNode: any,
|
||||
comment: {
|
||||
value: string;
|
||||
type: "comment1" | "comment2" | "comment3" | "comment4";
|
||||
pos: number;
|
||||
line: number;
|
||||
col: number;
|
||||
}
|
||||
) => boolean)
|
||||
| undefined;
|
||||
```
|
||||
|
||||
Condition what comments you need extract.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
extractComments: {
|
||||
condition: "some",
|
||||
filename: (fileData) => {
|
||||
// The "fileData" argument contains object with "filename", "basename", "query" and "hash"
|
||||
return `${fileData.filename}.LICENSE.txt${fileData.query}`;
|
||||
},
|
||||
banner: (licenseFile) => {
|
||||
return `License information can be found in ${licenseFile}`;
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
##### `filename`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type filename = string | ((fileData: any) => string) | undefined;
|
||||
```
|
||||
|
||||
Default: `[file].LICENSE.txt[query]`
|
||||
|
||||
Available placeholders: `[file]`, `[query]` and `[filebase]` (`[base]` for webpack 5).
|
||||
|
||||
The file where the extracted comments will be stored.
|
||||
Default is to append the suffix `.LICENSE.txt` to the original filename.
|
||||
|
||||
> **Warning**
|
||||
>
|
||||
> We highly recommend using the `txt` extension. Using `js`/`cjs`/`mjs` extensions may conflict with existing assets which leads to broken code.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
extractComments: {
|
||||
condition: /^\**!|@preserve|@license|@cc_on/i,
|
||||
filename: "extracted-comments.js",
|
||||
banner: (licenseFile) => {
|
||||
return `License information can be found in ${licenseFile}`;
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
##### `banner`
|
||||
|
||||
Type:
|
||||
|
||||
```ts
|
||||
type banner = string | boolean | ((commentsFile: string) => string) | undefined;
|
||||
```
|
||||
|
||||
Default: `/*! For license information please see ${commentsFile} */`
|
||||
|
||||
The banner text that points to the extracted file and will be added on top of the original file.
|
||||
Can be `false` (no banner), a `String`, or a `Function<(string) -> String>` that will be called with the filename where extracted comments have been stored.
|
||||
Will be wrapped into comment.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
extractComments: {
|
||||
condition: true,
|
||||
filename: (fileData) => {
|
||||
// The "fileData" argument contains object with "filename", "basename", "query" and "hash"
|
||||
return `${fileData.filename}.LICENSE.txt${fileData.query}`;
|
||||
},
|
||||
banner: (commentsFile) => {
|
||||
return `My custom banner about license information ${commentsFile}`;
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
### Preserve Comments
|
||||
|
||||
Extract all legal comments (i.e. `/^\**!|@preserve|@license|@cc_on/i`) and preserve `/@license/i` comments.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
terserOptions: {
|
||||
format: {
|
||||
comments: /@license/i,
|
||||
},
|
||||
},
|
||||
extractComments: true,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### Remove Comments
|
||||
|
||||
If you avoid building with comments, use this config:
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
terserOptions: {
|
||||
format: {
|
||||
comments: false,
|
||||
},
|
||||
},
|
||||
extractComments: false,
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### [`uglify-js`](https://github.com/mishoo/UglifyJS)
|
||||
|
||||
[`UglifyJS`](https://github.com/mishoo/UglifyJS) is a JavaScript parser, minifier, compressor and beautifier toolkit.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
minify: TerserPlugin.uglifyJsMinify,
|
||||
// `terserOptions` options will be passed to `uglify-js`
|
||||
// Link to options - https://github.com/mishoo/UglifyJS#minify-options
|
||||
terserOptions: {},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### [`swc`](https://github.com/swc-project/swc)
|
||||
|
||||
[`swc`](https://github.com/swc-project/swc) is a super-fast compiler written in rust; producing widely-supported javascript from modern standards and typescript.
|
||||
|
||||
> **Warning**
|
||||
>
|
||||
> the `extractComments` option is not supported and all comments will be removed by default, it will be fixed in future
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
minify: TerserPlugin.swcMinify,
|
||||
// `terserOptions` options will be passed to `swc` (`@swc/core`)
|
||||
// Link to options - https://swc.rs/docs/config-js-minify
|
||||
terserOptions: {},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### [`esbuild`](https://github.com/evanw/esbuild)
|
||||
|
||||
[`esbuild`](https://github.com/evanw/esbuild) is an extremely fast JavaScript bundler and minifier.
|
||||
|
||||
> **Warning**
|
||||
>
|
||||
> the `extractComments` option is not supported and all legal comments (i.e. copyright, licenses and etc) will be preserved
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
minify: TerserPlugin.esbuildMinify,
|
||||
// `terserOptions` options will be passed to `esbuild`
|
||||
// Link to options - https://esbuild.github.io/api/#minify
|
||||
// Note: the `minify` options is true by default (and override other `minify*` options), so if you want to disable the `minifyIdentifiers` option (or other `minify*` options) please use:
|
||||
// terserOptions: {
|
||||
// minify: false,
|
||||
// minifyWhitespace: true,
|
||||
// minifyIdentifiers: false,
|
||||
// minifySyntax: true,
|
||||
// },
|
||||
terserOptions: {},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### Custom Minify Function
|
||||
|
||||
Override default minify function - use `uglify-js` for minification.
|
||||
|
||||
**webpack.config.js**
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
minify: (file, sourceMap) => {
|
||||
// https://github.com/mishoo/UglifyJS2#minify-options
|
||||
const uglifyJsOptions = {
|
||||
/* your `uglify-js` package options */
|
||||
};
|
||||
|
||||
if (sourceMap) {
|
||||
uglifyJsOptions.sourceMap = {
|
||||
content: sourceMap,
|
||||
};
|
||||
}
|
||||
|
||||
return require("uglify-js").minify(file, uglifyJsOptions);
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### Typescript
|
||||
|
||||
With default terser minify function:
|
||||
|
||||
```ts
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
terserOptions: {
|
||||
compress: true,
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
With built-in minify functions:
|
||||
|
||||
```ts
|
||||
import type { JsMinifyOptions as SwcOptions } from "@swc/core";
|
||||
import type { MinifyOptions as UglifyJSOptions } from "uglify-js";
|
||||
import type { TransformOptions as EsbuildOptions } from "esbuild";
|
||||
import type { MinifyOptions as TerserOptions } from "terser";
|
||||
|
||||
module.exports = {
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin<SwcOptions>({
|
||||
minify: TerserPlugin.swcMinify,
|
||||
terserOptions: {
|
||||
// `swc` options
|
||||
},
|
||||
}),
|
||||
new TerserPlugin<UglifyJSOptions>({
|
||||
minify: TerserPlugin.uglifyJsMinify,
|
||||
terserOptions: {
|
||||
// `uglif-js` options
|
||||
},
|
||||
}),
|
||||
new TerserPlugin<EsbuildOptions>({
|
||||
minify: TerserPlugin.esbuildMinify,
|
||||
terserOptions: {
|
||||
// `esbuild` options
|
||||
},
|
||||
}),
|
||||
|
||||
// Alternative usage:
|
||||
new TerserPlugin<TerserOptions>({
|
||||
minify: TerserPlugin.terserMinify,
|
||||
terserOptions: {
|
||||
// `terser` options
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
Please take a moment to read our contributing guidelines if you haven't yet done so.
|
||||
|
||||
[CONTRIBUTING](./.github/CONTRIBUTING.md)
|
||||
|
||||
## License
|
||||
|
||||
[MIT](./LICENSE)
|
||||
|
||||
[npm]: https://img.shields.io/npm/v/terser-webpack-plugin.svg
|
||||
[npm-url]: https://npmjs.com/package/terser-webpack-plugin
|
||||
[node]: https://img.shields.io/node/v/terser-webpack-plugin.svg
|
||||
[node-url]: https://nodejs.org
|
||||
[tests]: https://github.com/webpack-contrib/terser-webpack-plugin/workflows/terser-webpack-plugin/badge.svg
|
||||
[tests-url]: https://github.com/webpack-contrib/terser-webpack-plugin/actions
|
||||
[cover]: https://codecov.io/gh/webpack-contrib/terser-webpack-plugin/branch/master/graph/badge.svg
|
||||
[cover-url]: https://codecov.io/gh/webpack-contrib/terser-webpack-plugin
|
||||
[discussion]: https://img.shields.io/github/discussions/webpack/webpack
|
||||
[discussion-url]: https://github.com/webpack/webpack/discussions
|
||||
[size]: https://packagephobia.now.sh/badge?p=terser-webpack-plugin
|
||||
[size-url]: https://packagephobia.now.sh/result?p=terser-webpack-plugin
|
697
app_vue/node_modules/terser-webpack-plugin/dist/index.js
generated
vendored
Normal file
697
app_vue/node_modules/terser-webpack-plugin/dist/index.js
generated
vendored
Normal file
@ -0,0 +1,697 @@
|
||||
"use strict";
|
||||
|
||||
const path = require("path");
|
||||
const os = require("os");
|
||||
const {
|
||||
validate
|
||||
} = require("schema-utils");
|
||||
const {
|
||||
throttleAll,
|
||||
memoize,
|
||||
terserMinify,
|
||||
uglifyJsMinify,
|
||||
swcMinify,
|
||||
esbuildMinify
|
||||
} = require("./utils");
|
||||
const schema = require("./options.json");
|
||||
const {
|
||||
minify
|
||||
} = require("./minify");
|
||||
|
||||
/** @typedef {import("schema-utils/declarations/validate").Schema} Schema */
|
||||
/** @typedef {import("webpack").Compiler} Compiler */
|
||||
/** @typedef {import("webpack").Compilation} Compilation */
|
||||
/** @typedef {import("webpack").WebpackError} WebpackError */
|
||||
/** @typedef {import("webpack").Asset} Asset */
|
||||
/** @typedef {import("jest-worker").Worker} JestWorker */
|
||||
/** @typedef {import("@jridgewell/trace-mapping").SourceMapInput} SourceMapInput */
|
||||
/** @typedef {import("@jridgewell/trace-mapping").TraceMap} TraceMap */
|
||||
|
||||
/** @typedef {RegExp | string} Rule */
|
||||
/** @typedef {Rule[] | Rule} Rules */
|
||||
|
||||
/**
|
||||
* @callback ExtractCommentsFunction
|
||||
* @param {any} astNode
|
||||
* @param {{ value: string, type: 'comment1' | 'comment2' | 'comment3' | 'comment4', pos: number, line: number, col: number }} comment
|
||||
* @returns {boolean}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {boolean | 'all' | 'some' | RegExp | ExtractCommentsFunction} ExtractCommentsCondition
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {string | ((fileData: any) => string)} ExtractCommentsFilename
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {boolean | string | ((commentsFile: string) => string)} ExtractCommentsBanner
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} ExtractCommentsObject
|
||||
* @property {ExtractCommentsCondition} [condition]
|
||||
* @property {ExtractCommentsFilename} [filename]
|
||||
* @property {ExtractCommentsBanner} [banner]
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {ExtractCommentsCondition | ExtractCommentsObject} ExtractCommentsOptions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} MinimizedResult
|
||||
* @property {string} code
|
||||
* @property {SourceMapInput} [map]
|
||||
* @property {Array<Error | string>} [errors]
|
||||
* @property {Array<Error | string>} [warnings]
|
||||
* @property {Array<string>} [extractedComments]
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {{ [file: string]: string }} Input
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {{ [key: string]: any }} CustomOptions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {T extends infer U ? U : CustomOptions} InferDefaultType
|
||||
*/
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {Object} PredefinedOptions
|
||||
* @property {T extends { module?: infer P } ? P : boolean | string} [module]
|
||||
* @property {T extends { ecma?: infer P } ? P : number | string} [ecma]
|
||||
*/
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {PredefinedOptions<T> & InferDefaultType<T>} MinimizerOptions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @callback BasicMinimizerImplementation
|
||||
* @param {Input} input
|
||||
* @param {SourceMapInput | undefined} sourceMap
|
||||
* @param {MinimizerOptions<T>} minifyOptions
|
||||
* @param {ExtractCommentsOptions | undefined} extractComments
|
||||
* @returns {Promise<MinimizedResult>}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {object} MinimizeFunctionHelpers
|
||||
* @property {() => string | undefined} [getMinimizerVersion]
|
||||
* @property {() => boolean | undefined} [supportsWorkerThreads]
|
||||
*/
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {BasicMinimizerImplementation<T> & MinimizeFunctionHelpers} MinimizerImplementation
|
||||
*/
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {Object} InternalOptions
|
||||
* @property {string} name
|
||||
* @property {string} input
|
||||
* @property {SourceMapInput | undefined} inputSourceMap
|
||||
* @property {ExtractCommentsOptions | undefined} extractComments
|
||||
* @property {{ implementation: MinimizerImplementation<T>, options: MinimizerOptions<T> }} minimizer
|
||||
*/
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {JestWorker & { transform: (options: string) => MinimizedResult, minify: (options: InternalOptions<T>) => MinimizedResult }} MinimizerWorker
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {undefined | boolean | number} Parallel
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} BasePluginOptions
|
||||
* @property {Rules} [test]
|
||||
* @property {Rules} [include]
|
||||
* @property {Rules} [exclude]
|
||||
* @property {ExtractCommentsOptions} [extractComments]
|
||||
* @property {Parallel} [parallel]
|
||||
*/
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {T extends import("terser").MinifyOptions ? { minify?: MinimizerImplementation<T> | undefined, terserOptions?: MinimizerOptions<T> | undefined } : { minify: MinimizerImplementation<T>, terserOptions?: MinimizerOptions<T> | undefined }} DefinedDefaultMinimizerAndOptions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {BasePluginOptions & { minimizer: { implementation: MinimizerImplementation<T>, options: MinimizerOptions<T> } }} InternalPluginOptions
|
||||
*/
|
||||
|
||||
const getTraceMapping = memoize(() =>
|
||||
// eslint-disable-next-line global-require
|
||||
require("@jridgewell/trace-mapping"));
|
||||
const getSerializeJavascript = memoize(() =>
|
||||
// eslint-disable-next-line global-require
|
||||
require("serialize-javascript"));
|
||||
|
||||
/**
|
||||
* @template [T=import("terser").MinifyOptions]
|
||||
*/
|
||||
class TerserPlugin {
|
||||
/**
|
||||
* @param {BasePluginOptions & DefinedDefaultMinimizerAndOptions<T>} [options]
|
||||
*/
|
||||
constructor(options) {
|
||||
validate( /** @type {Schema} */schema, options || {}, {
|
||||
name: "Terser Plugin",
|
||||
baseDataPath: "options"
|
||||
});
|
||||
|
||||
// TODO make `minimizer` option instead `minify` and `terserOptions` in the next major release, also rename `terserMinify` to `terserMinimize`
|
||||
const {
|
||||
minify = ( /** @type {MinimizerImplementation<T>} */terserMinify),
|
||||
terserOptions = ( /** @type {MinimizerOptions<T>} */{}),
|
||||
test = /\.[cm]?js(\?.*)?$/i,
|
||||
extractComments = true,
|
||||
parallel = true,
|
||||
include,
|
||||
exclude
|
||||
} = options || {};
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {InternalPluginOptions<T>}
|
||||
*/
|
||||
this.options = {
|
||||
test,
|
||||
extractComments,
|
||||
parallel,
|
||||
include,
|
||||
exclude,
|
||||
minimizer: {
|
||||
implementation: minify,
|
||||
options: terserOptions
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @param {any} input
|
||||
* @returns {boolean}
|
||||
*/
|
||||
static isSourceMap(input) {
|
||||
// All required options for `new TraceMap(...options)`
|
||||
// https://github.com/jridgewell/trace-mapping#usage
|
||||
return Boolean(input && input.version && input.sources && Array.isArray(input.sources) && typeof input.mappings === "string");
|
||||
}
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @param {unknown} warning
|
||||
* @param {string} file
|
||||
* @returns {Error}
|
||||
*/
|
||||
static buildWarning(warning, file) {
|
||||
/**
|
||||
* @type {Error & { hideStack: true, file: string }}
|
||||
*/
|
||||
// @ts-ignore
|
||||
const builtWarning = new Error(warning.toString());
|
||||
builtWarning.name = "Warning";
|
||||
builtWarning.hideStack = true;
|
||||
builtWarning.file = file;
|
||||
return builtWarning;
|
||||
}
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @param {any} error
|
||||
* @param {string} file
|
||||
* @param {TraceMap} [sourceMap]
|
||||
* @param {Compilation["requestShortener"]} [requestShortener]
|
||||
* @returns {Error}
|
||||
*/
|
||||
static buildError(error, file, sourceMap, requestShortener) {
|
||||
/**
|
||||
* @type {Error & { file?: string }}
|
||||
*/
|
||||
let builtError;
|
||||
if (typeof error === "string") {
|
||||
builtError = new Error(`${file} from Terser plugin\n${error}`);
|
||||
builtError.file = file;
|
||||
return builtError;
|
||||
}
|
||||
if (error.line) {
|
||||
const original = sourceMap && getTraceMapping().originalPositionFor(sourceMap, {
|
||||
line: error.line,
|
||||
column: error.col
|
||||
});
|
||||
if (original && original.source && requestShortener) {
|
||||
builtError = new Error(`${file} from Terser plugin\n${error.message} [${requestShortener.shorten(original.source)}:${original.line},${original.column}][${file}:${error.line},${error.col}]${error.stack ? `\n${error.stack.split("\n").slice(1).join("\n")}` : ""}`);
|
||||
builtError.file = file;
|
||||
return builtError;
|
||||
}
|
||||
builtError = new Error(`${file} from Terser plugin\n${error.message} [${file}:${error.line},${error.col}]${error.stack ? `\n${error.stack.split("\n").slice(1).join("\n")}` : ""}`);
|
||||
builtError.file = file;
|
||||
return builtError;
|
||||
}
|
||||
if (error.stack) {
|
||||
builtError = new Error(`${file} from Terser plugin\n${typeof error.message !== "undefined" ? error.message : ""}\n${error.stack}`);
|
||||
builtError.file = file;
|
||||
return builtError;
|
||||
}
|
||||
builtError = new Error(`${file} from Terser plugin\n${error.message}`);
|
||||
builtError.file = file;
|
||||
return builtError;
|
||||
}
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @param {Parallel} parallel
|
||||
* @returns {number}
|
||||
*/
|
||||
static getAvailableNumberOfCores(parallel) {
|
||||
// In some cases cpus() returns undefined
|
||||
// https://github.com/nodejs/node/issues/19022
|
||||
const cpus = typeof os.availableParallelism === "function" ? {
|
||||
length: os.availableParallelism()
|
||||
} : os.cpus() || {
|
||||
length: 1
|
||||
};
|
||||
return parallel === true || typeof parallel === "undefined" ? cpus.length - 1 : Math.min(parallel || 0, cpus.length - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @param {Compiler} compiler
|
||||
* @param {Compilation} compilation
|
||||
* @param {Record<string, import("webpack").sources.Source>} assets
|
||||
* @param {{availableNumberOfCores: number}} optimizeOptions
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
async optimize(compiler, compilation, assets, optimizeOptions) {
|
||||
const cache = compilation.getCache("TerserWebpackPlugin");
|
||||
let numberOfAssets = 0;
|
||||
const assetsForMinify = await Promise.all(Object.keys(assets).filter(name => {
|
||||
const {
|
||||
info
|
||||
} = /** @type {Asset} */compilation.getAsset(name);
|
||||
if (
|
||||
// Skip double minimize assets from child compilation
|
||||
info.minimized ||
|
||||
// Skip minimizing for extracted comments assets
|
||||
info.extractedComments) {
|
||||
return false;
|
||||
}
|
||||
if (!compiler.webpack.ModuleFilenameHelpers.matchObject.bind(
|
||||
// eslint-disable-next-line no-undefined
|
||||
undefined, this.options)(name)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}).map(async name => {
|
||||
const {
|
||||
info,
|
||||
source
|
||||
} = /** @type {Asset} */
|
||||
compilation.getAsset(name);
|
||||
const eTag = cache.getLazyHashedEtag(source);
|
||||
const cacheItem = cache.getItemCache(name, eTag);
|
||||
const output = await cacheItem.getPromise();
|
||||
if (!output) {
|
||||
numberOfAssets += 1;
|
||||
}
|
||||
return {
|
||||
name,
|
||||
info,
|
||||
inputSource: source,
|
||||
output,
|
||||
cacheItem
|
||||
};
|
||||
}));
|
||||
if (assetsForMinify.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
/** @type {undefined | (() => MinimizerWorker<T>)} */
|
||||
let getWorker;
|
||||
/** @type {undefined | MinimizerWorker<T>} */
|
||||
let initializedWorker;
|
||||
/** @type {undefined | number} */
|
||||
let numberOfWorkers;
|
||||
if (optimizeOptions.availableNumberOfCores > 0) {
|
||||
// Do not create unnecessary workers when the number of files is less than the available cores, it saves memory
|
||||
numberOfWorkers = Math.min(numberOfAssets, optimizeOptions.availableNumberOfCores);
|
||||
// eslint-disable-next-line consistent-return
|
||||
getWorker = () => {
|
||||
if (initializedWorker) {
|
||||
return initializedWorker;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line global-require
|
||||
const {
|
||||
Worker
|
||||
} = require("jest-worker");
|
||||
initializedWorker = /** @type {MinimizerWorker<T>} */
|
||||
|
||||
new Worker(require.resolve("./minify"), {
|
||||
numWorkers: numberOfWorkers,
|
||||
enableWorkerThreads: typeof this.options.minimizer.implementation.supportsWorkerThreads !== "undefined" ? this.options.minimizer.implementation.supportsWorkerThreads() !== false : true
|
||||
});
|
||||
|
||||
// https://github.com/facebook/jest/issues/8872#issuecomment-524822081
|
||||
const workerStdout = initializedWorker.getStdout();
|
||||
if (workerStdout) {
|
||||
workerStdout.on("data", chunk => process.stdout.write(chunk));
|
||||
}
|
||||
const workerStderr = initializedWorker.getStderr();
|
||||
if (workerStderr) {
|
||||
workerStderr.on("data", chunk => process.stderr.write(chunk));
|
||||
}
|
||||
return initializedWorker;
|
||||
};
|
||||
}
|
||||
const {
|
||||
SourceMapSource,
|
||||
ConcatSource,
|
||||
RawSource
|
||||
} = compiler.webpack.sources;
|
||||
|
||||
/** @typedef {{ extractedCommentsSource : import("webpack").sources.RawSource, commentsFilename: string }} ExtractedCommentsInfo */
|
||||
/** @type {Map<string, ExtractedCommentsInfo>} */
|
||||
const allExtractedComments = new Map();
|
||||
const scheduledTasks = [];
|
||||
for (const asset of assetsForMinify) {
|
||||
scheduledTasks.push(async () => {
|
||||
const {
|
||||
name,
|
||||
inputSource,
|
||||
info,
|
||||
cacheItem
|
||||
} = asset;
|
||||
let {
|
||||
output
|
||||
} = asset;
|
||||
if (!output) {
|
||||
let input;
|
||||
/** @type {SourceMapInput | undefined} */
|
||||
let inputSourceMap;
|
||||
const {
|
||||
source: sourceFromInputSource,
|
||||
map
|
||||
} = inputSource.sourceAndMap();
|
||||
input = sourceFromInputSource;
|
||||
if (map) {
|
||||
if (!TerserPlugin.isSourceMap(map)) {
|
||||
compilation.warnings.push( /** @type {WebpackError} */
|
||||
new Error(`${name} contains invalid source map`));
|
||||
} else {
|
||||
inputSourceMap = /** @type {SourceMapInput} */map;
|
||||
}
|
||||
}
|
||||
if (Buffer.isBuffer(input)) {
|
||||
input = input.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* @type {InternalOptions<T>}
|
||||
*/
|
||||
const options = {
|
||||
name,
|
||||
input,
|
||||
inputSourceMap,
|
||||
minimizer: {
|
||||
implementation: this.options.minimizer.implementation,
|
||||
// @ts-ignore https://github.com/Microsoft/TypeScript/issues/10727
|
||||
options: {
|
||||
...this.options.minimizer.options
|
||||
}
|
||||
},
|
||||
extractComments: this.options.extractComments
|
||||
};
|
||||
if (typeof options.minimizer.options.module === "undefined") {
|
||||
if (typeof info.javascriptModule !== "undefined") {
|
||||
options.minimizer.options.module = /** @type {PredefinedOptions<T>["module"]} */
|
||||
info.javascriptModule;
|
||||
} else if (/\.mjs(\?.*)?$/i.test(name)) {
|
||||
options.minimizer.options.module = /** @type {PredefinedOptions<T>["module"]} */true;
|
||||
} else if (/\.cjs(\?.*)?$/i.test(name)) {
|
||||
options.minimizer.options.module = /** @type {PredefinedOptions<T>["module"]} */false;
|
||||
}
|
||||
}
|
||||
if (typeof options.minimizer.options.ecma === "undefined") {
|
||||
options.minimizer.options.ecma = /** @type {PredefinedOptions<T>["ecma"]} */
|
||||
|
||||
TerserPlugin.getEcmaVersion(compiler.options.output.environment || {});
|
||||
}
|
||||
try {
|
||||
output = await (getWorker ? getWorker().transform(getSerializeJavascript()(options)) : minify(options));
|
||||
} catch (error) {
|
||||
const hasSourceMap = inputSourceMap && TerserPlugin.isSourceMap(inputSourceMap);
|
||||
compilation.errors.push( /** @type {WebpackError} */
|
||||
|
||||
TerserPlugin.buildError(error, name, hasSourceMap ? new (getTraceMapping().TraceMap)( /** @type {SourceMapInput} */inputSourceMap) :
|
||||
// eslint-disable-next-line no-undefined
|
||||
undefined,
|
||||
// eslint-disable-next-line no-undefined
|
||||
hasSourceMap ? compilation.requestShortener : undefined));
|
||||
return;
|
||||
}
|
||||
if (typeof output.code === "undefined") {
|
||||
compilation.errors.push( /** @type {WebpackError} */
|
||||
|
||||
new Error(`${name} from Terser plugin\nMinimizer doesn't return result`));
|
||||
return;
|
||||
}
|
||||
if (output.warnings && output.warnings.length > 0) {
|
||||
output.warnings = output.warnings.map(
|
||||
/**
|
||||
* @param {Error | string} item
|
||||
*/
|
||||
item => TerserPlugin.buildWarning(item, name));
|
||||
}
|
||||
if (output.errors && output.errors.length > 0) {
|
||||
const hasSourceMap = inputSourceMap && TerserPlugin.isSourceMap(inputSourceMap);
|
||||
output.errors = output.errors.map(
|
||||
/**
|
||||
* @param {Error | string} item
|
||||
*/
|
||||
item => TerserPlugin.buildError(item, name, hasSourceMap ? new (getTraceMapping().TraceMap)( /** @type {SourceMapInput} */inputSourceMap) :
|
||||
// eslint-disable-next-line no-undefined
|
||||
undefined,
|
||||
// eslint-disable-next-line no-undefined
|
||||
hasSourceMap ? compilation.requestShortener : undefined));
|
||||
}
|
||||
let shebang;
|
||||
if ( /** @type {ExtractCommentsObject} */
|
||||
this.options.extractComments.banner !== false && output.extractedComments && output.extractedComments.length > 0 && output.code.startsWith("#!")) {
|
||||
const firstNewlinePosition = output.code.indexOf("\n");
|
||||
shebang = output.code.substring(0, firstNewlinePosition);
|
||||
output.code = output.code.substring(firstNewlinePosition + 1);
|
||||
}
|
||||
if (output.map) {
|
||||
output.source = new SourceMapSource(output.code, name, output.map, input, /** @type {SourceMapInput} */inputSourceMap, true);
|
||||
} else {
|
||||
output.source = new RawSource(output.code);
|
||||
}
|
||||
if (output.extractedComments && output.extractedComments.length > 0) {
|
||||
const commentsFilename = /** @type {ExtractCommentsObject} */
|
||||
this.options.extractComments.filename || "[file].LICENSE.txt[query]";
|
||||
let query = "";
|
||||
let filename = name;
|
||||
const querySplit = filename.indexOf("?");
|
||||
if (querySplit >= 0) {
|
||||
query = filename.slice(querySplit);
|
||||
filename = filename.slice(0, querySplit);
|
||||
}
|
||||
const lastSlashIndex = filename.lastIndexOf("/");
|
||||
const basename = lastSlashIndex === -1 ? filename : filename.slice(lastSlashIndex + 1);
|
||||
const data = {
|
||||
filename,
|
||||
basename,
|
||||
query
|
||||
};
|
||||
output.commentsFilename = compilation.getPath(commentsFilename, data);
|
||||
let banner;
|
||||
|
||||
// Add a banner to the original file
|
||||
if ( /** @type {ExtractCommentsObject} */
|
||||
this.options.extractComments.banner !== false) {
|
||||
banner = /** @type {ExtractCommentsObject} */
|
||||
this.options.extractComments.banner || `For license information please see ${path.relative(path.dirname(name), output.commentsFilename).replace(/\\/g, "/")}`;
|
||||
if (typeof banner === "function") {
|
||||
banner = banner(output.commentsFilename);
|
||||
}
|
||||
if (banner) {
|
||||
output.source = new ConcatSource(shebang ? `${shebang}\n` : "", `/*! ${banner} */\n`, output.source);
|
||||
}
|
||||
}
|
||||
const extractedCommentsString = output.extractedComments.sort().join("\n\n");
|
||||
output.extractedCommentsSource = new RawSource(`${extractedCommentsString}\n`);
|
||||
}
|
||||
await cacheItem.storePromise({
|
||||
source: output.source,
|
||||
errors: output.errors,
|
||||
warnings: output.warnings,
|
||||
commentsFilename: output.commentsFilename,
|
||||
extractedCommentsSource: output.extractedCommentsSource
|
||||
});
|
||||
}
|
||||
if (output.warnings && output.warnings.length > 0) {
|
||||
for (const warning of output.warnings) {
|
||||
compilation.warnings.push( /** @type {WebpackError} */warning);
|
||||
}
|
||||
}
|
||||
if (output.errors && output.errors.length > 0) {
|
||||
for (const error of output.errors) {
|
||||
compilation.errors.push( /** @type {WebpackError} */error);
|
||||
}
|
||||
}
|
||||
|
||||
/** @type {Record<string, any>} */
|
||||
const newInfo = {
|
||||
minimized: true
|
||||
};
|
||||
const {
|
||||
source,
|
||||
extractedCommentsSource
|
||||
} = output;
|
||||
|
||||
// Write extracted comments to commentsFilename
|
||||
if (extractedCommentsSource) {
|
||||
const {
|
||||
commentsFilename
|
||||
} = output;
|
||||
newInfo.related = {
|
||||
license: commentsFilename
|
||||
};
|
||||
allExtractedComments.set(name, {
|
||||
extractedCommentsSource,
|
||||
commentsFilename
|
||||
});
|
||||
}
|
||||
compilation.updateAsset(name, source, newInfo);
|
||||
});
|
||||
}
|
||||
const limit = getWorker && numberOfAssets > 0 ? ( /** @type {number} */numberOfWorkers) : scheduledTasks.length;
|
||||
await throttleAll(limit, scheduledTasks);
|
||||
if (initializedWorker) {
|
||||
await initializedWorker.end();
|
||||
}
|
||||
|
||||
/** @typedef {{ source: import("webpack").sources.Source, commentsFilename: string, from: string }} ExtractedCommentsInfoWIthFrom */
|
||||
await Array.from(allExtractedComments).sort().reduce(
|
||||
/**
|
||||
* @param {Promise<unknown>} previousPromise
|
||||
* @param {[string, ExtractedCommentsInfo]} extractedComments
|
||||
* @returns {Promise<ExtractedCommentsInfoWIthFrom>}
|
||||
*/
|
||||
async (previousPromise, [from, value]) => {
|
||||
const previous = /** @type {ExtractedCommentsInfoWIthFrom | undefined} **/
|
||||
await previousPromise;
|
||||
const {
|
||||
commentsFilename,
|
||||
extractedCommentsSource
|
||||
} = value;
|
||||
if (previous && previous.commentsFilename === commentsFilename) {
|
||||
const {
|
||||
from: previousFrom,
|
||||
source: prevSource
|
||||
} = previous;
|
||||
const mergedName = `${previousFrom}|${from}`;
|
||||
const name = `${commentsFilename}|${mergedName}`;
|
||||
const eTag = [prevSource, extractedCommentsSource].map(item => cache.getLazyHashedEtag(item)).reduce((previousValue, currentValue) => cache.mergeEtags(previousValue, currentValue));
|
||||
let source = await cache.getPromise(name, eTag);
|
||||
if (!source) {
|
||||
source = new ConcatSource(Array.from(new Set([... /** @type {string}*/prevSource.source().split("\n\n"), ... /** @type {string}*/extractedCommentsSource.source().split("\n\n")])).join("\n\n"));
|
||||
await cache.storePromise(name, eTag, source);
|
||||
}
|
||||
compilation.updateAsset(commentsFilename, source);
|
||||
return {
|
||||
source,
|
||||
commentsFilename,
|
||||
from: mergedName
|
||||
};
|
||||
}
|
||||
const existingAsset = compilation.getAsset(commentsFilename);
|
||||
if (existingAsset) {
|
||||
return {
|
||||
source: existingAsset.source,
|
||||
commentsFilename,
|
||||
from: commentsFilename
|
||||
};
|
||||
}
|
||||
compilation.emitAsset(commentsFilename, extractedCommentsSource, {
|
||||
extractedComments: true
|
||||
});
|
||||
return {
|
||||
source: extractedCommentsSource,
|
||||
commentsFilename,
|
||||
from
|
||||
};
|
||||
}, /** @type {Promise<unknown>} */Promise.resolve());
|
||||
}
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @param {any} environment
|
||||
* @returns {number}
|
||||
*/
|
||||
static getEcmaVersion(environment) {
|
||||
// ES 6th
|
||||
if (environment.arrowFunction || environment.const || environment.destructuring || environment.forOf || environment.module) {
|
||||
return 2015;
|
||||
}
|
||||
|
||||
// ES 11th
|
||||
if (environment.bigIntLiteral || environment.dynamicImport) {
|
||||
return 2020;
|
||||
}
|
||||
return 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Compiler} compiler
|
||||
* @returns {void}
|
||||
*/
|
||||
apply(compiler) {
|
||||
const pluginName = this.constructor.name;
|
||||
const availableNumberOfCores = TerserPlugin.getAvailableNumberOfCores(this.options.parallel);
|
||||
compiler.hooks.compilation.tap(pluginName, compilation => {
|
||||
const hooks = compiler.webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(compilation);
|
||||
const data = getSerializeJavascript()({
|
||||
minimizer: typeof this.options.minimizer.implementation.getMinimizerVersion !== "undefined" ? this.options.minimizer.implementation.getMinimizerVersion() || "0.0.0" : "0.0.0",
|
||||
options: this.options.minimizer.options
|
||||
});
|
||||
hooks.chunkHash.tap(pluginName, (chunk, hash) => {
|
||||
hash.update("TerserPlugin");
|
||||
hash.update(data);
|
||||
});
|
||||
compilation.hooks.processAssets.tapPromise({
|
||||
name: pluginName,
|
||||
stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,
|
||||
additionalAssets: true
|
||||
}, assets => this.optimize(compiler, compilation, assets, {
|
||||
availableNumberOfCores
|
||||
}));
|
||||
compilation.hooks.statsPrinter.tap(pluginName, stats => {
|
||||
stats.hooks.print.for("asset.info.minimized").tap("terser-webpack-plugin", (minimized, {
|
||||
green,
|
||||
formatFlag
|
||||
}) => minimized ? /** @type {Function} */green( /** @type {Function} */formatFlag("minimized")) : "");
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
TerserPlugin.terserMinify = terserMinify;
|
||||
TerserPlugin.uglifyJsMinify = uglifyJsMinify;
|
||||
TerserPlugin.swcMinify = swcMinify;
|
||||
TerserPlugin.esbuildMinify = esbuildMinify;
|
||||
module.exports = TerserPlugin;
|
48
app_vue/node_modules/terser-webpack-plugin/dist/minify.js
generated
vendored
Normal file
48
app_vue/node_modules/terser-webpack-plugin/dist/minify.js
generated
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
"use strict";
|
||||
|
||||
/** @typedef {import("./index.js").MinimizedResult} MinimizedResult */
|
||||
/** @typedef {import("./index.js").CustomOptions} CustomOptions */
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @param {import("./index.js").InternalOptions<T>} options
|
||||
* @returns {Promise<MinimizedResult>}
|
||||
*/
|
||||
async function minify(options) {
|
||||
const {
|
||||
name,
|
||||
input,
|
||||
inputSourceMap,
|
||||
extractComments
|
||||
} = options;
|
||||
const {
|
||||
implementation,
|
||||
options: minimizerOptions
|
||||
} = options.minimizer;
|
||||
return implementation({
|
||||
[name]: input
|
||||
}, inputSourceMap, minimizerOptions, extractComments);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} options
|
||||
* @returns {Promise<MinimizedResult>}
|
||||
*/
|
||||
async function transform(options) {
|
||||
// 'use strict' => this === undefined (Clean Scope)
|
||||
// Safer for possible security issues, albeit not critical at all here
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
const evaluatedOptions =
|
||||
/**
|
||||
* @template T
|
||||
* @type {import("./index.js").InternalOptions<T>}
|
||||
* */
|
||||
|
||||
// eslint-disable-next-line no-new-func
|
||||
new Function("exports", "require", "module", "__filename", "__dirname", `'use strict'\nreturn ${options}`)(exports, require, module, __filename, __dirname);
|
||||
return minify(evaluatedOptions);
|
||||
}
|
||||
module.exports = {
|
||||
minify,
|
||||
transform
|
||||
};
|
164
app_vue/node_modules/terser-webpack-plugin/dist/options.json
generated
vendored
Normal file
164
app_vue/node_modules/terser-webpack-plugin/dist/options.json
generated
vendored
Normal file
@ -0,0 +1,164 @@
|
||||
{
|
||||
"definitions": {
|
||||
"Rule": {
|
||||
"description": "Filtering rule as regex or string.",
|
||||
"anyOf": [
|
||||
{
|
||||
"instanceof": "RegExp",
|
||||
"tsType": "RegExp"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Rules": {
|
||||
"description": "Filtering rules.",
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "A rule condition.",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Rule"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/Rule"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"title": "TerserPluginOptions",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"test": {
|
||||
"description": "Include all modules that pass test assertion.",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#test",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Rules"
|
||||
}
|
||||
]
|
||||
},
|
||||
"include": {
|
||||
"description": "Include all modules matching any of these conditions.",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#include",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Rules"
|
||||
}
|
||||
]
|
||||
},
|
||||
"exclude": {
|
||||
"description": "Exclude all modules matching any of these conditions.",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#exclude",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Rules"
|
||||
}
|
||||
]
|
||||
},
|
||||
"terserOptions": {
|
||||
"description": "Options for `terser` (by default) or custom `minify` function.",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions",
|
||||
"additionalProperties": true,
|
||||
"type": "object"
|
||||
},
|
||||
"extractComments": {
|
||||
"description": "Whether comments shall be extracted to a separate file.",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#extractcomments",
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
{
|
||||
"instanceof": "RegExp"
|
||||
},
|
||||
{
|
||||
"instanceof": "Function"
|
||||
},
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"condition": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
{
|
||||
"instanceof": "RegExp"
|
||||
},
|
||||
{
|
||||
"instanceof": "Function"
|
||||
}
|
||||
],
|
||||
"description": "Condition what comments you need extract.",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#condition"
|
||||
},
|
||||
"filename": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
{
|
||||
"instanceof": "Function"
|
||||
}
|
||||
],
|
||||
"description": "The file where the extracted comments will be stored. Default is to append the suffix .LICENSE.txt to the original filename.",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#filename"
|
||||
},
|
||||
"banner": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
{
|
||||
"instanceof": "Function"
|
||||
}
|
||||
],
|
||||
"description": "The banner text that points to the extracted file and will be added on top of the original file",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#banner"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
]
|
||||
},
|
||||
"parallel": {
|
||||
"description": "Use multi-process parallel running to improve the build speed.",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#parallel",
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "integer"
|
||||
}
|
||||
]
|
||||
},
|
||||
"minify": {
|
||||
"description": "Allows you to override default minify function.",
|
||||
"link": "https://github.com/webpack-contrib/terser-webpack-plugin#number",
|
||||
"instanceof": "Function"
|
||||
}
|
||||
}
|
||||
}
|
657
app_vue/node_modules/terser-webpack-plugin/dist/utils.js
generated
vendored
Normal file
657
app_vue/node_modules/terser-webpack-plugin/dist/utils.js
generated
vendored
Normal file
@ -0,0 +1,657 @@
|
||||
"use strict";
|
||||
|
||||
/** @typedef {import("@jridgewell/trace-mapping").SourceMapInput} SourceMapInput */
|
||||
/** @typedef {import("./index.js").ExtractCommentsOptions} ExtractCommentsOptions */
|
||||
/** @typedef {import("./index.js").ExtractCommentsFunction} ExtractCommentsFunction */
|
||||
/** @typedef {import("./index.js").ExtractCommentsCondition} ExtractCommentsCondition */
|
||||
/** @typedef {import("./index.js").Input} Input */
|
||||
/** @typedef {import("./index.js").MinimizedResult} MinimizedResult */
|
||||
/** @typedef {import("./index.js").CustomOptions} CustomOptions */
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {import("./index.js").PredefinedOptions<T>} PredefinedOptions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Array<string>} ExtractedComments
|
||||
*/
|
||||
|
||||
const notSettled = Symbol(`not-settled`);
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @typedef {() => Promise<T>} Task
|
||||
*/
|
||||
|
||||
/**
|
||||
* Run tasks with limited concurrency.
|
||||
* @template T
|
||||
* @param {number} limit - Limit of tasks that run at once.
|
||||
* @param {Task<T>[]} tasks - List of tasks to run.
|
||||
* @returns {Promise<T[]>} A promise that fulfills to an array of the results
|
||||
*/
|
||||
function throttleAll(limit, tasks) {
|
||||
if (!Number.isInteger(limit) || limit < 1) {
|
||||
throw new TypeError(`Expected \`limit\` to be a finite number > 0, got \`${limit}\` (${typeof limit})`);
|
||||
}
|
||||
if (!Array.isArray(tasks) || !tasks.every(task => typeof task === `function`)) {
|
||||
throw new TypeError(`Expected \`tasks\` to be a list of functions returning a promise`);
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
const result = Array(tasks.length).fill(notSettled);
|
||||
const entries = tasks.entries();
|
||||
const next = () => {
|
||||
const {
|
||||
done,
|
||||
value
|
||||
} = entries.next();
|
||||
if (done) {
|
||||
const isLast = !result.includes(notSettled);
|
||||
if (isLast) resolve( /** @type{T[]} **/result);
|
||||
return;
|
||||
}
|
||||
const [index, task] = value;
|
||||
|
||||
/**
|
||||
* @param {T} x
|
||||
*/
|
||||
const onFulfilled = x => {
|
||||
result[index] = x;
|
||||
next();
|
||||
};
|
||||
task().then(onFulfilled, reject);
|
||||
};
|
||||
Array(limit).fill(0).forEach(next);
|
||||
});
|
||||
}
|
||||
|
||||
/* istanbul ignore next */
|
||||
/**
|
||||
* @param {Input} input
|
||||
* @param {SourceMapInput | undefined} sourceMap
|
||||
* @param {CustomOptions} minimizerOptions
|
||||
* @param {ExtractCommentsOptions | undefined} extractComments
|
||||
* @return {Promise<MinimizedResult>}
|
||||
*/
|
||||
async function terserMinify(input, sourceMap, minimizerOptions, extractComments) {
|
||||
/**
|
||||
* @param {any} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
const isObject = value => {
|
||||
const type = typeof value;
|
||||
return value != null && (type === "object" || type === "function");
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {import("terser").MinifyOptions & { sourceMap: undefined } & ({ output: import("terser").FormatOptions & { beautify: boolean } } | { format: import("terser").FormatOptions & { beautify: boolean } })} terserOptions
|
||||
* @param {ExtractedComments} extractedComments
|
||||
* @returns {ExtractCommentsFunction}
|
||||
*/
|
||||
const buildComments = (terserOptions, extractedComments) => {
|
||||
/** @type {{ [index: string]: ExtractCommentsCondition }} */
|
||||
const condition = {};
|
||||
let comments;
|
||||
if (terserOptions.format) {
|
||||
({
|
||||
comments
|
||||
} = terserOptions.format);
|
||||
} else if (terserOptions.output) {
|
||||
({
|
||||
comments
|
||||
} = terserOptions.output);
|
||||
}
|
||||
condition.preserve = typeof comments !== "undefined" ? comments : false;
|
||||
if (typeof extractComments === "boolean" && extractComments) {
|
||||
condition.extract = "some";
|
||||
} else if (typeof extractComments === "string" || extractComments instanceof RegExp) {
|
||||
condition.extract = extractComments;
|
||||
} else if (typeof extractComments === "function") {
|
||||
condition.extract = extractComments;
|
||||
} else if (extractComments && isObject(extractComments)) {
|
||||
condition.extract = typeof extractComments.condition === "boolean" && extractComments.condition ? "some" : typeof extractComments.condition !== "undefined" ? extractComments.condition : "some";
|
||||
} else {
|
||||
// No extract
|
||||
// Preserve using "commentsOpts" or "some"
|
||||
condition.preserve = typeof comments !== "undefined" ? comments : "some";
|
||||
condition.extract = false;
|
||||
}
|
||||
|
||||
// Ensure that both conditions are functions
|
||||
["preserve", "extract"].forEach(key => {
|
||||
/** @type {undefined | string} */
|
||||
let regexStr;
|
||||
/** @type {undefined | RegExp} */
|
||||
let regex;
|
||||
switch (typeof condition[key]) {
|
||||
case "boolean":
|
||||
condition[key] = condition[key] ? () => true : () => false;
|
||||
break;
|
||||
case "function":
|
||||
break;
|
||||
case "string":
|
||||
if (condition[key] === "all") {
|
||||
condition[key] = () => true;
|
||||
break;
|
||||
}
|
||||
if (condition[key] === "some") {
|
||||
condition[key] = /** @type {ExtractCommentsFunction} */
|
||||
(astNode, comment) => (comment.type === "comment2" || comment.type === "comment1") && /@preserve|@lic|@cc_on|^\**!/i.test(comment.value);
|
||||
break;
|
||||
}
|
||||
regexStr = /** @type {string} */condition[key];
|
||||
condition[key] = /** @type {ExtractCommentsFunction} */
|
||||
(astNode, comment) => new RegExp( /** @type {string} */regexStr).test(comment.value);
|
||||
break;
|
||||
default:
|
||||
regex = /** @type {RegExp} */condition[key];
|
||||
condition[key] = /** @type {ExtractCommentsFunction} */
|
||||
(astNode, comment) => /** @type {RegExp} */regex.test(comment.value);
|
||||
}
|
||||
});
|
||||
|
||||
// Redefine the comments function to extract and preserve
|
||||
// comments according to the two conditions
|
||||
return (astNode, comment) => {
|
||||
if ( /** @type {{ extract: ExtractCommentsFunction }} */
|
||||
condition.extract(astNode, comment)) {
|
||||
const commentText = comment.type === "comment2" ? `/*${comment.value}*/` : `//${comment.value}`;
|
||||
|
||||
// Don't include duplicate comments
|
||||
if (!extractedComments.includes(commentText)) {
|
||||
extractedComments.push(commentText);
|
||||
}
|
||||
}
|
||||
return /** @type {{ preserve: ExtractCommentsFunction }} */condition.preserve(astNode, comment);
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {PredefinedOptions<import("terser").MinifyOptions> & import("terser").MinifyOptions} [terserOptions={}]
|
||||
* @returns {import("terser").MinifyOptions & { sourceMap: undefined } & { compress: import("terser").CompressOptions } & ({ output: import("terser").FormatOptions & { beautify: boolean } } | { format: import("terser").FormatOptions & { beautify: boolean } })}
|
||||
*/
|
||||
const buildTerserOptions = (terserOptions = {}) => {
|
||||
// Need deep copy objects to avoid https://github.com/terser/terser/issues/366
|
||||
return {
|
||||
...terserOptions,
|
||||
compress: typeof terserOptions.compress === "boolean" ? terserOptions.compress ? {} : false : {
|
||||
...terserOptions.compress
|
||||
},
|
||||
// ecma: terserOptions.ecma,
|
||||
// ie8: terserOptions.ie8,
|
||||
// keep_classnames: terserOptions.keep_classnames,
|
||||
// keep_fnames: terserOptions.keep_fnames,
|
||||
mangle: terserOptions.mangle == null ? true : typeof terserOptions.mangle === "boolean" ? terserOptions.mangle : {
|
||||
...terserOptions.mangle
|
||||
},
|
||||
// module: terserOptions.module,
|
||||
// nameCache: { ...terserOptions.toplevel },
|
||||
// the `output` option is deprecated
|
||||
...(terserOptions.format ? {
|
||||
format: {
|
||||
beautify: false,
|
||||
...terserOptions.format
|
||||
}
|
||||
} : {
|
||||
output: {
|
||||
beautify: false,
|
||||
...terserOptions.output
|
||||
}
|
||||
}),
|
||||
parse: {
|
||||
...terserOptions.parse
|
||||
},
|
||||
// safari10: terserOptions.safari10,
|
||||
// Ignoring sourceMap from options
|
||||
// eslint-disable-next-line no-undefined
|
||||
sourceMap: undefined
|
||||
// toplevel: terserOptions.toplevel
|
||||
};
|
||||
};
|
||||
|
||||
// eslint-disable-next-line global-require
|
||||
const {
|
||||
minify
|
||||
} = require("terser");
|
||||
// Copy `terser` options
|
||||
const terserOptions = buildTerserOptions(minimizerOptions);
|
||||
|
||||
// Let terser generate a SourceMap
|
||||
if (sourceMap) {
|
||||
// @ts-ignore
|
||||
terserOptions.sourceMap = {
|
||||
asObject: true
|
||||
};
|
||||
}
|
||||
|
||||
/** @type {ExtractedComments} */
|
||||
const extractedComments = [];
|
||||
if (terserOptions.output) {
|
||||
terserOptions.output.comments = buildComments(terserOptions, extractedComments);
|
||||
} else if (terserOptions.format) {
|
||||
terserOptions.format.comments = buildComments(terserOptions, extractedComments);
|
||||
}
|
||||
if (terserOptions.compress) {
|
||||
// More optimizations
|
||||
if (typeof terserOptions.compress.ecma === "undefined") {
|
||||
terserOptions.compress.ecma = terserOptions.ecma;
|
||||
}
|
||||
|
||||
// https://github.com/webpack/webpack/issues/16135
|
||||
if (terserOptions.ecma === 5 && typeof terserOptions.compress.arrows === "undefined") {
|
||||
terserOptions.compress.arrows = false;
|
||||
}
|
||||
}
|
||||
const [[filename, code]] = Object.entries(input);
|
||||
const result = await minify({
|
||||
[filename]: code
|
||||
}, terserOptions);
|
||||
return {
|
||||
code: ( /** @type {string} **/result.code),
|
||||
// @ts-ignore
|
||||
// eslint-disable-next-line no-undefined
|
||||
map: result.map ? ( /** @type {SourceMapInput} **/result.map) : undefined,
|
||||
extractedComments
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {string | undefined}
|
||||
*/
|
||||
terserMinify.getMinimizerVersion = () => {
|
||||
let packageJson;
|
||||
try {
|
||||
// eslint-disable-next-line global-require
|
||||
packageJson = require("terser/package.json");
|
||||
} catch (error) {
|
||||
// Ignore
|
||||
}
|
||||
return packageJson && packageJson.version;
|
||||
};
|
||||
|
||||
/**
|
||||
* @returns {boolean | undefined}
|
||||
*/
|
||||
terserMinify.supportsWorkerThreads = () => true;
|
||||
|
||||
/* istanbul ignore next */
|
||||
/**
|
||||
* @param {Input} input
|
||||
* @param {SourceMapInput | undefined} sourceMap
|
||||
* @param {CustomOptions} minimizerOptions
|
||||
* @param {ExtractCommentsOptions | undefined} extractComments
|
||||
* @return {Promise<MinimizedResult>}
|
||||
*/
|
||||
async function uglifyJsMinify(input, sourceMap, minimizerOptions, extractComments) {
|
||||
/**
|
||||
* @param {any} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
const isObject = value => {
|
||||
const type = typeof value;
|
||||
return value != null && (type === "object" || type === "function");
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {import("uglify-js").MinifyOptions & { sourceMap: undefined } & { output: import("uglify-js").OutputOptions & { beautify: boolean }}} uglifyJsOptions
|
||||
* @param {ExtractedComments} extractedComments
|
||||
* @returns {ExtractCommentsFunction}
|
||||
*/
|
||||
const buildComments = (uglifyJsOptions, extractedComments) => {
|
||||
/** @type {{ [index: string]: ExtractCommentsCondition }} */
|
||||
const condition = {};
|
||||
const {
|
||||
comments
|
||||
} = uglifyJsOptions.output;
|
||||
condition.preserve = typeof comments !== "undefined" ? comments : false;
|
||||
if (typeof extractComments === "boolean" && extractComments) {
|
||||
condition.extract = "some";
|
||||
} else if (typeof extractComments === "string" || extractComments instanceof RegExp) {
|
||||
condition.extract = extractComments;
|
||||
} else if (typeof extractComments === "function") {
|
||||
condition.extract = extractComments;
|
||||
} else if (extractComments && isObject(extractComments)) {
|
||||
condition.extract = typeof extractComments.condition === "boolean" && extractComments.condition ? "some" : typeof extractComments.condition !== "undefined" ? extractComments.condition : "some";
|
||||
} else {
|
||||
// No extract
|
||||
// Preserve using "commentsOpts" or "some"
|
||||
condition.preserve = typeof comments !== "undefined" ? comments : "some";
|
||||
condition.extract = false;
|
||||
}
|
||||
|
||||
// Ensure that both conditions are functions
|
||||
["preserve", "extract"].forEach(key => {
|
||||
/** @type {undefined | string} */
|
||||
let regexStr;
|
||||
/** @type {undefined | RegExp} */
|
||||
let regex;
|
||||
switch (typeof condition[key]) {
|
||||
case "boolean":
|
||||
condition[key] = condition[key] ? () => true : () => false;
|
||||
break;
|
||||
case "function":
|
||||
break;
|
||||
case "string":
|
||||
if (condition[key] === "all") {
|
||||
condition[key] = () => true;
|
||||
break;
|
||||
}
|
||||
if (condition[key] === "some") {
|
||||
condition[key] = /** @type {ExtractCommentsFunction} */
|
||||
(astNode, comment) => (comment.type === "comment2" || comment.type === "comment1") && /@preserve|@lic|@cc_on|^\**!/i.test(comment.value);
|
||||
break;
|
||||
}
|
||||
regexStr = /** @type {string} */condition[key];
|
||||
condition[key] = /** @type {ExtractCommentsFunction} */
|
||||
(astNode, comment) => new RegExp( /** @type {string} */regexStr).test(comment.value);
|
||||
break;
|
||||
default:
|
||||
regex = /** @type {RegExp} */condition[key];
|
||||
condition[key] = /** @type {ExtractCommentsFunction} */
|
||||
(astNode, comment) => /** @type {RegExp} */regex.test(comment.value);
|
||||
}
|
||||
});
|
||||
|
||||
// Redefine the comments function to extract and preserve
|
||||
// comments according to the two conditions
|
||||
return (astNode, comment) => {
|
||||
if ( /** @type {{ extract: ExtractCommentsFunction }} */
|
||||
condition.extract(astNode, comment)) {
|
||||
const commentText = comment.type === "comment2" ? `/*${comment.value}*/` : `//${comment.value}`;
|
||||
|
||||
// Don't include duplicate comments
|
||||
if (!extractedComments.includes(commentText)) {
|
||||
extractedComments.push(commentText);
|
||||
}
|
||||
}
|
||||
return /** @type {{ preserve: ExtractCommentsFunction }} */condition.preserve(astNode, comment);
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {PredefinedOptions<import("uglify-js").MinifyOptions> & import("uglify-js").MinifyOptions} [uglifyJsOptions={}]
|
||||
* @returns {import("uglify-js").MinifyOptions & { sourceMap: undefined } & { output: import("uglify-js").OutputOptions & { beautify: boolean }}}
|
||||
*/
|
||||
const buildUglifyJsOptions = (uglifyJsOptions = {}) => {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
delete minimizerOptions.ecma;
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
delete minimizerOptions.module;
|
||||
|
||||
// Need deep copy objects to avoid https://github.com/terser/terser/issues/366
|
||||
return {
|
||||
...uglifyJsOptions,
|
||||
// warnings: uglifyJsOptions.warnings,
|
||||
parse: {
|
||||
...uglifyJsOptions.parse
|
||||
},
|
||||
compress: typeof uglifyJsOptions.compress === "boolean" ? uglifyJsOptions.compress : {
|
||||
...uglifyJsOptions.compress
|
||||
},
|
||||
mangle: uglifyJsOptions.mangle == null ? true : typeof uglifyJsOptions.mangle === "boolean" ? uglifyJsOptions.mangle : {
|
||||
...uglifyJsOptions.mangle
|
||||
},
|
||||
output: {
|
||||
beautify: false,
|
||||
...uglifyJsOptions.output
|
||||
},
|
||||
// Ignoring sourceMap from options
|
||||
// eslint-disable-next-line no-undefined
|
||||
sourceMap: undefined
|
||||
// toplevel: uglifyJsOptions.toplevel
|
||||
// nameCache: { ...uglifyJsOptions.toplevel },
|
||||
// ie8: uglifyJsOptions.ie8,
|
||||
// keep_fnames: uglifyJsOptions.keep_fnames,
|
||||
};
|
||||
};
|
||||
|
||||
// eslint-disable-next-line global-require, import/no-extraneous-dependencies
|
||||
const {
|
||||
minify
|
||||
} = require("uglify-js");
|
||||
|
||||
// Copy `uglify-js` options
|
||||
const uglifyJsOptions = buildUglifyJsOptions(minimizerOptions);
|
||||
|
||||
// Let terser generate a SourceMap
|
||||
if (sourceMap) {
|
||||
// @ts-ignore
|
||||
uglifyJsOptions.sourceMap = true;
|
||||
}
|
||||
|
||||
/** @type {ExtractedComments} */
|
||||
const extractedComments = [];
|
||||
|
||||
// @ts-ignore
|
||||
uglifyJsOptions.output.comments = buildComments(uglifyJsOptions, extractedComments);
|
||||
const [[filename, code]] = Object.entries(input);
|
||||
const result = await minify({
|
||||
[filename]: code
|
||||
}, uglifyJsOptions);
|
||||
return {
|
||||
code: result.code,
|
||||
// eslint-disable-next-line no-undefined
|
||||
map: result.map ? JSON.parse(result.map) : undefined,
|
||||
errors: result.error ? [result.error] : [],
|
||||
warnings: result.warnings || [],
|
||||
extractedComments
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {string | undefined}
|
||||
*/
|
||||
uglifyJsMinify.getMinimizerVersion = () => {
|
||||
let packageJson;
|
||||
try {
|
||||
// eslint-disable-next-line global-require, import/no-extraneous-dependencies
|
||||
packageJson = require("uglify-js/package.json");
|
||||
} catch (error) {
|
||||
// Ignore
|
||||
}
|
||||
return packageJson && packageJson.version;
|
||||
};
|
||||
|
||||
/**
|
||||
* @returns {boolean | undefined}
|
||||
*/
|
||||
uglifyJsMinify.supportsWorkerThreads = () => true;
|
||||
|
||||
/* istanbul ignore next */
|
||||
/**
|
||||
* @param {Input} input
|
||||
* @param {SourceMapInput | undefined} sourceMap
|
||||
* @param {CustomOptions} minimizerOptions
|
||||
* @return {Promise<MinimizedResult>}
|
||||
*/
|
||||
async function swcMinify(input, sourceMap, minimizerOptions) {
|
||||
/**
|
||||
* @param {PredefinedOptions<import("@swc/core").JsMinifyOptions> & import("@swc/core").JsMinifyOptions} [swcOptions={}]
|
||||
* @returns {import("@swc/core").JsMinifyOptions & { sourceMap: undefined } & { compress: import("@swc/core").TerserCompressOptions }}
|
||||
*/
|
||||
const buildSwcOptions = (swcOptions = {}) => {
|
||||
// Need deep copy objects to avoid https://github.com/terser/terser/issues/366
|
||||
return {
|
||||
...swcOptions,
|
||||
compress: typeof swcOptions.compress === "boolean" ? swcOptions.compress ? {} : false : {
|
||||
...swcOptions.compress
|
||||
},
|
||||
mangle: swcOptions.mangle == null ? true : typeof swcOptions.mangle === "boolean" ? swcOptions.mangle : {
|
||||
...swcOptions.mangle
|
||||
},
|
||||
// ecma: swcOptions.ecma,
|
||||
// keep_classnames: swcOptions.keep_classnames,
|
||||
// keep_fnames: swcOptions.keep_fnames,
|
||||
// module: swcOptions.module,
|
||||
// safari10: swcOptions.safari10,
|
||||
// toplevel: swcOptions.toplevel
|
||||
// eslint-disable-next-line no-undefined
|
||||
sourceMap: undefined
|
||||
};
|
||||
};
|
||||
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies, global-require
|
||||
const swc = require("@swc/core");
|
||||
// Copy `swc` options
|
||||
const swcOptions = buildSwcOptions(minimizerOptions);
|
||||
|
||||
// Let `swc` generate a SourceMap
|
||||
if (sourceMap) {
|
||||
// @ts-ignore
|
||||
swcOptions.sourceMap = true;
|
||||
}
|
||||
if (swcOptions.compress) {
|
||||
// More optimizations
|
||||
if (typeof swcOptions.compress.ecma === "undefined") {
|
||||
swcOptions.compress.ecma = swcOptions.ecma;
|
||||
}
|
||||
|
||||
// https://github.com/webpack/webpack/issues/16135
|
||||
if (swcOptions.ecma === 5 && typeof swcOptions.compress.arrows === "undefined") {
|
||||
swcOptions.compress.arrows = false;
|
||||
}
|
||||
}
|
||||
const [[filename, code]] = Object.entries(input);
|
||||
const result = await swc.minify(code, swcOptions);
|
||||
let map;
|
||||
if (result.map) {
|
||||
map = JSON.parse(result.map);
|
||||
|
||||
// TODO workaround for swc because `filename` is not preset as in `swc` signature as for `terser`
|
||||
map.sources = [filename];
|
||||
delete map.sourcesContent;
|
||||
}
|
||||
return {
|
||||
code: result.code,
|
||||
map
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {string | undefined}
|
||||
*/
|
||||
swcMinify.getMinimizerVersion = () => {
|
||||
let packageJson;
|
||||
try {
|
||||
// eslint-disable-next-line global-require, import/no-extraneous-dependencies
|
||||
packageJson = require("@swc/core/package.json");
|
||||
} catch (error) {
|
||||
// Ignore
|
||||
}
|
||||
return packageJson && packageJson.version;
|
||||
};
|
||||
|
||||
/**
|
||||
* @returns {boolean | undefined}
|
||||
*/
|
||||
swcMinify.supportsWorkerThreads = () => false;
|
||||
|
||||
/* istanbul ignore next */
|
||||
/**
|
||||
* @param {Input} input
|
||||
* @param {SourceMapInput | undefined} sourceMap
|
||||
* @param {CustomOptions} minimizerOptions
|
||||
* @return {Promise<MinimizedResult>}
|
||||
*/
|
||||
async function esbuildMinify(input, sourceMap, minimizerOptions) {
|
||||
/**
|
||||
* @param {PredefinedOptions<import("esbuild").TransformOptions> & import("esbuild").TransformOptions} [esbuildOptions={}]
|
||||
* @returns {import("esbuild").TransformOptions}
|
||||
*/
|
||||
const buildEsbuildOptions = (esbuildOptions = {}) => {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
delete esbuildOptions.ecma;
|
||||
if (esbuildOptions.module) {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
esbuildOptions.format = "esm";
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
delete esbuildOptions.module;
|
||||
|
||||
// Need deep copy objects to avoid https://github.com/terser/terser/issues/366
|
||||
return {
|
||||
minify: true,
|
||||
legalComments: "inline",
|
||||
...esbuildOptions,
|
||||
sourcemap: false
|
||||
};
|
||||
};
|
||||
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies, global-require
|
||||
const esbuild = require("esbuild");
|
||||
|
||||
// Copy `esbuild` options
|
||||
const esbuildOptions = buildEsbuildOptions(minimizerOptions);
|
||||
|
||||
// Let `esbuild` generate a SourceMap
|
||||
if (sourceMap) {
|
||||
esbuildOptions.sourcemap = true;
|
||||
esbuildOptions.sourcesContent = false;
|
||||
}
|
||||
const [[filename, code]] = Object.entries(input);
|
||||
esbuildOptions.sourcefile = filename;
|
||||
const result = await esbuild.transform(code, esbuildOptions);
|
||||
return {
|
||||
code: result.code,
|
||||
// eslint-disable-next-line no-undefined
|
||||
map: result.map ? JSON.parse(result.map) : undefined,
|
||||
warnings: result.warnings.length > 0 ? result.warnings.map(item => {
|
||||
const plugin = item.pluginName ? `\nPlugin Name: ${item.pluginName}` : "";
|
||||
const location = item.location ? `\n\n${item.location.file}:${item.location.line}:${item.location.column}:\n ${item.location.line} | ${item.location.lineText}\n\nSuggestion: ${item.location.suggestion}` : "";
|
||||
const notes = item.notes.length > 0 ? `\n\nNotes:\n${item.notes.map(note => `${note.location ? `[${note.location.file}:${note.location.line}:${note.location.column}] ` : ""}${note.text}${note.location ? `\nSuggestion: ${note.location.suggestion}` : ""}${note.location ? `\nLine text:\n${note.location.lineText}\n` : ""}`).join("\n")}` : "";
|
||||
return `${item.text} [${item.id}]${plugin}${location}${item.detail ? `\nDetails:\n${item.detail}` : ""}${notes}`;
|
||||
}) : []
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {string | undefined}
|
||||
*/
|
||||
esbuildMinify.getMinimizerVersion = () => {
|
||||
let packageJson;
|
||||
try {
|
||||
// eslint-disable-next-line global-require, import/no-extraneous-dependencies
|
||||
packageJson = require("esbuild/package.json");
|
||||
} catch (error) {
|
||||
// Ignore
|
||||
}
|
||||
return packageJson && packageJson.version;
|
||||
};
|
||||
|
||||
/**
|
||||
* @returns {boolean | undefined}
|
||||
*/
|
||||
esbuildMinify.supportsWorkerThreads = () => false;
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @param fn {(function(): any) | undefined}
|
||||
* @returns {function(): T}
|
||||
*/
|
||||
function memoize(fn) {
|
||||
let cache = false;
|
||||
/** @type {T} */
|
||||
let result;
|
||||
return () => {
|
||||
if (cache) {
|
||||
return result;
|
||||
}
|
||||
result = /** @type {function(): any} */fn();
|
||||
cache = true;
|
||||
// Allow to clean up memory for fn
|
||||
// and all dependent resources
|
||||
// eslint-disable-next-line no-undefined, no-param-reassign
|
||||
fn = undefined;
|
||||
return result;
|
||||
};
|
||||
}
|
||||
module.exports = {
|
||||
throttleAll,
|
||||
memoize,
|
||||
terserMinify,
|
||||
uglifyJsMinify,
|
||||
swcMinify,
|
||||
esbuildMinify
|
||||
};
|
21
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/LICENSE
generated
vendored
Normal file
21
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/LICENSE
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 Evgeny Poberezkin
|
||||
|
||||
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.
|
745
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/README.md
generated
vendored
Normal file
745
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/README.md
generated
vendored
Normal file
@ -0,0 +1,745 @@
|
||||
# ajv-keywords
|
||||
|
||||
Custom JSON-Schema keywords for [Ajv](https://github.com/epoberezkin/ajv) validator
|
||||
|
||||
[](https://github.com/ajv-validator/ajv-keywords/actions?query=workflow%3Abuild)
|
||||
[](https://www.npmjs.com/package/ajv-keywords)
|
||||
[](https://www.npmjs.com/package/ajv-keywords)
|
||||
[](https://coveralls.io/github/ajv-validator/ajv-keywords?branch=master)
|
||||
[](https://gitter.im/ajv-validator/ajv)
|
||||
|
||||
**Please note**: This readme file is for [ajv-keywords v5.0.0](https://github.com/ajv-validator/ajv-keywords/releases/tag/v5.0.0) that should be used with [ajv v8](https://github.com/ajv-validator/ajv).
|
||||
|
||||
[ajv-keywords v3](https://github.com/ajv-validator/ajv-keywords/tree/v3) should be used with [ajv v6](https://github.com/ajv-validator/ajv/tree/v6).
|
||||
|
||||
## Contents
|
||||
|
||||
- [Install](#install)
|
||||
- [Usage](#usage)
|
||||
- [Keywords](#keywords)
|
||||
- [Types](#types)
|
||||
- [typeof](#typeof)
|
||||
- [instanceof](#instanceof)<sup>\+</sup>
|
||||
- [Keywords for numbers](#keywords-for-numbers)
|
||||
- [range and exclusiveRange](#range-and-exclusiverange)
|
||||
- [Keywords for strings](#keywords-for-strings)
|
||||
- [regexp](#regexp)
|
||||
- [transform](#transform)<sup>\*</sup>
|
||||
- [Keywords for arrays](#keywords-for-arrays)
|
||||
- [uniqueItemProperties](#uniqueitemproperties)<sup>\+</sup>
|
||||
- [Keywords for objects](#keywords-for-objects)
|
||||
- [allRequired](#allrequired)
|
||||
- [anyRequired](#anyrequired)
|
||||
- [oneRequired](#onerequired)
|
||||
- [patternRequired](#patternrequired)
|
||||
- [prohibited](#prohibited)
|
||||
- [deepProperties](#deepproperties)
|
||||
- [deepRequired](#deeprequired)
|
||||
- [dynamicDefaults](#dynamicdefaults)<sup>\*</sup><sup>\+</sup>
|
||||
- [Keywords for all types](#keywords-for-all-types)
|
||||
- [select/selectCases/selectDefault](#selectselectcasesselectdefault)
|
||||
- [Security contact](#security-contact)
|
||||
- [Open-source software support](#open-source-software-support)
|
||||
- [License](#license)
|
||||
|
||||
<sup>\*</sup> - keywords that modify data
|
||||
<sup>\+</sup> - keywords that are not supported in [standalone validation code](https://github.com/ajv-validator/ajv/blob/master/docs/standalone.md)
|
||||
|
||||
## Install
|
||||
|
||||
To install version 4 to use with [Ajv v7](https://github.com/ajv-validator/ajv):
|
||||
|
||||
```
|
||||
npm install ajv-keywords
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
To add all available keywords:
|
||||
|
||||
```javascript
|
||||
const Ajv = require("ajv")
|
||||
const ajv = new Ajv()
|
||||
require("ajv-keywords")(ajv)
|
||||
|
||||
ajv.validate({instanceof: "RegExp"}, /.*/) // true
|
||||
ajv.validate({instanceof: "RegExp"}, ".*") // false
|
||||
```
|
||||
|
||||
To add a single keyword:
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, "instanceof")
|
||||
```
|
||||
|
||||
To add multiple keywords:
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, ["typeof", "instanceof"])
|
||||
```
|
||||
|
||||
To add a single keyword directly (to avoid adding unused code):
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords/dist/keywords/select")(ajv, opts)
|
||||
```
|
||||
|
||||
To add all keywords via Ajv options:
|
||||
|
||||
```javascript
|
||||
const ajv = new Ajv({keywords: require("ajv-keywords/dist/definitions")(opts)})
|
||||
```
|
||||
|
||||
To add one or several keywords via options:
|
||||
|
||||
```javascript
|
||||
const ajv = new Ajv({
|
||||
keywords: [
|
||||
require("ajv-keywords/dist/definitions/typeof")(),
|
||||
require("ajv-keywords/dist/definitions/instanceof")(),
|
||||
// select exports an array of 3 definitions - see "select" in docs
|
||||
...require("ajv-keywords/dist/definitions/select")(opts),
|
||||
],
|
||||
})
|
||||
```
|
||||
|
||||
`opts` is an optional object with a property `defaultMeta` - URI of meta-schema to use for keywords that use subschemas (`select` and `deepProperties`). The default is `"http://json-schema.org/schema"`.
|
||||
|
||||
## Keywords
|
||||
|
||||
### Types
|
||||
|
||||
#### `typeof`
|
||||
|
||||
Based on JavaScript `typeof` operation.
|
||||
|
||||
The value of the keyword should be a string (`"undefined"`, `"string"`, `"number"`, `"object"`, `"function"`, `"boolean"` or `"symbol"`) or an array of strings.
|
||||
|
||||
To pass validation the result of `typeof` operation on the value should be equal to the string (or one of the strings in the array).
|
||||
|
||||
```javascript
|
||||
ajv.validate({typeof: "undefined"}, undefined) // true
|
||||
ajv.validate({typeof: "undefined"}, null) // false
|
||||
ajv.validate({typeof: ["undefined", "object"]}, null) // true
|
||||
```
|
||||
|
||||
#### `instanceof`
|
||||
|
||||
Based on JavaScript `instanceof` operation.
|
||||
|
||||
The value of the keyword should be a string (`"Object"`, `"Array"`, `"Function"`, `"Number"`, `"String"`, `"Date"`, `"RegExp"` or `"Promise"`) or an array of strings.
|
||||
|
||||
To pass validation the result of `data instanceof ...` operation on the value should be true:
|
||||
|
||||
```javascript
|
||||
ajv.validate({instanceof: "Array"}, []) // true
|
||||
ajv.validate({instanceof: "Array"}, {}) // false
|
||||
ajv.validate({instanceof: ["Array", "Function"]}, function () {}) // true
|
||||
```
|
||||
|
||||
You can add your own constructor function to be recognised by this keyword:
|
||||
|
||||
```javascript
|
||||
class MyClass {}
|
||||
const instanceofDef = require("ajv-keywords/dist/definitions/instanceof")
|
||||
instanceofDef.CONSTRUCTORS.MyClass = MyClass
|
||||
ajv.validate({instanceof: "MyClass"}, new MyClass()) // true
|
||||
```
|
||||
|
||||
**Please note**: currently `instanceof` is not supported in [standalone validation code](https://github.com/ajv-validator/ajv/blob/master/docs/standalone.md) - it has to be implemented as [`code` keyword](https://github.com/ajv-validator/ajv/blob/master/docs/keywords.md#define-keyword-with-code-generation-function) to support it (PR is welcome).
|
||||
|
||||
### Keywords for numbers
|
||||
|
||||
#### `range` and `exclusiveRange`
|
||||
|
||||
Syntax sugar for the combination of minimum and maximum keywords (or exclusiveMinimum and exclusiveMaximum), also fails schema compilation if there are no numbers in the range.
|
||||
|
||||
The value of these keywords must be an array consisting of two numbers, the second must be greater or equal than the first one.
|
||||
|
||||
If the validated value is not a number the validation passes, otherwise to pass validation the value should be greater (or equal) than the first number and smaller (or equal) than the second number in the array.
|
||||
|
||||
```javascript
|
||||
const schema = {type: "number", range: [1, 3]}
|
||||
ajv.validate(schema, 1) // true
|
||||
ajv.validate(schema, 2) // true
|
||||
ajv.validate(schema, 3) // true
|
||||
ajv.validate(schema, 0.99) // false
|
||||
ajv.validate(schema, 3.01) // false
|
||||
|
||||
const schema = {type: "number", exclusiveRange: [1, 3]}
|
||||
ajv.validate(schema, 1.01) // true
|
||||
ajv.validate(schema, 2) // true
|
||||
ajv.validate(schema, 2.99) // true
|
||||
ajv.validate(schema, 1) // false
|
||||
ajv.validate(schema, 3) // false
|
||||
```
|
||||
|
||||
### Keywords for strings
|
||||
|
||||
#### `regexp`
|
||||
|
||||
This keyword allows to use regular expressions with flags in schemas, and also without `"u"` flag when needed (the standard `pattern` keyword does not support flags and implies the presence of `"u"` flag).
|
||||
|
||||
This keyword applies only to strings. If the data is not a string, the validation succeeds.
|
||||
|
||||
The value of this keyword can be either a string (the result of `regexp.toString()`) or an object with the properties `pattern` and `flags` (the same strings that should be passed to RegExp constructor).
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
properties: {
|
||||
foo: {type: "string", regexp: "/foo/i"},
|
||||
bar: {type: "string", regexp: {pattern: "bar", flags: "i"}},
|
||||
},
|
||||
}
|
||||
|
||||
const validData = {
|
||||
foo: "Food",
|
||||
bar: "Barmen",
|
||||
}
|
||||
|
||||
const invalidData = {
|
||||
foo: "fog",
|
||||
bar: "bad",
|
||||
}
|
||||
```
|
||||
|
||||
#### `transform`
|
||||
|
||||
This keyword allows a string to be modified during validation.
|
||||
|
||||
This keyword applies only to strings. If the data is not a string, the `transform` keyword is ignored.
|
||||
|
||||
A standalone string cannot be modified, i.e. `data = 'a'; ajv.validate(schema, data);`, because strings are passed by value
|
||||
|
||||
**Supported transformations:**
|
||||
|
||||
- `trim`: remove whitespace from start and end
|
||||
- `trimStart`/`trimLeft`: remove whitespace from start
|
||||
- `trimEnd`/`trimRight`: remove whitespace from end
|
||||
- `toLowerCase`: convert to lower case
|
||||
- `toUpperCase`: convert to upper case
|
||||
- `toEnumCase`: change string case to be equal to one of `enum` values in the schema
|
||||
|
||||
Transformations are applied in the order they are listed.
|
||||
|
||||
Note: `toEnumCase` requires that all allowed values are unique when case insensitive.
|
||||
|
||||
**Example: multiple transformations**
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, "transform")
|
||||
|
||||
const schema = {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "string",
|
||||
transform: ["trim", "toLowerCase"],
|
||||
},
|
||||
}
|
||||
|
||||
const data = [" MixCase "]
|
||||
ajv.validate(schema, data)
|
||||
console.log(data) // ['mixcase']
|
||||
```
|
||||
|
||||
**Example: `enumcase`**
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, ["transform"])
|
||||
|
||||
const schema = {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "string",
|
||||
transform: ["trim", "toEnumCase"],
|
||||
enum: ["pH"],
|
||||
},
|
||||
}
|
||||
|
||||
const data = ["ph", " Ph", "PH", "pH "]
|
||||
ajv.validate(schema, data)
|
||||
console.log(data) // ['pH','pH','pH','pH']
|
||||
```
|
||||
|
||||
### Keywords for arrays
|
||||
|
||||
#### `uniqueItemProperties`
|
||||
|
||||
The keyword allows to check that some properties in array items are unique.
|
||||
|
||||
This keyword applies only to arrays. If the data is not an array, the validation succeeds.
|
||||
|
||||
The value of this keyword must be an array of strings - property names that should have unique values across all items.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "array",
|
||||
uniqueItemProperties: ["id", "name"],
|
||||
}
|
||||
|
||||
const validData = [{id: 1}, {id: 2}, {id: 3}]
|
||||
|
||||
const invalidData1 = [
|
||||
{id: 1},
|
||||
{id: 1}, // duplicate "id"
|
||||
{id: 3},
|
||||
]
|
||||
|
||||
const invalidData2 = [
|
||||
{id: 1, name: "taco"},
|
||||
{id: 2, name: "taco"}, // duplicate "name"
|
||||
{id: 3, name: "salsa"},
|
||||
]
|
||||
```
|
||||
|
||||
This keyword is contributed by [@blainesch](https://github.com/blainesch).
|
||||
|
||||
**Please note**: currently `uniqueItemProperties` is not supported in [standalone validation code](https://github.com/ajv-validator/ajv/blob/master/docs/standalone.md) - it has to be implemented as [`code` keyword](https://github.com/ajv-validator/ajv/blob/master/docs/keywords.md#define-keyword-with-code-generation-function) to support it (PR is welcome).
|
||||
|
||||
### Keywords for objects
|
||||
|
||||
#### `allRequired`
|
||||
|
||||
This keyword allows to require the presence of all properties used in `properties` keyword in the same schema object.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword must be boolean.
|
||||
|
||||
If the value of the keyword is `false`, the validation succeeds.
|
||||
|
||||
If the value of the keyword is `true`, the validation succeeds if the data contains all properties defined in `properties` keyword (in the same schema object).
|
||||
|
||||
If the `properties` keyword is not present in the same schema object, schema compilation will throw exception.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
properties: {
|
||||
foo: {type: "number"},
|
||||
bar: {type: "number"},
|
||||
},
|
||||
allRequired: true,
|
||||
}
|
||||
|
||||
const validData = {foo: 1, bar: 2}
|
||||
const alsoValidData = {foo: 1, bar: 2, baz: 3}
|
||||
|
||||
const invalidDataList = [{}, {foo: 1}, {bar: 2}]
|
||||
```
|
||||
|
||||
#### `anyRequired`
|
||||
|
||||
This keyword allows to require the presence of any (at least one) property from the list.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword must be an array of strings, each string being a property name. For data object to be valid at least one of the properties in this array should be present in the object.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
anyRequired: ["foo", "bar"],
|
||||
}
|
||||
|
||||
const validData = {foo: 1}
|
||||
const alsoValidData = {foo: 1, bar: 2}
|
||||
|
||||
const invalidDataList = [{}, {baz: 3}]
|
||||
```
|
||||
|
||||
#### `oneRequired`
|
||||
|
||||
This keyword allows to require the presence of only one property from the list.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword must be an array of strings, each string being a property name. For data object to be valid exactly one of the properties in this array should be present in the object.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
oneRequired: ["foo", "bar"],
|
||||
}
|
||||
|
||||
const validData = {foo: 1}
|
||||
const alsoValidData = {bar: 2, baz: 3}
|
||||
|
||||
const invalidDataList = [{}, {baz: 3}, {foo: 1, bar: 2}]
|
||||
```
|
||||
|
||||
#### `patternRequired`
|
||||
|
||||
This keyword allows to require the presence of properties that match some pattern(s).
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword should be an array of strings, each string being a regular expression. For data object to be valid each regular expression in this array should match at least one property name in the data object.
|
||||
|
||||
If the array contains multiple regular expressions, more than one expression can match the same property name.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
patternRequired: ["f.*o", "b.*r"],
|
||||
}
|
||||
|
||||
const validData = {foo: 1, bar: 2}
|
||||
const alsoValidData = {foobar: 3}
|
||||
|
||||
const invalidDataList = [{}, {foo: 1}, {bar: 2}]
|
||||
```
|
||||
|
||||
#### `prohibited`
|
||||
|
||||
This keyword allows to prohibit that any of the properties in the list is present in the object.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword should be an array of strings, each string being a property name. For data object to be valid none of the properties in this array should be present in the object.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
prohibited: ["foo", "bar"],
|
||||
}
|
||||
|
||||
const validData = {baz: 1}
|
||||
const alsoValidData = {}
|
||||
|
||||
const invalidDataList = [{foo: 1}, {bar: 2}, {foo: 1, bar: 2}]
|
||||
```
|
||||
|
||||
**Please note**: `{prohibited: ['foo', 'bar']}` is equivalent to `{not: {anyRequired: ['foo', 'bar']}}` (i.e. it has the same validation result for any data).
|
||||
|
||||
#### `deepProperties`
|
||||
|
||||
This keyword allows to validate deep properties (identified by JSON pointers).
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value should be an object, where keys are JSON pointers to the data, starting from the current position in data, and the values are JSON schemas. For data object to be valid the value of each JSON pointer should be valid according to the corresponding schema.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
deepProperties: {
|
||||
"/users/1/role": {enum: ["admin"]},
|
||||
},
|
||||
}
|
||||
|
||||
const validData = {
|
||||
users: [
|
||||
{},
|
||||
{
|
||||
id: 123,
|
||||
role: "admin",
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const alsoValidData = {
|
||||
users: {
|
||||
1: {
|
||||
id: 123,
|
||||
role: "admin",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const invalidData = {
|
||||
users: [
|
||||
{},
|
||||
{
|
||||
id: 123,
|
||||
role: "user",
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const alsoInvalidData = {
|
||||
users: {
|
||||
1: {
|
||||
id: 123,
|
||||
role: "user",
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
#### `deepRequired`
|
||||
|
||||
This keyword allows to check that some deep properties (identified by JSON pointers) are available.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value should be an array of JSON pointers to the data, starting from the current position in data. For data object to be valid each JSON pointer should be some existing part of the data.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
deepRequired: ["/users/1/role"],
|
||||
}
|
||||
|
||||
const validData = {
|
||||
users: [
|
||||
{},
|
||||
{
|
||||
id: 123,
|
||||
role: "admin",
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const invalidData = {
|
||||
users: [
|
||||
{},
|
||||
{
|
||||
id: 123,
|
||||
},
|
||||
],
|
||||
}
|
||||
```
|
||||
|
||||
See [json-schema-org/json-schema-spec#203](https://github.com/json-schema-org/json-schema-spec/issues/203#issue-197211916) for an example of the equivalent schema without `deepRequired` keyword.
|
||||
|
||||
### Keywords for all types
|
||||
|
||||
#### `select`/`selectCases`/`selectDefault`
|
||||
|
||||
**Please note**: these keywords are deprecated. It is recommended to use OpenAPI [discriminator](https://ajv.js.org/json-schema.html#discriminator) keyword supported by Ajv v8 instead of `select`.
|
||||
|
||||
These keywords allow to choose the schema to validate the data based on the value of some property in the validated data.
|
||||
|
||||
These keywords must be present in the same schema object (`selectDefault` is optional).
|
||||
|
||||
The value of `select` keyword should be a [\$data reference](https://github.com/ajv-validator/ajv/blob/master/docs/validation.md#data-reference) that points to any primitive JSON type (string, number, boolean or null) in the data that is validated. You can also use a constant of primitive type as the value of this keyword (e.g., for debugging purposes).
|
||||
|
||||
The value of `selectCases` keyword must be an object where each property name is a possible string representation of the value of `select` keyword and each property value is a corresponding schema (from draft-06 it can be boolean) that must be used to validate the data.
|
||||
|
||||
The value of `selectDefault` keyword is a schema (also can be boolean) that must be used to validate the data in case `selectCases` has no key equal to the stringified value of `select` keyword.
|
||||
|
||||
The validation succeeds in one of the following cases:
|
||||
|
||||
- the validation of data using selected schema succeeds,
|
||||
- none of the schemas is selected for validation,
|
||||
- the value of select is undefined (no property in the data that the data reference points to).
|
||||
|
||||
If `select` value (in data) is not a primitive type the validation fails.
|
||||
|
||||
This keyword correctly tracks evaluated properties and items to work with `unevaluatedProperties` and `unevaluatedItems` keywords - only properties and items from the subschema that was used (one of `selectCases` subschemas or `selectDefault` subschema) are marked as evaluated.
|
||||
|
||||
**Please note**: these keywords require Ajv `$data` option to support [\$data reference](https://github.com/ajv-validator/ajv/blob/master/docs/validation.md#data-reference).
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, "select")
|
||||
|
||||
const schema = {
|
||||
type: "object",
|
||||
required: ["kind"],
|
||||
properties: {
|
||||
kind: {type: "string"},
|
||||
},
|
||||
select: {$data: "0/kind"},
|
||||
selectCases: {
|
||||
foo: {
|
||||
required: ["foo"],
|
||||
properties: {
|
||||
kind: {},
|
||||
foo: {type: "string"},
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
bar: {
|
||||
required: ["bar"],
|
||||
properties: {
|
||||
kind: {},
|
||||
bar: {type: "number"},
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
},
|
||||
selectDefault: {
|
||||
propertyNames: {
|
||||
not: {enum: ["foo", "bar"]},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const validDataList = [
|
||||
{kind: "foo", foo: "any"},
|
||||
{kind: "bar", bar: 1},
|
||||
{kind: "anything_else", not_bar_or_foo: "any value"},
|
||||
]
|
||||
|
||||
const invalidDataList = [
|
||||
{kind: "foo"}, // no property foo
|
||||
{kind: "bar"}, // no property bar
|
||||
{kind: "foo", foo: "any", another: "any value"}, // additional property
|
||||
{kind: "bar", bar: 1, another: "any value"}, // additional property
|
||||
{kind: "anything_else", foo: "any"}, // property foo not allowed
|
||||
{kind: "anything_else", bar: 1}, // property bar not allowed
|
||||
]
|
||||
```
|
||||
|
||||
#### `dynamicDefaults`
|
||||
|
||||
This keyword allows to assign dynamic defaults to properties, such as timestamps, unique IDs etc.
|
||||
|
||||
This keyword only works if `useDefaults` options is used and not inside `anyOf` keywords etc., in the same way as [default keyword treated by Ajv](https://github.com/epoberezkin/ajv#assigning-defaults).
|
||||
|
||||
The keyword should be added on the object level. Its value should be an object with each property corresponding to a property name, in the same way as in standard `properties` keyword. The value of each property can be:
|
||||
|
||||
- an identifier of dynamic default function (a string)
|
||||
- an object with properties `func` (an identifier) and `args` (an object with parameters that will be passed to this function during schema compilation - see examples).
|
||||
|
||||
The properties used in `dynamicDefaults` should not be added to `required` keyword in the same schema (or validation will fail), because unlike `default` this keyword is processed after validation.
|
||||
|
||||
There are several predefined dynamic default functions:
|
||||
|
||||
- `"timestamp"` - current timestamp in milliseconds
|
||||
- `"datetime"` - current date and time as string (ISO, valid according to `date-time` format)
|
||||
- `"date"` - current date as string (ISO, valid according to `date` format)
|
||||
- `"time"` - current time as string (ISO, valid according to `time` format)
|
||||
- `"random"` - pseudo-random number in [0, 1) interval
|
||||
- `"randomint"` - pseudo-random integer number. If string is used as a property value, the function will randomly return 0 or 1. If object `{ func: 'randomint', args: { max: N } }` is used then the default will be an integer number in [0, N) interval.
|
||||
- `"seq"` - sequential integer number starting from 0. If string is used as a property value, the default sequence will be used. If object `{ func: 'seq', args: { name: 'foo'} }` is used then the sequence with name `"foo"` will be used. Sequences are global, even if different ajv instances are used.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
dynamicDefaults: {
|
||||
ts: "datetime",
|
||||
r: {func: "randomint", args: {max: 100}},
|
||||
id: {func: "seq", args: {name: "id"}},
|
||||
},
|
||||
properties: {
|
||||
ts: {
|
||||
type: "string",
|
||||
format: "date-time",
|
||||
},
|
||||
r: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
exclusiveMaximum: 100,
|
||||
},
|
||||
id: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const data = {}
|
||||
ajv.validate(data) // true
|
||||
data // { ts: '2016-12-01T22:07:28.829Z', r: 25, id: 0 }
|
||||
|
||||
const data1 = {}
|
||||
ajv.validate(data1) // true
|
||||
data1 // { ts: '2016-12-01T22:07:29.832Z', r: 68, id: 1 }
|
||||
|
||||
ajv.validate(data1) // true
|
||||
data1 // didn't change, as all properties were defined
|
||||
```
|
||||
|
||||
When using the `useDefaults` option value `"empty"`, properties and items equal to `null` or `""` (empty string) will be considered missing and assigned defaults. Use `allOf` [compound keyword](https://github.com/epoberezkin/ajv/blob/master/KEYWORDS.md#compound-keywords) to execute `dynamicDefaults` before validation.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
allOf: [
|
||||
{
|
||||
dynamicDefaults: {
|
||||
ts: "datetime",
|
||||
r: {func: "randomint", args: {min: 5, max: 100}},
|
||||
id: {func: "seq", args: {name: "id"}},
|
||||
},
|
||||
},
|
||||
{
|
||||
properties: {
|
||||
ts: {
|
||||
type: "string",
|
||||
},
|
||||
r: {
|
||||
type: "number",
|
||||
minimum: 5,
|
||||
exclusiveMaximum: 100,
|
||||
},
|
||||
id: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const data = {ts: "", r: null}
|
||||
ajv.validate(data) // true
|
||||
data // { ts: '2016-12-01T22:07:28.829Z', r: 25, id: 0 }
|
||||
```
|
||||
|
||||
You can add your own dynamic default function to be recognised by this keyword:
|
||||
|
||||
```javascript
|
||||
const uuid = require("uuid")
|
||||
|
||||
const def = require("ajv-keywords/dist/definitions/dynamicDefaults")
|
||||
def.DEFAULTS.uuid = () => uuid.v4
|
||||
|
||||
const schema = {
|
||||
dynamicDefaults: {id: "uuid"},
|
||||
properties: {id: {type: "string", format: "uuid"}},
|
||||
}
|
||||
|
||||
const data = {}
|
||||
ajv.validate(schema, data) // true
|
||||
data // { id: 'a1183fbe-697b-4030-9bcc-cfeb282a9150' };
|
||||
|
||||
const data1 = {}
|
||||
ajv.validate(schema, data1) // true
|
||||
data1 // { id: '5b008de7-1669-467a-a5c6-70fa244d7209' }
|
||||
```
|
||||
|
||||
You also can define dynamic default that accept parameters, e.g. version of uuid:
|
||||
|
||||
```javascript
|
||||
const uuid = require("uuid")
|
||||
|
||||
function getUuid(args) {
|
||||
const version = "v" + ((arvs && args.v) || "4")
|
||||
return uuid[version]
|
||||
}
|
||||
|
||||
const def = require("ajv-keywords/dist/definitions/dynamicDefaults")
|
||||
def.DEFAULTS.uuid = getUuid
|
||||
|
||||
const schema = {
|
||||
dynamicDefaults: {
|
||||
id1: "uuid", // v4
|
||||
id2: {func: "uuid", v: 4}, // v4
|
||||
id3: {func: "uuid", v: 1}, // v1
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
**Please note**: dynamic default functions are differentiated by the number of parameters they have (`function.length`). Functions that do not expect default must have one non-optional argument so that `function.length` > 0.
|
||||
|
||||
`dynamicDefaults` is not supported in [standalone validation code](https://github.com/ajv-validator/ajv/blob/master/docs/standalone.md).
|
||||
|
||||
## Security contact
|
||||
|
||||
To report a security vulnerability, please use the
|
||||
[Tidelift security contact](https://tidelift.com/security).
|
||||
Tidelift will coordinate the fix and disclosure.
|
||||
|
||||
Please do NOT report security vulnerabilities via GitHub issues.
|
||||
|
||||
## Open-source software support
|
||||
|
||||
Ajv-keywords is a part of [Tidelift subscription](https://tidelift.com/subscription/pkg/npm-ajv-keywords?utm_source=npm-ajv-keywords&utm_medium=referral&utm_campaign=readme) - it provides a centralised support to open-source software users, in addition to the support provided by software maintainers.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](https://github.com/epoberezkin/ajv-keywords/blob/master/LICENSE)
|
5
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_range.d.ts
generated
vendored
Normal file
5
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_range.d.ts
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import type { MacroKeywordDefinition } from "ajv";
|
||||
import type { GetDefinition } from "./_types";
|
||||
declare type RangeKwd = "range" | "exclusiveRange";
|
||||
export default function getRangeDef(keyword: RangeKwd): GetDefinition<MacroKeywordDefinition>;
|
||||
export {};
|
28
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_range.js
generated
vendored
Normal file
28
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_range.js
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
function getRangeDef(keyword) {
|
||||
return () => ({
|
||||
keyword,
|
||||
type: "number",
|
||||
schemaType: "array",
|
||||
macro: function ([min, max]) {
|
||||
validateRangeSchema(min, max);
|
||||
return keyword === "range"
|
||||
? { minimum: min, maximum: max }
|
||||
: { exclusiveMinimum: min, exclusiveMaximum: max };
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
minItems: 2,
|
||||
maxItems: 2,
|
||||
items: { type: "number" },
|
||||
},
|
||||
});
|
||||
function validateRangeSchema(min, max) {
|
||||
if (min > max || (keyword === "exclusiveRange" && min === max)) {
|
||||
throw new Error("There are no numbers in range");
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.default = getRangeDef;
|
||||
//# sourceMappingURL=_range.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_range.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_range.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"_range.js","sourceRoot":"","sources":["../../src/definitions/_range.ts"],"names":[],"mappings":";;AAKA,SAAwB,WAAW,CAAC,OAAiB;IACnD,OAAO,GAAG,EAAE,CAAC,CAAC;QACZ,OAAO;QACP,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,OAAO;QACnB,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAmB;YAC3C,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC7B,OAAO,OAAO,KAAK,OAAO;gBACxB,CAAC,CAAC,EAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAC;gBAC9B,CAAC,CAAC,EAAC,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAC,CAAA;QACpD,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;SACxB;KACF,CAAC,CAAA;IAEF,SAAS,mBAAmB,CAAC,GAAW,EAAE,GAAW;QACnD,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,KAAK,gBAAgB,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;SACjD;IACH,CAAC;AACH,CAAC;AAxBD,8BAwBC"}
|
5
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_required.d.ts
generated
vendored
Normal file
5
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_required.d.ts
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import type { MacroKeywordDefinition } from "ajv";
|
||||
import type { GetDefinition } from "./_types";
|
||||
declare type RequiredKwd = "anyRequired" | "oneRequired";
|
||||
export default function getRequiredDef(keyword: RequiredKwd): GetDefinition<MacroKeywordDefinition>;
|
||||
export {};
|
23
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_required.js
generated
vendored
Normal file
23
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_required.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
function getRequiredDef(keyword) {
|
||||
return () => ({
|
||||
keyword,
|
||||
type: "object",
|
||||
schemaType: "array",
|
||||
macro(schema) {
|
||||
if (schema.length === 0)
|
||||
return true;
|
||||
if (schema.length === 1)
|
||||
return { required: schema };
|
||||
const comb = keyword === "anyRequired" ? "anyOf" : "oneOf";
|
||||
return { [comb]: schema.map((p) => ({ required: [p] })) };
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: { type: "string" },
|
||||
},
|
||||
});
|
||||
}
|
||||
exports.default = getRequiredDef;
|
||||
//# sourceMappingURL=_required.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_required.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_required.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"_required.js","sourceRoot":"","sources":["../../src/definitions/_required.ts"],"names":[],"mappings":";;AAKA,SAAwB,cAAc,CACpC,OAAoB;IAEpB,OAAO,GAAG,EAAE,CAAC,CAAC;QACZ,OAAO;QACP,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,OAAO;QACnB,KAAK,CAAC,MAAgB;YACpB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAA;YAClD,MAAM,IAAI,GAAG,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;YAC1D,OAAO,EAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAA;QACvD,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;SACxB;KACF,CAAC,CAAA;AACJ,CAAC;AAlBD,iCAkBC"}
|
5
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_types.d.ts
generated
vendored
Normal file
5
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_types.d.ts
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import type { KeywordDefinition } from "ajv";
|
||||
export interface DefinitionOptions {
|
||||
defaultMeta?: string | boolean;
|
||||
}
|
||||
export declare type GetDefinition<T extends KeywordDefinition> = (opts?: DefinitionOptions) => T;
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_types.js
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_types.js
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
//# sourceMappingURL=_types.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_types.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_types.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"_types.js","sourceRoot":"","sources":["../../src/definitions/_types.ts"],"names":[],"mappings":""}
|
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_util.d.ts
generated
vendored
Normal file
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_util.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { DefinitionOptions } from "./_types";
|
||||
import type { SchemaObject, KeywordCxt, Name } from "ajv";
|
||||
export declare function metaSchemaRef({ defaultMeta }?: DefinitionOptions): SchemaObject;
|
||||
export declare function usePattern({ gen, it: { opts } }: KeywordCxt, pattern: string, flags?: string): Name;
|
19
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_util.js
generated
vendored
Normal file
19
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_util.js
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.usePattern = exports.metaSchemaRef = void 0;
|
||||
const codegen_1 = require("ajv/dist/compile/codegen");
|
||||
const META_SCHEMA_ID = "http://json-schema.org/schema";
|
||||
function metaSchemaRef({ defaultMeta } = {}) {
|
||||
return defaultMeta === false ? {} : { $ref: defaultMeta || META_SCHEMA_ID };
|
||||
}
|
||||
exports.metaSchemaRef = metaSchemaRef;
|
||||
function usePattern({ gen, it: { opts } }, pattern, flags = opts.unicodeRegExp ? "u" : "") {
|
||||
const rx = new RegExp(pattern, flags);
|
||||
return gen.scopeValue("pattern", {
|
||||
key: rx.toString(),
|
||||
ref: rx,
|
||||
code: (0, codegen_1._) `new RegExp(${pattern}, ${flags})`,
|
||||
});
|
||||
}
|
||||
exports.usePattern = usePattern;
|
||||
//# sourceMappingURL=_util.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_util.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/_util.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"_util.js","sourceRoot":"","sources":["../../src/definitions/_util.ts"],"names":[],"mappings":";;;AAEA,sDAA0C;AAE1C,MAAM,cAAc,GAAG,+BAA+B,CAAA;AAEtD,SAAgB,aAAa,CAAC,EAAC,WAAW,KAAuB,EAAE;IACjE,OAAO,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,WAAW,IAAI,cAAc,EAAC,CAAA;AAC3E,CAAC;AAFD,sCAEC;AAED,SAAgB,UAAU,CACxB,EAAC,GAAG,EAAE,EAAE,EAAE,EAAC,IAAI,EAAC,EAAa,EAC7B,OAAe,EACf,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;IAErC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACrC,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE;QAC/B,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE;QAClB,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,IAAA,WAAC,EAAA,cAAc,OAAO,KAAK,KAAK,GAAG;KAC1C,CAAC,CAAA;AACJ,CAAC;AAXD,gCAWC"}
|
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/allRequired.d.ts
generated
vendored
Normal file
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/allRequired.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
import type { MacroKeywordDefinition } from "ajv";
|
||||
export default function getDef(): MacroKeywordDefinition;
|
21
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/allRequired.js
generated
vendored
Normal file
21
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/allRequired.js
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
function getDef() {
|
||||
return {
|
||||
keyword: "allRequired",
|
||||
type: "object",
|
||||
schemaType: "boolean",
|
||||
macro(schema, parentSchema) {
|
||||
if (!schema)
|
||||
return true;
|
||||
const required = Object.keys(parentSchema.properties);
|
||||
if (required.length === 0)
|
||||
return true;
|
||||
return { required };
|
||||
},
|
||||
dependencies: ["properties"],
|
||||
};
|
||||
}
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=allRequired.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/allRequired.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/allRequired.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"allRequired.js","sourceRoot":"","sources":["../../src/definitions/allRequired.ts"],"names":[],"mappings":";;AAEA,SAAwB,MAAM;IAC5B,OAAO;QACL,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,SAAS;QACrB,KAAK,CAAC,MAAe,EAAE,YAAY;YACjC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YACtC,OAAO,EAAC,QAAQ,EAAC,CAAA;QACnB,CAAC;QACD,YAAY,EAAE,CAAC,YAAY,CAAC;KAC7B,CAAA;AACH,CAAC;AAbD,yBAaC;AAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/anyRequired.d.ts
generated
vendored
Normal file
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/anyRequired.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { MacroKeywordDefinition } from "ajv";
|
||||
import type { GetDefinition } from "./_types";
|
||||
declare const getDef: GetDefinition<MacroKeywordDefinition>;
|
||||
export default getDef;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/anyRequired.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/anyRequired.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _required_1 = __importDefault(require("./_required"));
|
||||
const getDef = (0, _required_1.default)("anyRequired");
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=anyRequired.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/anyRequired.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/anyRequired.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"anyRequired.js","sourceRoot":"","sources":["../../src/definitions/anyRequired.ts"],"names":[],"mappings":";;;;;AAEA,4DAAwC;AAExC,MAAM,MAAM,GAA0C,IAAA,mBAAc,EAAC,aAAa,CAAC,CAAA;AAEnF,kBAAe,MAAM,CAAA;AACrB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepProperties.d.ts
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepProperties.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import type { MacroKeywordDefinition } from "ajv";
|
||||
import type { DefinitionOptions } from "./_types";
|
||||
export default function getDef(opts?: DefinitionOptions): MacroKeywordDefinition;
|
54
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepProperties.js
generated
vendored
Normal file
54
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepProperties.js
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _util_1 = require("./_util");
|
||||
function getDef(opts) {
|
||||
return {
|
||||
keyword: "deepProperties",
|
||||
type: "object",
|
||||
schemaType: "object",
|
||||
macro: function (schema) {
|
||||
const allOf = [];
|
||||
for (const pointer in schema)
|
||||
allOf.push(getSchema(pointer, schema[pointer]));
|
||||
return { allOf };
|
||||
},
|
||||
metaSchema: {
|
||||
type: "object",
|
||||
propertyNames: { type: "string", format: "json-pointer" },
|
||||
additionalProperties: (0, _util_1.metaSchemaRef)(opts),
|
||||
},
|
||||
};
|
||||
}
|
||||
exports.default = getDef;
|
||||
function getSchema(jsonPointer, schema) {
|
||||
const segments = jsonPointer.split("/");
|
||||
const rootSchema = {};
|
||||
let pointerSchema = rootSchema;
|
||||
for (let i = 1; i < segments.length; i++) {
|
||||
let segment = segments[i];
|
||||
const isLast = i === segments.length - 1;
|
||||
segment = unescapeJsonPointer(segment);
|
||||
const properties = (pointerSchema.properties = {});
|
||||
let items;
|
||||
if (/[0-9]+/.test(segment)) {
|
||||
let count = +segment;
|
||||
items = pointerSchema.items = [];
|
||||
pointerSchema.type = ["object", "array"];
|
||||
while (count--)
|
||||
items.push({});
|
||||
}
|
||||
else {
|
||||
pointerSchema.type = "object";
|
||||
}
|
||||
pointerSchema = isLast ? schema : {};
|
||||
properties[segment] = pointerSchema;
|
||||
if (items)
|
||||
items.push(pointerSchema);
|
||||
}
|
||||
return rootSchema;
|
||||
}
|
||||
function unescapeJsonPointer(str) {
|
||||
return str.replace(/~1/g, "/").replace(/~0/g, "~");
|
||||
}
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=deepProperties.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepProperties.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepProperties.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"deepProperties.js","sourceRoot":"","sources":["../../src/definitions/deepProperties.ts"],"names":[],"mappings":";;AAEA,mCAAqC;AAErC,SAAwB,MAAM,CAAC,IAAwB;IACrD,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,UAAU,MAAoC;YACnD,MAAM,KAAK,GAAG,EAAE,CAAA;YAChB,KAAK,MAAM,OAAO,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC7E,OAAO,EAAC,KAAK,EAAC,CAAA;QAChB,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAC;YACvD,oBAAoB,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;SAC1C;KACF,CAAA;AACH,CAAC;AAhBD,yBAgBC;AAED,SAAS,SAAS,CAAC,WAAmB,EAAE,MAAoB;IAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,UAAU,GAAiB,EAAE,CAAA;IACnC,IAAI,aAAa,GAAiB,UAAU,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,OAAO,GAAW,QAAQ,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QACxC,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,UAAU,GAA2B,CAAC,aAAa,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;QAC1E,IAAI,KAAiC,CAAA;QACrC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,IAAI,KAAK,GAAG,CAAC,OAAO,CAAA;YACpB,KAAK,GAAG,aAAa,CAAC,KAAK,GAAG,EAAE,CAAA;YAChC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACxC,OAAO,KAAK,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAC/B;aAAM;YACL,aAAa,CAAC,IAAI,GAAG,QAAQ,CAAA;SAC9B;QACD,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;QACpC,UAAU,CAAC,OAAO,CAAC,GAAG,aAAa,CAAA;QACnC,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KACrC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepRequired.d.ts
generated
vendored
Normal file
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepRequired.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
import type { CodeKeywordDefinition } from "ajv";
|
||||
export default function getDef(): CodeKeywordDefinition;
|
33
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepRequired.js
generated
vendored
Normal file
33
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepRequired.js
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const codegen_1 = require("ajv/dist/compile/codegen");
|
||||
function getDef() {
|
||||
return {
|
||||
keyword: "deepRequired",
|
||||
type: "object",
|
||||
schemaType: "array",
|
||||
code(ctx) {
|
||||
const { schema, data } = ctx;
|
||||
const props = schema.map((jp) => (0, codegen_1._) `(${getData(jp)}) === undefined`);
|
||||
ctx.fail((0, codegen_1.or)(...props));
|
||||
function getData(jsonPointer) {
|
||||
if (jsonPointer === "")
|
||||
throw new Error("empty JSON pointer not allowed");
|
||||
const segments = jsonPointer.split("/");
|
||||
let x = data;
|
||||
const xs = segments.map((s, i) => i ? (x = (0, codegen_1._) `${x}${(0, codegen_1.getProperty)(unescapeJPSegment(s))}`) : x);
|
||||
return (0, codegen_1.and)(...xs);
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: { type: "string", format: "json-pointer" },
|
||||
},
|
||||
};
|
||||
}
|
||||
exports.default = getDef;
|
||||
function unescapeJPSegment(s) {
|
||||
return s.replace(/~1/g, "/").replace(/~0/g, "~");
|
||||
}
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=deepRequired.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepRequired.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/deepRequired.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"deepRequired.js","sourceRoot":"","sources":["../../src/definitions/deepRequired.ts"],"names":[],"mappings":";;AACA,sDAAsE;AAEtE,SAAwB,MAAM;IAC5B,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,OAAO;QACnB,IAAI,CAAC,GAAe;YAClB,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,GAAG,GAAG,CAAA;YAC1B,MAAM,KAAK,GAAI,MAAmB,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAA,WAAC,EAAA,IAAI,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAA;YACzF,GAAG,CAAC,IAAI,CAAC,IAAA,YAAE,EAAC,GAAG,KAAK,CAAC,CAAC,CAAA;YAEtB,SAAS,OAAO,CAAC,WAAmB;gBAClC,IAAI,WAAW,KAAK,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;gBACzE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACvC,IAAI,CAAC,GAAS,IAAI,CAAA;gBAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAA,WAAC,EAAA,GAAG,CAAC,GAAG,IAAA,qBAAW,EAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAA;gBACD,OAAO,IAAA,aAAG,EAAC,GAAG,EAAE,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAC;SAChD;KACF,CAAA;AACH,CAAC;AAzBD,yBAyBC;AAED,SAAS,iBAAiB,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
7
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/dynamicDefaults.d.ts
generated
vendored
Normal file
7
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/dynamicDefaults.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import type { FuncKeywordDefinition } from "ajv";
|
||||
export declare type DynamicDefaultFunc = (args?: Record<string, any>) => () => any;
|
||||
declare const DEFAULTS: Record<string, DynamicDefaultFunc | undefined>;
|
||||
declare const getDef: (() => FuncKeywordDefinition) & {
|
||||
DEFAULTS: typeof DEFAULTS;
|
||||
};
|
||||
export default getDef;
|
84
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/dynamicDefaults.js
generated
vendored
Normal file
84
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/dynamicDefaults.js
generated
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const sequences = {};
|
||||
const DEFAULTS = {
|
||||
timestamp: () => () => Date.now(),
|
||||
datetime: () => () => new Date().toISOString(),
|
||||
date: () => () => new Date().toISOString().slice(0, 10),
|
||||
time: () => () => new Date().toISOString().slice(11),
|
||||
random: () => () => Math.random(),
|
||||
randomint: (args) => {
|
||||
var _a;
|
||||
const max = (_a = args === null || args === void 0 ? void 0 : args.max) !== null && _a !== void 0 ? _a : 2;
|
||||
return () => Math.floor(Math.random() * max);
|
||||
},
|
||||
seq: (args) => {
|
||||
var _a;
|
||||
const name = (_a = args === null || args === void 0 ? void 0 : args.name) !== null && _a !== void 0 ? _a : "";
|
||||
sequences[name] || (sequences[name] = 0);
|
||||
return () => sequences[name]++;
|
||||
},
|
||||
};
|
||||
const getDef = Object.assign(_getDef, { DEFAULTS });
|
||||
function _getDef() {
|
||||
return {
|
||||
keyword: "dynamicDefaults",
|
||||
type: "object",
|
||||
schemaType: ["string", "object"],
|
||||
modifying: true,
|
||||
valid: true,
|
||||
compile(schema, _parentSchema, it) {
|
||||
if (!it.opts.useDefaults || it.compositeRule)
|
||||
return () => true;
|
||||
const fs = {};
|
||||
for (const key in schema)
|
||||
fs[key] = getDefault(schema[key]);
|
||||
const empty = it.opts.useDefaults === "empty";
|
||||
return (data) => {
|
||||
for (const prop in schema) {
|
||||
if (data[prop] === undefined || (empty && (data[prop] === null || data[prop] === ""))) {
|
||||
data[prop] = fs[prop]();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
},
|
||||
metaSchema: {
|
||||
type: "object",
|
||||
additionalProperties: {
|
||||
anyOf: [
|
||||
{ type: "string" },
|
||||
{
|
||||
type: "object",
|
||||
additionalProperties: false,
|
||||
required: ["func", "args"],
|
||||
properties: {
|
||||
func: { type: "string" },
|
||||
args: { type: "object" },
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
function getDefault(d) {
|
||||
return typeof d == "object" ? getObjDefault(d) : getStrDefault(d);
|
||||
}
|
||||
function getObjDefault({ func, args }) {
|
||||
const def = DEFAULTS[func];
|
||||
assertDefined(func, def);
|
||||
return def(args);
|
||||
}
|
||||
function getStrDefault(d = "") {
|
||||
const def = DEFAULTS[d];
|
||||
assertDefined(d, def);
|
||||
return def();
|
||||
}
|
||||
function assertDefined(name, def) {
|
||||
if (!def)
|
||||
throw new Error(`invalid "dynamicDefaults" keyword property value: ${name}`);
|
||||
}
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=dynamicDefaults.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/dynamicDefaults.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/dynamicDefaults.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"dynamicDefaults.js","sourceRoot":"","sources":["../../src/definitions/dynamicDefaults.ts"],"names":[],"mappings":";;AAEA,MAAM,SAAS,GAAuC,EAAE,CAAA;AAIxD,MAAM,QAAQ,GAAmD;IAC/D,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAC9C,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IACpD,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;IACjC,SAAS,EAAE,CAAC,IAAqB,EAAE,EAAE;;QACnC,MAAM,GAAG,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,mCAAI,CAAC,CAAA;QAC1B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;IAC9C,CAAC;IACD,GAAG,EAAE,CAAC,IAAsB,EAAE,EAAE;;QAC9B,MAAM,IAAI,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,EAAE,CAAA;QAC7B,SAAS,CAAC,IAAI,MAAd,SAAS,CAAC,IAAI,IAAM,CAAC,EAAA;QACrB,OAAO,GAAG,EAAE,CAAE,SAAS,CAAC,IAAI,CAAY,EAAE,CAAA;IAC5C,CAAC;CACF,CAAA;AASD,MAAM,MAAM,GAER,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAA;AAEtC,SAAS,OAAO;IACd,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAChC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;QACX,OAAO,CAAC,MAAqB,EAAE,aAAa,EAAE,EAAa;YACzD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,aAAa;gBAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAA;YAC/D,MAAM,EAAE,GAA8B,EAAE,CAAA;YACxC,KAAK,MAAM,GAAG,IAAI,MAAM;gBAAE,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAC3D,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,CAAA;YAE7C,OAAO,CAAC,IAAyB,EAAE,EAAE;gBACnC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;oBACzB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;wBACrF,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAA;qBACxB;iBACF;gBACD,OAAO,IAAI,CAAA;YACb,CAAC,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE;gBACpB,KAAK,EAAE;oBACL,EAAC,IAAI,EAAE,QAAQ,EAAC;oBAChB;wBACE,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;wBAC1B,UAAU,EAAE;4BACV,IAAI,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;4BACtB,IAAI,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;yBACvB;qBACF;iBACF;aACF;SACF;KACF,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,CAA6C;IAC/D,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,EAAC,IAAI,EAAE,IAAI,EAAwB;IACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC1B,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACxB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,CAAC,GAAG,EAAE;IAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACvB,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrB,OAAO,GAAG,EAAE,CAAA;AACd,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,GAAwB;IAC3D,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAA;AACxF,CAAC;AAED,kBAAe,MAAM,CAAA;AACrB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/exclusiveRange.d.ts
generated
vendored
Normal file
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/exclusiveRange.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { MacroKeywordDefinition } from "ajv";
|
||||
import type { GetDefinition } from "./_types";
|
||||
declare const getDef: GetDefinition<MacroKeywordDefinition>;
|
||||
export default getDef;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/exclusiveRange.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/exclusiveRange.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _range_1 = __importDefault(require("./_range"));
|
||||
const getDef = (0, _range_1.default)("exclusiveRange");
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=exclusiveRange.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/exclusiveRange.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/exclusiveRange.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"exclusiveRange.js","sourceRoot":"","sources":["../../src/definitions/exclusiveRange.ts"],"names":[],"mappings":";;;;;AAEA,sDAAkC;AAElC,MAAM,MAAM,GAA0C,IAAA,gBAAW,EAAC,gBAAgB,CAAC,CAAA;AAEnF,kBAAe,MAAM,CAAA;AACrB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
6
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/index.d.ts
generated
vendored
Normal file
6
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import type { Vocabulary, ErrorNoParams } from "ajv";
|
||||
import type { DefinitionOptions } from "./_types";
|
||||
import { PatternRequiredError } from "./patternRequired";
|
||||
import { SelectError } from "./select";
|
||||
export default function ajvKeywords(opts?: DefinitionOptions): Vocabulary;
|
||||
export declare type AjvKeywordsError = PatternRequiredError | SelectError | ErrorNoParams<"range" | "exclusiveRange" | "anyRequired" | "oneRequired" | "allRequired" | "deepProperties" | "deepRequired" | "dynamicDefaults" | "instanceof" | "prohibited" | "regexp" | "transform" | "uniqueItemProperties">;
|
44
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/index.js
generated
vendored
Normal file
44
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/index.js
generated
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const typeof_1 = __importDefault(require("./typeof"));
|
||||
const instanceof_1 = __importDefault(require("./instanceof"));
|
||||
const range_1 = __importDefault(require("./range"));
|
||||
const exclusiveRange_1 = __importDefault(require("./exclusiveRange"));
|
||||
const regexp_1 = __importDefault(require("./regexp"));
|
||||
const transform_1 = __importDefault(require("./transform"));
|
||||
const uniqueItemProperties_1 = __importDefault(require("./uniqueItemProperties"));
|
||||
const allRequired_1 = __importDefault(require("./allRequired"));
|
||||
const anyRequired_1 = __importDefault(require("./anyRequired"));
|
||||
const oneRequired_1 = __importDefault(require("./oneRequired"));
|
||||
const patternRequired_1 = __importDefault(require("./patternRequired"));
|
||||
const prohibited_1 = __importDefault(require("./prohibited"));
|
||||
const deepProperties_1 = __importDefault(require("./deepProperties"));
|
||||
const deepRequired_1 = __importDefault(require("./deepRequired"));
|
||||
const dynamicDefaults_1 = __importDefault(require("./dynamicDefaults"));
|
||||
const select_1 = __importDefault(require("./select"));
|
||||
const definitions = [
|
||||
typeof_1.default,
|
||||
instanceof_1.default,
|
||||
range_1.default,
|
||||
exclusiveRange_1.default,
|
||||
regexp_1.default,
|
||||
transform_1.default,
|
||||
uniqueItemProperties_1.default,
|
||||
allRequired_1.default,
|
||||
anyRequired_1.default,
|
||||
oneRequired_1.default,
|
||||
patternRequired_1.default,
|
||||
prohibited_1.default,
|
||||
deepProperties_1.default,
|
||||
deepRequired_1.default,
|
||||
dynamicDefaults_1.default,
|
||||
];
|
||||
function ajvKeywords(opts) {
|
||||
return definitions.map((d) => d(opts)).concat((0, select_1.default)(opts));
|
||||
}
|
||||
exports.default = ajvKeywords;
|
||||
module.exports = ajvKeywords;
|
||||
//# sourceMappingURL=index.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/index.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/definitions/index.ts"],"names":[],"mappings":";;;;;AAEA,sDAAgC;AAChC,8DAAwC;AACxC,oDAA2B;AAC3B,sEAA6C;AAC7C,sDAA6B;AAC7B,4DAAmC;AACnC,kFAAyD;AACzD,gEAAuC;AACvC,gEAAuC;AACvC,gEAAuC;AACvC,wEAAuE;AACvE,8DAAqC;AACrC,sEAA6C;AAC7C,kEAAyC;AACzC,wEAA+C;AAC/C,sDAA+C;AAE/C,MAAM,WAAW,GAAuC;IACtD,gBAAS;IACT,oBAAa;IACb,eAAK;IACL,wBAAc;IACd,gBAAM;IACN,mBAAS;IACT,8BAAoB;IACpB,qBAAW;IACX,qBAAW;IACX,qBAAW;IACX,yBAAe;IACf,oBAAU;IACV,wBAAc;IACd,sBAAY;IACZ,yBAAe;CAChB,CAAA;AAED,SAAwB,WAAW,CAAC,IAAwB;IAC1D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAC,CAAA;AAChE,CAAC;AAFD,8BAEC;AAqBD,MAAM,CAAC,OAAO,GAAG,WAAW,CAAA"}
|
7
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/instanceof.d.ts
generated
vendored
Normal file
7
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/instanceof.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import type { FuncKeywordDefinition } from "ajv";
|
||||
declare type Constructor = new (...args: any[]) => any;
|
||||
declare const CONSTRUCTORS: Record<string, Constructor | undefined>;
|
||||
declare const getDef: (() => FuncKeywordDefinition) & {
|
||||
CONSTRUCTORS: typeof CONSTRUCTORS;
|
||||
};
|
||||
export default getDef;
|
54
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/instanceof.js
generated
vendored
Normal file
54
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/instanceof.js
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const CONSTRUCTORS = {
|
||||
Object,
|
||||
Array,
|
||||
Function,
|
||||
Number,
|
||||
String,
|
||||
Date,
|
||||
RegExp,
|
||||
};
|
||||
/* istanbul ignore else */
|
||||
if (typeof Buffer != "undefined")
|
||||
CONSTRUCTORS.Buffer = Buffer;
|
||||
/* istanbul ignore else */
|
||||
if (typeof Promise != "undefined")
|
||||
CONSTRUCTORS.Promise = Promise;
|
||||
const getDef = Object.assign(_getDef, { CONSTRUCTORS });
|
||||
function _getDef() {
|
||||
return {
|
||||
keyword: "instanceof",
|
||||
schemaType: ["string", "array"],
|
||||
compile(schema) {
|
||||
if (typeof schema == "string") {
|
||||
const C = getConstructor(schema);
|
||||
return (data) => data instanceof C;
|
||||
}
|
||||
if (Array.isArray(schema)) {
|
||||
const constructors = schema.map(getConstructor);
|
||||
return (data) => {
|
||||
for (const C of constructors) {
|
||||
if (data instanceof C)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
}
|
||||
/* istanbul ignore next */
|
||||
throw new Error("ajv implementation error");
|
||||
},
|
||||
metaSchema: {
|
||||
anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }],
|
||||
},
|
||||
};
|
||||
}
|
||||
function getConstructor(c) {
|
||||
const C = CONSTRUCTORS[c];
|
||||
if (C)
|
||||
return C;
|
||||
throw new Error(`invalid "instanceof" keyword value ${c}`);
|
||||
}
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=instanceof.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/instanceof.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/instanceof.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"instanceof.js","sourceRoot":"","sources":["../../src/definitions/instanceof.ts"],"names":[],"mappings":";;AAIA,MAAM,YAAY,GAA4C;IAC5D,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,IAAI;IACJ,MAAM;CACP,CAAA;AAED,0BAA0B;AAC1B,IAAI,OAAO,MAAM,IAAI,WAAW;IAAE,YAAY,CAAC,MAAM,GAAG,MAAM,CAAA;AAE9D,0BAA0B;AAC1B,IAAI,OAAO,OAAO,IAAI,WAAW;IAAE,YAAY,CAAC,OAAO,GAAG,OAAO,CAAA;AAEjE,MAAM,MAAM,GAER,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,YAAY,EAAC,CAAC,CAAA;AAE1C,SAAS,OAAO;IACd,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,MAAyB;YAC/B,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;gBAC7B,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;gBAChC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,CAAA;aACnC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACzB,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gBAC/C,OAAO,CAAC,IAAI,EAAE,EAAE;oBACd,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE;wBAC5B,IAAI,IAAI,YAAY,CAAC;4BAAE,OAAO,IAAI,CAAA;qBACnC;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC,CAAA;aACF;YAED,0BAA0B;YAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;QACD,UAAU,EAAE;YACV,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC,CAAC;SACpE;KACF,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAA;AAC5D,CAAC;AAED,kBAAe,MAAM,CAAA;AACrB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/oneRequired.d.ts
generated
vendored
Normal file
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/oneRequired.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { MacroKeywordDefinition } from "ajv";
|
||||
import type { GetDefinition } from "./_types";
|
||||
declare const getDef: GetDefinition<MacroKeywordDefinition>;
|
||||
export default getDef;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/oneRequired.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/oneRequired.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _required_1 = __importDefault(require("./_required"));
|
||||
const getDef = (0, _required_1.default)("oneRequired");
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=oneRequired.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/oneRequired.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/oneRequired.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"oneRequired.js","sourceRoot":"","sources":["../../src/definitions/oneRequired.ts"],"names":[],"mappings":";;;;;AAEA,4DAAwC;AAExC,MAAM,MAAM,GAA0C,IAAA,mBAAc,EAAC,aAAa,CAAC,CAAA;AAEnF,kBAAe,MAAM,CAAA;AACrB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
5
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/patternRequired.d.ts
generated
vendored
Normal file
5
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/patternRequired.d.ts
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import type { CodeKeywordDefinition, ErrorObject } from "ajv";
|
||||
export declare type PatternRequiredError = ErrorObject<"patternRequired", {
|
||||
missingPattern: string;
|
||||
}>;
|
||||
export default function getDef(): CodeKeywordDefinition;
|
42
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/patternRequired.js
generated
vendored
Normal file
42
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/patternRequired.js
generated
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const codegen_1 = require("ajv/dist/compile/codegen");
|
||||
const _util_1 = require("./_util");
|
||||
const error = {
|
||||
message: ({ params: { missingPattern } }) => (0, codegen_1.str) `should have property matching pattern '${missingPattern}'`,
|
||||
params: ({ params: { missingPattern } }) => (0, codegen_1._) `{missingPattern: ${missingPattern}}`,
|
||||
};
|
||||
function getDef() {
|
||||
return {
|
||||
keyword: "patternRequired",
|
||||
type: "object",
|
||||
schemaType: "array",
|
||||
error,
|
||||
code(cxt) {
|
||||
const { gen, schema, data } = cxt;
|
||||
if (schema.length === 0)
|
||||
return;
|
||||
const valid = gen.let("valid", true);
|
||||
for (const pat of schema)
|
||||
validateProperties(pat);
|
||||
function validateProperties(pattern) {
|
||||
const matched = gen.let("matched", false);
|
||||
gen.forIn("key", data, (key) => {
|
||||
gen.assign(matched, (0, codegen_1._) `${(0, _util_1.usePattern)(cxt, pattern)}.test(${key})`);
|
||||
gen.if(matched, () => gen.break());
|
||||
});
|
||||
cxt.setParams({ missingPattern: pattern });
|
||||
gen.assign(valid, (0, codegen_1.and)(valid, matched));
|
||||
cxt.pass(valid);
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: { type: "string", format: "regex" },
|
||||
uniqueItems: true,
|
||||
},
|
||||
};
|
||||
}
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=patternRequired.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/patternRequired.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/patternRequired.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"patternRequired.js","sourceRoot":"","sources":["../../src/definitions/patternRequired.ts"],"names":[],"mappings":";;AACA,sDAAoD;AACpD,mCAAkC;AAIlC,MAAM,KAAK,GAA2B;IACpC,OAAO,EAAE,CAAC,EAAC,MAAM,EAAE,EAAC,cAAc,EAAC,EAAC,EAAE,EAAE,CACtC,IAAA,aAAG,EAAA,0CAA0C,cAAc,GAAG;IAChE,MAAM,EAAE,CAAC,EAAC,MAAM,EAAE,EAAC,cAAc,EAAC,EAAC,EAAE,EAAE,CAAC,IAAA,WAAC,EAAA,oBAAoB,cAAc,GAAG;CAC/E,CAAA;AAED,SAAwB,MAAM;IAC5B,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,OAAO;QACnB,KAAK;QACL,IAAI,CAAC,GAAe;YAClB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,GAAG,CAAA;YAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACpC,KAAK,MAAM,GAAG,IAAI,MAAM;gBAAE,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAEjD,SAAS,kBAAkB,CAAC,OAAe;gBACzC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;gBAEzC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,WAAC,EAAA,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAA;oBAChE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;gBACpC,CAAC,CAAC,CAAA;gBAEF,GAAG,CAAC,SAAS,CAAC,EAAC,cAAc,EAAE,OAAO,EAAC,CAAC,CAAA;gBACxC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAA,aAAG,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;gBACtC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAC;YACxC,WAAW,EAAE,IAAI;SAClB;KACF,CAAA;AACH,CAAC;AA/BD,yBA+BC;AAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/prohibited.d.ts
generated
vendored
Normal file
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/prohibited.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
import type { MacroKeywordDefinition } from "ajv";
|
||||
export default function getDef(): MacroKeywordDefinition;
|
23
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/prohibited.js
generated
vendored
Normal file
23
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/prohibited.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
function getDef() {
|
||||
return {
|
||||
keyword: "prohibited",
|
||||
type: "object",
|
||||
schemaType: "array",
|
||||
macro: function (schema) {
|
||||
if (schema.length === 0)
|
||||
return true;
|
||||
if (schema.length === 1)
|
||||
return { not: { required: schema } };
|
||||
return { not: { anyOf: schema.map((p) => ({ required: [p] })) } };
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: { type: "string" },
|
||||
},
|
||||
};
|
||||
}
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=prohibited.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/prohibited.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/prohibited.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"prohibited.js","sourceRoot":"","sources":["../../src/definitions/prohibited.ts"],"names":[],"mappings":";;AAEA,SAAwB,MAAM;IAC5B,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,OAAO;QACnB,KAAK,EAAE,UAAU,MAAgB;YAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAC,GAAG,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAC,CAAA;YACzD,OAAO,EAAC,GAAG,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAC,CAAA;QAC7D,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;SACxB;KACF,CAAA;AACH,CAAC;AAfD,yBAeC;AAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/range.d.ts
generated
vendored
Normal file
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/range.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { MacroKeywordDefinition } from "ajv";
|
||||
import type { GetDefinition } from "./_types";
|
||||
declare const getDef: GetDefinition<MacroKeywordDefinition>;
|
||||
export default getDef;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/range.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/range.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _range_1 = __importDefault(require("./_range"));
|
||||
const getDef = (0, _range_1.default)("range");
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=range.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/range.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/range.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/definitions/range.ts"],"names":[],"mappings":";;;;;AAEA,sDAAkC;AAElC,MAAM,MAAM,GAA0C,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAA;AAE1E,kBAAe,MAAM,CAAA;AACrB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/regexp.d.ts
generated
vendored
Normal file
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/regexp.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
import type { CodeKeywordDefinition } from "ajv";
|
||||
export default function getDef(): CodeKeywordDefinition;
|
40
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/regexp.js
generated
vendored
Normal file
40
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/regexp.js
generated
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const codegen_1 = require("ajv/dist/compile/codegen");
|
||||
const _util_1 = require("./_util");
|
||||
const regexpMetaSchema = {
|
||||
type: "object",
|
||||
properties: {
|
||||
pattern: { type: "string" },
|
||||
flags: { type: "string", nullable: true },
|
||||
},
|
||||
required: ["pattern"],
|
||||
additionalProperties: false,
|
||||
};
|
||||
const metaRegexp = /^\/(.*)\/([gimuy]*)$/;
|
||||
function getDef() {
|
||||
return {
|
||||
keyword: "regexp",
|
||||
type: "string",
|
||||
schemaType: ["string", "object"],
|
||||
code(cxt) {
|
||||
const { data, schema } = cxt;
|
||||
const regx = getRegExp(schema);
|
||||
cxt.pass((0, codegen_1._) `${regx}.test(${data})`);
|
||||
function getRegExp(sch) {
|
||||
if (typeof sch == "object")
|
||||
return (0, _util_1.usePattern)(cxt, sch.pattern, sch.flags);
|
||||
const rx = metaRegexp.exec(sch);
|
||||
if (rx)
|
||||
return (0, _util_1.usePattern)(cxt, rx[1], rx[2]);
|
||||
throw new Error("cannot parse string into RegExp");
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
anyOf: [{ type: "string" }, regexpMetaSchema],
|
||||
},
|
||||
};
|
||||
}
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=regexp.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/regexp.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/regexp.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"regexp.js","sourceRoot":"","sources":["../../src/definitions/regexp.ts"],"names":[],"mappings":";;AACA,sDAA0C;AAC1C,mCAAkC;AAOlC,MAAM,gBAAgB,GAAiC;IACrD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;QACzB,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC;KACxC;IACD,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,oBAAoB,EAAE,KAAK;CAC5B,CAAA;AAED,MAAM,UAAU,GAAG,sBAAsB,CAAA;AAEzC,SAAwB,MAAM;IAC5B,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAChC,IAAI,CAAC,GAAe;YAClB,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,GAAG,CAAA;YAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YAC9B,GAAG,CAAC,IAAI,CAAC,IAAA,WAAC,EAAA,GAAG,IAAI,SAAS,IAAI,GAAG,CAAC,CAAA;YAElC,SAAS,SAAS,CAAC,GAA0B;gBAC3C,IAAI,OAAO,GAAG,IAAI,QAAQ;oBAAE,OAAO,IAAA,kBAAU,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC1E,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC/B,IAAI,EAAE;oBAAE,OAAO,IAAA,kBAAU,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC5C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;QACD,UAAU,EAAE;YACV,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,gBAAgB,CAAC;SAC5C;KACF,CAAA;AACH,CAAC;AArBD,yBAqBC;AAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
7
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/select.d.ts
generated
vendored
Normal file
7
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/select.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import type { KeywordDefinition, ErrorObject } from "ajv";
|
||||
import type { DefinitionOptions } from "./_types";
|
||||
export declare type SelectError = ErrorObject<"select", {
|
||||
failingCase?: string;
|
||||
failingDefault?: true;
|
||||
}>;
|
||||
export default function getDef(opts?: DefinitionOptions): KeywordDefinition[];
|
63
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/select.js
generated
vendored
Normal file
63
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/select.js
generated
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const codegen_1 = require("ajv/dist/compile/codegen");
|
||||
const _util_1 = require("./_util");
|
||||
const error = {
|
||||
message: ({ params: { schemaProp } }) => schemaProp
|
||||
? (0, codegen_1.str) `should match case "${schemaProp}" schema`
|
||||
: (0, codegen_1.str) `should match default case schema`,
|
||||
params: ({ params: { schemaProp } }) => schemaProp ? (0, codegen_1._) `{failingCase: ${schemaProp}}` : (0, codegen_1._) `{failingDefault: true}`,
|
||||
};
|
||||
function getDef(opts) {
|
||||
const metaSchema = (0, _util_1.metaSchemaRef)(opts);
|
||||
return [
|
||||
{
|
||||
keyword: "select",
|
||||
schemaType: ["string", "number", "boolean", "null"],
|
||||
$data: true,
|
||||
error,
|
||||
dependencies: ["selectCases"],
|
||||
code(cxt) {
|
||||
const { gen, schemaCode, parentSchema } = cxt;
|
||||
cxt.block$data(codegen_1.nil, () => {
|
||||
const valid = gen.let("valid", true);
|
||||
const schValid = gen.name("_valid");
|
||||
const value = gen.const("value", (0, codegen_1._) `${schemaCode} === null ? "null" : ${schemaCode}`);
|
||||
gen.if(false); // optimizer should remove it from generated code
|
||||
for (const schemaProp in parentSchema.selectCases) {
|
||||
cxt.setParams({ schemaProp });
|
||||
gen.elseIf((0, codegen_1._) `"" + ${value} == ${schemaProp}`); // intentional ==, to match numbers and booleans
|
||||
const schCxt = cxt.subschema({ keyword: "selectCases", schemaProp }, schValid);
|
||||
cxt.mergeEvaluated(schCxt, codegen_1.Name);
|
||||
gen.assign(valid, schValid);
|
||||
}
|
||||
gen.else();
|
||||
if (parentSchema.selectDefault !== undefined) {
|
||||
cxt.setParams({ schemaProp: undefined });
|
||||
const schCxt = cxt.subschema({ keyword: "selectDefault" }, schValid);
|
||||
cxt.mergeEvaluated(schCxt, codegen_1.Name);
|
||||
gen.assign(valid, schValid);
|
||||
}
|
||||
gen.endIf();
|
||||
cxt.pass(valid);
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
keyword: "selectCases",
|
||||
dependencies: ["select"],
|
||||
metaSchema: {
|
||||
type: "object",
|
||||
additionalProperties: metaSchema,
|
||||
},
|
||||
},
|
||||
{
|
||||
keyword: "selectDefault",
|
||||
dependencies: ["select", "selectCases"],
|
||||
metaSchema,
|
||||
},
|
||||
];
|
||||
}
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=select.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/select.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/select.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/definitions/select.ts"],"names":[],"mappings":";;AACA,sDAA0D;AAE1D,mCAAqC;AAIrC,MAAM,KAAK,GAA2B;IACpC,OAAO,EAAE,CAAC,EAAC,MAAM,EAAE,EAAC,UAAU,EAAC,EAAC,EAAE,EAAE,CAClC,UAAU;QACR,CAAC,CAAC,IAAA,aAAG,EAAA,sBAAsB,UAAU,UAAU;QAC/C,CAAC,CAAC,IAAA,aAAG,EAAA,kCAAkC;IAC3C,MAAM,EAAE,CAAC,EAAC,MAAM,EAAE,EAAC,UAAU,EAAC,EAAC,EAAE,EAAE,CACjC,UAAU,CAAC,CAAC,CAAC,IAAA,WAAC,EAAA,iBAAiB,UAAU,GAAG,CAAC,CAAC,CAAC,IAAA,WAAC,EAAA,wBAAwB;CAC3E,CAAA;AAED,SAAwB,MAAM,CAAC,IAAwB;IACrD,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAA;IAEtC,OAAO;QACL;YACE,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;YACnD,KAAK,EAAE,IAAI;YACX,KAAK;YACL,YAAY,EAAE,CAAC,aAAa,CAAC;YAC7B,IAAI,CAAC,GAAe;gBAClB,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE,YAAY,EAAC,GAAG,GAAG,CAAA;gBAC3C,GAAG,CAAC,UAAU,CAAC,aAAG,EAAE,GAAG,EAAE;oBACvB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;oBACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAA,WAAC,EAAA,GAAG,UAAU,wBAAwB,UAAU,EAAE,CAAC,CAAA;oBACpF,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA,CAAC,iDAAiD;oBAC/D,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,WAAW,EAAE;wBACjD,GAAG,CAAC,SAAS,CAAC,EAAC,UAAU,EAAC,CAAC,CAAA;wBAC3B,GAAG,CAAC,MAAM,CAAC,IAAA,WAAC,EAAA,QAAQ,KAAK,OAAO,UAAU,EAAE,CAAC,CAAA,CAAC,gDAAgD;wBAC9F,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAC,EAAE,QAAQ,CAAC,CAAA;wBAC5E,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,cAAI,CAAC,CAAA;wBAChC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;qBAC5B;oBACD,GAAG,CAAC,IAAI,EAAE,CAAA;oBACV,IAAI,YAAY,CAAC,aAAa,KAAK,SAAS,EAAE;wBAC5C,GAAG,CAAC,SAAS,CAAC,EAAC,UAAU,EAAE,SAAS,EAAC,CAAC,CAAA;wBACtC,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,EAAE,QAAQ,CAAC,CAAA;wBAClE,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,cAAI,CAAC,CAAA;wBAChC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;qBAC5B;oBACD,GAAG,CAAC,KAAK,EAAE,CAAA;oBACX,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACjB,CAAC,CAAC,CAAA;YACJ,CAAC;SACF;QACD;YACE,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,CAAC,QAAQ,CAAC;YACxB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,UAAU;aACjC;SACF;QACD;YACE,OAAO,EAAE,eAAe;YACxB,YAAY,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;YACvC,UAAU;SACX;KACF,CAAA;AACH,CAAC;AAlDD,yBAkDC;AAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
13
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/transform.d.ts
generated
vendored
Normal file
13
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/transform.d.ts
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import type { CodeKeywordDefinition } from "ajv";
|
||||
declare type TransformName = "trimStart" | "trimEnd" | "trimLeft" | "trimRight" | "trim" | "toLowerCase" | "toUpperCase" | "toEnumCase";
|
||||
interface TransformConfig {
|
||||
hash: Record<string, string | undefined>;
|
||||
}
|
||||
declare type Transform = (s: string, cfg?: TransformConfig) => string;
|
||||
declare const transform: {
|
||||
[key in TransformName]: Transform;
|
||||
};
|
||||
declare const getDef: (() => CodeKeywordDefinition) & {
|
||||
transform: typeof transform;
|
||||
};
|
||||
export default getDef;
|
78
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/transform.js
generated
vendored
Normal file
78
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/transform.js
generated
vendored
Normal file
@ -0,0 +1,78 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const codegen_1 = require("ajv/dist/compile/codegen");
|
||||
const transform = {
|
||||
trimStart: (s) => s.trimStart(),
|
||||
trimEnd: (s) => s.trimEnd(),
|
||||
trimLeft: (s) => s.trimStart(),
|
||||
trimRight: (s) => s.trimEnd(),
|
||||
trim: (s) => s.trim(),
|
||||
toLowerCase: (s) => s.toLowerCase(),
|
||||
toUpperCase: (s) => s.toUpperCase(),
|
||||
toEnumCase: (s, cfg) => (cfg === null || cfg === void 0 ? void 0 : cfg.hash[configKey(s)]) || s,
|
||||
};
|
||||
const getDef = Object.assign(_getDef, { transform });
|
||||
function _getDef() {
|
||||
return {
|
||||
keyword: "transform",
|
||||
schemaType: "array",
|
||||
before: "enum",
|
||||
code(cxt) {
|
||||
const { gen, data, schema, parentSchema, it } = cxt;
|
||||
const { parentData, parentDataProperty } = it;
|
||||
const tNames = schema;
|
||||
if (!tNames.length)
|
||||
return;
|
||||
let cfg;
|
||||
if (tNames.includes("toEnumCase")) {
|
||||
const config = getEnumCaseCfg(parentSchema);
|
||||
cfg = gen.scopeValue("obj", { ref: config, code: (0, codegen_1.stringify)(config) });
|
||||
}
|
||||
gen.if((0, codegen_1._) `typeof ${data} == "string" && ${parentData} !== undefined`, () => {
|
||||
gen.assign(data, transformExpr(tNames.slice()));
|
||||
gen.assign((0, codegen_1._) `${parentData}[${parentDataProperty}]`, data);
|
||||
});
|
||||
function transformExpr(ts) {
|
||||
if (!ts.length)
|
||||
return data;
|
||||
const t = ts.pop();
|
||||
if (!(t in transform))
|
||||
throw new Error(`transform: unknown transformation ${t}`);
|
||||
const func = gen.scopeValue("func", {
|
||||
ref: transform[t],
|
||||
code: (0, codegen_1._) `require("ajv-keywords/dist/definitions/transform").transform${(0, codegen_1.getProperty)(t)}`,
|
||||
});
|
||||
const arg = transformExpr(ts);
|
||||
return cfg && t === "toEnumCase" ? (0, codegen_1._) `${func}(${arg}, ${cfg})` : (0, codegen_1._) `${func}(${arg})`;
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: { type: "string", enum: Object.keys(transform) },
|
||||
},
|
||||
};
|
||||
}
|
||||
function getEnumCaseCfg(parentSchema) {
|
||||
// build hash table to enum values
|
||||
const cfg = { hash: {} };
|
||||
// requires `enum` in the same schema as transform
|
||||
if (!parentSchema.enum)
|
||||
throw new Error('transform: "toEnumCase" requires "enum"');
|
||||
for (const v of parentSchema.enum) {
|
||||
if (typeof v !== "string")
|
||||
continue;
|
||||
const k = configKey(v);
|
||||
// requires all `enum` values have unique keys
|
||||
if (cfg.hash[k]) {
|
||||
throw new Error('transform: "toEnumCase" requires all lowercased "enum" values to be unique');
|
||||
}
|
||||
cfg.hash[k] = v;
|
||||
}
|
||||
return cfg;
|
||||
}
|
||||
function configKey(s) {
|
||||
return s.toLowerCase();
|
||||
}
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=transform.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/transform.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/transform.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/definitions/transform.ts"],"names":[],"mappings":";;AACA,sDAAkE;AAkBlE,MAAM,SAAS,GAAwC;IACrD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;IACnC,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC;CACrD,CAAA;AAED,MAAM,MAAM,GAER,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,SAAS,EAAC,CAAC,CAAA;AAEvC,SAAS,OAAO;IACd,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,MAAM;QACd,IAAI,CAAC,GAAe;YAClB,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAC,GAAG,GAAG,CAAA;YACjD,MAAM,EAAC,UAAU,EAAE,kBAAkB,EAAC,GAAG,EAAE,CAAA;YAC3C,MAAM,MAAM,GAAa,MAAM,CAAA;YAC/B,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAM;YAC1B,IAAI,GAAqB,CAAA;YACzB,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBACjC,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAA;gBAC3C,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,mBAAS,EAAC,MAAM,CAAC,EAAC,CAAC,CAAA;aACpE;YACD,GAAG,CAAC,EAAE,CAAC,IAAA,WAAC,EAAA,UAAU,IAAI,mBAAmB,UAAU,gBAAgB,EAAE,GAAG,EAAE;gBACxE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAC/C,GAAG,CAAC,MAAM,CAAC,IAAA,WAAC,EAAA,GAAG,UAAU,IAAI,kBAAkB,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3D,CAAC,CAAC,CAAA;YAEF,SAAS,aAAa,CAAC,EAAY;gBACjC,IAAI,CAAC,EAAE,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAA;gBAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAY,CAAA;gBAC5B,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAA;gBAChF,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE;oBAClC,GAAG,EAAE,SAAS,CAAC,CAAkB,CAAC;oBAClC,IAAI,EAAE,IAAA,WAAC,EAAA,+DAA+D,IAAA,qBAAW,EAAC,CAAC,CAAC,EAAE;iBACvF,CAAC,CAAA;gBACF,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,CAAA;gBAC7B,OAAO,GAAG,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,IAAA,WAAC,EAAA,GAAG,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAA,WAAC,EAAA,GAAG,IAAI,IAAI,GAAG,GAAG,CAAA;YACpF,CAAC;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC;SACtD;KACF,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,YAA6B;IACnD,kCAAkC;IAClC,MAAM,GAAG,GAAoB,EAAC,IAAI,EAAE,EAAE,EAAC,CAAA;IAEvC,kDAAkD;IAClD,IAAI,CAAC,YAAY,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAClF,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE;QACjC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAQ;QACnC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QACtB,8CAA8C;QAC9C,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;SAC9F;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;KAChB;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;AACxB,CAAC;AAED,kBAAe,MAAM,CAAA;AACrB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/typeof.d.ts
generated
vendored
Normal file
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/typeof.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
import type { CodeKeywordDefinition } from "ajv";
|
||||
export default function getDef(): CodeKeywordDefinition;
|
25
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/typeof.js
generated
vendored
Normal file
25
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/typeof.js
generated
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const codegen_1 = require("ajv/dist/compile/codegen");
|
||||
const TYPES = ["undefined", "string", "number", "object", "function", "boolean", "symbol"];
|
||||
function getDef() {
|
||||
return {
|
||||
keyword: "typeof",
|
||||
schemaType: ["string", "array"],
|
||||
code(cxt) {
|
||||
const { data, schema, schemaValue } = cxt;
|
||||
cxt.fail(typeof schema == "string"
|
||||
? (0, codegen_1._) `typeof ${data} != ${schema}`
|
||||
: (0, codegen_1._) `${schemaValue}.indexOf(typeof ${data}) < 0`);
|
||||
},
|
||||
metaSchema: {
|
||||
anyOf: [
|
||||
{ type: "string", enum: TYPES },
|
||||
{ type: "array", items: { type: "string", enum: TYPES } },
|
||||
],
|
||||
},
|
||||
};
|
||||
}
|
||||
exports.default = getDef;
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=typeof.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/typeof.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/typeof.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"typeof.js","sourceRoot":"","sources":["../../src/definitions/typeof.ts"],"names":[],"mappings":";;AACA,sDAA0C;AAE1C,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAE1F,SAAwB,MAAM;IAC5B,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC/B,IAAI,CAAC,GAAe;YAClB,MAAM,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAC,GAAG,GAAG,CAAA;YACvC,GAAG,CAAC,IAAI,CACN,OAAO,MAAM,IAAI,QAAQ;gBACvB,CAAC,CAAC,IAAA,WAAC,EAAA,UAAU,IAAI,OAAO,MAAM,EAAE;gBAChC,CAAC,CAAC,IAAA,WAAC,EAAA,GAAG,WAAW,mBAAmB,IAAI,OAAO,CAClD,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC;gBAC7B,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,EAAC;aACtD;SACF;KACF,CAAA;AACH,CAAC;AAnBD,yBAmBC;AAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/uniqueItemProperties.d.ts
generated
vendored
Normal file
2
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/uniqueItemProperties.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
import type { FuncKeywordDefinition } from "ajv";
|
||||
export default function getDef(): FuncKeywordDefinition;
|
65
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/uniqueItemProperties.js
generated
vendored
Normal file
65
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/uniqueItemProperties.js
generated
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const equal = require("fast-deep-equal");
|
||||
const SCALAR_TYPES = ["number", "integer", "string", "boolean", "null"];
|
||||
function getDef() {
|
||||
return {
|
||||
keyword: "uniqueItemProperties",
|
||||
type: "array",
|
||||
schemaType: "array",
|
||||
compile(keys, parentSchema) {
|
||||
const scalar = getScalarKeys(keys, parentSchema);
|
||||
return (data) => {
|
||||
if (data.length <= 1)
|
||||
return true;
|
||||
for (let k = 0; k < keys.length; k++) {
|
||||
const key = keys[k];
|
||||
if (scalar[k]) {
|
||||
const hash = {};
|
||||
for (const x of data) {
|
||||
if (!x || typeof x != "object")
|
||||
continue;
|
||||
let p = x[key];
|
||||
if (p && typeof p == "object")
|
||||
continue;
|
||||
if (typeof p == "string")
|
||||
p = '"' + p;
|
||||
if (hash[p])
|
||||
return false;
|
||||
hash[p] = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (let i = data.length; i--;) {
|
||||
const x = data[i];
|
||||
if (!x || typeof x != "object")
|
||||
continue;
|
||||
for (let j = i; j--;) {
|
||||
const y = data[j];
|
||||
if (y && typeof y == "object" && equal(x[key], y[key]))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: { type: "string" },
|
||||
},
|
||||
};
|
||||
}
|
||||
exports.default = getDef;
|
||||
function getScalarKeys(keys, schema) {
|
||||
return keys.map((key) => {
|
||||
var _a, _b, _c;
|
||||
const t = (_c = (_b = (_a = schema.items) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b[key]) === null || _c === void 0 ? void 0 : _c.type;
|
||||
return Array.isArray(t)
|
||||
? !t.includes("object") && !t.includes("array")
|
||||
: SCALAR_TYPES.includes(t);
|
||||
});
|
||||
}
|
||||
module.exports = getDef;
|
||||
//# sourceMappingURL=uniqueItemProperties.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/uniqueItemProperties.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/definitions/uniqueItemProperties.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"uniqueItemProperties.js","sourceRoot":"","sources":["../../src/definitions/uniqueItemProperties.ts"],"names":[],"mappings":";;AACA,yCAAyC;AAEzC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AAEvE,SAAwB,MAAM;IAC5B,OAAO;QACL,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;QACnB,OAAO,CAAC,IAAc,EAAE,YAA6B;YACnD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;YAEhD,OAAO,CAAC,IAAI,EAAE,EAAE;gBACd,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAA;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;oBACnB,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;wBACb,MAAM,IAAI,GAAwB,EAAE,CAAA;wBACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;4BACpB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ;gCAAE,SAAQ;4BACxC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;4BACd,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ;gCAAE,SAAQ;4BACvC,IAAI,OAAO,CAAC,IAAI,QAAQ;gCAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;4BACrC,IAAI,IAAI,CAAC,CAAC,CAAC;gCAAE,OAAO,KAAK,CAAA;4BACzB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;yBACf;qBACF;yBAAM;wBACL,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAI;4BAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;4BACjB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ;gCAAE,SAAQ;4BACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAI;gCACrB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gCACjB,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;oCAAE,OAAO,KAAK,CAAA;6BACrE;yBACF;qBACF;iBACF;gBACD,OAAO,IAAI,CAAA;YACb,CAAC,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;SACxB;KACF,CAAA;AACH,CAAC;AAzCD,yBAyCC;AAED,SAAS,aAAa,CAAC,IAAc,EAAE,MAAuB;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;QACtB,MAAM,CAAC,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,UAAU,0CAAG,GAAG,CAAC,0CAAE,IAAI,CAAA;QAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA"}
|
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/index.d.ts
generated
vendored
Normal file
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { Plugin } from "ajv";
|
||||
export { AjvKeywordsError } from "./definitions";
|
||||
declare const ajvKeywords: Plugin<string | string[]>;
|
||||
export default ajvKeywords;
|
32
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/index.js
generated
vendored
Normal file
32
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/index.js
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const keywords_1 = __importDefault(require("./keywords"));
|
||||
const ajvKeywords = (ajv, keyword) => {
|
||||
if (Array.isArray(keyword)) {
|
||||
for (const k of keyword)
|
||||
get(k)(ajv);
|
||||
return ajv;
|
||||
}
|
||||
if (keyword) {
|
||||
get(keyword)(ajv);
|
||||
return ajv;
|
||||
}
|
||||
for (keyword in keywords_1.default)
|
||||
get(keyword)(ajv);
|
||||
return ajv;
|
||||
};
|
||||
ajvKeywords.get = get;
|
||||
function get(keyword) {
|
||||
const defFunc = keywords_1.default[keyword];
|
||||
if (!defFunc)
|
||||
throw new Error("Unknown keyword " + keyword);
|
||||
return defFunc;
|
||||
}
|
||||
exports.default = ajvKeywords;
|
||||
module.exports = ajvKeywords;
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
||||
module.exports.default = ajvKeywords;
|
||||
//# sourceMappingURL=index.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/index.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAEA,0DAAgC;AAIhC,MAAM,WAAW,GAA8B,CAAC,GAAQ,EAAE,OAA2B,EAAO,EAAE;IAC5F,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACpC,OAAO,GAAG,CAAA;KACX;IACD,IAAI,OAAO,EAAE;QACX,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;QACjB,OAAO,GAAG,CAAA;KACX;IACD,KAAK,OAAO,IAAI,kBAAO;QAAE,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;IAC1C,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,WAAW,CAAC,GAAG,GAAG,GAAG,CAAA;AAErB,SAAS,GAAG,CAAC,OAAe;IAC1B,MAAM,OAAO,GAAG,kBAAO,CAAC,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC,CAAA;IAC3D,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,kBAAe,WAAW,CAAA;AAC1B,MAAM,CAAC,OAAO,GAAG,WAAW,CAAA;AAE5B,sEAAsE;AACtE,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,WAAW,CAAA"}
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/allRequired.d.ts
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/allRequired.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import type { Plugin } from "ajv";
|
||||
declare const allRequired: Plugin<undefined>;
|
||||
export default allRequired;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/allRequired.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/allRequired.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const allRequired_1 = __importDefault(require("../definitions/allRequired"));
|
||||
const allRequired = (ajv) => ajv.addKeyword((0, allRequired_1.default)());
|
||||
exports.default = allRequired;
|
||||
module.exports = allRequired;
|
||||
//# sourceMappingURL=allRequired.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/allRequired.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/allRequired.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"allRequired.js","sourceRoot":"","sources":["../../src/keywords/allRequired.ts"],"names":[],"mappings":";;;;;AACA,6EAA+C;AAE/C,MAAM,WAAW,GAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAA,qBAAM,GAAE,CAAC,CAAA;AAExE,kBAAe,WAAW,CAAA;AAC1B,MAAM,CAAC,OAAO,GAAG,WAAW,CAAA"}
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/anyRequired.d.ts
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/anyRequired.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import type { Plugin } from "ajv";
|
||||
declare const anyRequired: Plugin<undefined>;
|
||||
export default anyRequired;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/anyRequired.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/anyRequired.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const anyRequired_1 = __importDefault(require("../definitions/anyRequired"));
|
||||
const anyRequired = (ajv) => ajv.addKeyword((0, anyRequired_1.default)());
|
||||
exports.default = anyRequired;
|
||||
module.exports = anyRequired;
|
||||
//# sourceMappingURL=anyRequired.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/anyRequired.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/anyRequired.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"anyRequired.js","sourceRoot":"","sources":["../../src/keywords/anyRequired.ts"],"names":[],"mappings":";;;;;AACA,6EAA+C;AAE/C,MAAM,WAAW,GAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAA,qBAAM,GAAE,CAAC,CAAA;AAExE,kBAAe,WAAW,CAAA;AAC1B,MAAM,CAAC,OAAO,GAAG,WAAW,CAAA"}
|
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepProperties.d.ts
generated
vendored
Normal file
4
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepProperties.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import type { Plugin } from "ajv";
|
||||
import type { DefinitionOptions } from "../definitions/_types";
|
||||
declare const deepProperties: Plugin<DefinitionOptions>;
|
||||
export default deepProperties;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepProperties.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepProperties.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const deepProperties_1 = __importDefault(require("../definitions/deepProperties"));
|
||||
const deepProperties = (ajv, opts) => ajv.addKeyword((0, deepProperties_1.default)(opts));
|
||||
exports.default = deepProperties;
|
||||
module.exports = deepProperties;
|
||||
//# sourceMappingURL=deepProperties.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepProperties.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepProperties.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"deepProperties.js","sourceRoot":"","sources":["../../src/keywords/deepProperties.ts"],"names":[],"mappings":";;;;;AACA,mFAAkD;AAGlD,MAAM,cAAc,GAA8B,CAAC,GAAG,EAAE,IAAwB,EAAE,EAAE,CAClF,GAAG,CAAC,UAAU,CAAC,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,CAAA;AAE9B,kBAAe,cAAc,CAAA;AAC7B,MAAM,CAAC,OAAO,GAAG,cAAc,CAAA"}
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepRequired.d.ts
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepRequired.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import type { Plugin } from "ajv";
|
||||
declare const deepRequired: Plugin<undefined>;
|
||||
export default deepRequired;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepRequired.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepRequired.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const deepRequired_1 = __importDefault(require("../definitions/deepRequired"));
|
||||
const deepRequired = (ajv) => ajv.addKeyword((0, deepRequired_1.default)());
|
||||
exports.default = deepRequired;
|
||||
module.exports = deepRequired;
|
||||
//# sourceMappingURL=deepRequired.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepRequired.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/deepRequired.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"deepRequired.js","sourceRoot":"","sources":["../../src/keywords/deepRequired.ts"],"names":[],"mappings":";;;;;AACA,+EAAgD;AAEhD,MAAM,YAAY,GAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAA,sBAAM,GAAE,CAAC,CAAA;AAEzE,kBAAe,YAAY,CAAA;AAC3B,MAAM,CAAC,OAAO,GAAG,YAAY,CAAA"}
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/dynamicDefaults.d.ts
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/dynamicDefaults.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import type { Plugin } from "ajv";
|
||||
declare const dynamicDefaults: Plugin<undefined>;
|
||||
export default dynamicDefaults;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/dynamicDefaults.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/dynamicDefaults.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const dynamicDefaults_1 = __importDefault(require("../definitions/dynamicDefaults"));
|
||||
const dynamicDefaults = (ajv) => ajv.addKeyword((0, dynamicDefaults_1.default)());
|
||||
exports.default = dynamicDefaults;
|
||||
module.exports = dynamicDefaults;
|
||||
//# sourceMappingURL=dynamicDefaults.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/dynamicDefaults.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/dynamicDefaults.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"dynamicDefaults.js","sourceRoot":"","sources":["../../src/keywords/dynamicDefaults.ts"],"names":[],"mappings":";;;;;AACA,qFAAmD;AAEnD,MAAM,eAAe,GAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAA,yBAAM,GAAE,CAAC,CAAA;AAE5E,kBAAe,eAAe,CAAA;AAC9B,MAAM,CAAC,OAAO,GAAG,eAAe,CAAA"}
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/exclusiveRange.d.ts
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/exclusiveRange.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import type { Plugin } from "ajv";
|
||||
declare const exclusiveRange: Plugin<undefined>;
|
||||
export default exclusiveRange;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/exclusiveRange.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/exclusiveRange.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const exclusiveRange_1 = __importDefault(require("../definitions/exclusiveRange"));
|
||||
const exclusiveRange = (ajv) => ajv.addKeyword((0, exclusiveRange_1.default)());
|
||||
exports.default = exclusiveRange;
|
||||
module.exports = exclusiveRange;
|
||||
//# sourceMappingURL=exclusiveRange.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/exclusiveRange.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/exclusiveRange.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"exclusiveRange.js","sourceRoot":"","sources":["../../src/keywords/exclusiveRange.ts"],"names":[],"mappings":";;;;;AACA,mFAAkD;AAElD,MAAM,cAAc,GAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAA,wBAAM,GAAE,CAAC,CAAA;AAE3E,kBAAe,cAAc,CAAA;AAC7B,MAAM,CAAC,OAAO,GAAG,cAAc,CAAA"}
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/index.d.ts
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import type { Plugin } from "ajv";
|
||||
declare const ajvKeywords: Record<string, Plugin<any> | undefined>;
|
||||
export default ajvKeywords;
|
43
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/index.js
generated
vendored
Normal file
43
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/index.js
generated
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const typeof_1 = __importDefault(require("./typeof"));
|
||||
const instanceof_1 = __importDefault(require("./instanceof"));
|
||||
const range_1 = __importDefault(require("./range"));
|
||||
const exclusiveRange_1 = __importDefault(require("./exclusiveRange"));
|
||||
const regexp_1 = __importDefault(require("./regexp"));
|
||||
const transform_1 = __importDefault(require("./transform"));
|
||||
const uniqueItemProperties_1 = __importDefault(require("./uniqueItemProperties"));
|
||||
const allRequired_1 = __importDefault(require("./allRequired"));
|
||||
const anyRequired_1 = __importDefault(require("./anyRequired"));
|
||||
const oneRequired_1 = __importDefault(require("./oneRequired"));
|
||||
const patternRequired_1 = __importDefault(require("./patternRequired"));
|
||||
const prohibited_1 = __importDefault(require("./prohibited"));
|
||||
const deepProperties_1 = __importDefault(require("./deepProperties"));
|
||||
const deepRequired_1 = __importDefault(require("./deepRequired"));
|
||||
const dynamicDefaults_1 = __importDefault(require("./dynamicDefaults"));
|
||||
const select_1 = __importDefault(require("./select"));
|
||||
// TODO type
|
||||
const ajvKeywords = {
|
||||
typeof: typeof_1.default,
|
||||
instanceof: instanceof_1.default,
|
||||
range: range_1.default,
|
||||
exclusiveRange: exclusiveRange_1.default,
|
||||
regexp: regexp_1.default,
|
||||
transform: transform_1.default,
|
||||
uniqueItemProperties: uniqueItemProperties_1.default,
|
||||
allRequired: allRequired_1.default,
|
||||
anyRequired: anyRequired_1.default,
|
||||
oneRequired: oneRequired_1.default,
|
||||
patternRequired: patternRequired_1.default,
|
||||
prohibited: prohibited_1.default,
|
||||
deepProperties: deepProperties_1.default,
|
||||
deepRequired: deepRequired_1.default,
|
||||
dynamicDefaults: dynamicDefaults_1.default,
|
||||
select: select_1.default,
|
||||
};
|
||||
exports.default = ajvKeywords;
|
||||
module.exports = ajvKeywords;
|
||||
//# sourceMappingURL=index.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/index.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keywords/index.ts"],"names":[],"mappings":";;;;;AACA,sDAAmC;AACnC,8DAA2C;AAC3C,oDAA2B;AAC3B,sEAA6C;AAC7C,sDAA6B;AAC7B,4DAAmC;AACnC,kFAAyD;AACzD,gEAAuC;AACvC,gEAAuC;AACvC,gEAAuC;AACvC,wEAA+C;AAC/C,8DAAqC;AACrC,sEAA6C;AAC7C,kEAAyC;AACzC,wEAA+C;AAC/C,sDAA6B;AAE7B,YAAY;AACZ,MAAM,WAAW,GAA4C;IAC3D,MAAM,EAAE,gBAAY;IACpB,UAAU,EAAE,oBAAgB;IAC5B,KAAK,EAAL,eAAK;IACL,cAAc,EAAd,wBAAc;IACd,MAAM,EAAN,gBAAM;IACN,SAAS,EAAT,mBAAS;IACT,oBAAoB,EAApB,8BAAoB;IACpB,WAAW,EAAX,qBAAW;IACX,WAAW,EAAX,qBAAW;IACX,WAAW,EAAX,qBAAW;IACX,eAAe,EAAf,yBAAe;IACf,UAAU,EAAV,oBAAU;IACV,cAAc,EAAd,wBAAc;IACd,YAAY,EAAZ,sBAAY;IACZ,eAAe,EAAf,yBAAe;IACf,MAAM,EAAN,gBAAM;CACP,CAAA;AAED,kBAAe,WAAW,CAAA;AAC1B,MAAM,CAAC,OAAO,GAAG,WAAW,CAAA"}
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/instanceof.d.ts
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/instanceof.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import type { Plugin } from "ajv";
|
||||
declare const instanceofPlugin: Plugin<undefined>;
|
||||
export default instanceofPlugin;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/instanceof.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/instanceof.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const instanceof_1 = __importDefault(require("../definitions/instanceof"));
|
||||
const instanceofPlugin = (ajv) => ajv.addKeyword((0, instanceof_1.default)());
|
||||
exports.default = instanceofPlugin;
|
||||
module.exports = instanceofPlugin;
|
||||
//# sourceMappingURL=instanceof.js.map
|
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/instanceof.js.map
generated
vendored
Normal file
1
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/instanceof.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"instanceof.js","sourceRoot":"","sources":["../../src/keywords/instanceof.ts"],"names":[],"mappings":";;;;;AACA,2EAA8C;AAE9C,MAAM,gBAAgB,GAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAA,oBAAM,GAAE,CAAC,CAAA;AAE7E,kBAAe,gBAAgB,CAAA;AAC/B,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAA"}
|
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/oneRequired.d.ts
generated
vendored
Normal file
3
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/oneRequired.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import type { Plugin } from "ajv";
|
||||
declare const oneRequired: Plugin<undefined>;
|
||||
export default oneRequired;
|
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/oneRequired.js
generated
vendored
Normal file
10
app_vue/node_modules/terser-webpack-plugin/node_modules/ajv-keywords/dist/keywords/oneRequired.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const oneRequired_1 = __importDefault(require("../definitions/oneRequired"));
|
||||
const oneRequired = (ajv) => ajv.addKeyword((0, oneRequired_1.default)());
|
||||
exports.default = oneRequired;
|
||||
module.exports = oneRequired;
|
||||
//# sourceMappingURL=oneRequired.js.map
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user