last update before handover

This commit is contained in:
2026-05-29 12:39:53 +08:00
parent 121d7f6024
commit 357e30af66
1362 changed files with 166577 additions and 387 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +1,18 @@
"use client";
import {
Primitive
} from "./chunk-CUJLK3KL.js";
import "./chunk-NXESFFTV.js";
import "./chunk-HDHGXYFG.js";
} from "./chunk-OE2FHCBS.js";
import "./chunk-YVE7F5OV.js";
import "./chunk-KDCVS43I.js";
import {
require_jsx_runtime
} from "./chunk-6PXSGDAH.js";
} from "./chunk-S725DACQ.js";
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__toESM
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/@radix-ui/react-label/dist/index.mjs
var React = __toESM(require_react(), 1);

View File

@@ -2,10 +2,10 @@ import {
Root,
Slot,
Slottable
} from "./chunk-HDHGXYFG.js";
import "./chunk-6PXSGDAH.js";
import "./chunk-DRWLMN53.js";
import "./chunk-G3PMV62Z.js";
} from "./chunk-YVE7F5OV.js";
import "./chunk-S725DACQ.js";
import "./chunk-RLJ2RCJQ.js";
import "./chunk-DC5AMYBS.js";
export {
Root,
Slot,

View File

@@ -1,20 +1,20 @@
"use client";
import {
Primitive
} from "./chunk-CUJLK3KL.js";
import "./chunk-NXESFFTV.js";
} from "./chunk-OE2FHCBS.js";
import {
useComposedRefs
} from "./chunk-HDHGXYFG.js";
} from "./chunk-YVE7F5OV.js";
import "./chunk-KDCVS43I.js";
import {
require_jsx_runtime
} from "./chunk-6PXSGDAH.js";
} from "./chunk-S725DACQ.js";
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__toESM
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/@radix-ui/react-switch/dist/index.mjs
var React7 = __toESM(require_react(), 1);

View File

