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,81 @@
export default function (options: {
storageKey: string
key?: string
behavior?: ScrollToOptions['behavior']
shouldScrollRestoration?: boolean
}) {
let byKey
try {
byKey = JSON.parse(sessionStorage.getItem(options.storageKey) || '{}')
} catch (error) {
console.error(error)
return
}
const resolvedKey = options.key || window.history.state?.__TSR_key
const elementEntries = resolvedKey ? byKey[resolvedKey] : undefined
if (
options.shouldScrollRestoration &&
elementEntries &&
typeof elementEntries === 'object' &&
Object.keys(elementEntries).length > 0
) {
for (const elementSelector in elementEntries) {
const entry = elementEntries[elementSelector]
if (!entry || typeof entry !== 'object') {
continue
}
const scrollX = entry.scrollX
const scrollY = entry.scrollY
if (!Number.isFinite(scrollX) || !Number.isFinite(scrollY)) {
continue
}
if (elementSelector === 'window') {
window.scrollTo({
top: scrollY,
left: scrollX,
behavior: options.behavior,
})
} else if (elementSelector) {
let element
try {
element = document.querySelector(elementSelector)
} catch {
continue
}
if (element) {
element.scrollLeft = scrollX
element.scrollTop = scrollY
}
}
}
return
}
const hash = window.location.hash.split('#', 2)[1]
if (hash) {
const hashScrollIntoViewOptions =
window.history.state?.__hashScrollIntoViewOptions ?? true
if (hashScrollIntoViewOptions) {
const el = document.getElementById(hash)
if (el) {
el.scrollIntoView(hashScrollIntoViewOptions)
}
}
return
}
window.scrollTo({ top: 0, left: 0, behavior: options.behavior })
}
@@ -0,0 +1 @@
{"version":3,"file":"cwd-error.js","sourceRoot":"","sources":["../../src/cwd-error.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,CAAQ;IACZ,IAAI,CAAQ;IACZ,OAAO,GAAG,OAAgB,CAAA;IAE1B,YAAY,IAAY,EAAE,IAAY;QACpC,KAAK,CAAC,GAAG,IAAI,qBAAqB,IAAI,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,UAAU,CAAA;IACnB,CAAC;CACF;AAdD,4BAcC","sourcesContent":["export class CwdError extends Error {\n path: string\n code: string\n syscall = 'chdir' as const\n\n constructor(path: string, code: string) {\n super(`${code}: Cannot cd into '${path}'`)\n this.path = path\n this.code = code\n }\n\n get name() {\n return 'CwdError'\n }\n}\n"]}
@@ -0,0 +1,227 @@
/**
* @fileoverview Disallow trailing spaces at the end of lines.
* @author Nodeca Team <https://github.com/nodeca>
* @deprecated in ESLint v8.53.0
*/
"use strict";
//------------------------------------------------------------------------------
// Typedefs
//------------------------------------------------------------------------------
/**
* @import { SourceLocation, SourceRange } from "@eslint/core";
*/
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const astUtils = require("./utils/ast-utils");
//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
/** @type {import('../types').Rule.RuleModule} */
module.exports = {
meta: {
deprecated: {
message: "Formatting rules are being moved out of ESLint core.",
url: "https://eslint.org/blog/2023/10/deprecating-formatting-rules/",
deprecatedSince: "8.53.0",
availableUntil: "11.0.0",
replacedBy: [
{
message:
"ESLint Stylistic now maintains deprecated stylistic core rules.",
url: "https://eslint.style/guide/migration",
plugin: {
name: "@stylistic/eslint-plugin",
url: "https://eslint.style",
},
rule: {
name: "no-trailing-spaces",
url: "https://eslint.style/rules/no-trailing-spaces",
},
},
],
},
type: "layout",
docs: {
description: "Disallow trailing whitespace at the end of lines",
recommended: false,
url: "https://eslint.org/docs/latest/rules/no-trailing-spaces",
},
fixable: "whitespace",
schema: [
{
type: "object",
properties: {
skipBlankLines: {
type: "boolean",
default: false,
},
ignoreComments: {
type: "boolean",
default: false,
},
},
additionalProperties: false,
},
],
messages: {
trailingSpace: "Trailing spaces not allowed.",
},
},
create(context) {
const sourceCode = context.sourceCode;
const BLANK_CLASS =
"[ \t\u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u3000]",
SKIP_BLANK = `^${BLANK_CLASS}*$`,
NONBLANK = `${BLANK_CLASS}+$`;
const options = context.options[0] || {},
skipBlankLines = options.skipBlankLines || false,
ignoreComments = options.ignoreComments || false;
/**
* Report the error message
* @param {ASTNode} node node to report
* @param {SourceLocation} location range information
* @param {SourceRange} fixRange Range based on the whole program
* @returns {void}
*/
function report(node, location, fixRange) {
/*
* Passing node is a bit dirty, because message data will contain big
* text in `source`. But... who cares :) ?
* One more kludge will not make worse the bloody wizardry of this
* plugin.
*/
context.report({
node,
loc: location,
messageId: "trailingSpace",
fix(fixer) {
return fixer.removeRange(fixRange);
},
});
}
/**
* Given a list of comment nodes, return the line numbers for those comments.
* @param {Array} comments An array of comment nodes.
* @returns {number[]} An array of line numbers containing comments.
*/
function getCommentLineNumbers(comments) {
const lines = new Set();
comments.forEach(comment => {
const endLine =
comment.type === "Block"
? comment.loc.end.line - 1
: comment.loc.end.line;
for (let i = comment.loc.start.line; i <= endLine; i++) {
lines.add(i);
}
});
return lines;
}
//--------------------------------------------------------------------------
// Public
//--------------------------------------------------------------------------
return {
Program: function checkTrailingSpaces(node) {
/*
* Let's hack. Since Espree does not return whitespace nodes,
* fetch the source code and do matching via regexps.
*/
const re = new RegExp(NONBLANK, "u"),
skipMatch = new RegExp(SKIP_BLANK, "u"),
lines = sourceCode.lines,
linebreaks = sourceCode
.getText()
.match(astUtils.createGlobalLinebreakMatcher()),
comments = sourceCode.getAllComments(),
commentLineNumbers = getCommentLineNumbers(comments);
let totalLength = 0;
for (let i = 0, ii = lines.length; i < ii; i++) {
const lineNumber = i + 1;
/*
* Always add linebreak length to line length to accommodate for line break (\n or \r\n)
* Because during the fix time they also reserve one spot in the array.
* Usually linebreak length is 2 for \r\n (CRLF) and 1 for \n (LF)
*/
const linebreakLength =
linebreaks && linebreaks[i] ? linebreaks[i].length : 1;
const lineLength = lines[i].length + linebreakLength;
const matches = re.exec(lines[i]);
if (matches) {
const location = {
start: {
line: lineNumber,
column: matches.index,
},
end: {
line: lineNumber,
column: lineLength - linebreakLength,
},
};
const rangeStart = totalLength + location.start.column;
const rangeEnd = totalLength + location.end.column;
const containingNode =
sourceCode.getNodeByRangeIndex(rangeStart);
if (
containingNode &&
containingNode.type === "TemplateElement" &&
rangeStart > containingNode.parent.range[0] &&
rangeEnd < containingNode.parent.range[1]
) {
totalLength += lineLength;
continue;
}
/*
* If the line has only whitespace, and skipBlankLines
* is true, don't report it
*/
if (skipBlankLines && skipMatch.test(lines[i])) {
totalLength += lineLength;
continue;
}
const fixRange = [rangeStart, rangeEnd];
if (
!ignoreComments ||
!commentLineNumbers.has(lineNumber)
) {
report(node, location, fixRange);
}
}
totalLength += lineLength;
}
},
};
},
};
@@ -0,0 +1 @@
{"version":3,"file":"otpauth.esm.min.js","sources":["../node_modules/@noble/hashes/utils.js","../node_modules/@noble/hashes/hmac.js","../node_modules/@noble/hashes/_md.js","../node_modules/@noble/hashes/legacy.js","../node_modules/@noble/hashes/_u64.js","../node_modules/@noble/hashes/sha2.js","../node_modules/@noble/hashes/sha3.js","../src/internal/global-scope.js","../src/internal/crypto/hmac-digest.js","../src/internal/encoding/base32.js","../src/internal/encoding/hex.js","../src/internal/encoding/latin1.js","../src/internal/encoding/utf8.js","../src/secret.js","../src/internal/crypto/random-bytes.js","../src/hotp.js","../src/internal/encoding/uint.js","../src/internal/crypto/timing-safe-equal.js","../src/totp.js","../src/uri.js","../src/version.js"],"sourcesContent":["/**\n * Checks if something is Uint8Array. Be careful: nodejs Buffer will return true.\n * @param a - value to test\n * @returns `true` when the value is a Uint8Array-compatible view.\n * @example\n * Check whether a value is a Uint8Array-compatible view.\n * ```ts\n * isBytes(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function isBytes(a) {\n // Plain `instanceof Uint8Array` is too strict for some Buffer / proxy / cross-realm cases.\n // The fallback still requires a real ArrayBuffer view, so plain\n // JSON-deserialized `{ constructor: ... }` spoofing is rejected, and\n // `BYTES_PER_ELEMENT === 1` keeps the fallback on byte-oriented views.\n return (a instanceof Uint8Array ||\n (ArrayBuffer.isView(a) &&\n a.constructor.name === 'Uint8Array' &&\n 'BYTES_PER_ELEMENT' in a &&\n a.BYTES_PER_ELEMENT === 1));\n}\n/**\n * Asserts something is a non-negative integer.\n * @param n - number to validate\n * @param title - label included in thrown errors\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Validate a non-negative integer option.\n * ```ts\n * anumber(32, 'length');\n * ```\n */\nexport function anumber(n, title = '') {\n if (typeof n !== 'number') {\n const prefix = title && `\"${title}\" `;\n throw new TypeError(`${prefix}expected number, got ${typeof n}`);\n }\n if (!Number.isSafeInteger(n) || n < 0) {\n const prefix = title && `\"${title}\" `;\n throw new RangeError(`${prefix}expected integer >= 0, got ${n}`);\n }\n}\n/**\n * Asserts something is Uint8Array.\n * @param value - value to validate\n * @param length - optional exact length constraint\n * @param title - label included in thrown errors\n * @returns The validated byte array.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Validate that a value is a byte array.\n * ```ts\n * abytes(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function abytes(value, length, title = '') {\n const bytes = isBytes(value);\n const len = value?.length;\n const needsLen = length !== undefined;\n if (!bytes || (needsLen && len !== length)) {\n const prefix = title && `\"${title}\" `;\n const ofLen = needsLen ? ` of length ${length}` : '';\n const got = bytes ? `length=${len}` : `type=${typeof value}`;\n const message = prefix + 'expected Uint8Array' + ofLen + ', got ' + got;\n if (!bytes)\n throw new TypeError(message);\n throw new RangeError(message);\n }\n return value;\n}\n/**\n * Copies bytes into a fresh Uint8Array.\n * Buffer-style slices can alias the same backing store, so callers that need ownership should copy.\n * @param bytes - source bytes to clone\n * @returns Freshly allocated copy of `bytes`.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Clone a byte array before mutating it.\n * ```ts\n * const copy = copyBytes(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function copyBytes(bytes) {\n // `Uint8Array.from(...)` would also accept arrays / other typed arrays. Keep this helper strict\n // because callers use it at byte-validation boundaries before mutating the detached copy.\n return Uint8Array.from(abytes(bytes));\n}\n/**\n * Asserts something is a wrapped hash constructor.\n * @param h - hash constructor to validate\n * @throws On wrong argument types or invalid hash wrapper shape. {@link TypeError}\n * @throws On invalid hash metadata ranges or values. {@link RangeError}\n * @throws If the hash metadata allows empty outputs or block sizes. {@link Error}\n * @example\n * Validate a callable hash wrapper.\n * ```ts\n * import { ahash } from '@noble/hashes/utils.js';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * ahash(sha256);\n * ```\n */\nexport function ahash(h) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new TypeError('Hash must wrapped by utils.createHasher');\n anumber(h.outputLen);\n anumber(h.blockLen);\n // HMAC and KDF callers trLine truncated
@@ -0,0 +1,2 @@
export declare function dehydrateSsrMatchId(id: string): string;
export declare function hydrateSsrMatchId(id: string): string;
@@ -0,0 +1,9 @@
import defaultErrorMap from "./locales/en.js";
let overrideErrorMap = defaultErrorMap;
export { defaultErrorMap };
export function setErrorMap(map) {
overrideErrorMap = map;
}
export function getErrorMap() {
return overrideErrorMap;
}
@@ -0,0 +1 @@
{"version":3,"file":"utensils.js","sources":["../../../src/icons/utensils.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Utensils\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAydjdjMCAxLjEuOSAyIDIgMmg0YTIgMiAwIDAgMCAyLTJWMiIgLz4KICA8cGF0aCBkPSJNNyAydjIwIiAvPgogIDxwYXRoIGQ9Ik0yMSAxNVYyYTUgNSAwIDAgMC01IDV2NmMwIDEuMS45IDIgMiAyaDNabTAgMHY3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/utensils\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 Utensils = createLucideIcon('Utensils', [\n ['path', { d: 'M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2', key: 'cjf0a3' }],\n ['path', { d: 'M7 2v20', key: '1473qp' }],\n ['path', { d: 'M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7', key: 'j28e5' }],\n]);\n\nexport default Utensils;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,iBAAiB,UAAY,CAAA,CAAA,CAAA;AAAA,CAAA,CAC5C,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,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAmD,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,CAAK,SAAS,CAAA;AACjF,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
module.exports={C:{"115":0.01906,"120":0.07897,"121":0.15249,"140":0.02723,"146":0.00545,"152":0.04629,"153":0.01362,"154":0.19333,"155":0.39211,"156":0.22601,_:"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 147 148 149 150 151 157 158 159 160 3.5 3.6"},D:{"63":0.04085,"69":0.02723,"70":0.01906,"78":0.00545,"80":0.00545,"87":0.04629,"88":0.01362,"92":0.01362,"101":0.06535,"103":0.03268,"104":0.00545,"105":0.00545,"106":0.02723,"109":0.45746,"110":0.01362,"111":0.04629,"112":0.00545,"116":0.02723,"117":0.01362,"118":0.19333,"119":0.11981,"120":0.1661,"121":0.01362,"122":0.01362,"124":0.00545,"126":0.01906,"127":0.02723,"128":0.05991,"130":0.00545,"131":0.01906,"133":0.01362,"135":0.00545,"136":0.01906,"137":0.00545,"138":0.17972,"143":0.01906,"144":0.11981,"145":0.01362,"146":0.10075,"147":0.07352,"148":0.10075,"149":0.11164,"150":0.79784,"151":3.05521,"152":5.62844,"153":3.48816,"154":1.70732,_:"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 64 65 66 67 68 71 72 73 74 75 76 77 79 81 83 84 85 86 89 90 91 93 94 95 96 97 98 99 100 102 107 108 113 114 115 123 125 129 132 134 139 140 141 142 155 156 157"},F:{"101":0.00545,"134":0.10075,"135":0.47925,_:"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:{"15":0.01362,"18":0.11981,"89":0.00545,"92":0.02723,"100":0.05991,"119":0.05991,"120":0.06535,"127":0.00545,"130":0.02723,"138":0.01906,"140":0.01362,"144":0.00545,"147":0.01362,"148":0.00545,"149":0.13343,"150":0.03268,"151":0.25324,"152":1.13005,"153":0.84413,"154":0.30498,_:"12 13 14 16 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 121 122 123 124 125 126 128 129 131 132 133 134 135 136 137 139 141 142 143 145 146"},E:{"27":0.12526,_:"4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 17.0 17.1 17.2 17.3 17.4 17.5 18.0 18.2 18.4 18.5-18.7 26.0 26.1 27.1 27.2 TP","15.6":0.04085,"16.5":0.05446,"16.6":0.01362,"17.6":0.25869,"18.1":0.04085,"18.3":0.01362,"26.2":0.01362,"26.3":0.00545,"26.4":0.01362,"26.5":0.01906,"26.6":0.02723},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00145,"5.0-5.1":0.00145,"6.0-6.1":0,"7.0-7.1":0.00291,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.01454,"11.0-11.2":0.00145,"11.3-11.4":0.00291,"12.0-12.1":0,"12.2-12.5":0.03782,"13.0-13.1":0,"13.2":0.00727,"13.3":0,"13.4-13.7":0.00145,"14.0-14.4":0.00582,"14.5-14.8":0.00873,"15.0-15.1":0.00873,"15.2-15.3":0.00582,"15.4":0.00727,"15.5":0.00873,"15.6-15.8":0.18908,"16.0":0.01454,"16.1":0.02618,"16.2":0.01454,"16.3":0.032,"16.4":0.00727,"16.5":0.01164,"16.6-16.7":0.26326,"17.0":0.01018,"17.1":0.01454,"17.2":0.01454,"17.3":0.02182,"17.4":0.03054,"17.5":0.05963,"17.6-17.7":0.15417,"18.0":0.032,"18.1":0.064,"18.2":0.08727,"18.3":0.15127,"18.4":0.09454,"18.5-18.7":1.95336,"26.0":0.09454,"26.1":0.096,"26.2":0.25017,"26.3":0.27053,"26.4":0.19781,"26.5":1.32502,"26.6":8.17559,"27.0":0.62688,"27.1":0,"27.2":0.016},P:{"21":0.01832,"22":0.01832,"24":0.10991,"25":0.10075,"26":0.13739,"27":0.02748,"28":0.21066,"29":0.10075,"30":0.64114,_:"4 20 23 5.0-5.4 6.2-6.4 8.2 10.1 11.1-11.2 12.0 14.0 15.0 18.0","7.2-7.4":0.09159,"9.2":0.00916,"13.0":0.02748,"16.0":0.00916,"17.0":0.00916,"19.0":0.0458},I:{"0":0.01454,"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":1.68076,_:"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":57.68136},R:{_:"0"},M:{"0":0.12369},Q:{_:"14.9"},O:{"0":0.22556},H:{all:0}};
@@ -0,0 +1,39 @@
/**
* @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 ServerCog = createLucideIcon("ServerCog", [
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
[
"path",
{
d: "M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5",
key: "tn8das"
}
],
[
"path",
{
d: "M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5",
key: "1g2pve"
}
],
["path", { d: "M6 6h.01", key: "1utrut" }],
["path", { d: "M6 18h.01", key: "uhywen" }],
["path", { d: "m15.7 13.4-.9-.3", key: "1jwmzr" }],
["path", { d: "m9.2 10.9-.9-.3", key: "qapnim" }],
["path", { d: "m10.6 15.7.3-.9", key: "quwk0k" }],
["path", { d: "m13.6 15.7-.4-1", key: "cb9xp7" }],
["path", { d: "m10.8 9.3-.4-1", key: "1uaiz5" }],
["path", { d: "m8.3 13.6 1-.4", key: "s6srou" }],
["path", { d: "m14.7 10.8 1-.4", key: "4d31cq" }],
["path", { d: "m13.4 8.3-.3.9", key: "1bm987" }]
]);
export { ServerCog as default };
//# sourceMappingURL=server-cog.js.map
@@ -0,0 +1,7 @@
const wrap = (min, max, v) => {
const rangeSize = max - min;
return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min;
};
export { wrap };
//# sourceMappingURL=wrap.mjs.map
@@ -0,0 +1,275 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
const adjacent_overload_signatures_1 = __importDefault(require("./adjacent-overload-signatures"));
const array_type_1 = __importDefault(require("./array-type"));
const await_thenable_1 = __importDefault(require("./await-thenable"));
const ban_ts_comment_1 = __importDefault(require("./ban-ts-comment"));
const ban_tslint_comment_1 = __importDefault(require("./ban-tslint-comment"));
const class_literal_property_style_1 = __importDefault(require("./class-literal-property-style"));
const class_methods_use_this_1 = __importDefault(require("./class-methods-use-this"));
const consistent_generic_constructors_1 = __importDefault(require("./consistent-generic-constructors"));
const consistent_indexed_object_style_1 = __importDefault(require("./consistent-indexed-object-style"));
const consistent_return_1 = __importDefault(require("./consistent-return"));
const consistent_type_assertions_1 = __importDefault(require("./consistent-type-assertions"));
const consistent_type_definitions_1 = __importDefault(require("./consistent-type-definitions"));
const consistent_type_exports_1 = __importDefault(require("./consistent-type-exports"));
const consistent_type_imports_1 = __importDefault(require("./consistent-type-imports"));
const default_param_last_1 = __importDefault(require("./default-param-last"));
const dot_notation_1 = __importDefault(require("./dot-notation"));
const explicit_function_return_type_1 = __importDefault(require("./explicit-function-return-type"));
const explicit_member_accessibility_1 = __importDefault(require("./explicit-member-accessibility"));
const explicit_module_boundary_types_1 = __importDefault(require("./explicit-module-boundary-types"));
const init_declarations_1 = __importDefault(require("./init-declarations"));
const max_params_1 = __importDefault(require("./max-params"));
const member_ordering_1 = __importDefault(require("./member-ordering"));
const method_signature_style_1 = __importDefault(require("./method-signature-style"));
const naming_convention_1 = __importDefault(require("./naming-convention"));
const no_array_constructor_1 = __importDefault(require("./no-array-constructor"));
const no_array_delete_1 = __importDefault(require("./no-array-delete"));
const no_base_to_string_1 = __importDefault(require("./no-base-to-string"));
const no_confusing_non_null_assertion_1 = __importDefault(require("./no-confusing-non-null-assertion"));
const no_confusing_void_expression_1 = __importDefault(require("./no-confusing-void-expression"));
const no_deprecated_1 = __importDefault(require("./no-deprecated"));
const no_dupe_class_members_1 = __importDefault(require("./no-dupe-class-members"));
const no_duplicate_enum_values_1 = __importDefault(require("./no-duplicate-enum-values"));
const no_duplicate_type_constituents_1 = __importDefault(require("./no-duplicate-type-constituents"));
const no_dynamic_delete_1 = __importDefault(require("./no-dynamic-delete"));
const no_empty_function_1 = __importDefault(require("./no-empty-function"));
const no_empty_interface_1 = __importDefault(require("./no-empty-interface"));
const no_empty_object_type_1 = __importDefault(require("./no-empty-object-type"));
const no_explicit_any_1 = __importDefault(require("./no-explicit-any"));
const no_extra_non_null_assertion_1 = __importDefault(require("./no-extra-non-null-assertion"));
const no_extraneous_class_1 = __importDefault(require("./no-extraneous-class"));
const no_floating_promises_1 = __importDefault(require("./no-floating-promises"));
const no_for_in_array_1 = __importDefault(require("./no-for-in-array"));
const no_implied_eval_1 = __importDefault(require("./no-implied-eval"));
const no_import_type_side_effects_1 = __importDefault(require("./no-import-type-side-effects"));
const no_inferrable_types_1 = __importDefault(require("./no-inferrable-types"));
const no_invalid_this_1 = __importDefault(require("./no-invalid-this"));
const no_invalid_void_type_1 = __importDefault(require("./no-invalid-void-type"));
const no_loop_func_1 = __importDefault(require("./no-loop-func"));
const no_loss_of_precision_1 = __importDefault(require("./no-loss-of-precision"));
const no_magic_numbers_1 = __importDefault(require("./no-magic-numbers"));
const no_meaningless_void_operator_1 = __importDefault(require("./no-meaningless-void-operator"));
const no_misused_new_1 = __importDefault(require("./no-misused-new"));
const no_misused_promises_1 = __importDefault(require("./no-misused-promises"));
const no_misused_spread_1 = __importDefault(require("./no-misused-spread"));
const no_mixed_enums_1 = __importDefault(require("./no-mixed-enums"));
const no_namespace_1 = __importDefault(require("./no-namespace"));
const no_non_null_asserted_nullish_coalescing_1 = __importDefault(require("./no-non-null-asserted-nullish-coalescing"));
const no_non_null_asserted_optional_chain_1 = __importDefault(require("./no-non-null-asserted-optional-chain"));
const no_non_null_assertion_1 = __importDefault(require("./no-non-null-assertion"));
const no_redeclare_1 = __importDefault(require("./no-redeclare"));
const no_redundant_type_constituents_1 = __importDefault(require("./no-redundant-type-constituents"));
const no_require_imports_1 = __importDefault(require("./no-require-imports"));
const no_restricted_imports_1 = __importDefault(require("./no-restricted-imports"));
const no_restricted_types_1 = __importDefault(require("./no-restricted-types"));
const no_shadow_1 = __importDefault(require("./no-shadow"));
const no_this_alias_1 = __importDefault(require("./no-this-alias"));
const no_type_alias_1 = __importDefault(require("./no-type-alias"));
const no_unnecessary_boolean_literal_compare_1 = __importDefault(require("./no-unnecessary-boolean-literal-compare"));
const no_unnecessary_condition_1 = __importDefault(require("./no-unnecessary-condition"));
const no_unnecessary_parameter_property_assignment_1 = __importDefault(require("./no-unnecessary-parameter-property-assignment"));
const no_unnecessary_qualifier_1 = __importDefault(require("./no-unnecessary-qualifier"));
const no_unnecessary_template_expression_1 = __importDefault(require("./no-unnecessary-template-expression"));
const no_unnecessary_type_arguments_1 = __importDefault(require("./no-unnecessary-type-arguments"));
const no_unnecessary_type_assertion_1 = __importDefault(require("./no-unnecessary-type-assertion"));
const no_unnecessary_type_constraint_1 = __importDefault(require("./no-unnecessary-type-constraint"));
const no_unnecessary_type_conversion_1 = __importDefault(require("./no-unnecessary-type-conversion"));
const no_unnecessary_type_parameters_1 = __importDefault(require("./no-unnecessary-type-parameters"));
const no_unsafe_argument_1 = __importDefault(require("./no-unsafe-argument"));
const no_unsafe_assignment_1 = __importDefault(require("./no-unsafe-assignment"));
const no_unsafe_call_1 = __importDefault(require("./no-unsafe-call"));
const no_unsafe_declaration_merging_1 = __importDefault(require("./no-unsafe-declaration-merging"));
const no_unsafe_enum_comparison_1 = __importDefault(require("./no-unsafe-enum-comparison"));
const no_unsafe_function_type_1 = __importDefault(require("./no-unsafe-function-type"));
const no_unsafe_member_access_1 = __importDefault(require("./no-unsafe-member-access"));
const no_unsafe_return_1 = __importDefault(require("./no-unsafe-return"));
const no_unsafe_type_assertion_1 = __importDefault(require("./no-unsafe-type-assertion"));
const no_unsafe_unary_minus_1 = __importDefault(require("./no-unsafe-unary-minus"));
const no_unused_expressions_1 = __importDefault(require("./no-unused-expressions"));
const no_unused_private_class_members_1 = __importDefault(require("./no-unused-private-class-members"));
const no_unused_vars_1 = __importDefault(require("./no-unused-vars"));
const no_use_before_define_1 = __importDefault(require("./no-use-before-define"));
const no_useless_constructor_1 = __importDefault(require("./no-useless-constructor"));
const no_useless_default_assignment_1 = __importDefault(require("./no-useless-default-assignment"));
const no_useless_empty_export_1 = __importDefault(require("./no-useless-empty-export"));
const no_var_requires_1 = __importDefault(require("./no-var-requires"));
const no_wrapper_object_types_1 = __importDefault(require("./no-wrapper-object-types"));
const non_nullable_type_assertion_style_1 = __importDefault(require("./non-nullable-type-assertion-style"));
const only_throw_error_1 = __importDefault(require("./only-throw-error"));
const parameter_properties_1 = __importDefault(require("./parameter-properties"));
const prefer_as_const_1 = __importDefault(require("./prefer-as-const"));
const prefer_destructuring_1 = __importDefault(require("./prefer-destructuring"));
const prefer_enum_initializers_1 = __importDefault(require("./prefer-enum-initializers"));
const prefer_find_1 = __importDefault(require("./prefer-find"));
const prefer_for_of_1 = __importDefault(require("./prefer-for-of"));
const prefer_function_type_1 = __importDefault(require("./prefer-function-type"));
const prefer_includes_1 = __importDefault(require("./prefer-includes"));
const prefer_literal_enum_member_1 = __importDefault(require("./prefer-literal-enum-member"));
const prefer_namespace_keyword_1 = __importDefault(require("./prefer-namespace-keyword"));
const prefer_nullish_coalescing_1 = __importDefault(require("./prefer-nullish-coalescing"));
const prefer_optional_chain_1 = __importDefault(require("./prefer-optional-chain"));
const prefer_promise_reject_errors_1 = __importDefault(require("./prefer-promise-reject-errors"));
const prefer_readonly_1 = __importDefault(require("./prefer-readonly"));
const prefer_readonly_parameter_types_1 = __importDefault(require("./prefer-readonly-parameter-types"));
const prefer_reduce_type_parameter_1 = __importDefault(require("./prefer-reduce-type-parameter"));
const prefer_regexp_exec_1 = __importDefault(require("./prefer-regexp-exec"));
const prefer_return_this_type_1 = __importDefault(require("./prefer-return-this-type"));
const prefer_string_starts_ends_with_1 = __importDefault(require("./prefer-string-starts-ends-with"));
const prefer_ts_expect_error_1 = __importDefault(require("./prefer-ts-expect-error"));
const promise_function_async_1 = __importDefault(require("./promise-function-async"));
const related_getter_setter_pairs_1 = __importDefault(require("./related-getter-setter-pairs"));
const require_array_sort_compare_1 = __importDefault(require("./require-array-sort-compare"));
const require_await_1 = __importDefault(require("./require-await"));
const restrict_plus_operands_1 = __importDefault(require("./restrict-plus-operands"));
const restrict_template_expressions_1 = __importDefault(require("./restrict-template-expressions"));
const return_await_1 = __importDefault(require("./return-await"));
const sort_type_constituents_1 = __importDefault(require("./sort-type-constituents"));
const strict_boolean_expressions_1 = __importDefault(require("./strict-boolean-expressions"));
const strict_void_return_1 = __importDefault(require("./strict-void-return"));
const switch_exhaustiveness_check_1 = __importDefault(require("./switch-exhaustiveness-check"));
const triple_slash_reference_1 = __importDefault(require("./triple-slash-reference"));
const typedef_1 = __importDefault(require("./typedef"));
const unbound_method_1 = __importDefault(require("./unbound-method"));
const unified_signatures_1 = __importDefault(require("./unified-signatures"));
const use_unknown_in_catch_callback_variable_1 = __importDefault(require("./use-unknown-in-catch-callback-variable"));
const rules = {
'adjacent-overload-signatures': adjacent_overload_signatures_1.default,
'array-type': array_type_1.default,
'await-thenable': await_thenable_1.default,
'ban-ts-comment': ban_ts_comment_1.default,
'ban-tslint-comment': ban_tslint_comment_1.default,
'class-literal-property-style': class_literal_property_style_1.default,
'class-methods-use-this': class_methods_use_this_1.default,
'consistent-generic-constructors': consistent_generic_constructors_1.default,
'consistent-indexed-object-style': consistent_indexed_object_style_1.default,
'consistent-return': consistent_return_1.default,
'consistent-type-assertions': consistent_type_assertions_1.default,
'consistent-type-definitions': consistent_type_definitions_1.default,
'consistent-type-exports': consistent_type_exports_1.default,
'consistent-type-imports': consistent_type_imports_1.default,
'default-param-last': default_param_last_1.default,
'dot-notation': dot_notation_1.default,
'explicit-function-return-type': explicit_function_return_type_1.default,
'explicit-member-accessibility': explicit_member_accessibility_1.default,
'explicit-module-boundary-types': explicit_module_boundary_types_1.default,
'init-declarations': init_declarations_1.default,
'max-params': max_params_1.default,
'member-ordering': member_ordering_1.default,
'method-signature-style': method_signature_style_1.default,
'naming-convention': naming_convention_1.default,
'no-array-constructor': no_array_constructor_1.default,
'no-array-delete': no_array_delete_1.default,
'no-base-to-string': no_base_to_string_1.default,
'no-confusing-non-null-assertion': no_confusing_non_null_assertion_1.default,
'no-confusing-void-expression': no_confusing_void_expression_1.default,
'no-deprecated': no_deprecated_1.default,
'no-dupe-class-members': no_dupe_class_members_1.default,
'no-duplicate-enum-values': no_duplicate_enum_values_1.default,
'no-duplicate-type-constituents': no_duplicate_type_constituents_1.default,
'no-dynamic-delete': no_dynamic_delete_1.default,
'no-empty-function': no_empty_function_1.default,
'no-empty-interface': no_empty_interface_1.default,
'no-empty-object-type': no_empty_object_type_1.default,
'no-explicit-any': no_explicit_any_1.default,
'no-extra-non-null-assertion': no_extra_non_null_assertion_1.default,
'no-extraneous-class': no_extraneous_class_1.default,
'no-floating-promises': no_floating_promises_1.default,
'no-for-in-array': no_for_in_array_1.default,
'no-implied-eval': no_implied_eval_1.default,
'no-import-type-side-effects': no_import_type_side_effects_1.default,
'no-inferrable-types': no_inferrable_types_1.default,
'no-invalid-this': no_invalid_this_1.default,
'no-invalid-void-type': no_invalid_void_type_1.default,
'no-loop-func': no_loop_func_1.default,
'no-loss-of-precision': no_loss_of_precision_1.default,
'no-magic-numbers': no_magic_numbers_1.default,
'no-meaningless-void-operator': no_meaningless_void_operator_1.default,
'no-misused-new': no_misused_new_1.default,
'no-misused-promises': no_misused_promises_1.default,
'no-misused-spread': no_misused_spread_1.default,
'no-mixed-enums': no_mixed_enums_1.default,
'no-namespace': no_namespace_1.default,
'no-non-null-asserted-nullish-coalescing': no_non_null_asserted_nullish_coalescing_1.default,
'no-non-null-asserted-optional-chain': no_non_null_asserted_optional_chain_1.default,
'no-non-null-assertion': no_non_null_assertion_1.default,
'no-redeclare': no_redeclare_1.default,
'no-redundant-type-constituents': no_redundant_type_constituents_1.default,
'no-require-imports': no_require_imports_1.default,
'no-restricted-imports': no_restricted_imports_1.default,
'no-restricted-types': no_restricted_types_1.default,
'no-shadow': no_shadow_1.default,
'no-this-alias': no_this_alias_1.default,
'no-type-alias': no_type_alias_1.default,
'no-unnecessary-boolean-literal-compare': no_unnecessary_boolean_literal_compare_1.default,
'no-unnecessary-condition': no_unnecessary_condition_1.default,
'no-unnecessary-parameter-property-assignment': no_unnecessary_parameter_property_assignment_1.default,
'no-unnecessary-qualifier': no_unnecessary_qualifier_1.default,
'no-unnecessary-template-expression': no_unnecessary_template_expression_1.default,
'no-unnecessary-type-arguments': no_unnecessary_type_arguments_1.default,
'no-unnecessary-type-assertion': no_unnecessary_type_assertion_1.default,
'no-unnecessary-type-constraint': no_unnecessary_type_constraint_1.default,
'no-unnecessary-type-conversion': no_unnecessary_type_conversion_1.default,
'no-unnecessary-type-parameters': no_unnecessary_type_parameters_1.default,
'no-unsafe-argument': no_unsafe_argument_1.default,
'no-unsafe-assignment': no_unsafe_assignment_1.default,
'no-unsafe-call': no_unsafe_call_1.default,
'no-unsafe-declaration-merging': no_unsafe_declaration_merging_1.default,
'no-unsafe-enum-comparison': no_unsafe_enum_comparison_1.default,
'no-unsafe-function-type': no_unsafe_function_type_1.default,
'no-unsafe-member-access': no_unsafe_member_access_1.default,
'no-unsafe-return': no_unsafe_return_1.default,
'no-unsafe-type-assertion': no_unsafe_type_assertion_1.default,
'no-unsafe-unary-minus': no_unsafe_unary_minus_1.default,
'no-unused-expressions': no_unused_expressions_1.default,
'no-unused-private-class-members': no_unused_private_class_members_1.default,
'no-unused-vars': no_unused_vars_1.default,
'no-use-before-define': no_use_before_define_1.default,
'no-useless-constructor': no_useless_constructor_1.default,
'no-useless-default-assignment': no_useless_default_assignment_1.default,
'no-useless-empty-export': no_useless_empty_export_1.default,
'no-var-requires': no_var_requires_1.default,
'no-wrapper-object-types': no_wrapper_object_types_1.default,
'non-nullable-type-assertion-style': non_nullable_type_assertion_style_1.default,
'only-throw-error': only_throw_error_1.default,
'parameter-properties': parameter_properties_1.default,
'prefer-as-const': prefer_as_const_1.default,
'prefer-destructuring': prefer_destructuring_1.default,
'prefer-enum-initializers': prefer_enum_initializers_1.default,
'prefer-find': prefer_find_1.default,
'prefer-for-of': prefer_for_of_1.default,
'prefer-function-type': prefer_function_type_1.default,
'prefer-includes': prefer_includes_1.default,
'prefer-literal-enum-member': prefer_literal_enum_member_1.default,
'prefer-namespace-keyword': prefer_namespace_keyword_1.default,
'prefer-nullish-coalescing': prefer_nullish_coalescing_1.default,
'prefer-optional-chain': prefer_optional_chain_1.default,
'prefer-promise-reject-errors': prefer_promise_reject_errors_1.default,
'prefer-readonly': prefer_readonly_1.default,
'prefer-readonly-parameter-types': prefer_readonly_parameter_types_1.default,
'prefer-reduce-type-parameter': prefer_reduce_type_parameter_1.default,
'prefer-regexp-exec': prefer_regexp_exec_1.default,
'prefer-return-this-type': prefer_return_this_type_1.default,
'prefer-string-starts-ends-with': prefer_string_starts_ends_with_1.default,
'prefer-ts-expect-error': prefer_ts_expect_error_1.default,
'promise-function-async': promise_function_async_1.default,
'related-getter-setter-pairs': related_getter_setter_pairs_1.default,
'require-array-sort-compare': require_array_sort_compare_1.default,
'require-await': require_await_1.default,
'restrict-plus-operands': restrict_plus_operands_1.default,
'restrict-template-expressions': restrict_template_expressions_1.default,
'return-await': return_await_1.default,
'sort-type-constituents': sort_type_constituents_1.default,
'strict-boolean-expressions': strict_boolean_expressions_1.default,
'strict-void-return': strict_void_return_1.default,
'switch-exhaustiveness-check': switch_exhaustiveness_check_1.default,
'triple-slash-reference': triple_slash_reference_1.default,
typedef: typedef_1.default,
'unbound-method': unbound_method_1.default,
'unified-signatures': unified_signatures_1.default,
'use-unknown-in-catch-callback-variable': use_unknown_in_catch_callback_variable_1.default,
};
module.exports = rules;
@@ -0,0 +1,480 @@
{
"bugs": {
"url": "https://github.com/nodejs/node-addon-api/issues"
},
"contributors": [
{
"name": "Abhishek Kumar Singh",
"url": "https://github.com/abhi11210646"
},
{
"name": "Alba Mendez",
"url": "https://github.com/jmendeth"
},
{
"name": "Alexander Floh",
"url": "https://github.com/alexanderfloh"
},
{
"name": "Ammar Faizi",
"url": "https://github.com/ammarfaizi2"
},
{
"name": "András Timár, Dr",
"url": "https://github.com/timarandras"
},
{
"name": "Andrew Petersen",
"url": "https://github.com/kirbysayshi"
},
{
"name": "Anisha Rohra",
"url": "https://github.com/anisha-rohra"
},
{
"name": "Anna Henningsen",
"url": "https://github.com/addaleax"
},
{
"name": "Arnaud Botella",
"url": "https://github.com/BotellaA"
},
{
"name": "Arunesh Chandra",
"url": "https://github.com/aruneshchandra"
},
{
"name": "Azlan Mukhtar",
"url": "https://github.com/azlan"
},
{
"name": "Ben Berman",
"url": "https://github.com/rivertam"
},
{
"name": "Benjamin Byholm",
"url": "https://github.com/kkoopa"
},
{
"name": "Bill Gallafent",
"url": "https://github.com/gallafent"
},
{
"name": "blagoev",
"url": "https://github.com/blagoev"
},
{
"name": "Bruce A. MacNaughton",
"url": "https://github.com/bmacnaughton"
},
{
"name": "Cory Mickelson",
"url": "https://github.com/corymickelson"
},
{
"name": "Daniel Bevenius",
"url": "https://github.com/danbev"
},
{
"name": "Dante Calderón",
"url": "https://github.com/dantehemerson"
},
{
"name": "Darshan Sen",
"url": "https://github.com/RaisinTen"
},
{
"name": "David Halls",
"url": "https://github.com/davedoesdev"
},
{
"name": "Deepak Rajamohan",
"url": "https://github.com/deepakrkris"
},
{
"name": "Dmitry Ashkadov",
"url": "https://github.com/dmitryash"
},
{
"name": "Dongjin Na",
"url": "https://github.com/nadongguri"
},
{
"name": "Doni Rubiagatra",
"url": "https://github.com/rubiagatra"
},
{
"name": "Eric Bickle",
"url": "https://github.com/ebickle"
},
{
"name": "extremeheat",
"url": "https://github.com/extremeheat"
},
{
"name": "Feng Yu",
"url": "https://github.com/F3n67u"
},
{
"name": "Ferdinand Holzer",
"url": "https://github.com/fholzer"
},
{
"name": "Gabriel Schulhof",
"url": "https://github.com/gabrielschulhof"
},
{
"name": "Guenter Sandner",
"url": "https://github.com/gms1"
},
{
"name": "Gus Caplan",
"url": "https://github.com/devsnek"
},
{
"name": "Helio Frota",
"url": "https://github.com/helio-frota"
},
{
"name": "Hitesh Kanwathirtha",
"url": "https://github.com/digitalinfinity"
},
{
"name": "ikokostya",
"url": "https://github.com/ikokostya"
},
{
"name": "Jack Xia",
"url": "https://github.com/JckXia"
},
{
"name": "Jake Barnes",
"url": "https://github.com/DuBistKomisch"
},
{
"name": "Jake Yoon",
"url": "https://github.com/yjaeseok"
},
{
"name": "Jason Ginchereau",
"url": "https://github.com/jasongin"
},
{
"name": "Jenny",
"url": "https://github.com/egg-bread"
},
{
"name": "Jeroen Janssen",
"url": "https://github.com/japj"
},
{
"name": "Jim Schlight",
"url": "https://github.com/jschlight"
},
{
"name": "Jinho Bang",
"url": "https://github.com/romandev"
},
{
"name": "José Expósito",
"url": "https://github.com/JoseExposito"
},
{
"name": "joshgarde",
"url": "https://github.com/joshgarde"
},
{
"name": "Julian Mesa",
"url": "https://github.com/julianmesa-gitkraken"
},
{
"name": "Kasumi Hanazuki",
"url": "https://github.com/hanazuki"
},
{
"name": "Kelvin",
"url": "https://github.com/kelvinhammond"
},
{
"name": "Kevin Eady",
"url": "https://github.com/KevinEady"
},
{
"name": "Kévin VOYER",
"url": "https://github.com/kecsou"
},
{
"name": "kidneysolo",
"url": "https://github.com/kidneysolo"
},
{
"name": "Koki Nishihara",
"url": "https://github.com/Nishikoh"
},
{
"name": "Konstantin Tarkus",
"url": "https://github.com/koistya"
},
{
"name": "Kyle Farnung",
"url": "https://github.com/kfarnung"
},
{
"name": "Kyle Kovacs",
"url": "https://github.com/nullromo"
},
{
"name": "legendecas",
"url": "https://github.com/legendecas"
},
{
"name": "LongYinan",
"url": "https://github.com/Brooooooklyn"
},
{
"name": "Lovell Fuller",
"url": "https://github.com/lovell"
},
{
"name": "Luciano Martorella",
"url": "https://github.com/lmartorella"
},
{
"name": "mastergberry",
"url": "https://github.com/mastergberry"
},
{
"name": "Mathias Küsel",
"url": "https://github.com/mathiask88"
},
{
"name": "Mathias Stearn",
"url": "https://github.com/RedBeard0531"
},
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
},
{
"name": "Michael Dawson",
"url": "https://github.com/mhdawson"
},
{
"name": "Michael Price",
"url": "https://github.com/mikepricedev"
},
{
"name": "Michele Campus",
"url": "https://github.com/kYroL01"
},
{
"name": "Mikhail Cheshkov",
"url": "https://github.com/mcheshkov"
},
{
"name": "nempoBu4",
"url": "https://github.com/nempoBu4"
},
{
"name": "Nicola Del Gobbo",
"url": "https://github.com/NickNaso"
},
{
"name": "Nick Soggin",
"url": "https://github.com/iSkore"
},
{
"name": "Nikolai Vavilov",
"url": "https://github.com/seishun"
},
{
"name": "Nurbol Alpysbayev",
"url": "https://github.com/anurbol"
},
{
"name": "pacop",
"url": "https://github.com/pacop"
},
{
"name": "Peter Šándor",
"url": "https://github.com/petersandor"
},
{
"name": "Philipp Renoth",
"url": "https://github.com/DaAitch"
},
{
"name": "rgerd",
"url": "https://github.com/rgerd"
},
{
"name": "Richard Lau",
"url": "https://github.com/richardlau"
},
{
"name": "Rolf Timmermans",
"url": "https://github.com/rolftimmermans"
},
{
"name": "Ross Weir",
"url": "https://github.com/ross-weir"
},
{
"name": "Ryuichi Okumura",
"url": "https://github.com/okuryu"
},
{
"name": "Saint Gabriel",
"url": "https://github.com/chineduG"
},
{
"name": "Sampson Gao",
"url": "https://github.com/sampsongao"
},
{
"name": "Sam Roberts",
"url": "https://github.com/sam-github"
},
{
"name": "strager",
"url": "https://github.com/strager"
},
{
"name": "Taylor Woll",
"url": "https://github.com/boingoing"
},
{
"name": "Thomas Gentilhomme",
"url": "https://github.com/fraxken"
},
{
"name": "Tim Rach",
"url": "https://github.com/timrach"
},
{
"name": "Tobias Nießen",
"url": "https://github.com/tniessen"
},
{
"name": "todoroff",
"url": "https://github.com/todoroff"
},
{
"name": "Toyo Li",
"url": "https://github.com/toyobayashi"
},
{
"name": "Tux3",
"url": "https://github.com/tux3"
},
{
"name": "Vlad Velmisov",
"url": "https://github.com/Velmisov"
},
{
"name": "Vladimir Morozov",
"url": "https://github.com/vmoroz"
},
{
"name": "WenheLI",
"url": "https://github.com/WenheLI"
},
{
"name": "Xuguang Mei",
"url": "https://github.com/meixg"
},
{
"name": "Yohei Kishimoto",
"url": "https://github.com/morokosi"
},
{
"name": "Yulong Wang",
"url": "https://github.com/fs-eire"
},
{
"name": "Ziqiu Zhao",
"url": "https://github.com/ZzqiZQute"
},
{
"name": "Feng Yu",
"url": "https://github.com/F3n67u"
},
{
"name": "wanlu wang",
"url": "https://github.com/wanlu"
},
{
"name": "Caleb Hearon",
"url": "https://github.com/chearon"
},
{
"name": "Marx",
"url": "https://github.com/MarxJiao"
},
{
"name": "Ömer AKGÜL",
"url": "https://github.com/tuhalf"
}
],
"description": "Node.js API (Node-API)",
"devDependencies": {
"benchmark": "^2.1.4",
"bindings": "^1.5.0",
"clang-format": "^1.4.0",
"eslint": "^7.32.0",
"eslint-config-semistandard": "^16.0.0",
"eslint-config-standard": "^16.0.3",
"eslint-plugin-import": "^2.24.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.1.0",
"fs-extra": "^11.1.1",
"path": "^0.12.7",
"pre-commit": "^1.2.2",
"safe-buffer": "^5.1.1"
},
"directories": {},
"gypfile": false,
"homepage": "https://github.com/nodejs/node-addon-api",
"keywords": [
"n-api",
"napi",
"addon",
"native",
"bindings",
"c",
"c++",
"nan",
"node-addon-api"
],
"license": "MIT",
"main": "index.js",
"name": "node-addon-api",
"readme": "README.md",
"repository": {
"type": "git",
"url": "git://github.com/nodejs/node-addon-api.git"
},
"files": [
"*.{c,h,gyp,gypi}",
"package-support.json",
"tools/"
],
"scripts": {
"prebenchmark": "node-gyp rebuild -C benchmark",
"benchmark": "node benchmark",
"pretest": "node-gyp rebuild -C test",
"test": "node test",
"test:debug": "node-gyp rebuild -C test --debug && NODE_API_BUILD_CONFIG=Debug node ./test/index.js",
"predev": "node-gyp rebuild -C test --debug",
"dev": "node test",
"predev:incremental": "node-gyp configure build -C test --debug",
"dev:incremental": "node test",
"doc": "doxygen doc/Doxyfile",
"lint": "node tools/eslint-format && node tools/clang-format",
"lint:fix": "node tools/clang-format --fix && node tools/eslint-format --fix"
},
"pre-commit": "lint",
"version": "7.1.1",
"support": true
}
@@ -0,0 +1,17 @@
/**
* @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 Workflow = createLucideIcon("Workflow", [
["rect", { width: "8", height: "8", x: "3", y: "3", rx: "2", key: "by2w9f" }],
["path", { d: "M7 11v4a2 2 0 0 0 2 2h4", key: "xkn7yn" }],
["rect", { width: "8", height: "8", x: "13", y: "13", rx: "2", key: "1cgmvn" }]
]);
export { Workflow as default };
//# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
import{a,b,c,d,e,f}from"./chunk-F4544Y4M.mjs";import"./chunk-TDNFF6A4.mjs";import"./chunk-X4GG3EDV.mjs";export{b as Features,a as Polyfills,e as __unstable__loadDesignSystem,d as compile,c as compileAst,f as default};
@@ -0,0 +1,132 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("@typescript-eslint/utils");
const tsutils = __importStar(require("ts-api-utils"));
const ts = __importStar(require("typescript"));
const util_1 = require("../util");
exports.default = (0, util_1.createRule)({
name: 'non-nullable-type-assertion-style',
meta: {
type: 'suggestion',
docs: {
description: 'Enforce non-null assertions over explicit type assertions',
recommended: 'stylistic',
requiresTypeChecking: true,
},
fixable: 'code',
messages: {
preferNonNullAssertion: 'Use a ! assertion to more succinctly remove null and undefined from the type.',
},
schema: [],
},
defaultOptions: [],
create(context) {
const services = (0, util_1.getParserServices)(context);
const getTypesIfNotLoose = (node) => {
const type = services.getTypeAtLocation(node);
if (tsutils.isTypeFlagSet(type, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) {
return undefined;
}
return tsutils.unionConstituents(type);
};
const couldBeNullish = (type) => {
if (tsutils.isTypeFlagSet(type, ts.TypeFlags.TypeParameter)) {
const constraint = type.getConstraint();
return constraint == null || couldBeNullish(constraint);
}
if (tsutils.isUnionType(type)) {
for (const part of type.types) {
if (couldBeNullish(part)) {
return true;
}
}
return false;
}
return tsutils.isTypeFlagSet(type, ts.TypeFlags.Null | ts.TypeFlags.Undefined);
};
const sameTypeWithoutNullish = (assertedTypes, originalTypes) => {
const nonNullishOriginalTypes = originalTypes.filter(type => !tsutils.isTypeFlagSet(type, ts.TypeFlags.Null | ts.TypeFlags.Undefined));
if (nonNullishOriginalTypes.length === originalTypes.length) {
return false;
}
for (const assertedType of assertedTypes) {
if (couldBeNullish(assertedType) ||
!nonNullishOriginalTypes.includes(assertedType)) {
return false;
}
}
for (const originalType of nonNullishOriginalTypes) {
if (!assertedTypes.includes(originalType)) {
return false;
}
}
return true;
};
const isConstAssertion = (node) => {
return (node.typeAnnotation.type === utils_1.AST_NODE_TYPES.TSTypeReference &&
node.typeAnnotation.typeName.type === utils_1.AST_NODE_TYPES.Identifier &&
node.typeAnnotation.typeName.name === 'const');
};
return {
'TSAsExpression, TSTypeAssertion'(node) {
if (isConstAssertion(node)) {
return;
}
const originalTypes = getTypesIfNotLoose(node.expression);
if (!originalTypes) {
return;
}
const assertedTypes = getTypesIfNotLoose(node.typeAnnotation);
if (!assertedTypes) {
return;
}
if (sameTypeWithoutNullish(assertedTypes, originalTypes)) {
const expressionSourceCode = context.sourceCode.getText(node.expression);
const higherPrecedenceThanUnary = (0, util_1.getOperatorPrecedence)(services.esTreeNodeToTSNodeMap.get(node.expression).kind, ts.SyntaxKind.Unknown) > util_1.OperatorPrecedence.Unary;
context.report({
node,
messageId: 'preferNonNullAssertion',
fix(fixer) {
return fixer.replaceText(node, higherPrecedenceThanUnary
? `${expressionSourceCode}!`
: `(${expressionSourceCode})!`);
},
});
}
},
};
},
});
@@ -0,0 +1,16 @@
import type { ParserServicesWithTypeInformation, TSESTree } from '@typescript-eslint/utils';
import * as ts from 'typescript';
/**
* Inspect a call expression to see if it's a call to an assertion function.
* If it is, return the node of the argument that is asserted.
*/
export declare function findTruthinessAssertedArgument(services: ParserServicesWithTypeInformation, node: TSESTree.CallExpression): TSESTree.Expression | undefined;
/**
* Inspect a call expression to see if it's a call to an assertion function.
* If it is, return the node of the argument that is asserted and other useful info.
*/
export declare function findTypeGuardAssertedArgument(services: ParserServicesWithTypeInformation, node: TSESTree.CallExpression): {
argument: TSESTree.Expression;
asserts: boolean;
type: ts.Type;
} | undefined;
@@ -0,0 +1 @@
{"version":3,"file":"battery-full.js","sources":["../../../src/icons/battery-full.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name BatteryFull\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMTAiIHg9IjIiIHk9IjciIHJ4PSIyIiByeT0iMiIgLz4KICA8bGluZSB4MT0iMjIiIHgyPSIyMiIgeTE9IjExIiB5Mj0iMTMiIC8+CiAgPGxpbmUgeDE9IjYiIHgyPSI2IiB5MT0iMTEiIHkyPSIxMyIgLz4KICA8bGluZSB4MT0iMTAiIHgyPSIxMCIgeTE9IjExIiB5Mj0iMTMiIC8+CiAgPGxpbmUgeDE9IjE0IiB4Mj0iMTQiIHkxPSIxMSIgeTI9IjEzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/battery-full\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 BatteryFull = createLucideIcon('BatteryFull', [\n ['rect', { width: '16', height: '10', x: '2', y: '7', rx: '2', ry: '2', key: '1w10f2' }],\n ['line', { x1: '22', x2: '22', y1: '11', y2: '13', key: '4dh1rd' }],\n ['line', { x1: '6', x2: '6', y1: '11', y2: '13', key: '1wd6dw' }],\n ['line', { x1: '10', x2: '10', y1: '11', y2: '13', key: 'haxvl5' }],\n ['line', { x1: '14', x2: '14', y1: '11', y2: '13', key: 'c6fn6x' }],\n]);\n\nexport default BatteryFull;\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,KAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,EAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,KAAK,CAAI,CAAA,CAAA,CAAA,GAAA,CAAK,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,CAAA,CAAA;AAAA,CACvF,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,CAAA;AAAA,CAClE,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAE,CAAA,CAAA,CAAA,EAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAK,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,CAAA;AAAA,CAChE,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,CAAA;AAAA,CAClE,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 @@
{"version":3,"file":"lucide-react.js","sources":["../../../shared/src/utils.ts","../../src/defaultAttributes.ts","../../src/Icon.ts","../../src/createLucideIcon.ts","../../src/icons/a-arrow-down.ts","../../src/icons/a-arrow-up.ts","../../src/icons/a-large-small.ts","../../src/icons/accessibility.ts","../../src/icons/activity.ts","../../src/icons/air-vent.ts","../../src/icons/airplay.ts","../../src/icons/alarm-clock-check.ts","../../src/icons/alarm-clock-minus.ts","../../src/icons/alarm-clock-off.ts","../../src/icons/alarm-clock-plus.ts","../../src/icons/alarm-clock.ts","../../src/icons/alarm-smoke.ts","../../src/icons/album.ts","../../src/icons/align-center-horizontal.ts","../../src/icons/align-center-vertical.ts","../../src/icons/align-center.ts","../../src/icons/align-end-horizontal.ts","../../src/icons/align-end-vertical.ts","../../src/icons/align-horizontal-distribute-center.ts","../../src/icons/align-horizontal-distribute-end.ts","../../src/icons/align-horizontal-distribute-start.ts","../../src/icons/align-horizontal-justify-center.ts","../../src/icons/align-horizontal-justify-end.ts","../../src/icons/align-horizontal-justify-start.ts","../../src/icons/align-horizontal-space-around.ts","../../src/icons/align-horizontal-space-between.ts","../../src/icons/align-justify.ts","../../src/icons/align-left.ts","../../src/icons/align-right.ts","../../src/icons/align-start-horizontal.ts","../../src/icons/align-start-vertical.ts","../../src/icons/align-vertical-distribute-center.ts","../../src/icons/align-vertical-distribute-end.ts","../../src/icons/align-vertical-distribute-start.ts","../../src/icons/align-vertical-justify-center.ts","../../src/icons/align-vertical-justify-end.ts","../../src/icons/align-vertical-justify-start.ts","../../src/icons/align-vertical-space-around.ts","../../src/icons/align-vertical-space-between.ts","../../src/icons/ambulance.ts","../../src/icons/ampersand.ts","../../src/icons/ampersands.ts","../../src/icons/amphora.ts","../../src/icons/anchor.ts","../../src/icons/angry.ts","../../src/icons/annoyed.ts","../../src/icons/antenna.ts","../../src/icons/anvil.ts","../../src/icons/aperture.ts","../../src/icons/app-window-mac.ts","../../src/icons/app-window.ts","../../src/icons/apple.ts","../../src/icons/archive-restore.ts","../../src/icons/archive-x.ts","../../src/icons/archive.ts","../../src/icons/armchair.ts","../../src/icons/arrow-big-down-dash.ts","../../src/icons/arrow-big-down.ts","../../src/icons/arrow-big-left-dash.ts","../../src/icons/arrow-big-left.ts","../../src/icons/arrow-big-right-dash.ts","../../src/icons/arrow-big-right.ts","../../src/icons/arrow-big-up-dash.ts","../../src/icons/arrow-big-up.ts","../../src/icons/arrow-down-0-1.ts","../../src/icons/arrow-down-1-0.ts","../../src/icons/arrow-down-a-z.ts","../../src/icons/arrow-down-from-line.ts","../../src/icons/arrow-down-left.ts","../../src/icons/arrow-down-narrow-wide.ts","../../src/icons/arrow-down-right.ts","../../src/icons/arrow-down-to-dot.ts","../../src/icons/arrow-down-to-line.ts","../../src/icons/arrow-down-up.ts","../../src/icons/arrow-down-wide-narrow.ts","../../src/icons/arrow-down-z-a.ts","../../src/icons/arrow-down.ts","../../src/icons/arrow-left-from-line.ts","../../src/icons/arrow-left-right.ts","../../src/icons/arrow-left-to-line.ts","../../src/icons/arrow-left.ts","../../src/icons/arrow-right-from-line.ts","../../src/icons/arrow-right-left.ts","../../src/icons/arrow-right-to-line.ts","../../src/icons/arrow-right.ts","../../src/icons/arrow-up-0-1.ts","../../src/icons/arrow-up-1-0.ts","../../src/icons/arrow-up-a-z.ts","../../src/icons/arrow-up-down.ts","../../src/icons/arrow-up-from-dot.ts","../../src/icons/arrow-up-from-line.ts","../../src/icons/arrow-up-left.ts","../../src/icons/arrow-up-narrow-wide.ts","../../src/icons/arrow-up-right.ts","../../src/icons/arrow-up-to-line.ts","../../src/icons/arrow-up-wide-narrow.ts","../../src/icons/arrow-up-z-a.ts","../../src/icons/arrow-up.ts","../../src/icons/arrows-up-from-line.ts","../../src/icons/asterisk.ts","../../src/icons/at-sign.ts","../../src/icons/atom.ts","../../src/icons/audio-lines.ts","../../src/icons/audio-waveform.ts","../../src/icons/award.ts","../../src/icons/axe.ts","../../src/icons/axis-3d.ts","../../src/icons/baby.ts","../../src/icons/backpack.ts","../../src/icons/badge-alert.ts","../../src/icons/badge-cent.ts","../../src/icons/badge-check.ts","../../src/icons/badge-dollar-sign.ts","../../src/icons/badge-euro.ts","../../src/icons/badge-help.ts","../../src/icons/badge-indian-rupee.ts","../../src/icons/badge-info.ts","../../src/icons/badge-japanese-yen.ts","../../src/icons/badge-minus.ts","../../src/icons/badge-percent.ts","../../src/icons/badge-plus.ts","../../src/icons/badge-pound-sterling.ts","../../src/icons/badge-russian-ruble.ts","../../src/icons/badge-swiss-franc.ts","../../src/icons/badge-x.ts","../../src/icons/badge.ts","../../src/icons/baggage-claim.ts","../../src/icons/ban.ts","../../src/icons/banana.ts","../../src/icons/bandage.ts","../../srLine truncated
@@ -0,0 +1,17 @@
/**
* @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 ArrowUpFromLine = createLucideIcon("ArrowUpFromLine", [
["path", { d: "m18 9-6-6-6 6", key: "kcunyi" }],
["path", { d: "M12 3v14", key: "7cf3v8" }],
["path", { d: "M5 21h14", key: "11awu3" }]
]);
export { ArrowUpFromLine as default };
//# sourceMappingURL=arrow-up-from-line.js.map
@@ -0,0 +1 @@
{"version":3,"file":"index.mjs","sources":["../../../src/resize/index.ts"],"sourcesContent":["import { ElementOrSelector } from \"../utils/resolve-elements\"\nimport { resizeElement } from \"./handle-element\"\nimport { resizeWindow } from \"./handle-window\"\nimport { ResizeHandler, WindowResizeHandler } from \"./types\"\n\nexport function resize(onResize: WindowResizeHandler): VoidFunction\nexport function resize(\n target: ElementOrSelector,\n onResize: ResizeHandler<Element>\n): VoidFunction\nexport function resize(\n a: WindowResizeHandler | ElementOrSelector,\n b?: ResizeHandler<Element>\n) {\n return typeof a === \"function\" ? resizeWindow(a) : resizeElement(a, b!)\n}\n"],"names":[],"mappings":";;;AAUM,SAAU,MAAM,CAClB,CAA0C,EAC1C,CAA0B,EAAA;IAE1B,OAAO,OAAO,CAAC,KAAK,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAE,CAAC;AAC3E;;;;"}
@@ -0,0 +1,82 @@
var Hw=Object.defineProperty;var Ew=($)=>$;function kw($,g){this[$]=Ew.bind(null,g)}var e$=($,g)=>{for(var _ in g)Hw($,_,{get:g[_],enumerable:!0,configurable:!0,set:kw.bind(g,_)})};import{useEffect as m9,useState as PX}from"react";var{create:Sw,defineProperty:AD,getOwnPropertyDescriptor:Aw,getOwnPropertyNames:qw,getPrototypeOf:Zw}=Object,Mw=Object.prototype.hasOwnProperty,HX=($,g)=>()=>(g||$((g={exports:{}}).exports,g),g.exports),EX=($,g)=>{let _={};for(var D in $)AD(_,D,{get:$[D],enumerable:!0});if(g)AD(_,Symbol.toStringTag,{value:"Module"});return _},Tw=($,g,_,D)=>{if(g&&typeof g==="object"||typeof g==="function"){for(var v=qw(g),I=0,U=v.length,N;I<U;I++)if(N=v[I],!Mw.call($,N)&&N!==_)AD($,N,{get:((J)=>g[J]).bind(null,N),enumerable:!(D=Aw(g,N))||D.enumerable})}return $},kX=($,g,_)=>(_=$!=null?Sw(Zw($)):{},Tw(g||!$||!$.__esModule?AD(_,"default",{value:$,enumerable:!0}):_,$));var Lw=new Set(["https://json-schema.org/draft/2019-09/schema","http://json-schema.org/draft/2019-09/schema"]);function SX($){return typeof $==="string"&&Lw.has($.replace(/#$/,""))}var z={};e$(z,{xor:()=>oG,xid:()=>BG,void:()=>cG,uuidv7:()=>OG,uuidv6:()=>GG,uuidv4:()=>XG,uuid:()=>zG,util:()=>H,url:()=>b6,uppercase:()=>p4,unknown:()=>T,union:()=>q,undefined:()=>nG,ulid:()=>VG,uint64:()=>mG,uint32:()=>yG,tuple:()=>Uz,trim:()=>$6,treeifyError:()=>UN,transform:()=>gU,toUpperCase:()=>g6,toLowerCase:()=>v6,toJSONSchema:()=>v4,templateLiteral:()=>UO,symbol:()=>hG,superRefine:()=>Mz,success:()=>_O,stringbool:()=>OO,stringFormat:()=>TG,string:()=>b,strictObject:()=>pG,startsWith:()=>t4,slugify:()=>_6,size:()=>ev,setErrorMap:()=>JY,set:()=>sG,safeParseAsync:()=>fW,safeParse:()=>N_,safeEncodeAsync:()=>cW,safeEncode:()=>hW,safeDecodeAsync:()=>rW,safeDecode:()=>nW,registry:()=>$1,regexes:()=>M$,regex:()=>r4,refine:()=>Zz,record:()=>k,readonly:()=>Ez,property:()=>E1,promise:()=>NO,prettifyError:()=>NN,preprocess:()=>gv,prefault:()=>Qz,positive:()=>B1,pipe:()=>W_,partialRecord:()=>tG,parseAsync:()=>uW,parse:()=>CW,overwrite:()=>R$,optional:()=>L,object:()=>X,number:()=>V,nullish:()=>gO,nullable:()=>J_,null:()=>n$,normalize:()=>s4,nonpositive:()=>F1,nonoptional:()=>Kz,nonnegative:()=>H1,never:()=>vU,negative:()=>P1,nativeEnum:()=>$O,nanoid:()=>YG,nan:()=>IO,multipleOf:()=>Vv,minSize:()=>m$,minLength:()=>$v,mime:()=>e4,meta:()=>XO,maxSize:()=>Bv,maxLength:()=>sv,map:()=>eG,mac:()=>HG,lte:()=>k$,lt:()=>l$,lowercase:()=>d4,looseRecord:()=>aG,looseObject:()=>R,locales:()=>__,literal:()=>j,length:()=>$4,lazy:()=>kv,ksuid:()=>PG,keyof:()=>dG,jwt:()=>MG,json:()=>wO,iso:()=>S$,ipv6:()=>EG,ipv4:()=>FG,intersection:()=>x$,int64:()=>iG,int32:()=>fG,int:()=>R1,instanceof:()=>GO,includes:()=>o4,httpUrl:()=>wG,hostname:()=>LG,hex:()=>RG,hash:()=>xG,guid:()=>WG,gte:()=>j$,gt:()=>i$,globalRegistry:()=>U$,getErrorMap:()=>WY,function:()=>bO,fromJSONSchema:()=>YO,formatError:()=>rg,float64:()=>uG,float32:()=>CG,flattenError:()=>cg,file:()=>vO,exactOptional:()=>Gz,enum:()=>x,endsWith:()=>a4,encodeAsync:()=>iW,encode:()=>yW,emoji:()=>jG,email:()=>u1,e164:()=>ZG,discriminatedUnion:()=>Ev,describe:()=>zO,decodeAsync:()=>mW,decode:()=>lW,date:()=>rG,custom:()=>WO,cuid2:()=>KG,cuid:()=>QG,core:()=>vv,config:()=>$$,coerce:()=>Y_,codec:()=>DO,clone:()=>w$,cidrv6:()=>SG,cidrv4:()=>kG,check:()=>JO,catch:()=>Pz,boolean:()=>S,bigint:()=>lG,base64url:()=>qG,base64:()=>AG,array:()=>w,any:()=>$U,_function:()=>bO,_default:()=>jz,_ZodString:()=>x1,ZodXor:()=>gz,ZodXID:()=>h1,ZodVoid:()=>$z,ZodUnknown:()=>eW,ZodUnion:()=>O_,ZodUndefined:()=>oW,ZodUUID:()=>h$,ZodURL:()=>z_,ZodULID:()=>m1,ZodType:()=>u,ZodTuple:()=>Dz,ZodTransform:()=>zz,ZodTemplateLiteral:()=>kz,ZodSymbol:()=>pW,ZodSuccess:()=>Vz,ZodStringFormat:()=>n,ZodString:()=>N6,ZodSet:()=>bz,ZodRecord:()=>w_,ZodRealError:()=>P$,ZodReadonly:()=>Hz,ZodPromise:()=>Az,ZodPrefault:()=>Yz,ZodPipe:()=>DU,ZodOptional:()=>_U,ZodObject:()=>G_,ZodNumberFormat:()=>g4,ZodNumber:()=>W6,ZodNullable:()=>Oz,ZodNull:()=>tW,ZodNonOptional:()=>IU,ZodNever:()=>sW,ZodNanoID:()=>y1,ZodNaN:()=>Fz,ZodMap:()=>Nz,ZodMAC:()=>dW,ZodLiteral:()=>Jz,ZodLazy:()=>Sz,ZodKSUID:()=>n1,ZodJWT:()=>e1,ZodIssueCode:()=>Lz,ZodIntersection:()=>Iz,ZodISOTime:()=>T1,ZodISODuration:()=>L1,ZodISODateTime:()=>Z1,ZodISODate:()=>M1,ZodIPv6:()=>r1,ZodIPv4:()=>c1,ZodGUID:()=>b_,ZodFunction:()=>qz,ZodFirstPartyTypeKind:()=>Tz,ZodFile:()=>Wz,ZodExactOptional:()=>Xz,ZodError:()=>NY,ZodEnum:()=>U6,ZodEmoji:()=>f1,ZodEmail:()=>C1,ZodE164:()=>a1,ZodDiscriminatedUnion:()=>_z,ZodDefault:()=>wz,ZodDate:()=>X_,ZodCustomStringFormat:()=>J6,ZodCustom:()=>j_,ZodCodec:()=>UU,ZodCatch:()=>Bz,ZodCUID2:()=>i1,ZodCUID:()=>l1,ZodCIDRv6:()=>p1,ZodCIDRv4:()=>d1,ZodBoolean:()=>z6,ZodBigIntFormat:()=>s1,ZodBigInt:()=>X6,ZodBase64URL:()=>t1,ZodBase64:()=>o1,ZodArray:()=>vz,ZodAny:()=>aW,TimePrecision:()=>z0,NEVER:()=>ug,$output:()=>D0,$input:()=>U0,$brand:()=>tU});var vv={};e$(vv,{version:()=>gb,util:()=>H,treeifyError:()=>UN,toJSONSchema:()=>v4,toDotPath:()=>LX,safeParseAsync:()=>JN,safeParse:()=>bN,safeLine truncated
`)}var l4=($)=>(g,_,D,v)=>{let I=D?Object.assign(D,{async:!1}):{async:!1},U=g._zod.run({value:_,issues:[]},I);if(U instanceof Promise)throw new y$;if(U.issues.length){let N=new(v?.Err??$)(U.issues.map((J)=>V$(J,I,$$())));throw ZD(N,v?.callee),N}return U.value},MD=l4(B$),i4=($)=>async(g,_,D,v)=>{let I=D?Object.assign(D,{async:!0}):{async:!0},U=g._zod.run({value:_,issues:[]},I);if(U instanceof Promise)U=await U;if(U.issues.length){let N=new(v?.Err??$)(U.issues.map((J)=>V$(J,I,$$())));throw ZD(N,v?.callee),N}return U.value},TD=i4(B$),m4=($)=>(g,_,D)=>{let v=D?{...D,async:!1}:{async:!1},I=g._zod.run({value:_,issues:[]},v);if(I instanceof Promise)throw new y$;return I.issues.length?{success:!1,error:new($??ng)(I.issues.map((U)=>V$(U,v,$$())))}:{success:!0,data:I.value}},bN=m4(B$),h4=($)=>async(g,_,D)=>{let v=D?Object.assign(D,{async:!0}):{async:!0},I=g._zod.run({value:_,issues:[]},v);if(I instanceof Promise)I=await I;return I.issues.length?{success:!1,error:new $(I.issues.map((U)=>V$(U,v,$$())))}:{success:!0,data:I.value}},JN=h4(B$),LD=($)=>(g,_,D)=>{let v=D?Object.assign(D,{direction:"backward"}):{direction:"backward"};return l4($)(g,_,v)},U2=LD(B$),RD=($)=>(g,_,D)=>{return l4($)(g,_,D)},N2=RD(B$),xD=($)=>async(g,_,D)=>{let v=D?Object.assign(D,{direction:"backward"}):{direction:"backward"};return i4($)(g,_,v)},b2=xD(B$),CD=($)=>async(g,_,D)=>{return i4($)(g,_,D)},J2=CD(B$),uD=($)=>(g,_,D)=>{let v=D?Object.assign(D,{direction:"backward"}):{direction:"backward"};return m4($)(g,_,v)},W2=uD(B$),fD=($)=>(g,_,D)=>{return m4($)(g,_,D)},z2=fD(B$),yD=($)=>async(g,_,D)=>{let v=D?Object.assign(D,{direction:"backward"}):{direction:"backward"};return h4($)(g,_,v)},X2=yD(B$),lD=($)=>async(g,_,D)=>{return h4($)(g,_,D)},G2=lD(B$);var M$={};e$(M$,{xid:()=>GN,uuid7:()=>Y2,uuid6:()=>j2,uuid4:()=>w2,uuid:()=>tv,uppercase:()=>uN,unicodeEmail:()=>RX,undefined:()=>xN,ulid:()=>XN,time:()=>AN,string:()=>ZN,sha512_hex:()=>f2,sha512_base64url:()=>l2,sha512_base64:()=>y2,sha384_hex:()=>x2,sha384_base64url:()=>u2,sha384_base64:()=>C2,sha256_hex:()=>T2,sha256_base64url:()=>R2,sha256_base64:()=>L2,sha1_hex:()=>q2,sha1_base64url:()=>M2,sha1_base64:()=>Z2,rfc5322Email:()=>K2,number:()=>dg,null:()=>RN,nanoid:()=>wN,md5_hex:()=>k2,md5_base64url:()=>A2,md5_base64:()=>S2,mac:()=>PN,lowercase:()=>CN,ksuid:()=>ON,ipv6:()=>BN,ipv4:()=>VN,integer:()=>TN,idnEmail:()=>V2,html5Email:()=>Q2,hostname:()=>F2,hex:()=>E2,guid:()=>YN,extendedDuration:()=>O2,emoji:()=>KN,email:()=>QN,e164:()=>kN,duration:()=>jN,domain:()=>H2,datetime:()=>qN,date:()=>SN,cuid2:()=>zN,cuid:()=>WN,cidrv6:()=>HN,cidrv4:()=>FN,browserEmail:()=>B2,boolean:()=>LN,bigint:()=>MN,base64url:()=>iD,base64:()=>EN});var WN=/^[cC][^\s-]{8,}$/,zN=/^[0-9a-z]+$/,XN=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,GN=/^[0-9a-vA-V]{20}$/,ON=/^[A-Za-z0-9]{27}$/,wN=/^[a-zA-Z0-9_-]{21}$/,jN=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,O2=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,YN=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,tv=($)=>{if(!$)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},w2=tv(4),j2=tv(6),Y2=tv(7),QN=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Q2=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,K2=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,RX=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,V2=RX,B2=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,P2="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function KN(){return new RegExp(P2,"u")}var VN=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,BN=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,PN=($)=>{let g=Z$($??":");return new RegExp(`^(?:[0-9A-F]{2}${g}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${g}){5}[0-9a-f]{2}$`)},FN=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1Line truncated
`).filter((I)=>I),D=Math.min(..._.map((I)=>I.length-I.trimStart().length)),v=_.map((I)=>I.slice(D)).map((I)=>" ".repeat(this.indent*2)+I);for(let I of v)this.content.push(I)}compile(){let $=Function,g=this?.args,D=[...(this?.content??[""]).map((v)=>` ${v}`)];return new $(...g,D.join(`
`))}}var gb={major:4,minor:3,patch:5};var C=O("$ZodType",($,g)=>{var _;$??($={}),$._zod.def=g,$._zod.bag=$._zod.bag||{},$._zod.version=gb;let D=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))D.unshift($);for(let v of D)for(let I of v._zod.onattach)I($);if(D.length===0)(_=$._zod).deferred??(_.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let v=(U,N,J)=>{let W=Kv(U),G;for(let Y of N){if(Y._zod.def.when){if(!Y._zod.def.when(U))continue}else if(W)continue;let K=U.issues.length,B=Y._zod.check(U);if(B instanceof Promise&&J?.async===!1)throw new y$;if(G||B instanceof Promise)G=(G??Promise.resolve()).then(async()=>{if(await B,U.issues.length===K)return;if(!W)W=Kv(U,K)});else{if(U.issues.length===K)continue;if(!W)W=Kv(U,K)}}if(G)return G.then(()=>{return U});return U},I=(U,N,J)=>{if(Kv(U))return U.aborted=!0,U;let W=v(N,D,J);if(W instanceof Promise){if(J.async===!1)throw new y$;return W.then((G)=>$._zod.parse(G,J))}return $._zod.parse(W,J)};$._zod.run=(U,N)=>{if(N.skipChecks)return $._zod.parse(U,N);if(N.direction==="backward"){let W=$._zod.parse({value:U.value,issues:[]},{...N,skipChecks:!0});if(W instanceof Promise)return W.then((G)=>{return I(G,U,N)});return I(W,U,N)}let J=$._zod.parse(U,N);if(J instanceof Promise){if(N.async===!1)throw new y$;return J.then((W)=>v(W,D,N))}return v(J,D,N)}}f($,"~standard",()=>({validate:(v)=>{try{let I=bN($,v);return I.success?{value:I.data}:{issues:I.error?.issues}}catch(I){return JN($,v).then((U)=>U.success?{value:U.data}:{issues:U.error?.issues})}},vendor:"zod",version:1}))}),av=O("$ZodString",($,g)=>{C.init($,g),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??ZN($._zod.bag),$._zod.parse=(_,D)=>{if(g.coerce)try{_.value=String(_.value)}catch(v){}if(typeof _.value==="string")return _;return _.issues.push({expected:"string",code:"invalid_type",input:_.value,inst:$}),_}}),h=O("$ZodStringFormat",($,g)=>{n4.init($,g),av.init($,g)}),Ib=O("$ZodGUID",($,g)=>{g.pattern??(g.pattern=YN),h.init($,g)}),Db=O("$ZodUUID",($,g)=>{if(g.version){let D={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[g.version];if(D===void 0)throw Error(`Invalid UUID version: "${g.version}"`);g.pattern??(g.pattern=tv(D))}else g.pattern??(g.pattern=tv());h.init($,g)}),Ub=O("$ZodEmail",($,g)=>{g.pattern??(g.pattern=QN),h.init($,g)}),Nb=O("$ZodURL",($,g)=>{h.init($,g),$._zod.check=(_)=>{try{let D=_.value.trim(),v=new URL(D);if(g.hostname){if(g.hostname.lastIndex=0,!g.hostname.test(v.hostname))_.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:g.hostname.source,input:_.value,inst:$,continue:!g.abort})}if(g.protocol){if(g.protocol.lastIndex=0,!g.protocol.test(v.protocol.endsWith(":")?v.protocol.slice(0,-1):v.protocol))_.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:g.protocol.source,input:_.value,inst:$,continue:!g.abort})}if(g.normalize)_.value=v.href;else _.value=D;return}catch(D){_.issues.push({code:"invalid_format",format:"url",input:_.value,inst:$,continue:!g.abort})}}}),bb=O("$ZodEmoji",($,g)=>{g.pattern??(g.pattern=KN()),h.init($,g)}),Jb=O("$ZodNanoID",($,g)=>{g.pattern??(g.pattern=wN),h.init($,g)}),Wb=O("$ZodCUID",($,g)=>{g.pattern??(g.pattern=WN),h.init($,g)}),zb=O("$ZodCUID2",($,g)=>{g.pattern??(g.pattern=zN),h.init($,g)}),Xb=O("$ZodULID",($,g)=>{g.pattern??(g.pattern=XN),h.init($,g)}),Gb=O("$ZodXID",($,g)=>{g.pattern??(g.pattern=GN),h.init($,g)}),Ob=O("$ZodKSUID",($,g)=>{g.pattern??(g.pattern=ON),h.init($,g)}),wb=O("$ZodISODateTime",($,g)=>{g.pattern??(g.pattern=qN(g)),h.init($,g)}),jb=O("$ZodISODate",($,g)=>{g.pattern??(g.pattern=SN),h.init($,g)}),Yb=O("$ZodISOTime",($,g)=>{g.pattern??(g.pattern=AN(g)),h.init($,g)}),Qb=O("$ZodISODuration",($,g)=>{g.pattern??(g.pattern=jN),h.init($,g)}),Kb=O("$ZodIPv4",($,g)=>{g.pattern??(g.pattern=VN),h.init($,g),$._zod.bag.format="ipv4"}),Vb=O("$ZodIPv6",($,g)=>{g.pattern??(g.pattern=BN),h.init($,g),$._zod.bag.format="ipv6",$._zod.check=(_)=>{try{new URL(`http://[${_.value}]`)}catch{_.issues.push({code:"invalid_format",format:"ipv6",input:_.value,inst:$,continue:!g.abort})}}}),Bb=O("$ZodMAC",($,g)=>{g.pattern??(g.pattern=PN(g.delimiter)),h.init($,g),$._zod.bag.format="mac"}),Pb=O("$ZodCIDRv4",($,g)=>{g.pattern??(g.pattern=FN),h.init($,g)}),Fb=O("$ZodCIDRv6",($,g)=>{g.pattern??(g.pattern=HN),h.init($,g),$._zod.check=(_)=>{let D=_.value.split("/");try{if(D.length!==2)throw Error();let[v,I]=D;if(!I)throw Error();let U=Number(I);if(`${U}`!==I)throw Error();if(U<0||U>128)throw Error();new URL(`http://[${v}]`)}catch{_.issues.push({code:"invalid_format",format:"cidrv6",input:_.value,inst:$,continue:!g.abort})}}});function Hb($){if($==="")return!0;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}var Eb=O("$ZodBase64",($,g)=>{g.pattern??(g.pattern=EN),h.init($,g),$._zod.bag.contentEncoding="base64",$._zod.check=(_)=>{if(Hb(_.value))return;_.issues.push({code:"invalid_format",format:"base64",input:_.value,inst:$,continue:!g.abort})}});function aX($){if(!iD.test($))reLine truncated
if (${p}.issues.length) {
if (${g$} in input) {
payload.issues = payload.issues.concat(${p}.issues.map(iss => ({
...iss,
path: iss.path ? [${g$}, ...iss.path] : [${g$}]
})));
}
}
if (${p}.value === undefined) {
if (${g$} in input) {
newResult[${g$}] = undefined;
}
} else {
newResult[${g$}] = ${p}.value;
}
`);else B.write(`
if (${p}.issues.length) {
payload.issues = payload.issues.concat(${p}.issues.map(iss => ({
...iss,
path: iss.path ? [${g$}, ...iss.path] : [${g$}]
})));
}
if (${p}.value === undefined) {
if (${g$} in input) {
newResult[${g$}] = undefined;
}
} else {
newResult[${g$}] = ${p}.value;
}
`)}B.write("payload.value = newResult;"),B.write("return payload;");let e=B.compile();return(m,p)=>e(K,m,p)},I,U=ov,N=!Cg.jitless,W=N&&$N.value,G=g.catchall,Y;$._zod.parse=(K,B)=>{Y??(Y=D.value);let M=K.value;if(!U(M))return K.issues.push({expected:"object",code:"invalid_type",input:M,inst:$}),K;if(N&&W&&B?.async===!1&&B.jitless!==!0){if(!I)I=v(g.shape);if(K=I(K,B),!G)return K;return $G([],M,K,B,Y,$)}return _(K,B)}});function iX($,g,_,D){for(let I of $)if(I.issues.length===0)return g.value=I.value,g;let v=$.filter((I)=>!Kv(I));if(v.length===1)return g.value=v[0].value,v[0];return g.issues.push({code:"invalid_union",input:g.value,inst:_,errors:$.map((I)=>I.issues.map((U)=>V$(U,D,$$())))}),g}var ag=O("$ZodUnion",($,g)=>{C.init($,g),f($._zod,"optin",()=>g.options.some((v)=>v._zod.optin==="optional")?"optional":void 0),f($._zod,"optout",()=>g.options.some((v)=>v._zod.optout==="optional")?"optional":void 0),f($._zod,"values",()=>{if(g.options.every((v)=>v._zod.values))return new Set(g.options.flatMap((v)=>Array.from(v._zod.values)));return}),f($._zod,"pattern",()=>{if(g.options.every((v)=>v._zod.pattern)){let v=g.options.map((I)=>I._zod.pattern);return new RegExp(`^(${v.map((I)=>lg(I.source)).join("|")})$`)}return});let _=g.options.length===1,D=g.options[0]._zod.run;$._zod.parse=(v,I)=>{if(_)return D(v,I);let U=!1,N=[];for(let J of g.options){let W=J._zod.run({value:v.value,issues:[]},I);if(W instanceof Promise)N.push(W),U=!0;else{if(W.issues.length===0)return W;N.push(W)}}if(!U)return iX(N,v,$,I);return Promise.all(N).then((J)=>{return iX(J,v,$,I)})}});function mX($,g,_,D){let v=$.filter((I)=>I.issues.length===0);if(v.length===1)return g.value=v[0].value,g;if(v.length===0)g.issues.push({code:"invalid_union",input:g.value,inst:_,errors:$.map((I)=>I.issues.map((U)=>V$(U,D,$$())))});else g.issues.push({code:"invalid_union",input:g.value,inst:_,errors:[],inclusive:!1});return g}var mb=O("$ZodXor",($,g)=>{ag.init($,g),g.inclusive=!1;let _=g.options.length===1,D=g.options[0]._zod.run;$._zod.parse=(v,I)=>{if(_)return D(v,I);let U=!1,N=[];for(let J of g.options){let W=J._zod.run({value:v.value,issues:[]},I);if(W instanceof Promise)N.push(W),U=!0;else N.push(W)}if(!U)return mX(N,v,$,I);return Promise.all(N).then((J)=>{return mX(J,v,$,I)})}}),hb=O("$ZodDiscriminatedUnion",($,g)=>{g.inclusive=!1,ag.init($,g);let _=$._zod.parse;f($._zod,"propValues",()=>{let v={};for(let I of g.options){let U=I._zod.propValues;if(!U||Object.keys(U).length===0)throw Error(`Invalid discriminated union option at index "${g.options.indexOf(I)}"`);for(let[N,J]of Object.entries(U)){if(!v[N])v[N]=new Set;for(let W of J)v[N].add(W)}}return v});let D=f4(()=>{let v=g.options,I=new Map;for(let U of v){let N=U._zod.propValues?.[g.discriminator];if(!N||N.size===0)throw Error(`Invalid discriminated union option at index "${g.options.indexOf(U)}"`);for(let J of N){if(I.has(J))throw Error(`Duplicate discriminator value "${String(J)}"`);I.set(J,U)}}return I});$._zod.parse=(v,I)=>{let U=v.value;if(!ov(U))return v.issues.push({code:"invalid_type",expected:"object",input:U,inst:$}),v;let N=D.value.get(U?.[g.discriminator]);if(N)return N._zod.run(v,I);if(g.unionFallback)return _(v,I);return v.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:g.discriminator,input:U,path:[g.discriminator],inst:$}),v}}),nb=O("$ZodIntersection",($,g)=>{C.init($,g),$._zod.parse=(_,D)=>{let v=_.value,I=g.left._zod.run({value:v,issues:[]},D),U=g.right._zod.run({value:v,issues:[]},D);if(I instanceof Promise||U instanceof Promise)return Promise.all([I,U]).then(([J,W])=>{return hX(_,J,W)});return hX(_,I,U)}});function _b($,g){if($===g)return{valid:!0,data:$};if($ instanceof Date&&g instanceof Date&&+$===+g)return{valid:!0,data:$};if(Qv($)&&Qv(g)){let _=Object.keys(g),D=Object.keys($).filter((I)=>_.indexOf(I)!==-1),v={...$,...g};for(let I of D){let U=_b($[I],g[I]);if(!U.valid)return{valid:!1,mergeErrorPath:[I,...U.mergeErrorPath]};v[I]=U.data}return{valid:!0,data:v}}if(Array.isArray($)&&Array.isArray(g)){if($.length!==g.length)return{valid:!1,mergeErrorPath:[]};let _=[];for(let D=0;D<$.length;D++){let v=$[D],I=g[D],U=_b(v,I);if(!U.valid)return{valid:!1,mergeErrorPath:[D,...U.mergeErrorPath]};_.push(U.data)}return{valid:!0,data:_}}return{valid:!1,mergeErrorPath:[]}}function hX($,g,_){let D=new Map,v;for(let N of g.issues)if(N.code==="unrecognized_keys"){v??(v=N);for(let J of N.keys){if(!D.has(J))D.set(J,{});D.get(J).l=!0}}else $.issues.push(N);for(let N of _.issues)if(N.code==="unrecognized_keys")for(let J of N.keys){if(!D.has(J))D.set(J,{});D.get(J).r=!0}else $.issues.push(N);let I=[...D].filter(([,N])=>N.l&&N.r).map(([N])=>N);if(I.length&&v)$.issues.push({...v,keys:I});if(Kv($))return $;let U=_b(g.value,_.value);if(!U.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(U.mergeErrorPath)}`);return $.value=U.data,$}var eD=O("$ZodTuple",($,g)=>{C.init($,g);let _=g.items;$._zod.parse=(D,v)=>{let I=D.value;if(!Array.isArraLine truncated
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let U of $.seen.entries()){let N=U[1];if(g===U[0]){I(U);continue}if($.external){let W=$.external.registry.get(U[0])?.id;if(g!==U[0]&&W){I(U);continue}}if($.metadataRegistry.get(U[0])?.id){I(U);continue}if(N.cycle){I(U);continue}if(N.count>1){if($.reused==="ref"){I(U);continue}}}}function Hv($,g){let _=$.seen.get(g);if(!_)throw Error("Unprocessed schema. This is a bug in Zod.");let D=(U)=>{let N=$.seen.get(U);if(N.ref===null)return;let J=N.def??N.schema,W={...J},G=N.ref;if(N.ref=null,G){D(G);let K=$.seen.get(G),B=K.schema;if(B.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))J.allOf=J.allOf??[],J.allOf.push(B);else Object.assign(J,B);if(Object.assign(J,W),U._zod.parent===G)for(let Z in J){if(Z==="$ref"||Z==="allOf")continue;if(!(Z in W))delete J[Z]}if(B.$ref)for(let Z in J){if(Z==="$ref"||Z==="allOf")continue;if(Z in K.def&&JSON.stringify(J[Z])===JSON.stringify(K.def[Z]))delete J[Z]}}let Y=U._zod.parent;if(Y&&Y!==G){D(Y);let K=$.seen.get(Y);if(K?.schema.$ref){if(J.$ref=K.schema.$ref,K.def)for(let B in J){if(B==="$ref"||B==="allOf")continue;if(B in K.def&&JSON.stringify(J[B])===JSON.stringify(K.def[B]))delete J[B]}}}$.override({zodSchema:U,jsonSchema:J,path:N.path??[]})};for(let U of[...$.seen.entries()].reverse())D(U[0]);let v={};if($.target==="draft-2020-12")v.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")v.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")v.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let U=$.external.registry.get(g)?.id;if(!U)throw Error("Schema is missing an `id` property");v.$id=$.external.uri(U)}Object.assign(v,_.def??_.schema);let I=$.external?.defs??{};for(let U of $.seen.entries()){let N=U[1];if(N.def&&N.defId)I[N.defId]=N.def}if($.external);else if(Object.keys(I).length>0)if($.target==="draft-2020-12")v.$defs=I;else v.definitions=I;try{let U=JSON.parse(JSON.stringify(v));return Object.defineProperty(U,"~standard",{value:{...g["~standard"],jsonSchema:{input:D6(g,"input",$.processors),output:D6(g,"output",$.processors)}},enumerable:!1,writable:!1}),U}catch(U){throw Error("Error converting schema to JSON.")}}function Y$($,g){let _=g??{seen:new Set};if(_.seen.has($))return!1;_.seen.add($);let D=$._zod.def;if(D.type==="transform")return!0;if(D.type==="array")return Y$(D.element,_);if(D.type==="set")return Y$(D.valueType,_);if(D.type==="lazy")return Y$(D.getter(),_);if(D.type==="promise"||D.type==="optional"||D.type==="nonoptional"||D.type==="nullable"||D.type==="readonly"||D.type==="default"||D.type==="prefault")return Y$(D.innerType,_);if(D.type==="intersection")return Y$(D.left,_)||Y$(D.right,_);if(D.type==="record"||D.type==="map")return Y$(D.keyType,_)||Y$(D.valueType,_);if(D.type==="pipe")return Y$(D.in,_)||Y$(D.out,_);if(D.type==="object"){for(let v in D.shape)if(Y$(D.shape[v],_))return!0;return!1}if(D.type==="union"){for(let v of D.options)if(Y$(v,_))return!0;return!1}if(D.type==="tuple"){for(let v of D.items)if(Y$(v,_))return!0;if(D.rest&&Y$(D.rest,_))return!0;return!1}return!1}var d0=($,g={})=>(_)=>{let D=Pv({..._,processors:g});return i($,D),Fv(D,$),Hv(D,$)},D6=($,g,_={})=>(D)=>{let{libraryOptions:v,target:I}=D??{},U=Pv({...v??{},target:I,io:g,processors:_});return i($,U),Fv(U,$),Hv(U,$)};var DY={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},p0=($,g,_,D)=>{let v=_;v.type="string";let{minimum:I,maximum:U,format:N,patterns:J,contentEncoding:W}=$._zod.bag;if(typeof I==="number")v.minLength=I;if(typeof U==="number")v.maxLength=U;if(N){if(v.format=DY[N]??N,v.format==="")delete v.format;if(N==="time")delete v.format}if(W)v.contentEncoding=W;if(J&&J.size>0){let G=[...J];if(G.length===1)v.pattern=G[0].source;else if(G.length>1)v.allOf=[...G.map((Y)=>({...g.target==="draft-07"||g.target==="draft-04"||g.target==="openapi-3.0"?{type:"string"}:{},pattern:Y.source}))]}},o0=($,g,_,D)=>{let v=_,{minimum:I,maximum:U,format:N,multipleOf:J,exclusiveMaximum:W,exclusiveMinimum:G}=$._zod.bag;if(typeof N==="string"&&N.includes("int"))v.type="integer";else v.type="number";if(typeof G==="number")if(g.target==="draft-04"||g.target==="openapi-3.0")v.minimum=G,v.exclusiveMinimum=!0;else v.exclusiveMinimum=G;if(typeof I==="number"){if(v.minimum=I,typeof G==="number"&&g.target!=="draft-04")if(G>=I)delete v.minimum;else delete v.exclusiveMinimum}if(typeof W==="number")if(g.target==="draft-04"||g.target==="openapi-3.0")v.maximum=W,v.exclusiveMaximum=!0;else v.exclusiveMaximum=W;if(typeof U==="number"){if(v.maximum=U,typeof W==="number"&&g.target!=="draft-04")if(W<=U)delete v.maximum;else delete v.exclusiveMaximum}if(typeof J==="number")v.multipleOf=J},t0=($,g,_,D)=>{_.type="boolean"},a0=($,g,_,D)=>{if(g.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},e0=($,g,_,D)=>{if(g.unrepresentable==="throw")Line truncated
* content-type
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/var xQ=HX(($)=>{var g=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,_=/\\([\u000b\u0020-\u00ff])/g,D=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;$.parse=v;function v(N){if(!N)throw TypeError("argument string is required");var J=typeof N==="object"?I(N):N;if(typeof J!=="string")throw TypeError("argument string is required to be a string");var W=J.indexOf(";"),G=W!==-1?J.slice(0,W).trim():J.trim();if(!D.test(G))throw TypeError("invalid media type");var Y=new U(G.toLowerCase());if(W!==-1){var K,B,M;g.lastIndex=W;while(B=g.exec(J)){if(B.index!==W)throw TypeError("invalid parameter format");if(W+=B[0].length,K=B[1].toLowerCase(),M=B[2],M.charCodeAt(0)===34){if(M=M.slice(1,-1),M.indexOf("\\")!==-1)M=M.replace(_,"$1")}Y.parameters[K]=M}if(W!==J.length)throw TypeError("invalid parameter format")}return Y}function I(N){var J;if(typeof N.getHeader==="function")J=N.getHeader("content-type");else if(typeof N.headers==="object")J=N.headers&&N.headers["content-type"];if(typeof J!=="string")throw TypeError("content-type header is missing from object");return J}function U(N){this.parameters=Object.create(null),this.type=N}}),e3=kX(xQ(),1);var J5=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");var CQ=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,uQ=[0,31,28,31,30,31,30,31,31,30,31,30,31],fQ=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,yQ=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,lQ=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,iQ=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,mQ=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,hQ=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,nQ=/^(?:\/(?:[^~/]|~0|~1)*)*$/,cQ=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,rQ=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,dQ=($)=>{if($[0]==='"')return!1;let[g,_,...D]=$.split("@");if(!g||!_||D.length!==0||g.length>64||_.length>253)return!1;if(g[0]==="."||g.endsWith(".")||g.includes(".."))return!1;if(!/^[a-z0-9.-]+$/i.test(_)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(g))return!1;return _.split(".").every((v)=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(v))},pQ=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,oQ=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5Line truncated
Individual style keys are optional - hosts may provide any subset of these values.
Values are strings containing CSS values (colors, sizes, font stacks, etc.).
Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),z.union([z.string(),z.undefined()]).describe(`Style variables for theming MCP apps.
Individual style keys are optional - hosts may provide any subset of these values.
Values are strings containing CSS values (colors, sizes, font stacks, etc.).
Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
for compatibility with Zod schema generation. Both are functionally equivalent for validation.`)).describe(`Style variables for theming MCP apps.
Individual style keys are optional - hosts may provide any subset of these values.
Values are strings containing CSS values (colors, sizes, font stacks, etc.).
Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),S9=z.object({method:z.literal("ui/open-link"),params:z.object({url:z.string().describe("URL to open in the host's browser")})}),NX=z.object({isError:z.boolean().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough(),bX=z.object({isError:z.boolean().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough(),JX=z.object({isError:z.boolean().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough(),A9=z.object({method:z.literal("ui/notifications/sandbox-proxy-ready"),params:z.object({})}),iU=z.object({connectDomains:z.array(z.string()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket).
- Maps to CSP \`connect-src\` directive
- Empty or omitted → no network connections (secure default)`),resourceDomains:z.array(z.string()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:z.array(z.string()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:z.array(z.string()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),mU=z.object({camera:z.object({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:z.object({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:z.object({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:z.object({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")}),q9=z.object({method:z.literal("ui/notifications/size-changed"),params:z.object({width:z.number().optional().describe("New width in pixels."),height:z.number().optional().describe("New height in pixels.")})}),WX=z.object({method:z.literal("ui/notifications/tool-input"),params:z.object({arguments:z.record(z.string(),z.unknown().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})}),zX=z.object({method:z.literal("ui/notifications/tool-input-partial"),params:z.object({arguments:z.record(z.string(),z.unknown().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})}),XX=z.object({method:z.literal("ui/notifications/tool-cancelled"),params:z.object({reason:z.string().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})}),Yw=z.object({fonts:z.string().optional()}),Qw=z.object({variables:k9.optional().describe("CSS variables for theming the app."),css:Yw.optional().describe("CSS blocks that apps can inject.")}),GX=z.object({method:z.literal("ui/resource-teardown"),params:z.object({})}),OX=z.record(z.string(),z.unknown()),UX=z.object({text:z.object({}).optional().describe("Host supports text content blocks."),image:z.object({}).optional().describe("Host supports image content blocks."),audio:z.object({}).optional().describe("Host supports audio content blocks."),resource:z.object({}).optional().describe("Host supports resource content blocks."),resourceLink:z.object({}).optional().describe("Host supports resource link content blocks."),structuredContent:z.object({}).optional().describe("Host supports structured content.")}),Z9=z.object({method:z.literal("ui/notifications/request-teardown"),params:z.object({}).optional()}),Kw=z.object({experimental:z.record(z.string(),z.record(z.string(),z.any()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),openLinks:z.object({}).optional().describe("Host supports opening external URLs."),downloadFile:z.object({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:z.object({listChanged:z.boolean().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:z.object({listChanged:z.boolean().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:z.object({}).optional().describe("Host accepts log messages."),sandbox:z.object({permissions:mU.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:iU.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:UX.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:UX.optional().describe("Host supports receiving content messages (ui/message) from the view."),sampling:z.object({tools:z.object({}).optional().describe("Host supports tool use via `tools` and `toolChoice` parameters.")}).optional().describe("Host supports LLM sampling (sampling/createMessage) from the view.\nMirrors the MCP `ClientCapabilities.sampling` shape so hosts can pass it through.")}),Vw=z.object({experimental:z.record(z.string(),z.record(z.string(),z.any()).describe("Experimental features keyed by identifier.")).optional().describe("ExperimentalLine truncated
Useful when views need stable, dedicated origins for OAuth callbacks, CORS policies, or API key allowlists.
**Host-dependent:** The format and validation rules for this field are determined by each host. Servers MUST consult host-specific documentation for the expected domain format. Common patterns include:
- Hash-based subdomains (e.g., \`{hash}.claudemcpcontent.com\`)
- URL-derived subdomains (e.g., \`www-example-com.oaiusercontent.com\`)
If omitted, host uses default sandbox origin (typically per-conversation).`),prefersBorder:z.boolean().optional().describe(`Visual boundary preference - true if view prefers a visible border.
Boolean requesting whether a visible border and background is provided by the host. Specifying an explicit value for this is recommended because hosts' defaults may vary.
- \`true\`: request visible border + background
- \`false\`: request no visible border + background
- omitted: host decides border`)}),L9=z.object({method:z.literal("ui/request-display-mode"),params:z.object({mode:i6.describe("The display mode being requested.")})}),wX=z.object({mode:i6.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough(),Bw=z.union([z.literal("model"),z.literal("app")]).describe("Tool visibility scope - who can access the tool."),R9=z.object({resourceUri:z.string().optional(),visibility:z.array(Bw).optional().describe(`Who can access this tool. Default: ["model", "app"]
- "model": Tool visible to and callable by the agent
- "app": Tool callable by the app from this server only`),csp:z.never().optional(),permissions:z.never().optional()}),A7=z.object({mimeTypes:z.array(z.string()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')}),x9=z.object({method:z.literal("ui/download-file"),params:z.object({contents:z.array(z.union([G4,O4])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),C9=z.object({method:z.literal("ui/message"),params:z.object({role:z.literal("user").describe('Message role, currently only "user" is supported.'),content:z.array(p$).describe("Message content blocks (text, image, etc.).")})}),u9=z.object({method:z.literal("ui/notifications/sandbox-resource-ready"),params:z.object({html:z.string().describe("HTML content to load into the inner iframe."),sandbox:z.string().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:iU.optional().describe("CSP configuration from resource metadata."),permissions:mU.optional().describe("Sandbox permissions from resource metadata.")})}),jX=z.object({method:z.literal("ui/notifications/tool-result"),params:Tv.describe("Standard MCP tool execution result.")}),YX=z.object({toolInfo:z.object({id:C$.optional().describe("JSON-RPC id of the tools/call request."),tool:Mv.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:jw.optional().describe("Current color theme preference."),styles:Qw.optional().describe("Style configuration for theming the app."),displayMode:i6.optional().describe("How the UI is currently displayed."),availableDisplayModes:z.array(i6).optional().describe("Display modes the host supports."),containerDimensions:z.union([z.object({height:z.number().describe("Fixed container height in pixels.")}),z.object({maxHeight:z.union([z.number(),z.undefined()]).optional().describe("Maximum container height in pixels.")})]).and(z.union([z.object({width:z.number().describe("Fixed container width in pixels.")}),z.object({maxWidth:z.union([z.number(),z.undefined()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other
container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:z.string().optional().describe("User's language and region preference in BCP 47 format."),timeZone:z.string().optional().describe("User's timezone in IANA format."),userAgent:z.string().optional().describe("Host application identifier."),platform:z.union([z.literal("web"),z.literal("desktop"),z.literal("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:z.object({touch:z.boolean().optional().describe("Whether the device supports touch input."),hover:z.boolean().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:z.object({top:z.number().describe("Top safe area inset in pixels."),right:z.number().describe("Right safe area inset in pixels."),bottom:z.number().describe("Bottom safe area inset in pixels."),left:z.number().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough(),QX=z.object({method:z.literal("ui/notifications/host-context-changed"),params:YX.describe("Partial context update containing only changed fields.")}),f9=z.object({method:z.literal("ui/update-model-context"),params:z.object({content:z.array(p$).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:z.record(z.string(),z.unknown().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),y9=z.object({method:z.literal("ui/initialize"),params:z.object({appInfo:r$.describe("App identification (name and version)."),appCapabilities:Vw.describe("Features and capabilities this app provides."),protocolVersion:z.string().describe("Protocol version this app supports.")})}),KX=z.object({protocolVersion:z.string().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:r$.describe("Host application identification and version."),hostCapabilities:Kw.describe("Features and capabilities provided by the host."),hostContext:YX.describe("Rich context about the host environment.")}).passthrough();var l9={target:"draft-2020-12"};async function VX($,g){let _=$["~standard"];if(_.jsonSchema)return _.jsonSchema[g](l9);throw Error(`Schema (vendor: ${_.vendor}) does not implement Standard JSON Schema (~standard.jsonSchema). Use a library that does (zod v4, ArkType, Valibot) or wrap your schema accordingly.`)}async function BX($,g,_=""){let D=await $["~standard"].validate(g);if(D.issues){let v=D.issues.map((I)=>{let U=I.path?.map((N)=>typeof N==="object"?N.key:N).join(".");return U?`${U}: ${I.message}`:I.message}).join("; ");throw Error(_+v)}return D.value}function hU(){let $=document.documentElement.getAttribute("data-theme");if($==="dark"||$==="light")return $;return document.documentElement.classList.contains("dark")?"dark":"light"}function nU($){let g=document.documentElement;g.setAttribute("data-theme",$),g.style.colorScheme=$}function cU($,g=document.documentElement){for(let[_,D]of Object.entries($))if(D!==void 0)g.style.setProperty(_,D)}function rU($){if(document.getElementById("__mcp-host-fonts"))return;let _=document.createElement("style");_.id="__mcp-host-fonts",_.textContent=$,document.head.appendChild(_)}function i9($,g){let _={...$,...g};if(g.experimental!==void 0)_.experimental={...$.experimental,...g.experimental};if(g.tools!==void 0)_.tools={...$.tools,...g.tools};return _}class dU extends vX{_appInfo;_appCapabilities;options;_hostCapabilities;_hostInfo;_hostContext;_registeredTools={};_initializedSent=!1;_registeredEvents=new Set;_events=new lU;_methods=new gX;setRequestHandler=(...$)=>{let[g,..._]=_X("request",$)??$;this._methods.claim(g,"setRequestHandler"),super.setRequestHandler.call(this,g,..._)};setNotificationHandler=(...$)=>{let[g,..._]=_X("notification",$)??$;this._methods.claim(g,"setNotificationHandler"),super.setNotificationHandler.call(this,g,..._)};removeRequestHandler=($)=>{this._methods.release($),super.removeRequestHandler($)};removeNotificationHandler=($)=>{this._methods.release($),super.removeNotificationHandler($)};replaceRequestHandler=($,...g)=>{this._methods.replace($),super.setRequestHandler.call(this,$,...g)};_assertInitialized($){if(this._initializedSent)return;let g=`[ext-apps] App.${$}() called before connect() completed the ui/initialize handshake. Await app.connect() before calling this method, or move data loading to an ontoolresult handler.`;if(this.options?.strict)throw Error(g);console.warn(`${g}. This will throw in a future release.`)}eventSchemas={toolinput:WX,toolinputpartial:zX,toolresult:jX,toolcancelled:XX,hostcontextchanged:QX};static ONE_SHOT_EVENTS=new Set(["toolinput","toolinputpartial","toolresult","toolcancelled"]);_everHadListener=new Set;_assertHandlerTiming($){if(!dU.ONE_SHOT_EVENTS.has($)||this._everHadListener.has($))return;if(this._everHadListener.add($),!this.Line truncated
@@ -0,0 +1 @@
import{a as k}from"./chunk-X4GG3EDV.mjs";var _=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","transparent","currentcolor","canvas","canvastext","linktext","visitedtext","activetext","buttonface","buttontext","buttonborder","field","fieldtext","highlight","highlighttext","selecteditem","selecteditemtext","mark","marktext","graytext","accentcolor","accentcolortext"]),U=/^(rgba?|hsla?|hwb|color|(ok)?(lab|lch)|light-dark|color-mix)\(/i;function S(e){return e.charCodeAt(0)===35||U.test(e)||_.has(e.toLowerCase())}var A=["calc","min","max","clamp","mod","rem","sin","cos","tan","asin","acos","atan","atan2","pow","sqrt","hypot","log","exp","round"];function b(e){return e.indexOf("(")!==-1&&A.some(t=>e.includes(`${t}(`))}function oe(e){if(!A.some(n=>e.includes(n)))return e;let t="",r=[],s=null,m=null;for(let n=0;n<e.length;n++){let a=e.charCodeAt(n);if(a>=48&&a<=57||s!==null&&(a===37||a>=97&&a<=122||a>=65&&a<=90)?s=n:(m=s,s=null),a===40){t+=e[n];let i=n;for(let p=n-1;p>=0;p--){let c=e.charCodeAt(p);if(c>=48&&c<=57)i=p;else if(c>=97&&c<=122)i=p;else break}let o=e.slice(i,n);if(A.includes(o)){r.unshift(!0);continue}else if(r[0]&&o===""){r.unshift(!0);continue}r.unshift(!1);continue}else if(a===41)t+=e[n],r.shift();else if(a===44&&r[0]){t+=", ";continue}else{if(a===32&&r[0]&&t.charCodeAt(t.length-1)===32)continue;if((a===43||a===42||a===47||a===45)&&r[0]){let i=t.trimEnd(),o=i.charCodeAt(i.length-1),p=i.charCodeAt(i.length-2),c=e.charCodeAt(n+1);if((o===101||o===69)&&p>=48&&p<=57){t+=e[n];continue}else if(o===43||o===42||o===47||o===45){t+=e[n];continue}else if(o===40||o===44){t+=e[n];continue}else e.charCodeAt(n-1)===32?t+=`${e[n]} `:o>=48&&o<=57||c>=48&&c<=57||o===41||c===40||c===43||c===42||c===47||c===45||m!==null&&m===n-1?t+=` ${e[n]} `:t+=e[n]}else t+=e[n]}}return t}var E=new Uint8Array(256);function d(e,t){let r=0,s=[],m=0,n=e.length,a=t.charCodeAt(0);for(let i=0;i<n;i++){let o=e.charCodeAt(i);if(r===0&&o===a){s.push(e.slice(m,i)),m=i+1;continue}switch(o){case 92:i+=1;break;case 39:case 34:for(;++i<n;){let p=e.charCodeAt(i);if(p===92){i+=1;continue}if(p===o)break}break;case 40:E[r]=41,r++;break;case 91:E[r]=93,r++;break;case 123:E[r]=125,r++;break;case 93:case 125:case 41:r>0&&o===E[r-1]&&r--;break}}return s.push(e.slice(m)),s}var P={color:S,length:y,percentage:C,ratio:G,number:v,integer:u,url:R,position:K,"bg-size":Y,"line-width":T,image:F,"family-name":M,"generic-name":H,"absolute-size":$,"relative-size":W,angle:X,vector:te};function me(e,t){if(e.startsWith("var("))return null;for(let r of t)if(P[r]?.(e))return r;return null}var z=/^url\(.*\)$/;function R(e){return z.test(e)}function T(e){return d(e," ").every(t=>y(t)||v(t)||t==="thin"||t==="medium"||t==="thick")}var D=/^(?:element|image|cross-fade|image-set)\(/,I=/^(repeating-)?(conic|linear|radial)-gradient\(/;function F(e){let t=0;for(let r of d(e,","))if(!r.startsWith("var(")){if(R(r)){t+=1;continue}if(I.test(r)){t+=1;continue}if(D.test(r)){t+=1;continue}return!1}return t>0}function H(e){return e==="serif"||e==="sans-serif"||e==="monospace"||e==="cursive"||e==="fantasy"||e==="system-ui"||e==="ui-serif"||e==="ui-sans-serif"||e==="ui-monosLine truncated
@@ -0,0 +1,19 @@
/**
* @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 ArrowUpWideNarrow = createLucideIcon("ArrowUpWideNarrow", [
["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }],
["path", { d: "M7 4v16", key: "1glfcx" }],
["path", { d: "M11 12h10", key: "1438ji" }],
["path", { d: "M11 16h7", key: "uosisv" }],
["path", { d: "M11 20h4", key: "1krc32" }]
]);
export { ArrowUpWideNarrow as default };
//# sourceMappingURL=arrow-up-wide-narrow.js.map
@@ -0,0 +1 @@
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../lib/compile/jtd/parse.ts"],"names":[],"mappings":";;AAEA,mCAA0D;AAC1D,0BAAgD;AAChD,wCAAmF;AACnF,4CAA0C;AAC1C,oCAAwB;AACxB,kDAAmD;AACnD,oDAAiD;AACjD,sDAA6D;AAC7D,uDAAmF;AACnF,kCAA+B;AAC/B,uDAAoD;AAIpD,MAAM,QAAQ,GAA+B;IAC3C,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,WAAW;IACnB,aAAa,EAAE,kBAAkB;IACjC,UAAU,EAAE,eAAe;IAC3B,kBAAkB,EAAE,eAAe;IACnC,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,QAAQ;CACd,CAAA;AAaD,SAAwB,aAAa,CAEnC,GAAc,EACd,WAA4B;IAE5B,MAAM,IAAI,GAAG,sBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/C,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IACrB,MAAM,EAAC,GAAG,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IACnC,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,IAAI,CAAA;IACjC,MAAM,GAAG,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAC,CAAC,CAAA;IAChE,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,GAAG,GAAa;QACpB,IAAI,EAAE,IAAI;QACV,GAAG;QACH,MAAM,EAAE,GAAG,CAAC,MAAsB;QAClC,SAAS,EAAE,GAAG;QACd,WAAW;QACX,IAAI,EAAE,eAAC,CAAC,IAAI;QACZ,SAAS;QACT,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;KACpB,CAAA;IAED,IAAI,UAA8B,CAAA;IAClC,IAAI,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;QACzB,cAAc,CAAC,GAAG,CAAC,CAAA;QACnB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrC,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpC,UAAU,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,eAAC,CAAC,KAAK,CAAC,UAAU,aAAa,EAAE,CAAA;QAC/D,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,GAAG,eAAC,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAA;QACxD,MAAM,KAAK,GAA8B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;QACpE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC,CAAA;QACzC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,UAAU;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,UAAU,CAAC,CAAA;QACvF,OAAO,GAAG,CAAC,KAAK,CAAA;QAChB,OAAO,GAAG,CAAC,SAAS,CAAA;QACpB,MAAM,CAAC,CAAA;IACT,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AA3CD,gCA2CC;AAED,MAAM,KAAK,GAAG,IAAA,WAAC,EAAA,WAAW,CAAA;AAE1B,SAAS,cAAc,CAAC,GAAa;IACnC,MAAM,EAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAC,GAAG,GAAG,CAAA;IAClC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,IAAI,KAAK,eAAC,CAAC,OAAO,KAAK,eAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QACzE,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,IAAI,CAAC,CAAA;QACf,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACb,GAAG,CAAC,MAAM,CAAC,IAAA,WAAC,EAAA,GAAG,SAAS,UAAU,EAAE,KAAK,CAAC,CAAA;QAC1C,GAAG,CAAC,MAAM,CAAC,IAAA,WAAC,EAAA,GAAG,SAAS,WAAW,EAAE,KAAK,CAAC,CAAA;QAC3C,GAAG,CAAC,MAAM,CAAC,eAAC,CAAC,OAAO,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,OAAO,OAAO,CAAC,CAAA;QAC3C,GAAG,CAAC,KAAK,CAAC,eAAC,CAAC,OAAO,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,IAAI,SAAS,CAAC,CAAA;QACzC,SAAS,CAAC,GAAG,CAAC,CAAA;QACd,cAAc,CAAC,GAAG,CAAC,CAAA;QACnB,GAAG,CAAC,EAAE,CAAC,eAAC,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,GAAG,CAAC,MAAM,CAAC,IAAA,WAAC,EAAA,GAAG,SAAS,WAAW,EAAE,eAAC,CAAC,OAAO,CAAC,CAAA;YAC/C,GAAG,CAAC,MAAM,CAAC,eAAC,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;QACF,GAAG,CAAC,EAAE,CAAC,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,OAAO,QAAQ,eAAC,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,eAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAClE,eAAe,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAa;IAC9B,IAAI,IAAyB,CAAA;IAC7B,KAAK,MAAM,GAAG,IAAI,gBAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,GAAG,GAAG,CAAA;YACV,MAAK;QACP,CAAC;IACH,CAAC;IACD,IAAI,IAAI;QAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;;QACvC,UAAU,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAA;AAEvF,SAAS,aAAa,CAAC,GAAa,EAAE,SAAmB;IACvD,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,GAAG,CAAA;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;IAC3C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,aAAa,CAAC,GAAa;IAClC,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,GAAG,CAAA;IAC/B,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,WAAC,EAAA,IAAI,CAAC,CAAA;IACvB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QACxB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACxB,SAAS,CAAC,EAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC,CAAA;QACtD,GAAG,CAAC,MAAM,CAAC,IAAA,WAAC,EAAA,GAAG,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAa;IAChC,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,GAAG,CAAA;IAC/B,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,WAAC,EAAA,IAAI,CAAC,CAAA;IACvB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,GAAa,EAAE,QAAgB,EAAE,KAAiB;IACpE,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IACnC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,aAAa,CAAC,GAAa,EAAE,QAAgB,EAAE,KAAiB;IACvE,MAAM,ELine truncated
@@ -0,0 +1 @@
{"version":3,"file":"maximize.js","sources":["../../../src/icons/maximize.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Maximize\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzSDVhMiAyIDAgMCAwLTIgMnYzIiAvPgogIDxwYXRoIGQ9Ik0yMSA4VjVhMiAyIDAgMCAwLTItMmgtMyIgLz4KICA8cGF0aCBkPSJNMyAxNnYzYTIgMiAwIDAgMCAyIDJoMyIgLz4KICA8cGF0aCBkPSJNMTYgMjFoM2EyIDIgMCAwIDAgMi0ydi0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/maximize\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 Maximize = createLucideIcon('Maximize', [\n ['path', { d: 'M8 3H5a2 2 0 0 0-2 2v3', key: '1dcmit' }],\n ['path', { d: 'M21 8V5a2 2 0 0 0-2-2h-3', key: '1e4gt3' }],\n ['path', { d: 'M3 16v3a2 2 0 0 0 2 2h3', key: 'wsl5sc' }],\n ['path', { d: 'M16 21h3a2 2 0 0 0 2-2v-3', key: '18trek' }],\n]);\n\nexport default Maximize;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,iBAAiB,UAAY,CAAA,CAAA,CAAA;AAAA,CAAA,CAC5C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA0B,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,CACvD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA4B,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,CACzD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA2B,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,CACxD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA6B,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;AAC5D,CAAC,CAAA,CAAA;;"}
@@ -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 TableRowsSplit = createLucideIcon("TableRowsSplit", [
["path", { d: "M14 10h2", key: "1lstlu" }],
["path", { d: "M15 22v-8", key: "1fwwgm" }],
["path", { d: "M15 2v4", key: "1044rn" }],
["path", { d: "M2 10h2", key: "1r8dkt" }],
["path", { d: "M20 10h2", key: "1ug425" }],
["path", { d: "M3 19h18", key: "awlh7x" }],
["path", { d: "M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6", key: "ibqhof" }],
["path", { d: "M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2", key: "1uenja" }],
["path", { d: "M8 10h2", key: "66od0" }],
["path", { d: "M9 22v-8", key: "fmnu31" }],
["path", { d: "M9 2v4", key: "j1yeou" }]
]);
export { TableRowsSplit as default };
//# sourceMappingURL=table-rows-split.js.map
@@ -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 Siren = createLucideIcon("Siren", [
["path", { d: "M7 18v-6a5 5 0 1 1 10 0v6", key: "pcx96s" }],
[
"path",
{ d: "M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z", key: "1b4s83" }
],
["path", { d: "M21 12h1", key: "jtio3y" }],
["path", { d: "M18.5 4.5 18 5", key: "g5sp9y" }],
["path", { d: "M2 12h1", key: "1uaihz" }],
["path", { d: "M12 2v1", key: "11qlp1" }],
["path", { d: "m4.929 4.929.707.707", key: "1i51kw" }],
["path", { d: "M12 12v6", key: "3ahymv" }]
]);
export { Siren as default };
//# sourceMappingURL=siren.js.map
@@ -0,0 +1,3 @@
#!/usr/bin/env node
require("../dist/cli").default();
@@ -0,0 +1,19 @@
/*#__NO_SIDE_EFFECTS__*/
const createUnitType = (unit) => ({
test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
parse: parseFloat,
transform: (v) => `${v}${unit}`,
});
const degrees = /*@__PURE__*/ createUnitType("deg");
const percent = /*@__PURE__*/ createUnitType("%");
const px = /*@__PURE__*/ createUnitType("px");
const vh = /*@__PURE__*/ createUnitType("vh");
const vw = /*@__PURE__*/ createUnitType("vw");
const progressPercentage = /*@__PURE__*/ (() => ({
...percent,
parse: (v) => percent.parse(v) / 100,
transform: (v) => percent.transform(v * 100),
}))();
export { degrees, percent, progressPercentage, px, vh, vw };
//# sourceMappingURL=units.mjs.map
@@ -0,0 +1,11 @@
"use strict";
module.exports = function (it) {
const { path, message } = it;
return `
Failed to read JSON file at ${path}:
${message}
`.trimStart();
};
@@ -0,0 +1 @@
{"version":3,"file":"radio-tower.js","sources":["../../../src/icons/radio-tower.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name RadioTower\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNC45IDE2LjFDMSAxMi4yIDEgNS44IDQuOSAxLjkiIC8+CiAgPHBhdGggZD0iTTcuOCA0LjdhNi4xNCA2LjE0IDAgMCAwLS44IDcuNSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjkiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTE2LjIgNC44YzIgMiAyLjI2IDUuMTEuOCA3LjQ3IiAvPgogIDxwYXRoIGQ9Ik0xOS4xIDEuOWE5Ljk2IDkuOTYgMCAwIDEgMCAxNC4xIiAvPgogIDxwYXRoIGQ9Ik05LjUgMThoNSIgLz4KICA8cGF0aCBkPSJtOCAyMiA0LTExIDQgMTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/radio-tower\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 RadioTower = createLucideIcon('RadioTower', [\n ['path', { d: 'M4.9 16.1C1 12.2 1 5.8 4.9 1.9', key: 's0qx1y' }],\n ['path', { d: 'M7.8 4.7a6.14 6.14 0 0 0-.8 7.5', key: '1idnkw' }],\n ['circle', { cx: '12', cy: '9', r: '2', key: '1092wv' }],\n ['path', { d: 'M16.2 4.8c2 2 2.26 5.11.8 7.47', key: 'ojru2q' }],\n ['path', { d: 'M19.1 1.9a9.96 9.96 0 0 1 0 14.1', key: 'rhi7fg' }],\n ['path', { d: 'M9.5 18h5', key: 'mfy3pd' }],\n ['path', { d: 'm8 22 4-11 4 11', key: '25yftu' }],\n]);\n\nexport default RadioTower;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,iBAAiB,YAAc,CAAA,CAAA,CAAA;AAAA,CAAA,CAChD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAkC,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,CAC/D,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAmC,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,CAChE,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAI,CAAA,CAAA,CAAA,GAAA,CAAK,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA;AAAA,CAAA,CACvD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAkC,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,CAC/D,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAoC,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,CACjE,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,CAAmB,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;AAClD,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,6 @@
const isKeyframesTarget = (v) => {
return Array.isArray(v);
};
export { isKeyframesTarget };
//# sourceMappingURL=is-keyframes-target.mjs.map
@@ -0,0 +1,3 @@
import { ZodBrandedDef } from "zod/v3";
import { Refs } from "../Refs.js";
export declare function parseBrandedDef(_def: ZodBrandedDef<any>, refs: Refs): import("../parseTypes.js").JsonSchema7Type | undefined;
@@ -0,0 +1 @@
{"version":3,"names":["_index","require","_index2","_default","exports","default","toStatement","node","ignore","isStatement","mustHaveId","newType","isClass","isFunction","isAssignmentExpression","expressionStatement","id","Error","type"],"sources":["../../src/converters/toStatement.ts"],"sourcesContent":["import {\n isStatement,\n isFunction,\n isClass,\n isAssignmentExpression,\n} from \"../validators/generated/index.ts\";\nimport { expressionStatement } from \"../builders/generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default toStatement as {\n (node: t.AssignmentExpression, ignore?: boolean): t.ExpressionStatement;\n\n <T extends t.Statement>(node: T, ignore: false): T;\n <T extends t.Statement>(node: T, ignore?: boolean): T | false;\n\n (node: t.Class, ignore: false): t.ClassDeclaration;\n (node: t.Class, ignore?: boolean): t.ClassDeclaration | false;\n\n (node: t.Function, ignore: false): t.FunctionDeclaration;\n (node: t.Function, ignore?: boolean): t.FunctionDeclaration | false;\n\n (node: t.Node, ignore: false): t.Statement;\n (node: t.Node, ignore?: boolean): t.Statement | false;\n};\n\nfunction toStatement(node: t.Node, ignore?: boolean): t.Statement | false {\n if (isStatement(node)) {\n return node;\n }\n\n let mustHaveId = false;\n let newType;\n\n if (isClass(node)) {\n mustHaveId = true;\n newType = \"ClassDeclaration\" as const;\n } else if (isFunction(node)) {\n mustHaveId = true;\n newType = \"FunctionDeclaration\" as const;\n } else if (isAssignmentExpression(node)) {\n return expressionStatement(node);\n }\n\n // @ts-expect-error todo(flow->ts): node.id might be missing\n if (mustHaveId && !node.id) {\n newType = false;\n }\n\n if (!newType) {\n if (ignore) {\n return false;\n } else {\n throw new Error(`cannot turn ${node.type} to a statement`);\n }\n }\n\n // @ts-expect-error manipulating node.type\n node.type = newType;\n\n // @ts-expect-error todo(flow->ts) refactor to avoid type unsafe mutations like reassigning node type above\n return node;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,OAAA,GAAAD,OAAA;AAAqE,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGtDC,WAAW;AAgB1B,SAASA,WAAWA,CAACC,IAAY,EAAEC,MAAgB,EAAuB;EACxE,IAAI,IAAAC,kBAAW,EAACF,IAAI,CAAC,EAAE;IACrB,OAAOA,IAAI;EACb;EAEA,IAAIG,UAAU,GAAG,KAAK;EACtB,IAAIC,OAAO;EAEX,IAAI,IAAAC,cAAO,EAACL,IAAI,CAAC,EAAE;IACjBG,UAAU,GAAG,IAAI;IACjBC,OAAO,GAAG,kBAA2B;EACvC,CAAC,MAAM,IAAI,IAAAE,iBAAU,EAACN,IAAI,CAAC,EAAE;IAC3BG,UAAU,GAAG,IAAI;IACjBC,OAAO,GAAG,qBAA8B;EAC1C,CAAC,MAAM,IAAI,IAAAG,6BAAsB,EAACP,IAAI,CAAC,EAAE;IACvC,OAAO,IAAAQ,2BAAmB,EAACR,IAAI,CAAC;EAClC;EAGA,IAAIG,UAAU,IAAI,CAACH,IAAI,CAACS,EAAE,EAAE;IAC1BL,OAAO,GAAG,KAAK;EACjB;EAEA,IAAI,CAACA,OAAO,EAAE;IACZ,IAAIH,MAAM,EAAE;MACV,OAAO,KAAK;IACd,CAAC,MAAM;MACL,MAAM,IAAIS,KAAK,CAAC,eAAeV,IAAI,CAACW,IAAI,iBAAiB,CAAC;IAC5D;EACF;EAGAX,IAAI,CAACW,IAAI,GAAGP,OAAO;EAGnB,OAAOJ,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,98 @@
# Lilconfig ⚙️
[![npm version](https://badge.fury.io/js/lilconfig.svg)](https://badge.fury.io/js/lilconfig)
[![install size](https://packagephobia.now.sh/badge?p=lilconfig)](https://packagephobia.now.sh/result?p=lilconfig)
[![Coverage Status](https://coveralls.io/repos/github/antonk52/lilconfig/badge.svg)](https://coveralls.io/github/antonk52/lilconfig)
A zero-dependency alternative to [cosmiconfig](https://www.npmjs.com/package/cosmiconfig) with the same API.
## Installation
```sh
npm install lilconfig
```
## Usage
```js
import {lilconfig, lilconfigSync} from 'lilconfig';
// all keys are optional
const options = {
stopDir: '/Users/you/some/dir',
searchPlaces: ['package.json', 'myapp.conf.js'],
ignoreEmptySearchPlaces: false
}
lilconfig(
'myapp',
options // optional
).search() // Promise<LilconfigResult>
lilconfigSync(
'myapp',
options // optional
).load(pathToConfig) // LilconfigResult
/**
* LilconfigResult
* {
* config: any; // your config
* filepath: string;
* }
*/
```
## ESM
ESM configs can be loaded with **async API only**. Specifically `js` files in projects with `"type": "module"` in `package.json` or `mjs` files.
## Difference to `cosmiconfig`
Lilconfig does not intend to be 100% compatible with `cosmiconfig` but tries to mimic it where possible. The key difference is **no** support for yaml files out of the box(`lilconfig` attempts to parse files with no extension as JSON instead of YAML). You can still add the support for YAML files by providing a loader, see an [example](#yaml-loader) below.
### Options difference between the two.
|cosmiconfig option | lilconfig |
|------------------------|-----------|
|cache | ✅ |
|loaders | ✅ |
|ignoreEmptySearchPlaces | ✅ |
|packageProp | ✅ |
|searchPlaces | ✅ |
|stopDir | ✅ |
|transform | ✅ |
## Loaders examples
### Yaml loader
If you need the YAML support you can provide your own loader
```js
import {lilconfig} from 'lilconfig';
import yaml from 'yaml';
function loadYaml(filepath, content) {
return yaml.parse(content);
}
const options = {
loaders: {
'.yaml': loadYaml,
'.yml': loadYaml,
// loader for files with no extension
noExt: loadYaml
}
};
lilconfig('myapp', options)
.search()
.then(result => {
result // {config, filepath}
});
```
## Version correlation
- lilconig v1 → cosmiconfig v6
- lilconig v2 → cosmiconfig v7
- lilconig v3 → cosmiconfig v8
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isIterableIterator = isIterableIterator;
exports.mergeOptions = mergeOptions;
function mergeOptions(target, source) {
for (const k of Object.keys(source)) {
if ((k === "parserOpts" || k === "generatorOpts" || k === "assumptions") && source[k]) {
const parserOpts = source[k];
const targetObj = target[k] || (target[k] = {});
mergeDefaultFields(targetObj, parserOpts);
} else {
const val = source[k];
if (val !== undefined) target[k] = val;
}
}
}
function mergeDefaultFields(target, source) {
for (const k of Object.keys(source)) {
const val = source[k];
if (val !== undefined) target[k] = val;
}
}
function isIterableIterator(value) {
return !!value && typeof value.next === "function" && typeof value[Symbol.iterator] === "function";
}
0 && 0;
//# sourceMappingURL=util.js.map
@@ -0,0 +1,55 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv2020 = void 0;
const core_1 = require("./core");
const draft2020_1 = require("./vocabularies/draft2020");
const discriminator_1 = require("./vocabularies/discriminator");
const json_schema_2020_12_1 = require("./refs/json-schema-2020-12");
const META_SCHEMA_ID = "https://json-schema.org/draft/2020-12/schema";
class Ajv2020 extends core_1.default {
constructor(opts = {}) {
super({
...opts,
dynamicRef: true,
next: true,
unevaluated: true,
});
}
_addVocabularies() {
super._addVocabularies();
draft2020_1.default.forEach((v) => this.addVocabulary(v));
if (this.opts.discriminator)
this.addKeyword(discriminator_1.default);
}
_addDefaultMetaSchema() {
super._addDefaultMetaSchema();
const { $data, meta } = this.opts;
if (!meta)
return;
json_schema_2020_12_1.default.call(this, $data);
this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID;
}
defaultMeta() {
return (this.opts.defaultMeta =
super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined));
}
}
exports.Ajv2020 = Ajv2020;
module.exports = exports = Ajv2020;
module.exports.Ajv2020 = Ajv2020;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = Ajv2020;
var validate_1 = require("./compile/validate");
Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function () { return validate_1.KeywordCxt; } });
var codegen_1 = require("./compile/codegen");
Object.defineProperty(exports, "_", { enumerable: true, get: function () { return codegen_1._; } });
Object.defineProperty(exports, "str", { enumerable: true, get: function () { return codegen_1.str; } });
Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return codegen_1.stringify; } });
Object.defineProperty(exports, "nil", { enumerable: true, get: function () { return codegen_1.nil; } });
Object.defineProperty(exports, "Name", { enumerable: true, get: function () { return codegen_1.Name; } });
Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function () { return codegen_1.CodeGen; } });
var validation_error_1 = require("./runtime/validation_error");
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return validation_error_1.default; } });
var ref_error_1 = require("./compile/ref_error");
Object.defineProperty(exports, "MissingRefError", { enumerable: true, get: function () { return ref_error_1.default; } });
//# sourceMappingURL=2020.js.map
@@ -0,0 +1,17 @@
/**
* @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 SquareStack = createLucideIcon("SquareStack", [
["path", { d: "M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2", key: "4i38lg" }],
["path", { d: "M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2", key: "mlte4a" }],
["rect", { width: "8", height: "8", x: "14", y: "14", rx: "2", key: "1fa9i4" }]
]);
export { SquareStack as default };
//# sourceMappingURL=square-stack.js.map
@@ -0,0 +1,20 @@
/**
* @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 AlignVerticalDistributeCenter = createLucideIcon("AlignVerticalDistributeCenter", [
["path", { d: "M22 17h-3", key: "1lwga1" }],
["path", { d: "M22 7h-5", key: "o2endc" }],
["path", { d: "M5 17H2", key: "1gx9xc" }],
["path", { d: "M7 7H2", key: "6bq26l" }],
["rect", { x: "5", y: "14", width: "14", height: "6", rx: "2", key: "1qrzuf" }],
["rect", { x: "7", y: "4", width: "10", height: "6", rx: "2", key: "we8e9z" }]
]);
export { AlignVerticalDistributeCenter as default };
//# sourceMappingURL=align-vertical-distribute-center.js.map
@@ -0,0 +1 @@
{"version":3,"file":"cannabis.js","sources":["../../../src/icons/cannabis.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Cannabis\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJ2LTQiIC8+CiAgPHBhdGggZD0iTTcgMTJjLTEuNSAwLTQuNSAxLjUtNSAzIDMuNSAxLjUgNiAxIDYgMS0xLjUgMS41LTIgMy41LTIgNSAyLjUgMCA0LjUtMS41IDYtMyAxLjUgMS41IDMuNSAzIDYgMyAwLTEuNS0uNS0zLjUtMi01IDAgMCAyLjUuNSA2LTEtLjUtMS41LTMuNS0zLTUtMyAxLjUtMSA0LTQgNC02LTIuNSAwLTUuNSAxLjUtNyAzIDAtMi41LS41LTUtMi03LTEuNSAyLTIgNC41LTIgNy0xLjUtMS41LTQuNS0zLTctMyAwIDIgMi41IDUgNCA2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cannabis\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 Cannabis = createLucideIcon('Cannabis', [\n ['path', { d: 'M12 22v-4', key: '1utk9m' }],\n [\n 'path',\n {\n d: 'M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6',\n key: '1mezod',\n },\n ],\n]);\n\nexport default Cannabis;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,iBAAiB,UAAY,CAAA,CAAA,CAAA;AAAA,CAAA,CAC5C,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,CAC1C,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,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,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;AACF,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
{"version":3,"file":"is-node-or-child.mjs","sources":["../../../../src/gestures/utils/is-node-or-child.ts"],"sourcesContent":["/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nexport const isNodeOrChild = (\n parent: Element | null,\n child?: Element | null\n): boolean => {\n if (!child) {\n return false\n } else if (parent === child) {\n return true\n } else {\n return isNodeOrChild(parent, child.parentElement)\n }\n}\n"],"names":[],"mappings":"AAAA;;;;;;AAMG;MACU,aAAa,GAAG,CACzB,MAAsB,EACtB,KAAsB,KACb;IACT,IAAI,CAAC,KAAK,EAAE;AACR,QAAA,OAAO,KAAK;IAChB;AAAO,SAAA,IAAI,MAAM,KAAK,KAAK,EAAE;AACzB,QAAA,OAAO,IAAI;IACf;SAAO;QACH,OAAO,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;IACrD;AACJ;;;;"}
@@ -0,0 +1 @@
{"version":3,"file":"smile-plus.js","sources":["../../../src/icons/smile-plus.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name SmilePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTF2MWExMCAxMCAwIDEgMS05LTEwIiAvPgogIDxwYXRoIGQ9Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIiAvPgogIDxsaW5lIHgxPSI5IiB4Mj0iOS4wMSIgeTE9IjkiIHkyPSI5IiAvPgogIDxsaW5lIHgxPSIxNSIgeDI9IjE1LjAxIiB5MT0iOSIgeTI9IjkiIC8+CiAgPHBhdGggZD0iTTE2IDVoNiIgLz4KICA8cGF0aCBkPSJNMTkgMnY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/smile-plus\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 SmilePlus = createLucideIcon('SmilePlus', [\n ['path', { d: 'M22 11v1a10 10 0 1 1-9-10', key: 'ew0xw9' }],\n ['path', { d: 'M8 14s1.5 2 4 2 4-2 4-2', key: '1y1vjs' }],\n ['line', { x1: '9', x2: '9.01', y1: '9', y2: '9', key: 'yxxnd0' }],\n ['line', { x1: '15', x2: '15.01', y1: '9', y2: '9', key: '1p4y9e' }],\n ['path', { d: 'M16 5h6', key: '1vod17' }],\n ['path', { d: 'M19 2v6', key: '4bpg5p' }],\n]);\n\nexport default SmilePlus;\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,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA6B,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,CAC1D,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA2B,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,CACxD,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAE,CAAA,CAAA,CAAA,EAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAI,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CACjE,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,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAI,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACnE,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,CAAA;AAAA,CAAA,CACxC,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,16 @@
/**
* @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 SquareSigma = createLucideIcon("SquareSigma", [
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
["path", { d: "M16 8.9V7H8l4 5-4 5h8v-1.9", key: "9nih0i" }]
]);
export { SquareSigma as default };
//# sourceMappingURL=square-sigma.js.map
@@ -0,0 +1,523 @@
export default `flf2a$ 5 5 12 0 11 0 0 0
Author : myflix and Mikechat
Date : 2006/4/9 14:37:04
Version: 1.0
-------------------------------------------------
-------------------------------------------------
This font has been created using JavE's FIGlet font export assistant.
Have a look at: http://www.jave.de
Permission is hereby given to modify this font, as long as the
modifier's name is placed on a comment line.
_ #
_( )__ #
_| _|#
(_ _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ ! _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ " _ (_ #
|_( )__|##
##
#
#
#
##
$#
#
#
#
##
%#
#
#
#
##
&#
#
#
#
##
'#
#
#
#
##
(#
#
#
#
##
)#
#
#
#
##
*#
#
#
#
##
_ #
_( )__ #
_| _|#
(_ + _ (_ #
|_( )__|##
,#
#
#
#
##
_ #
_( )__ #
_| _|#
(_ - _ (_ #
|_( )__|##
.#
#
#
#
##
/#
#
#
#
##
_ #
_( )__ #
_| _|#
(_ 0 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ 1 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ 2 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ 3 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ 4 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ 5 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ 6 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ 7 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ 8 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ 9 _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ : _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ ; _ (_ #
|_( )__|##
<#
#
#
#
##
_ #
_( )__ #
_| _|#
(_ = _ (_ #
|_( )__|##
>#
#
#
#
##
_ #
_( )__ #
_| _|#
(_ ? _ (_ #
|_( )__|##
@#
#
#
#
##
_ #
_( )__ #
_| _|#
(_ A _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ B _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ C _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ D _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ E _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ F _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ G _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ H _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ I _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ J _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ K _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ L _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ M _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ N _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ O _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ P _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ Q _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ R _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ S _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ T _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ U _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ V _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ W _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ X _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ Y _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ Z _ (_ #
|_( )__|##
[#
#
#
#
##
\\#
#
#
#
##
]#
#
#
#
##
_ #
_( )__ #
_| _|#
(_ ^ _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ _ _ (_ #
|_( )__|##
\`#
#
#
#
##
_ #
_( )__ #
_| _|#
(_ A _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ B _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ C _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ D _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ E _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ F _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ G _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ H _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ I _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ J _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ K _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ L _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ M _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ N _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ O _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ P _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ Q _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ R _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ S _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ T _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ U _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ V _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ W _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ X _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ Y _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ Z _ (_ #
|_( )__|##
{#
#
#
#
##
|#
#
#
#
##
}#
#
#
#
##
~#
#
#
#
##
_ #
_( )__ #
_| _|#
(_ A _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ O _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ U _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ A _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ O _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ U _ (_ #
|_( )__|##
_ #
_( )__ #
_| _|#
(_ _ (_ #
|_( )__|##
`
@@ -0,0 +1,39 @@
// @flow
export interface Targets {
android?: number;
chrome?: number;
edge?: number;
firefox?: number;
ie?: number;
ios_saf?: number;
opera?: number;
safari?: number;
samsung?: number;
}
declare export var Features: {|
Nesting: 1,
NotSelectorList: 2,
DirSelector: 4,
LangSelectorList: 8,
IsSelector: 16,
TextDecorationThicknessPercent: 32,
MediaIntervalSyntax: 64,
MediaRangeSyntax: 128,
CustomMediaQueries: 256,
ClampFunction: 512,
ColorFunction: 1024,
OklabColors: 2048,
LabColors: 4096,
P3Colors: 8192,
HexAlphaColors: 16384,
SpaceSeparatedColorNotation: 32768,
FontFamilySystemUi: 65536,
DoublePositionGradients: 131072,
VendorPrefixes: 262144,
LogicalProperties: 524288,
LightDark: 1048576,
Selectors: 31,
MediaQueries: 448,
Colors: 1113088,
|};
@@ -0,0 +1,322 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("@typescript-eslint/utils");
const tsutils = __importStar(require("ts-api-utils"));
const util_1 = require("../util");
var ComparisonType;
(function (ComparisonType) {
/** Do no assignment comparison */
ComparisonType[ComparisonType["None"] = 0] = "None";
/** Use the receiver's type for comparison */
ComparisonType[ComparisonType["Basic"] = 1] = "Basic";
/** Use the sender's contextual type for comparison */
ComparisonType[ComparisonType["Contextual"] = 2] = "Contextual";
})(ComparisonType || (ComparisonType = {}));
exports.default = (0, util_1.createRule)({
name: 'no-unsafe-assignment',
meta: {
type: 'problem',
docs: {
description: 'Disallow assigning a value with type `any` to variables and properties',
recommended: 'recommended',
requiresTypeChecking: true,
},
messages: {
anyAssignment: 'Unsafe assignment of an {{sender}} value.',
anyAssignmentThis: [
'Unsafe assignment of an {{sender}} value. `this` is typed as `any`.',
'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.',
].join('\n'),
unsafeArrayPattern: 'Unsafe array destructuring of an {{sender}} array value.',
unsafeArrayPatternFromTuple: 'Unsafe array destructuring of a tuple element with an {{sender}} value.',
unsafeArraySpread: 'Unsafe spread of an {{sender}} value in an array.',
unsafeAssignment: 'Unsafe assignment of type {{sender}} to a variable of type {{receiver}}.',
unsafeObjectPattern: 'Unsafe object destructuring of a property with an {{sender}} value.',
},
schema: [],
},
defaultOptions: [],
create(context) {
const services = (0, util_1.getParserServices)(context);
const checker = services.program.getTypeChecker();
const compilerOptions = services.program.getCompilerOptions();
const isNoImplicitThis = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'noImplicitThis');
// returns true if the assignment reported
function checkArrayDestructureHelper(receiverNode, senderNode) {
if (receiverNode.type !== utils_1.AST_NODE_TYPES.ArrayPattern) {
return false;
}
const senderTsNode = services.esTreeNodeToTSNodeMap.get(senderNode);
const senderType = services.getTypeAtLocation(senderNode);
return checkArrayDestructure(receiverNode, senderType, senderTsNode);
}
// returns true if the assignment reported
function checkArrayDestructure(receiverNode, senderType, senderNode) {
// any array
// const [x] = ([] as any[]);
if ((0, util_1.isTypeAnyArrayType)(senderType, checker)) {
context.report({
node: receiverNode,
messageId: 'unsafeArrayPattern',
data: createData(senderType),
});
return false;
}
if (!checker.isTupleType(senderType)) {
return true;
}
const tupleElements = checker.getTypeArguments(senderType);
// tuple with any
// const [x] = [1 as any];
let didReport = false;
for (let receiverIndex = 0; receiverIndex < receiverNode.elements.length; receiverIndex += 1) {
const receiverElement = receiverNode.elements[receiverIndex];
if (!receiverElement) {
continue;
}
if (receiverElement.type === utils_1.AST_NODE_TYPES.RestElement) {
// don't handle rests as they're not a 1:1 assignment
continue;
}
const senderType = tupleElements[receiverIndex];
if (!senderType) {
continue;
}
// check for the any type first so we can handle [[[x]]] = [any]
if ((0, util_1.isTypeAnyType)(senderType)) {
context.report({
node: receiverElement,
messageId: 'unsafeArrayPatternFromTuple',
data: createData(senderType),
});
// we want to report on every invalid element in the tuple
didReport = true;
}
else if (receiverElement.type === utils_1.AST_NODE_TYPES.ArrayPattern) {
didReport = checkArrayDestructure(receiverElement, senderType, senderNode);
}
else if (receiverElement.type === utils_1.AST_NODE_TYPES.ObjectPattern) {
didReport = checkObjectDestructure(receiverElement, senderType, senderNode);
}
}
return didReport;
}
// returns true if the assignment reported
function checkObjectDestructureHelper(receiverNode, senderNode) {
if (receiverNode.type !== utils_1.AST_NODE_TYPES.ObjectPattern) {
return false;
}
const senderTsNode = services.esTreeNodeToTSNodeMap.get(senderNode);
const senderType = services.getTypeAtLocation(senderNode);
return checkObjectDestructure(receiverNode, senderType, senderTsNode);
}
// returns true if the assignment reported
function checkObjectDestructure(receiverNode, senderType, senderNode) {
const properties = new Map(senderType
.getProperties()
.map(property => [
property.getName(),
checker.getTypeOfSymbolAtLocation(property, senderNode),
]));
let didReport = false;
for (const receiverProperty of receiverNode.properties) {
if (receiverProperty.type === utils_1.AST_NODE_TYPES.RestElement) {
// don't bother checking rest
continue;
}
let key;
if (!receiverProperty.computed) {
key =
receiverProperty.key.type === utils_1.AST_NODE_TYPES.Identifier
? receiverProperty.key.name
: String(receiverProperty.key.value);
}
else if (receiverProperty.key.type === utils_1.AST_NODE_TYPES.Literal) {
key = String(receiverProperty.key.value);
}
else if (receiverProperty.key.type === utils_1.AST_NODE_TYPES.TemplateLiteral &&
receiverProperty.key.quasis.length === 1) {
const cooked = (0, util_1.nullThrows)(receiverProperty.key.quasis[0].value.cooked, 'cooked can only be null inside a TaggedTemplateExpression, which is not possible here');
key = cooked;
}
else {
// can't figure out the name, so skip it
continue;
}
const senderType = properties.get(key);
if (!senderType) {
continue;
}
// check for the any type first so we can handle {x: {y: z}} = {x: any}
if ((0, util_1.isTypeAnyType)(senderType)) {
context.report({
node: receiverProperty.value,
messageId: 'unsafeObjectPattern',
data: createData(senderType),
});
didReport = true;
}
else if (receiverProperty.value.type === utils_1.AST_NODE_TYPES.ArrayPattern) {
didReport = checkArrayDestructure(receiverProperty.value, senderType, senderNode);
}
else if (receiverProperty.value.type === utils_1.AST_NODE_TYPES.ObjectPattern) {
didReport = checkObjectDestructure(receiverProperty.value, senderType, senderNode);
}
}
return didReport;
}
// returns true if the assignment reported
function checkAssignment(receiverNode, senderNode, reportingNode, comparisonType) {
const receiverTsNode = services.esTreeNodeToTSNodeMap.get(receiverNode);
const receiverType = comparisonType === ComparisonType.Contextual
? ((0, util_1.getContextualType)(checker, receiverTsNode) ??
services.getTypeAtLocation(receiverNode))
: services.getTypeAtLocation(receiverNode);
const senderType = services.getTypeAtLocation(senderNode);
if ((0, util_1.isTypeAnyType)(senderType)) {
// handle cases when we assign any ==> unknown.
if ((0, util_1.isTypeUnknownType)(receiverType)) {
return false;
}
let messageId = 'anyAssignment';
if (!isNoImplicitThis) {
// `var foo = this`
const thisExpression = (0, util_1.getThisExpression)(senderNode);
if (thisExpression &&
(0, util_1.isTypeAnyType)((0, util_1.getConstrainedTypeAtLocation)(services, thisExpression))) {
messageId = 'anyAssignmentThis';
}
}
context.report({
node: reportingNode,
messageId,
data: createData(senderType),
});
return true;
}
if (comparisonType === ComparisonType.None) {
return false;
}
const result = (0, util_1.isUnsafeAssignment)(senderType, receiverType, checker, senderNode);
if (!result) {
return false;
}
const { receiver, sender } = result;
context.report({
node: reportingNode,
messageId: 'unsafeAssignment',
data: createData(sender, receiver),
});
return true;
}
function getComparisonType(typeAnnotation) {
return typeAnnotation
? // if there's a type annotation, we can do a comparison
ComparisonType.Basic
: // no type annotation means the variable's type will just be inferred, thus equal
ComparisonType.None;
}
function createData(senderType, receiverType) {
if (receiverType) {
return {
receiver: `\`${checker.typeToString(receiverType)}\``,
sender: `\`${checker.typeToString(senderType)}\``,
};
}
return {
sender: tsutils.isIntrinsicErrorType(senderType)
? 'error typed'
: '`any`',
};
}
return {
'AccessorProperty[value != null]'(node) {
checkAssignment(node.key, node.value, node, getComparisonType(node.typeAnnotation));
},
'AssignmentExpression[operator = "="], AssignmentPattern'(node) {
let didReport = checkAssignment(node.left, node.right, node,
// the variable already has some form of a type to compare against
ComparisonType.Basic);
if (!didReport) {
didReport = checkArrayDestructureHelper(node.left, node.right);
}
if (!didReport) {
checkObjectDestructureHelper(node.left, node.right);
}
},
'PropertyDefinition[value != null]'(node) {
checkAssignment(node.key, node.value, node, getComparisonType(node.typeAnnotation));
},
'VariableDeclarator[init != null]'(node) {
const init = (0, util_1.nullThrows)(node.init, util_1.NullThrowsReasons.MissingToken(node.type, 'init'));
let didReport = checkAssignment(node.id, init, node, getComparisonType(node.id.typeAnnotation));
if (!didReport) {
didReport = checkArrayDestructureHelper(node.id, init);
}
if (!didReport) {
checkObjectDestructureHelper(node.id, init);
}
},
// object pattern props are checked via assignments
':not(ObjectPattern) > Property'(node) {
if (node.value.type === utils_1.AST_NODE_TYPES.AssignmentPattern ||
node.value.type === utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression) {
// handled by other selector
return;
}
checkAssignment(node.key, node.value, node, ComparisonType.Contextual);
},
'ArrayExpression > SpreadElement'(node) {
const restType = services.getTypeAtLocation(node.argument);
if ((0, util_1.isTypeAnyType)(restType) || (0, util_1.isTypeAnyArrayType)(restType, checker)) {
context.report({
node,
messageId: 'unsafeArraySpread',
data: createData(restType),
});
}
},
'JSXAttribute[value != null]'(node) {
const value = (0, util_1.nullThrows)(node.value, util_1.NullThrowsReasons.MissingToken(node.type, 'value'));
if (value.type !== utils_1.AST_NODE_TYPES.JSXExpressionContainer ||
value.expression.type === utils_1.AST_NODE_TYPES.JSXEmptyExpression) {
return;
}
checkAssignment(node.name, value.expression, value.expression, ComparisonType.Contextual);
},
};
},
});
@@ -0,0 +1,15 @@
type Promisable<T> = T | Promise<T>;
declare namespace escalade {
export type Callback = (
directory: string,
files: string[],
) => Promisable<string | false | void>;
}
declare function escalade(
directory: string,
callback: escalade.Callback,
): Promise<string | void>;
export = escalade;
@@ -0,0 +1,43 @@
import { URL, UrlObject } from 'node:url'
import { Duplex } from 'node:stream'
import Dispatcher from './dispatcher'
/** Performs an HTTP request. */
declare function request<TOpaque = null> (
url: string | URL | UrlObject,
options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions<TOpaque>, 'origin' | 'path' | 'method'> & Partial<Pick<Dispatcher.RequestOptions, 'method'>>,
): Promise<Dispatcher.ResponseData<TOpaque>>
/** A faster version of `request`. */
declare function stream<TOpaque = null> (
url: string | URL | UrlObject,
options: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions<TOpaque>, 'origin' | 'path'>,
factory: Dispatcher.StreamFactory<TOpaque>
): Promise<Dispatcher.StreamData<TOpaque>>
/** For easy use with `stream.pipeline`. */
declare function pipeline<TOpaque = null> (
url: string | URL | UrlObject,
options: { dispatcher?: Dispatcher } & Omit<Dispatcher.PipelineOptions<TOpaque>, 'origin' | 'path'>,
handler: Dispatcher.PipelineHandler<TOpaque>
): Duplex
/** Starts two-way communications with the requested resource. */
declare function connect<TOpaque = null> (
url: string | URL | UrlObject,
options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.ConnectOptions<TOpaque>, 'origin' | 'path'>
): Promise<Dispatcher.ConnectData<TOpaque>>
/** Upgrade to a different protocol. */
declare function upgrade (
url: string | URL | UrlObject,
options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.UpgradeOptions, 'origin' | 'path'>
): Promise<Dispatcher.UpgradeData>
export {
request,
stream,
pipeline,
connect,
upgrade
}
@@ -0,0 +1,18 @@
"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.es2020_symbol_wellknown = void 0;
const base_config_1 = require("./base-config");
const es2015_iterable_1 = require("./es2015.iterable");
const es2015_symbol_1 = require("./es2015.symbol");
exports.es2020_symbol_wellknown = {
libs: [es2015_iterable_1.es2015_iterable, es2015_symbol_1.es2015_symbol],
variables: [
['SymbolConstructor', base_config_1.TYPE],
['RegExpStringIterator', base_config_1.TYPE],
['RegExp', base_config_1.TYPE],
],
};
@@ -0,0 +1 @@
{"version":3,"file":"rectangle-vertical.js","sources":["../../../src/icons/rectangle-vertical.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name RectangleVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTIiIGhlaWdodD0iMjAiIHg9IjYiIHk9IjIiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rectangle-vertical\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 RectangleVertical = createLucideIcon('RectangleVertical', [\n ['rect', { width: '12', height: '20', x: '6', y: '2', rx: '2', key: '1oxtiu' }],\n]);\n\nexport default RectangleVertical;\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,CAAA,CAAA,CAAoB,iBAAiB,mBAAqB,CAAA,CAAA,CAAA;AAAA,CAAA,CAC9D,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;AAChF,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
module.exports={A:{D:{"1":"_qF","2":"_kF"},L:{"1":"I"},B:{"1":"_K","2":"_I"},C:{"1":"_CF","2":"_2C","33":"_3Q"},M:{"1":"YC"},A:{"2":"_E"},F:{"1":"_MF","2":"_XI"},K:{"1":"H","2":"_D"},E:{"1":"_5I _sI _OE","2":"_5R","33":"_BP"},G:{"1":"_mC","2":"_EB","33":"_vJ"},P:{"1":"_xB","2":"_3B"},I:{"1":"I","2":"_G"}},B:6,C:"text-decoration-style property",D:undefined};
@@ -0,0 +1,4 @@
declare const _default: import("@typescript-eslint/utils/ts-eslint").RuleModule<"overrides" | "errorTypeOverrides" | "literalOverridden" | "overridden" | "primitiveOverridden", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
name: string;
};
export default _default;
@@ -0,0 +1 @@
{"version":3,"file":"zoom-out.js","sources":["../../../src/icons/zoom-out.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ZoomOut\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE2LjY1IiB5MT0iMjEiIHkyPSIxNi42NSIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE0IiB5MT0iMTEiIHkyPSIxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zoom-out\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 ZoomOut = createLucideIcon('ZoomOut', [\n ['circle', { cx: '11', cy: '11', r: '8', key: '4ej97u' }],\n ['line', { x1: '21', x2: '16.65', y1: '21', y2: '16.65', key: '13gj7c' }],\n ['line', { x1: '8', x2: '14', y1: '11', y2: '11', key: 'durymu' }],\n]);\n\nexport default ZoomOut;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,iBAAiB,SAAW,CAAA,CAAA,CAAA;AAAA,CAC1C,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA;AAAA,CACxD,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,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CACxE,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAE,CAAA,CAAA,CAAA,EAAI,CAAK,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;AACnE,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,171 @@
### Esrecurse [![Build Status](https://travis-ci.org/estools/esrecurse.svg?branch=master)](https://travis-ci.org/estools/esrecurse)
Esrecurse ([esrecurse](https://github.com/estools/esrecurse)) is
[ECMAScript](https://www.ecma-international.org/publications/standards/Ecma-262.htm)
recursive traversing functionality.
### Example Usage
The following code will output all variables declared at the root of a file.
```javascript
esrecurse.visit(ast, {
XXXStatement: function (node) {
this.visit(node.left);
// do something...
this.visit(node.right);
}
});
```
We can use `Visitor` instance.
```javascript
var visitor = new esrecurse.Visitor({
XXXStatement: function (node) {
this.visit(node.left);
// do something...
this.visit(node.right);
}
});
visitor.visit(ast);
```
We can inherit `Visitor` instance easily.
```javascript
class Derived extends esrecurse.Visitor {
constructor()
{
super(null);
}
XXXStatement(node) {
}
}
```
```javascript
function DerivedVisitor() {
esrecurse.Visitor.call(/* this for constructor */ this /* visitor object automatically becomes this. */);
}
util.inherits(DerivedVisitor, esrecurse.Visitor);
DerivedVisitor.prototype.XXXStatement = function (node) {
this.visit(node.left);
// do something...
this.visit(node.right);
};
```
And you can invoke default visiting operation inside custom visit operation.
```javascript
function DerivedVisitor() {
esrecurse.Visitor.call(/* this for constructor */ this /* visitor object automatically becomes this. */);
}
util.inherits(DerivedVisitor, esrecurse.Visitor);
DerivedVisitor.prototype.XXXStatement = function (node) {
// do something...
this.visitChildren(node);
};
```
The `childVisitorKeys` option does customize the behaviour of `this.visitChildren(node)`.
We can use user-defined node types.
```javascript
// This tree contains a user-defined `TestExpression` node.
var tree = {
type: 'TestExpression',
// This 'argument' is the property containing the other **node**.
argument: {
type: 'Literal',
value: 20
},
// This 'extended' is the property not containing the other **node**.
extended: true
};
esrecurse.visit(
ast,
{
Literal: function (node) {
// do something...
}
},
{
// Extending the existing traversing rules.
childVisitorKeys: {
// TargetNodeName: [ 'keys', 'containing', 'the', 'other', '**node**' ]
TestExpression: ['argument']
}
}
);
```
We can use the `fallback` option as well.
If the `fallback` option is `"iteration"`, `esrecurse` would visit all enumerable properties of unknown nodes.
Please note circular references cause the stack overflow. AST might have circular references in additional properties for some purpose (e.g. `node.parent`).
```javascript
esrecurse.visit(
ast,
{
Literal: function (node) {
// do something...
}
},
{
fallback: 'iteration'
}
);
```
If the `fallback` option is a function, `esrecurse` calls this function to determine the enumerable properties of unknown nodes.
Please note circular references cause the stack overflow. AST might have circular references in additional properties for some purpose (e.g. `node.parent`).
```javascript
esrecurse.visit(
ast,
{
Literal: function (node) {
// do something...
}
},
{
fallback: function (node) {
return Object.keys(node).filter(function(key) {
return key !== 'argument'
});
}
}
);
```
### License
Copyright (C) 2014 [Yusuke Suzuki](https://github.com/Constellation)
(twitter: [@Constellation](https://twitter.com/Constellation)) and other contributors.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,263 @@
/**
* @fileoverview Translates tokens between Acorn format and Esprima format.
* @author Nicholas C. Zakas
*/
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
// none!
//------------------------------------------------------------------------------
// Private
//------------------------------------------------------------------------------
// Esprima Token Types
const Token = {
Boolean: "Boolean",
EOF: "<end>",
Identifier: "Identifier",
PrivateIdentifier: "PrivateIdentifier",
Keyword: "Keyword",
Null: "Null",
Numeric: "Numeric",
Punctuator: "Punctuator",
String: "String",
RegularExpression: "RegularExpression",
Template: "Template",
JSXIdentifier: "JSXIdentifier",
JSXText: "JSXText"
};
/**
* Converts part of a template into an Esprima token.
* @param {AcornToken[]} tokens The Acorn tokens representing the template.
* @param {string} code The source code.
* @returns {EsprimaToken} The Esprima equivalent of the template token.
* @private
*/
function convertTemplatePart(tokens, code) {
const firstToken = tokens[0],
lastTemplateToken = tokens.at(-1);
const token = {
type: Token.Template,
value: code.slice(firstToken.start, lastTemplateToken.end)
};
if (firstToken.loc) {
token.loc = {
start: firstToken.loc.start,
end: lastTemplateToken.loc.end
};
}
if (firstToken.range) {
token.start = firstToken.range[0];
token.end = lastTemplateToken.range[1];
token.range = [token.start, token.end];
}
return token;
}
/**
* Contains logic to translate Acorn tokens into Esprima tokens.
* @param {Object} acornTokTypes The Acorn token types.
* @param {string} code The source code Acorn is parsing. This is necessary
* to correct the "value" property of some tokens.
* @constructor
*/
function TokenTranslator(acornTokTypes, code) {
// token types
this._acornTokTypes = acornTokTypes;
// token buffer for templates
this._tokens = [];
// track the last curly brace
this._curlyBrace = null;
// the source code
this._code = code;
}
TokenTranslator.prototype = {
constructor: TokenTranslator,
/**
* Translates a single Esprima token to a single Acorn token. This may be
* inaccurate due to how templates are handled differently in Esprima and
* Acorn, but should be accurate for all other tokens.
* @param {AcornToken} token The Acorn token to translate.
* @param {Object} extra Espree extra object.
* @returns {EsprimaToken} The Esprima version of the token.
*/
translate(token, extra) {
const type = token.type,
tt = this._acornTokTypes;
if (type === tt.name) {
token.type = Token.Identifier;
// TODO: See if this is an Acorn bug
if (token.value === "static") {
token.type = Token.Keyword;
}
if (extra.ecmaVersion > 5 && (token.value === "yield" || token.value === "let")) {
token.type = Token.Keyword;
}
} else if (type === tt.privateId) {
token.type = Token.PrivateIdentifier;
} else if (type === tt.semi || type === tt.comma ||
type === tt.parenL || type === tt.parenR ||
type === tt.braceL || type === tt.braceR ||
type === tt.dot || type === tt.bracketL ||
type === tt.colon || type === tt.question ||
type === tt.bracketR || type === tt.ellipsis ||
type === tt.arrow || type === tt.jsxTagStart ||
type === tt.incDec || type === tt.starstar ||
type === tt.jsxTagEnd || type === tt.prefix ||
type === tt.questionDot ||
(type.binop && !type.keyword) ||
type.isAssign) {
token.type = Token.Punctuator;
token.value = this._code.slice(token.start, token.end);
} else if (type === tt.jsxName) {
token.type = Token.JSXIdentifier;
} else if (type.label === "jsxText" || type === tt.jsxAttrValueToken) {
token.type = Token.JSXText;
} else if (type.keyword) {
if (type.keyword === "true" || type.keyword === "false") {
token.type = Token.Boolean;
} else if (type.keyword === "null") {
token.type = Token.Null;
} else {
token.type = Token.Keyword;
}
} else if (type === tt.num) {
token.type = Token.Numeric;
token.value = this._code.slice(token.start, token.end);
} else if (type === tt.string) {
if (extra.jsxAttrValueToken) {
extra.jsxAttrValueToken = false;
token.type = Token.JSXText;
} else {
token.type = Token.String;
}
token.value = this._code.slice(token.start, token.end);
} else if (type === tt.regexp) {
token.type = Token.RegularExpression;
const value = token.value;
token.regex = {
flags: value.flags,
pattern: value.pattern
};
token.value = `/${value.pattern}/${value.flags}`;
}
return token;
},
/**
* Function to call during Acorn's onToken handler.
* @param {AcornToken} token The Acorn token.
* @param {Object} extra The Espree extra object.
* @returns {void}
*/
onToken(token, extra) {
const tt = this._acornTokTypes,
tokens = extra.tokens,
templateTokens = this._tokens;
/**
* Flushes the buffered template tokens and resets the template
* tracking.
* @returns {void}
* @private
*/
const translateTemplateTokens = () => {
tokens.push(convertTemplatePart(this._tokens, this._code));
this._tokens = [];
};
if (token.type === tt.eof) {
// might be one last curlyBrace
if (this._curlyBrace) {
tokens.push(this.translate(this._curlyBrace, extra));
}
return;
}
if (token.type === tt.backQuote) {
// if there's already a curly, it's not part of the template
if (this._curlyBrace) {
tokens.push(this.translate(this._curlyBrace, extra));
this._curlyBrace = null;
}
templateTokens.push(token);
// it's the end
if (templateTokens.length > 1) {
translateTemplateTokens();
}
return;
}
if (token.type === tt.dollarBraceL) {
templateTokens.push(token);
translateTemplateTokens();
return;
}
if (token.type === tt.braceR) {
// if there's already a curly, it's not part of the template
if (this._curlyBrace) {
tokens.push(this.translate(this._curlyBrace, extra));
}
// store new curly for later
this._curlyBrace = token;
return;
}
if (token.type === tt.template || token.type === tt.invalidTemplate) {
if (this._curlyBrace) {
templateTokens.push(this._curlyBrace);
this._curlyBrace = null;
}
templateTokens.push(token);
return;
}
if (this._curlyBrace) {
tokens.push(this.translate(this._curlyBrace, extra));
this._curlyBrace = null;
}
tokens.push(this.translate(token, extra));
}
};
//------------------------------------------------------------------------------
// Public
//------------------------------------------------------------------------------
export default TokenTranslator;
@@ -0,0 +1,49 @@
import type { SerovalNode } from 'seroval';
import { createPlugin } from 'seroval';
function convertHeaders(instance: Headers): HeadersInit {
const items: HeadersInit = [];
// biome-ignore lint/complexity/noForEach: <explanation>
instance.forEach((value, key) => {
items.push([key, value]);
});
return items;
}
const HeadersPlugin = /* @__PURE__ */ createPlugin<
Headers,
{ value: SerovalNode }
>({
tag: 'seroval-plugins/web/Headers',
test(value) {
if (typeof Headers === 'undefined') {
return false;
}
return value instanceof Headers;
},
parse: {
sync(value, ctx) {
return {
value: ctx.parse(convertHeaders(value)),
};
},
async async(value, ctx) {
return {
value: await ctx.parse(convertHeaders(value)),
};
},
stream(value, ctx) {
return {
value: ctx.parse(convertHeaders(value)),
};
},
},
serialize(node, ctx) {
return 'new Headers(' + ctx.serialize(node.value) + ')';
},
deserialize(node, ctx) {
return new Headers(ctx.deserialize(node.value) as HeadersInit);
},
});
export default HeadersPlugin;
@@ -0,0 +1,51 @@
import { AnyConfig } from './types'
/**
* Sorts modifiers according to following schema:
* - Predefined modifiers are sorted alphabetically
* - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
*/
export const createSortModifiers = (config: AnyConfig) => {
// Pre-compute weights for all known modifiers for O(1) comparison
const modifierWeights = new Map<string, number>()
// Assign weights to sensitive modifiers (highest priority, but preserve order)
config.orderSensitiveModifiers.forEach((mod, index) => {
modifierWeights.set(mod, 1000000 + index) // High weights for sensitive mods
})
return (modifiers: readonly string[]): string[] => {
const result: string[] = []
let currentSegment: string[] = []
// Process modifiers in one pass
for (let i = 0; i < modifiers.length; i++) {
const modifier = modifiers[i]!
// Check if modifier is sensitive (starts with '[' or in orderSensitiveModifiers)
const isArbitrary = modifier[0] === '['
const isOrderSensitive = modifierWeights.has(modifier)
if (isArbitrary || isOrderSensitive) {
// Sort and flush current segment alphabetically
if (currentSegment.length > 0) {
currentSegment.sort()
result.push(...currentSegment)
currentSegment = []
}
result.push(modifier)
} else {
// Regular modifier - add to current segment for batch sorting
currentSegment.push(modifier)
}
}
// Sort and add any remaining segment items
if (currentSegment.length > 0) {
currentSegment.sort()
result.push(...currentSegment)
}
return result
}
}
@@ -0,0 +1,191 @@
/*! *****************************************************************************
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.symbol" />
/// <reference lib="es2015.iterable" />
/// <reference lib="es2018.asynciterable" />
interface SymbolConstructor {
/**
* A method that is used to release resources held by an object. Called by the semantics of the `using` statement.
*/
readonly dispose: unique symbol;
/**
* A method that is used to asynchronously release resources held by an object. Called by the semantics of the `await using` statement.
*/
readonly asyncDispose: unique symbol;
}
interface Disposable {
[Symbol.dispose](): void;
}
interface AsyncDisposable {
[Symbol.asyncDispose](): PromiseLike<void>;
}
interface SuppressedError extends Error {
error: any;
suppressed: any;
}
interface SuppressedErrorConstructor {
new (error: any, suppressed: any, message?: string): SuppressedError;
(error: any, suppressed: any, message?: string): SuppressedError;
readonly prototype: SuppressedError;
}
declare var SuppressedError: SuppressedErrorConstructor;
interface DisposableStack {
/**
* Returns a value indicating whether this stack has been disposed.
*/
readonly disposed: boolean;
/**
* Disposes each resource in the stack in the reverse order that they were added.
*/
dispose(): void;
/**
* Adds a disposable resource to the stack, returning the resource.
* @param value The resource to add. `null` and `undefined` will not be added, but will be returned.
* @returns The provided {@link value}.
*/
use<T extends Disposable | null | undefined>(value: T): T;
/**
* Adds a value and associated disposal callback as a resource to the stack.
* @param value The value to add.
* @param onDispose The callback to use in place of a `[Symbol.dispose]()` method. Will be invoked with `value`
* as the first parameter.
* @returns The provided {@link value}.
*/
adopt<T>(value: T, onDispose: (value: T) => void): T;
/**
* Adds a callback to be invoked when the stack is disposed.
*/
defer(onDispose: () => void): void;
/**
* Move all resources out of this stack and into a new `DisposableStack`, and marks this stack as disposed.
* @example
* ```ts
* class C {
* #res1: Disposable;
* #res2: Disposable;
* #disposables: DisposableStack;
* constructor() {
* // stack will be disposed when exiting constructor for any reason
* using stack = new DisposableStack();
*
* // get first resource
* this.#res1 = stack.use(getResource1());
*
* // get second resource. If this fails, both `stack` and `#res1` will be disposed.
* this.#res2 = stack.use(getResource2());
*
* // all operations succeeded, move resources out of `stack` so that they aren't disposed
* // when constructor exits
* this.#disposables = stack.move();
* }
*
* [Symbol.dispose]() {
* this.#disposables.dispose();
* }
* }
* ```
*/
move(): DisposableStack;
[Symbol.dispose](): void;
readonly [Symbol.toStringTag]: string;
}
interface DisposableStackConstructor {
new (): DisposableStack;
readonly prototype: DisposableStack;
}
declare var DisposableStack: DisposableStackConstructor;
interface AsyncDisposableStack {
/**
* Returns a value indicating whether this stack has been disposed.
*/
readonly disposed: boolean;
/**
* Disposes each resource in the stack in the reverse order that they were added.
*/
disposeAsync(): Promise<void>;
/**
* Adds a disposable resource to the stack, returning the resource.
* @param value The resource to add. `null` and `undefined` will not be added, but will be returned.
* @returns The provided {@link value}.
*/
use<T extends AsyncDisposable | Disposable | null | undefined>(value: T): T;
/**
* Adds a value and associated disposal callback as a resource to the stack.
* @param value The value to add.
* @param onDisposeAsync The callback to use in place of a `[Symbol.asyncDispose]()` method. Will be invoked with `value`
* as the first parameter.
* @returns The provided {@link value}.
*/
adopt<T>(value: T, onDisposeAsync: (value: T) => PromiseLike<void> | void): T;
/**
* Adds a callback to be invoked when the stack is disposed.
*/
defer(onDisposeAsync: () => PromiseLike<void> | void): void;
/**
* Move all resources out of this stack and into a new `DisposableStack`, and marks this stack as disposed.
* @example
* ```ts
* class C {
* #res1: Disposable;
* #res2: Disposable;
* #disposables: DisposableStack;
* constructor() {
* // stack will be disposed when exiting constructor for any reason
* using stack = new DisposableStack();
*
* // get first resource
* this.#res1 = stack.use(getResource1());
*
* // get second resource. If this fails, both `stack` and `#res1` will be disposed.
* this.#res2 = stack.use(getResource2());
*
* // all operations succeeded, move resources out of `stack` so that they aren't disposed
* // when constructor exits
* this.#disposables = stack.move();
* }
*
* [Symbol.dispose]() {
* this.#disposables.dispose();
* }
* }
* ```
*/
move(): AsyncDisposableStack;
[Symbol.asyncDispose](): Promise<void>;
readonly [Symbol.toStringTag]: string;
}
interface AsyncDisposableStackConstructor {
new (): AsyncDisposableStack;
readonly prototype: AsyncDisposableStack;
}
declare var AsyncDisposableStack: AsyncDisposableStackConstructor;
interface IteratorObject<T, TReturn, TNext> extends Disposable {
}
interface AsyncIteratorObject<T, TReturn, TNext> extends AsyncDisposable {
}
@@ -0,0 +1,177 @@
# @eslint-community/regexpp
[![npm version](https://img.shields.io/npm/v/@eslint-community/regexpp.svg)](https://www.npmjs.com/package/@eslint-community/regexpp)
[![Downloads/month](https://img.shields.io/npm/dm/@eslint-community/regexpp.svg)](http://www.npmtrends.com/@eslint-community/regexpp)
[![Build Status](https://github.com/eslint-community/regexpp/workflows/CI/badge.svg)](https://github.com/eslint-community/regexpp/actions)
[![codecov](https://codecov.io/gh/eslint-community/regexpp/branch/main/graph/badge.svg)](https://codecov.io/gh/eslint-community/regexpp)
A regular expression parser for ECMAScript.
## 💿 Installation
```bash
$ npm install @eslint-community/regexpp
```
- require Node@^12.0.0 || ^14.0.0 || >=16.0.0.
## 📖 Usage
```ts
import {
AST,
RegExpParser,
RegExpValidator,
RegExpVisitor,
parseRegExpLiteral,
validateRegExpLiteral,
visitRegExpAST
} from "@eslint-community/regexpp"
```
### parseRegExpLiteral(source, options?)
Parse a given regular expression literal then make AST object.
This is equivalent to `new RegExpParser(options).parseLiteral(source)`.
- **Parameters:**
- `source` (`string | RegExp`) The source code to parse.
- `options?` ([`RegExpParser.Options`]) The options to parse.
- **Return:**
- The AST of the regular expression.
### validateRegExpLiteral(source, options?)
Validate a given regular expression literal.
This is equivalent to `new RegExpValidator(options).validateLiteral(source)`.
- **Parameters:**
- `source` (`string`) The source code to validate.
- `options?` ([`RegExpValidator.Options`]) The options to validate.
### visitRegExpAST(ast, handlers)
Visit each node of a given AST.
This is equivalent to `new RegExpVisitor(handlers).visit(ast)`.
- **Parameters:**
- `ast` ([`AST.Node`]) The AST to visit.
- `handlers` ([`RegExpVisitor.Handlers`]) The callbacks.
### RegExpParser
#### new RegExpParser(options?)
- **Parameters:**
- `options?` ([`RegExpParser.Options`]) The options to parse.
#### parser.parseLiteral(source, start?, end?)
Parse a regular expression literal.
- **Parameters:**
- `source` (`string`) The source code to parse. E.g. `"/abc/g"`.
- `start?` (`number`) The start index in the source code. Default is `0`.
- `end?` (`number`) The end index in the source code. Default is `source.length`.
- **Return:**
- The AST of the regular expression.
#### parser.parsePattern(source, start?, end?, flags?)
Parse a regular expression pattern.
- **Parameters:**
- `source` (`string`) The source code to parse. E.g. `"abc"`.
- `start?` (`number`) The start index in the source code. Default is `0`.
- `end?` (`number`) The end index in the source code. Default is `source.length`.
- `flags?` (`{ unicode?: boolean, unicodeSets?: boolean }`) The flags to enable Unicode mode, and Unicode Set mode.
- **Return:**
- The AST of the regular expression pattern.
#### parser.parseFlags(source, start?, end?)
Parse a regular expression flags.
- **Parameters:**
- `source` (`string`) The source code to parse. E.g. `"gim"`.
- `start?` (`number`) The start index in the source code. Default is `0`.
- `end?` (`number`) The end index in the source code. Default is `source.length`.
- **Return:**
- The AST of the regular expression flags.
### RegExpValidator
#### new RegExpValidator(options)
- **Parameters:**
- `options` ([`RegExpValidator.Options`]) The options to validate.
#### validator.validateLiteral(source, start, end)
Validate a regular expression literal.
- **Parameters:**
- `source` (`string`) The source code to validate.
- `start?` (`number`) The start index in the source code. Default is `0`.
- `end?` (`number`) The end index in the source code. Default is `source.length`.
#### validator.validatePattern(source, start, end, flags)
Validate a regular expression pattern.
- **Parameters:**
- `source` (`string`) The source code to validate.
- `start?` (`number`) The start index in the source code. Default is `0`.
- `end?` (`number`) The end index in the source code. Default is `source.length`.
- `flags?` (`{ unicode?: boolean, unicodeSets?: boolean }`) The flags to enable Unicode mode, and Unicode Set mode.
#### validator.validateFlags(source, start, end)
Validate a regular expression flags.
- **Parameters:**
- `source` (`string`) The source code to validate.
- `start?` (`number`) The start index in the source code. Default is `0`.
- `end?` (`number`) The end index in the source code. Default is `source.length`.
### RegExpVisitor
#### new RegExpVisitor(handlers)
- **Parameters:**
- `handlers` ([`RegExpVisitor.Handlers`]) The callbacks.
#### visitor.visit(ast)
Validate a regular expression literal.
- **Parameters:**
- `ast` ([`AST.Node`]) The AST to visit.
## 📰 Changelog
- [GitHub Releases](https://github.com/eslint-community/regexpp/releases)
## 🍻 Contributing
Welcome contributing!
Please use GitHub's Issues/PRs.
### Development Tools
- `npm test` runs tests and measures coverage.
- `npm run build` compiles TypeScript source code to `index.js`, `index.js.map`, and `index.d.ts`.
- `npm run clean` removes the temporary files which are created by `npm test` and `npm run build`.
- `npm run lint` runs ESLint.
- `npm run update:test` updates test fixtures.
- `npm run update:ids` updates `src/unicode/ids.ts`.
- `npm run watch` runs tests with `--watch` option.
[`AST.Node`]: src/ast.ts#L4
[`RegExpParser.Options`]: src/parser.ts#L743
[`RegExpValidator.Options`]: src/validator.ts#L220
[`RegExpVisitor.Handlers`]: src/visitor.ts#L291
@@ -0,0 +1 @@
{"version":3,"file":"has-transform.mjs","sources":["../../../../src/projection/utils/has-transform.ts"],"sourcesContent":["import { type AnyResolvedKeyframe } from \"../../animation/types\"\nimport { ResolvedValues } from \"../../render/types\"\n\nfunction isIdentityScale(scale: AnyResolvedKeyframe | undefined) {\n return scale === undefined || scale === 1\n}\n\nexport function hasScale({ scale, scaleX, scaleY }: ResolvedValues) {\n return (\n !isIdentityScale(scale) ||\n !isIdentityScale(scaleX) ||\n !isIdentityScale(scaleY)\n )\n}\n\nexport function hasTransform(values: ResolvedValues) {\n return (\n hasScale(values) ||\n has2DTranslate(values) ||\n values.z ||\n values.rotate ||\n values.rotateX ||\n values.rotateY ||\n values.skewX ||\n values.skewY\n )\n}\n\nexport function has2DTranslate(values: ResolvedValues) {\n return is2DTranslate(values.x) || is2DTranslate(values.y)\n}\n\nfunction is2DTranslate(value: AnyResolvedKeyframe | undefined) {\n return value && value !== \"0%\"\n}\n"],"names":[],"mappings":"AAGA,SAAS,eAAe,CAAC,KAAsC,EAAA;AAC3D,IAAA,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,CAAC;AAC7C;AAEM,SAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAkB,EAAA;AAC9D,IAAA,QACI,CAAC,eAAe,CAAC,KAAK,CAAC;QACvB,CAAC,eAAe,CAAC,MAAM,CAAC;AACxB,QAAA,CAAC,eAAe,CAAC,MAAM,CAAC;AAEhC;AAEM,SAAU,YAAY,CAAC,MAAsB,EAAA;AAC/C,IAAA,QACI,QAAQ,CAAC,MAAM,CAAC;QAChB,cAAc,CAAC,MAAM,CAAC;AACtB,QAAA,MAAM,CAAC,CAAC;AACR,QAAA,MAAM,CAAC,MAAM;AACb,QAAA,MAAM,CAAC,OAAO;AACd,QAAA,MAAM,CAAC,OAAO;AACd,QAAA,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,KAAK;AAEpB;AAEM,SAAU,cAAc,CAAC,MAAsB,EAAA;AACjD,IAAA,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D;AAEA,SAAS,aAAa,CAAC,KAAsC,EAAA;AACzD,IAAA,OAAO,KAAK,IAAI,KAAK,KAAK,IAAI;AAClC;;;;"}
@@ -0,0 +1,6 @@
import type TokenProcessor from "../TokenProcessor";
/**
* Starting at a potential `with` or (legacy) `assert` token, remove the import
* attributes if they exist.
*/
export declare function removeMaybeImportAttributes(tokens: TokenProcessor): void;
@@ -0,0 +1,121 @@
export type BrowserVersion = {
browser: string;
version: string;
release_date?: string;
engine?: string;
engine_version?: string;
};
export type Options = {
/**
* Whether to include only the minimum compatible browser versions or all compatible versions.
* Defaults to `false`.
*/
listAllCompatibleVersions?: boolean;
/**
* Whether to include browsers that use the same engines as a core Baseline browser.
* Defaults to `false`.
*/
includeDownstreamBrowsers?: boolean;
/**
* Pass a date in the format 'YYYY-MM-DD' to get versions compatible with Widely available on the specified date.
* If left undefined and a `targetYear` is not passed, defaults to Widely available as of the current date.
* > NOTE: cannot be used with `targetYear`.
*/
widelyAvailableOnDate?: string | number;
/**
* Pass a year between 2015 and the current year to get browser versions compatible with all
* Newly Available features as of the end of the year specified.
* > NOTE: cannot be used with `widelyAvailableOnDate`.
*/
targetYear?: number;
/**
* Pass a boolean that determines whether KaiOS is included in browser mappings. KaiOS implements
* the Gecko engine used in Firefox. However, KaiOS also has a different interaction paradigm to
* other browsers and requires extra consideration beyond simple feature compatibility to provide
* an optimal user experience. Defaults to `false`.
*/
includeKaiOS?: boolean;
overrideLastUpdated?: number;
/**
* Pass a boolean to suppress the warning about stale data.
* Defaults to `false`.
*/
suppressWarnings?: boolean;
};
export type AllVersionsOptions = {
/**
* Whether to return the output as a JavaScript `Array` (`"array"`), `Object` (`"object"`) or a CSV string (`"csv"`).
* Defaults to `"array"`.
*/
outputFormat?: string;
/**
* Whether to include browsers that use the same engines as a core Baseline browser.
* Defaults to `false`.
*/
includeDownstreamBrowsers?: boolean;
/**
* Whether to use the new "supports" property in place of "wa_compatible"
* Defaults to `false`
*/
useSupports?: boolean;
/**
* Whether to include KaiOS in the output. KaiOS implements the Gecko engine used in Firefox.
* However, KaiOS also has a different interaction paradigm to other browsers and requires extra
* consideration beyond simple feature compatibility to provide an optimal user experience.
*/
includeKaiOS?: boolean;
/**
* Pass a boolean to suppress the warning about old data.
* Defaults to `false`.
*/
suppressWarnings?: boolean;
};
export interface AllBrowsersBrowserVersion extends BrowserVersion {
year: number | string;
supports?: string;
wa_compatible?: boolean;
}
export type NestedBrowserVersions = {
[browser: string]: {
[version: string]: AllBrowsersBrowserVersion;
};
};
export type TimelineOptions = {
/**
* Whether to return the timeline as a chronologically sorted array of events grouped by date ("date"),
* or as an object grouped by browser with their respective history of version changes ("browser").
* Defaults to "date".
*/
groupBy?: "date" | "browser";
/**
* Whether to include all compatible browsers in each timeline event,
* or only the browsers that changed on that date.
* Only applicable when groupBy is "date".
* Defaults to `false`.
*/
listAllBrowsers?: boolean;
/**
* Whether to include browsers that use the same engines as a core Baseline browser.
* Defaults to `false`.
*/
includeDownstreamBrowsers?: boolean;
/**
* Whether to include KaiOS in the timeline.
* Defaults to `false`.
*/
includeKaiOS?: boolean;
};
export type TimelineEvent = {
date: string;
browsers: BrowserVersion[];
};
export type BrowserTimelineEntry = {
date: string;
version: string;
release_date?: string;
engine?: string;
engine_version?: string;
};
export type BrowserTimeline = {
[browser: string]: BrowserTimelineEntry[];
};
@@ -0,0 +1,174 @@
/** numeric strings */
type NumberType = "float32" | "float64" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32";
/** string strings */
type StringType = "string" | "timestamp";
/** Generic JTD Schema without inference of the represented type */
export type SomeJTDSchemaType = (// ref
{
ref: string;
} | {
type: NumberType | StringType | "boolean";
} | {
enum: string[];
} | {
elements: SomeJTDSchemaType;
} | {
values: SomeJTDSchemaType;
} | {
properties: Record<string, SomeJTDSchemaType>;
optionalProperties?: Record<string, SomeJTDSchemaType>;
additionalProperties?: boolean;
} | {
properties?: Record<string, SomeJTDSchemaType>;
optionalProperties: Record<string, SomeJTDSchemaType>;
additionalProperties?: boolean;
} | {
discriminator: string;
mapping: Record<string, SomeJTDSchemaType>;
} | {}) & {
nullable?: boolean;
metadata?: Record<string, unknown>;
definitions?: Record<string, SomeJTDSchemaType>;
};
/** required keys of an object, not undefined */
type RequiredKeys<T> = {
[K in keyof T]-?: undefined extends T[K] ? never : K;
}[keyof T];
/** optional or undifined-able keys of an object */
type OptionalKeys<T> = {
[K in keyof T]-?: undefined extends T[K] ? K : never;
}[keyof T];
/** type is true if T is a union type */
type IsUnion_<T, U extends T = T> = false extends (T extends unknown ? ([U] extends [T] ? false : true) : never) ? false : true;
type IsUnion<T> = IsUnion_<T>;
/** type is true if T is identically E */
type TypeEquality<T, E> = [T] extends [E] ? ([E] extends [T] ? true : false) : false;
/** type is true if T or null is identically E or null*/
type NullTypeEquality<T, E> = TypeEquality<T | null, E | null>;
/** gets only the string literals of a type or null if a type isn't a string literal */
type EnumString<T> = [T] extends [never] ? null : T extends string ? string extends T ? null : T : null;
/** true if type is a union of string literals */
type IsEnum<T> = null extends EnumString<T> ? false : true;
/** true only if all types are array types (not tuples) */
type IsElements<T> = false extends IsUnion<T> ? [T] extends [readonly unknown[]] ? undefined extends T[0.5] ? false : true : false : false;
/** true if the the type is a values type */
type IsValues<T> = false extends IsUnion<T> ? TypeEquality<keyof T, string> : false;
/** true if type is a properties type and Union is false, or type is a discriminator type and Union is true */
type IsRecord<T, Union extends boolean> = Union extends IsUnion<T> ? null extends EnumString<keyof T> ? false : true : false;
/** true if type represents an empty record */
type IsEmptyRecord<T> = [T] extends [Record<string, never>] ? [T] extends [never] ? false : true : false;
/** actual schema */
export type JTDSchemaType<T, D extends Record<string, unknown> = Record<string, never>> = (// refs - where null wasn't specified, must match exactly
(null extends EnumString<keyof D> ? never : ({
[K in keyof D]: [T] extends [D[K]] ? {
ref: K;
} : never;
}[keyof D] & {
nullable?: false;
}) | (null extends T ? {
[K in keyof D]: [Exclude<T, null>] extends [Exclude<D[K], null>] ? {
ref: K;
} : never;
}[keyof D] & {
nullable: true;
} : never)) | (unknown extends T ? {
nullable?: boolean;
} : never) | ((true extends NullTypeEquality<T, number> ? {
type: NumberType;
} : true extends NullTypeEquality<T, boolean> ? {
type: "boolean";
} : true extends NullTypeEquality<T, string> ? {
type: StringType;
} : true extends NullTypeEquality<T, Date> ? {
type: "timestamp";
} : true extends IsEnum<Exclude<T, null>> ? {
enum: EnumString<Exclude<T, null>>[];
} : true extends IsElements<Exclude<T, null>> ? T extends readonly (infer E)[] ? {
elements: JTDSchemaType<E, D>;
} : never : true extends IsEmptyRecord<Exclude<T, null>> ? {
properties: Record<string, never>;
optionalProperties?: Record<string, never>;
} | {
optionalProperties: Record<string, never>;
} : true extends IsValues<Exclude<T, null>> ? T extends Record<string, infer V> ? {
values: JTDSchemaType<V, D>;
} : never : true extends IsRecord<Exclude<T, null>, false> ? ([RequiredKeys<Exclude<T, null>>] extends [never] ? {
properties?: Record<string, never>;
} : {
properties: {
[K in RequiredKeys<T>]: JTDSchemaType<T[K], D>;
};
}) & ([OptionalKeys<Exclude<T, null>>] extends [never] ? {
optionalProperties?: Record<string, never>;
} : {
optionalProperties: {
[K in OptionalKeys<T>]: JTDSchemaType<Exclude<T[K], undefined>, D>;
};
}) & {
additionalProperties?: boolean;
} : true extends IsRecord<Exclude<T, null>, true> ? {
[K in keyof Exclude<T, null>]-?: Exclude<T, null>[K] extends string ? {
discriminator: K;
mapping: {
[M in Exclude<T, null>[K]]: JTDSchemaType<Omit<T extends Record<K, M> ? T : never, K>, D>;
};
} : never;
}[keyof Exclude<T, null>] : never) & (null extends T ? {
nullable: true;
} : {
nullable?: false;
}))) & {
metadata?: Record<string, unknown>;
definitions?: {
[K in keyof D]: JTDSchemaType<D[K], D>;
};
};
type JTDDataDef<S, D extends Record<string, unknown>> = // ref
(S extends {
ref: string;
} ? D extends {
[K in S["ref"]]: infer V;
} ? JTDDataDef<V, D> : never : S extends {
type: NumberType;
} ? number : S extends {
type: "boolean";
} ? boolean : S extends {
type: "string";
} ? string : S extends {
type: "timestamp";
} ? string | Date : S extends {
enum: readonly (infer E)[];
} ? string extends E ? never : [E] extends [string] ? E : never : S extends {
elements: infer E;
} ? JTDDataDef<E, D>[] : S extends {
properties: Record<string, unknown>;
optionalProperties?: Record<string, unknown>;
additionalProperties?: boolean;
} ? {
-readonly [K in keyof S["properties"]]-?: JTDDataDef<S["properties"][K], D>;
} & {
-readonly [K in keyof S["optionalProperties"]]+?: JTDDataDef<S["optionalProperties"][K], D>;
} & ([S["additionalProperties"]] extends [true] ? Record<string, unknown> : unknown) : S extends {
properties?: Record<string, unknown>;
optionalProperties: Record<string, unknown>;
additionalProperties?: boolean;
} ? {
-readonly [K in keyof S["properties"]]-?: JTDDataDef<S["properties"][K], D>;
} & {
-readonly [K in keyof S["optionalProperties"]]+?: JTDDataDef<S["optionalProperties"][K], D>;
} & ([S["additionalProperties"]] extends [true] ? Record<string, unknown> : unknown) : S extends {
values: infer V;
} ? Record<string, JTDDataDef<V, D>> : S extends {
discriminator: infer M;
mapping: Record<string, unknown>;
} ? [M] extends [string] ? {
[K in keyof S["mapping"]]: JTDDataDef<S["mapping"][K], D> & {
[KM in M]: K;
};
}[keyof S["mapping"]] : never : unknown) | (S extends {
nullable: true;
} ? null : never);
export type JTDDataType<S> = S extends {
definitions: Record<string, unknown>;
} ? JTDDataDef<S, S["definitions"]> : JTDDataDef<S, Record<string, never>>;
export {};
@@ -0,0 +1,193 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ParserVisitorKeys = require("./generated/ParserVisitorKeys");
/**
* 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.
*
*
* @format
*/
/**
* The base class for transforming the Hermes AST to the desired output format.
* Extended by concrete adapters which output an ESTree or Babel AST.
*/
class HermesASTAdapter {
constructor(options) {
this.sourceFilename = void 0;
this.sourceType = void 0;
this.sourceFilename = options.sourceFilename;
this.sourceType = options.sourceType;
}
/**
* Transform the input Hermes AST to the desired output format.
* This modifies the input AST in place instead of constructing a new AST.
*/
transform(program) {
// Comments are not traversed via visitor keys
const comments = program.comments;
for (let i = 0; i < comments.length; i++) {
const comment = comments[i];
this.fixSourceLocation(comment);
comments[i] = this.mapComment(comment);
} // The first comment may be an interpreter directive and is stored directly on the program node
program.interpreter = comments.length > 0 && comments[0].type === 'InterpreterDirective' ? comments.shift() : null; // Tokens are not traversed via visitor keys
const tokens = program.tokens;
if (tokens) {
for (let i = 0; i < tokens.length; i++) {
this.fixSourceLocation(tokens[i]);
}
}
const resultNode = this.mapNode(program);
if (resultNode.type !== 'Program') {
throw new Error(`HermesToESTreeAdapter: Must return a Program node, instead of "${resultNode.type}". `);
} // $FlowExpectedError[incompatible-return] We know this is a program at this point.
return resultNode;
}
/**
* Transform a Hermes AST node to the output AST format.
*
* This may modify the input node in-place and return that same node, or a completely
* new node may be constructed and returned. Overriden in child classes.
*/
mapNode(_node) {
throw new Error('Implemented in subclasses');
}
mapNodeDefault(node) {
const visitorKeys = _ParserVisitorKeys.HERMES_AST_VISITOR_KEYS[node.type];
for (const key in visitorKeys) {
const childType = visitorKeys[key];
if (childType === _ParserVisitorKeys.NODE_CHILD) {
const child = node[key];
if (child != null) {
node[key] = this.mapNode(child);
}
} else if (childType === _ParserVisitorKeys.NODE_LIST_CHILD) {
const children = node[key];
for (let i = 0; i < children.length; i++) {
const child = children[i];
if (child != null) {
children[i] = this.mapNode(child);
}
}
}
}
return node;
}
/**
* Update the source location for this node depending on the output AST format.
* This can modify the input node in-place. Overriden in child classes.
*/
fixSourceLocation(_node) {
throw new Error('Implemented in subclasses');
}
getSourceType() {
var _this$sourceType;
return (_this$sourceType = this.sourceType) != null ? _this$sourceType : 'script';
}
setModuleSourceType() {
if (this.sourceType == null) {
this.sourceType = 'module';
}
}
mapComment(node) {
return node;
}
mapEmpty(_node) {
// $FlowExpectedError
return null;
}
mapImportDeclaration(node) {
if (node.importKind === 'value') {
this.setModuleSourceType();
}
return this.mapNodeDefault(node);
}
mapImportSpecifier(node) {
if (node.importKind === 'value') {
node.importKind = null;
}
return this.mapNodeDefault(node);
}
mapExportDefaultDeclaration(node) {
this.setModuleSourceType();
return this.mapNodeDefault(node);
}
mapExportNamedDeclaration(node) {
if (node.exportKind === 'value') {
this.setModuleSourceType();
}
return this.mapNodeDefault(node);
}
mapExportAllDeclaration(node) {
if (node.exportKind === 'value') {
this.setModuleSourceType();
}
return this.mapNodeDefault(node);
}
formatError(node, message) {
return `${message} (${node.loc.start.line}:${node.loc.start.column})`;
}
getBigIntLiteralValue(bigintString) {
// TODO - once we update flow we can remove this
const bigint = bigintString // estree spec is to not have a trailing `n` on this property
// https://github.com/estree/estree/blob/db962bb417a97effcfe9892f87fbb93c81a68584/es2020.md#bigintliteral
.replace(/n$/, '') // `BigInt` doesn't accept numeric separator and `bigint` property should not include numeric separator
.replace(/_/, '');
return {
bigint,
// coerce the string to a bigint value if supported by the environment
value: typeof BigInt === 'function' ? BigInt(bigint) : null
};
}
}
exports.default = HermesASTAdapter;
@@ -0,0 +1,118 @@
export default `flf2a 1 1 3 -1 14 1 0 0
===============================================================================
This is Upside Down Text, font file made by Pat Gillespie (patorjk.com).
It was created on August 18th, 2025. The following sites were used as references:
https://www.fileformat.info/convert/text/upside-down-map.htm
https://www.namecheap.com/visual/font-generator/upside-down-text/
https://www.upsidedowntext.com/unicode
This font is free software. It comes without any warranty, to the extent
permitted by applicable law. You can redistribute it and/or modify it under
the terms of the Do What The Fuck You Want To Public License, Version 2,
as published by Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more
details.
===============================================================================
@
¡@
„@
#@
$@
%@
⅋@
,@
)@
(@
*@
+@
'@
-@
˙.
/@
0@
Ɩ1
ᄅ2
Ɛ3
ᔭ4
ϛ5
96
Ɫ7
8@
69
:@
؛@
>@
=@
<@
¿@
@#
∀A
B@
ↃC
ᗡD
ƎE
ℲF
⅁G
H@
I@
ſJ
⋊K
⅂L
WM
ᴎN
O@
ԀP
ΌQ
ᴚR
S@
⊥T
∩U
ᴧV
MW
X@
⅄Y
Z@
]@
\\@
[@
^@
‾@
,@
ɐa
qb
ɔc
pd
ǝe
ɟf
ƃg
ɥh
ᴉi
ɾj
ʞk
l@
ɯm
un
o@
dp
bq
ɹr
s@
ʇt
nu
ʌv
ʍw
x@
ʎy
z@
}@
|@
{@
~@
Ä@
Ö@
Ü@
ä@
ö@
ü@
ß@
`
@@ -0,0 +1 @@
{"version":3,"file":"LazyContext.mjs","sources":["../../../src/context/LazyContext.ts"],"sourcesContent":["\"use client\"\n\nimport { createContext } from \"react\"\nimport { CreateVisualElement } from \"../render/types\"\n\nexport interface LazyContextProps {\n renderer?: CreateVisualElement\n strict: boolean\n}\n\nexport const LazyContext = createContext<LazyContextProps>({ strict: false })\n"],"names":[],"mappings":";;;AAUO;;"}
@@ -0,0 +1,22 @@
/**
* @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 Folders = createLucideIcon("Folders", [
[
"path",
{
d: "M20 17a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3.9a2 2 0 0 1-1.69-.9l-.81-1.2a2 2 0 0 0-1.67-.9H8a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2Z",
key: "4u7rpt"
}
],
["path", { d: "M2 8v11a2 2 0 0 0 2 2h14", key: "1eicx1" }]
]);
export { Folders as default };
//# sourceMappingURL=folders.js.map
@@ -0,0 +1,12 @@
import semver = require("../index");
import SemVer = require("../classes/semver");
/**
* Coerces a string to SemVer if possible
*/
declare function coerce(
version: string | number | SemVer | null | undefined,
options?: semver.CoerceOptions,
): SemVer | null;
export = coerce;