docs: 仓库链接指向本镜像仓库
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run

This commit is contained in:
TanTan committed 2026-11-13 09:27:07 +08:00
1 parent fa9c73363d
commit 2a69b23b47
18210 files changed
+5101211 -16

No files matched your search

@@ -0,0 +1,25 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const Container = createLucideIcon("Container", [
[
"path",
{
d: "M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z",
key: "1t2lqe"
}
],
["path", { d: "M10 21.9V14L2.1 9.1", key: "o7czzq" }],
["path", { d: "m10 14 11.9-6.9", key: "zm5e20" }],
["path", { d: "M14 19.8v-8.1", key: "159ecu" }],
["path", { d: "M18 17.5V9.4", key: "11uown" }]
]);
export { Container as default };
//# sourceMappingURL=container.js.map
@@ -0,0 +1,9 @@
import { addDomEvent } from 'motion-dom';
import { addPointerInfo } from './event-info.mjs';
function addPointerEvent(target, eventName, handler, options) {
return addDomEvent(target, eventName, addPointerInfo(handler), options);
}
export { addPointerEvent };
//# sourceMappingURL=add-pointer-event.mjs.map
@@ -0,0 +1,150 @@
/// <reference types="node" resolution-mode="require"/>
/**
* A class representing the Node.js implementation of Hfs.
* @implements {HfsImpl}
*/
export class NodeHfsImpl implements HfsImpl {
/**
* Creates a new instance.
* @param {object} [options] The options for the instance.
* @param {Fsp} [options.fsp] The file system module to use.
*/
constructor({ fsp }?: {
fsp?: Fsp;
});
/**
* Reads a file and returns the contents as a string. Assumes UTF-8 encoding.
* @param {string} filePath The path to the file to read.
* @returns {Promise<string|undefined>} A promise that resolves with the contents of
* the file or undefined if the file doesn't exist.
* @throws {TypeError} If the file path is not a string.
* @throws {RangeError} If the file path is empty.
* @throws {RangeError} If the file path is not absolute.
* @throws {RangeError} If the file path is not a file.
* @throws {RangeError} If the file path is not readable.
*/
text(filePath: string): Promise<string | undefined>;
/**
* Reads a file and returns the contents as a JSON object. Assumes UTF-8 encoding.
* @param {string} filePath The path to the file to read.
* @returns {Promise<object|undefined>} A promise that resolves with the contents of
* the file or undefined if the file doesn't exist.
* @throws {SyntaxError} If the file contents are not valid JSON.
* @throws {Error} If the file cannot be read.
* @throws {TypeError} If the file path is not a string.
*/
json(filePath: string): Promise<object | undefined>;
/**
* Reads a file and returns the contents as an ArrayBuffer.
* @param {string} filePath The path to the file to read.
* @returns {Promise<ArrayBuffer|undefined>} A promise that resolves with the contents
* of the file or undefined if the file doesn't exist.
* @throws {Error} If the file cannot be read.
* @throws {TypeError} If the file path is not a string.
* @deprecated Use bytes() instead.
*/
arrayBuffer(filePath: string): Promise<ArrayBuffer | undefined>;
/**
* Reads a file and returns the contents as an Uint8Array.
* @param {string} filePath The path to the file to read.
* @returns {Promise<Uint8Array|undefined>} A promise that resolves with the contents
* of the file or undefined if the file doesn't exist.
* @throws {Error} If the file cannot be read.
* @throws {TypeError} If the file path is not a string.
*/
bytes(filePath: string): Promise<Uint8Array | undefined>;
/**
* Writes a value to a file. If the value is a string, UTF-8 encoding is used.
* @param {string} filePath The path to the file to write.
* @param {string|ArrayBuffer|ArrayBufferView} contents The contents to write to the
* file.
* @returns {Promise<void>} A promise that resolves when the file is
* written.
* @throws {TypeError} If the file path is not a string.
* @throws {Error} If the file cannot be written.
*/
write(filePath: string, contents: string | ArrayBuffer | ArrayBufferView): Promise<void>;
/**
* Checks if a file exists.
* @param {string} filePath The path to the file to check.
* @returns {Promise<boolean>} A promise that resolves with true if the
* file exists or false if it does not.
* @throws {Error} If the operation fails with a code other than ENOENT.
*/
isFile(filePath: string): Promise<boolean>;
/**
* Checks if a directory exists.
* @param {string} dirPath The path to the directory to check.
* @returns {Promise<boolean>} A promise that resolves with true if the
* directory exists or false if it does not.
* @throws {Error} If the operation fails with a code other than ENOENT.
*/
isDirectory(dirPath: string): Promise<boolean>;
/**
* Creates a directory recursively.
* @param {string} dirPath The path to the directory to create.
* @returns {Promise<void>} A promise that resolves when the directory is
* created.
*/
createDirectory(dirPath: string): Promise<void>;
/**
* Deletes a file or empty directory.
* @param {string} fileOrDirPath The path to the file or directory to
* delete.
* @returns {Promise<void>} A promise that resolves when the file or
* directory is deleted.
* @throws {TypeError} If the file or directory path is not a string.
* @throws {Error} If the file or directory cannot be deleted.
* @throws {Error} If the file or directory is not found.
*/
delete(fileOrDirPath: string): Promise<void>;
/**
* Deletes a file or directory recursively.
* @param {string} fileOrDirPath The path to the file or directory to
* delete.
* @returns {Promise<void>} A promise that resolves when the file or
* directory is deleted.
* @throws {TypeError} If the file or directory path is not a string.
* @throws {Error} If the file or directory cannot be deleted.
* @throws {Error} If the file or directory is not found.
*/
deleteAll(fileOrDirPath: string): Promise<void>;
/**
* Returns a list of directory entries for the given path.
* @param {string} dirPath The path to the directory to read.
* @returns {AsyncIterable<HfsDirectoryEntry>} A promise that resolves with the
* directory entries.
* @throws {TypeError} If the directory path is not a string.
* @throws {Error} If the directory cannot be read.
*/
list(dirPath: string): AsyncIterable<HfsDirectoryEntry>;
/**
* Returns the size of a file.
* @param {string} filePath The path to the file to read.
* @returns {Promise<number|undefined>} A promise that resolves with the size of the
* file in bytes or undefined if the file doesn't exist.
*/
size(filePath: string): Promise<number | undefined>;
#private;
}
/**
* A class representing a file system utility library.
* @implements {HfsImpl}
*/
export class NodeHfs extends Hfs implements HfsImpl {
/**
* Creates a new instance.
* @param {object} [options] The options for the instance.
* @param {Fsp} [options.fsp] The file system module to use.
*/
constructor({ fsp }?: {
fsp?: Fsp;
});
}
export const hfs: NodeHfs;
export type HfsImpl = import("@humanfs/types").HfsImpl;
export type HfsDirectoryEntry = import("@humanfs/types").HfsDirectoryEntry;
export type Fsp = typeof nativeFsp;
export type Dirent = import("fs").Dirent;
import { Hfs } from "@humanfs/core";
import nativeFsp from "node:fs/promises";
@@ -0,0 +1,84 @@
import {TokenType as tt} from "../parser/tokenizer/types";
import getImportExportSpecifierInfo from "./getImportExportSpecifierInfo";
/**
* Special case code to scan for imported names in ESM TypeScript. We need to do this so we can
* properly get globals so we can compute shadowed globals.
*
* This is similar to logic in CJSImportProcessor, but trimmed down to avoid logic with CJS
* replacement and flow type imports.
*/
export default function getTSImportedNames(tokens) {
const importedNames = new Set();
for (let i = 0; i < tokens.tokens.length; i++) {
if (
tokens.matches1AtIndex(i, tt._import) &&
!tokens.matches3AtIndex(i, tt._import, tt.name, tt.eq)
) {
collectNamesForImport(tokens, i, importedNames);
}
}
return importedNames;
}
function collectNamesForImport(
tokens,
index,
importedNames,
) {
index++;
if (tokens.matches1AtIndex(index, tt.parenL)) {
// Dynamic import, so nothing to do
return;
}
if (tokens.matches1AtIndex(index, tt.name)) {
importedNames.add(tokens.identifierNameAtIndex(index));
index++;
if (tokens.matches1AtIndex(index, tt.comma)) {
index++;
}
}
if (tokens.matches1AtIndex(index, tt.star)) {
// * as
index += 2;
importedNames.add(tokens.identifierNameAtIndex(index));
index++;
}
if (tokens.matches1AtIndex(index, tt.braceL)) {
index++;
collectNamesForNamedImport(tokens, index, importedNames);
}
}
function collectNamesForNamedImport(
tokens,
index,
importedNames,
) {
while (true) {
if (tokens.matches1AtIndex(index, tt.braceR)) {
return;
}
const specifierInfo = getImportExportSpecifierInfo(tokens, index);
index = specifierInfo.endIndex;
if (!specifierInfo.isType) {
importedNames.add(specifierInfo.rightName);
}
if (tokens.matches2AtIndex(index, tt.comma, tt.braceR)) {
return;
} else if (tokens.matches1AtIndex(index, tt.braceR)) {
return;
} else if (tokens.matches1AtIndex(index, tt.comma)) {
index++;
} else {
throw new Error(`Unexpected token: ${JSON.stringify(tokens.tokens[index])}`);
}
}
}
@@ -0,0 +1,740 @@
export default `flf2a$ 7 6 15 -1 24
stacey.flf (FIGlet font)
Figlet conversion by Kent Nassen, kentn@cyberspace.org, 11/24/94
From: davidstacey@BIX.com (davidstacey on BIX)
Newsgroups: alt.ascii-art
Subject: ASCII Font
Date: 16 Feb 94 04:20:45 GMT
Organization: Delphi Internet Services Corporation
Lines: 41
Message-ID: <davidstacey.761372445@BIX.com>
NNTP-Posting-Host: bix.com
Summary: Cool Ascii Font
Keywords: Ascii,Font
Status: RO
Presenting another fine colly!!
A font, use it for your adds etc.
Just don't be so lame and give the credz to the one who has earned them!!
Whirlwind Of Dutch Dreams!!!!!
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@@
____@
7 7@
| |@
!__!@
____@
7__7@
@@
___ ___@
7 7 7 7@
!/ !/ @
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
___@
7 7@
!/ @
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
___@
7 7@
!/ @@
@
@
@
@
@
@
@@
@
@
@
@
____@
7__7@
@@
@
@
@
@
@
@
@@
_______@
7 7@
| 7 |@
| | |@
| ! |@
!_____!@
@@
_____@
7 7@
!_ |@
7 |@
| |@
!__!@
@@
_______@
7 7@
!___ !@
| ___|@
| 7@
!_____!@
@@
_______@
7 7@
|___ !@
|__ |@
| |@
!_____!@
@@
_______@
7 7 7@
| ! |@
!___ |@
7 |@
!__!@
@@
_______@
7 ___7@
| 7@
!___ |@
7 |@
!_____!@
@@
_______@
7 7@
| ___!@
| 7@
| - |@
!_____!@
@@
_______@
7 7@
!___ |@
7 |@
| |@
!__!@
@@
_______@
7 _ 7@
!_ _!@
| |@
| - |@
!_____!@
@@
_______@
7 7@
| - |@
!___ |@
7 |@
!_____!@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
_______@
7 7@
!__! |@
!__!@
____@
7__7@
@@
@
@
@
@
@
@
@@
_______@
7 _ 7@
| _ |@
| 7 |@
| | |@
!__!__!@
@@
_______@
7 _ 7@
| __|@
| _ |@
| 7 |@
!_____!@
@@
_______@
7 7@
| ___!@
| 7___@
| 7@
!_____!@
@@
_____ @
7 \\ @
| 7 |@
| | |@
| ! |@
!_____!@
@@
_______@
7 7@
| ___!@
| __|_@
| 7@
!_____!@
@@
_______@
7 7@
| ___!@
| __| @
| 7 @
!__! @
@@
_______@
7 7@
| __!@
| ! 7@
| |@
!_____!@
@@
_______@
7 7 7@
| ! |@
| |@
| 7 |@
!__!__!@
@@
____@
7 7@
| |@
| |@
| |@
!__!@
@@
____@
7 7@
___| |@
7 ! |@
| |@
!_____!@
@@
_______@
7 7 7@
| __!@
| |@
| 7 |@
!__!__!@
@@
____ @
7 7 @
| | @
| !___@
| 7@
!_____!@
@@
__________@
7 7@
| _ _ |@
| 7 7 |@
| | | |@
!__!__!__!@
@@
_______@
7 7@
| _ |@
| 7 |@
| | |@
!__!__!@
@@
_______@
7 7@
| 7 |@
| | |@
| ! |@
!_____!@
@@
_______@
7 7@
| - |@
| ___!@
| 7 @
!__! @
@@
_______ @
7 7 @
| 7 | @
| | | @
| ! |_ @
!_______!@
@@
_______@
7 _ 7@
| _|@
| _ \\ @
| 7 |@
!__!__!@
@@
_______@
7 7@
| ___!@
!__ 7@
7 |@
!_____!@
@@
________@
7 7@
!__ __!@
7 7 @
| | @
!__! @
@@
_______@
7 7 7@
| | |@
| | |@
| ! |@
!_____!@
@@
___ ___@
7 V 7@
| | |@
| ! |@
| |@
!_____!@
@@
___ __ ___@
7 V V 7@
| | | |@
| ! ! |@
| |@
!________!@
@@
_______@
7 7 7@
!_ _!@
| |@
| 7 |@
!__!__!@
@@
_______@
7 7 7@
| ! |@
!_ _!@
7 7 @
!___! @
@@
_______@
7 7@
!___ |@
| __!@
| 7@
!_____!@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
___@
7 7@
\\!@
@
@
@
@@
_______@
7 _ 7@
| _ |@
| 7 |@
| | |@
!__!__!@
@@
_______@
7 _ 7@
| __|@
| _ |@
| 7 |@
!_____!@
@@
_______@
7 7@
| ___!@
| 7___@
| 7@
!_____!@
@@
_____ @
7 \\ @
| 7 |@
| | |@
| ! |@
!_____!@
@@
_______@
7 7@
| ___!@
| __|_@
| 7@
!_____!@
@@
_______@
7 7@
| ___!@
| __| @
| 7 @
!__! @
@@
_______@
7 7@
| __!@
| ! 7@
| |@
!_____!@
@@
_______@
7 7 7@
| ! |@
| |@
| 7 |@
!__!__!@
@@
____@
7 7@
| |@
| |@
| |@
!__!@
@@
____@
7 7@
___| |@
7 ! |@
| |@
!_____!@
@@
_______@
7 7 7@
| __!@
| |@
| 7 |@
!__!__!@
@@
____ @
7 7 @
| | @
| !___@
| 7@
!_____!@
@@
__________@
7 7@
| _ _ |@
| 7 7 |@
| | | |@
!__!__!__!@
@@
_______@
7 7@
| _ |@
| 7 |@
| | |@
!__!__!@
@@
_______@
7 7@
| 7 |@
| | |@
| ! |@
!_____!@
@@
_______@
7 7@
| - |@
| ___!@
| 7 @
!__! @
@@
_______ @
7 7 @
| 7 | @
| | | @
| ! |_ @
!_______!@
@@
_______@
7 _ 7@
| _|@
| _ \\ @
| 7 |@
!__!__!@
@@
_______@
7 7@
| ___!@
!__ 7@
7 |@
!_____!@
@@
________@
7 7@
!__ __!@
7 7 @
| | @
!__! @
@@
_______@
7 7 7@
| | |@
| | |@
| ! |@
!_____!@
@@
___ ___@
7 V 7@
| | |@
| ! |@
| |@
!_____!@
@@
___ __ ___@
7 V V 7@
| | | |@
| ! ! |@
| |@
!________!@
@@
_______@
7 7 7@
!_ _!@
| |@
| 7 |@
!__!__!@
@@
_______@
7 7 7@
| ! |@
!_ _!@
7 7 @
!___! @
@@
_______@
7 7@
!___ |@
| __!@
| 7@
!_____!@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
`
@@ -0,0 +1,23 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const FolderLock = createLucideIcon("FolderLock", [
["rect", { width: "8", height: "5", x: "14", y: "17", rx: "1", key: "19aais" }],
[
"path",
{
d: "M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5",
key: "1w6v7t"
}
],
["path", { d: "M20 17v-2a2 2 0 1 0-4 0v2", key: "pwaxnr" }]
]);
export { FolderLock as default };
//# sourceMappingURL=folder-lock.js.map
@@ -0,0 +1,16 @@
import Options from './Options';
import { CrackTimes, Score, TimeEstimationValues } from './types';
export declare const timeEstimationValuesDefaults: TimeEstimationValues;
export declare const checkTimeEstimationValues: (timeEstimationValues: TimeEstimationValues) => void;
export declare class TimeEstimates {
private options;
constructor(options: Options);
estimateAttackTimes(guesses: number): {
crackTimes: CrackTimes;
score: Score;
};
private calculateCrackTimesSeconds;
private guessesToScore;
private displayTime;
private translate;
}
@@ -0,0 +1,22 @@
(The MIT License)
Copyright (c) 2013 Troy Goode <troygoode@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.
@@ -0,0 +1,24 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const CalendarHeart = createLucideIcon("CalendarHeart", [
["path", { d: "M3 10h18V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7", key: "136lmk" }],
["path", { d: "M8 2v4", key: "1cmpym" }],
["path", { d: "M16 2v4", key: "4m81vk" }],
[
"path",
{
d: "M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z",
key: "1t7hil"
}
]
]);
export { CalendarHeart as default };
//# sourceMappingURL=calendar-heart.js.map
@@ -0,0 +1,35 @@
//#region src/router.ts
/**
* @module
* This module provides types definitions and variables for the routers.
*/
/**
* Constant representing all HTTP methods in uppercase.
*/
const METHOD_NAME_ALL = "ALL";
/**
* Constant representing all HTTP methods in lowercase.
*/
const METHOD_NAME_ALL_LOWERCASE = "all";
/**
* Array of supported HTTP methods.
*/
const METHODS = [
"get",
"post",
"put",
"delete",
"options",
"patch",
"query"
];
/**
* Error message indicating that a route cannot be added because the matcher is already built.
*/
const MESSAGE_MATCHER_IS_ALREADY_BUILT = "Can not add a route since the matcher is already built.";
/**
* Error class representing an unsupported path error.
*/
var UnsupportedPathError = class extends Error {};
//#endregion
export { MESSAGE_MATCHER_IS_ALREADY_BUILT, METHODS, METHOD_NAME_ALL, METHOD_NAME_ALL_LOWERCASE, UnsupportedPathError };
@@ -0,0 +1,84 @@
import { AnyConfig, ConfigExtension, NoInfer } from './types'
/**
* @param baseConfig Config where other config will be merged into. This object will be mutated.
* @param configExtension Partial config to merge into the `baseConfig`.
*/
export const mergeConfigs = <ClassGroupIds extends string, ThemeGroupIds extends string = never>(
baseConfig: AnyConfig,
{
cacheSize,
prefix,
experimentalParseClassName,
extend = {},
override = {},
}: ConfigExtension<ClassGroupIds, ThemeGroupIds>,
) => {
overrideProperty(baseConfig, 'cacheSize', cacheSize)
overrideProperty(baseConfig, 'prefix', prefix)
overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName)
overrideConfigProperties(baseConfig.theme, override.theme)
overrideConfigProperties(baseConfig.classGroups, override.classGroups)
overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups)
overrideConfigProperties(
baseConfig.conflictingClassGroupModifiers,
override.conflictingClassGroupModifiers,
)
overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers)
mergeConfigProperties(baseConfig.theme, extend.theme)
mergeConfigProperties(baseConfig.classGroups, extend.classGroups)
mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups)
mergeConfigProperties(
baseConfig.conflictingClassGroupModifiers,
extend.conflictingClassGroupModifiers,
)
mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers')
return baseConfig
}
const overrideProperty = <T extends object, K extends keyof T>(
baseObject: T,
overrideKey: K,
overrideValue: T[K] | undefined,
) => {
if (overrideValue !== undefined) {
baseObject[overrideKey] = overrideValue
}
}
const overrideConfigProperties = (
baseObject: Partial<Record<string, readonly unknown[]>>,
overrideObject: Partial<Record<string, readonly unknown[]>> | undefined,
) => {
if (overrideObject) {
for (const key in overrideObject) {
overrideProperty(baseObject, key, overrideObject[key])
}
}
}
const mergeConfigProperties = (
baseObject: Partial<Record<string, readonly unknown[]>>,
mergeObject: Partial<Record<string, readonly unknown[]>> | undefined,
) => {
if (mergeObject) {
for (const key in mergeObject) {
mergeArrayProperties(baseObject, mergeObject, key)
}
}
}
const mergeArrayProperties = <Key extends string>(
baseObject: Partial<Record<NoInfer<Key>, readonly unknown[]>>,
mergeObject: Partial<Record<NoInfer<Key>, readonly unknown[]>>,
key: Key,
) => {
const mergeValue = mergeObject[key]
if (mergeValue !== undefined) {
baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue
}
}
@@ -0,0 +1,21 @@
import { MotionGlobalConfig } from 'motion-utils';
import { isWillChangeMotionValue } from './is.mjs';
function addValueToWillChange(visualElement, key) {
const willChange = visualElement.getValue("willChange");
/**
* It could be that a user has set willChange to a regular MotionValue,
* in which case we can't add the value to it.
*/
if (isWillChangeMotionValue(willChange)) {
return willChange.add(key);
}
else if (!willChange && MotionGlobalConfig.WillChange) {
const newWillChange = new MotionGlobalConfig.WillChange("auto");
visualElement.addValue("willChange", newWillChange);
newWillChange.add(key);
}
}
export { addValueToWillChange };
//# sourceMappingURL=add-will-change.mjs.map
@@ -0,0 +1,21 @@
# picocolors
The tiniest and the fastest library for terminal output formatting with ANSI colors.
```javascript
import pc from "picocolors"
console.log(
pc.green(`How are ${pc.italic(`you`)} doing?`)
)
```
- **No dependencies.**
- **14 times** smaller and **2 times** faster than chalk.
- Used by popular tools like PostCSS, SVGO, Stylelint, and Browserslist.
- Node.js v6+ & browsers support. Support for both CJS and ESM projects.
- TypeScript type declarations included.
- [`NO_COLOR`](https://no-color.org/) friendly.
## Docs
Read **[full docs](https://github.com/alexeyraspopov/picocolors#readme)** on GitHub.
@@ -0,0 +1,87 @@
'use strict'
const test = require('tape')
const fastURI = require('..')
test('URI Resolving', (t) => {
// normal examples from RFC 3986
const base = 'uri://a/b/c/d;p?q'
t.equal(fastURI.resolve(base, 'g:h'), 'g:h', 'g:h')
t.equal(fastURI.resolve(base, 'g:h'), 'g:h', 'g:h')
t.equal(fastURI.resolve(base, 'g'), 'uri://a/b/c/g', 'g')
t.equal(fastURI.resolve(base, './g'), 'uri://a/b/c/g', './g')
t.equal(fastURI.resolve(base, 'g/'), 'uri://a/b/c/g/', 'g/')
t.equal(fastURI.resolve(base, '/g'), 'uri://a/g', '/g')
t.equal(fastURI.resolve(base, '//g'), 'uri://g', '//g')
t.equal(fastURI.resolve(base, '?y'), 'uri://a/b/c/d;p?y', '?y')
t.equal(fastURI.resolve(base, 'g?y'), 'uri://a/b/c/g?y', 'g?y')
t.equal(fastURI.resolve(base, '#s'), 'uri://a/b/c/d;p?q#s', '#s')
t.equal(fastURI.resolve(base, 'g#s'), 'uri://a/b/c/g#s', 'g#s')
t.equal(fastURI.resolve(base, 'g?y#s'), 'uri://a/b/c/g?y#s', 'g?y#s')
t.equal(fastURI.resolve(base, ';x'), 'uri://a/b/c/;x', ';x')
t.equal(fastURI.resolve(base, 'g;x'), 'uri://a/b/c/g;x', 'g;x')
t.equal(fastURI.resolve(base, 'g;x?y#s'), 'uri://a/b/c/g;x?y#s', 'g;x?y#s')
t.equal(fastURI.resolve(base, ''), 'uri://a/b/c/d;p?q', '')
t.equal(fastURI.resolve(base, '.'), 'uri://a/b/c/', '.')
t.equal(fastURI.resolve(base, './'), 'uri://a/b/c/', './')
t.equal(fastURI.resolve(base, '..'), 'uri://a/b/', '..')
t.equal(fastURI.resolve(base, '../'), 'uri://a/b/', '../')
t.equal(fastURI.resolve(base, '../g'), 'uri://a/b/g', '../g')
t.equal(fastURI.resolve(base, '../..'), 'uri://a/', '../..')
t.equal(fastURI.resolve(base, '../../'), 'uri://a/', '../../')
t.equal(fastURI.resolve(base, '../../g'), 'uri://a/g', '../../g')
// abnormal examples from RFC 3986
t.equal(fastURI.resolve(base, '../../../g'), 'uri://a/g', '../../../g')
t.equal(fastURI.resolve(base, '../../../../g'), 'uri://a/g', '../../../../g')
t.equal(fastURI.resolve(base, '/./g'), 'uri://a/g', '/./g')
t.equal(fastURI.resolve(base, '/../g'), 'uri://a/g', '/../g')
t.equal(fastURI.resolve(base, 'g.'), 'uri://a/b/c/g.', 'g.')
t.equal(fastURI.resolve(base, '.g'), 'uri://a/b/c/.g', '.g')
t.equal(fastURI.resolve(base, 'g..'), 'uri://a/b/c/g..', 'g..')
t.equal(fastURI.resolve(base, '..g'), 'uri://a/b/c/..g', '..g')
t.equal(fastURI.resolve(base, './../g'), 'uri://a/b/g', './../g')
t.equal(fastURI.resolve(base, './g/.'), 'uri://a/b/c/g/', './g/.')
t.equal(fastURI.resolve(base, 'g/./h'), 'uri://a/b/c/g/h', 'g/./h')
t.equal(fastURI.resolve(base, 'g/../h'), 'uri://a/b/c/h', 'g/../h')
t.equal(fastURI.resolve(base, 'g;x=1/./y'), 'uri://a/b/c/g;x=1/y', 'g;x=1/./y')
t.equal(fastURI.resolve(base, 'g;x=1/../y'), 'uri://a/b/c/y', 'g;x=1/../y')
t.equal(fastURI.resolve(base, 'g?y/./x'), 'uri://a/b/c/g?y/./x', 'g?y/./x')
t.equal(fastURI.resolve(base, 'g?y/../x'), 'uri://a/b/c/g?y/../x', 'g?y/../x')
t.equal(fastURI.resolve(base, 'g#s/./x'), 'uri://a/b/c/g#s/./x', 'g#s/./x')
t.equal(fastURI.resolve(base, 'g#s/../x'), 'uri://a/b/c/g#s/../x', 'g#s/../x')
t.equal(fastURI.resolve(base, 'uri:g'), 'uri:g', 'uri:g')
t.equal(fastURI.resolve(base, 'uri:g', {}), 'uri:g', 'uri:g')
t.equal(fastURI.resolve(base, 'uri:g', { tolerant: undefined }), 'uri:g', 'uri:g')
t.equal(fastURI.resolve(base, 'uri:g', { tolerant: false }), 'uri:g', 'uri:g')
t.equal(fastURI.resolve(base, 'uri:g', { tolerant: true }), 'uri://a/b/c/g', 'uri:g')
// examples by PAEz
// example was provided to avoid infinite loop within regex
// this is not the case anymore
// t.equal(URI.resolve('//www.g.com/', '/adf\ngf'), '//www.g.com/adf%0Agf', '/adf\\ngf')
// t.equal(URI.resolve('//www.g.com/error\n/bleh/bleh', '..'), '//www.g.com/error%0A/', '//www.g.com/error\\n/bleh/bleh')
t.end()
})
test('URN Resolving', (t) => {
// example from epoberezkin
t.equal(fastURI.resolve('', 'urn:some:ip:prop'), 'urn:some:ip:prop', 'urn:some:ip:prop')
t.equal(fastURI.resolve('#', 'urn:some:ip:prop'), 'urn:some:ip:prop', 'urn:some:ip:prop')
t.equal(fastURI.resolve('urn:some:ip:prop', 'urn:some:ip:prop'), 'urn:some:ip:prop', 'urn:some:ip:prop')
t.equal(fastURI.resolve('urn:some:other:prop', 'urn:some:ip:prop'), 'urn:some:ip:prop', 'urn:some:ip:prop')
t.end()
})
test('URI Resolving tolerates malformed fragments', (t) => {
t.equal(
fastURI.resolve('http://base.com/', 'http://example.com/#%E0%A4A'),
'http://example.com/#%E0%A4A',
'malformed fragment does not throw during resolve'
)
t.end()
})
@@ -0,0 +1 @@
{"version":3,"file":"arrow-up-left.js","sources":["../../../src/icons/arrow-up-left.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ArrowUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxN1Y3aDEwIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNyA3IDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowUpLeft = createLucideIcon('ArrowUpLeft', [\n ['path', { d: 'M7 17V7h10', key: '11bw93' }],\n ['path', { d: 'M17 17 7 7', key: '2786uv' }],\n]);\n\nexport default ArrowUpLeft;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,iBAAiB,aAAe,CAAA,CAAA,CAAA;AAAA,CAAA,CAClD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC3C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC7C,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,179 @@
import { expectTypeOf, test } from "vitest";
import * as z from "zod/v4";
import type * as core from "zod/v4/core";
test("first party switch", () => {
const myType = z.string() as core.$ZodTypes;
const def = myType._zod.def;
switch (def.type) {
case "string":
break;
case "number":
break;
case "bigint":
break;
case "boolean":
break;
case "date":
break;
case "symbol":
break;
case "undefined":
break;
case "null":
break;
case "any":
break;
case "unknown":
break;
case "never":
break;
case "void":
break;
case "array":
break;
case "object":
break;
case "union":
break;
case "intersection":
break;
case "tuple":
break;
case "record":
break;
case "map":
break;
case "set":
break;
case "literal":
break;
case "enum":
break;
case "promise":
break;
case "optional":
break;
case "nonoptional":
break;
case "nullable":
break;
case "default":
break;
case "prefault":
break;
case "template_literal":
break;
case "custom":
break;
case "transform":
break;
case "readonly":
break;
case "nan":
break;
case "pipe":
break;
case "success":
break;
case "catch":
break;
case "file":
break;
case "lazy":
break;
case "function":
break;
default:
expectTypeOf(def).toEqualTypeOf<never>();
}
});
test("$ZodSchemaTypes", () => {
const type = "string" as core.$ZodTypeDef["type"];
switch (type) {
case "string":
break;
case "number":
break;
case "int":
break;
case "bigint":
break;
case "boolean":
break;
case "date":
break;
case "symbol":
break;
case "undefined":
break;
case "null":
break;
case "any":
break;
case "unknown":
break;
case "never":
break;
case "void":
break;
case "array":
break;
case "object":
break;
case "union":
break;
case "intersection":
break;
case "tuple":
break;
case "record":
break;
case "map":
break;
case "set":
break;
case "literal":
break;
case "enum":
break;
case "promise":
break;
case "optional":
break;
case "nonoptional":
break;
case "nullable":
break;
case "default":
break;
case "prefault":
break;
case "template_literal":
break;
case "custom":
break;
case "transform":
break;
case "readonly":
break;
case "nan":
break;
case "pipe":
break;
case "success":
break;
case "catch":
break;
case "file":
break;
case "lazy":
break;
case "function":
break;
default:
expectTypeOf(type).toEqualTypeOf<never>();
}
});
@@ -0,0 +1,12 @@
import { ErrorRouteComponent } from './route.cjs';
import { ErrorInfo } from 'react';
import * as React from 'react';
export declare function CatchBoundary(props: {
getResetKey: () => number | string;
children: React.ReactNode;
errorComponent?: ErrorRouteComponent;
onCatch?: (error: Error, errorInfo: ErrorInfo) => void;
}): import("react/jsx-runtime").JSX.Element;
export declare function ErrorComponent({ error }: {
error: any;
}): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,152 @@
/**
* @license React
* react-dom.react-server.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
"use strict";
var React = require("react");
function noop() {}
var Internals = {
d: {
f: noop,
r: function () {
throw Error(
"Invalid form element. requestFormReset must be passed a form that was rendered by React."
);
},
D: noop,
C: noop,
L: noop,
m: noop,
X: noop,
S: noop,
M: noop
},
p: 0,
findDOMNode: null
};
if (!React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)
throw Error(
'The "react" package in this environment is not configured correctly. The "react-server" condition must be enabled in any environment that runs React Server Components.'
);
function getCrossOriginStringAs(as, input) {
if ("font" === as) return "";
if ("string" === typeof input)
return "use-credentials" === input ? input : "";
}
exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =
Internals;
exports.preconnect = function (href, options) {
"string" === typeof href &&
(options
? ((options = options.crossOrigin),
(options =
"string" === typeof options
? "use-credentials" === options
? options
: ""
: void 0))
: (options = null),
Internals.d.C(href, options));
};
exports.prefetchDNS = function (href) {
"string" === typeof href && Internals.d.D(href);
};
exports.preinit = function (href, options) {
if ("string" === typeof href && options && "string" === typeof options.as) {
var as = options.as,
crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),
integrity =
"string" === typeof options.integrity ? options.integrity : void 0,
fetchPriority =
"string" === typeof options.fetchPriority
? options.fetchPriority
: void 0;
"style" === as
? Internals.d.S(
href,
"string" === typeof options.precedence ? options.precedence : void 0,
{
crossOrigin: crossOrigin,
integrity: integrity,
fetchPriority: fetchPriority
}
)
: "script" === as &&
Internals.d.X(href, {
crossOrigin: crossOrigin,
integrity: integrity,
fetchPriority: fetchPriority,
nonce: "string" === typeof options.nonce ? options.nonce : void 0
});
}
};
exports.preinitModule = function (href, options) {
if ("string" === typeof href)
if ("object" === typeof options && null !== options) {
if (null == options.as || "script" === options.as) {
var crossOrigin = getCrossOriginStringAs(
options.as,
options.crossOrigin
);
Internals.d.M(href, {
crossOrigin: crossOrigin,
integrity:
"string" === typeof options.integrity ? options.integrity : void 0,
nonce: "string" === typeof options.nonce ? options.nonce : void 0
});
}
} else null == options && Internals.d.M(href);
};
exports.preload = function (href, options) {
if (
"string" === typeof href &&
"object" === typeof options &&
null !== options &&
"string" === typeof options.as
) {
var as = options.as,
crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);
Internals.d.L(href, as, {
crossOrigin: crossOrigin,
integrity:
"string" === typeof options.integrity ? options.integrity : void 0,
nonce: "string" === typeof options.nonce ? options.nonce : void 0,
type: "string" === typeof options.type ? options.type : void 0,
fetchPriority:
"string" === typeof options.fetchPriority
? options.fetchPriority
: void 0,
referrerPolicy:
"string" === typeof options.referrerPolicy
? options.referrerPolicy
: void 0,
imageSrcSet:
"string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
imageSizes:
"string" === typeof options.imageSizes ? options.imageSizes : void 0,
media: "string" === typeof options.media ? options.media : void 0
});
}
};
exports.preloadModule = function (href, options) {
if ("string" === typeof href)
if (options) {
var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);
Internals.d.m(href, {
as:
"string" === typeof options.as && "script" !== options.as
? options.as
: void 0,
crossOrigin: crossOrigin,
integrity:
"string" === typeof options.integrity ? options.integrity : void 0
});
} else Internals.d.m(href);
};
exports.version = "19.2.5";
@@ -0,0 +1 @@
{"version":3,"file":"stars.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,211 @@
'use strict'
const { parseSetCookie } = require('./parse')
const { stringify } = require('./util')
const { webidl } = require('../webidl')
const globalHeadersBrandCheck = (arg) => webidl.brandCheck(arg, webidl.util.MakeTypeAssertion(globalThis.Headers))
const undiciHeadersBrandCheck = (arg) => webidl.brandCheck(arg, webidl.is.Headers)
function brandCheckHeaders (arg) {
try {
undiciHeadersBrandCheck(arg)
return
} catch {
}
globalHeadersBrandCheck(arg)
}
/**
* @typedef {Object} Cookie
* @property {string} name
* @property {string} value
* @property {Date|number} [expires]
* @property {number} [maxAge]
* @property {string} [domain]
* @property {string} [path]
* @property {boolean} [secure]
* @property {boolean} [httpOnly]
* @property {'Strict'|'Lax'|'None'} [sameSite]
* @property {string[]} [unparsed]
*/
/**
* @param {Headers} headers
* @returns {Record<string, string>}
*/
function getCookies (headers) {
webidl.argumentLengthCheck(arguments, 1, 'getCookies')
brandCheckHeaders(headers)
const cookie = headers.get('cookie')
// A null prototype keeps a cookie named `__proto__` from hitting the
// Object.prototype setter, which would silently drop it.
/** @type {Record<string, string>} */
const out = { __proto__: null }
if (!cookie) {
return out
}
for (const piece of cookie.split(';')) {
const [name, ...value] = piece.split('=')
out[name.trim()] = value.join('=')
}
return out
}
/**
* @param {Headers} headers
* @param {string} name
* @param {{ path?: string, domain?: string }|undefined} attributes
* @returns {void}
*/
function deleteCookie (headers, name, attributes) {
brandCheckHeaders(headers)
const prefix = 'deleteCookie'
webidl.argumentLengthCheck(arguments, 2, prefix)
name = webidl.converters.DOMString(name, prefix, 'name')
attributes = webidl.converters.DeleteCookieAttributes(attributes)
// Matches behavior of
// https://github.com/denoland/deno_std/blob/63827b16330b82489a04614027c33b7904e08be5/http/cookie.ts#L278
setCookie(headers, {
name,
value: '',
expires: new Date(0),
...attributes
})
}
/**
* @param {Headers} headers
* @returns {Cookie[]}
*/
function getSetCookies (headers) {
webidl.argumentLengthCheck(arguments, 1, 'getSetCookies')
brandCheckHeaders(headers)
const cookies = headers.getSetCookie()
if (!cookies) {
return []
}
return cookies.map((pair) => parseSetCookie(pair))
}
/**
* Parses a cookie string
* @param {string} cookie
*/
function parseCookie (cookie) {
cookie = webidl.converters.DOMString(cookie)
return parseSetCookie(cookie)
}
/**
* @param {Headers} headers
* @param {Cookie} cookie
* @returns {void}
*/
function setCookie (headers, cookie) {
webidl.argumentLengthCheck(arguments, 2, 'setCookie')
brandCheckHeaders(headers)
cookie = webidl.converters.Cookie(cookie)
const str = stringify(cookie)
if (str) {
headers.append('set-cookie', str, true)
}
}
webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: 'path',
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: 'domain',
defaultValue: () => null
}
])
webidl.converters.Cookie = webidl.dictionaryConverter([
{
converter: webidl.converters.DOMString,
key: 'name'
},
{
converter: webidl.converters.DOMString,
key: 'value'
},
{
converter: webidl.nullableConverter((value) => {
if (typeof value === 'number') {
return webidl.converters['unsigned long long'](value)
}
return new Date(value)
}),
key: 'expires',
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters['long long']),
key: 'maxAge',
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: 'domain',
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: 'path',
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.boolean),
key: 'secure',
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.boolean),
key: 'httpOnly',
defaultValue: () => null
},
{
converter: webidl.converters.USVString,
key: 'sameSite',
allowedValues: ['Strict', 'Lax', 'None']
},
{
converter: webidl.sequenceConverter(webidl.converters.DOMString),
key: 'unparsed',
defaultValue: () => []
}
])
module.exports = {
getCookies,
deleteCookie,
getSetCookies,
setCookie,
parseCookie
}
@@ -0,0 +1,32 @@
type Key = string | number | symbol;
/**
* SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
* index of the `key` in the backing array.
*
* This is designed to allow synchronizing a second array with the contents of the backing array,
* like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,
* and there are never duplicates.
*/
export declare class SetArray<T extends Key = Key> {
private _indexes;
array: readonly T[];
constructor();
}
/**
* Gets the index associated with `key` in the backing array, if it is already present.
*/
export declare function get<T extends Key>(setarr: SetArray<T>, key: T): number | undefined;
/**
* Puts `key` into the backing array, if it is not already present. Returns
* the index of the `key` in the backing array.
*/
export declare function put<T extends Key>(setarr: SetArray<T>, key: T): number;
/**
* Pops the last added item out of the SetArray.
*/
export declare function pop<T extends Key>(setarr: SetArray<T>): void;
/**
* Removes the key, if it exists in the set.
*/
export declare function remove<T extends Key>(setarr: SetArray<T>, key: T): void;
export {};
@@ -0,0 +1 @@
module.exports={A:{A:{"2":"_E"},B:{"1":"_K","2":"_I"},C:{"1":"_3O","2":"_o _HE _L"},D:{"1":"_MT _kC","2":"_tJ","194":"BC _nD _sB"},E:{"1":"_bE","2":"_7J","66":"M"},F:{"1":"_RI","2":"_GM","194":"_aC _eJ"},G:{"1":"_TD","2":"_rJ"},H:{"2":"1D"},I:{"1":"I","2":"_G"},J:{"2":"_B"},K:{"1":"H","2":"_D"},L:{"1":"I"},M:{"1":"YC"},N:{"2":"_A"},O:{"1":"bC"},P:{"1":"_sF","2":"_4F"},Q:{"1":"JE"},R:{"1":"KE"},S:{"1":"ME","2":"LE"}},B:5,C:"Resize Observer",D:true};
@@ -0,0 +1,28 @@
'use strict';
var mergeUserInputDictionary = (optionsRankedDictionaries, optionsRankedDictionariesMaxWordSize, userInputsOptions) => {
if (!userInputsOptions) {
return {
rankedDictionaries: optionsRankedDictionaries,
rankedDictionariesMaxWordSize: optionsRankedDictionariesMaxWordSize
};
}
const rankedDictionaries = {
...optionsRankedDictionaries
};
const rankedDictionariesMaxWordSize = {
...optionsRankedDictionariesMaxWordSize
};
rankedDictionaries.userInputs = {
...(rankedDictionaries.userInputs || {}),
...userInputsOptions.rankedDictionary
};
rankedDictionariesMaxWordSize.userInputs = Math.max(userInputsOptions.rankedDictionaryMaxWordSize, rankedDictionariesMaxWordSize.userInputs || 0);
return {
rankedDictionaries,
rankedDictionariesMaxWordSize
};
};
module.exports = mergeUserInputDictionary;
//# sourceMappingURL=mergeUserInputDictionary.cjs.map
@@ -0,0 +1,2 @@
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
module.exports = require("./data/native-modules.json");
@@ -0,0 +1,219 @@
export default `flf2a$ 2 1 8 -1 13
1row font by unknown
=======================
-> Conversion to FigLet font by MEPH. (Part of ASCII Editor Service Pack I)
(http://studenten.freepage.de/meph/ascii/editor/_index.htm)
-> Defined: ASCII code alphanumeric
-> Uppercase characters only.
Was a part of a '1row' font collection. Author unknown.
$@
$@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
(\\) @
@@
'| @
@@
^/_ @
@@
-} @
@@
+| @
@@
;~ @
@@
(o @
@@
"/ @
@@
{} @
@@
"| @
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
/\\ @
@@
]3 @
@@
( @
@@
|) @
@@
[- @
@@
/= @
@@
(_, @
@@
|-| @
@@
| @
@@
_T @
@@
/< @
@@
|_ @
@@
|\\/| @
@@
|\\| @
@@
() @
@@
|^ @
@@
()_ @
@@
/? @
@@
_\\~ @
@@
~|~ @
@@
|_| @
@@
\\/ @
@@
\\/\\/ @
@@
>< @
@@
\`/ @
@@
~/_ @
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
/\\ @
@@
]3 @
@@
( @
@@
|) @
@@
[- @
@@
/= @
@@
(_, @
@@
|-| @
@@
| @
@@
_T @
@@
/< @
@@
|_ @
@@
|\\/| @
@@
|\\| @
@@
() @
@@
|^ @
@@
()_ @
@@
/? @
@@
_\\~ @
@@
~|~ @
@@
|_| @
@@
\\/ @
@@
\\/\\/ @
@@
>< @
@@
\`/ @
@@
~/_ @
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
@
@@
`
@@ -0,0 +1,25 @@
/**
* @license
* MIT License
*
* Copyright (c) 2014-present, Lee Byron and other contributors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Immutable={})}(this,(function(t){"use strict";var e="@@__IMMUTABLE_INDEXED__@@";function r(t){return Boolean(t&&t[e])}var n="@@__IMMUTABLE_KEYED__@@";function i(t){return Boolean(t&&t[n])}function o(t){return i(t)||r(t)}var u="@@__IMMUTABLE_ITERABLE__@@";function s(t){return Boolean(t&&t[u])}var a=function(t){return s(t)?t:Q(t)},c=function(t){function e(t){return i(t)?t:X(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(a),f=function(t){function e(t){return r(t)?t:G(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(a),h=function(t){function e(t){return s(t)&&!o(t)?t:Z(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(a);a.Keyed=c,a.Indexed=f,a.Set=h;var p=0,_=1,l=2,v="function"==typeof Symbol&&Symbol.iterator,y="@@iterator",d=v||y,g=function(t){this.next=t};function w(t,e,r,n){var i=t===p?e:t===_?r:[e,r];return n?n.value=i:n={value:i,done:!1},n}function m(){return{value:void 0,done:!0}}function b(t){return!!Array.isArray(t)||!!I(t)}function z(t){return!(!t||"function"!=typeof t.next)}function S(t){var e=I(t);return e&&e.call(t)}function I(t){var e=t&&(v&&t[v]||t[y]);if("function"==typeof e)return e}g.prototype.toString=function(){return"[Iterator]"},g.KEYS=p,g.VALUES=_,g.ENTRIES=l,g.prototype.inspect=g.prototype.toSource=function(){return this.toString()},g.prototype[d]=function(){return this};var O="delete",E=5,j=1<<E,M=j-1,q={};function x(t){t&&(t.value=!0)}function D(){}function A(t){return void 0===t.size&&(t.size=t.__iterate(R)),t.size}function k(t,e){if("number"!=typeof e){var r=e>>>0;if(""+r!==e||4294967295===r)return NaN;e=r}return e<0?A(t)+e:e}function R(){return!0}function U(t,e,r){return(0===t&&!L(t)||void 0!==r&&t<=-r)&&(void 0===e||void 0!==r&&e>=r)}function T(t,e){return K(t,e,0)}function B(t,e){return K(t,e,e)}function K(t,e,r){return void 0===t?r:L(t)?e===1/0?e:0|Math.max(0,e+t):void 0===e||e===t?t:0|Math.min(e,t)}function L(t){return t<0||0===t&&1/t==-1/0}var C="@@__IMMUTABLE_RECORD__@@";function N(t){return Boolean(t&&t[C])}function P(t){return s(t)||N(t)}var W="@@__IMMUTABLE_ORDERED__@@";function H(t){return Boolean(t&&t[W])}var J="@@__IMMUTABLE_SEQ__@@";function V(t){return Boolean(t&&t[J])}var F=Object.prototype.hasOwnProperty;function Y(t){return!(!Array.isArray(t)&&"string"!=typeof t)||t&&"object"==typeof t&&Number.isInteger(t.length)&&t.length>=0&&(0===t.length?1===Object.keys(t).length:t.hasOwnProperty(t.length-1))}var Q=function(t){function e(t){return null==t?nt():P(t)?t.toSeq():function(t){var e=ut(t);if(e)return(n=I(r=t))&&n===r.entries?e.fromEntrySeq():function(t){var e=I(t);return e&&e===t.keys}(t)?e.toSetSeq():e;var r,n;if("object"==typeof t)return new tt(t);throw new TypeError("Expected Array or collection object of values, or keyed object: "+t)}(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toSeq=function(){return this},e.prototype.toString=function(){return this.__toString("Seq {","}")},e.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},e.prototype.__iterate=function(t,e){var r=this._cache;if(r){for(var n=r.length,i=0;i!==n;){var o=r[e?n-++i:i++];if(!1===t(o[1],o[0],this))break}return i}return this.__iterateUncached(t,e)},e.prototype.__iterator=function(t,e){var r=this._cache;if(r){var n=r.length,i=0;return new g((function(){if(i===n)return{value:void 0,done:!0};var o=r[e?n-++i:i++];return w(t,o[0],o[1])}))}return this.__iteratorUncached(t,e)},e}(a),X=function(t){function e(t){return null==t?nt().toKeyedSeq():s(t)?i(t)?t.toSeq():t.fromEntrySeq():N(t)?t.toSeq():it(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toKeyedSeq=function(){return this},e}(Q),G=function(t){function e(t){return null==t?nt():s(t)?i(t)?t.entrySeq():t.toIndexedSeq():N(t)?t.toSeq().entrySeq():ot(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.of=function(){return e(arguments)},e.prototype.toIndexedSeq=function(){return this},e.prototype.toString=function(){return this.__toString("Seq [","]")},e}(Q),Z=function(t){function e(t){return(s(t)&&!o(t)?t:G(t)).toSetSeq()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.of=function(){return e(arguments)},e.prototype.toSetSeq=function(){return this},e}(Q);Q.isSeq=V,Q.Keyed=X,Q.Set=Z,Q.Indexed=G,Q.prototype[J]=!0;var $=function(t){function e(t){this._array=t,this.size=t.length}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t,e){returnLine truncated
@@ -0,0 +1,637 @@
export default `flf2a$ 6 5 15 -1 23
bell.flf
Lower case letters, punctuation, and miscellaneous changes by Kent Nassen,
kentn@cyberspace.org
Last change: 10/11/94
Upper case letters originally by Joshua Bell:
Newsgroups: alt.ascii-art
From: jsbell@acs.ucalgary.ca (Joshua Bell)
Subject: Yet Another Non-Figlet Font
Message-ID: <Mar13.073432.23373@acs.ucalgary.ca>
Date: Sun, 13 Mar 1994 07:34:32 GMT
Organization: The University of Calgary
Lines: 30
Status: RO
I've had this kicking around for a while. If anyone wants to add
in other characters and Figlet-ize it, go right ahead.
Joshua
--
| "Has it been a bad year, or what?" - Meriadoc Brandybuck, |
| upon returning to the Shire after the War of the Ring. |
| jsbell@acs.ucalgary.ca Academic Computing Services, University of Calgary |
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@@
$/@
$|@
$|@
$|@
$\`@
$'@@
$,,@
$//@
$ $@
$ $@
$ $@
$ $@@
$ . . $@
$ -|--|--@
$ | | $@
$--|--|-$@
$ ' ' $@
$ $@@
@
@
@
@
@
@@
$ _ ,$@
$/ \\ / $@
$\\_// _$@
$ / / \\@
$ / \\_/@
$' $@@
@
@
@
@
@
@@
,@
/@
$@
$@
$@
$@@
$ ,@
$/ @
$| @
$| @
$. @
$ \`@@
$. @
$ \\@
$ |@
$ |@
$ ,@
$' @@
$ . @
$\`. | /@
$ \\-' @
$ ,|\\ @
$/ | \\ @
$ $@@
$ , $@
$ | $@
$.----'@
$ | $@
$ \` $@
$ $@@
$$@
$$@
$$@
$$@
$,@
$/@@
$ $@
$ $@
$.---'@
$ $@
$ $@
$ $@@
$$@
$$@
$$@
$$@
$/@
$$@@
$ $@
$ /@
$ /$@
$ ,'$@
$, $@
$ $@@
$ ___/@
$.' /\\@
$| / |@
$|,' |@
$/\`---'@
$ $@@
$ .$@
$/|$@
$ |$@
$ |$@
$_|_@
$ $@@
$ ___$@
$/ \\@
$ _-'@
$ / @
$/___,@
$ @@
$ ___$@
$/ \\@
$ _-'@
$ \\ @
$\\___)@
$ @@
$ $@
$| |$@
$\`.__|$@
$ |$@
$ |$@
$ $@@
$ ____@
$| @
$\`---.@
$ |@
$\\__.'@
$ $@@
$ __$@
$.' @
$|---.@
$| |@
$\`._.'@
$ $@@
$ ___$@
$' \\@
$ __/@
$ /\`@
$ / $@
$ $@@
$ ___ @
$/ \\@
$>---<@
$' \`@
$\`---'@
$ $@@
$ ___ @
$/ \\@
$\`---|@
$ |@
$\`---'@
$ $@@
$$@
$$@
$/@
$$@
$/@
$$@@
$$@
$$@
$/@
$$@
$,@
$/@@
@
@
@
@
@
@@
$ $@
$ $@
$,-----'@
$ $@
$,-----'@
$ $@@
@
@
@
@
@
@@
$ __ $@
$/ \`.@
$\` '@
$ /$@
$ , $@
$ ' $@@
_____ @
/ __. \\@
| / | |@
| \\__| |@
| \`-'@
\`----- @@
. @
/| @
/ \\ @
/---'\\ @
,' \\@
@@
$____ $@
$/ \\ @
$|,_-< @
$| \`@
$\`----'@
$ $@@
$ ___ @
$.' \\@
$| @
$| @
$ \`.__,@
$ @@
$.___ $@
$/ \` @
$| |@
$| |@
$/---/ @
$ $@@
$.____$@
$/ $@
$|__. $@
$| $@
$/----/@
$ @@
$.____@
$/ @
$|__. @
$| @
$/ @
$ @@
$ ___ $@
$.' \\$@
$| $@
$| _$@
$ \`.___|@
$ @@
$__ __@
$| | @
$|___| @
$| | @
$/ / @
$ $@@
$_@
$|@
$|@
$|@
$/@
$$@@
$ _______@
$' / @
$ | @
$ | @
$ \`--/ @
$ $@@
$. @
$/ /@
$|_-' @
$| \\ @
$/ \\@
$ @@
$. @
$/ @
$| @
$| @
$/---/@
$ @@
$__ __@
$| | @
$|\\ /| @
$| \\/ | @
$/ / @
$ @@
$__ _@
$|\\ | @
$| \\ | @
$| \\ | @
$| \\| @
$ @@
$ ___ @
$.' \`.@
$| |@
$| |@
$ \`.__.'@
$ @@
$.___ @
$/ \\@
$|,_-'@
$| @
$/ @
$ @@
$ ___ @
$.' \`. @
$| | @
$| ,_ | @
$ \`._.\`-.@
$ @@
$.___ @
$/ \\@
$|__-'@
$| \\ @
$/ \\@
$ @@
$ _____@
$ ( @
$ \`--. @
$ | @
$\\___.' @
$ @@
$ _______@
$' / @
$ | @
$ | @
$ / @
$ @@
$. .@
$/ /@
$| |@
$| |@
$ \`._.' @
$ @@
$__ __@
$| | @
$ \\ / @
$ \\ / @
$ \\/ @
$ @@
$. __@
$/ | @
$| | @
$| /\\ / @
$|,' \\,' @
$ @@
$_ _@
$\`. / @
$ \\,' @
$ ,'\\ @
$/ \\ @
$ @@
$_ _@
$ \`. / @
$ \`./ @
$ ,' @
$_-' @
$ @@
$ _______ @
$' / @
$ .--' @
$ / @
$,'______/@
$ @@
$__@
$| @
$| @
$| @
$| @
$--@@
$ @
$\\ @
$ \\ @
$ \`. @
$ \`.@
$ @@
$__@
$ |@
$ |@
$ |@
$ |@
$--@@
@
@
@
@
@
@@
$ $@
$ $@
$ $@
$ $@
$______,@
$' $@@
$,@
$\\@
$$@
$$@
$$@
$$@@
$ $@
$ ___$@
$ / \`@
$| |@
$\`.__/|@
$ $@@
$_ $@
$\\ ___ @
$|/ \\@
$| \`@
$\`___,'@
$ $@@
$ $@
$ ___ @
$.' \`@
$| @
$ \`._.'@
$ $@@
$ _@
$ ___/@
$ / |@
$,' |@
$\`___,'@
$ \`@@
$ $@
$ ___$@
$.' \`@
$|----'@
$\`.___,@
$ $@@
$,__$@
$/ \`@
$|__$@
$| $@
$| $@
$/ $@@
$ @
$ ___.@
$.' \`@
$| |@
$ \`---|@
$ \\___/@@
$_ $@
$/ @
$|,---.@
$|' \`@
$/ |@
$ $@@
$ @
$\`@
$|@
$|@
$/@
$$@@
$ $@
$ .$@
$ \\$@
$ |$@
$/\` |$@
$\\___/\`@@
$\\ $@
$| ,@
$| / @
$|-< @
$/ \\_@
$ $@@
$ . @
$ | @
$ | @
$ | @
$/\\__@
$ @@
$ $@
$, _ , _ $@
$|' \`|' \`.@
$| | |@
$/ ' /@
$ $@@
$ $@
$, __ $@
$|' \`.@
$| |@
$/ |@
$ $@@
$ $@
$ __. @
$.' \\@
$| |@
$ \`._.'@
$ $@@
$ $@
$\\,___,@
$| \\@
$| |@
$|\`---'@
$\\ $@@
$ $@
$ ___.$@
$.' \`$@
$| |$@
$ \`---|.@
$ |/@@
$ $@
$.___$@
$/ \\@
$| '@
$/ $@
$ $@@
$ $@
$ ____@
$ ( @
$ \`--.$@
$\\___.'@
$ $@@
$ . $@
$_/_ @
$ | @
$ | @
$ \\__/@
$ $@@
$ $@
$, .@
$| |@
$| |@
$\`._/|@
$ $@@
$ $@
$_ __@
$| / @
$\` / $@
$ \\/ $@
$ $@@
$ @
$, _ /@
$| | |@
$\` ^ '@
$ \\/ \\/$@
$ $@@
$ $@
$_ .-@
$ \\,'$@
$ /\\ $@
$/ \\$@
$ $@@
$ $@
$, .$@
$| \`$@
$| |$@
$ \`---|.@
$ \\___/$@@
$ $@
$____$@
$ /$@
$ ,/ $@
$/__.'@
$\` $@@
$ _@
$/ @
_| @
$| @
$\\_@
$ $@@
$.@
$|@
$|@
$|@
$|@
$\`@@
_ $@
\\$@
|_@
|$@
_/$@
$ $@@
@
@
@
@
@
~@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
`
@@ -0,0 +1,189 @@
import Document from './document.js'
import { SourceMap } from './postcss.js'
import Processor from './processor.js'
import Result, { Message, ResultOptions } from './result.js'
import Root from './root.js'
import Warning from './warning.js'
declare namespace LazyResult {
export { LazyResult_ as default }
}
/**
* A Promise proxy for the result of PostCSS transformations.
*
* A `LazyResult` instance is returned by `Processor#process`.
*
* ```js
* const lazy = postcss([autoprefixer]).process(css)
* ```
*/
declare class LazyResult_<RootNode = Document | Root> implements PromiseLike<
Result<RootNode>
> {
/**
* Processes input CSS through synchronous and asynchronous plugins
* and calls onRejected for each error thrown in any plugin.
*
* It implements standard Promise API.
*
* ```js
* postcss([autoprefixer]).process(css).then(result => {
* console.log(result.css)
* }).catch(error => {
* console.error(error)
* })
* ```
*/
catch: Promise<Result<RootNode>>['catch']
/**
* Processes input CSS through synchronous and asynchronous plugins
* and calls onFinally on any error or when all plugins will finish work.
*
* It implements standard Promise API.
*
* ```js
* postcss([autoprefixer]).process(css).finally(() => {
* console.log('processing ended')
* })
* ```
*/
finally: Promise<Result<RootNode>>['finally']
/**
* Processes input CSS through synchronous and asynchronous plugins
* and calls `onFulfilled` with a Result instance. If a plugin throws
* an error, the `onRejected` callback will be executed.
*
* It implements standard Promise API.
*
* ```js
* postcss([autoprefixer]).process(css, { from: cssPath }).then(result => {
* console.log(result.css)
* })
* ```
*/
then: Promise<Result<RootNode>>['then']
/**
* An alias for the `css` property. Use it with syntaxes
* that generate non-CSS output.
*
* This property will only work with synchronous plugins.
* If the processor contains any asynchronous plugins
* it will throw an error.
*
* PostCSS runners should always use `LazyResult#then`.
*/
get content(): string
/**
* Processes input CSS through synchronous plugins, converts `Root`
* to a CSS string and returns `Result#css`.
*
* This property will only work with synchronous plugins.
* If the processor contains any asynchronous plugins
* it will throw an error.
*
* PostCSS runners should always use `LazyResult#then`.
*/
get css(): string
/**
* Processes input CSS through synchronous plugins
* and returns `Result#map`.
*
* This property will only work with synchronous plugins.
* If the processor contains any asynchronous plugins
* it will throw an error.
*
* PostCSS runners should always use `LazyResult#then`.
*/
get map(): SourceMap
/**
* Processes input CSS through synchronous plugins
* and returns `Result#messages`.
*
* This property will only work with synchronous plugins. If the processor
* contains any asynchronous plugins it will throw an error.
*
* PostCSS runners should always use `LazyResult#then`.
*/
get messages(): Message[]
/**
* Options from the `Processor#process` call.
*/
get opts(): ResultOptions
/**
* Returns a `Processor` instance, which will be used
* for CSS transformations.
*/
get processor(): Processor
/**
* Processes input CSS through synchronous plugins
* and returns `Result#root`.
*
* This property will only work with synchronous plugins. If the processor
* contains any asynchronous plugins it will throw an error.
*
* PostCSS runners should always use `LazyResult#then`.
*/
get root(): RootNode
/**
* Returns the default string description of an object.
* Required to implement the Promise interface.
*/
get [Symbol.toStringTag](): string
/**
* @param processor Processor used for this transformation.
* @param css CSS to parse and transform.
* @param opts Options from the `Processor#process` or `Root#toResult`.
*/
constructor(processor: Processor, css: string, opts: ResultOptions)
/**
* Run plugin in async way and return `Result`.
*
* @return Result with output content.
*/
async(): Promise<Result<RootNode>>
/**
* Run plugin in sync way and return `Result`.
*
* @return Result with output content.
*/
sync(): Result<RootNode>
/**
* Alias for the `LazyResult#css` property.
*
* ```js
* lazy + '' === lazy.css
* ```
*
* @return Output CSS.
*/
toString(): string
/**
* Processes input CSS through synchronous plugins
* and calls `Result#warnings`.
*
* @return Warnings from plugins.
*/
warnings(): Warning[]
}
declare class LazyResult<
RootNode = Document | Root
> extends LazyResult_<RootNode> {}
export = LazyResult
@@ -0,0 +1,781 @@
import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';
import { round, createCoords, max, min, floor } from '@floating-ui/utils';
import { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';
export { getOverflowAncestors } from '@floating-ui/utils/dom';
function getCssDimensions(element) {
const css = getComputedStyle$1(element);
// In testing environments, the `width` and `height` properties are empty
// strings for SVG elements, returning NaN. Fallback to `0` in this case.
let width = parseFloat(css.width) || 0;
let height = parseFloat(css.height) || 0;
const hasOffset = isHTMLElement(element);
const offsetWidth = hasOffset ? element.offsetWidth : width;
const offsetHeight = hasOffset ? element.offsetHeight : height;
const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
if (shouldFallback) {
width = offsetWidth;
height = offsetHeight;
}
return {
width,
height,
$: shouldFallback
};
}
function unwrapElement(element) {
return !isElement(element) ? element.contextElement : element;
}
function getScale(element) {
const domElement = unwrapElement(element);
if (!isHTMLElement(domElement)) {
return createCoords(1);
}
const rect = domElement.getBoundingClientRect();
const {
width,
height,
$
} = getCssDimensions(domElement);
let x = ($ ? round(rect.width) : rect.width) / width;
let y = ($ ? round(rect.height) : rect.height) / height;
// 0, NaN, or Infinity should always fallback to 1.
if (!x || !Number.isFinite(x)) {
x = 1;
}
if (!y || !Number.isFinite(y)) {
y = 1;
}
return {
x,
y
};
}
const noOffsets = /*#__PURE__*/createCoords(0);
function getVisualOffsets(element) {
const win = getWindow(element);
if (!isWebKit() || !win.visualViewport) {
return noOffsets;
}
return {
x: win.visualViewport.offsetLeft,
y: win.visualViewport.offsetTop
};
}
function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
if (isFixed === void 0) {
isFixed = false;
}
if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
return false;
}
return isFixed;
}
function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
if (includeScale === void 0) {
includeScale = false;
}
if (isFixedStrategy === void 0) {
isFixedStrategy = false;
}
const clientRect = element.getBoundingClientRect();
const domElement = unwrapElement(element);
let scale = createCoords(1);
if (includeScale) {
if (offsetParent) {
if (isElement(offsetParent)) {
scale = getScale(offsetParent);
}
} else {
scale = getScale(element);
}
}
const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
let x = (clientRect.left + visualOffsets.x) / scale.x;
let y = (clientRect.top + visualOffsets.y) / scale.y;
let width = clientRect.width / scale.x;
let height = clientRect.height / scale.y;
if (domElement) {
const win = getWindow(domElement);
const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
let currentWin = win;
let currentIFrame = getFrameElement(currentWin);
while (currentIFrame && offsetParent && offsetWin !== currentWin) {
const iframeScale = getScale(currentIFrame);
const iframeRect = currentIFrame.getBoundingClientRect();
const css = getComputedStyle$1(currentIFrame);
const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
x *= iframeScale.x;
y *= iframeScale.y;
width *= iframeScale.x;
height *= iframeScale.y;
x += left;
y += top;
currentWin = getWindow(currentIFrame);
currentIFrame = getFrameElement(currentWin);
}
}
return rectToClientRect({
width,
height,
x,
y
});
}
// If <html> has a CSS width greater than the viewport, then this will be
// incorrect for RTL.
function getWindowScrollBarX(element, rect) {
const leftScroll = getNodeScroll(element).scrollLeft;
if (!rect) {
return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
}
return rect.left + leftScroll;
}
function getHTMLOffset(documentElement, scroll) {
const htmlRect = documentElement.getBoundingClientRect();
const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
const y = htmlRect.top + scroll.scrollTop;
return {
x,
y
};
}
function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
let {
elements,
rect,
offsetParent,
strategy
} = _ref;
const isFixed = strategy === 'fixed';
const documentElement = getDocumentElement(offsetParent);
const topLayer = elements ? isTopLayer(elements.floating) : false;
if (offsetParent === documentElement || topLayer && isFixed) {
return rect;
}
let scroll = {
scrollLeft: 0,
scrollTop: 0
};
let scale = createCoords(1);
const offsets = createCoords(0);
const isOffsetParentAnElement = isHTMLElement(offsetParent);
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
scroll = getNodeScroll(offsetParent);
}
if (isOffsetParentAnElement) {
const offsetRect = getBoundingClientRect(offsetParent);
scale = getScale(offsetParent);
offsets.x = offsetRect.x + offsetParent.clientLeft;
offsets.y = offsetRect.y + offsetParent.clientTop;
}
}
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
return {
width: rect.width * scale.x,
height: rect.height * scale.y,
x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
};
}
function getClientRects(element) {
return Array.from(element.getClientRects());
}
// Gets the entire size of the scrollable document area, even extending outside
// of the `<html>` and `<body>` rect bounds if horizontally scrollable.
function getDocumentRect(element) {
const html = getDocumentElement(element);
const scroll = getNodeScroll(element);
const body = element.ownerDocument.body;
const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
let x = -scroll.scrollLeft + getWindowScrollBarX(element);
const y = -scroll.scrollTop;
if (getComputedStyle$1(body).direction === 'rtl') {
x += max(html.clientWidth, body.clientWidth) - width;
}
return {
width,
height,
x,
y
};
}
// Safety check: ensure the scrollbar space is reasonable in case this
// calculation is affected by unusual styles.
// Most scrollbars leave 15-18px of space.
const SCROLLBAR_MAX = 25;
function getViewportRect(element, strategy) {
const win = getWindow(element);
const html = getDocumentElement(element);
const visualViewport = win.visualViewport;
let width = html.clientWidth;
let height = html.clientHeight;
let x = 0;
let y = 0;
if (visualViewport) {
width = visualViewport.width;
height = visualViewport.height;
const visualViewportBased = isWebKit();
if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {
x = visualViewport.offsetLeft;
y = visualViewport.offsetTop;
}
}
const windowScrollbarX = getWindowScrollBarX(html);
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
// visual width of the <html> but this is not considered in the size
// of `html.clientWidth`.
if (windowScrollbarX <= 0) {
const doc = html.ownerDocument;
const body = doc.body;
const bodyStyles = getComputedStyle(body);
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
width -= clippingStableScrollbarWidth;
}
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
// If the <body> scrollbar is on the left, the width needs to be extended
// by the scrollbar amount so there isn't extra space on the right.
width += windowScrollbarX;
}
return {
width,
height,
x,
y
};
}
// Returns the inner client rect, subtracting scrollbars if present.
function getInnerBoundingClientRect(element, strategy) {
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
const top = clientRect.top + element.clientTop;
const left = clientRect.left + element.clientLeft;
const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
const width = element.clientWidth * scale.x;
const height = element.clientHeight * scale.y;
const x = left * scale.x;
const y = top * scale.y;
return {
width,
height,
x,
y
};
}
function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
let rect;
if (clippingAncestor === 'viewport') {
rect = getViewportRect(element, strategy);
} else if (clippingAncestor === 'document') {
rect = getDocumentRect(getDocumentElement(element));
} else if (isElement(clippingAncestor)) {
rect = getInnerBoundingClientRect(clippingAncestor, strategy);
} else {
const visualOffsets = getVisualOffsets(element);
rect = {
x: clippingAncestor.x - visualOffsets.x,
y: clippingAncestor.y - visualOffsets.y,
width: clippingAncestor.width,
height: clippingAncestor.height
};
}
return rectToClientRect(rect);
}
function hasFixedPositionAncestor(element, stopNode) {
const parentNode = getParentNode(element);
if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
return false;
}
return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
}
// A "clipping ancestor" is an `overflow` element with the characteristic of
// clipping (or hiding) child elements. This returns all clipping ancestors
// of the given element up the tree.
function getClippingElementAncestors(element, cache) {
const cachedResult = cache.get(element);
if (cachedResult) {
return cachedResult;
}
let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
let currentContainingBlockComputedStyle = null;
const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
let currentNode = elementIsFixed ? getParentNode(element) : element;
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
const computedStyle = getComputedStyle$1(currentNode);
const currentNodeIsContaining = isContainingBlock(currentNode);
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
currentContainingBlockComputedStyle = null;
}
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
if (shouldDropCurrentNode) {
// Drop non-containing blocks.
result = result.filter(ancestor => ancestor !== currentNode);
} else {
// Record last containing block for next iteration.
currentContainingBlockComputedStyle = computedStyle;
}
currentNode = getParentNode(currentNode);
}
cache.set(element, result);
return result;
}
// Gets the maximum area that the element is visible in due to any number of
// clipping ancestors.
function getClippingRect(_ref) {
let {
element,
boundary,
rootBoundary,
strategy
} = _ref;
const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
const clippingAncestors = [...elementClippingAncestors, rootBoundary];
const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
let top = firstRect.top;
let right = firstRect.right;
let bottom = firstRect.bottom;
let left = firstRect.left;
for (let i = 1; i < clippingAncestors.length; i++) {
const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
top = max(rect.top, top);
right = min(rect.right, right);
bottom = min(rect.bottom, bottom);
left = max(rect.left, left);
}
return {
width: right - left,
height: bottom - top,
x: left,
y: top
};
}
function getDimensions(element) {
const {
width,
height
} = getCssDimensions(element);
return {
width,
height
};
}
function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
const isOffsetParentAnElement = isHTMLElement(offsetParent);
const documentElement = getDocumentElement(offsetParent);
const isFixed = strategy === 'fixed';
const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
let scroll = {
scrollLeft: 0,
scrollTop: 0
};
const offsets = createCoords(0);
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
function setLeftRTLScrollbarOffset() {
offsets.x = getWindowScrollBarX(documentElement);
}
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
scroll = getNodeScroll(offsetParent);
}
if (isOffsetParentAnElement) {
const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
offsets.x = offsetRect.x + offsetParent.clientLeft;
offsets.y = offsetRect.y + offsetParent.clientTop;
} else if (documentElement) {
setLeftRTLScrollbarOffset();
}
}
if (isFixed && !isOffsetParentAnElement && documentElement) {
setLeftRTLScrollbarOffset();
}
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
return {
x,
y,
width: rect.width,
height: rect.height
};
}
function isStaticPositioned(element) {
return getComputedStyle$1(element).position === 'static';
}
function getTrueOffsetParent(element, polyfill) {
if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {
return null;
}
if (polyfill) {
return polyfill(element);
}
let rawOffsetParent = element.offsetParent;
// Firefox returns the <html> element as the offsetParent if it's non-static,
// while Chrome and Safari return the <body> element. The <body> element must
// be used to perform the correct calculations even if the <html> element is
// non-static.
if (getDocumentElement(element) === rawOffsetParent) {
rawOffsetParent = rawOffsetParent.ownerDocument.body;
}
return rawOffsetParent;
}
// Gets the closest ancestor positioned element. Handles some edge cases,
// such as table ancestors and cross browser bugs.
function getOffsetParent(element, polyfill) {
const win = getWindow(element);
if (isTopLayer(element)) {
return win;
}
if (!isHTMLElement(element)) {
let svgOffsetParent = getParentNode(element);
while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
return svgOffsetParent;
}
svgOffsetParent = getParentNode(svgOffsetParent);
}
return win;
}
let offsetParent = getTrueOffsetParent(element, polyfill);
while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
offsetParent = getTrueOffsetParent(offsetParent, polyfill);
}
if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
return win;
}
return offsetParent || getContainingBlock(element) || win;
}
const getElementRects = async function (data) {
const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
const getDimensionsFn = this.getDimensions;
const floatingDimensions = await getDimensionsFn(data.floating);
return {
reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
floating: {
x: 0,
y: 0,
width: floatingDimensions.width,
height: floatingDimensions.height
}
};
};
function isRTL(element) {
return getComputedStyle$1(element).direction === 'rtl';
}
const platform = {
convertOffsetParentRelativeRectToViewportRelativeRect,
getDocumentElement,
getClippingRect,
getOffsetParent,
getElementRects,
getClientRects,
getDimensions,
getScale,
isElement,
isRTL
};
function rectsAreEqual(a, b) {
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
}
// https://samthor.au/2021/observing-dom/
function observeMove(element, onMove) {
let io = null;
let timeoutId;
const root = getDocumentElement(element);
function cleanup() {
var _io;
clearTimeout(timeoutId);
(_io = io) == null || _io.disconnect();
io = null;
}
function refresh(skip, threshold) {
if (skip === void 0) {
skip = false;
}
if (threshold === void 0) {
threshold = 1;
}
cleanup();
const elementRectForRootMargin = element.getBoundingClientRect();
const {
left,
top,
width,
height
} = elementRectForRootMargin;
if (!skip) {
onMove();
}
if (!width || !height) {
return;
}
const insetTop = floor(top);
const insetRight = floor(root.clientWidth - (left + width));
const insetBottom = floor(root.clientHeight - (top + height));
const insetLeft = floor(left);
const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
const options = {
rootMargin,
threshold: max(0, min(1, threshold)) || 1
};
let isFirstUpdate = true;
function handleObserve(entries) {
const ratio = entries[0].intersectionRatio;
if (ratio !== threshold) {
if (!isFirstUpdate) {
return refresh();
}
if (!ratio) {
// If the reference is clipped, the ratio is 0. Throttle the refresh
// to prevent an infinite loop of updates.
timeoutId = setTimeout(() => {
refresh(false, 1e-7);
}, 1000);
} else {
refresh(false, ratio);
}
}
if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
// It's possible that even though the ratio is reported as 1, the
// element is not actually fully within the IntersectionObserver's root
// area anymore. This can happen under performance constraints. This may
// be a bug in the browser's IntersectionObserver implementation. To
// work around this, we compare the element's bounding rect now with
// what it was at the time we created the IntersectionObserver. If they
// are not equal then the element moved, so we refresh.
refresh();
}
isFirstUpdate = false;
}
// Older browsers don't support a `document` as the root and will throw an
// error.
try {
io = new IntersectionObserver(handleObserve, {
...options,
// Handle <iframe>s
root: root.ownerDocument
});
} catch (_e) {
io = new IntersectionObserver(handleObserve, options);
}
io.observe(element);
}
refresh(true);
return cleanup;
}
/**
* Automatically updates the position of the floating element when necessary.
* Should only be called when the floating element is mounted on the DOM or
* visible on the screen.
* @returns cleanup function that should be invoked when the floating element is
* removed from the DOM or hidden from the screen.
* @see https://floating-ui.com/docs/autoUpdate
*/
function autoUpdate(reference, floating, update, options) {
if (options === void 0) {
options = {};
}
const {
ancestorScroll = true,
ancestorResize = true,
elementResize = typeof ResizeObserver === 'function',
layoutShift = typeof IntersectionObserver === 'function',
animationFrame = false
} = options;
const referenceEl = unwrapElement(reference);
const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];
ancestors.forEach(ancestor => {
ancestorScroll && ancestor.addEventListener('scroll', update, {
passive: true
});
ancestorResize && ancestor.addEventListener('resize', update);
});
const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
let reobserveFrame = -1;
let resizeObserver = null;
if (elementResize) {
resizeObserver = new ResizeObserver(_ref => {
let [firstEntry] = _ref;
if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
// Prevent update loops when using the `size` middleware.
// https://github.com/floating-ui/floating-ui/issues/1740
resizeObserver.unobserve(floating);
cancelAnimationFrame(reobserveFrame);
reobserveFrame = requestAnimationFrame(() => {
var _resizeObserver;
(_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
});
}
update();
});
if (referenceEl && !animationFrame) {
resizeObserver.observe(referenceEl);
}
if (floating) {
resizeObserver.observe(floating);
}
}
let frameId;
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
if (animationFrame) {
frameLoop();
}
function frameLoop() {
const nextRefRect = getBoundingClientRect(reference);
if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
update();
}
prevRefRect = nextRefRect;
frameId = requestAnimationFrame(frameLoop);
}
update();
return () => {
var _resizeObserver2;
ancestors.forEach(ancestor => {
ancestorScroll && ancestor.removeEventListener('scroll', update);
ancestorResize && ancestor.removeEventListener('resize', update);
});
cleanupIo == null || cleanupIo();
(_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
resizeObserver = null;
if (animationFrame) {
cancelAnimationFrame(frameId);
}
};
}
/**
* Resolves with an object of overflow side offsets that determine how much the
* element is overflowing a given clipping boundary on each side.
* - positive = overflowing the boundary by that number of pixels
* - negative = how many pixels left before it will overflow
* - 0 = lies flush with the boundary
* @see https://floating-ui.com/docs/detectOverflow
*/
const detectOverflow = detectOverflow$1;
/**
* Modifies the placement by translating the floating element along the
* specified axes.
* A number (shorthand for `mainAxis` or distance), or an axes configuration
* object may be passed.
* @see https://floating-ui.com/docs/offset
*/
const offset = offset$1;
/**
* Optimizes the visibility of the floating element by choosing the placement
* that has the most space available automatically, without needing to specify a
* preferred placement. Alternative to `flip`.
* @see https://floating-ui.com/docs/autoPlacement
*/
const autoPlacement = autoPlacement$1;
/**
* Optimizes the visibility of the floating element by shifting it in order to
* keep it in view when it will overflow the clipping boundary.
* @see https://floating-ui.com/docs/shift
*/
const shift = shift$1;
/**
* Optimizes the visibility of the floating element by flipping the `placement`
* in order to keep it in view when the preferred placement(s) will overflow the
* clipping boundary. Alternative to `autoPlacement`.
* @see https://floating-ui.com/docs/flip
*/
const flip = flip$1;
/**
* Provides data that allows you to change the size of the floating element —
* for instance, prevent it from overflowing the clipping boundary or match the
* width of the reference element.
* @see https://floating-ui.com/docs/size
*/
const size = size$1;
/**
* Provides data to hide the floating element in applicable situations, such as
* when it is not in the same clipping context as the reference element.
* @see https://floating-ui.com/docs/hide
*/
const hide = hide$1;
/**
* Provides data to position an inner element of the floating element so that it
* appears centered to the reference element.
* @see https://floating-ui.com/docs/arrow
*/
const arrow = arrow$1;
/**
* Provides improved positioning for inline reference elements that can span
* over multiple lines, such as hyperlinks or range selections.
* @see https://floating-ui.com/docs/inline
*/
const inline = inline$1;
/**
* Built-in `limiter` that will stop `shift()` at a certain point.
*/
const limitShift = limitShift$1;
/**
* Computes the `x` and `y` coordinates that will place the floating element
* next to a given reference element.
*/
const computePosition = (reference, floating, options) => {
// This caches the expensive `getClippingElementAncestors` function so that
// multiple lifecycle resets re-use the same result. It only lives for a
// single call. If other functions become expensive, we can add them as well.
const cache = new Map();
const mergedOptions = {
platform,
...options
};
const platformWithCache = {
...mergedOptions.platform,
_c: cache
};
return computePosition$1(reference, floating, {
...mergedOptions,
platform: platformWithCache
});
};
export { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };
@@ -0,0 +1,23 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const BadgeAlert = createLucideIcon("BadgeAlert", [
[
"path",
{
d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",
key: "3c2336"
}
],
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
]);
export { BadgeAlert as default };
//# sourceMappingURL=badge-alert.js.map
@@ -0,0 +1 @@
{"version":3,"names":["_classApplyDescriptorSet","receiver","descriptor","value","set","call","writable","TypeError"],"sources":["../../src/helpers/classApplyDescriptorSet.js"],"sourcesContent":["/* @minVersion 7.13.10 */\n/* @onlyBabel7 */\n\nexport default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}\n"],"mappings":";;;;;;AAGe,SAASA,wBAAwBA,CAACC,QAAQ,EAAEC,UAAU,EAAEC,KAAK,EAAE;EAC5E,IAAID,UAAU,CAACE,GAAG,EAAE;IAClBF,UAAU,CAACE,GAAG,CAACC,IAAI,CAACJ,QAAQ,EAAEE,KAAK,CAAC;EACtC,CAAC,MAAM;IACL,IAAI,CAACD,UAAU,CAACI,QAAQ,EAAE;MAIxB,MAAM,IAAIC,SAAS,CAAC,0CAA0C,CAAC;IACjE;IACAL,UAAU,CAACC,KAAK,GAAGA,KAAK;EAC1B;AACF","ignoreList":[]}
@@ -0,0 +1,15 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const Navigation = createLucideIcon("Navigation", [
["polygon", { points: "3 11 22 2 13 21 11 13 3 11", key: "1ltx0t" }]
]);
export { Navigation as default };
//# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
{"version":3,"file":"parse-transform.mjs","sources":["../../../../src/render/dom/parse-transform.ts"],"sourcesContent":["import { transformPropOrder } from \"../utils/keys-transform\"\n\nconst radToDeg = (rad: number) => (rad * 180) / Math.PI\n\ntype MatrixParser = (values: number[]) => number\n\ntype MatrixParsers = Record<\n (typeof transformPropOrder)[number],\n number | MatrixParser\n>\n\nconst rotate = (v: number[]) => {\n const angle = radToDeg(Math.atan2(v[1], v[0]))\n return rebaseAngle(angle)\n}\n\nconst matrix2dParsers: MatrixParsers = {\n x: 4,\n y: 5,\n translateX: 4,\n translateY: 5,\n scaleX: 0,\n scaleY: 3,\n scale: (v) => (Math.abs(v[0]) + Math.abs(v[3])) / 2,\n rotate,\n rotateZ: rotate,\n skewX: (v) => radToDeg(Math.atan(v[1])),\n skewY: (v) => radToDeg(Math.atan(v[2])),\n skew: (v) => (Math.abs(v[1]) + Math.abs(v[2])) / 2,\n} as const\n\nconst rebaseAngle = (angle: number) => {\n angle = angle % 360\n if (angle < 0) angle += 360\n return angle\n}\n\nconst rotateZ = rotate\n\nconst scaleX = (v: number[]) => Math.sqrt(v[0] * v[0] + v[1] * v[1])\nconst scaleY = (v: number[]) => Math.sqrt(v[4] * v[4] + v[5] * v[5])\n\nconst matrix3dParsers: MatrixParsers = {\n x: 12,\n y: 13,\n z: 14,\n translateX: 12,\n translateY: 13,\n translateZ: 14,\n scaleX,\n scaleY,\n scale: (v) => (scaleX(v) + scaleY(v)) / 2,\n rotateX: (v) => rebaseAngle(radToDeg(Math.atan2(v[6], v[5]))),\n rotateY: (v) => rebaseAngle(radToDeg(Math.atan2(-v[2], v[0]))),\n rotateZ,\n rotate: rotateZ,\n skewX: (v) => radToDeg(Math.atan(v[4])),\n skewY: (v) => radToDeg(Math.atan(v[1])),\n skew: (v) => (Math.abs(v[1]) + Math.abs(v[4])) / 2,\n} as const\n\nexport function defaultTransformValue(name: string): number {\n return name.includes(\"scale\") ? 1 : 0\n}\n\nexport function parseValueFromTransform(\n transform: string | undefined,\n name: string\n): number {\n if (!transform || transform === \"none\") {\n return defaultTransformValue(name)\n }\n\n const matrix3dMatch = transform.match(/^matrix3d\\(([-\\d.e\\s,]+)\\)$/u)\n\n let parsers: MatrixParsers\n let match: RegExpMatchArray | null\n\n if (matrix3dMatch) {\n parsers = matrix3dParsers\n match = matrix3dMatch\n } else {\n const matrix2dMatch = transform.match(/^matrix\\(([-\\d.e\\s,]+)\\)$/u)\n\n parsers = matrix2dParsers\n match = matrix2dMatch\n }\n\n if (!match) {\n return defaultTransformValue(name)\n }\n\n const valueParser = parsers[name]\n const values = match[1].split(\",\").map(convertTransformToNumber)\n\n return typeof valueParser === \"function\"\n ? valueParser(values)\n : values[valueParser]\n}\n\nexport const readTransformValue = (instance: HTMLElement, name: string) => {\n const { transform = \"none\" } = getComputedStyle(instance)\n return parseValueFromTransform(transform, name)\n}\n\nfunction convertTransformToNumber(value: string): number {\n return parseFloat(value.trim())\n}\n"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,CAAC,GAAW,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE;AASvD,MAAM,MAAM,GAAG,CAAC,CAAW,KAAI;AAC3B,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,IAAA,OAAO,WAAW,CAAC,KAAK,CAAC;AAC7B,CAAC;AAED,MAAM,eAAe,GAAkB;AACnC,IAAA,CAAC,EAAE,CAAC;AACJ,IAAA,CAAC,EAAE,CAAC;AACJ,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,MAAM;AACN,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,KAAK,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,IAAA,KAAK,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,IAAA,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;CAC5C;AAEV,MAAM,WAAW,GAAG,CAAC,KAAa,KAAI;AAClC,IAAA,KAAK,GAAG,KAAK,GAAG,GAAG;IACnB,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,IAAI,GAAG;AAC3B,IAAA,OAAO,KAAK;AAChB,CAAC;AAED,MAAM,OAAO,GAAG,MAAM;AAEtB,MAAM,MAAM,GAAG,CAAC,CAAW,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,MAAM,MAAM,GAAG,CAAC,CAAW,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAM,eAAe,GAAkB;AACnC,IAAA,CAAC,EAAE,EAAE;AACL,IAAA,CAAC,EAAE,EAAE;AACL,IAAA,CAAC,EAAE,EAAE;AACL,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,UAAU,EAAE,EAAE;IACd,MAAM;IACN,MAAM;AACN,IAAA,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;Line truncated
@@ -0,0 +1 @@
{"version":3,"file":"fish.js","sources":["../../../src/icons/fish.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Fish\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNi41IDEyYy45NC0zLjQ2IDQuOTQtNiA4LjUtNiAzLjU2IDAgNi4wNiAyLjU0IDcgNi0uOTQgMy40Ny0zLjQ0IDYtNyA2cy03LjU2LTIuNTMtOC41LTZaIiAvPgogIDxwYXRoIGQ9Ik0xOCAxMnYuNSIgLz4KICA8cGF0aCBkPSJNMTYgMTcuOTNhOS43NyA5Ljc3IDAgMCAxIDAtMTEuODYiIC8+CiAgPHBhdGggZD0iTTcgMTAuNjdDNyA4IDUuNTggNS45NyAyLjczIDUuNWMtMSAxLjUtMSA1IC4yMyA2LjUtMS4yNCAxLjUtMS4yNCA1LS4yMyA2LjVDNS41OCAxOC4wMyA3IDE2IDcgMTMuMzMiIC8+CiAgPHBhdGggZD0iTTEwLjQ2IDcuMjZDMTAuMiA1Ljg4IDkuMTcgNC4yNCA4IDNoNS44YTIgMiAwIDAgMSAxLjk4IDEuNjdsLjIzIDEuNCIgLz4KICA8cGF0aCBkPSJtMTYuMDEgMTcuOTMtLjIzIDEuNEEyIDIgMCAwIDEgMTMuOCAyMUg5LjVhNS45NiA1Ljk2IDAgMCAwIDEuNDktMy45OCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/fish\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Fish = createLucideIcon('Fish', [\n [\n 'path',\n {\n d: 'M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z',\n key: '15baut',\n },\n ],\n ['path', { d: 'M18 12v.5', key: '18hhni' }],\n ['path', { d: 'M16 17.93a9.77 9.77 0 0 1 0-11.86', key: '16dt7o' }],\n [\n 'path',\n {\n d: 'M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33',\n key: 'l9di03',\n },\n ],\n [\n 'path',\n { d: 'M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4', key: '1kjonw' },\n ],\n [\n 'path',\n { d: 'm16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98', key: '1zlm23' },\n ],\n]);\n\nexport default Fish;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,iBAAiB,MAAQ,CAAA,CAAA,CAAA;AAAA,CACpC,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA;AAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACP,CAAA,CAAA,CAAA,CAAA;AAAA,CACF,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC1C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAqC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAClE,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA;AAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACP,CAAA,CAAA,CAAA,CAAA;AAAA,CACF,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuE,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,QAAS,CAAA,CAAA;AAAA,CAC5F,CAAA,CAAA,CAAA;AAAA,CACALine truncated
@@ -0,0 +1 @@
{"version":3,"file":"battery-charging.js","sources":["../../../src/icons/battery-charging.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name BatteryCharging\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgN2gxYTIgMiAwIDAgMSAyIDJ2NmEyIDIgMCAwIDEtMiAyaC0yIiAvPgogIDxwYXRoIGQ9Ik02IDdINGEyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMmgxIiAvPgogIDxwYXRoIGQ9Im0xMSA3LTMgNWg0bC0zIDUiIC8+CiAgPGxpbmUgeDE9IjIyIiB4Mj0iMjIiIHkxPSIxMSIgeTI9IjEzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/battery-charging\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst BatteryCharging = createLucideIcon('BatteryCharging', [\n ['path', { d: 'M15 7h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2', key: '1sdynx' }],\n ['path', { d: 'M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1', key: '1gkd3k' }],\n ['path', { d: 'm11 7-3 5h4l-3 5', key: 'b4a64w' }],\n ['line', { x1: '22', x2: '22', y1: '11', y2: '13', key: '4dh1rd' }],\n]);\n\nexport default BatteryCharging;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,iBAAiB,iBAAmB,CAAA,CAAA,CAAA;AAAA,CAAA,CAC1D,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA4C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACzE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA0C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACvE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CACjD,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAE,CAAA,CAAA,CAAA,EAAI,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAM,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AACpE,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
module.exports={C:{"115":0.00404,"120":0.00808,"121":0.00404,"140":0.01616,"150":0.00404,"152":0.01212,"153":0.01212,"154":0.19791,"155":0.49276,"156":0.45237,"157":0.00808,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 141 142 143 144 145 146 147 148 149 151 158 159 160 3.5 3.6"},D:{"76":0.00808,"80":0.31908,"103":0.12521,"104":0.03635,"105":0.03635,"106":0.04039,"107":0.04443,"108":0.03231,"109":0.11309,"110":0.04039,"111":0.03635,"112":0.04039,"116":0.11309,"117":0.04039,"118":0.04443,"119":0.00404,"120":0.04039,"122":0.01212,"123":0.00808,"124":0.04039,"126":0.03231,"128":0.02423,"131":0.08886,"133":0.11309,"134":0.06462,"135":0.04443,"136":0.05655,"137":0.06866,"138":0.13733,"139":0.06059,"140":0.05251,"141":0.0727,"142":0.20599,"143":0.04039,"144":0.19791,"145":0.04847,"146":0.06462,"147":0.00808,"148":0.05655,"149":0.15752,"150":0.48064,"151":0.81588,"152":6.78552,"153":3.69972,"154":0.59373,"155":0.00404,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 113 114 115 121 125 127 129 130 132 156 157"},F:{"101":0.00404,"134":0.12925,"135":0.34735,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 131 132 133 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"109":0.0202,"119":0.00808,"120":0.00404,"131":0.00808,"138":0.00404,"140":0.00808,"143":0.00404,"144":0.02423,"146":0.01212,"147":0.00808,"148":0.01212,"149":0.07674,"150":0.04039,"151":0.39178,"152":3.76839,"153":4.5358,"154":1.29248,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 121 122 123 124 125 126 127 128 129 130 132 133 134 135 136 137 139 141 142 145"},E:{"14":0.00404,"15":0.00404,"27":0.29081,_:"4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 13.1 15.1 15.2-15.3 15.4 15.5 16.0 16.5 17.0 27.1 27.2 TP","12.1":0.01616,"14.1":0.07674,"15.6":0.51295,"16.1":0.01212,"16.2":0.01212,"16.3":0.00808,"16.4":0.05655,"16.6":0.22618,"17.1":0.68259,"17.2":0.01212,"17.3":0.00404,"17.4":0.02423,"17.5":0.04039,"17.6":0.32716,"18.0":0.00404,"18.1":0.0202,"18.2":0.01616,"18.3":0.0929,"18.4":0.00404,"18.5-18.7":0.06059,"26.0":0.00404,"26.1":0.00808,"26.2":0.0727,"26.3":0.0929,"26.4":0.10905,"26.5":0.70683,"26.6":7.767},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00336,"5.0-5.1":0.00336,"6.0-6.1":0,"7.0-7.1":0.00673,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.03365,"11.0-11.2":0.00336,"11.3-11.4":0.00673,"12.0-12.1":0,"12.2-12.5":0.08749,"13.0-13.1":0,"13.2":0.01682,"13.3":0,"13.4-13.7":0.00336,"14.0-14.4":0.01346,"14.5-14.8":0.02019,"15.0-15.1":0.02019,"15.2-15.3":0.01346,"15.4":0.01682,"15.5":0.02019,"15.6-15.8":0.43745,"16.0":0.03365,"16.1":0.06057,"16.2":0.03365,"16.3":0.07403,"16.4":0.01682,"16.5":0.02692,"16.6-16.7":0.60906,"17.0":0.02355,"17.1":0.03365,"17.2":0.03365,"17.3":0.05047,"17.4":0.07066,"17.5":0.13796,"17.6-17.7":0.35669,"18.0":0.07403,"18.1":0.14806,"18.2":0.2019,"18.3":0.34996,"18.4":0.21872,"18.5-18.7":4.51917,"26.0":0.21872,"26.1":0.22209,"26.2":0.57878,"26.3":0.62589,"26.4":0.45764,"26.5":3.0655,"26.6":18.91458,"27.0":1.45031,"27.1":0,"27.2":0.03701},P:{"4":0.01095,"20":0.01095,"26":0.02189,"28":0.15325,"29":0.01095,"30":4.00644,_:"21 22 23 24 25 27 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0.02383,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},K:{"0":0.34574,_:"10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},N:{_:"10 11"},L:{"0":21.1459},R:{_:"0"},M:{"0":0.41131},Q:{_:"14.9"},O:{"0":0.00596},H:{all:0}};
@@ -0,0 +1 @@
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../web/url.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,SAAS,KA+Bb,CAAC;AAEH,eAAe,SAAS,CAAC"}
@@ -0,0 +1,71 @@
{
"name": "source-map-js",
"description": "Generates and consumes source maps",
"version": "1.2.2",
"homepage": "https://github.com/7rulnik/source-map-js",
"author": "Valentin 7rulnik Semirulnik <v7rulnik@gmail.com>",
"contributors": [
"Nick Fitzgerald <nfitzgerald@mozilla.com>",
"Tobias Koppers <tobias.koppers@googlemail.com>",
"Duncan Beevers <duncan@dweebd.com>",
"Stephen Crane <scrane@mozilla.com>",
"Ryan Seddon <seddon.ryan@gmail.com>",
"Miles Elam <miles.elam@deem.com>",
"Mihai Bazon <mihai.bazon@gmail.com>",
"Michael Ficarra <github.public.email@michael.ficarra.me>",
"Todd Wolfson <todd@twolfson.com>",
"Alexander Solovyov <alexander@solovyov.net>",
"Felix Gnass <fgnass@gmail.com>",
"Conrad Irwin <conrad.irwin@gmail.com>",
"usrbincc <usrbincc@yahoo.com>",
"David Glasser <glasser@davidglasser.net>",
"Chase Douglas <chase@newrelic.com>",
"Evan Wallace <evan.exe@gmail.com>",
"Heather Arthur <fayearthur@gmail.com>",
"Hugh Kennedy <hughskennedy@gmail.com>",
"David Glasser <glasser@davidglasser.net>",
"Simon Lydell <simon.lydell@gmail.com>",
"Jmeas Smith <jellyes2@gmail.com>",
"Michael Z Goddard <mzgoddard@gmail.com>",
"azu <azu@users.noreply.github.com>",
"John Gozde <john@gozde.ca>",
"Adam Kirkton <akirkton@truefitinnovation.com>",
"Chris Montgomery <christopher.montgomery@dowjones.com>",
"J. Ryan Stinnett <jryans@gmail.com>",
"Jack Herrington <jherrington@walmartlabs.com>",
"Chris Truter <jeffpalentine@gmail.com>",
"Daniel Espeset <daniel@danielespeset.com>",
"Jamie Wong <jamie.lf.wong@gmail.com>",
"Eddy Bruël <ejpbruel@mozilla.com>",
"Hawken Rives <hawkrives@gmail.com>",
"Gilad Peleg <giladp007@gmail.com>",
"djchie <djchie.dev@gmail.com>",
"Gary Ye <garysye@gmail.com>",
"Nicolas Lalevée <nicolas.lalevee@hibnet.org>"
],
"repository": "7rulnik/source-map-js",
"main": "./source-map.js",
"files": [
"source-map.js",
"source-map.d.ts",
"lib/"
],
"engines": {
"node": ">=0.10.0"
},
"license": "BSD-3-Clause",
"scripts": {
"test": "npm run build && node test/run-tests.js",
"build": "webpack --color",
"toc": "doctoc --title '## Table of Contents' README.md && doctoc --title '## Table of Contents' CONTRIBUTING.md"
},
"devDependencies": {
"clean-publish": "^3.1.0",
"doctoc": "^0.15.0",
"webpack": "^1.12.0"
},
"clean-publish": {
"cleanDocs": true
},
"typings": "source-map.d.ts"
}
@@ -0,0 +1 @@
module.exports={C:{"115":0.04181,"120":0.01858,"121":0.02323,"139":0.00929,"140":0.01394,"147":0.00465,"152":0.09755,"153":0.02787,"154":1.23093,"155":0.38089,"156":0.20903,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 141 142 143 144 145 146 148 149 150 151 157 158 159 160 3.5 3.6"},D:{"59":0.00465,"98":0.01394,"104":0.00465,"105":0.00465,"106":0.00465,"108":0.00465,"109":0.01858,"111":0.01858,"112":0.00465,"116":0.00465,"118":0.1858,"119":0.00929,"120":0.05574,"122":0.02323,"124":0.0511,"125":0.00465,"126":0.00929,"127":0.00465,"131":0.0511,"133":0.02787,"134":0.17651,"135":0.06039,"136":0.01858,"137":0.04645,"138":0.12542,"139":0.04181,"140":0.12077,"141":0.0929,"142":0.32051,"143":0.144,"144":0.01858,"145":0.03252,"146":0.01858,"147":0.01394,"148":0.07432,"149":0.51095,"150":1.00797,"151":4.14334,"152":10.32584,"153":5.2953,"154":0.66888,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 107 110 113 114 115 117 121 123 128 129 130 132 155 156 157"},F:{"101":0.00465,"133":0.00465,"134":0.16258,"135":0.48773,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 131 132 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00465,"92":0.03252,"109":0.00465,"112":0.00465,"117":0.00465,"119":0.01858,"120":0.01858,"121":0.01858,"122":0.01858,"127":0.00465,"128":0.01858,"131":0.00465,"134":0.00465,"136":0.02787,"137":0.06039,"139":0.00929,"140":0.00465,"141":0.00929,"144":0.06503,"145":0.04645,"146":0.32051,"147":0.01394,"148":0.00465,"149":0.29728,"150":0.05574,"151":0.73391,"152":3.51627,"153":5.84341,"154":0.98474,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 113 114 115 116 118 123 124 125 126 129 130 132 133 135 138 142 143"},E:{"13":0.00465,"27":0.00465,_:"4 5 6 7 8 9 10 11 12 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.2 16.3 17.2 17.3 17.4 17.6 18.0 18.2 18.4 18.5-18.7 26.1 27.1 27.2 TP","13.1":0.04181,"14.1":0.00465,"16.1":0.00465,"16.4":0.02323,"16.5":0.00929,"16.6":0.05574,"17.0":0.00465,"17.1":0.16258,"17.5":0.01858,"18.1":0.00465,"18.3":0.03252,"26.0":0.00929,"26.2":0.00465,"26.3":0.00929,"26.4":0.12542,"26.5":0.07897,"26.6":0.26477},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00073,"5.0-5.1":0.00073,"6.0-6.1":0,"7.0-7.1":0.00145,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.00726,"11.0-11.2":0.00073,"11.3-11.4":0.00145,"12.0-12.1":0,"12.2-12.5":0.01888,"13.0-13.1":0,"13.2":0.00363,"13.3":0,"13.4-13.7":0.00073,"14.0-14.4":0.0029,"14.5-14.8":0.00436,"15.0-15.1":0.00436,"15.2-15.3":0.0029,"15.4":0.00363,"15.5":0.00436,"15.6-15.8":0.09438,"16.0":0.00726,"16.1":0.01307,"16.2":0.00726,"16.3":0.01597,"16.4":0.00363,"16.5":0.00581,"16.6-16.7":0.13141,"17.0":0.00508,"17.1":0.00726,"17.2":0.00726,"17.3":0.01089,"17.4":0.01525,"17.5":0.02977,"17.6-17.7":0.07696,"18.0":0.01597,"18.1":0.03194,"18.2":0.04356,"18.3":0.0755,"18.4":0.04719,"18.5-18.7":0.97502,"26.0":0.04719,"26.1":0.04792,"26.2":0.12487,"26.3":0.13504,"26.4":0.09874,"26.5":0.66139,"26.6":4.08086,"27.0":0.31291,"27.1":0,"27.2":0.00799},P:{"4":0.00925,"24":0.01849,"25":0.04623,"27":0.00925,"28":0.45302,"29":0.31434,"30":2.44999,_:"20 21 22 23 26 5.0-5.4 6.2-6.4 8.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","7.2-7.4":0.14792,"9.2":0.00925,"19.0":0.02774},I:{"0":0.0107,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{"0":0.10173,_:"10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},N:{_:"10 11"},L:{"0":45.31357},R:{_:"0"},M:{"0":0.99049},Q:{_:"14.9"},O:{"0":0.03748},H:{all:0}};
@@ -0,0 +1 @@
{"version":3,"names":["_removed","require","_optionAssertions","_configError","ROOT_VALIDATORS","cwd","assertString","root","rootMode","assertRootMode","configFile","assertConfigFileSearch","caller","assertCallerMetadata","filename","filenameRelative","code","assertBoolean","ast","cloneInputAst","envName","BABELRC_VALIDATORS","babelrc","babelrcRoots","assertBabelrcSearch","NONPRESET_VALIDATORS","extends","ignore","assertIgnoreList","only","targets","assertTargets","browserslistConfigFile","browserslistEnv","COMMON_VALIDATORS","inputSourceMap","assertInputSourceMap","presets","assertPluginList","plugins","passPerPreset","assumptions","assertAssumptions","env","assertEnvSet","overrides","assertOverridesList","test","assertConfigApplicableTest","include","exclude","retainLines","comments","shouldPrintComment","assertFunction","compact","assertCompact","minified","auxiliaryCommentBefore","auxiliaryCommentAfter","sourceType","assertSourceType","wrapPluginVisitorMethod","highlightCode","sourceMaps","assertSourceMaps","sourceMap","sourceFileName","sourceRoot","parserOpts","assertObject","generatorOpts","Object","assign","getModuleId","moduleRoot","moduleIds","moduleId","knownAssumptions","assumptionsNames","exports","Set","getSource","loc","type","source","parent","validate","opts","validateNested","error","configError","ConfigError","message","assertNoDuplicateSourcemap","keys","forEach","key","optLoc","name","Error","msg","validator","throwUnknownError","removed","version","unknownOptErr","hasOwnProperty","call","value","obj","access","envLoc","arr","assertArray","index","item","entries","objLoc","overridesLoc","checkNoUnwrappedItemOptionPairs","items","e","lastItem","thisItem","file","options","undefined","request","JSON","stringify"],"sources":["../../../src/config/validation/options.ts"],"sourcesContent":["import type { InputTargets, Targets } from \"@babel/helper-compilation-targets\";\n\nimport type { ConfigItem } from \"../item.ts\";\n\nimport removed from \"./removed.ts\";\nimport {\n msg,\n access,\n assertString,\n assertBoolean,\n assertObject,\n assertArray,\n assertCallerMetadata,\n assertInputSourceMap,\n assertIgnoreList,\n assertPluginList,\n assertConfigApplicableTest,\n assertConfigFileSearch,\n assertBabelrcSearch,\n assertFunction,\n assertRootMode,\n assertSourceMaps,\n assertCompact,\n assertSourceType,\n assertTargets,\n assertAssumptions,\n} from \"./option-assertions.ts\";\nimport type {\n ValidatorSet,\n Validator,\n OptionPath,\n} from \"./option-assertions.ts\";\nimport type { UnloadedDescriptor } from \"../config-descriptors.ts\";\nimport type { PluginAPI } from \"../helpers/config-api.ts\";\nimport type { ParserOptions } from \"@babel/parser\";\nimport type { GeneratorOptions } from \"@babel/generator\";\nimport type { VisitWrapper } from \"@babel/traverse\";\nimport ConfigError from \"../../errors/config-error.ts\";\nimport type { PluginObject } from \"./plugins.ts\";\nimport type Plugin from \"../plugin.ts\";\nimport type { PresetAPI } from \"../index.ts\";\nimport type { PresetObject } from \"../../index.ts\";\n\nconst ROOT_VALIDATORS: ValidatorSet = {\n cwd: assertString as Validator<InputOptions[\"cwd\"]>,\n root: assertString as Validator<InputOptions[\"root\"]>,\n rootMode: assertRootMode as Validator<InputOptions[\"rootMode\"]>,\n configFile: assertConfigFileSearch as Validator<InputOptions[\"configFile\"]>,\n\n caller: assertCallerMetadata as Validator<InputOptions[\"caller\"]>,\n filename: assertString as Validator<InputOptions[\"filename\"]>,\n filenameRelative: assertString as Validator<InputOptions[\"filenameRelative\"]>,\n code: assertBoolean as Validator<InputOptions[\"code\"]>,\n ast: assertBoolean as Validator<InputOptions[\"ast\"]>,\n\n cloneInputAst: assertBoolean as Validator<InputOptions[\"cloneInputAst\"]>,\n\n envName: assertString as Validator<InputOptions[\"envName\"]>,\n};\n\nconst BABELRC_VALIDATORS: ValidatorSet = {\n babelrc: assertBoolean as Validator<InputOptions[\"babelrc\"]>,\n babelrcRoots: assertBabelrcSearch as Validator<InputOptions[\"babelrcRoots\"]>,\n};\n\nconst NONPRESET_VALIDATORS: ValidatorSet = {\n extends: assertString as Validator<InputOptions[\"extends\"]>,\n ignore: assertIgnoreList as Validator<InputOptions[\"ignore\"]>,\n only: assertIgnoreList as Validator<InputOptions[\"only\"]>,\n\n targets: assertTargets as Validator<InputOptions[\"targets\"]>,\n browserslistConfigFile: assertConfigFileSearch as Validator<\n InputOptions[\"browserslistConfigFile\"]\n >,\n browserslistEnv: assertString as Validator<InputOptions[\"browserslistEnv\"]>,\n};\n\nconst COMMON_VALIDATORS: ValidatorSet = {\n // TODO: Should 'inputSourceMap' be moved to be a root-only option?\n // We may want a boolean-only version to be a common option, with the\n // object only allowed as a root config argument.\n inputSourceMap: assertInputSourceMap as Validator<\n InputOptions[\"inputSourceMap\"]\n >,\n presets: asLine truncated
@@ -0,0 +1,67 @@
import { expect, expectTypeOf, test } from "vitest";
import { type ZodCustomStringFormat, hash } from "zod"; // adjust path as needed
test("hash() API — types and runtime across all alg/enc combinations", async () => {
const { createHash } = await import("node:crypto");
type Alg = "md5" | "sha1" | "sha256" | "sha384" | "sha512";
// type Enc = "hex" | "base64" | "base64url";
const toB64Url = (b64: string) => b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
const makeDigests = (alg: Alg, input: string) => {
const buf = createHash(alg).update(input).digest();
const hex = buf.toString("hex");
const base64 = buf.toString("base64");
const base64url = toB64Url(base64);
return { hex, base64, base64url };
};
const algs: ReadonlyArray<Alg> = ["md5", "sha1", "sha256", "sha384", "sha512"];
const input = "zodasklfjaasdf";
// --- Type-level checks (ensure the literal format string is encoded in the return type)
expectTypeOf(hash("md5")).toEqualTypeOf<ZodCustomStringFormat<"md5_hex">>();
expectTypeOf(hash("sha1")).toEqualTypeOf<ZodCustomStringFormat<"sha1_hex">>();
expectTypeOf(hash("sha256", { enc: "base64" as const })).toEqualTypeOf<ZodCustomStringFormat<"sha256_base64">>();
expectTypeOf(hash("sha384", { enc: "base64url" as const })).toEqualTypeOf<
ZodCustomStringFormat<"sha384_base64url">
>();
// Test generic format types are correctly inferred and Enc defaults to "hex"
expectTypeOf(hash("sha256")).toEqualTypeOf<ZodCustomStringFormat<"sha256_hex">>();
// --- Runtime matrix (success + a few sharp-edged failures per combo)
for (const alg of algs) {
const { hex, base64, base64url } = makeDigests(alg, input);
// Success cases
expect(hash(alg).parse(hex)).toBe(hex); // default enc=hex
expect(hash(alg, { enc: "hex" }).parse(hex)).toBe(hex);
expect(hash(alg, { enc: "base64" }).parse(base64)).toBe(base64);
expect(hash(alg, { enc: "base64url" }).parse(base64url)).toBe(base64url);
// Failure cases (wrong encoding to schema)
expect(() => hash(alg, { enc: "hex" }).parse(base64)).toThrow();
expect(() => hash(alg, { enc: "base64" }).parse(hex)).toThrow();
expect(() => hash(alg, { enc: "base64url" }).parse(base64)).toThrow();
// Encoding-specific failures hex: uppercase allowed, wrong length should fail
hash(alg, { enc: "hex" }).parse(hex.toUpperCase());
expect(() => hash(alg, { enc: "hex" }).parse(hex.slice(0, -1))).toThrow();
// base64: missing required padding should fail (only for algorithms that require padding)
if (base64.includes("=")) {
const base64NoPad = base64.replace(/=+$/g, "");
expect(() => hash(alg, { enc: "base64" }).parse(base64NoPad)).toThrow();
}
// base64url: adding padding or using invalid characters should fail
expect(() => hash(alg, { enc: "base64url" }).parse(base64url + "=")).toThrow();
expect(() => hash(alg, { enc: "base64url" }).parse(base64url + "!")).toThrow();
// Param object present but enc omitted should still default to hex at runtime
const schemaWithEmptyParams = hash(alg, {} as any);
expect(schemaWithEmptyParams.parse(hex)).toBe(hex);
}
});
@@ -0,0 +1,75 @@
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABILITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/// <reference lib="es2015.iterable" />
interface Generator<T = unknown, TReturn = any, TNext = any> extends IteratorObject<T, TReturn, TNext> {
// NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.
next(...[value]: [] | [TNext]): IteratorResult<T, TReturn>;
return(value: TReturn): IteratorResult<T, TReturn>;
throw(e: any): IteratorResult<T, TReturn>;
[Symbol.iterator](): Generator<T, TReturn, TNext>;
}
interface GeneratorFunction {
/**
* Creates a new Generator object.
* @param args A list of arguments the function accepts.
*/
new (...args: any[]): Generator;
/**
* Creates a new Generator object.
* @param args A list of arguments the function accepts.
*/
(...args: any[]): Generator;
/**
* The length of the arguments.
*/
readonly length: number;
/**
* Returns the name of the function.
*/
readonly name: string;
/**
* A reference to the prototype.
*/
readonly prototype: Generator;
}
interface GeneratorFunctionConstructor {
/**
* Creates a new Generator function.
* @param args A list of arguments the function accepts.
*/
new (...args: string[]): GeneratorFunction;
/**
* Creates a new Generator function.
* @param args A list of arguments the function accepts.
*/
(...args: string[]): GeneratorFunction;
/**
* The length of the arguments.
*/
readonly length: number;
/**
* Returns the name of the function.
*/
readonly name: string;
/**
* A reference to the prototype.
*/
readonly prototype: GeneratorFunction;
}
@@ -0,0 +1,34 @@
{
"name": "json-buffer",
"description": "JSON parse & stringify that supports binary via bops & base64",
"version": "3.0.1",
"homepage": "https://github.com/dominictarr/json-buffer",
"repository": {
"type": "git",
"url": "git://github.com/dominictarr/json-buffer.git"
},
"devDependencies": {
"tape": "^4.6.3"
},
"scripts": {
"test": "set -e; for t in test/*.js; do node $t; done"
},
"author": "Dominic Tarr <dominic.tarr@gmail.com> (http://dominictarr.com)",
"license": "MIT",
"testling": {
"files": "test/*.js",
"browsers": [
"ie/8..latest",
"firefox/17..latest",
"firefox/nightly",
"chrome/22..latest",
"chrome/canary",
"opera/12..latest",
"opera/next",
"safari/5.1..latest",
"ipad/6.0..latest",
"iphone/6.0..latest",
"android-browser/4.2..latest"
]
}
}
@@ -0,0 +1,560 @@
import { warnOnce, secondsToMilliseconds, isNumericalString, isZeroValueString, SubscriptionManager } from 'motion-utils';
import { KeyframeResolver } from '../animation/keyframes/KeyframesResolver.mjs';
import { NativeAnimation } from '../animation/NativeAnimation.mjs';
import { acceleratedValues } from '../animation/waapi/utils/accelerated-values.mjs';
import { microtask } from '../frameloop/microtask.mjs';
import { time } from '../frameloop/sync-time.mjs';
import { createBox } from '../projection/geometry/models.mjs';
import { motionValue } from '../value/index.mjs';
import { complex } from '../value/types/complex/index.mjs';
import { getAnimatableNone } from '../value/types/utils/animatable-none.mjs';
import { findValueType } from '../value/types/utils/find.mjs';
import { isMotionValue } from '../value/utils/is-motion-value.mjs';
import { visualElementStore } from './store.mjs';
import { isControllingVariants, isVariantNode } from './utils/is-controlling-variants.mjs';
import { transformProps } from './utils/keys-transform.mjs';
import { updateMotionValuesFromProps } from './utils/motion-values.mjs';
import { initPrefersReducedMotion } from './utils/reduced-motion/index.mjs';
import { resolveVariantFromProps } from './utils/resolve-variants.mjs';
import { hasReducedMotionListener, prefersReducedMotion } from './utils/reduced-motion/state.mjs';
import { frame, cancelFrame } from '../frameloop/frame.mjs';
const propEventHandlers = [
"AnimationStart",
"AnimationComplete",
"Update",
"BeforeLayoutMeasure",
"LayoutMeasure",
"LayoutAnimationStart",
"LayoutAnimationComplete",
];
/**
* Static feature definitions - can be injected by framework layer
*/
let featureDefinitions = {};
/**
* Set feature definitions for all VisualElements.
* This should be called by the framework layer (e.g., framer-motion) during initialization.
*/
function setFeatureDefinitions(definitions) {
featureDefinitions = definitions;
}
/**
* Get the current feature definitions
*/
function getFeatureDefinitions() {
return featureDefinitions;
}
/**
* A VisualElement is an imperative abstraction around UI elements such as
* HTMLElement, SVGElement, Three.Object3D etc.
*/
class VisualElement {
/**
* This method takes React props and returns found MotionValues. For example, HTML
* MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.
*
* This isn't an abstract method as it needs calling in the constructor, but it is
* intended to be one.
*/
scrapeMotionValuesFromProps(_props, _prevProps, _visualElement) {
return {};
}
constructor({ parent, props, presenceContext, reducedMotionConfig, skipAnimations, blockInitialAnimation, visualState, }, options = {}) {
/**
* A reference to the current underlying Instance, e.g. a HTMLElement
* or Three.Mesh etc.
*/
this.current = null;
/**
* A set containing references to this VisualElement's children.
*/
this.children = new Set();
/**
* Determine what role this visual element should take in the variant tree.
*/
this.isVariantNode = false;
this.isControllingVariants = false;
/**
* Decides whether this VisualElement should animate in reduced motion
* mode.
*
* TODO: This is currently set on every individual VisualElement but feels
* like it could be set globally.
*/
this.shouldReduceMotion = null;
/**
* Decides whether animations should be skipped for this VisualElement.
* Useful for E2E tests and visual regression testing.
*/
this.shouldSkipAnimations = false;
/**
* A map of all motion values attached to this visual element. Motion
* values are source of truth for any given animated value. A motion
* value might be provided externally by the component via props.
*/
this.values = new Map();
this.KeyframeResolver = KeyframeResolver;
/**
* Cleanup functions for active features (hover/tap/exit etc)
*/
this.features = {};
/**
* A map of every subscription that binds the provided or generated
* motion values onChange listeners to this visual element.
*/
this.valueSubscriptions = new Map();
/**
* A reference to the previously-provided motion values as returned
* from scrapeMotionValuesFromProps. We use the keys in here to determine
* if any motion values need to be removed after props are updated.
*/
this.prevMotionValues = {};
/**
* Track whether this element has been mounted before, to detect
* remounts after Suspense unmount/remount cycles.
*/
this.hasBeenMounted = false;
/**
* An object containing a SubscriptionManager for each active event.
*/
this.events = {};
/**
* An object containing an unsubscribe function for each prop event subscription.
* For example, every "Update" event can have multiple subscribers via
* VisualElement.on(), but only one of those can be defined via the onUpdate prop.
*/
this.propEventSubscriptions = {};
this.notifyUpdate = () => this.notify("Update", this.latestValues);
this.render = () => {
if (!this.current)
return;
this.triggerBuild();
this.renderInstance(this.current, this.renderState, this.props.style, this.projection);
};
this.renderScheduledAt = 0.0;
this.scheduleRender = () => {
const now = time.now();
if (this.renderScheduledAt < now) {
this.renderScheduledAt = now;
frame.render(this.render, false, true);
}
};
const { latestValues, renderState } = visualState;
this.latestValues = latestValues;
this.baseTarget = { ...latestValues };
this.initialValues = props.initial ? { ...latestValues } : {};
this.renderState = renderState;
this.parent = parent;
this.props = props;
this.presenceContext = presenceContext;
this.depth = parent ? parent.depth + 1 : 0;
this.reducedMotionConfig = reducedMotionConfig;
this.skipAnimationsConfig = skipAnimations;
this.options = options;
this.blockInitialAnimation = Boolean(blockInitialAnimation);
this.isControllingVariants = isControllingVariants(props);
this.isVariantNode = isVariantNode(props);
if (this.isVariantNode) {
this.variantChildren = new Set();
}
this.manuallyAnimateOnMount = Boolean(parent && parent.current);
/**
* Any motion values that are provided to the element when created
* aren't yet bound to the element, as this would technically be impure.
* However, we iterate through the motion values and set them to the
* initial values for this component.
*
* TODO: This is impure and we should look at changing this to run on mount.
* Doing so will break some tests but this isn't necessarily a breaking change,
* more a reflection of the test.
*/
const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this);
for (const key in initialMotionValues) {
const value = initialMotionValues[key];
if (latestValues[key] !== undefined && isMotionValue(value)) {
value.set(latestValues[key]);
}
}
}
mount(instance) {
/**
* If this element has been mounted before (e.g. after a Suspense
* unmount/remount), reset motion values to their initial state
* so animations replay correctly from initial → animate.
*/
if (this.hasBeenMounted) {
for (const key in this.initialValues) {
this.values.get(key)?.jump(this.initialValues[key]);
this.latestValues[key] = this.initialValues[key];
}
}
this.current = instance;
visualElementStore.set(instance, this);
if (this.projection && !this.projection.instance) {
this.projection.mount(instance);
}
if (this.parent && this.isVariantNode && !this.isControllingVariants) {
this.removeFromVariantTree = this.parent.addVariantChild(this);
}
this.values.forEach((value, key) => this.bindToMotionValue(key, value));
/**
* Determine reduced motion preference. Only initialize the matchMedia
* listener if we actually need the dynamic value (i.e., when config
* is neither "never" nor "always").
*/
if (this.reducedMotionConfig === "never") {
this.shouldReduceMotion = false;
}
else if (this.reducedMotionConfig === "always") {
this.shouldReduceMotion = true;
}
else {
if (!hasReducedMotionListener.current) {
initPrefersReducedMotion();
}
this.shouldReduceMotion = prefersReducedMotion.current;
}
if (process.env.NODE_ENV !== "production") {
warnOnce(this.shouldReduceMotion !== true, "You have Reduced Motion enabled on your device. Animations may not appear as expected.", "reduced-motion-disabled");
}
/**
* Set whether animations should be skipped based on the config.
*/
this.shouldSkipAnimations = this.skipAnimationsConfig ?? false;
this.parent?.addChild(this);
this.update(this.props, this.presenceContext);
this.hasBeenMounted = true;
}
unmount() {
this.projection && this.projection.unmount();
cancelFrame(this.notifyUpdate);
cancelFrame(this.render);
this.valueSubscriptions.forEach((remove) => remove());
this.valueSubscriptions.clear();
this.removeFromVariantTree && this.removeFromVariantTree();
this.parent?.removeChild(this);
for (const key in this.events) {
this.events[key].clear();
}
for (const key in this.features) {
const feature = this.features[key];
if (feature) {
feature.unmount();
feature.isMounted = false;
}
}
this.current = null;
}
addChild(child) {
this.children.add(child);
this.enteringChildren ?? (this.enteringChildren = new Set());
this.enteringChildren.add(child);
}
removeChild(child) {
this.children.delete(child);
this.enteringChildren && this.enteringChildren.delete(child);
}
bindToMotionValue(key, value) {
if (this.valueSubscriptions.has(key)) {
this.valueSubscriptions.get(key)();
}
if (value.accelerate &&
acceleratedValues.has(key) &&
this.current instanceof HTMLElement) {
const { factory, keyframes, times, ease, duration } = value.accelerate;
const animation = new NativeAnimation({
element: this.current,
name: key,
keyframes,
times,
ease,
duration: secondsToMilliseconds(duration),
});
const cleanup = factory(animation);
this.valueSubscriptions.set(key, () => {
cleanup();
animation.cancel();
});
return;
}
const valueIsTransform = transformProps.has(key);
if (valueIsTransform && this.onBindTransform) {
this.onBindTransform();
}
const removeOnChange = value.on("change", (latestValue) => {
this.latestValues[key] = latestValue;
this.props.onUpdate && frame.preRender(this.notifyUpdate);
if (valueIsTransform && this.projection) {
this.projection.isTransformDirty = true;
}
this.scheduleRender();
});
let removeSyncCheck;
if (typeof window !== "undefined" &&
window.MotionCheckAppearSync) {
removeSyncCheck = window.MotionCheckAppearSync(this, key, value);
}
this.valueSubscriptions.set(key, () => {
removeOnChange();
if (removeSyncCheck)
removeSyncCheck();
if (value.owner)
value.stop();
});
}
sortNodePosition(other) {
/**
* If these nodes aren't even of the same type we can't compare their depth.
*/
if (!this.current ||
!this.sortInstanceNodePosition ||
this.type !== other.type) {
return 0;
}
return this.sortInstanceNodePosition(this.current, other.current);
}
updateFeatures() {
let key = "animation";
for (key in featureDefinitions) {
const featureDefinition = featureDefinitions[key];
if (!featureDefinition)
continue;
const { isEnabled, Feature: FeatureConstructor } = featureDefinition;
/**
* If this feature is enabled but not active, make a new instance.
*/
if (!this.features[key] &&
FeatureConstructor &&
isEnabled(this.props)) {
this.features[key] = new FeatureConstructor(this);
}
/**
* If we have a feature, mount or update it.
*/
if (this.features[key]) {
const feature = this.features[key];
if (feature.isMounted) {
feature.update();
}
else {
feature.mount();
feature.isMounted = true;
}
}
}
}
triggerBuild() {
this.build(this.renderState, this.latestValues, this.props);
}
/**
* Measure the current viewport box with or without transforms.
* Only measures axis-aligned boxes, rotate and skew must be manually
* removed with a re-render to work.
*/
measureViewportBox() {
return this.current
? this.measureInstanceViewportBox(this.current, this.props)
: createBox();
}
getStaticValue(key) {
return this.latestValues[key];
}
setStaticValue(key, value) {
this.latestValues[key] = value;
}
/**
* Update the provided props. Ensure any newly-added motion values are
* added to our map, old ones removed, and listeners updated.
*/
update(props, presenceContext) {
if (props.transformTemplate || this.props.transformTemplate) {
this.scheduleRender();
}
this.prevProps = this.props;
this.props = props;
this.prevPresenceContext = this.presenceContext;
this.presenceContext = presenceContext;
/**
* Update prop event handlers ie onAnimationStart, onAnimationComplete
*/
for (let i = 0; i < propEventHandlers.length; i++) {
const key = propEventHandlers[i];
if (this.propEventSubscriptions[key]) {
this.propEventSubscriptions[key]();
delete this.propEventSubscriptions[key];
}
const listenerName = ("on" + key);
const listener = props[listenerName];
if (listener) {
this.propEventSubscriptions[key] = this.on(key, listener);
}
}
this.prevMotionValues = updateMotionValuesFromProps(this, this.scrapeMotionValuesFromProps(props, this.prevProps || {}, this), this.prevMotionValues);
if (this.handleChildMotionValue) {
this.handleChildMotionValue();
}
}
getProps() {
return this.props;
}
/**
* Returns the variant definition with a given name.
*/
getVariant(name) {
return this.props.variants ? this.props.variants[name] : undefined;
}
/**
* Returns the defined default transition on this component.
*/
getDefaultTransition() {
return this.props.transition;
}
getTransformPagePoint() {
return this.props.transformPagePoint;
}
getClosestVariantNode() {
return this.isVariantNode
? this
: this.parent
? this.parent.getClosestVariantNode()
: undefined;
}
/**
* Add a child visual element to our set of children.
*/
addVariantChild(child) {
const closestVariantNode = this.getClosestVariantNode();
if (closestVariantNode) {
closestVariantNode.variantChildren &&
closestVariantNode.variantChildren.add(child);
return () => closestVariantNode.variantChildren.delete(child);
}
}
/**
* Add a motion value and bind it to this visual element.
*/
addValue(key, value) {
// Remove existing value if it exists
const existingValue = this.values.get(key);
if (value !== existingValue) {
if (existingValue)
this.removeValue(key);
this.bindToMotionValue(key, value);
this.values.set(key, value);
this.latestValues[key] = value.get();
}
}
/**
* Remove a motion value and unbind any active subscriptions.
*/
removeValue(key) {
this.values.delete(key);
const unsubscribe = this.valueSubscriptions.get(key);
if (unsubscribe) {
unsubscribe();
this.valueSubscriptions.delete(key);
}
delete this.latestValues[key];
this.removeValueFromRenderState(key, this.renderState);
}
/**
* Check whether we have a motion value for this key
*/
hasValue(key) {
return this.values.has(key);
}
getValue(key, defaultValue) {
if (this.props.values && this.props.values[key]) {
return this.props.values[key];
}
let value = this.values.get(key);
if (value === undefined && defaultValue !== undefined) {
value = motionValue(defaultValue === null ? undefined : defaultValue, { owner: this });
this.addValue(key, value);
}
return value;
}
/**
* If we're trying to animate to a previously unencountered value,
* we need to check for it in our state and as a last resort read it
* directly from the instance (which might have performance implications).
*/
readValue(key, target) {
let value = this.latestValues[key] !== undefined || !this.current
? this.latestValues[key]
: this.getBaseTargetFromProps(this.props, key) ??
this.readValueFromInstance(this.current, key, this.options);
if (value !== undefined && value !== null) {
if (typeof value === "string" &&
(isNumericalString(value) || isZeroValueString(value))) {
// If this is a number read as a string, ie "0" or "200", convert it to a number
value = parseFloat(value);
}
else if (!findValueType(value) && complex.test(target)) {
value = getAnimatableNone(key, target);
}
this.setBaseTarget(key, isMotionValue(value) ? value.get() : value);
}
return isMotionValue(value) ? value.get() : value;
}
/**
* Set the base target to later animate back to. This is currently
* only hydrated on creation and when we first read a value.
*/
setBaseTarget(key, value) {
this.baseTarget[key] = value;
}
/**
* Find the base target for a value thats been removed from all animation
* props.
*/
getBaseTarget(key) {
const { initial } = this.props;
let valueFromInitial;
if (typeof initial === "string" || typeof initial === "object") {
const variant = resolveVariantFromProps(this.props, initial, this.presenceContext?.custom);
if (variant) {
valueFromInitial = variant[key];
}
}
/**
* If this value still exists in the current initial variant, read that.
*/
if (initial && valueFromInitial !== undefined) {
return valueFromInitial;
}
/**
* Alternatively, if this VisualElement config has defined a getBaseTarget
* so we can read the value from an alternative source, try that.
*/
const target = this.getBaseTargetFromProps(this.props, key);
if (target !== undefined && !isMotionValue(target))
return target;
/**
* If the value was initially defined on initial, but it doesn't any more,
* return undefined. Otherwise return the value as initially read from the DOM.
*/
return this.initialValues[key] !== undefined &&
valueFromInitial === undefined
? undefined
: this.baseTarget[key];
}
on(eventName, callback) {
if (!this.events[eventName]) {
this.events[eventName] = new SubscriptionManager();
}
return this.events[eventName].add(callback);
}
notify(eventName, ...args) {
if (this.events[eventName]) {
this.events[eventName].notify(...args);
}
}
scheduleRenderMicrotask() {
microtask.render(this.render);
}
}
export { VisualElement, getFeatureDefinitions, setFeatureDefinitions };
//# sourceMappingURL=VisualElement.mjs.map
@@ -0,0 +1,50 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */
/**
* @template T
* @template Z
* @callback Iterator
* @param {T} item item
* @param {(err?: null | Error, result?: null | Z) => void} callback callback
* @param {number} i index
* @returns {void}
*/
/**
* @template T
* @template Z
* @param {T[]} array array
* @param {Iterator<T, Z>} iterator iterator
* @param {(err?: null | Error, result?: null | Z, i?: number) => void} callback callback after all items are iterated
* @returns {void}
*/
module.exports = function forEachBail(array, iterator, callback) {
if (array.length === 0) return callback();
let i = 0;
const next = () => {
/** @type {boolean | undefined} */
let loop;
iterator(
array[i++],
(err, result) => {
if (err || result !== undefined || i >= array.length) {
return callback(err, result, i);
}
if (loop === false) while (next());
loop = true;
},
i,
);
if (!loop) loop = false;
return loop;
};
while (next());
};
@@ -0,0 +1,6 @@
'use strict'
module.exports = require('neostandard')({
// gyp/ is vendored from gyp-next and follows its own style
ignores: ['gyp/**']
})
@@ -0,0 +1,64 @@
/**
* @fileoverview Common error classes
* @author Nicholas C. Zakas
*/
/**
* Error thrown when a file or directory is not found.
*/
export class NotFoundError extends Error {
/**
* Creates a new instance.
* @param {string} message The error message.
*/
constructor(message: string);
/**
* Error code.
* @type {string}
*/
code: string;
}
/**
* Error thrown when an operation is not permitted.
*/
export class PermissionError extends Error {
/**
* Creates a new instance.
* @param {string} message The error message.
*/
constructor(message: string);
/**
* Error code.
* @type {string}
*/
code: string;
}
/**
* Error thrown when an operation is not allowed on a directory.
*/
export class DirectoryError extends Error {
/**
* Creates a new instance.
* @param {string} message The error message.
*/
constructor(message: string);
/**
* Error code.
* @type {string}
*/
code: string;
}
/**
* Error thrown when a directory is not empty.
*/
export class NotEmptyError extends Error {
/**
* Creates a new instance.
* @param {string} message The error message.
*/
constructor(message: string);
/**
* Error code.
* @type {string}
*/
code: string;
}
@@ -0,0 +1,5 @@
import { ResolveHook } from 'node:module';
declare let resolve: ResolveHook;
export { resolve };
@@ -0,0 +1,11 @@
var test = require('tape');
var stringify = require('../');
test('custom comparison function', function (t) {
t.plan(1);
var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 };
var s = stringify(obj, function (a, b) {
return a.key < b.key ? 1 : -1;
});
t.equal(s, '{"c":8,"b":[{"z":6,"y":5,"x":4},7],"a":3}');
});
@@ -0,0 +1,61 @@
/**
* @fileoverview Define the cursor which iterates tokens and comments in reverse.
* @author Toru Nagashima
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const Cursor = require("./cursor");
const utils = require("./utils");
//------------------------------------------------------------------------------
// Exports
//------------------------------------------------------------------------------
/**
* The cursor which iterates tokens and comments in reverse.
*/
module.exports = class BackwardTokenCommentCursor extends Cursor {
/**
* Initializes this cursor.
* @param {Token[]} tokens The array of tokens.
* @param {Comment[]} comments The array of comments.
* @param {Object} indexMap The map from locations to indices in `tokens`.
* @param {number} startLoc The start location of the iteration range.
* @param {number} endLoc The end location of the iteration range.
*/
constructor(tokens, comments, indexMap, startLoc, endLoc) {
super();
this.tokens = tokens;
this.comments = comments;
this.tokenIndex = utils.getLastIndex(tokens, indexMap, endLoc);
this.commentIndex = utils.search(comments, endLoc) - 1;
this.border = startLoc;
}
/** @inheritdoc */
moveNext() {
const token =
this.tokenIndex >= 0 ? this.tokens[this.tokenIndex] : null;
const comment =
this.commentIndex >= 0 ? this.comments[this.commentIndex] : null;
if (token && (!comment || token.range[1] > comment.range[1])) {
this.current = token;
this.tokenIndex -= 1;
} else if (comment) {
this.current = comment;
this.commentIndex -= 1;
} else {
this.current = null;
}
return (
Boolean(this.current) &&
(this.border === -1 || this.current.range[0] >= this.border)
);
}
};
@@ -0,0 +1,35 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const Soup = createLucideIcon("Soup", [
["path", { d: "M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z", key: "4rw317" }],
["path", { d: "M7 21h10", key: "1b0cd5" }],
["path", { d: "M19.5 12 22 6", key: "shfsr5" }],
[
"path",
{
d: "M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62",
key: "rpc6vp"
}
],
[
"path",
{
d: "M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62",
key: "1lf63m"
}
],
[
"path",
{ d: "M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62", key: "97tijn" }
]
]);
export { Soup as default };
//# sourceMappingURL=soup.js.map
@@ -0,0 +1,278 @@
# `ast-v8-to-istanbul`
[![Version][version-badge]][npm-url]
[![Downloads][downloads-url]][npm-url]
> - Speed of V8 coverage 🏎
> - Accuracy of Istanbul coverage 🔍
[Ignoring code](#ignoring-code) | [Source maps](#source-maps) | [Istanbul Compatibility](#istanbul-compatibility) | [Limitations](#limitations)
---
AST-aware [`v8-to-istanbul`](https://www.npmjs.com/package/v8-to-istanbul).
Unopinionated - _bring-your-own_ AST parser and source maps.
Passes all 195 tests<sup>[*](#istanbul-compatibility)</sup> of [`istanbul-lib-instrument`](https://github.com/istanbuljs/istanbuljs/tree/main/packages/istanbul-lib-instrument/test/specs). ✅
Test cases run against:
- `vite/parseAst` ✅
- `acorn` ✅
- `oxc-parser` ✅
- `@babel/parser` ✅
See example report at https://ariperkkio.github.io/ast-v8-to-istanbul.
```ts
import { convert } from "ast-v8-to-istanbul";
import { parseAstAsync } from "vite";
import type { CoverageMapData } from "istanbul-lib-coverage";
const data: CoverageMapData = await convert({
// Bring-your-own AST parser
ast: parseAstAsync(<code>),
// Code of the executed file (not the source file)
code: "function sum(a, b) {\n return a + b ...",
// Execution wrapper offset
wrapperLength: 0,
// Script coverage of the executed file
coverage: {
scriptId: "123",
url: "file:///absolute/path/to/dist/index.js",
functions: [
{
functionName: "sum",
ranges: [{ startOffset: 223, endOffset: 261, count: 0 }],
isBlockCoverage: false,
},
// ... etc
],
},
// Source map of the executed file
sourceMap: {
version: 3,
sources: ["../sources.ts"],
sourcesContent: ["export function sum(a: number, b: number) {\n..."],
mappings: ";AAAO,SAAS,...",
names: [],
},
});
```
## Ignoring code
### Ignoring source code
#### Ignore hints
See live example at https://ariperkkio.github.io/ast-v8-to-istanbul/ignore-examples.html.
The typical ignore hints from `nyc` are supported: https://github.com/istanbuljs/nyc?tab=readme-ov-file#parsing-hints-ignoring-lines:
> * `/* istanbul ignore if */`: ignore the next if statement.
> * `/* istanbul ignore else */`: ignore the else portion of an if statement.
> * `/* istanbul ignore next */`: ignore the next _thing_ in the source-code (functions, if statements, classes, you name it).
> * `/* istanbul ignore file */`: ignore an entire source-file (this should be placed at the top of the file).
In addition to `istanbul` keyword, you can use `v8`, `c8` and `node:coverage`:
- `/* istanbul ignore if */`
- `/* v8 ignore else */`
- `/* c8 ignore file */`
- `/* node:coverage ignore next */`
Also `start` and `stop` ignore hints from original [`v8-to-istanbul`](https://www.npmjs.com/package/v8-to-istanbul) are supported.
These ignore hints are checked from the original sources instead of transpiled code.
> * `/* v8 ignore start */`: start ignoring lines
> * `/* v8 ignore stop */`: stop ignoring lines
> * `<!-- /* v8 ignore start */ -->`: start ignoring lines
> * `<!-- /* v8 ignore stop */ -->`: stop ignoring lines
> * `anything /* v8 ignore start */ anything`: start ignoring lines
> * `anything /* v8 ignore stop */ anything`: stop ignoring lines
#### Class methods
The `ignore-class-method` from `nyc` is also supported: https://github.com/istanbuljs/nyc?tab=readme-ov-file#ignoring-methods
> You can ignore every instance of a method simply by adding its name to the `ignore-class-method` array in your `nyc` config.
```ts
import { convert } from "ast-v8-to-istanbul";
await convert({
ignoreClassMethods: ['render']
});
```
#### Ignore after remapping
You can ignore source code after coverage results have been remapped back to original sources using `ignoreSourceCode`.
This is a high level API that can be exposed to end-users by tooling developers.
It's mostly intended for excluding code that is incorrectly shown in coverage report when compilers add generated code in the source maps.
Note that as the exclusion happens after remapping, this option is slower than [`ignoreNode`](#ignoring-generated-code) option.
```ts
function ignoreSourceCode(
code: string,
type: "function" | "statement" | "branch",
location: Record<"start" | "end", { line: number; column: number }>,
): boolean | void;
```
```ts
import { convert } from "ast-v8-to-istanbul";
await convert({
ignoreSourceCode: (code, type, location) => {
// Ignore all "noop()" calls
if(type === "function" && code.includes("noop(")) {
return true;
}
// In Vue "<script>" tags generate code that is incorrectly left in source maps - exclude it
if(code === '<script>') {
return true;
}
// Ignore anything above line 5
return location.start.line < 5;
},
});
```
### Ignoring generated code
This API is mostly for developers integrating `ast-v8-to-istanbul` with other tooling.
If your code transform pipeline is adding generated code that's included in the source maps, it will be included in coverage too.
You can exclude these known patterns by defining `ignoreNode` for filtering such nodes.
By returning `"ignore-this-and-nested-nodes"` from the handler, you can ignore all nested nodes too.
This can be useful when you need to ignore everything a certain node wraps, e.g. `IfStatement`.
```ts
function ignoreNode(
node: Node,
type: "branch" | "function" | "statement"
): boolean | "ignore-this-and-nested-nodes" | void;
```
```ts
import { convert } from "ast-v8-to-istanbul";
await convert({
ignoreNode: (node, type) => {
// Ignore all `await __vite_ssr_import__( ... )` calls that Vite SSR transform adds
return (
type === "statement" &&
node.type === "AwaitExpression" &&
node.argument.type === "CallExpression" &&
node.argument.callee.type === "Identifier" &&
node.argument.callee.name === "__vite_ssr_import__"
);
},
});
```
## Source maps
Source maps are optional and supported by various ways:
- Pass directly to `convert` as argument:
```ts
import { convert } from "ast-v8-to-istanbul";
await convert({
sourceMap: {
version: 3,
sources: ["../sources.ts"],
sourcesContent: ["export function sum(a: number, b: number) {\n..."],
mappings: ";AAAO,SAAS,...",
names: [],
}
});
```
- Include base64 encoded inline maps in `code`:
```ts
await convert({
code: `\
function hello() {}
//# sourceMappingURL=data:application/json;base64,eyJzb3VyY2VzIjpbIi9zb21lL...
`
});
```
- Include inline maps with filename in `code`:
```ts
await convert({
code: `\
function hello() {}
//# sourceMappingURL=some-file-on-file-system.js.map
`
});
```
- Don't use source maps at all, and pass original source code in `code`:
```ts
await convert({
code: `function hello() {}`,
sourceMap: undefined,
});
```
## Istanbul Compatibility
This project tests itself against test cases of `istanbul-lib-instrument` and verifies coverage maps are 100% identical. Some cases, like [deprecated `with()` statement](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with) and edge cases of strict mode are skipped, as all tests are run in strict mode.
100% istanbul compatibility guarantees that coverage reports between V8 and Istanbul can be merged together.
<img src="https://github.com/user-attachments/assets/f74f129c-d63a-403e-8091-aefa53f6f97e" width="400" />
## Limitations
The way how V8 reports runtime coverage has some limitations when compared to pre-instrumented coverage:
- Unable to detect uncovered `AssignmentPattern`'s if line is otherwise covered
- https://github.com/nodejs/node/issues/57435
- Unable to detect uncovered parts when block execution stops due to function throwing:
- ```js
function first() {
throws()
// unreachable, but incorrectly covered
return "first";
}
const throws = () => { throw new Error() }
try { first(1) } catch {}
```
- ```json
[
{
"ranges": [{ "startOffset": 0, "endOffset": 165, "count": 1 }],
"isBlockCoverage": true
},
{
"functionName": "first",
"ranges": [{ "startOffset": 0, "endOffset": 92, "count": 1 }],
"isBlockCoverage": true
},
{
"functionName": "throws",
"ranges": [{ "startOffset": 109, "endOffset": 137, "count": 1 }],
"isBlockCoverage": true
}
]
```
[version-badge]: https://img.shields.io/npm/v/ast-v8-to-istanbul
[npm-url]: https://www.npmjs.com/package/ast-v8-to-istanbul
[downloads-url]: https://img.shields.io/npm/dm/ast-v8-to-istanbul
@@ -0,0 +1,29 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const require_middleware_serve_static_index = require("../../middleware/serve-static/index.js");
const require_adapter_cloudflare_workers_utils = require("./utils.js");
//#region src/adapter/cloudflare-workers/serve-static.ts
/**
* @deprecated
* `serveStatic` in the Cloudflare Workers adapter is deprecated.
* You can serve static files directly using Cloudflare Static Assets.
* @see https://developers.cloudflare.com/workers/static-assets/
* Cloudflare Static Assets is currently in open beta. If this doesn't work for you,
* please consider using Cloudflare Pages. You can start to create the Cloudflare Pages
* application with the `npm create hono@latest` command.
*/
const serveStatic = (options = {}) => {
return async function serveStatic(c, next) {
const getContent = async (path) => {
return require_adapter_cloudflare_workers_utils.getContentFromKVAsset(path, {
manifest: options.manifest,
namespace: options.namespace ? options.namespace : c.env ? c.env.__STATIC_CONTENT : void 0
});
};
return require_middleware_serve_static_index.serveStatic({
...options,
getContent
})(c, next);
};
};
//#endregion
exports.serveStatic = serveStatic;
@@ -0,0 +1,28 @@
export const zeroGap = {
left: 0,
top: 0,
right: 0,
gap: 0,
};
const parse = (x) => parseInt(x || '', 10) || 0;
const getOffset = (gapMode) => {
const cs = window.getComputedStyle(document.body);
const left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];
const top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];
const right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];
return [parse(left), parse(top), parse(right)];
};
export const getGapWidth = (gapMode = 'margin') => {
if (typeof window === 'undefined') {
return zeroGap;
}
const offsets = getOffset(gapMode);
const documentWidth = document.documentElement.clientWidth;
const windowWidth = window.innerWidth;
return {
left: offsets[0],
top: offsets[1],
right: offsets[2],
gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),
};
};
@@ -0,0 +1 @@
{"version":3,"file":"panel-left.js","sources":["../../../src/icons/panel-left.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name PanelLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDN2MTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/panel-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst PanelLeft = createLucideIcon('PanelLeft', [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }],\n ['path', { d: 'M9 3v18', key: 'fh3hqa' }],\n]);\n\nexport default PanelLeft;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,iBAAiB,WAAa,CAAA,CAAA,CAAA;AAAA,CAAA,CAC9C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,MAAM,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC9E,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC1C,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
module.exports={A:{A:{"1":"_V","2":"FD","8":"_gD","132":"E"},B:{"1":"_J"},C:{"1":"_tC","8":"_g"},D:{"1":"_Q"},E:{"1":"_R"},F:{"1":"_zG","8":"_mB"},G:{"1":"_M"},H:{"1":"1D"},I:{"1":"_P"},J:{"1":"_B"},K:{"1":"_N"},L:{"1":"I"},M:{"1":"YC"},N:{"1":"_A"},O:{"1":"bC"},P:{"1":"_F"},Q:{"1":"JE"},R:{"1":"KE"},S:{"1":"_C"}},B:1,C:"querySelector/querySelectorAll",D:true};
@@ -0,0 +1 @@
{"version":3,"file":"headers.cjs","names":[],"sources":["../../../src/ssr/headers.ts"],"sourcesContent":["import { splitSetCookieString } from 'cookie-es'\nimport type { OutgoingHttpHeaders } from 'node:http2'\n\nexport type AnyHeaders =\n | Headers\n | HeadersInit\n | Record<string, string>\n | Array<[string, string]>\n | OutgoingHttpHeaders\n | undefined\n\n// Helper function to convert various HeaderInit types to a Headers instance\nfunction toHeadersInstance(init: AnyHeaders) {\n if (init instanceof Headers) {\n return init\n } else if (Array.isArray(init)) {\n return new Headers(init)\n } else if (typeof init === 'object') {\n return new Headers(init as HeadersInit)\n } else {\n return null\n }\n}\n\n// Function to merge headers with proper overrides\nexport function mergeHeaders(...headers: Array<AnyHeaders>) {\n return headers.reduce((acc: Headers, header) => {\n const headersInstance = toHeadersInstance(header)\n if (!headersInstance) return acc\n for (const [key, value] of headersInstance.entries()) {\n if (key === 'set-cookie') {\n const splitCookies = splitSetCookieString(value)\n splitCookies.forEach((cookie) => acc.append('set-cookie', cookie))\n } else {\n acc.set(key, value)\n }\n }\n return acc\n }, new Headers())\n}\n"],"mappings":";;AAYA,SAAS,kBAAkB,MAAkB;AAC3C,KAAI,gBAAgB,QAClB,QAAO;UACE,MAAM,QAAQ,KAAK,CAC5B,QAAO,IAAI,QAAQ,KAAK;UACf,OAAO,SAAS,SACzB,QAAO,IAAI,QAAQ,KAAoB;KAEvC,QAAO;;AAKX,SAAgB,aAAa,GAAG,SAA4B;AAC1D,QAAO,QAAQ,QAAQ,KAAc,WAAW;EAC9C,MAAM,kBAAkB,kBAAkB,OAAO;AACjD,MAAI,CAAC,gBAAiB,QAAO;AAC7B,OAAK,MAAM,CAAC,KAAK,UAAU,gBAAgB,SAAS,CAClD,KAAI,QAAQ,aAEV,EAAA,GAAA,UAAA,sBAD0C,MAAM,CACnC,SAAS,WAAW,IAAI,OAAO,cAAc,OAAO,CAAC;MAElE,KAAI,IAAI,KAAK,MAAM;AAGvB,SAAO;IACN,IAAI,SAAS,CAAC"}
@@ -0,0 +1 @@
{"version":3,"file":"posix.js","sourceRoot":"","sources":["../../src/posix.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAAyC;AACzC,+CAAuC;AAGvC;;;GAGG;AACI,MAAM,KAAK,GAAG,KAAK,EACxB,IAAY,EACZ,UAAwB,EAAE,EACR,EAAE;IACpB,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACxC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,MAAM,IAAA,eAAI,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,CAA0B,CAAA;QACrC,IAAI,YAAY,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;QACtD,MAAM,EAAE,CAAA;IACV,CAAC;AACH,CAAC,CAAA;AAZY,QAAA,KAAK,SAYjB;AAED;;;GAGG;AACI,MAAM,IAAI,GAAG,CAClB,IAAY,EACZ,UAAwB,EAAE,EACjB,EAAE;IACX,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACxC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,IAAA,kBAAQ,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,CAA0B,CAAA;QACrC,IAAI,YAAY,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;QACtD,MAAM,EAAE,CAAA;IACV,CAAC;AACH,CAAC,CAAA;AAZY,QAAA,IAAI,QAYhB;AAED,MAAM,SAAS,GAAG,CAAC,IAAW,EAAE,OAAqB,EAAE,EAAE,CACvD,IAAI,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAE3C,MAAM,SAAS,GAAG,CAAC,IAAW,EAAE,OAAqB,EAAE,EAAE;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAA;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAA;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC9D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAA;IAE5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IAEpB,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC5B,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC5B,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC5B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAEhB,OAAO,CAAC,CAAC,CACP,GAAG,GAAG,CAAC;QACP,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,KAAK,CAAC;QAC1B,CAAC,GAAG,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAC1B,CAAA;AACH,CAAC,CAAA","sourcesContent":["/**\n * This is the Posix implementation of isexe, which uses the file\n * mode and uid/gid values.\n *\n * @module\n */\n\nimport { Stats, statSync } from 'node:fs'\nimport { stat } from 'node:fs/promises'\nimport { IsexeOptions } from './options.js'\n\n/**\n * Determine whether a path is executable according to the mode and\n * current (or specified) user and group IDs.\n */\nexport const isexe = async (\n path: string,\n options: IsexeOptions = {},\n): Promise<boolean> => {\n const { ignoreErrors = false } = options\n try {\n return checkStat(await stat(path), options)\n } catch (e) {\n const er = e as NodeJS.ErrnoException\n if (ignoreErrors || er.code === 'EACCES') return false\n throw er\n }\n}\n\n/**\n * Synchronously determine whether a path is executable according to\n * the mode and current (or specified) user and group IDs.\n */\nexport const sync = (\n path: string,\n options: IsexeOptions = {},\n): boolean => {\n const { ignoreErrors = false } = options\n try {\n return checkStat(statSync(path), options)\n } catch (e) {\n const er = e as NodeJS.ErrnoException\n if (ignoreErrors || er.code === 'EACCES') return false\n throw er\n }\n}\n\nconst checkStat = (stat: Stats, options: IsexeOptions) =>\n stat.isFile() && checkMode(stat, options)\n\nconst checkMode = (stat: Stats, options: IsexeOptions) => {\n const myUid = options.uid ?? process.getuid?.()\n const myGroups = options.groups ?? process.getgroups?.() ?? []\n const myGid = options.gid ?? process.getgid?.() ?? myGroups[0]\n if (myUid === undefined || myGid === undefined) {\n throw new Error('cannot get uid or gid')\n }\n\n const groups = new Set([myGid, ...myGroups])\n\n const mod = stat.mode\n const uid = stat.uid\n const gid = stat.gid\n\n const u = parseInt('100', 8)\n const g = parseInt('010', 8)\n const o = parseInt('001', 8)\n const ug = u | g\n\n return !!(\n mod & o ||\n (mod & g && groups.has(gid)) ||\n (mod & u && uid === myUid) ||\n (mod & ug && myUid === 0)\n )\n}\n"]}
@@ -0,0 +1,842 @@
"use strict";
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib repo
Object.defineProperty(exports, "__esModule", { value: true });
exports.webworker = void 0;
const base_config_1 = require("./base-config");
const es2015_1 = require("./es2015");
const es2018_asynciterable_1 = require("./es2018.asynciterable");
exports.webworker = {
libs: [es2015_1.es2015, es2018_asynciterable_1.es2018_asynciterable],
variables: [
['AacEncoderConfig', base_config_1.TYPE],
['AddEventListenerOptions', base_config_1.TYPE],
['AesCbcParams', base_config_1.TYPE],
['AesCtrParams', base_config_1.TYPE],
['AesDerivedKeyParams', base_config_1.TYPE],
['AesGcmParams', base_config_1.TYPE],
['AesKeyAlgorithm', base_config_1.TYPE],
['AesKeyGenParams', base_config_1.TYPE],
['Algorithm', base_config_1.TYPE],
['AudioConfiguration', base_config_1.TYPE],
['AudioDataCopyToOptions', base_config_1.TYPE],
['AudioDataInit', base_config_1.TYPE],
['AudioDecoderConfig', base_config_1.TYPE],
['AudioDecoderInit', base_config_1.TYPE],
['AudioDecoderSupport', base_config_1.TYPE],
['AudioEncoderConfig', base_config_1.TYPE],
['AudioEncoderInit', base_config_1.TYPE],
['AudioEncoderSupport', base_config_1.TYPE],
['AvcEncoderConfig', base_config_1.TYPE],
['BlobPropertyBag', base_config_1.TYPE],
['CSSMatrixComponentOptions', base_config_1.TYPE],
['CSSNumericType', base_config_1.TYPE],
['CacheQueryOptions', base_config_1.TYPE],
['ClientQueryOptions', base_config_1.TYPE],
['CloseEventInit', base_config_1.TYPE],
['CookieInit', base_config_1.TYPE],
['CookieListItem', base_config_1.TYPE],
['CookieStoreDeleteOptions', base_config_1.TYPE],
['CookieStoreGetOptions', base_config_1.TYPE],
['CryptoKeyPair', base_config_1.TYPE],
['CustomEventInit', base_config_1.TYPE],
['DOMMatrix2DInit', base_config_1.TYPE],
['DOMMatrixInit', base_config_1.TYPE],
['DOMPointInit', base_config_1.TYPE],
['DOMQuadInit', base_config_1.TYPE],
['DOMRectInit', base_config_1.TYPE],
['EcKeyGenParams', base_config_1.TYPE],
['EcKeyImportParams', base_config_1.TYPE],
['EcdhKeyDeriveParams', base_config_1.TYPE],
['EcdsaParams', base_config_1.TYPE],
['EncodedAudioChunkInit', base_config_1.TYPE],
['EncodedAudioChunkMetadata', base_config_1.TYPE],
['EncodedVideoChunkInit', base_config_1.TYPE],
['EncodedVideoChunkMetadata', base_config_1.TYPE],
['ErrorEventInit', base_config_1.TYPE],
['EventInit', base_config_1.TYPE],
['EventListenerOptions', base_config_1.TYPE],
['EventSourceInit', base_config_1.TYPE],
['ExtendableCookieChangeEventInit', base_config_1.TYPE],
['ExtendableEventInit', base_config_1.TYPE],
['ExtendableMessageEventInit', base_config_1.TYPE],
['FetchEventInit', base_config_1.TYPE],
['FilePropertyBag', base_config_1.TYPE],
['FileSystemCreateWritableOptions', base_config_1.TYPE],
['FileSystemGetDirectoryOptions', base_config_1.TYPE],
['FileSystemGetFileOptions', base_config_1.TYPE],
['FileSystemReadWriteOptions', base_config_1.TYPE],
['FileSystemRemoveOptions', base_config_1.TYPE],
['FontFaceDescriptors', base_config_1.TYPE],
['FontFaceSetLoadEventInit', base_config_1.TYPE],
['GPUBindGroupDescriptor', base_config_1.TYPE],
['GPUBindGroupEntry', base_config_1.TYPE],
['GPUBindGroupLayoutDescriptor', base_config_1.TYPE],
['GPUBindGroupLayoutEntry', base_config_1.TYPE],
['GPUBlendComponent', base_config_1.TYPE],
['GPUBlendState', base_config_1.TYPE],
['GPUBufferBinding', base_config_1.TYPE],
['GPUBufferBindingLayout', base_config_1.TYPE],
['GPUBufferDescriptor', base_config_1.TYPE],
['GPUCanvasConfiguration', base_config_1.TYPE],
['GPUCanvasToneMapping', base_config_1.TYPE],
['GPUColorDict', base_config_1.TYPE],
['GPUColorTargetState', base_config_1.TYPE],
['GPUCommandBufferDescriptor', base_config_1.TYPE],
['GPUCommandEncoderDescriptor', base_config_1.TYPE],
['GPUComputePassDescriptor', base_config_1.TYPE],
['GPUComputePassTimestampWrites', base_config_1.TYPE],
['GPUComputePipelineDescriptor', base_config_1.TYPE],
['GPUCopyExternalImageDestInfo', base_config_1.TYPE],
['GPUCopyExternalImageSourceInfo', base_config_1.TYPE],
['GPUDepthStencilState', base_config_1.TYPE],
['GPUDeviceDescriptor', base_config_1.TYPE],
['GPUExtent3DDict', base_config_1.TYPE],
['GPUExternalTextureBindingLayout', base_config_1.TYPE],
['GPUExternalTextureDescriptor', base_config_1.TYPE],
['GPUFragmentState', base_config_1.TYPE],
['GPUMultisampleState', base_config_1.TYPE],
['GPUObjectDescriptorBase', base_config_1.TYPE],
['GPUOrigin2DDict', base_config_1.TYPE],
['GPUOrigin3DDict', base_config_1.TYPE],
['GPUPipelineDescriptorBase', base_config_1.TYPE],
['GPUPipelineErrorInit', base_config_1.TYPE],
['GPUPipelineLayoutDescriptor', base_config_1.TYPE],
['GPUPrimitiveState', base_config_1.TYPE],
['GPUProgrammableStage', base_config_1.TYPE],
['GPUQuerySetDescriptor', base_config_1.TYPE],
['GPUQueueDescriptor', base_config_1.TYPE],
['GPURenderBundleDescriptor', base_config_1.TYPE],
['GPURenderBundleEncoderDescriptor', base_config_1.TYPE],
['GPURenderPassColorAttachment', base_config_1.TYPE],
['GPURenderPassDepthStencilAttachment', base_config_1.TYPE],
['GPURenderPassDescriptor', base_config_1.TYPE],
['GPURenderPassLayout', base_config_1.TYPE],
['GPURenderPassTimestampWrites', base_config_1.TYPE],
['GPURenderPipelineDescriptor', base_config_1.TYPE],
['GPURequestAdapterOptions', base_config_1.TYPE],
['GPUSamplerBindingLayout', base_config_1.TYPE],
['GPUSamplerDescriptor', base_config_1.TYPE],
['GPUShaderModuleDescriptor', base_config_1.TYPE],
['GPUStencilFaceState', base_config_1.TYPE],
['GPUStorageTextureBindingLayout', base_config_1.TYPE],
['GPUTexelCopyBufferInfo', base_config_1.TYPE],
['GPUTexelCopyBufferLayout', base_config_1.TYPE],
['GPUTexelCopyTextureInfo', base_config_1.TYPE],
['GPUTextureBindingLayout', base_config_1.TYPE],
['GPUTextureDescriptor', base_config_1.TYPE],
['GPUTextureViewDescriptor', base_config_1.TYPE],
['GPUUncapturedErrorEventInit', base_config_1.TYPE],
['GPUVertexAttribute', base_config_1.TYPE],
['GPUVertexBufferLayout', base_config_1.TYPE],
['GPUVertexState', base_config_1.TYPE],
['GetNotificationOptions', base_config_1.TYPE],
['HkdfParams', base_config_1.TYPE],
['HmacImportParams', base_config_1.TYPE],
['HmacKeyGenParams', base_config_1.TYPE],
['IDBDatabaseInfo', base_config_1.TYPE],
['IDBIndexParameters', base_config_1.TYPE],
['IDBObjectStoreParameters', base_config_1.TYPE],
['IDBTransactionOptions', base_config_1.TYPE],
['IDBVersionChangeEventInit', base_config_1.TYPE],
['ImageBitmapOptions', base_config_1.TYPE],
['ImageBitmapRenderingContextSettings', base_config_1.TYPE],
['ImageDataSettings', base_config_1.TYPE],
['ImageDecodeOptions', base_config_1.TYPE],
['ImageDecodeResult', base_config_1.TYPE],
['ImageDecoderInit', base_config_1.TYPE],
['ImageEncodeOptions', base_config_1.TYPE],
['JsonWebKey', base_config_1.TYPE],
['KeyAlgorithm', base_config_1.TYPE],
['KeySystemTrackConfiguration', base_config_1.TYPE],
['LockInfo', base_config_1.TYPE],
['LockManagerSnapshot', base_config_1.TYPE],
['LockOptions', base_config_1.TYPE],
['MediaCapabilitiesDecodingInfo', base_config_1.TYPE],
['MediaCapabilitiesEncodingInfo', base_config_1.TYPE],
['MediaCapabilitiesInfo', base_config_1.TYPE],
['MediaCapabilitiesKeySystemConfiguration', base_config_1.TYPE],
['MediaConfiguration', base_config_1.TYPE],
['MediaDecodingConfiguration', base_config_1.TYPE],
['MediaEncodingConfiguration', base_config_1.TYPE],
['MediaStreamTrackProcessorInit', base_config_1.TYPE],
['MessageEventInit', base_config_1.TYPE],
['MultiCacheQueryOptions', base_config_1.TYPE],
['NavigationPreloadState', base_config_1.TYPE],
['NotificationEventInit', base_config_1.TYPE],
['NotificationOptions', base_config_1.TYPE],
['OpusEncoderConfig', base_config_1.TYPE],
['Pbkdf2Params', base_config_1.TYPE],
['PerformanceMarkOptions', base_config_1.TYPE],
['PerformanceMeasureOptions', base_config_1.TYPE],
['PerformanceObserverInit', base_config_1.TYPE],
['PermissionDescriptor', base_config_1.TYPE],
['PlaneLayout', base_config_1.TYPE],
['ProgressEventInit', base_config_1.TYPE],
['PromiseRejectionEventInit', base_config_1.TYPE],
['PushEventInit', base_config_1.TYPE],
['PushSubscriptionChangeEventInit', base_config_1.TYPE],
['PushSubscriptionJSON', base_config_1.TYPE],
['PushSubscriptionOptionsInit', base_config_1.TYPE],
['QueuingStrategy', base_config_1.TYPE],
['QueuingStrategyInit', base_config_1.TYPE],
['RTCEncodedAudioFrameMetadata', base_config_1.TYPE],
['RTCEncodedFrameMetadata', base_config_1.TYPE],
['RTCEncodedVideoFrameMetadata', base_config_1.TYPE],
['ReadableStreamBYOBReaderReadOptions', base_config_1.TYPE],
['ReadableStreamGetReaderOptions', base_config_1.TYPE],
['ReadableStreamIteratorOptions', base_config_1.TYPE],
['ReadableStreamReadDoneResult', base_config_1.TYPE],
['ReadableStreamReadValueResult', base_config_1.TYPE],
['ReadableWritablePair', base_config_1.TYPE],
['RegistrationOptions', base_config_1.TYPE],
['Report', base_config_1.TYPE],
['ReportBody', base_config_1.TYPE],
['ReportingObserverOptions', base_config_1.TYPE],
['RequestInit', base_config_1.TYPE],
['ResponseInit', base_config_1.TYPE],
['RsaHashedImportParams', base_config_1.TYPE],
['RsaHashedKeyGenParams', base_config_1.TYPE],
['RsaKeyGenParams', base_config_1.TYPE],
['RsaOaepParams', base_config_1.TYPE],
['RsaOtherPrimesInfo', base_config_1.TYPE],
['RsaPssParams', base_config_1.TYPE],
['SchedulerPostTaskOptions', base_config_1.TYPE],
['SecurityPolicyViolationEventInit', base_config_1.TYPE],
['StorageEstimate', base_config_1.TYPE],
['StreamPipeOptions', base_config_1.TYPE],
['StructuredSerializeOptions', base_config_1.TYPE],
['SvcOutputMetadata', base_config_1.TYPE],
['TaskControllerInit', base_config_1.TYPE],
['TaskPriorityChangeEventInit', base_config_1.TYPE],
['TaskSignalAnyInit', base_config_1.TYPE],
['TextDecodeOptions', base_config_1.TYPE],
['TextDecoderOptions', base_config_1.TYPE],
['TextEncoderEncodeIntoResult', base_config_1.TYPE],
['Transformer', base_config_1.TYPE],
['URLPatternComponentResult', base_config_1.TYPE],
['URLPatternInit', base_config_1.TYPE],
['URLPatternOptions', base_config_1.TYPE],
['URLPatternResult', base_config_1.TYPE],
['UnderlyingByteSource', base_config_1.TYPE],
['UnderlyingDefaultSource', base_config_1.TYPE],
['UnderlyingSink', base_config_1.TYPE],
['UnderlyingSource', base_config_1.TYPE],
['VideoColorSpaceInit', base_config_1.TYPE],
['VideoConfiguration', base_config_1.TYPE],
['VideoDecoderConfig', base_config_1.TYPE],
['VideoDecoderInit', base_config_1.TYPE],
['VideoDecoderSupport', base_config_1.TYPE],
['VideoEncoderConfig', base_config_1.TYPE],
['VideoEncoderEncodeOptions', base_config_1.TYPE],
['VideoEncoderEncodeOptionsForAvc', base_config_1.TYPE],
['VideoEncoderInit', base_config_1.TYPE],
['VideoEncoderSupport', base_config_1.TYPE],
['VideoFrameBufferInit', base_config_1.TYPE],
['VideoFrameCopyToOptions', base_config_1.TYPE],
['VideoFrameInit', base_config_1.TYPE],
['WebGLContextAttributes', base_config_1.TYPE],
['WebGLContextEventInit', base_config_1.TYPE],
['WebTransportCloseInfo', base_config_1.TYPE],
['WebTransportErrorOptions', base_config_1.TYPE],
['WebTransportHash', base_config_1.TYPE],
['WebTransportOptions', base_config_1.TYPE],
['WebTransportSendOptions', base_config_1.TYPE],
['WebTransportSendStreamOptions', base_config_1.TYPE],
['WorkerOptions', base_config_1.TYPE],
['WriteParams', base_config_1.TYPE],
['ANGLE_instanced_arrays', base_config_1.TYPE],
['AbortController', base_config_1.TYPE_VALUE],
['AbortSignalEventMap', base_config_1.TYPE],
['AbortSignal', base_config_1.TYPE_VALUE],
['AbstractWorkerEventMap', base_config_1.TYPE],
['AbstractWorker', base_config_1.TYPE],
['AnimationFrameProvider', base_config_1.TYPE],
['AudioData', base_config_1.TYPE_VALUE],
['AudioDecoderEventMap', base_config_1.TYPE],
['AudioDecoder', base_config_1.TYPE_VALUE],
['AudioEncoderEventMap', base_config_1.TYPE],
['AudioEncoder', base_config_1.TYPE_VALUE],
['Blob', base_config_1.TYPE_VALUE],
['Body', base_config_1.TYPE],
['BroadcastChannelEventMap', base_config_1.TYPE],
['BroadcastChannel', base_config_1.TYPE_VALUE],
['ByteLengthQueuingStrategy', base_config_1.TYPE_VALUE],
['CSSImageValue', base_config_1.TYPE_VALUE],
['CSSKeywordValue', base_config_1.TYPE_VALUE],
['CSSMathClamp', base_config_1.TYPE_VALUE],
['CSSMathInvert', base_config_1.TYPE_VALUE],
['CSSMathMax', base_config_1.TYPE_VALUE],
['CSSMathMin', base_config_1.TYPE_VALUE],
['CSSMathNegate', base_config_1.TYPE_VALUE],
['CSSMathProduct', base_config_1.TYPE_VALUE],
['CSSMathSum', base_config_1.TYPE_VALUE],
['CSSMathValue', base_config_1.TYPE_VALUE],
['CSSMatrixComponent', base_config_1.TYPE_VALUE],
['CSSNumericArray', base_config_1.TYPE_VALUE],
['CSSNumericValue', base_config_1.TYPE_VALUE],
['CSSPerspective', base_config_1.TYPE_VALUE],
['CSSRotate', base_config_1.TYPE_VALUE],
['CSSScale', base_config_1.TYPE_VALUE],
['CSSSkew', base_config_1.TYPE_VALUE],
['CSSSkewX', base_config_1.TYPE_VALUE],
['CSSSkewY', base_config_1.TYPE_VALUE],
['CSSStyleValue', base_config_1.TYPE_VALUE],
['CSSTransformComponent', base_config_1.TYPE_VALUE],
['CSSTransformValue', base_config_1.TYPE_VALUE],
['CSSTranslate', base_config_1.TYPE_VALUE],
['CSSUnitValue', base_config_1.TYPE_VALUE],
['CSSUnparsedValue', base_config_1.TYPE_VALUE],
['CSSVariableReferenceValue', base_config_1.TYPE_VALUE],
['Cache', base_config_1.TYPE_VALUE],
['CacheStorage', base_config_1.TYPE_VALUE],
['CanvasCompositing', base_config_1.TYPE],
['CanvasDrawImage', base_config_1.TYPE],
['CanvasDrawPath', base_config_1.TYPE],
['CanvasFillStrokeStyles', base_config_1.TYPE],
['CanvasFilters', base_config_1.TYPE],
['CanvasGradient', base_config_1.TYPE_VALUE],
['CanvasImageData', base_config_1.TYPE],
['CanvasImageSmoothing', base_config_1.TYPE],
['CanvasPath', base_config_1.TYPE],
['CanvasPathDrawingStyles', base_config_1.TYPE],
['CanvasPattern', base_config_1.TYPE_VALUE],
['CanvasRect', base_config_1.TYPE],
['CanvasShadowStyles', base_config_1.TYPE],
['CanvasState', base_config_1.TYPE],
['CanvasText', base_config_1.TYPE],
['CanvasTextDrawingStyles', base_config_1.TYPE],
['CanvasTransform', base_config_1.TYPE],
['Client', base_config_1.TYPE_VALUE],
['Clients', base_config_1.TYPE_VALUE],
['CloseEvent', base_config_1.TYPE_VALUE],
['CompressionStream', base_config_1.TYPE_VALUE],
['CookieStore', base_config_1.TYPE_VALUE],
['CookieStoreManager', base_config_1.TYPE_VALUE],
['CountQueuingStrategy', base_config_1.TYPE_VALUE],
['Crypto', base_config_1.TYPE_VALUE],
['CryptoKey', base_config_1.TYPE_VALUE],
['CustomEvent', base_config_1.TYPE_VALUE],
['DOMException', base_config_1.TYPE_VALUE],
['DOMMatrix', base_config_1.TYPE_VALUE],
['DOMMatrixReadOnly', base_config_1.TYPE_VALUE],
['DOMPoint', base_config_1.TYPE_VALUE],
['DOMPointReadOnly', base_config_1.TYPE_VALUE],
['DOMQuad', base_config_1.TYPE_VALUE],
['DOMRect', base_config_1.TYPE_VALUE],
['DOMRectReadOnly', base_config_1.TYPE_VALUE],
['DOMStringList', base_config_1.TYPE_VALUE],
['DecompressionStream', base_config_1.TYPE_VALUE],
['DedicatedWorkerGlobalScopeEventMap', base_config_1.TYPE],
['DedicatedWorkerGlobalScope', base_config_1.TYPE_VALUE],
['EXT_blend_minmax', base_config_1.TYPE],
['EXT_color_buffer_float', base_config_1.TYPE],
['EXT_color_buffer_half_float', base_config_1.TYPE],
['EXT_float_blend', base_config_1.TYPE],
['EXT_frag_depth', base_config_1.TYPE],
['EXT_sRGB', base_config_1.TYPE],
['EXT_shader_texture_lod', base_config_1.TYPE],
['EXT_texture_compression_bptc', base_config_1.TYPE],
['EXT_texture_compression_rgtc', base_config_1.TYPE],
['EXT_texture_filter_anisotropic', base_config_1.TYPE],
['EXT_texture_norm16', base_config_1.TYPE],
['EncodedAudioChunk', base_config_1.TYPE_VALUE],
['EncodedVideoChunk', base_config_1.TYPE_VALUE],
['ErrorEvent', base_config_1.TYPE_VALUE],
['Event', base_config_1.TYPE_VALUE],
['EventListener', base_config_1.TYPE],
['EventListenerObject', base_config_1.TYPE],
['EventSourceEventMap', base_config_1.TYPE],
['EventSource', base_config_1.TYPE_VALUE],
['EventTarget', base_config_1.TYPE_VALUE],
['ExtendableCookieChangeEvent', base_config_1.TYPE_VALUE],
['ExtendableEvent', base_config_1.TYPE_VALUE],
['ExtendableMessageEvent', base_config_1.TYPE_VALUE],
['FetchEvent', base_config_1.TYPE_VALUE],
['File', base_config_1.TYPE_VALUE],
['FileList', base_config_1.TYPE_VALUE],
['FileReaderEventMap', base_config_1.TYPE],
['FileReader', base_config_1.TYPE_VALUE],
['FileReaderSync', base_config_1.TYPE_VALUE],
['FileSystemDirectoryHandle', base_config_1.TYPE_VALUE],
['FileSystemFileHandle', base_config_1.TYPE_VALUE],
['FileSystemHandle', base_config_1.TYPE_VALUE],
['FileSystemSyncAccessHandle', base_config_1.TYPE_VALUE],
['FileSystemWritableFileStream', base_config_1.TYPE_VALUE],
['FontFace', base_config_1.TYPE_VALUE],
['FontFaceSetEventMap', base_config_1.TYPE],
['FontFaceSet', base_config_1.TYPE_VALUE],
['FontFaceSetLoadEvent', base_config_1.TYPE_VALUE],
['FontFaceSource', base_config_1.TYPE],
['FormData', base_config_1.TYPE_VALUE],
['GPU', base_config_1.TYPE_VALUE],
['GPUAdapter', base_config_1.TYPE_VALUE],
['GPUAdapterInfo', base_config_1.TYPE_VALUE],
['GPUBindGroup', base_config_1.TYPE_VALUE],
['GPUBindGroupLayout', base_config_1.TYPE_VALUE],
['GPUBindingCommandsMixin', base_config_1.TYPE],
['GPUBuffer', base_config_1.TYPE_VALUE],
['GPUCanvasContext', base_config_1.TYPE_VALUE],
['GPUCommandBuffer', base_config_1.TYPE_VALUE],
['GPUCommandEncoder', base_config_1.TYPE_VALUE],
['GPUCompilationInfo', base_config_1.TYPE_VALUE],
['GPUCompilationMessage', base_config_1.TYPE_VALUE],
['GPUComputePassEncoder', base_config_1.TYPE_VALUE],
['GPUComputePipeline', base_config_1.TYPE_VALUE],
['GPUDebugCommandsMixin', base_config_1.TYPE],
['GPUDeviceEventMap', base_config_1.TYPE],
['GPUDevice', base_config_1.TYPE_VALUE],
['GPUDeviceLostInfo', base_config_1.TYPE_VALUE],
['GPUError', base_config_1.TYPE_VALUE],
['GPUExternalTexture', base_config_1.TYPE_VALUE],
['GPUInternalError', base_config_1.TYPE_VALUE],
['GPUObjectBase', base_config_1.TYPE],
['GPUOutOfMemoryError', base_config_1.TYPE_VALUE],
['GPUPipelineBase', base_config_1.TYPE],
['GPUPipelineError', base_config_1.TYPE_VALUE],
['GPUPipelineLayout', base_config_1.TYPE_VALUE],
['GPUQuerySet', base_config_1.TYPE_VALUE],
['GPUQueue', base_config_1.TYPE_VALUE],
['GPURenderBundle', base_config_1.TYPE_VALUE],
['GPURenderBundleEncoder', base_config_1.TYPE_VALUE],
['GPURenderCommandsMixin', base_config_1.TYPE],
['GPURenderPassEncoder', base_config_1.TYPE_VALUE],
['GPURenderPipeline', base_config_1.TYPE_VALUE],
['GPUSampler', base_config_1.TYPE_VALUE],
['GPUShaderModule', base_config_1.TYPE_VALUE],
['GPUSupportedFeatures', base_config_1.TYPE_VALUE],
['GPUSupportedLimits', base_config_1.TYPE_VALUE],
['GPUTexture', base_config_1.TYPE_VALUE],
['GPUTextureView', base_config_1.TYPE_VALUE],
['GPUUncapturedErrorEvent', base_config_1.TYPE_VALUE],
['GPUValidationError', base_config_1.TYPE_VALUE],
['GenericTransformStream', base_config_1.TYPE],
['Headers', base_config_1.TYPE_VALUE],
['IDBCursor', base_config_1.TYPE_VALUE],
['IDBCursorWithValue', base_config_1.TYPE_VALUE],
['IDBDatabaseEventMap', base_config_1.TYPE],
['IDBDatabase', base_config_1.TYPE_VALUE],
['IDBFactory', base_config_1.TYPE_VALUE],
['IDBIndex', base_config_1.TYPE_VALUE],
['IDBKeyRange', base_config_1.TYPE_VALUE],
['IDBObjectStore', base_config_1.TYPE_VALUE],
['IDBOpenDBRequestEventMap', base_config_1.TYPE],
['IDBOpenDBRequest', base_config_1.TYPE_VALUE],
['IDBRequestEventMap', base_config_1.TYPE],
['IDBRequest', base_config_1.TYPE_VALUE],
['IDBTransactionEventMap', base_config_1.TYPE],
['IDBTransaction', base_config_1.TYPE_VALUE],
['IDBVersionChangeEvent', base_config_1.TYPE_VALUE],
['ImageBitmap', base_config_1.TYPE_VALUE],
['ImageBitmapRenderingContext', base_config_1.TYPE_VALUE],
['ImageData', base_config_1.TYPE_VALUE],
['ImageDecoder', base_config_1.TYPE_VALUE],
['ImageTrack', base_config_1.TYPE_VALUE],
['ImageTrackList', base_config_1.TYPE_VALUE],
['ImportMeta', base_config_1.TYPE],
['KHR_parallel_shader_compile', base_config_1.TYPE],
['Lock', base_config_1.TYPE_VALUE],
['LockManager', base_config_1.TYPE_VALUE],
['MediaCapabilities', base_config_1.TYPE_VALUE],
['MediaSourceHandle', base_config_1.TYPE_VALUE],
['MediaStreamTrackProcessor', base_config_1.TYPE_VALUE],
['MessageChannel', base_config_1.TYPE_VALUE],
['MessageEvent', base_config_1.TYPE_VALUE],
['MessageEventTargetEventMap', base_config_1.TYPE],
['MessageEventTarget', base_config_1.TYPE],
['MessagePortEventMap', base_config_1.TYPE],
['MessagePort', base_config_1.TYPE_VALUE],
['NavigationPreloadManager', base_config_1.TYPE_VALUE],
['NavigatorBadge', base_config_1.TYPE],
['NavigatorConcurrentHardware', base_config_1.TYPE],
['NavigatorGPU', base_config_1.TYPE],
['NavigatorID', base_config_1.TYPE],
['NavigatorLanguage', base_config_1.TYPE],
['NavigatorLocks', base_config_1.TYPE],
['NavigatorOnLine', base_config_1.TYPE],
['NavigatorStorage', base_config_1.TYPE],
['NotificationEventMap', base_config_1.TYPE],
['Notification', base_config_1.TYPE_VALUE],
['NotificationEvent', base_config_1.TYPE_VALUE],
['OES_draw_buffers_indexed', base_config_1.TYPE],
['OES_element_index_uint', base_config_1.TYPE],
['OES_fbo_render_mipmap', base_config_1.TYPE],
['OES_standard_derivatives', base_config_1.TYPE],
['OES_texture_float', base_config_1.TYPE],
['OES_texture_float_linear', base_config_1.TYPE],
['OES_texture_half_float', base_config_1.TYPE],
['OES_texture_half_float_linear', base_config_1.TYPE],
['OES_vertex_array_object', base_config_1.TYPE],
['OVR_multiview2', base_config_1.TYPE],
['OffscreenCanvasEventMap', base_config_1.TYPE],
['OffscreenCanvas', base_config_1.TYPE_VALUE],
['OffscreenCanvasRenderingContext2D', base_config_1.TYPE_VALUE],
['Path2D', base_config_1.TYPE_VALUE],
['PerformanceEventMap', base_config_1.TYPE],
['Performance', base_config_1.TYPE_VALUE],
['PerformanceEntry', base_config_1.TYPE_VALUE],
['PerformanceMark', base_config_1.TYPE_VALUE],
['PerformanceMeasure', base_config_1.TYPE_VALUE],
['PerformanceObserver', base_config_1.TYPE_VALUE],
['PerformanceObserverEntryList', base_config_1.TYPE_VALUE],
['PerformanceResourceTiming', base_config_1.TYPE_VALUE],
['PerformanceServerTiming', base_config_1.TYPE_VALUE],
['PermissionStatusEventMap', base_config_1.TYPE],
['PermissionStatus', base_config_1.TYPE_VALUE],
['Permissions', base_config_1.TYPE_VALUE],
['ProgressEvent', base_config_1.TYPE_VALUE],
['PromiseRejectionEvent', base_config_1.TYPE_VALUE],
['PushEvent', base_config_1.TYPE_VALUE],
['PushManager', base_config_1.TYPE_VALUE],
['PushManagerAttribute', base_config_1.TYPE],
['PushMessageData', base_config_1.TYPE_VALUE],
['PushSubscription', base_config_1.TYPE_VALUE],
['PushSubscriptionChangeEvent', base_config_1.TYPE_VALUE],
['PushSubscriptionOptions', base_config_1.TYPE_VALUE],
['RTCDataChannelEventMap', base_config_1.TYPE],
['RTCDataChannel', base_config_1.TYPE_VALUE],
['RTCEncodedAudioFrame', base_config_1.TYPE_VALUE],
['RTCEncodedVideoFrame', base_config_1.TYPE_VALUE],
['RTCRtpScriptTransformer', base_config_1.TYPE_VALUE],
['RTCTransformEvent', base_config_1.TYPE_VALUE],
['ReadableByteStreamController', base_config_1.TYPE_VALUE],
['ReadableStream', base_config_1.TYPE_VALUE],
['ReadableStreamBYOBReader', base_config_1.TYPE_VALUE],
['ReadableStreamBYOBRequest', base_config_1.TYPE_VALUE],
['ReadableStreamDefaultController', base_config_1.TYPE_VALUE],
['ReadableStreamDefaultReader', base_config_1.TYPE_VALUE],
['ReadableStreamGenericReader', base_config_1.TYPE],
['ReportingObserver', base_config_1.TYPE_VALUE],
['Request', base_config_1.TYPE_VALUE],
['Response', base_config_1.TYPE_VALUE],
['Scheduler', base_config_1.TYPE_VALUE],
['SecurityPolicyViolationEvent', base_config_1.TYPE_VALUE],
['ServiceWorkerEventMap', base_config_1.TYPE],
['ServiceWorker', base_config_1.TYPE_VALUE],
['ServiceWorkerContainerEventMap', base_config_1.TYPE],
['ServiceWorkerContainer', base_config_1.TYPE_VALUE],
['ServiceWorkerGlobalScopeEventMap', base_config_1.TYPE],
['ServiceWorkerGlobalScope', base_config_1.TYPE_VALUE],
['ServiceWorkerRegistrationEventMap', base_config_1.TYPE],
['ServiceWorkerRegistration', base_config_1.TYPE_VALUE],
['SharedWorkerGlobalScopeEventMap', base_config_1.TYPE],
['SharedWorkerGlobalScope', base_config_1.TYPE_VALUE],
['StorageManager', base_config_1.TYPE_VALUE],
['StylePropertyMapReadOnly', base_config_1.TYPE_VALUE],
['SubtleCrypto', base_config_1.TYPE_VALUE],
['TaskController', base_config_1.TYPE_VALUE],
['TaskPriorityChangeEvent', base_config_1.TYPE_VALUE],
['TaskSignalEventMap', base_config_1.TYPE],
['TaskSignal', base_config_1.TYPE_VALUE],
['TextDecoder', base_config_1.TYPE_VALUE],
['TextDecoderCommon', base_config_1.TYPE],
['TextDecoderStream', base_config_1.TYPE_VALUE],
['TextEncoder', base_config_1.TYPE_VALUE],
['TextEncoderCommon', base_config_1.TYPE],
['TextEncoderStream', base_config_1.TYPE_VALUE],
['TextMetrics', base_config_1.TYPE_VALUE],
['TransformStream', base_config_1.TYPE_VALUE],
['TransformStreamDefaultController', base_config_1.TYPE_VALUE],
['URL', base_config_1.TYPE_VALUE],
['URLPattern', base_config_1.TYPE_VALUE],
['URLSearchParams', base_config_1.TYPE_VALUE],
['VideoColorSpace', base_config_1.TYPE_VALUE],
['VideoDecoderEventMap', base_config_1.TYPE],
['VideoDecoder', base_config_1.TYPE_VALUE],
['VideoEncoderEventMap', base_config_1.TYPE],
['VideoEncoder', base_config_1.TYPE_VALUE],
['VideoFrame', base_config_1.TYPE_VALUE],
['WEBGL_color_buffer_float', base_config_1.TYPE],
['WEBGL_compressed_texture_astc', base_config_1.TYPE],
['WEBGL_compressed_texture_etc', base_config_1.TYPE],
['WEBGL_compressed_texture_etc1', base_config_1.TYPE],
['WEBGL_compressed_texture_pvrtc', base_config_1.TYPE],
['WEBGL_compressed_texture_s3tc', base_config_1.TYPE],
['WEBGL_compressed_texture_s3tc_srgb', base_config_1.TYPE],
['WEBGL_debug_renderer_info', base_config_1.TYPE],
['WEBGL_debug_shaders', base_config_1.TYPE],
['WEBGL_depth_texture', base_config_1.TYPE],
['WEBGL_draw_buffers', base_config_1.TYPE],
['WEBGL_lose_context', base_config_1.TYPE],
['WEBGL_multi_draw', base_config_1.TYPE],
['WGSLLanguageFeatures', base_config_1.TYPE_VALUE],
['WebGL2RenderingContext', base_config_1.TYPE_VALUE],
['WebGL2RenderingContextBase', base_config_1.TYPE],
['WebGL2RenderingContextOverloads', base_config_1.TYPE],
['WebGLActiveInfo', base_config_1.TYPE_VALUE],
['WebGLBuffer', base_config_1.TYPE_VALUE],
['WebGLContextEvent', base_config_1.TYPE_VALUE],
['WebGLFramebuffer', base_config_1.TYPE_VALUE],
['WebGLProgram', base_config_1.TYPE_VALUE],
['WebGLQuery', base_config_1.TYPE_VALUE],
['WebGLRenderbuffer', base_config_1.TYPE_VALUE],
['WebGLRenderingContext', base_config_1.TYPE_VALUE],
['WebGLRenderingContextBase', base_config_1.TYPE],
['WebGLRenderingContextOverloads', base_config_1.TYPE],
['WebGLSampler', base_config_1.TYPE_VALUE],
['WebGLShader', base_config_1.TYPE_VALUE],
['WebGLShaderPrecisionFormat', base_config_1.TYPE_VALUE],
['WebGLSync', base_config_1.TYPE_VALUE],
['WebGLTexture', base_config_1.TYPE_VALUE],
['WebGLTransformFeedback', base_config_1.TYPE_VALUE],
['WebGLUniformLocation', base_config_1.TYPE_VALUE],
['WebGLVertexArrayObject', base_config_1.TYPE_VALUE],
['WebGLVertexArrayObjectOES', base_config_1.TYPE],
['WebSocketEventMap', base_config_1.TYPE],
['WebSocket', base_config_1.TYPE_VALUE],
['WebTransport', base_config_1.TYPE_VALUE],
['WebTransportBidirectionalStream', base_config_1.TYPE_VALUE],
['WebTransportDatagramDuplexStream', base_config_1.TYPE_VALUE],
['WebTransportError', base_config_1.TYPE_VALUE],
['WindowClient', base_config_1.TYPE_VALUE],
['WindowOrWorkerGlobalScope', base_config_1.TYPE],
['WorkerEventMap', base_config_1.TYPE],
['Worker', base_config_1.TYPE_VALUE],
['WorkerGlobalScopeEventMap', base_config_1.TYPE],
['WorkerGlobalScope', base_config_1.TYPE_VALUE],
['WorkerLocation', base_config_1.TYPE_VALUE],
['WorkerNavigator', base_config_1.TYPE_VALUE],
['WritableStream', base_config_1.TYPE_VALUE],
['WritableStreamDefaultController', base_config_1.TYPE_VALUE],
['WritableStreamDefaultWriter', base_config_1.TYPE_VALUE],
['XMLHttpRequestEventMap', base_config_1.TYPE],
['XMLHttpRequest', base_config_1.TYPE_VALUE],
['XMLHttpRequestEventTargetEventMap', base_config_1.TYPE],
['XMLHttpRequestEventTarget', base_config_1.TYPE_VALUE],
['XMLHttpRequestUpload', base_config_1.TYPE_VALUE],
['WebAssembly', base_config_1.TYPE_VALUE],
['Console', base_config_1.TYPE],
['AudioDataOutputCallback', base_config_1.TYPE],
['EncodedAudioChunkOutputCallback', base_config_1.TYPE],
['EncodedVideoChunkOutputCallback', base_config_1.TYPE],
['FrameRequestCallback', base_config_1.TYPE],
['LockGrantedCallback', base_config_1.TYPE],
['OnErrorEventHandlerNonNull', base_config_1.TYPE],
['PerformanceObserverCallback', base_config_1.TYPE],
['QueuingStrategySize', base_config_1.TYPE],
['ReportingObserverCallback', base_config_1.TYPE],
['SchedulerPostTaskCallback', base_config_1.TYPE],
['TransformerFlushCallback', base_config_1.TYPE],
['TransformerStartCallback', base_config_1.TYPE],
['TransformerTransformCallback', base_config_1.TYPE],
['UnderlyingSinkAbortCallback', base_config_1.TYPE],
['UnderlyingSinkCloseCallback', base_config_1.TYPE],
['UnderlyingSinkStartCallback', base_config_1.TYPE],
['UnderlyingSinkWriteCallback', base_config_1.TYPE],
['UnderlyingSourceCancelCallback', base_config_1.TYPE],
['UnderlyingSourcePullCallback', base_config_1.TYPE],
['UnderlyingSourceStartCallback', base_config_1.TYPE],
['VideoFrameOutputCallback', base_config_1.TYPE],
['VoidFunction', base_config_1.TYPE],
['WebCodecsErrorCallback', base_config_1.TYPE],
['AlgorithmIdentifier', base_config_1.TYPE],
['AllowSharedBufferSource', base_config_1.TYPE],
['BigInteger', base_config_1.TYPE],
['BlobPart', base_config_1.TYPE],
['BodyInit', base_config_1.TYPE],
['BufferSource', base_config_1.TYPE],
['CSSKeywordish', base_config_1.TYPE],
['CSSNumberish', base_config_1.TYPE],
['CSSPerspectiveValue', base_config_1.TYPE],
['CSSUnparsedSegment', base_config_1.TYPE],
['CanvasImageSource', base_config_1.TYPE],
['CookieList', base_config_1.TYPE],
['DOMHighResTimeStamp', base_config_1.TYPE],
['EpochTimeStamp', base_config_1.TYPE],
['EventListenerOrEventListenerObject', base_config_1.TYPE],
['FileSystemWriteChunkType', base_config_1.TYPE],
['Float32List', base_config_1.TYPE],
['FormDataEntryValue', base_config_1.TYPE],
['GLbitfield', base_config_1.TYPE],
['GLboolean', base_config_1.TYPE],
['GLclampf', base_config_1.TYPE],
['GLenum', base_config_1.TYPE],
['GLfloat', base_config_1.TYPE],
['GLint', base_config_1.TYPE],
['GLint64', base_config_1.TYPE],
['GLintptr', base_config_1.TYPE],
['GLsizei', base_config_1.TYPE],
['GLsizeiptr', base_config_1.TYPE],
['GLuint', base_config_1.TYPE],
['GLuint64', base_config_1.TYPE],
['GPUBindingResource', base_config_1.TYPE],
['GPUBufferDynamicOffset', base_config_1.TYPE],
['GPUBufferUsageFlags', base_config_1.TYPE],
['GPUColor', base_config_1.TYPE],
['GPUColorWriteFlags', base_config_1.TYPE],
['GPUCopyExternalImageSource', base_config_1.TYPE],
['GPUDepthBias', base_config_1.TYPE],
['GPUExtent3D', base_config_1.TYPE],
['GPUFlagsConstant', base_config_1.TYPE],
['GPUIndex32', base_config_1.TYPE],
['GPUIntegerCoordinate', base_config_1.TYPE],
['GPUIntegerCoordinateOut', base_config_1.TYPE],
['GPUMapModeFlags', base_config_1.TYPE],
['GPUOrigin2D', base_config_1.TYPE],
['GPUOrigin3D', base_config_1.TYPE],
['GPUPipelineConstantValue', base_config_1.TYPE],
['GPUSampleMask', base_config_1.TYPE],
['GPUShaderStageFlags', base_config_1.TYPE],
['GPUSignedOffset32', base_config_1.TYPE],
['GPUSize32', base_config_1.TYPE],
['GPUSize32Out', base_config_1.TYPE],
['GPUSize64', base_config_1.TYPE],
['GPUSize64Out', base_config_1.TYPE],
['GPUStencilValue', base_config_1.TYPE],
['GPUTextureUsageFlags', base_config_1.TYPE],
['HashAlgorithmIdentifier', base_config_1.TYPE],
['HeadersInit', base_config_1.TYPE],
['IDBValidKey', base_config_1.TYPE],
['ImageBitmapSource', base_config_1.TYPE],
['ImageBufferSource', base_config_1.TYPE],
['ImageDataArray', base_config_1.TYPE],
['Int32List', base_config_1.TYPE],
['MessageEventSource', base_config_1.TYPE],
['NamedCurve', base_config_1.TYPE],
['OffscreenRenderingContext', base_config_1.TYPE],
['OnErrorEventHandler', base_config_1.TYPE],
['PerformanceEntryList', base_config_1.TYPE],
['PushMessageDataInit', base_config_1.TYPE],
['ReadableStreamController', base_config_1.TYPE],
['ReadableStreamReadResult', base_config_1.TYPE],
['ReadableStreamReader', base_config_1.TYPE],
['ReportList', base_config_1.TYPE],
['RequestInfo', base_config_1.TYPE],
['TexImageSource', base_config_1.TYPE],
['TimerHandler', base_config_1.TYPE],
['Transferable', base_config_1.TYPE],
['URLPatternInput', base_config_1.TYPE],
['Uint32List', base_config_1.TYPE],
['XMLHttpRequestBodyInit', base_config_1.TYPE],
['AacBitstreamFormat', base_config_1.TYPE],
['AlphaOption', base_config_1.TYPE],
['AudioSampleFormat', base_config_1.TYPE],
['AvcBitstreamFormat', base_config_1.TYPE],
['BinaryType', base_config_1.TYPE],
['BitrateMode', base_config_1.TYPE],
['CSSMathOperator', base_config_1.TYPE],
['CSSNumericBaseType', base_config_1.TYPE],
['CanvasDirection', base_config_1.TYPE],
['CanvasFillRule', base_config_1.TYPE],
['CanvasFontKerning', base_config_1.TYPE],
['CanvasFontStretch', base_config_1.TYPE],
['CanvasFontVariantCaps', base_config_1.TYPE],
['CanvasLineCap', base_config_1.TYPE],
['CanvasLineJoin', base_config_1.TYPE],
['CanvasTextAlign', base_config_1.TYPE],
['CanvasTextBaseline', base_config_1.TYPE],
['CanvasTextRendering', base_config_1.TYPE],
['ClientTypes', base_config_1.TYPE],
['CodecState', base_config_1.TYPE],
['ColorGamut', base_config_1.TYPE],
['ColorSpaceConversion', base_config_1.TYPE],
['CompressionFormat', base_config_1.TYPE],
['CookieSameSite', base_config_1.TYPE],
['DocumentVisibilityState', base_config_1.TYPE],
['EncodedAudioChunkType', base_config_1.TYPE],
['EncodedVideoChunkType', base_config_1.TYPE],
['EndingType', base_config_1.TYPE],
['FileSystemHandleKind', base_config_1.TYPE],
['FontDisplay', base_config_1.TYPE],
['FontFaceLoadStatus', base_config_1.TYPE],
['FontFaceSetLoadStatus', base_config_1.TYPE],
['FrameType', base_config_1.TYPE],
['GPUAddressMode', base_config_1.TYPE],
['GPUAutoLayoutMode', base_config_1.TYPE],
['GPUBlendFactor', base_config_1.TYPE],
['GPUBlendOperation', base_config_1.TYPE],
['GPUBufferBindingType', base_config_1.TYPE],
['GPUBufferMapState', base_config_1.TYPE],
['GPUCanvasAlphaMode', base_config_1.TYPE],
['GPUCanvasToneMappingMode', base_config_1.TYPE],
['GPUCompareFunction', base_config_1.TYPE],
['GPUCompilationMessageType', base_config_1.TYPE],
['GPUCullMode', base_config_1.TYPE],
['GPUDeviceLostReason', base_config_1.TYPE],
['GPUErrorFilter', base_config_1.TYPE],
['GPUFeatureName', base_config_1.TYPE],
['GPUFilterMode', base_config_1.TYPE],
['GPUFrontFace', base_config_1.TYPE],
['GPUIndexFormat', base_config_1.TYPE],
['GPULoadOp', base_config_1.TYPE],
['GPUMipmapFilterMode', base_config_1.TYPE],
['GPUPipelineErrorReason', base_config_1.TYPE],
['GPUPowerPreference', base_config_1.TYPE],
['GPUPrimitiveTopology', base_config_1.TYPE],
['GPUQueryType', base_config_1.TYPE],
['GPUSamplerBindingType', base_config_1.TYPE],
['GPUStencilOperation', base_config_1.TYPE],
['GPUStorageTextureAccess', base_config_1.TYPE],
['GPUStoreOp', base_config_1.TYPE],
['GPUTextureAspect', base_config_1.TYPE],
['GPUTextureDimension', base_config_1.TYPE],
['GPUTextureFormat', base_config_1.TYPE],
['GPUTextureSampleType', base_config_1.TYPE],
['GPUTextureViewDimension', base_config_1.TYPE],
['GPUVertexFormat', base_config_1.TYPE],
['GPUVertexStepMode', base_config_1.TYPE],
['GlobalCompositeOperation', base_config_1.TYPE],
['HardwareAcceleration', base_config_1.TYPE],
['HdrMetadataType', base_config_1.TYPE],
['IDBCursorDirection', base_config_1.TYPE],
['IDBRequestReadyState', base_config_1.TYPE],
['IDBTransactionDurability', base_config_1.TYPE],
['IDBTransactionMode', base_config_1.TYPE],
['ImageDataPixelFormat', base_config_1.TYPE],
['ImageOrientation', base_config_1.TYPE],
['ImageSmoothingQuality', base_config_1.TYPE],
['KeyFormat', base_config_1.TYPE],
['KeyType', base_config_1.TYPE],
['KeyUsage', base_config_1.TYPE],
['LatencyMode', base_config_1.TYPE],
['LockMode', base_config_1.TYPE],
['MediaDecodingType', base_config_1.TYPE],
['MediaEncodingType', base_config_1.TYPE],
['MediaKeysRequirement', base_config_1.TYPE],
['NotificationDirection', base_config_1.TYPE],
['NotificationPermission', base_config_1.TYPE],
['OffscreenRenderingContextId', base_config_1.TYPE],
['OpusBitstreamFormat', base_config_1.TYPE],
['PermissionName', base_config_1.TYPE],
['PermissionState', base_config_1.TYPE],
['PredefinedColorSpace', base_config_1.TYPE],
['PremultiplyAlpha', base_config_1.TYPE],
['PushEncryptionKeyName', base_config_1.TYPE],
['RTCDataChannelState', base_config_1.TYPE],
['ReadableStreamReaderMode', base_config_1.TYPE],
['ReadableStreamType', base_config_1.TYPE],
['ReferrerPolicy', base_config_1.TYPE],
['RequestCache', base_config_1.TYPE],
['RequestCredentials', base_config_1.TYPE],
['RequestDestination', base_config_1.TYPE],
['RequestMode', base_config_1.TYPE],
['RequestPriority', base_config_1.TYPE],
['RequestRedirect', base_config_1.TYPE],
['ResizeQuality', base_config_1.TYPE],
['ResponseType', base_config_1.TYPE],
['SecurityPolicyViolationEventDisposition', base_config_1.TYPE],
['ServiceWorkerState', base_config_1.TYPE],
['ServiceWorkerUpdateViaCache', base_config_1.TYPE],
['TaskPriority', base_config_1.TYPE],
['TransferFunction', base_config_1.TYPE],
['VideoColorPrimaries', base_config_1.TYPE],
['VideoEncoderBitrateMode', base_config_1.TYPE],
['VideoMatrixCoefficients', base_config_1.TYPE],
['VideoPixelFormat', base_config_1.TYPE],
['VideoTransferCharacteristics', base_config_1.TYPE],
['WebGLPowerPreference', base_config_1.TYPE],
['WebTransportCongestionControl', base_config_1.TYPE],
['WebTransportErrorSource', base_config_1.TYPE],
['WorkerType', base_config_1.TYPE],
['WriteCommandType', base_config_1.TYPE],
['XMLHttpRequestResponseType', base_config_1.TYPE],
['FormDataIterator', base_config_1.TYPE],
['HeadersIterator', base_config_1.TYPE],
['StylePropertyMapReadOnlyIterator', base_config_1.TYPE],
['URLSearchParamsIterator', base_config_1.TYPE],
['FileSystemDirectoryHandleAsyncIterator', base_config_1.TYPE],
['ReadableStreamAsyncIterator', base_config_1.TYPE],
],
};