@@ -1,121 +1,142 @@
{
"hash": "c4488152",
"hash": "67480e66",
"configHash": "93be2bc5",
"lockfileHash": "dd9a3b07",
"browserHash": "1169138b",
"lockfileHash": "73047a93",
"browserHash": "b827b73b",
"optimized": {
"react": {
"src": "../../react/index.js",
"file": "react.js",
"fileHash": "e00c8c84",
"fileHash": "608985d2",
"needsInterop": true
},
"react-dom": {
"src": "../../react-dom/index.js",
"file": "react-dom.js",
"fileHash": "d2f47568",
"fileHash": "acc0fd03",
"needsInterop": true
},
"react/jsx-dev-runtime": {
"src": "../../react/jsx-dev-runtime.js",
"file": "react_jsx-dev-runtime.js",
"fileHash": "1df609f3",
"fileHash": "4c11d708",
"needsInterop": true
},
"react/jsx-runtime": {
"src": "../../react/jsx-runtime.js",
"file": "react_jsx-runtime.js",
"fileHash": "e8c302f3",
"fileHash": "51138540",
"needsInterop": true
},
"@radix-ui/react-label": {
"src": "../../@radix-ui/react-label/dist/index.mjs",
"file": "@radix-ui_react-label.js",
"fileHash": "419383ad",
"fileHash": "563ecd1b",
"needsInterop": false
},
"@radix-ui/react-slot": {
"src": "../../@radix-ui/react-slot/dist/index.mjs",
"file": "@radix-ui_react-slot.js",
"fileHash": "50472b57",
"fileHash": "7424c2bb",
"needsInterop": false
},
"@radix-ui/react-switch": {
"src": "../../@radix-ui/react-switch/dist/index.mjs",
"file": "@radix-ui_react-switch.js",
"fileHash": "6643efcb",
"fileHash": "67231d1b",
"needsInterop": false
},
"class-variance-authority": {
"src": "../../class-variance-authority/dist/index.mjs",
"file": "class-variance-authority.js",
"fileHash": "6203168d",
"fileHash": "b2ce12b1",
"needsInterop": false
},
"clsx": {
"src": "../../clsx/dist/clsx.mjs",
"file": "clsx.js",
"fileHash": "09661efb",
"fileHash": "dc2b4e1b",
"needsInterop": false
},
"lucide-react": {
"src": "../../lucide-react/dist/esm/lucide-react.js",
"file": "lucide-react.js",
"fileHash": "0801a584",
"fileHash": "a331147d",
"needsInterop": false
},
"react-dom/client": {
"src": "../../react-dom/client.js",
"file": "react-dom_client.js",
"fileHash": "d4774966",
"fileHash": "31409344",
"needsInterop": true
},
"react-markdown": {
"src": "../../react-markdown/index.js",
"file": "react-markdown.js",
"fileHash": "0e5ce5fe",
"needsInterop": false
},
"react-router": {
"src": "../../react-router/dist/development/index.mjs",
"file": "react-router.js",
"fileHash": "bb881821",
"fileHash": "b5b7af01",
"needsInterop": false
},
"recharts": {
"src": "../../recharts/es6/index.js",
"file": "recharts.js",
"fileHash": "7a0be753",
"needsInterop": false
},
"tailwind-merge": {
"src": "../../tailwind-merge/dist/bundle-mjs.mjs",
"file": "tailwind-merge.js",
"fileHash": "26c4ecc4",
"fileHash": "f802156e",
"needsInterop": false
},
"zustand": {
"src": "../../zustand/esm/index.mjs",
"file": "zustand.js",
"fileHash": "a9c1f2c6",
"fileHash": "c49e9926",
"needsInterop": false
},
"zustand/middleware": {
"src": "../../zustand/esm/middleware.mjs",
"file": "zustand_middleware.js",
"fileHash": "63ac0849",
"fileHash": "3a78a742",
"needsInterop": false
},
"remark-gfm": {
"src": "../../remark-gfm/index.js",
"file": "remark-gfm.js",
"fileHash": "6f74dcc6",
"needsInterop": false
}
},
"chunks": {
"chunk-CUJLK3KL": {
"file": "chunk-CUJLK3KL.js"
},
"chunk-NXESFFTV": {
"file": "chunk-NXESFFTV.js"
},
"chunk-HDHGXYFG": {
"file": "chunk-HDHGXYFG.js"
},
"chunk-6PXSGDAH": {
"file": "chunk-6PXSGDAH.js"
},
"chunk-DRWLMN53": {
"file": "chunk-DRWLMN53.js"
"chunk-52VVROGY": {
"file": "chunk-52VVROGY.js"
},
"chunk-U7P2NEEE": {
"file": "chunk-U7P2NEEE.js"
},
"chunk-G3PMV62Z": {
"file": "chunk-G3PMV62Z.js"
"chunk-OE2FHCBS": {
"file": "chunk-OE2FHCBS.js"
},
"chunk-YVE7F5OV": {
"file": "chunk-YVE7F5OV.js"
},
"chunk-KDCVS43I": {
"file": "chunk-KDCVS43I.js"
},
"chunk-S725DACQ": {
"file": "chunk-S725DACQ.js"
},
"chunk-RLJ2RCJQ": {
"file": "chunk-RLJ2RCJQ.js"
},
"chunk-DC5AMYBS": {
"file": "chunk-DC5AMYBS.js"
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -4,6 +4,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
@@ -27,9 +28,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
export {
__commonJS,
__export,
__toESM
__toESM,
__publicField
};

View File

@@ -1,9 +1,9 @@
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__commonJS
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/scheduler/cjs/scheduler.development.js
var require_scheduler_development = __commonJS({
@@ -21683,4 +21683,4 @@ react-dom/cjs/react-dom.development.js:
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*)
*/
//# sourceMappingURL=chunk-NXESFFTV.js.map
//# sourceMappingURL=chunk-KDCVS43I.js.map

View File

@@ -1,18 +1,18 @@
import {
require_react_dom
} from "./chunk-NXESFFTV.js";
import {
Slot
} from "./chunk-HDHGXYFG.js";
} from "./chunk-YVE7F5OV.js";
import {
require_react_dom
} from "./chunk-KDCVS43I.js";
import {
require_jsx_runtime
} from "./chunk-6PXSGDAH.js";
} from "./chunk-S725DACQ.js";
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__toESM
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/@radix-ui/react-primitive/dist/index.mjs
var React = __toESM(require_react(), 1);
@@ -52,4 +52,4 @@ var Primitive = NODES.reduce((primitive, node) => {
export {
Primitive
};
//# sourceMappingURL=chunk-CUJLK3KL.js.map
//# sourceMappingURL=chunk-OE2FHCBS.js.map

View File

@@ -1,6 +1,6 @@
import {
__commonJS
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/react/cjs/react.development.js
var require_react_development = __commonJS({
@@ -1903,4 +1903,4 @@ react/cjs/react.development.js:
* LICENSE file in the root directory of this source tree.
*)
*/
//# sourceMappingURL=chunk-DRWLMN53.js.map
//# sourceMappingURL=chunk-RLJ2RCJQ.js.map

View File

@@ -1,9 +1,9 @@
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__commonJS
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/react/cjs/react-jsx-runtime.development.js
var require_react_jsx_runtime_development = __commonJS({
@@ -925,4 +925,4 @@ react/cjs/react-jsx-runtime.development.js:
* LICENSE file in the root directory of this source tree.
*)
*/
//# sourceMappingURL=chunk-6PXSGDAH.js.map
//# sourceMappingURL=chunk-S725DACQ.js.map

View File

@@ -1,12 +1,12 @@
import {
require_jsx_runtime
} from "./chunk-6PXSGDAH.js";
} from "./chunk-S725DACQ.js";
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__toESM
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/@radix-ui/react-slot/dist/index.mjs
var React2 = __toESM(require_react(), 1);
@@ -133,4 +133,4 @@ export {
Slottable,
Root
};
//# sourceMappingURL=chunk-HDHGXYFG.js.map
//# sourceMappingURL=chunk-YVE7F5OV.js.map

View File

@@ -1,7 +1,7 @@
import {
clsx
} from "./chunk-U7P2NEEE.js";
import "./chunk-G3PMV62Z.js";
import "./chunk-DC5AMYBS.js";
// node_modules/class-variance-authority/dist/index.mjs
var falsyToString = (value) => typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;

View File

@@ -2,7 +2,7 @@ import {
clsx,
clsx_default
} from "./chunk-U7P2NEEE.js";
import "./chunk-G3PMV62Z.js";
import "./chunk-DC5AMYBS.js";
export {
clsx,
clsx_default as default

View File

@@ -1,10 +1,10 @@
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__export,
__toESM
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/lucide-react/dist/esm/icons/index.js
var icons_exports = {};

View File

@@ -1,6 +1,6 @@
import {
require_react_dom
} from "./chunk-NXESFFTV.js";
import "./chunk-DRWLMN53.js";
import "./chunk-G3PMV62Z.js";
} from "./chunk-KDCVS43I.js";
import "./chunk-RLJ2RCJQ.js";
import "./chunk-DC5AMYBS.js";
export default require_react_dom();

View File

@@ -1,10 +1,10 @@
import {
require_react_dom
} from "./chunk-NXESFFTV.js";
import "./chunk-DRWLMN53.js";
} from "./chunk-KDCVS43I.js";
import "./chunk-RLJ2RCJQ.js";
import {
__commonJS
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/react-dom/client.js
var require_client = __commonJS({

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,11 +1,11 @@
"use client";
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__commonJS,
__toESM
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/cookie/dist/index.js
var require_dist = __commonJS({

View File

@@ -1,5 +1,5 @@
import {
require_react
} from "./chunk-DRWLMN53.js";
import "./chunk-G3PMV62Z.js";
} from "./chunk-RLJ2RCJQ.js";
import "./chunk-DC5AMYBS.js";
export default require_react();

View File

@@ -1,9 +1,9 @@
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__commonJS
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/react/cjs/react-jsx-dev-runtime.development.js
var require_react_jsx_dev_runtime_development = __commonJS({

View File

@@ -1,6 +1,6 @@
import {
require_jsx_runtime
} from "./chunk-6PXSGDAH.js";
import "./chunk-DRWLMN53.js";
import "./chunk-G3PMV62Z.js";
} from "./chunk-S725DACQ.js";
import "./chunk-RLJ2RCJQ.js";
import "./chunk-DC5AMYBS.js";
export default require_jsx_runtime();

34377
sample_interface/node_modules/.vite/deps/recharts.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

3141
sample_interface/node_modules/.vite/deps/remark-gfm.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
import "./chunk-G3PMV62Z.js";
import "./chunk-DC5AMYBS.js";
// node_modules/tailwind-merge/dist/bundle-mjs.mjs
var CLASS_PART_SEPARATOR = "-";

View File

@@ -1,9 +1,9 @@
import {
require_react
} from "./chunk-DRWLMN53.js";
} from "./chunk-RLJ2RCJQ.js";
import {
__toESM
} from "./chunk-G3PMV62Z.js";
} from "./chunk-DC5AMYBS.js";
// node_modules/zustand/esm/vanilla.mjs
var createStoreImpl = (createState) => {

View File

@@ -1,4 +1,4 @@
import "./chunk-G3PMV62Z.js";
import "./chunk-DC5AMYBS.js";
// node_modules/zustand/esm/middleware.mjs
var reduxImpl = (reducer, initial) => (set, _get, api) => {

View File

@@ -1 +0,0 @@
{"version":"4.1.0","results":[]}

21
sample_interface/node_modules/@types/debug/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

69
sample_interface/node_modules/@types/debug/README.md generated vendored Normal file
View File

@@ -0,0 +1,69 @@
# Installation
> `npm install --save @types/debug`
# Summary
This package contains type definitions for debug (https://github.com/debug-js/debug).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/debug.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/debug/index.d.ts)
````ts
declare var debug: debug.Debug & { debug: debug.Debug; default: debug.Debug };
export = debug;
export as namespace debug;
declare namespace debug {
interface Debug {
(namespace: string): Debugger;
coerce: (val: any) => any;
disable: () => string;
enable: (namespaces: string) => void;
enabled: (namespaces: string) => boolean;
formatArgs: (this: Debugger, args: any[]) => void;
log: (...args: any[]) => any;
selectColor: (namespace: string) => string | number;
humanize: typeof import("ms");
names: RegExp[];
skips: RegExp[];
formatters: Formatters;
inspectOpts?: {
hideDate?: boolean | number | null;
colors?: boolean | number | null;
depth?: boolean | number | null;
showHidden?: boolean | number | null;
};
}
type IDebug = Debug;
interface Formatters {
[formatter: string]: (v: any) => string;
}
type IDebugger = Debugger;
interface Debugger {
(formatter: any, ...args: any[]): void;
color: string;
diff: number;
enabled: boolean;
log: (...args: any[]) => any;
namespace: string;
destroy: () => boolean;
extend: (namespace: string, delimiter?: string) => Debugger;
}
}
````
### Additional Details
* Last updated: Thu, 09 Nov 2023 03:06:57 GMT
* Dependencies: [@types/ms](https://npmjs.com/package/@types/ms)
# Credits
These definitions were written by [Seon-Wook Park](https://github.com/swook), [Gal Talmor](https://github.com/galtalmor), [John McLaughlin](https://github.com/zamb3zi), [Brasten Sager](https://github.com/brasten), [Nicolas Penin](https://github.com/npenin), [Kristian Brünn](https://github.com/kristianmitk), and [Caleb Gregory](https://github.com/calebgregory).

50
sample_interface/node_modules/@types/debug/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,50 @@
declare var debug: debug.Debug & { debug: debug.Debug; default: debug.Debug };
export = debug;
export as namespace debug;
declare namespace debug {
interface Debug {
(namespace: string): Debugger;
coerce: (val: any) => any;
disable: () => string;
enable: (namespaces: string) => void;
enabled: (namespaces: string) => boolean;
formatArgs: (this: Debugger, args: any[]) => void;
log: (...args: any[]) => any;
selectColor: (namespace: string) => string | number;
humanize: typeof import("ms");
names: RegExp[];
skips: RegExp[];
formatters: Formatters;
inspectOpts?: {
hideDate?: boolean | number | null;
colors?: boolean | number | null;
depth?: boolean | number | null;
showHidden?: boolean | number | null;
};
}
type IDebug = Debug;
interface Formatters {
[formatter: string]: (v: any) => string;
}
type IDebugger = Debugger;
interface Debugger {
(formatter: any, ...args: any[]): void;
color: string;
diff: number;
enabled: boolean;
log: (...args: any[]) => any;
namespace: string;
destroy: () => boolean;
extend: (namespace: string, delimiter?: string) => Debugger;
}
}

View File

@@ -0,0 +1,57 @@
{
"name": "@types/debug",
"version": "4.1.12",
"description": "TypeScript definitions for debug",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/debug",
"license": "MIT",
"contributors": [
{
"name": "Seon-Wook Park",
"githubUsername": "swook",
"url": "https://github.com/swook"
},
{
"name": "Gal Talmor",
"githubUsername": "galtalmor",
"url": "https://github.com/galtalmor"
},
{
"name": "John McLaughlin",
"githubUsername": "zamb3zi",
"url": "https://github.com/zamb3zi"
},
{
"name": "Brasten Sager",
"githubUsername": "brasten",
"url": "https://github.com/brasten"
},
{
"name": "Nicolas Penin",
"githubUsername": "npenin",
"url": "https://github.com/npenin"
},
{
"name": "Kristian Brünn",
"githubUsername": "kristianmitk",
"url": "https://github.com/kristianmitk"
},
{
"name": "Caleb Gregory",
"githubUsername": "calebgregory",
"url": "https://github.com/calebgregory"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/debug"
},
"scripts": {},
"dependencies": {
"@types/ms": "*"
},
"typesPublisherContentHash": "1053110a8e5e302f35fb57f45389304fa5a4f53bb8982b76b8065bcfd7083731",
"typeScriptVersion": "4.5"
}

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

View File

@@ -0,0 +1,15 @@
# Installation
> `npm install --save @types/estree-jsx`
# Summary
This package contains type definitions for estree-jsx (https://github.com/facebook/jsx).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree-jsx.
### Additional Details
* Last updated: Fri, 23 Feb 2024 02:11:41 GMT
* Dependencies: [@types/estree](https://npmjs.com/package/@types/estree)
# Credits
These definitions were written by [Tony Ross](https://github.com/antross).

View File

@@ -0,0 +1,114 @@
// Based on https://github.com/facebook/jsx/blob/master/AST.md.
// Extends existing types for ESTree AST from `@types/estree`.
import { BaseExpression, BaseNode, Expression, Literal } from "estree";
export * from "estree";
declare module "estree" {
interface ExpressionMap {
JSXElement: JSXElement;
JSXFragment: JSXFragment;
}
interface NodeMap {
JSXIdentifier: JSXIdentifier;
JSXNamespacedName: JSXNamespacedName;
JSXMemberExpression: JSXMemberExpression;
JSXEmptyExpression: JSXEmptyExpression;
JSXExpressionContainer: JSXExpressionContainer;
JSXSpreadAttribute: JSXSpreadAttribute;
JSXAttribute: JSXAttribute;
JSXOpeningElement: JSXOpeningElement;
JSXOpeningFragment: JSXOpeningFragment;
JSXClosingElement: JSXClosingElement;
JSXClosingFragment: JSXClosingFragment;
JSXElement: JSXElement;
JSXFragment: JSXFragment;
JSXText: JSXText;
}
}
export interface JSXIdentifier extends BaseNode {
type: "JSXIdentifier";
name: string;
}
export interface JSXMemberExpression extends BaseExpression {
type: "JSXMemberExpression";
object: JSXMemberExpression | JSXIdentifier;
property: JSXIdentifier;
}
export interface JSXNamespacedName extends BaseExpression {
type: "JSXNamespacedName";
namespace: JSXIdentifier;
name: JSXIdentifier;
}
export interface JSXEmptyExpression extends BaseNode {
type: "JSXEmptyExpression";
}
export interface JSXExpressionContainer extends BaseNode {
type: "JSXExpressionContainer";
expression: Expression | JSXEmptyExpression;
}
export interface JSXSpreadChild extends BaseNode {
type: "JSXSpreadChild";
expression: Expression;
}
interface JSXBoundaryElement extends BaseNode {
name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
}
export interface JSXOpeningElement extends JSXBoundaryElement {
type: "JSXOpeningElement";
attributes: Array<JSXAttribute | JSXSpreadAttribute>;
selfClosing: boolean;
}
export interface JSXClosingElement extends JSXBoundaryElement {
type: "JSXClosingElement";
}
export interface JSXAttribute extends BaseNode {
type: "JSXAttribute";
name: JSXIdentifier | JSXNamespacedName;
value: Literal | JSXExpressionContainer | JSXElement | JSXFragment | null;
}
export interface JSXSpreadAttribute extends BaseNode {
type: "JSXSpreadAttribute";
argument: Expression;
}
export interface JSXText extends BaseNode {
type: "JSXText";
value: string;
raw: string;
}
export interface JSXElement extends BaseExpression {
type: "JSXElement";
openingElement: JSXOpeningElement;
children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
closingElement: JSXClosingElement | null;
}
export interface JSXFragment extends BaseExpression {
type: "JSXFragment";
openingFragment: JSXOpeningFragment;
children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
closingFragment: JSXClosingFragment;
}
export interface JSXOpeningFragment extends BaseNode {
type: "JSXOpeningFragment";
}
export interface JSXClosingFragment extends BaseNode {
type: "JSXClosingFragment";
}

View File

@@ -0,0 +1,27 @@
{
"name": "@types/estree-jsx",
"version": "1.0.5",
"description": "TypeScript definitions for estree-jsx",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree-jsx",
"license": "MIT",
"contributors": [
{
"name": "Tony Ross",
"githubUsername": "antross",
"url": "https://github.com/antross"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/estree-jsx"
},
"scripts": {},
"dependencies": {
"@types/estree": "*"
},
"typesPublisherContentHash": "42fda803cc34f935c5a60a45e66b78e18fac56ef350d2d47c00759e16d4fef7f",
"typeScriptVersion": "4.6"
}

21
sample_interface/node_modules/@types/hast/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

15
sample_interface/node_modules/@types/hast/README.md generated vendored Normal file
View File

@@ -0,0 +1,15 @@
# Installation
> `npm install --save @types/hast`
# Summary
This package contains type definitions for hast (https://github.com/syntax-tree/hast).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/hast.
### Additional Details
* Last updated: Tue, 30 Jan 2024 21:35:45 GMT
* Dependencies: [@types/unist](https://npmjs.com/package/@types/unist)
# Credits
These definitions were written by [lukeggchapman](https://github.com/lukeggchapman), [Junyoung Choi](https://github.com/rokt33r), [Christian Murphy](https://github.com/ChristianMurphy), and [Remco Haszing](https://github.com/remcohaszing).

282
sample_interface/node_modules/@types/hast/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,282 @@
import type { Data as UnistData, Literal as UnistLiteral, Node as UnistNode, Parent as UnistParent } from "unist";
// ## Interfaces
/**
* Info associated with hast nodes by the ecosystem.
*
* This space is guaranteed to never be specified by unist or hast.
* But you can use it in utilities and plugins to store data.
*
* This type can be augmented to register custom data.
* For example:
*
* ```ts
* declare module 'hast' {
* interface Data {
* // `someNode.data.myId` is typed as `number | undefined`
* myId?: number | undefined
* }
* }
* ```
*/
export interface Data extends UnistData {}
/**
* Info associated with an element.
*/
export interface Properties {
[PropertyName: string]: boolean | number | string | null | undefined | Array<string | number>;
}
// ## Content maps
/**
* Union of registered hast nodes that can occur in {@link Element}.
*
* To register mote custom hast nodes, add them to {@link ElementContentMap}.
* They will be automatically added here.
*/
export type ElementContent = ElementContentMap[keyof ElementContentMap];
/**
* Registry of all hast nodes that can occur as children of {@link Element}.
*
* For a union of all {@link Element} children, see {@link ElementContent}.
*/
export interface ElementContentMap {
comment: Comment;
element: Element;
text: Text;
}
/**
* Union of registered hast nodes that can occur in {@link Root}.
*
* To register custom hast nodes, add them to {@link RootContentMap}.
* They will be automatically added here.
*/
export type RootContent = RootContentMap[keyof RootContentMap];
/**
* Registry of all hast nodes that can occur as children of {@link Root}.
*
* > 👉 **Note**: {@link Root} does not need to be an entire document.
* > it can also be a fragment.
*
* For a union of all {@link Root} children, see {@link RootContent}.
*/
export interface RootContentMap {
comment: Comment;
doctype: Doctype;
element: Element;
text: Text;
}
// ### Special content types
/**
* Union of registered hast nodes that can occur in {@link Root}.
*
* @deprecated Use {@link RootContent} instead.
*/
export type Content = RootContent;
/**
* Union of registered hast literals.
*
* To register custom hast nodes, add them to {@link RootContentMap} and other
* places where relevant.
* They will be automatically added here.
*/
export type Literals = Extract<Nodes, UnistLiteral>;
/**
* Union of registered hast nodes.
*
* To register custom hast nodes, add them to {@link RootContentMap} and other
* places where relevant.
* They will be automatically added here.
*/
export type Nodes = Root | RootContent;
/**
* Union of registered hast parents.
*
* To register custom hast nodes, add them to {@link RootContentMap} and other
* places where relevant.
* They will be automatically added here.
*/
export type Parents = Extract<Nodes, UnistParent>;
// ## Abstract nodes
/**
* Abstract hast node.
*
* This interface is supposed to be extended.
* If you can use {@link Literal} or {@link Parent}, you should.
* But for example in HTML, a `Doctype` is neither literal nor parent, but
* still a node.
*
* To register custom hast nodes, add them to {@link RootContentMap} and other
* places where relevant (such as {@link ElementContentMap}).
*
* For a union of all registered hast nodes, see {@link Nodes}.
*/
export interface Node extends UnistNode {
/**
* Info from the ecosystem.
*/
data?: Data | undefined;
}
/**
* Abstract hast node that contains the smallest possible value.
*
* This interface is supposed to be extended if you make custom hast nodes.
*
* For a union of all registered hast literals, see {@link Literals}.
*/
export interface Literal extends Node {
/**
* Plain-text value.
*/
value: string;
}
/**
* Abstract hast node that contains other hast nodes (*children*).
*
* This interface is supposed to be extended if you make custom hast nodes.
*
* For a union of all registered hast parents, see {@link Parents}.
*/
export interface Parent extends Node {
/**
* List of children.
*/
children: RootContent[];
}
// ## Concrete nodes
/**
* HTML comment.
*/
export interface Comment extends Literal {
/**
* Node type of HTML comments in hast.
*/
type: "comment";
/**
* Data associated with the comment.
*/
data?: CommentData | undefined;
}
/**
* Info associated with hast comments by the ecosystem.
*/
export interface CommentData extends Data {}
/**
* HTML document type.
*/
export interface Doctype extends UnistNode {
/**
* Node type of HTML document types in hast.
*/
type: "doctype";
/**
* Data associated with the doctype.
*/
data?: DoctypeData | undefined;
}
/**
* Info associated with hast doctypes by the ecosystem.
*/
export interface DoctypeData extends Data {}
/**
* HTML element.
*/
export interface Element extends Parent {
/**
* Node type of elements.
*/
type: "element";
/**
* Tag name (such as `'body'`) of the element.
*/
tagName: string;
/**
* Info associated with the element.
*/
properties: Properties;
/**
* Children of element.
*/
children: ElementContent[];
/**
* When the `tagName` field is `'template'`, a `content` field can be
* present.
*/
content?: Root | undefined;
/**
* Data associated with the element.
*/
data?: ElementData | undefined;
}
/**
* Info associated with hast elements by the ecosystem.
*/
export interface ElementData extends Data {}
/**
* Document fragment or a whole document.
*
* Should be used as the root of a tree and must not be used as a child.
*
* Can also be used as the value for the content field on a `'template'` element.
*/
export interface Root extends Parent {
/**
* Node type of hast root.
*/
type: "root";
/**
* Children of root.
*/
children: RootContent[];
/**
* Data associated with the hast root.
*/
data?: RootData | undefined;
}
/**
* Info associated with hast root nodes by the ecosystem.
*/
export interface RootData extends Data {}
/**
* HTML character data (plain text).
*/
export interface Text extends Literal {
/**
* Node type of HTML character data (plain text) in hast.
*/
type: "text";
/**
* Data associated with the text.
*/
data?: TextData | undefined;
}
/**
* Info associated with hast texts by the ecosystem.
*/
export interface TextData extends Data {}

42
sample_interface/node_modules/@types/hast/package.json generated vendored Normal file
View File

@@ -0,0 +1,42 @@
{
"name": "@types/hast",
"version": "3.0.4",
"description": "TypeScript definitions for hast",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/hast",
"license": "MIT",
"contributors": [
{
"name": "lukeggchapman",
"githubUsername": "lukeggchapman",
"url": "https://github.com/lukeggchapman"
},
{
"name": "Junyoung Choi",
"githubUsername": "rokt33r",
"url": "https://github.com/rokt33r"
},
{
"name": "Christian Murphy",
"githubUsername": "ChristianMurphy",
"url": "https://github.com/ChristianMurphy"
},
{
"name": "Remco Haszing",
"githubUsername": "remcohaszing",
"url": "https://github.com/remcohaszing"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/hast"
},
"scripts": {},
"dependencies": {
"@types/unist": "*"
},
"typesPublisherContentHash": "3f3f73826d79157c12087f5bb36195319c6f435b9e218fa7a8de88d1cc64d097",
"typeScriptVersion": "4.6"
}

21
sample_interface/node_modules/@types/mdast/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

15
sample_interface/node_modules/@types/mdast/README.md generated vendored Normal file
View File

@@ -0,0 +1,15 @@
# Installation
> `npm install --save @types/mdast`
# Summary
This package contains type definitions for mdast (https://github.com/syntax-tree/mdast).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mdast.
### Additional Details
* Last updated: Tue, 14 May 2024 07:35:36 GMT
* Dependencies: [@types/unist](https://npmjs.com/package/@types/unist)
# Credits
These definitions were written by [Christian Murphy](https://github.com/ChristianMurphy), [Jun Lu](https://github.com/lujun2), [Remco Haszing](https://github.com/remcohaszing), [Titus Wormer](https://github.com/wooorm), and [Remco Haszing](https://github.com/remcohaszing).

1123
sample_interface/node_modules/@types/mdast/index.d.ts generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,47 @@
{
"name": "@types/mdast",
"version": "4.0.4",
"description": "TypeScript definitions for mdast",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mdast",
"license": "MIT",
"contributors": [
{
"name": "Christian Murphy",
"githubUsername": "ChristianMurphy",
"url": "https://github.com/ChristianMurphy"
},
{
"name": "Jun Lu",
"githubUsername": "lujun2",
"url": "https://github.com/lujun2"
},
{
"name": "Remco Haszing",
"githubUsername": "remcohaszing",
"url": "https://github.com/remcohaszing"
},
{
"name": "Titus Wormer",
"githubUsername": "wooorm",
"url": "https://github.com/wooorm"
},
{
"name": "Remco Haszing",
"githubUsername": "remcohaszing",
"url": "https://github.com/remcohaszing"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/mdast"
},
"scripts": {},
"dependencies": {
"@types/unist": "*"
},
"typesPublisherContentHash": "1599d3ca45533e9d9248231c90843306b49c07fe13ad94ebf7345da44d8fd4bd",
"typeScriptVersion": "4.7"
}

21
sample_interface/node_modules/@types/ms/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

82
sample_interface/node_modules/@types/ms/README.md generated vendored Normal file
View File

@@ -0,0 +1,82 @@
# Installation
> `npm install --save @types/ms`
# Summary
This package contains type definitions for ms (https://github.com/vercel/ms).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ms.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ms/index.d.ts)
````ts
/**
* Short/Long format for `value`.
*
* @param {Number} value
* @param {{long: boolean}} options
* @return {String}
*/
declare function ms(value: number, options?: { long: boolean }): string;
/**
* Parse the given `value` and return milliseconds.
*
* @param {ms.StringValue} value
* @return {Number}
*/
declare function ms(value: ms.StringValue): number;
declare namespace ms {
// Unit, UnitAnyCase, and StringValue are backported from ms@3
// https://github.com/vercel/ms/blob/8b5923d1d86c84a9f6aba8022d416dcf2361aa8d/src/index.ts
type Unit =
| "Years"
| "Year"
| "Yrs"
| "Yr"
| "Y"
| "Weeks"
| "Week"
| "W"
| "Days"
| "Day"
| "D"
| "Hours"
| "Hour"
| "Hrs"
| "Hr"
| "H"
| "Minutes"
| "Minute"
| "Mins"
| "Min"
| "M"
| "Seconds"
| "Second"
| "Secs"
| "Sec"
| "s"
| "Milliseconds"
| "Millisecond"
| "Msecs"
| "Msec"
| "Ms";
type UnitAnyCase = Unit | Uppercase<Unit> | Lowercase<Unit>;
type StringValue =
| `${number}`
| `${number}${UnitAnyCase}`
| `${number} ${UnitAnyCase}`;
}
export = ms;
````
### Additional Details
* Last updated: Thu, 16 Jan 2025 21:02:45 GMT
* Dependencies: none
# Credits
These definitions were written by [Zhiyuan Wang](https://github.com/danny8002).

63
sample_interface/node_modules/@types/ms/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,63 @@
/**
* Short/Long format for `value`.
*
* @param {Number} value
* @param {{long: boolean}} options
* @return {String}
*/
declare function ms(value: number, options?: { long: boolean }): string;
/**
* Parse the given `value` and return milliseconds.
*
* @param {ms.StringValue} value
* @return {Number}
*/
declare function ms(value: ms.StringValue): number;
declare namespace ms {
// Unit, UnitAnyCase, and StringValue are backported from ms@3
// https://github.com/vercel/ms/blob/8b5923d1d86c84a9f6aba8022d416dcf2361aa8d/src/index.ts
type Unit =
| "Years"
| "Year"
| "Yrs"
| "Yr"
| "Y"
| "Weeks"
| "Week"
| "W"
| "Days"
| "Day"
| "D"
| "Hours"
| "Hour"
| "Hrs"
| "Hr"
| "H"
| "Minutes"
| "Minute"
| "Mins"
| "Min"
| "M"
| "Seconds"
| "Second"
| "Secs"
| "Sec"
| "s"
| "Milliseconds"
| "Millisecond"
| "Msecs"
| "Msec"
| "Ms";
type UnitAnyCase = Unit | Uppercase<Unit> | Lowercase<Unit>;
type StringValue =
| `${number}`
| `${number}${UnitAnyCase}`
| `${number} ${UnitAnyCase}`;
}
export = ms;

26
sample_interface/node_modules/@types/ms/package.json generated vendored Normal file
View File

@@ -0,0 +1,26 @@
{
"name": "@types/ms",
"version": "2.1.0",
"description": "TypeScript definitions for ms",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ms",
"license": "MIT",
"contributors": [
{
"name": "Zhiyuan Wang",
"githubUsername": "danny8002",
"url": "https://github.com/danny8002"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/ms"
},
"scripts": {},
"dependencies": {},
"peerDependencies": {},
"typesPublisherContentHash": "2c8651ce1714fdc6bcbc0f262c93a790f1d127fb1c2dc8edbb583decef56fd39",
"typeScriptVersion": "5.0"
}

21
sample_interface/node_modules/@types/unist/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

15
sample_interface/node_modules/@types/unist/README.md generated vendored Normal file
View File

@@ -0,0 +1,15 @@
# Installation
> `npm install --save @types/unist`
# Summary
This package contains type definitions for unist (https://github.com/syntax-tree/unist).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/unist.
### Additional Details
* Last updated: Thu, 15 Aug 2024 02:18:53 GMT
* Dependencies: none
# Credits
These definitions were written by [bizen241](https://github.com/bizen241), [Jun Lu](https://github.com/lujun2), [Hernan Rajchert](https://github.com/hrajchert), [Titus Wormer](https://github.com/wooorm), [Junyoung Choi](https://github.com/rokt33r), [Ben Moon](https://github.com/GuiltyDolphin), [JounQin](https://github.com/JounQin), and [Remco Haszing](https://github.com/remcohaszing).

119
sample_interface/node_modules/@types/unist/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,119 @@
// ## Interfaces
/**
* Info associated with nodes by the ecosystem.
*
* This space is guaranteed to never be specified by unist or specifications
* implementing unist.
* But you can use it in utilities and plugins to store data.
*
* This type can be augmented to register custom data.
* For example:
*
* ```ts
* declare module 'unist' {
* interface Data {
* // `someNode.data.myId` is typed as `number | undefined`
* myId?: number | undefined
* }
* }
* ```
*/
export interface Data {}
/**
* One place in a source file.
*/
export interface Point {
/**
* Line in a source file (1-indexed integer).
*/
line: number;
/**
* Column in a source file (1-indexed integer).
*/
column: number;
/**
* Character in a source file (0-indexed integer).
*/
offset?: number | undefined;
}
/**
* Position of a node in a source document.
*
* A position is a range between two points.
*/
export interface Position {
/**
* Place of the first character of the parsed source region.
*/
start: Point;
/**
* Place of the first character after the parsed source region.
*/
end: Point;
}
// ## Abstract nodes
/**
* Abstract unist node that contains the smallest possible value.
*
* This interface is supposed to be extended.
*
* For example, in HTML, a `text` node is a leaf that contains text.
*/
export interface Literal extends Node {
/**
* Plain value.
*/
value: unknown;
}
/**
* Abstract unist node.
*
* The syntactic unit in unist syntax trees are called nodes.
*
* This interface is supposed to be extended.
* If you can use {@link Literal} or {@link Parent}, you should.
* But for example in markdown, a `thematicBreak` (`***`), is neither literal
* nor parent, but still a node.
*/
export interface Node {
/**
* Node type.
*/
type: string;
/**
* Info from the ecosystem.
*/
data?: Data | undefined;
/**
* Position of a node in a source document.
*
* Nodes that are generated (not in the original source document) must not
* have a position.
*/
position?: Position | undefined;
}
/**
* Abstract unist node that contains other nodes (*children*).
*
* This interface is supposed to be extended.
*
* For example, in XML, an element is a parent of different things, such as
* comments, text, and further elements.
*/
export interface Parent extends Node {
/**
* List of children.
*/
children: Node[];
}

View File

@@ -0,0 +1,60 @@
{
"name": "@types/unist",
"version": "3.0.3",
"description": "TypeScript definitions for unist",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/unist",
"license": "MIT",
"contributors": [
{
"name": "bizen241",
"githubUsername": "bizen241",
"url": "https://github.com/bizen241"
},
{
"name": "Jun Lu",
"githubUsername": "lujun2",
"url": "https://github.com/lujun2"
},
{
"name": "Hernan Rajchert",
"githubUsername": "hrajchert",
"url": "https://github.com/hrajchert"
},
{
"name": "Titus Wormer",
"githubUsername": "wooorm",
"url": "https://github.com/wooorm"
},
{
"name": "Junyoung Choi",
"githubUsername": "rokt33r",
"url": "https://github.com/rokt33r"
},
{
"name": "Ben Moon",
"githubUsername": "GuiltyDolphin",
"url": "https://github.com/GuiltyDolphin"
},
{
"name": "JounQin",
"githubUsername": "JounQin",
"url": "https://github.com/JounQin"
},
{
"name": "Remco Haszing",
"githubUsername": "remcohaszing",
"url": "https://github.com/remcohaszing"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/unist"
},
"scripts": {},
"dependencies": {},
"typesPublisherContentHash": "7f3d5ce8d56003f3583a5317f98d444bdc99910c7b486c6b10af4f38694e61fe",
"typeScriptVersion": "4.8"
}

View 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 }}

View 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.

View File

@@ -0,0 +1,95 @@
# structuredClone polyfill
[![Downloads](https://img.shields.io/npm/dm/@ungap/structured-clone.svg)](https://www.npmjs.com/package/@ungap/structured-clone) [![build status](https://github.com/ungap/structured-clone/actions/workflows/node.js.yml/badge.svg)](https://github.com/ungap/structured-clone/actions) [![Coverage Status](https://coveralls.io/repos/github/ungap/structured-clone/badge.svg?branch=main)](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'}));
```

View File

@@ -0,0 +1,84 @@
'use strict';
const {
VOID, PRIMITIVE, ARRAY, OBJECT, DATE, REGEXP, MAP, SET, ERROR, BIGINT
} = require('./types.js');
const env = typeof self === 'object' ? self : globalThis;
const deserializer = ($, _) => {
const as = (out, index) => {
$.set(index, out);
return out;
};
const unpair = index => {
if ($.has(index))
return $.get(index);
const [type, value] = _[index];
switch (type) {
case PRIMITIVE:
case VOID:
return as(value, index);
case ARRAY: {
const arr = as([], index);
for (const index of value)
arr.push(unpair(index));
return arr;
}
case OBJECT: {
const object = as({}, index);
for (const [key, index] of value)
object[unpair(key)] = unpair(index);
return object;
}
case DATE:
return as(new Date(value), index);
case REGEXP: {
const {source, flags} = value;
return as(new RegExp(source, flags), index);
}
case MAP: {
const map = as(new Map, index);
for (const [key, index] of value)
map.set(unpair(key), unpair(index));
return map;
}
case SET: {
const set = as(new Set, index);
for (const index of value)
set.add(unpair(index));
return set;
}
case ERROR: {
const {name, message} = value;
return as(new env[name](message), index);
}
case BIGINT:
return as(BigInt(value), index);
case 'BigInt':
return as(Object(BigInt(value)), index);
case 'ArrayBuffer':
return as(new Uint8Array(value).buffer, value);
case 'DataView': {
const { buffer } = new Uint8Array(value);
return as(new DataView(buffer), value);
}
}
return as(new env[type](value), index);
};
return unpair;
};
/**
* @typedef {Array<string,any>} Record a type representation
*/
/**
* Returns a deserialized value from a serialized array of Records.
* @param {Record[]} serialized a previously serialized value.
* @returns {any}
*/
const deserialize = serialized => deserializer(new Map, serialized)(0);
exports.deserialize = deserialize;

View File

@@ -0,0 +1,27 @@
'use strict';
const {deserialize} = require('./deserialize.js');
const {serialize} = require('./serialize.js');
/**
* @typedef {Array<string,any>} Record a type representation
*/
/**
* Returns an array of serialized Records.
* @param {any} any a serializable value.
* @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with
* a transfer option (ignored when polyfilled) and/or non standard fields that
* fallback to the polyfill if present.
* @returns {Record[]}
*/
Object.defineProperty(exports, '__esModule', {value: true}).default = typeof structuredClone === "function" ?
/* c8 ignore start */
(any, options) => (
options && ('json' in options || 'lossy' in options) ?
deserialize(serialize(any, options)) : structuredClone(any)
) :
(any, options) => deserialize(serialize(any, options));
/* c8 ignore stop */
exports.deserialize = deserialize;
exports.serialize = serialize;

View File

@@ -0,0 +1,24 @@
'use strict';
/*! (c) Andrea Giammarchi - ISC */
const {deserialize} = require('./deserialize.js');
const {serialize} = require('./serialize.js');
const {parse: $parse, stringify: $stringify} = JSON;
const options = {json: true, lossy: true};
/**
* Revive a previously stringified structured clone.
* @param {string} str previously stringified data as string.
* @returns {any} whatever was previously stringified as clone.
*/
const parse = str => deserialize($parse(str));
exports.parse = parse;
/**
* Represent a structured clone value as string.
* @param {any} any some clone-able value to stringify.
* @returns {string} the value stringified.
*/
const stringify = any => $stringify(serialize(any, options));
exports.stringify = stringify;

View File

@@ -0,0 +1 @@
{"type":"commonjs"}

View File

@@ -0,0 +1,170 @@
'use strict';
const {
VOID, PRIMITIVE, ARRAY, OBJECT, DATE, REGEXP, MAP, SET, ERROR, BIGINT
} = require('./types.js');
const EMPTY = '';
const {toString} = {};
const {keys} = Object;
const typeOf = value => {
const type = typeof value;
if (type !== 'object' || !value)
return [PRIMITIVE, type];
const asString = toString.call(value).slice(8, -1);
switch (asString) {
case 'Array':
return [ARRAY, EMPTY];
case 'Object':
return [OBJECT, EMPTY];
case 'Date':
return [DATE, EMPTY];
case 'RegExp':
return [REGEXP, EMPTY];
case 'Map':
return [MAP, EMPTY];
case 'Set':
return [SET, EMPTY];
case 'DataView':
return [ARRAY, asString];
}
if (asString.includes('Array'))
return [ARRAY, asString];
if (asString.includes('Error'))
return [ERROR, asString];
return [OBJECT, asString];
};
const shouldSkip = ([TYPE, type]) => (
TYPE === PRIMITIVE &&
(type === 'function' || type === 'symbol')
);
const serializer = (strict, json, $, _) => {
const as = (out, value) => {
const index = _.push(out) - 1;
$.set(value, index);
return index;
};
const pair = value => {
if ($.has(value))
return $.get(value);
let [TYPE, type] = typeOf(value);
switch (TYPE) {
case PRIMITIVE: {
let entry = value;
switch (type) {
case 'bigint':
TYPE = BIGINT;
entry = value.toString();
break;
case 'function':
case 'symbol':
if (strict)
throw new TypeError('unable to serialize ' + type);
entry = null;
break;
case 'undefined':
return as([VOID], value);
}
return as([TYPE, entry], value);
}
case ARRAY: {
if (type) {
let spread = value;
if (type === 'DataView') {
spread = new Uint8Array(value.buffer);
}
else if (type === 'ArrayBuffer') {
spread = new Uint8Array(value);
}
return as([type, [...spread]], value);
}
const arr = [];
const index = as([TYPE, arr], value);
for (const entry of value)
arr.push(pair(entry));
return index;
}
case OBJECT: {
if (type) {
switch (type) {
case 'BigInt':
return as([type, value.toString()], value);
case 'Boolean':
case 'Number':
case 'String':
return as([type, value.valueOf()], value);
}
}
if (json && ('toJSON' in value))
return pair(value.toJSON());
const entries = [];
const index = as([TYPE, entries], value);
for (const key of keys(value)) {
if (strict || !shouldSkip(typeOf(value[key])))
entries.push([pair(key), pair(value[key])]);
}
return index;
}
case DATE:
return as([TYPE, value.toISOString()], value);
case REGEXP: {
const {source, flags} = value;
return as([TYPE, {source, flags}], value);
}
case MAP: {
const entries = [];
const index = as([TYPE, entries], value);
for (const [key, entry] of value) {
if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))
entries.push([pair(key), pair(entry)]);
}
return index;
}
case SET: {
const entries = [];
const index = as([TYPE, entries], value);
for (const entry of value) {
if (strict || !shouldSkip(typeOf(entry)))
entries.push(pair(entry));
}
return index;
}
}
const {message} = value;
return as([TYPE, {name: type, message}], value);
};
return pair;
};
/**
* @typedef {Array<string,any>} Record a type representation
*/
/**
* Returns an array of serialized Records.
* @param {any} value a serializable value.
* @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,
* if `true`, will not throw errors on incompatible types, and behave more
* like JSON stringify would behave. Symbol and Function will be discarded.
* @returns {Record[]}
*/
const serialize = (value, {json, lossy} = {}) => {
const _ = [];
return serializer(!(json || lossy), !!json, new Map, _)(value), _;
};
exports.serialize = serialize;

View 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;

View File

@@ -0,0 +1,85 @@
import {
VOID, PRIMITIVE,
ARRAY, OBJECT,
DATE, REGEXP, MAP, SET,
ERROR, BIGINT
} from './types.js';
const env = typeof self === 'object' ? self : globalThis;
const deserializer = ($, _) => {
const as = (out, index) => {
$.set(index, out);
return out;
};
const unpair = index => {
if ($.has(index))
return $.get(index);
const [type, value] = _[index];
switch (type) {
case PRIMITIVE:
case VOID:
return as(value, index);
case ARRAY: {
const arr = as([], index);
for (const index of value)
arr.push(unpair(index));
return arr;
}
case OBJECT: {
const object = as({}, index);
for (const [key, index] of value)
object[unpair(key)] = unpair(index);
return object;
}
case DATE:
return as(new Date(value), index);
case REGEXP: {
const {source, flags} = value;
return as(new RegExp(source, flags), index);
}
case MAP: {
const map = as(new Map, index);
for (const [key, index] of value)
map.set(unpair(key), unpair(index));
return map;
}
case SET: {
const set = as(new Set, index);
for (const index of value)
set.add(unpair(index));
return set;
}
case ERROR: {
const {name, message} = value;
return as(new env[name](message), index);
}
case BIGINT:
return as(BigInt(value), index);
case 'BigInt':
return as(Object(BigInt(value)), index);
case 'ArrayBuffer':
return as(new Uint8Array(value).buffer, value);
case 'DataView': {
const { buffer } = new Uint8Array(value);
return as(new DataView(buffer), value);
}
}
return as(new env[type](value), index);
};
return unpair;
};
/**
* @typedef {Array<string,any>} Record a type representation
*/
/**
* Returns a deserialized value from a serialized array of Records.
* @param {Record[]} serialized a previously serialized value.
* @returns {any}
*/
export const deserialize = serialized => deserializer(new Map, serialized)(0);

View File

@@ -0,0 +1,25 @@
import {deserialize} from './deserialize.js';
import {serialize} from './serialize.js';
/**
* @typedef {Array<string,any>} Record a type representation
*/
/**
* Returns an array of serialized Records.
* @param {any} any a serializable value.
* @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with
* a transfer option (ignored when polyfilled) and/or non standard fields that
* fallback to the polyfill if present.
* @returns {Record[]}
*/
export default typeof structuredClone === "function" ?
/* c8 ignore start */
(any, options) => (
options && ('json' in options || 'lossy' in options) ?
deserialize(serialize(any, options)) : structuredClone(any)
) :
(any, options) => deserialize(serialize(any, options));
/* c8 ignore stop */
export {deserialize, serialize};

View File

@@ -0,0 +1,21 @@
/*! (c) Andrea Giammarchi - ISC */
import {deserialize} from './deserialize.js';
import {serialize} from './serialize.js';
const {parse: $parse, stringify: $stringify} = JSON;
const options = {json: true, lossy: true};
/**
* Revive a previously stringified structured clone.
* @param {string} str previously stringified data as string.
* @returns {any} whatever was previously stringified as clone.
*/
export const parse = str => deserialize($parse(str));
/**
* Represent a structured clone value as string.
* @param {any} any some clone-able value to stringify.
* @returns {string} the value stringified.
*/
export const stringify = any => $stringify(serialize(any, options));

View File

@@ -0,0 +1,171 @@
import {
VOID, PRIMITIVE,
ARRAY, OBJECT,
DATE, REGEXP, MAP, SET,
ERROR, BIGINT
} from './types.js';
const EMPTY = '';
const {toString} = {};
const {keys} = Object;
const typeOf = value => {
const type = typeof value;
if (type !== 'object' || !value)
return [PRIMITIVE, type];
const asString = toString.call(value).slice(8, -1);
switch (asString) {
case 'Array':
return [ARRAY, EMPTY];
case 'Object':
return [OBJECT, EMPTY];
case 'Date':
return [DATE, EMPTY];
case 'RegExp':
return [REGEXP, EMPTY];
case 'Map':
return [MAP, EMPTY];
case 'Set':
return [SET, EMPTY];
case 'DataView':
return [ARRAY, asString];
}
if (asString.includes('Array'))
return [ARRAY, asString];
if (asString.includes('Error'))
return [ERROR, asString];
return [OBJECT, asString];
};
const shouldSkip = ([TYPE, type]) => (
TYPE === PRIMITIVE &&
(type === 'function' || type === 'symbol')
);
const serializer = (strict, json, $, _) => {
const as = (out, value) => {
const index = _.push(out) - 1;
$.set(value, index);
return index;
};
const pair = value => {
if ($.has(value))
return $.get(value);
let [TYPE, type] = typeOf(value);
switch (TYPE) {
case PRIMITIVE: {
let entry = value;
switch (type) {
case 'bigint':
TYPE = BIGINT;
entry = value.toString();
break;
case 'function':
case 'symbol':
if (strict)
throw new TypeError('unable to serialize ' + type);
entry = null;
break;
case 'undefined':
return as([VOID], value);
}
return as([TYPE, entry], value);
}
case ARRAY: {
if (type) {
let spread = value;
if (type === 'DataView') {
spread = new Uint8Array(value.buffer);
}
else if (type === 'ArrayBuffer') {
spread = new Uint8Array(value);
}
return as([type, [...spread]], value);
}
const arr = [];
const index = as([TYPE, arr], value);
for (const entry of value)
arr.push(pair(entry));
return index;
}
case OBJECT: {
if (type) {
switch (type) {
case 'BigInt':
return as([type, value.toString()], value);
case 'Boolean':
case 'Number':
case 'String':
return as([type, value.valueOf()], value);
}
}
if (json && ('toJSON' in value))
return pair(value.toJSON());
const entries = [];
const index = as([TYPE, entries], value);
for (const key of keys(value)) {
if (strict || !shouldSkip(typeOf(value[key])))
entries.push([pair(key), pair(value[key])]);
}
return index;
}
case DATE:
return as([TYPE, value.toISOString()], value);
case REGEXP: {
const {source, flags} = value;
return as([TYPE, {source, flags}], value);
}
case MAP: {
const entries = [];
const index = as([TYPE, entries], value);
for (const [key, entry] of value) {
if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))
entries.push([pair(key), pair(entry)]);
}
return index;
}
case SET: {
const entries = [];
const index = as([TYPE, entries], value);
for (const entry of value) {
if (strict || !shouldSkip(typeOf(entry)))
entries.push(pair(entry));
}
return index;
}
}
const {message} = value;
return as([TYPE, {name: type, message}], value);
};
return pair;
};
/**
* @typedef {Array<string,any>} Record a type representation
*/
/**
* Returns an array of serialized Records.
* @param {any} value a serializable value.
* @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,
* if `true`, will not throw errors on incompatible types, and behave more
* like JSON stringify would behave. Symbol and Function will be discarded.
* @returns {Record[]}
*/
export const serialize = (value, {json, lossy} = {}) => {
const _ = [];
return serializer(!(json || lossy), !!json, new Map, _)(value), _;
};

View File

@@ -0,0 +1,11 @@
export const VOID = -1;
export const PRIMITIVE = 0;
export const ARRAY = 1;
export const OBJECT = 2;
export const DATE = 3;
export const REGEXP = 4;
export const MAP = 5;
export const SET = 6;
export const ERROR = 7;
export const BIGINT = 8;
// export const SYMBOL = 9;

View File

@@ -0,0 +1,54 @@
{
"name": "@ungap/structured-clone",
"version": "1.3.0",
"description": "A structuredClone polyfill",
"main": "./cjs/index.js",
"scripts": {
"build": "npm run cjs && npm run rollup:json && npm run test",
"cjs": "ascjs esm cjs",
"coverage": "c8 report --reporter=text-lcov > ./coverage/lcov.info",
"rollup:json": "rollup --config rollup/json.config.js",
"test": "c8 node test/index.js"
},
"keywords": [
"recursion",
"structured",
"clone",
"algorithm"
],
"author": "Andrea Giammarchi",
"license": "ISC",
"devDependencies": {
"@rollup/plugin-node-resolve": "^16.0.0",
"@rollup/plugin-terser": "^0.4.4",
"ascjs": "^6.0.3",
"c8": "^10.1.3",
"coveralls": "^3.1.1",
"rollup": "^4.31.0"
},
"module": "./esm/index.js",
"type": "module",
"sideEffects": false,
"exports": {
".": {
"import": "./esm/index.js",
"default": "./cjs/index.js"
},
"./json": {
"import": "./esm/json.js",
"default": "./cjs/json.js"
},
"./package.json": "./package.json"
},
"directories": {
"test": "test"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ungap/structured-clone.git"
},
"bugs": {
"url": "https://github.com/ungap/structured-clone/issues"
},
"homepage": "https://github.com/ungap/structured-clone#readme"
}

View File

@@ -0,0 +1 @@
var StructuredJSON=function(e){"use strict";const r="object"==typeof self?self:globalThis,t=e=>((e,t)=>{const n=(r,t)=>(e.set(t,r),r),s=c=>{if(e.has(c))return e.get(c);const[a,o]=t[c];switch(a){case 0:case-1:return n(o,c);case 1:{const e=n([],c);for(const r of o)e.push(s(r));return e}case 2:{const e=n({},c);for(const[r,t]of o)e[s(r)]=s(t);return e}case 3:return n(new Date(o),c);case 4:{const{source:e,flags:r}=o;return n(new RegExp(e,r),c)}case 5:{const e=n(new Map,c);for(const[r,t]of o)e.set(s(r),s(t));return e}case 6:{const e=n(new Set,c);for(const r of o)e.add(s(r));return e}case 7:{const{name:e,message:t}=o;return n(new r[e](t),c)}case 8:return n(BigInt(o),c);case"BigInt":return n(Object(BigInt(o)),c);case"ArrayBuffer":return n(new Uint8Array(o).buffer,o);case"DataView":{const{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(new r[a](o),c)};return s})(new Map,e)(0),n="",{toString:s}={},{keys:c}=Object,a=e=>{const r=typeof e;if("object"!==r||!e)return[0,r];const t=s.call(e).slice(8,-1);switch(t){case"Array":return[1,n];case"Object":return[2,n];case"Date":return[3,n];case"RegExp":return[4,n];case"Map":return[5,n];case"Set":return[6,n];case"DataView":return[1,t]}return t.includes("Array")?[1,t]:t.includes("Error")?[7,t]:[2,t]},o=([e,r])=>0===e&&("function"===r||"symbol"===r),u=(e,{json:r,lossy:t}={})=>{const n=[];return((e,r,t,n)=>{const s=(e,r)=>{const s=n.push(e)-1;return t.set(r,s),s},u=n=>{if(t.has(n))return t.get(n);let[f,i]=a(n);switch(f){case 0:{let r=n;switch(i){case"bigint":f=8,r=n.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+i);r=null;break;case"undefined":return s([-1],n)}return s([f,r],n)}case 1:{if(i){let e=n;return"DataView"===i?e=new Uint8Array(n.buffer):"ArrayBuffer"===i&&(e=new Uint8Array(n)),s([i,[...e]],n)}const e=[],r=s([f,e],n);for(const r of n)e.push(u(r));return r}case 2:{if(i)switch(i){case"BigInt":return s([i,n.toString()],n);case"Boolean":case"Number":case"String":return s([i,n.valueOf()],n)}if(r&&"toJSON"in n)return u(n.toJSON());const t=[],l=s([f,t],n);for(const r of c(n))!e&&o(a(n[r]))||t.push([u(r),u(n[r])]);return l}case 3:return s([f,n.toISOString()],n);case 4:{const{source:e,flags:r}=n;return s([f,{source:e,flags:r}],n)}case 5:{const r=[],t=s([f,r],n);for(const[t,s]of n)(e||!o(a(t))&&!o(a(s)))&&r.push([u(t),u(s)]);return t}case 6:{const r=[],t=s([f,r],n);for(const t of n)!e&&o(a(t))||r.push(u(t));return t}}const{message:l}=n;return s([f,{name:i,message:l}],n)};return u})(!(r||t),!!r,new Map,n)(e),n},{parse:f,stringify:i}=JSON,l={json:!0,lossy:!0};return e.parse=e=>t(f(e)),e.stringify=e=>i(u(e,l)),e}({});

10
sample_interface/node_modules/bail/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,10 @@
/**
* Throw a given error.
*
* @param {Error|null|undefined} [error]
* Maybe error.
* @returns {asserts error is null|undefined}
*/
export function bail(
error?: Error | null | undefined
): asserts error is null | undefined

12
sample_interface/node_modules/bail/index.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
/**
* Throw a given error.
*
* @param {Error|null|undefined} [error]
* Maybe error.
* @returns {asserts error is null|undefined}
*/
export function bail(error) {
if (error) {
throw error
}
}

22
sample_interface/node_modules/bail/license generated vendored Normal file
View File

@@ -0,0 +1,22 @@
(The MIT License)
Copyright (c) 2015 Titus Wormer <tituswormer@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

73
sample_interface/node_modules/bail/package.json generated vendored Normal file
View File

@@ -0,0 +1,73 @@
{
"name": "bail",
"version": "2.0.2",
"description": "Throw a given error",
"license": "MIT",
"keywords": [
"fail",
"bail",
"throw",
"callback",
"error"
],
"repository": "wooorm/bail",
"bugs": "https://github.com/wooorm/bail/issues",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
},
"author": "Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)",
"contributors": [
"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)"
],
"sideEffects": false,
"type": "module",
"main": "index.js",
"types": "index.d.ts",
"files": [
"index.d.ts",
"index.js"
],
"devDependencies": {
"@types/tape": "^4.0.0",
"c8": "^7.0.0",
"prettier": "^2.0.0",
"remark-cli": "^10.0.0",
"remark-preset-wooorm": "^9.0.0",
"rimraf": "^3.0.0",
"tape": "^5.0.0",
"tsd": "^0.18.0",
"type-coverage": "^2.0.0",
"typescript": "^4.0.0",
"xo": "^0.46.0"
},
"scripts": {
"prepublishOnly": "npm run build && npm run format",
"build": "rimraf \"*.d.ts\" && tsc && tsd && type-coverage",
"format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix",
"test-api": "node --conditions development test.js",
"test-coverage": "c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api",
"test": "npm run build && npm run format && npm run test-coverage"
},
"prettier": {
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"bracketSpacing": false,
"semi": false,
"trailingComma": "none"
},
"xo": {
"prettier": true
},
"remarkConfig": {
"plugins": [
"preset-wooorm"
]
},
"typeCoverage": {
"atLeast": 100,
"detail": true,
"strict": true
}
}

147
sample_interface/node_modules/bail/readme.md generated vendored Normal file
View File

@@ -0,0 +1,147 @@
# bail
[![Build][build-badge]][build]
[![Coverage][coverage-badge]][coverage]
[![Downloads][downloads-badge]][downloads]
[![Size][size-badge]][size]
Throw if given an error.
## Contents
* [What is this?](#what-is-this)
* [When should I use this?](#when-should-i-use-this)
* [Install](#install)
* [Use](#use)
* [API](#api)
* [`bail(err?)`](#bailerr)
* [Types](#types)
* [Compatibility](#compatibility)
* [Security](#security)
* [Related](#related)
* [Contribute](#contribute)
* [License](#license)
## What is this?
This package throws a given error.
## When should I use this?
Use this package if youre building some scripts that might theoretically get
errors but frequently dont and you keep writing `if (error) throw error` over
and over again and youre just really done with that.
## Install
This package is [ESM only][esm].
In Node.js (version 12.20+, 14.14+, or 16.0+), install with [npm][]:
```sh
npm install bail
```
In Deno with [Skypack][]:
```js
import {bail} from 'https://cdn.skypack.dev/bail@2?dts'
```
In browsers with [Skypack][]:
```html
<script type="module">
import {bail} from 'https://cdn.skypack.dev/bail@2?min'
</script>
```
## Use
```js
import {bail} from 'bail'
bail()
bail(new Error('failure'))
// Error: failure
// at repl:1:6
// at REPLServer.defaultEval (repl.js:154:27)
// …
```
## API
This package exports the following identifier: `bail`.
There is no default export.
### `bail(err?)`
Throw a given error (`Error?`).
## Types
This package is fully typed with [TypeScript][].
There are no extra exported types.
## Compatibility
This package is at least compatible with all maintained versions of Node.js.
As of now, that is Node.js 12.20+, 14.14+, and 16.0+.
It also works in Deno and modern browsers.
## Security
This package is safe.
## Related
* [`noop`][noop]
* [`noop2`][noop2]
* [`noop3`][noop3]
## Contribute
Yes please!
See [How to Contribute to Open Source][contribute].
## License
[MIT][license] © [Titus Wormer][author]
<!-- Definitions -->
[build-badge]: https://github.com/wooorm/bail/workflows/main/badge.svg
[build]: https://github.com/wooorm/bail/actions
[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/bail.svg
[coverage]: https://codecov.io/github/wooorm/bail
[downloads-badge]: https://img.shields.io/npm/dm/bail.svg
[downloads]: https://www.npmjs.com/package/bail
[size-badge]: https://img.shields.io/bundlephobia/minzip/bail.svg
[size]: https://bundlephobia.com/result?p=bail
[npm]: https://docs.npmjs.com/cli/install
[skypack]: https://www.skypack.dev
[license]: license
[author]: https://wooorm.com
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[typescript]: https://www.typescriptlang.org
[contribute]: https://opensource.guide/how-to-contribute/
[noop]: https://www.npmjs.com/package/noop
[noop2]: https://www.npmjs.com/package/noop2
[noop3]: https://www.npmjs.com/package/noop3

11
sample_interface/node_modules/ccount/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,11 @@
/**
* Count how often a character (or substring) is used in a string.
*
* @param {string} value
* Value to search in.
* @param {string} character
* Character (or substring) to look for.
* @return {number}
* Number of times `character` occurred in `value`.
*/
export function ccount(value: string, character: string): number

27
sample_interface/node_modules/ccount/index.js generated vendored Normal file
View File

@@ -0,0 +1,27 @@
/**
* Count how often a character (or substring) is used in a string.
*
* @param {string} value
* Value to search in.
* @param {string} character
* Character (or substring) to look for.
* @return {number}
* Number of times `character` occurred in `value`.
*/
export function ccount(value, character) {
const source = String(value)
if (typeof character !== 'string') {
throw new TypeError('Expected character')
}
let count = 0
let index = source.indexOf(character)
while (index !== -1) {
count++
index = source.indexOf(character, index + character.length)
}
return count
}

22
sample_interface/node_modules/ccount/license generated vendored Normal file
View File

@@ -0,0 +1,22 @@
(The MIT License)
Copyright (c) 2015 Titus Wormer <tituswormer@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

71
sample_interface/node_modules/ccount/package.json generated vendored Normal file
View File

@@ -0,0 +1,71 @@
{
"name": "ccount",
"version": "2.0.1",
"description": "Count how often a character (or substring) is used in a string",
"license": "MIT",
"keywords": [
"character",
"count",
"char"
],
"repository": "wooorm/ccount",
"bugs": "https://github.com/wooorm/ccount/issues",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
},
"author": "Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)",
"contributors": [
"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)"
],
"sideEffects": false,
"type": "module",
"main": "index.js",
"types": "index.d.ts",
"files": [
"index.d.ts",
"index.js"
],
"devDependencies": {
"@types/tape": "^4.0.0",
"c8": "^7.0.0",
"prettier": "^2.0.0",
"remark-cli": "^10.0.0",
"remark-preset-wooorm": "^9.0.0",
"rimraf": "^3.0.0",
"tape": "^5.0.0",
"type-coverage": "^2.0.0",
"typescript": "^4.0.0",
"xo": "^0.46.0"
},
"scripts": {
"prepublishOnly": "npm run build && npm run format",
"build": "rimraf \"*.d.ts\" && tsc && type-coverage",
"format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix",
"test-api": "node --conditions development test.js",
"test-coverage": "c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api",
"test": "npm run build && npm run format && npm run test-coverage"
},
"prettier": {
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"bracketSpacing": false,
"semi": false,
"trailingComma": "none"
},
"xo": {
"prettier": true
},
"remarkConfig": {
"plugins": [
"preset-wooorm"
]
},
"typeCoverage": {
"atLeast": 100,
"detail": true,
"strict": true,
"ignoreCatch": true
}
}

149
sample_interface/node_modules/ccount/readme.md generated vendored Normal file
View File

@@ -0,0 +1,149 @@
# ccount
[![Build][build-badge]][build]
[![Coverage][coverage-badge]][coverage]
[![Downloads][downloads-badge]][downloads]
[![Size][size-badge]][size]
Count how often a character (or substring) is used in a string.
## Contents
* [What is this?](#what-is-this)
* [When should I use this?](#when-should-i-use-this)
* [Install](#install)
* [Use](#use)
* [API](#api)
* [`ccount(value, character)`](#ccountvalue-character)
* [Types](#types)
* [Compatibility](#compatibility)
* [Security](#security)
* [Related](#related)
* [Contribute](#contribute)
* [License](#license)
## What is this?
This package is a small utility that helps you find how frequently a substring
occurs in another string.
## When should I use this?
I find this particularly useful when generating code, for example, when building
a string that can either be double or single quoted.
I use this utility to choose single quotes when double quotes are used more
frequently, and double quotes otherwise.
## Install
This package is [ESM only][esm].
In Node.js (version 12.20+, 14.14+, or 16.0+), install with [npm][]:
```sh
npm install ccount
```
In Deno with [Skypack][]:
```js
import {ccount} from 'https://cdn.skypack.dev/ccount@2?dts'
```
In browsers with [Skypack][]:
```html
<script type="module">
import {ccount} from 'https://cdn.skypack.dev/ccount@2?min'
</script>
```
## Use
```js
import {ccount} from 'ccount'
ccount('foo(bar(baz)', '(') // => 2
ccount('foo(bar(baz)', ')') // => 1
```
## API
This package exports the following identifier: `ccount`.
There is no default export.
### `ccount(value, character)`
Count how often a character (or substring) is used in a string.
###### Parameters
* `value` (`string`)
— value to search in
* `character` (`string`)
— character (or substring) to look for
###### Returns
`number` — number of times `character` occurred in `value`.
## Types
This package is fully typed with [TypeScript][].
## Compatibility
This package is at least compatible with all maintained versions of Node.js.
As of now, that is Node.js 12.20+, 14.14+, and 16.0+.
It also works in Deno and modern browsers.
## Security
This package is safe.
## Related
* [`wooorm/longest-streak`](https://github.com/wooorm/longest-streak)
— count of longest repeating streak of `character` in `value`
* [`wooorm/direction`](https://github.com/wooorm/direction)
— detect directionality: left-to-right, right-to-left, or neutral
## Contribute
Yes please!
See [How to Contribute to Open Source][contribute].
## License
[MIT][license] © [Titus Wormer][author]
<!-- Definitions -->
[build-badge]: https://github.com/wooorm/ccount/workflows/main/badge.svg
[build]: https://github.com/wooorm/ccount/actions
[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/ccount.svg
[coverage]: https://codecov.io/github/wooorm/ccount
[downloads-badge]: https://img.shields.io/npm/dm/ccount.svg
[downloads]: https://www.npmjs.com/package/ccount
[size-badge]: https://img.shields.io/bundlephobia/minzip/ccount.svg
[size]: https://bundlephobia.com/result?p=ccount
[npm]: https://docs.npmjs.com/cli/install
[skypack]: https://www.skypack.dev
[license]: license
[author]: https://wooorm.com
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[typescript]: https://www.typescriptlang.org
[contribute]: https://opensource.guide/how-to-contribute/

View File

@@ -0,0 +1,6 @@
/**
* Map of named character references from HTML 4.
*
* @type {Record<string, string>}
*/
export const characterEntitiesHtml4: Record<string, string>

View File

@@ -0,0 +1,259 @@
/**
* Map of named character references from HTML 4.
*
* @type {Record<string, string>}
*/
export const characterEntitiesHtml4 = {
nbsp: ' ',
iexcl: '¡',
cent: '¢',
pound: '£',
curren: '¤',
yen: '¥',
brvbar: '¦',
sect: '§',
uml: '¨',
copy: '©',
ordf: 'ª',
laquo: '«',
not: '¬',
shy: '­',
reg: '®',
macr: '¯',
deg: '°',
plusmn: '±',
sup2: '²',
sup3: '³',
acute: '´',
micro: 'µ',
para: '¶',
middot: '·',
cedil: '¸',
sup1: '¹',
ordm: 'º',
raquo: '»',
frac14: '¼',
frac12: '½',
frac34: '¾',
iquest: '¿',
Agrave: 'À',
Aacute: 'Á',
Acirc: 'Â',
Atilde: 'Ã',
Auml: 'Ä',
Aring: 'Å',
AElig: 'Æ',
Ccedil: 'Ç',
Egrave: 'È',
Eacute: 'É',
Ecirc: 'Ê',
Euml: 'Ë',
Igrave: 'Ì',
Iacute: 'Í',
Icirc: 'Î',
Iuml: 'Ï',
ETH: 'Ð',
Ntilde: 'Ñ',
Ograve: 'Ò',
Oacute: 'Ó',
Ocirc: 'Ô',
Otilde: 'Õ',
Ouml: 'Ö',
times: '×',
Oslash: 'Ø',
Ugrave: 'Ù',
Uacute: 'Ú',
Ucirc: 'Û',
Uuml: 'Ü',
Yacute: 'Ý',
THORN: 'Þ',
szlig: 'ß',
agrave: 'à',
aacute: 'á',
acirc: 'â',
atilde: 'ã',
auml: 'ä',
aring: 'å',
aelig: 'æ',
ccedil: 'ç',
egrave: 'è',
eacute: 'é',
ecirc: 'ê',
euml: 'ë',
igrave: 'ì',
iacute: 'í',
icirc: 'î',
iuml: 'ï',
eth: 'ð',
ntilde: 'ñ',
ograve: 'ò',
oacute: 'ó',
ocirc: 'ô',
otilde: 'õ',
ouml: 'ö',
divide: '÷',
oslash: 'ø',
ugrave: 'ù',
uacute: 'ú',
ucirc: 'û',
uuml: 'ü',
yacute: 'ý',
thorn: 'þ',
yuml: 'ÿ',
fnof: 'ƒ',
Alpha: 'Α',
Beta: 'Β',
Gamma: 'Γ',
Delta: 'Δ',
Epsilon: 'Ε',
Zeta: 'Ζ',
Eta: 'Η',
Theta: 'Θ',
Iota: 'Ι',
Kappa: 'Κ',
Lambda: 'Λ',
Mu: 'Μ',
Nu: 'Ν',
Xi: 'Ξ',
Omicron: 'Ο',
Pi: 'Π',
Rho: 'Ρ',
Sigma: 'Σ',
Tau: 'Τ',
Upsilon: 'Υ',
Phi: 'Φ',
Chi: 'Χ',
Psi: 'Ψ',
Omega: 'Ω',
alpha: 'α',
beta: 'β',
gamma: 'γ',
delta: 'δ',
epsilon: 'ε',
zeta: 'ζ',
eta: 'η',
theta: 'θ',
iota: 'ι',
kappa: 'κ',
lambda: 'λ',
mu: 'μ',
nu: 'ν',
xi: 'ξ',
omicron: 'ο',
pi: 'π',
rho: 'ρ',
sigmaf: 'ς',
sigma: 'σ',
tau: 'τ',
upsilon: 'υ',
phi: 'φ',
chi: 'χ',
psi: 'ψ',
omega: 'ω',
thetasym: 'ϑ',
upsih: 'ϒ',
piv: 'ϖ',
bull: '•',
hellip: '…',
prime: '',
Prime: '″',
oline: '‾',
frasl: '',
weierp: '℘',
image: '',
real: '',
trade: '™',
alefsym: 'ℵ',
larr: '←',
uarr: '↑',
rarr: '→',
darr: '↓',
harr: '↔',
crarr: '↵',
lArr: '⇐',
uArr: '⇑',
rArr: '⇒',
dArr: '⇓',
hArr: '⇔',
forall: '∀',
part: '∂',
exist: '∃',
empty: '∅',
nabla: '∇',
isin: '∈',
notin: '∉',
ni: '∋',
prod: '∏',
sum: '∑',
minus: '',
lowast: '',
radic: '√',
prop: '∝',
infin: '∞',
ang: '∠',
and: '∧',
or: '',
cap: '∩',
cup: '',
int: '∫',
there4: '∴',
sim: '',
cong: '≅',
asymp: '≈',
ne: '≠',
equiv: '≡',
le: '≤',
ge: '≥',
sub: '⊂',
sup: '⊃',
nsub: '⊄',
sube: '⊆',
supe: '⊇',
oplus: '⊕',
otimes: '⊗',
perp: '⊥',
sdot: '⋅',
lceil: '⌈',
rceil: '⌉',
lfloor: '⌊',
rfloor: '⌋',
lang: '〈',
rang: '〉',
loz: '◊',
spades: '♠',
clubs: '♣',
hearts: '♥',
diams: '♦',
quot: '"',
amp: '&',
lt: '<',
gt: '>',
OElig: 'Œ',
oelig: 'œ',
Scaron: 'Š',
scaron: 'š',
Yuml: 'Ÿ',
circ: 'ˆ',
tilde: '˜',
ensp: '',
emsp: '',
thinsp: '',
zwnj: '',
zwj: '',
lrm: '',
rlm: '',
ndash: '',
mdash: '—',
lsquo: '',
rsquo: '',
sbquo: '',
ldquo: '“',
rdquo: '”',
bdquo: '„',
dagger: '†',
Dagger: '‡',
permil: '‰',
lsaquo: '',
rsaquo: '',
euro: '€'
}

View File

@@ -0,0 +1,22 @@
(The MIT License)
Copyright (c) 2015 Titus Wormer <tituswormer@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,79 @@
{
"name": "character-entities-html4",
"version": "2.1.0",
"description": "Map of named character references from HTML 4",
"license": "MIT",
"keywords": [
"html",
"html4",
"entity",
"entities",
"character",
"reference",
"name",
"replacement"
],
"repository": "wooorm/character-entities-html4",
"bugs": "https://github.com/wooorm/character-entities-html4/issues",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
},
"author": "Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)",
"contributors": [
"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)"
],
"sideEffects": false,
"type": "module",
"main": "index.js",
"types": "index.d.ts",
"files": [
"index.d.ts",
"index.js"
],
"devDependencies": {
"@types/tape": "^4.0.0",
"bail": "^2.0.0",
"c8": "^7.0.0",
"concat-stream": "^2.0.0",
"prettier": "^2.0.0",
"remark-cli": "^10.0.0",
"remark-preset-wooorm": "^9.0.0",
"rimraf": "^3.0.0",
"tape": "^5.0.0",
"type-coverage": "^2.0.0",
"typescript": "^4.0.0",
"xo": "^0.46.0"
},
"scripts": {
"prepublishOnly": "npm run build && npm run format",
"generate": "node build",
"build": "rimraf \"*.d.ts\" && tsc && type-coverage",
"format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix",
"test-api": "node --conditions development test.js",
"test-coverage": "c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api",
"test": "npm run generate && npm run build && npm run format && npm run test-coverage"
},
"prettier": {
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"bracketSpacing": false,
"semi": false,
"trailingComma": "none"
},
"xo": {
"prettier": true
},
"remarkConfig": {
"plugins": [
"preset-wooorm"
]
},
"typeCoverage": {
"atLeast": 100,
"detail": true,
"strict": true,
"ignoreCatch": true
}
}

View File

@@ -0,0 +1,153 @@
# character-entities-html4
[![Build][build-badge]][build]
[![Coverage][coverage-badge]][coverage]
[![Downloads][downloads-badge]][downloads]
[![Size][size-badge]][size]
Map of named character references from HTML 4.
## Contents
* [What is this?](#what-is-this)
* [When should I use this?](#when-should-i-use-this)
* [Install](#install)
* [Use](#use)
* [API](#api)
* [`characterEntitiesHtml4`](#characterentitieshtml4)
* [Types](#types)
* [Compatibility](#compatibility)
* [Security](#security)
* [Related](#related)
* [Contribute](#contribute)
* [License](#license)
## What is this?
This is a map of named character references in HTML 4 to the characters they
represent.
## When should I use this?
Maybe when youre writing an HTML parser or minifier, but otherwise probably
never!
Even then, it might be better to use [`parse-entities`][parse-entities] or
[`stringify-entities`][stringify-entities].
## Install
This package is [ESM only][esm].
In Node.js (version 12.20+, 14.14+, or 16.0+), install with [npm][]:
```sh
npm install character-entities-html4
```
In Deno with [Skypack][]:
```js
import {characterEntitiesHtml4} from 'https://cdn.skypack.dev/character-entities-html4@2?dts'
```
In browsers with [Skypack][]:
```html
<script type="module">
import {characterEntitiesHtml4} from 'https://cdn.skypack.dev/character-entities-html4@2?min'
</script>
```
## Use
```js
import {characterEntitiesHtml4} from 'character-entities-html4'
console.log(characterEntitiesHtml4.AElig) // => 'Æ'
console.log(characterEntitiesHtml4.aelig) // => 'æ'
console.log(characterEntitiesHtml4.amp) // => '&'
console.log(characterEntitiesHtml4.apos) // => undefined
```
## API
This package exports the following identifiers: `characterEntitiesHtml4`.
There is no default export.
### `characterEntitiesHtml4`
Map of case sensitive named character references from HTML 4.
See [`w3.org`][html] for more info.
## Types
This package is fully typed with [TypeScript][].
## Compatibility
This package is at least compatible with all maintained versions of Node.js.
As of now, that is Node.js 12.20+, 14.14+, and 16.0+.
It also works in Deno and modern browsers.
## Security
This package is safe.
## Related
* [`parse-entities`](https://github.com/wooorm/parse-entities)
— parse (decode) character references
* [`stringify-entities`](https://github.com/wooorm/stringify-entities)
— serialize (encode) character references
* [`character-entities`](https://github.com/wooorm/character-entities)
— info on character entities
* [`character-entities-invalid`](https://github.com/wooorm/character-entities-invalid)
— info on invalid numeric character references
* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy)
— info on legacy named character references
## Contribute
Yes please!
See [How to Contribute to Open Source][contribute].
## License
[MIT][license] © [Titus Wormer][author]
<!-- Definitions -->
[build-badge]: https://github.com/wooorm/character-entities-html4/workflows/main/badge.svg
[build]: https://github.com/wooorm/character-entities-html4/actions
[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/character-entities-html4.svg
[coverage]: https://codecov.io/github/wooorm/character-entities-html4
[downloads-badge]: https://img.shields.io/npm/dm/character-entities-html4.svg
[downloads]: https://www.npmjs.com/package/character-entities-html4
[size-badge]: https://img.shields.io/bundlephobia/minzip/character-entities-html4.svg
[size]: https://bundlephobia.com/result?p=character-entities-html4
[npm]: https://docs.npmjs.com/cli/install
[skypack]: https://www.skypack.dev
[license]: license
[author]: https://wooorm.com
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[typescript]: https://www.typescriptlang.org
[contribute]: https://opensource.guide/how-to-contribute/
[parse-entities]: https://github.com/wooorm/parse-entities
[stringify-entities]: https://github.com/wooorm/stringify-entities
[html]: https://www.w3.org/TR/html4/sgml/entities.html

View File

@@ -0,0 +1,6 @@
/**
* List of legacy HTML named character references that dont need a trailing semicolon.
*
* @type {Array<string>}
*/
export const characterEntitiesLegacy: Array<string>

View File

@@ -0,0 +1,113 @@
/**
* List of legacy HTML named character references that dont need a trailing semicolon.
*
* @type {Array<string>}
*/
export const characterEntitiesLegacy = [
'AElig',
'AMP',
'Aacute',
'Acirc',
'Agrave',
'Aring',
'Atilde',
'Auml',
'COPY',
'Ccedil',
'ETH',
'Eacute',
'Ecirc',
'Egrave',
'Euml',
'GT',
'Iacute',
'Icirc',
'Igrave',
'Iuml',
'LT',
'Ntilde',
'Oacute',
'Ocirc',
'Ograve',
'Oslash',
'Otilde',
'Ouml',
'QUOT',
'REG',
'THORN',
'Uacute',
'Ucirc',
'Ugrave',
'Uuml',
'Yacute',
'aacute',
'acirc',
'acute',
'aelig',
'agrave',
'amp',
'aring',
'atilde',
'auml',
'brvbar',
'ccedil',
'cedil',
'cent',
'copy',
'curren',
'deg',
'divide',
'eacute',
'ecirc',
'egrave',
'eth',
'euml',
'frac12',
'frac14',
'frac34',
'gt',
'iacute',
'icirc',
'iexcl',
'igrave',
'iquest',
'iuml',
'laquo',
'lt',
'macr',
'micro',
'middot',
'nbsp',
'not',
'ntilde',
'oacute',
'ocirc',
'ograve',
'ordf',
'ordm',
'oslash',
'otilde',
'ouml',
'para',
'plusmn',
'pound',
'quot',
'raquo',
'reg',
'sect',
'shy',
'sup1',
'sup2',
'sup3',
'szlig',
'thorn',
'times',
'uacute',
'ucirc',
'ugrave',
'uml',
'uuml',
'yacute',
'yen',
'yuml'
]

View File

@@ -0,0 +1,22 @@
(The MIT License)
Copyright (c) 2015 Titus Wormer <tituswormer@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,77 @@
{
"name": "character-entities-legacy",
"version": "3.0.0",
"description": "List of legacy HTML named character references that dont need a trailing semicolon",
"license": "MIT",
"keywords": [
"html",
"entity",
"entities",
"character",
"reference",
"name"
],
"repository": "wooorm/character-entities-legacy",
"bugs": "https://github.com/wooorm/character-entities-legacy/issues",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
},
"author": "Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)",
"contributors": [
"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)"
],
"sideEffects": false,
"type": "module",
"main": "index.js",
"types": "index.d.ts",
"files": [
"index.d.ts",
"index.js"
],
"devDependencies": {
"@types/tape": "^4.0.0",
"bail": "^2.0.0",
"c8": "^7.0.0",
"concat-stream": "^2.0.0",
"prettier": "^2.0.0",
"remark-cli": "^10.0.0",
"remark-preset-wooorm": "^9.0.0",
"rimraf": "^3.0.0",
"tape": "^5.0.0",
"type-coverage": "^2.0.0",
"typescript": "^4.0.0",
"xo": "^0.45.0"
},
"scripts": {
"generate": "node build",
"prepublishOnly": "npm run build && npm run format",
"build": "rimraf \"*.d.ts\" && tsc && type-coverage",
"format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix",
"test-api": "node --conditions development test.js",
"test-coverage": "c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api",
"test": "npm run generate && npm run build && npm run format && npm run test-coverage"
},
"prettier": {
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"bracketSpacing": false,
"semi": false,
"trailingComma": "none"
},
"xo": {
"prettier": true
},
"remarkConfig": {
"plugins": [
"preset-wooorm"
]
},
"typeCoverage": {
"atLeast": 100,
"detail": true,
"strict": true,
"ignoreCatch": true
}
}

View File

@@ -0,0 +1,157 @@
# character-entities-legacy
[![Build][build-badge]][build]
[![Coverage][coverage-badge]][coverage]
[![Downloads][downloads-badge]][downloads]
[![Size][size-badge]][size]
List of legacy HTML named character references that dont need a trailing
semicolon.
## Contents
* [What is this?](#what-is-this)
* [When should I use this?](#when-should-i-use-this)
* [Install](#install)
* [Use](#use)
* [API](#api)
* [`characterEntitiesLegacy`](#characterentitieslegacy)
* [Types](#types)
* [Compatibility](#compatibility)
* [Security](#security)
* [Related](#related)
* [Contribute](#contribute)
* [License](#license)
## What is this?
This is a list of certain named character references, that due to legacy
reasons, dont need a trailing semicolon in HTML.
For example, `&copy` is perfectly fine for `©`!
## When should I use this?
Maybe when youre writing an HTML parser or minifier, but otherwise probably
never!
Even then, it might be better to use [`parse-entities`][parse-entities] or
[`stringify-entities`][stringify-entities].
## Install
This package is [ESM only][esm].
In Node.js (version 12.20+, 14.14+, or 16.0+), install with [npm][]:
```sh
npm install character-entities-legacy
```
In Deno with [Skypack][]:
```js
import {characterEntitiesLegacy} from 'https://cdn.skypack.dev/character-entities-legacy@2?dts'
```
In browsers with [Skypack][]:
```html
<script type="module">
import {characterEntitiesLegacy} from 'https://cdn.skypack.dev/character-entities-legacy@2?min'
</script>
```
## Use
```js
import {characterEntitiesLegacy} from 'character-entities-legacy'
console.log(characterEntitiesLegacy.includes('copy')) // => true
console.log(characterEntitiesLegacy.includes('frac34')) // => true
console.log(characterEntitiesLegacy.includes('sup1')) // => true
```
## API
This package exports the following identifiers: `characterEntitiesLegacy`.
There is no default export.
### `characterEntitiesLegacy`
List of (case sensitive) legacy character entity names.
[`wooorm/character-entities`][character-entities] holds their decoded values.
See [`whatwg/html`][html] for more info.
## Types
This package is fully typed with [TypeScript][].
## Compatibility
This package is at least compatible with all maintained versions of Node.js.
As of now, that is Node.js 12.20+, 14.14+, and 16.0+.
It also works in Deno and modern browsers.
## Security
This package is safe.
## Related
* [`wooorm/parse-entities`](https://github.com/wooorm/parse-entities)
— parse (decode) character references
* [`wooorm/stringify-entities`](https://github.com/wooorm/stringify-entities)
— serialize (encode) character references
* [`wooorm/character-entities`](https://github.com/wooorm/character-entities)
— info on character entities
* [`wooorm/character-entities-html4`](https://github.com/wooorm/character-entities-html4)
— info on HTML4 character entities
* [`wooorm/character-reference-invalid`](https://github.com/wooorm/character-reference-invalid)
— info on invalid numeric character references
## Contribute
Yes please!
See [How to Contribute to Open Source][contribute].
## License
[MIT][license] © [Titus Wormer][author]
<!-- Definitions -->
[build-badge]: https://github.com/wooorm/character-entities-legacy/workflows/main/badge.svg
[build]: https://github.com/wooorm/character-entities-legacy/actions
[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/character-entities-legacy.svg
[coverage]: https://codecov.io/github/wooorm/character-entities-legacy
[downloads-badge]: https://img.shields.io/npm/dm/character-entities-legacy.svg
[downloads]: https://www.npmjs.com/package/character-entities-legacy
[size-badge]: https://img.shields.io/bundlephobia/minzip/character-entities-legacy.svg
[size]: https://bundlephobia.com/result?p=character-entities-legacy
[npm]: https://docs.npmjs.com/cli/install
[skypack]: https://www.skypack.dev
[license]: license
[author]: https://wooorm.com
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[typescript]: https://www.typescriptlang.org
[contribute]: https://opensource.guide/how-to-contribute/
[html]: https://github.com/whatwg/html-build/blob/HEAD/entities/json-entities-legacy.inc
[parse-entities]: https://github.com/wooorm/parse-entities
[stringify-entities]: https://github.com/wooorm/stringify-entities
[character-entities]: https://github.com/wooorm/character-entities

View File

@@ -0,0 +1,6 @@
/**
* Map of named character references.
*
* @type {Record<string, string>}
*/
export const characterEntities: Record<string, string>

2132
sample_interface/node_modules/character-entities/index.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More