完成世界书、骰子、apiconfig页面处理
This commit is contained in:
31
frontend/node_modules/@ungap/structured-clone/.github/workflows/node.js.yml
generated
vendored
Normal file
31
frontend/node_modules/@ungap/structured-clone/.github/workflows/node.js.yml
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
||||
|
||||
name: build
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [16]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
- run: npm ci
|
||||
- run: npm run build --if-present
|
||||
- run: npm test
|
||||
- run: npm run coverage --if-present
|
||||
- name: Coveralls
|
||||
uses: coverallsapp/github-action@master
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
15
frontend/node_modules/@ungap/structured-clone/LICENSE
generated
vendored
Normal file
15
frontend/node_modules/@ungap/structured-clone/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
ISC License
|
||||
|
||||
Copyright (c) 2021, Andrea Giammarchi, @WebReflection
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
95
frontend/node_modules/@ungap/structured-clone/README.md
generated
vendored
Normal file
95
frontend/node_modules/@ungap/structured-clone/README.md
generated
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
# structuredClone polyfill
|
||||
|
||||
[](https://www.npmjs.com/package/@ungap/structured-clone) [](https://github.com/ungap/structured-clone/actions) [](https://coveralls.io/github/ungap/structured-clone?branch=main)
|
||||
|
||||
An env agnostic serializer and deserializer with recursion ability and types beyond *JSON* from the *HTML* standard itself.
|
||||
|
||||
* [Supported Types](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#supported_types)
|
||||
* *not supported yet*: Blob, File, FileList, ImageBitmap, ImageData or others non *JS* types but typed arrays are supported without major issues, but u/int8, u/int16, and u/int32 are the only safely suppored (right now).
|
||||
* *not possible to implement*: the `{transfer: []}` option can be passed but it's completely ignored.
|
||||
* [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/structuredClone)
|
||||
* [Serializer](https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal)
|
||||
* [Deserializer](https://html.spec.whatwg.org/multipage/structured-data.html#structureddeserialize)
|
||||
|
||||
Serialized values can be safely stringified as *JSON* too, and deserialization resurrect all values, even recursive, or more complex than what *JSON* allows.
|
||||
|
||||
|
||||
### Examples
|
||||
|
||||
Check the [100% test coverage](./test/index.js) to know even more.
|
||||
|
||||
```js
|
||||
// as default export
|
||||
import structuredClone from '@ungap/structured-clone';
|
||||
const cloned = structuredClone({any: 'serializable'});
|
||||
|
||||
// as independent serializer/deserializer
|
||||
import {serialize, deserialize} from '@ungap/structured-clone';
|
||||
|
||||
// the result can be stringified as JSON without issues
|
||||
// even if there is recursive data, bigint values,
|
||||
// typed arrays, and so on
|
||||
const serialized = serialize({any: 'serializable'});
|
||||
|
||||
// the result will be a replica of the original object
|
||||
const deserialized = deserialize(serialized);
|
||||
```
|
||||
|
||||
#### Global Polyfill
|
||||
Note: Only monkey patch the global if needed. This polyfill works just fine as an explicit import: `import structuredClone from "@ungap/structured-clone"`
|
||||
```js
|
||||
// Attach the polyfill as a Global function
|
||||
import structuredClone from "@ungap/structured-clone";
|
||||
if (!("structuredClone" in globalThis)) {
|
||||
globalThis.structuredClone = structuredClone;
|
||||
}
|
||||
|
||||
// Or don't monkey patch
|
||||
import structuredClone from "@ungap/structured-clone"
|
||||
// Just use it in the file
|
||||
structuredClone()
|
||||
```
|
||||
|
||||
**Note**: Do not attach this module's default export directly to the global scope, whithout a conditional guard to detect a native implementation. In environments where there is a native global implementation of `structuredClone()` already, assignment to the global object will result in an infinite loop when `globalThis.structuredClone()` is called. See the example above for a safe way to provide the polyfill globally in your project.
|
||||
|
||||
### Extra Features
|
||||
|
||||
There is no middle-ground between the structured clone algorithm and JSON:
|
||||
|
||||
* JSON is more relaxed about incompatible values: it just ignores these
|
||||
* Structured clone is inflexible regarding incompatible values, yet it makes specialized instances impossible to reconstruct, plus it doesn't offer any helper, such as `toJSON()`, to make serialization possible, or better, with specific cases
|
||||
|
||||
This module specialized `serialize` export offers, within the optional extra argument, a **lossy** property to avoid throwing when incompatible types are found down the road (function, symbol, ...), so that it is possible to send with less worrying about thrown errors.
|
||||
|
||||
```js
|
||||
// as default export
|
||||
import structuredClone from '@ungap/structured-clone';
|
||||
const cloned = structuredClone(
|
||||
{
|
||||
method() {
|
||||
// ignored, won't be cloned
|
||||
},
|
||||
special: Symbol('also ignored')
|
||||
},
|
||||
{
|
||||
// avoid throwing
|
||||
lossy: true,
|
||||
// avoid throwing *and* looks for toJSON
|
||||
json: true
|
||||
}
|
||||
);
|
||||
```
|
||||
|
||||
The behavior is the same found in *JSON* when it comes to *Array*, so that unsupported values will result as `null` placeholders instead.
|
||||
|
||||
#### toJSON
|
||||
|
||||
If `lossy` option is not enough, `json` will actually enforce `lossy` and also check for `toJSON` method when objects are parsed.
|
||||
|
||||
Alternative, the `json` exports combines all features:
|
||||
|
||||
```js
|
||||
import {stringify, parse} from '@ungap/structured-clone/json';
|
||||
|
||||
parse(stringify({any: 'serializable'}));
|
||||
```
|
||||
22
frontend/node_modules/@ungap/structured-clone/cjs/types.js
generated
vendored
Normal file
22
frontend/node_modules/@ungap/structured-clone/cjs/types.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
const VOID = -1;
|
||||
exports.VOID = VOID;
|
||||
const PRIMITIVE = 0;
|
||||
exports.PRIMITIVE = PRIMITIVE;
|
||||
const ARRAY = 1;
|
||||
exports.ARRAY = ARRAY;
|
||||
const OBJECT = 2;
|
||||
exports.OBJECT = OBJECT;
|
||||
const DATE = 3;
|
||||
exports.DATE = DATE;
|
||||
const REGEXP = 4;
|
||||
exports.REGEXP = REGEXP;
|
||||
const MAP = 5;
|
||||
exports.MAP = MAP;
|
||||
const SET = 6;
|
||||
exports.SET = SET;
|
||||
const ERROR = 7;
|
||||
exports.ERROR = ERROR;
|
||||
const BIGINT = 8;
|
||||
exports.BIGINT = BIGINT;
|
||||
// export const SYMBOL = 9;
|
||||
Reference in New Issue
Block a user