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 @@
{"version":3,"file":"file-chart-column-increasing.js","sources":["../../../src/icons/file-chart-column-increasing.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name FileChartColumnIncreasing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjdaIiAvPgogIDxwYXRoIGQ9Ik0xNCAydjRhMiAyIDAgMCAwIDIgMmg0IiAvPgogIDxwYXRoIGQ9Ik04IDE4di0yIiAvPgogIDxwYXRoIGQ9Ik0xMiAxOHYtNCIgLz4KICA8cGF0aCBkPSJNMTYgMTh2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-chart-column-increasing\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 FileChartColumnIncreasing = createLucideIcon('FileChartColumnIncreasing', [\n ['path', { d: 'M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z', key: '1rqfz7' }],\n ['path', { d: 'M14 2v4a2 2 0 0 0 2 2h4', key: 'tnqrlb' }],\n ['path', { d: 'M8 18v-2', key: 'qcmpov' }],\n ['path', { d: 'M12 18v-4', key: 'q1q25u' }],\n ['path', { d: 'M16 18v-6', key: '15y0np' }],\n]);\n\nexport default FileChartColumnIncreasing;\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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,iBAAiB,2BAA6B,CAAA,CAAA,CAAA;AAAA,CAAA,CAC9E,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA8D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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,CAC3F,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,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACzC,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,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC5C,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
{"version":3,"file":"message-circle-question.js","sources":["../../../src/icons/message-circle-question.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name MessageCircleQuestion\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNy45IDIwQTkgOSAwIDEgMCA0IDE2LjFMMiAyMloiIC8+CiAgPHBhdGggZD0iTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIiAvPgogIDxwYXRoIGQ9Ik0xMiAxN2guMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/message-circle-question\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 MessageCircleQuestion = createLucideIcon('MessageCircleQuestion', [\n ['path', { d: 'M7.9 20A9 9 0 1 0 4 16.1L2 22Z', key: 'vv11sd' }],\n ['path', { d: 'M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3', key: '1u773s' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n]);\n\nexport default MessageCircleQuestion;\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,CAAA,CAAA,CAAA,CAAA,CAAwB,iBAAiB,uBAAyB,CAAA,CAAA,CAAA;AAAA,CAAA,CACtE,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,CAAwC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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,CACrE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC7C,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,36 @@
import { clone, mergeDefs } from "../core/util.js";
import { visit } from "../core/visit.js";
import * as schemas from "./schemas.js";
/** See `classic/in-out.ts`. */
function withChecks(side, checks) {
if (!checks?.length)
return side;
const def = side._zod.def;
return clone(side, mergeDefs(def, { checks: [...(def.checks ?? []), ...checks] }), { parent: true });
}
/** See `classic/in-out.ts`. */
function outSide(def) {
return withChecks(def.out, def.checks);
}
/** See `classic/in-out.ts`. */
function inSide(def) {
return def.in._zod.traits.has("$ZodTransform") ? outSide(def) : def.in;
}
/** See `classic/in-out.ts`. */
export function input(schema) {
return visit(schema, {
pipe: (s) => inSide(s._zod.def),
// A default value belongs to the output side, so a rewritten inner type leaves it stranded. `.default()` widens the declared input type with `undefined`, and `optional` is what carries that across.
default: (s, rewritten) => (rewritten ? schemas.optional(s._zod.def.innerType) : s),
// A catch value is output-side too, but `.catch()` leaves the declared input type alone, so the inner schema stands on its own.
catch: (s, rewritten) => (rewritten ? s._zod.def.innerType : s),
});
}
/** See `classic/in-out.ts`. */
export function output(schema) {
return visit(schema, {
pipe: (s) => outSide(s._zod.def),
// A prefault value is fed through the schema, which makes it input-side, so a rewritten inner type leaves it stranded.
prefault: (s, rewritten) => (rewritten ? s._zod.def.innerType : s),
});
}
@@ -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 AtSign = createLucideIcon("AtSign", [
["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }],
["path", { d: "M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8", key: "7n84p3" }]
]);
export { AtSign as default };
//# sourceMappingURL=at-sign.js.map
@@ -0,0 +1,94 @@
// Tar can encode large and negative numbers using a leading byte of
// 0xff for negative, and 0x80 for positive.
export const encode = (num, buf) => {
if (!Number.isSafeInteger(num)) {
// The number is so large that javascript cannot represent it with integer
// precision.
throw Error('cannot encode number outside of javascript safe integer range');
}
else if (num < 0) {
encodeNegative(num, buf);
}
else {
encodePositive(num, buf);
}
return buf;
};
const encodePositive = (num, buf) => {
buf[0] = 0x80;
for (var i = buf.length; i > 1; i--) {
buf[i - 1] = num & 0xff;
num = Math.floor(num / 0x100);
}
};
const encodeNegative = (num, buf) => {
buf[0] = 0xff;
var flipped = false;
num = num * -1;
for (var i = buf.length; i > 1; i--) {
var byte = num & 0xff;
num = Math.floor(num / 0x100);
if (flipped) {
buf[i - 1] = onesComp(byte);
}
else if (byte === 0) {
buf[i - 1] = 0;
}
else {
flipped = true;
buf[i - 1] = twosComp(byte);
}
}
};
export const parse = (buf) => {
const pre = buf[0];
const value = pre === 0x80 ? pos(buf.subarray(1, buf.length))
: pre === 0xff ? twos(buf)
: null;
if (value === null) {
throw Error('invalid base256 encoding');
}
if (!Number.isSafeInteger(value)) {
// The number is so large that javascript cannot represent it with integer
// precision.
throw Error('parsed number outside of javascript safe integer range');
}
return value;
};
const twos = (buf) => {
var len = buf.length;
var sum = 0;
var flipped = false;
for (var i = len - 1; i > -1; i--) {
var byte = Number(buf[i]);
var f;
if (flipped) {
f = onesComp(byte);
}
else if (byte === 0) {
f = byte;
}
else {
flipped = true;
f = twosComp(byte);
}
if (f !== 0) {
sum -= f * Math.pow(256, len - i - 1);
}
}
return sum;
};
const pos = (buf) => {
var len = buf.length;
var sum = 0;
for (var i = len - 1; i > -1; i--) {
var byte = Number(buf[i]);
if (byte !== 0) {
sum += byte * Math.pow(256, len - i - 1);
}
}
return sum;
};
const onesComp = (byte) => (0xff ^ byte) & 0xff;
const twosComp = (byte) => ((0xff ^ byte) + 1) & 0xff;
//# sourceMappingURL=large-numbers.js.map
@@ -0,0 +1,262 @@
'use strict';
var _const = require('../../data/const.cjs');
var helper = require('../../utils/helper.cjs');
var types = require('../../types.cjs');
/*
* -------------------------------------------------------------------------------
* date matching ----------------------------------------------------------------
* -------------------------------------------------------------------------------
*/
class MatchDate extends types.MatcherBaseClass {
/*
* a "date" is recognized as:
* any 3-tuple that starts or ends with a 2- or 4-digit year,
* with 2 or 0 separator chars (1.1.91 or 1191),
* maybe zero-padded (01-01-91 vs 1-1-91),
* a month between 1 and 12,
* a day between 1 and 31.
*
* note: this isn't true date parsing in that "feb 31st" is allowed,
* this doesn't check for leap years, etc.
*
* recipe:
* start with regex to find maybe-dates, then attempt to map the integers
* onto month-day-year to filter the maybe-dates into dates.
* finally, remove matches that are substrings of other matches to reduce noise.
*
* note: instead of using a lazy or greedy regex to find many dates over the full string,
* this uses a ^...$ regex against every substring of the password -- less performant but leads
* to every possible date match.
*/
match({
password
}) {
const matches = [...this.getMatchesWithoutSeparator(password), ...this.getMatchesWithSeparator(password)];
const filteredMatches = this.filterNoise(matches);
return helper.sorted(filteredMatches);
}
getMatchesWithSeparator(password) {
const matches = [];
const maybeDateWithSeparator = /^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;
// # dates with separators are between length 6 '1/1/91' and 10 '11/11/1991'
for (let i = 0; i <= Math.abs(password.length - 6); i += 1) {
for (let j = i + 5; j <= i + 9; j += 1) {
if (j >= password.length) {
break;
}
const token = password.slice(i, j + 1 || 9e9);
const regexMatch = maybeDateWithSeparator.exec(token);
if (regexMatch != null) {
const dmy = this.mapIntegersToDayMonthYear([parseInt(regexMatch[1], 10), parseInt(regexMatch[3], 10), parseInt(regexMatch[4], 10)]);
if (dmy != null) {
matches.push({
pattern: 'date',
token,
i,
j,
separator: regexMatch[2],
year: dmy.year,
month: dmy.month,
day: dmy.day
});
}
}
}
}
return matches;
}
// eslint-disable-next-line max-statements
getMatchesWithoutSeparator(password) {
const matches = [];
const maybeDateNoSeparator = /^\d{4,8}$/;
const metric = candidate => Math.abs(candidate.year - _const.REFERENCE_YEAR);
// # dates without separators are between length 4 '1191' and 8 '11111991'
for (let i = 0; i <= Math.abs(password.length - 4); i += 1) {
for (let j = i + 3; j <= i + 7; j += 1) {
if (j >= password.length) {
break;
}
const token = password.slice(i, j + 1 || 9e9);
if (maybeDateNoSeparator.exec(token)) {
const candidates = [];
const index = token.length;
const splittedDates = _const.DATE_SPLITS[index];
splittedDates.forEach(([k, l]) => {
const dmy = this.mapIntegersToDayMonthYear([parseInt(token.slice(0, k), 10), parseInt(token.slice(k, l), 10), parseInt(token.slice(l), 10)]);
if (dmy != null) {
candidates.push(dmy);
}
});
if (candidates.length > 0) {
/*
* at this point: different possible dmy mappings for the same i,j substring.
* match the candidate date that likely takes the fewest guesses: a year closest
* to 2000.
* (scoring.REFERENCE_YEAR).
*
* ie, considering '111504', prefer 11-15-04 to 1-1-1504
* (interpreting '04' as 2004)
*/
let bestCandidate = candidates[0];
let minDistance = metric(candidates[0]);
candidates.slice(1).forEach(candidate => {
const distance = metric(candidate);
if (distance < minDistance) {
bestCandidate = candidate;
minDistance = distance;
}
});
matches.push({
pattern: 'date',
token,
i,
j,
separator: '',
year: bestCandidate.year,
month: bestCandidate.month,
day: bestCandidate.day
});
}
}
}
}
return matches;
}
/*
* matches now contains all valid date strings in a way that is tricky to capture
* with regexes only. while thorough, it will contain some unintuitive noise:
*
* '2015_06_04', in addition to matching 2015_06_04, will also contain
* 5(!) other date matches: 15_06_04, 5_06_04, ..., even 2015 (matched as 5/1/2020)
*
* to reduce noise, remove date matches that are strict substrings of others
*/
filterNoise(matches) {
return matches.filter(match => {
let isSubmatch = false;
const matchesLength = matches.length;
for (let o = 0; o < matchesLength; o += 1) {
const otherMatch = matches[o];
if (match !== otherMatch) {
if (otherMatch.i <= match.i && otherMatch.j >= match.j) {
isSubmatch = true;
break;
}
}
}
return !isSubmatch;
});
}
/*
* given a 3-tuple, discard if:
* middle int is over 31 (for all dmy formats, years are never allowed in the middle)
* middle int is zero
* any int is over the max allowable year
* any int is over two digits but under the min allowable year
* 2 integers are over 31, the max allowable day
* 2 integers are zero
* all integers are over 12, the max allowable month
*/
// eslint-disable-next-line complexity, max-statements
mapIntegersToDayMonthYear(integers) {
if (integers[1] > 31 || integers[1] <= 0) {
return null;
}
let over12 = 0;
let over31 = 0;
let under1 = 0;
for (let o = 0, len1 = integers.length; o < len1; o += 1) {
const int = integers[o];
if (int > 99 && int < _const.DATE_MIN_YEAR || int > _const.DATE_MAX_YEAR) {
return null;
}
if (int > 31) {
over31 += 1;
}
if (int > 12) {
over12 += 1;
}
if (int <= 0) {
under1 += 1;
}
}
if (over31 >= 2 || over12 === 3 || under1 >= 2) {
return null;
}
return this.getDayMonth(integers);
}
// eslint-disable-next-line max-statements
getDayMonth(integers) {
// first look for a four digit year: yyyy + daymonth or daymonth + yyyy
const possibleYearSplits = [[integers[2], integers.slice(0, 2)],
// year last
[integers[0], integers.slice(1, 3)] // year first
];
const possibleYearSplitsLength = possibleYearSplits.length;
for (let j = 0; j < possibleYearSplitsLength; j += 1) {
const [y, rest] = possibleYearSplits[j];
if (_const.DATE_MIN_YEAR <= y && y <= _const.DATE_MAX_YEAR) {
const dm = this.mapIntegersToDayMonth(rest);
if (dm != null) {
return {
year: y,
month: dm.month,
day: dm.day
};
}
/*
* for a candidate that includes a four-digit year,
* when the remaining integers don't match to a day and month,
* it is not a date.
*/
return null;
}
}
// given no four-digit year, two digit years are the most flexible int to match, so
// try to parse a day-month out of integers[0..1] or integers[1..0]
for (let k = 0; k < possibleYearSplitsLength; k += 1) {
const [y, rest] = possibleYearSplits[k];
const dm = this.mapIntegersToDayMonth(rest);
if (dm != null) {
return {
year: this.twoToFourDigitYear(y),
month: dm.month,
day: dm.day
};
}
}
return null;
}
mapIntegersToDayMonth(integers) {
const temp = [integers, integers.slice().reverse()];
// eslint-disable-next-line @typescript-eslint/prefer-for-of
for (let i = 0; i < temp.length; i += 1) {
const data = temp[i];
const day = data[0];
const month = data[1];
if (day >= 1 && day <= 31 && month >= 1 && month <= 12) {
return {
day,
month
};
}
}
return null;
}
twoToFourDigitYear(year) {
if (year > 99) {
return year;
}
if (year > 50) {
// 87 -> 1987
return year + 1900;
}
// 15 -> 2015
return year + 2000;
}
}
module.exports = MatchDate;
//# sourceMappingURL=matching.cjs.map
@@ -0,0 +1,37 @@
'use strict'
// Note: this is the semver.org version of the spec that it implements
// Not necessarily the package version of this code.
const SEMVER_SPEC_VERSION = '2.0.0'
const MAX_LENGTH = 256
const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
/* istanbul ignore next */ 9007199254740991
// Max safe segment length for coercion.
const MAX_SAFE_COMPONENT_LENGTH = 16
// Max safe length for a build identifier. The max length minus 6 characters for
// the shortest version with a build 0.0.0+BUILD.
const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6
const RELEASE_TYPES = [
'major',
'premajor',
'minor',
'preminor',
'patch',
'prepatch',
'prerelease',
]
module.exports = {
MAX_LENGTH,
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
MAX_SAFE_INTEGER,
RELEASE_TYPES,
SEMVER_SPEC_VERSION,
FLAG_INCLUDE_PRERELEASE: 0b001,
FLAG_LOOSE: 0b010,
}
@@ -0,0 +1 @@
{"version":3,"file":"spray-can.js","sources":["../../../src/icons/spray-can.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name SprayCan\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzaC4wMSIgLz4KICA8cGF0aCBkPSJNNyA1aC4wMSIgLz4KICA8cGF0aCBkPSJNMTEgN2guMDEiIC8+CiAgPHBhdGggZD0iTTMgN2guMDEiIC8+CiAgPHBhdGggZD0iTTcgOWguMDEiIC8+CiAgPHBhdGggZD0iTTMgMTFoLjAxIiAvPgogIDxyZWN0IHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHg9IjE1IiB5PSI1IiAvPgogIDxwYXRoIGQ9Im0xOSA5IDIgMnYxMGMwIC42LS40IDEtMSAxaC02Yy0uNiAwLTEtLjQtMS0xVjExbDItMiIgLz4KICA8cGF0aCBkPSJtMTMgMTQgOC0yIiAvPgogIDxwYXRoIGQ9Im0xMyAxOSA4LTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/spray-can\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 SprayCan = createLucideIcon('SprayCan', [\n ['path', { d: 'M3 3h.01', key: '159qn6' }],\n ['path', { d: 'M7 5h.01', key: '1hq22a' }],\n ['path', { d: 'M11 7h.01', key: '1osv80' }],\n ['path', { d: 'M3 7h.01', key: '1xzrh3' }],\n ['path', { d: 'M7 9h.01', key: '19b3jx' }],\n ['path', { d: 'M3 11h.01', key: '1eifu7' }],\n ['rect', { width: '4', height: '4', x: '15', y: '5', key: 'mri9e4' }],\n ['path', { d: 'm19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2', key: 'aib6hk' }],\n ['path', { d: 'm13 14 8-2', key: '1d7bmk' }],\n ['path', { d: 'm13 19 8-2', key: '1y2vml' }],\n]);\n\nexport default SprayCan;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
const colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
export { colorRegex };
//# sourceMappingURL=color-regex.mjs.map
@@ -0,0 +1,3 @@
# `react-visually-hidden`
View docs [here](https://radix-ui.com/primitives/docs/utilities/visually-hidden).
@@ -0,0 +1 @@
{"version":3,"file":"dot-square.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,59 @@
import { SEPERATOR_CHARS } from '../../data/const.mjs';
import { MatcherBaseClass } from '../../types.mjs';
const separatorRegex = new RegExp(`[${SEPERATOR_CHARS.join('')}]`);
/*
*-------------------------------------------------------------------------------
* separators (any semi-repeated special character) -----------------------------
*-------------------------------------------------------------------------------
*/
class MatchSeparator extends MatcherBaseClass {
static getMostUsedSeparatorChar(password) {
const mostUsedSeperators = [...password.split('').filter(c => separatorRegex.test(c)).reduce((memo, c) => {
const m = memo.get(c);
if (m) {
memo.set(c, parseInt(m, 10) + 1);
} else {
memo.set(c, 1);
}
return memo;
}, new Map()).entries()].sort(([_a, a], [_b, b]) => b - a);
if (!mostUsedSeperators.length) return undefined;
const match = mostUsedSeperators[0];
// If the special character is only used once, don't treat it like a separator
if (match[1] < 2) return undefined;
return match[0];
}
static getSeparatorRegex(separator) {
return new RegExp(`([^${separator}\n])(${separator})(?!${separator})`, 'g');
// negative lookbehind can be added again in a few years when it is more supported by the browsers (currently 2023)
// https://github.com/zxcvbn-ts/zxcvbn/issues/202
// return new RegExp(`(?<!${separator})(${separator})(?!${separator})`, 'g')
}
match({
password
}) {
const result = [];
if (password.length === 0) return result;
const mostUsedSpecial = MatchSeparator.getMostUsedSeparatorChar(password);
if (mostUsedSpecial === undefined) return result;
const isSeparator = MatchSeparator.getSeparatorRegex(mostUsedSpecial);
for (const match of password.matchAll(isSeparator)) {
if (match.index === undefined) continue;
// add one to the index because we changed the regex from negative lookbehind to something simple.
// this simple approach uses the first character before the separater too but we only need the index of the separater
// https://github.com/zxcvbn-ts/zxcvbn/issues/202
const i = match.index + 1;
result.push({
pattern: 'separator',
token: mostUsedSpecial,
i,
j: i
});
}
return result;
}
}
export { MatchSeparator as default };
//# sourceMappingURL=matching.mjs.map
@@ -0,0 +1 @@
export function clsx(){for(var t,r=0,e="",n=arguments.length;r<n;r++)(t=arguments[r])&&"string"==typeof t&&(e+=(e&&" ")+t);return e}export default clsx;
@@ -0,0 +1,235 @@
/**
* @fileoverview Rule to disallow Math.pow in favor of the ** operator
* @author Milos Djermanovic
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const astUtils = require("./utils/ast-utils");
const { CALL, ReferenceTracker } = require("@eslint-community/eslint-utils");
//------------------------------------------------------------------------------
// Helpers
//------------------------------------------------------------------------------
const PRECEDENCE_OF_EXPONENTIATION_EXPR = astUtils.getPrecedence({
type: "BinaryExpression",
operator: "**",
});
/**
* Determines whether the given node needs parens if used as the base in an exponentiation binary expression.
* @param {ASTNode} base The node to check.
* @returns {boolean} `true` if the node needs to be parenthesised.
*/
function doesBaseNeedParens(base) {
return (
// '**' is right-associative, parens are needed when Math.pow(a ** b, c) is converted to (a ** b) ** c
astUtils.getPrecedence(base) <= PRECEDENCE_OF_EXPONENTIATION_EXPR ||
// An unary operator cannot be used immediately before an exponentiation expression
base.type === "AwaitExpression" ||
base.type === "UnaryExpression"
);
}
/**
* Determines whether the given node needs parens if used as the exponent in an exponentiation binary expression.
* @param {ASTNode} exponent The node to check.
* @returns {boolean} `true` if the node needs to be parenthesised.
*/
function doesExponentNeedParens(exponent) {
// '**' is right-associative, there is no need for parens when Math.pow(a, b ** c) is converted to a ** b ** c
return astUtils.getPrecedence(exponent) < PRECEDENCE_OF_EXPONENTIATION_EXPR;
}
/**
* Determines whether an exponentiation binary expression at the place of the given node would need parens.
* @param {ASTNode} node A node that would be replaced by an exponentiation binary expression.
* @param {SourceCode} sourceCode A SourceCode object.
* @returns {boolean} `true` if the expression needs to be parenthesised.
*/
function doesExponentiationExpressionNeedParens(node, sourceCode) {
const parent =
node.parent.type === "ChainExpression"
? node.parent.parent
: node.parent;
const parentPrecedence = astUtils.getPrecedence(parent);
const needsParens =
parent.type === "ClassDeclaration" ||
(parent.type.endsWith("Expression") &&
(parentPrecedence === -1 ||
parentPrecedence >= PRECEDENCE_OF_EXPONENTIATION_EXPR) &&
!(
parent.type === "BinaryExpression" &&
parent.operator === "**" &&
parent.right === node
) &&
!(
(parent.type === "CallExpression" ||
parent.type === "NewExpression") &&
parent.arguments.includes(node)
) &&
!(
parent.type === "MemberExpression" &&
parent.computed &&
parent.property === node
) &&
!(parent.type === "ArrayExpression"));
return needsParens && !astUtils.isParenthesised(sourceCode, node);
}
/**
* Optionally parenthesizes given text.
* @param {string} text The text to parenthesize.
* @param {boolean} shouldParenthesize If `true`, the text will be parenthesised.
* @returns {string} parenthesised or unchanged text.
*/
function parenthesizeIfShould(text, shouldParenthesize) {
return shouldParenthesize ? `(${text})` : text;
}
//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
/** @type {import('../types').Rule.RuleModule} */
module.exports = {
meta: {
type: "suggestion",
docs: {
description:
"Disallow the use of `Math.pow` in favor of the `**` operator",
recommended: false,
frozen: true,
url: "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator",
},
schema: [],
fixable: "code",
messages: {
useExponentiation: "Use the '**' operator instead of 'Math.pow'.",
},
},
create(context) {
const sourceCode = context.sourceCode;
/**
* Reports the given node.
* @param {ASTNode} node 'Math.pow()' node to report.
* @returns {void}
*/
function report(node) {
context.report({
node,
messageId: "useExponentiation",
fix(fixer) {
if (
node.arguments.length !== 2 ||
node.arguments.some(
arg => arg.type === "SpreadElement",
) ||
sourceCode.getCommentsInside(node).length > 0
) {
return null;
}
const base = node.arguments[0],
exponent = node.arguments[1],
baseText = sourceCode.getText(base),
exponentText = sourceCode.getText(exponent),
shouldParenthesizeBase = doesBaseNeedParens(base),
shouldParenthesizeExponent =
doesExponentNeedParens(exponent),
shouldParenthesizeAll =
doesExponentiationExpressionNeedParens(
node,
sourceCode,
);
let prefix = "",
suffix = "";
if (!shouldParenthesizeAll) {
if (!shouldParenthesizeBase) {
const firstReplacementToken =
sourceCode.getFirstToken(base),
tokenBefore = sourceCode.getTokenBefore(node);
if (
tokenBefore &&
tokenBefore.range[1] === node.range[0] &&
!astUtils.canTokensBeAdjacent(
tokenBefore,
firstReplacementToken,
)
) {
prefix = " "; // a+Math.pow(++b, c) -> a+ ++b**c
}
}
if (!shouldParenthesizeExponent) {
const lastReplacementToken =
sourceCode.getLastToken(exponent),
tokenAfter = sourceCode.getTokenAfter(node);
if (
tokenAfter &&
node.range[1] === tokenAfter.range[0] &&
!astUtils.canTokensBeAdjacent(
lastReplacementToken,
tokenAfter,
)
) {
suffix = " "; // Math.pow(a, b)in c -> a**b in c
}
}
}
const baseReplacement = parenthesizeIfShould(
baseText,
shouldParenthesizeBase,
),
exponentReplacement = parenthesizeIfShould(
exponentText,
shouldParenthesizeExponent,
),
replacement = parenthesizeIfShould(
`${baseReplacement}**${exponentReplacement}`,
shouldParenthesizeAll,
);
return fixer.replaceText(
node,
`${prefix}${replacement}${suffix}`,
);
},
});
}
return {
Program(node) {
const scope = sourceCode.getScope(node);
const tracker = new ReferenceTracker(scope);
const trackMap = {
Math: {
pow: { [CALL]: true },
},
};
for (const { node: refNode } of tracker.iterateGlobalReferences(
trackMap,
)) {
report(refNode);
}
},
};
},
};
@@ -0,0 +1 @@
module.exports={A:{A:{"1":"_LC","2":"_IB"},B:{"2":"_J"},C:{"2":"_S"},D:{"1":"_bL","2":"_ZO"},E:{"1":"mB _iG","2":"_7C","16":"OD","129":"_k"},F:{"1":"_HR","2":"_uN"},G:{"1":"_FG _jL","2":"_9B","129":"lC"},H:{"1":"1D"},I:{"1":"_wG","2":"_YD"},J:{"1":"_B"},K:{"1":"_D","2":"H"},L:{"2":"I"},M:{"2":"YC"},N:{"1":"_A"},O:{"2":"bC"},P:{"2":"_F"},Q:{"2":"JE"},R:{"2":"KE"},S:{"2":"_C"}},B:4,C:"display: run-in",D:true};
@@ -0,0 +1,2 @@
import type { LibDefinition } from '../variable';
export declare const esnext_typedarrays: LibDefinition;
@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseDefaultDef = void 0;
const parseDef_js_1 = require("../parseDef.js");
function parseDefaultDef(_def, refs) {
return {
...(0, parseDef_js_1.parseDef)(_def.innerType._def, refs),
default: _def.defaultValue(),
};
}
exports.parseDefaultDef = parseDefaultDef;
@@ -0,0 +1,122 @@
import type {ParseError} from './errors.ts'
/**
* EventSource parser instance.
*
* Needs to be reset between reconnections/when switching data source, using the `reset()` method.
*
* @public
*/
export interface EventSourceParser {
/**
* Feeds the parser another chunk. The method _does not_ return a parsed message.
* Instead, callbacks passed when creating the parser will be triggered once we see enough data
* for a valid/invalid parsing step (see {@link ParserCallbacks}).
*
* @param chunk - The chunk to parse. Can be a partial, eg in the case of streaming messages.
* @public
*/
feed(chunk: string): void
/**
* Resets the parser state. This is required when you have a new stream of messages -
* for instance in the case of a client being disconnected and reconnecting.
*
* Previously received, incomplete data will NOT be parsed unless you pass `consume: true`,
* which tells the parser to attempt to consume any incomplete data as if it ended with a newline
* character. This is useful for cases when a server sends a non-EventSource message that you
* want to be able to react to in an `onError` callback.
*
* @public
*/
reset(options?: {consume?: boolean}): void
}
/**
* A parsed EventSource message event
*
* @public
*/
export interface EventSourceMessage {
/**
* The event type sent from the server. Note that this differs from the browser `EventSource`
* implementation in that browsers will default this to `message`, whereas this parser will
* leave this as `undefined` if not explicitly declared.
*/
event?: string | undefined
/**
* ID of the message, if any was provided by the server. Can be used by clients to keep the
* last received message ID in sync when reconnecting.
*/
id?: string | undefined
/**
* The data received for this message
*/
data: string
}
/**
* Callbacks that can be passed to the parser to handle different types of parsed messages
* and errors.
*
* @public
*/
export interface ParserCallbacks {
/**
* Callback for when a new event/message is parsed from the stream.
* This is the main callback that clients will use to handle incoming messages.
*
* @param event - The parsed event/message
*/
onEvent?: ((event: EventSourceMessage) => void) | undefined
/**
* Callback for when the server sends a new reconnection interval through the `retry` field.
*
* @param retry - The number of milliseconds to wait before reconnecting.
*/
onRetry?: ((retry: number) => void) | undefined
/**
* Callback for when a comment is encountered in the stream.
*
* @param comment - The comment encountered in the stream.
*/
onComment?: ((comment: string) => void) | undefined
/**
* Callback for when an error occurs during parsing. This is a catch-all for any errors
* that occur during parsing, and can be used to handle them in a custom way. Most clients
* tend to silently ignore any errors and instead retry, but it can be helpful to log/debug.
*
* @param error - The error that occurred during parsing
*/
onError?: ((error: ParseError) => void) | undefined
}
/**
* Configuration accepted by {@link createParser}. Extends {@link ParserCallbacks} with
* additional options that control parser behavior.
*
* @public
*/
export interface ParserConfig extends ParserCallbacks {
/**
* Maximum number of characters the parser is allowed to buffer across calls to `feed()`.
*
* Two unbounded surfaces exist in a streaming SSE parser:
* - A partial line that has not yet been terminated by `\n`, `\r`, or `\r\n`.
* - A multi-line event whose terminating blank line has not yet arrived (each `data:`
* field gets appended to the buffered event).
*
* When the combined size of these buffers exceeds `maxBufferSize`, the parser emits a
* `ParseError` with `type: 'max-buffer-size-exceeded'` to `onError` and becomes
* terminated — subsequent calls to `feed()` will throw until `reset()` is called.
* This protects against unbounded memory growth from malformed or malicious streams.
*
* @defaultValue `undefined` (unbounded)
*/
maxBufferSize?: number | undefined
}
@@ -0,0 +1 @@
{"version":3,"file":"scan-face.js","sources":["../../../src/icons/scan-face.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ScanFace\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxwYXRoIGQ9Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIiAvPgogIDxwYXRoIGQ9Ik05IDloLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNSA5aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/scan-face\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 ScanFace = createLucideIcon('ScanFace', [\n ['path', { d: 'M3 7V5a2 2 0 0 1 2-2h2', key: 'aa7l1z' }],\n ['path', { d: 'M17 3h2a2 2 0 0 1 2 2v2', key: '4qcy5o' }],\n ['path', { d: 'M21 17v2a2 2 0 0 1-2 2h-2', key: '6vwrx8' }],\n ['path', { d: 'M7 21H5a2 2 0 0 1-2-2v-2', key: 'ioqczr' }],\n ['path', { d: 'M8 14s1.5 2 4 2 4-2 4-2', key: '1y1vjs' }],\n ['path', { d: 'M9 9h.01', key: '1q5me6' }],\n ['path', { d: 'M15 9h.01', key: 'x1ddxp' }],\n]);\n\nexport default ScanFace;\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,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,CAAA;AAAA,CAAA,CAC1D,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,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACzC,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;AAC5C,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,9 @@
const parse = require('./parse')
const stringify = require('./stringify')
const JSON5 = {
parse,
stringify,
}
module.exports = JSON5
@@ -0,0 +1,78 @@
{
"name": "@radix-ui/react-use-rect",
"version": "1.1.1",
"license": "MIT",
"source": "./src/index.ts",
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"publishConfig": {
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
".": {
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
},
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
}
}
},
"files": [
"dist",
"README.md"
],
"sideEffects": false,
"scripts": {
"lint": "eslint --max-warnings 0 src",
"clean": "rm -rf dist",
"version": "yarn version"
},
"dependencies": {
"@radix-ui/rect": "1.1.1"
},
"devDependencies": {
"@repo/eslint-config": "0.0.0",
"@repo/typescript-config": "0.0.0",
"@types/react": "^19.0.7",
"@types/react-dom": "^19.0.3",
"eslint": "^9.18.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"typescript": "^5.7.3"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
},
"homepage": "https://radix-ui.com/primitives",
"repository": {
"type": "git",
"url": "git+https://github.com/radix-ui/primitives.git"
},
"bugs": {
"url": "https://github.com/radix-ui/primitives/issues"
},
"exports": {
".": {
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
},
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
}
},
"types": "./dist/index.d.ts"
}
@@ -0,0 +1,258 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
/** @typedef {import("./Resolver").FileSystem} FileSystem */
/** @typedef {import("./Resolver").StringCallback} StringCallback */
/** @typedef {import("./Resolver").SyncFileSystem} SyncFileSystem */
// eslint-disable-next-line jsdoc/reject-function-type
/** @typedef {Function} SyncOrAsyncFunction */
// eslint-disable-next-line jsdoc/reject-any-type
/** @typedef {any} ResultOfSyncOrAsyncFunction */
/**
* @param {SyncFileSystem} fs file system implementation
* @constructor
*/
function SyncAsyncFileSystemDecorator(fs) {
this.fs = fs;
this.lstat = undefined;
this.lstatSync = undefined;
const { lstatSync } = fs;
if (lstatSync) {
this.lstat =
/** @type {FileSystem["lstat"]} */
(
(arg, options, callback) => {
let result;
try {
result = /** @type {SyncOrAsyncFunction | undefined} */ (callback)
? lstatSync.call(fs, arg, options)
: lstatSync.call(fs, arg);
} catch (err) {
return (callback || options)(
/** @type {NodeJS.ErrnoException | null} */
(err),
);
}
(callback || options)(
null,
/** @type {ResultOfSyncOrAsyncFunction} */
(result),
);
}
);
this.lstatSync =
/** @type {SyncFileSystem["lstatSync"]} */
((arg, options) => lstatSync.call(fs, arg, options));
}
this.stat =
/** @type {FileSystem["stat"]} */
(
(arg, options, callback) => {
let result;
try {
result = /** @type {SyncOrAsyncFunction | undefined} */ (callback)
? fs.statSync(arg, options)
: fs.statSync(arg);
} catch (err) {
return (callback || options)(
/** @type {NodeJS.ErrnoException | null} */
(err),
);
}
(callback || options)(
null,
/** @type {ResultOfSyncOrAsyncFunction} */
(result),
);
}
);
this.statSync =
/** @type {SyncFileSystem["statSync"]} */
((arg, options) => fs.statSync(arg, options));
this.readdir =
/** @type {FileSystem["readdir"]} */
(
(arg, options, callback) => {
let result;
try {
result = /** @type {SyncOrAsyncFunction | undefined} */ (callback)
? fs.readdirSync(
arg,
/** @type {Exclude<Parameters<FileSystem["readdir"]>[1], (err: NodeJS.ErrnoException | null, files: string[]) => void>} */
(options),
)
: fs.readdirSync(arg);
} catch (err) {
return (callback || options)(
/** @type {NodeJS.ErrnoException | null} */
(err),
[],
);
}
(callback || options)(
null,
/** @type {ResultOfSyncOrAsyncFunction} */
(result),
);
}
);
this.readdirSync =
/** @type {SyncFileSystem["readdirSync"]} */
(
(arg, options) =>
fs.readdirSync(
arg,
/** @type {Parameters<SyncFileSystem["readdirSync"]>[1]} */ (options),
)
);
this.readFile =
/** @type {FileSystem["readFile"]} */
(
(arg, options, callback) => {
let result;
try {
result = /** @type {SyncOrAsyncFunction | undefined} */ (callback)
? fs.readFileSync(arg, options)
: fs.readFileSync(arg);
} catch (err) {
return (callback || options)(
/** @type {NodeJS.ErrnoException | null} */
(err),
);
}
(callback || options)(
null,
/** @type {ResultOfSyncOrAsyncFunction} */
(result),
);
}
);
this.readFileSync =
/** @type {SyncFileSystem["readFileSync"]} */
((arg, options) => fs.readFileSync(arg, options));
this.readlink =
/** @type {FileSystem["readlink"]} */
(
(arg, options, callback) => {
let result;
try {
result = /** @type {SyncOrAsyncFunction | undefined} */ (callback)
? fs.readlinkSync(
arg,
/** @type {Exclude<Parameters<FileSystem["readlink"]>[1], StringCallback>} */
(options),
)
: fs.readlinkSync(arg);
} catch (err) {
return (callback || options)(
/** @type {NodeJS.ErrnoException | null} */
(err),
);
}
(callback || options)(
null,
/** @type {ResultOfSyncOrAsyncFunction} */
(result),
);
}
);
this.readlinkSync =
/** @type {SyncFileSystem["readlinkSync"]} */
(
(arg, options) =>
fs.readlinkSync(
arg,
/** @type {Parameters<SyncFileSystem["readlinkSync"]>[1]} */ (
options
),
)
);
this.readJson = undefined;
this.readJsonSync = undefined;
const { readJsonSync } = fs;
if (readJsonSync) {
this.readJson =
/** @type {FileSystem["readJson"]} */
(
(arg, callback) => {
let result;
try {
result = readJsonSync.call(fs, arg);
} catch (err) {
return callback(
/** @type {NodeJS.ErrnoException | Error | null} */ (err),
);
}
callback(null, result);
}
);
this.readJsonSync =
/** @type {SyncFileSystem["readJsonSync"]} */
((arg) => readJsonSync.call(fs, arg));
}
this.realpath = undefined;
this.realpathSync = undefined;
const { realpathSync } = fs;
if (realpathSync) {
this.realpath =
/** @type {FileSystem["realpath"]} */
(
(arg, options, callback) => {
let result;
try {
result = /** @type {SyncOrAsyncFunction | undefined} */ (callback)
? realpathSync.call(
fs,
arg,
/** @type {Exclude<Parameters<NonNullable<FileSystem["realpath"]>>[1], StringCallback>} */
(options),
)
: realpathSync.call(fs, arg);
} catch (err) {
return (callback || options)(
/** @type {NodeJS.ErrnoException | null} */
(err),
);
}
(callback || options)(
null,
/** @type {ResultOfSyncOrAsyncFunction} */
(result),
);
}
);
this.realpathSync =
/** @type {SyncFileSystem["realpathSync"]} */
(
(arg, options) =>
realpathSync.call(
fs,
arg,
/** @type {Parameters<NonNullable<SyncFileSystem["realpathSync"]>>[1]} */
(options),
)
);
}
}
module.exports = SyncAsyncFileSystemDecorator;
@@ -0,0 +1 @@
module.exports={C:{"52":0.00558,"78":0.00558,"115":1.09388,"120":0.04465,"121":0.10604,"123":0.04465,"124":0.00558,"125":0.01116,"136":0.00558,"137":0.00558,"138":0.00558,"139":0.00558,"140":0.1172,"141":0.00558,"142":0.00558,"144":0.00558,"145":0.01674,"146":0.01116,"147":0.01674,"148":0.03907,"149":0.01674,"150":0.01116,"151":0.01674,"152":0.04465,"153":0.08372,"154":0.58042,"155":1.83057,"156":1.80266,"157":0.03907,_:"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 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 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 126 127 128 129 130 131 132 133 134 135 143 158 159 160 3.5 3.6"},D:{"58":0.00558,"69":0.00558,"73":0.00558,"100":0.00558,"103":0.03907,"104":0.02232,"105":0.02232,"106":0.06139,"107":0.02791,"108":0.02232,"109":0.44648,"110":0.02232,"111":0.03349,"112":0.02232,"114":0.00558,"116":0.06697,"117":0.02232,"118":0.13953,"119":0.13953,"120":0.17859,"121":0.02791,"122":0.04465,"123":0.01674,"124":0.05581,"125":0.00558,"126":0.01116,"128":0.09488,"129":0.01116,"130":0.02791,"131":0.05581,"132":0.01116,"133":0.24556,"134":0.05581,"135":0.12278,"136":0.10046,"137":0.05581,"138":0.16185,"139":0.07813,"140":0.10604,"141":0.06697,"142":0.18417,"143":0.03349,"144":0.05023,"145":0.07255,"146":2.76818,"147":0.05581,"148":0.12278,"149":0.15069,"150":0.51903,"151":2.04823,"152":13.02605,"153":10.75459,"154":2.38867,"155":0.05023,"156":0.00558,_:"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 59 60 61 62 63 64 65 66 67 68 70 71 72 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 101 102 113 115 127 157"},F:{"83":0.02232,"95":0.08372,"100":0.00558,"101":0.01674,"102":0.00558,"105":0.00558,"106":0.00558,"114":0.00558,"127":0.00558,"131":0.00558,"133":0.05023,"134":0.35718,"135":1.39525,_:"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 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 103 104 107 108 109 110 111 112 113 115 116 117 118 119 120 121 122 123 124 125 126 132 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00558,"109":0.00558,"112":0.01674,"114":0.00558,"119":0.05023,"120":0.04465,"121":0.01674,"122":0.00558,"131":0.00558,"132":0.01116,"133":0.01116,"134":0.01116,"135":0.00558,"137":0.00558,"140":0.00558,"141":0.00558,"142":0.00558,"143":0.01116,"144":0.00558,"145":0.00558,"146":0.00558,"147":0.01116,"148":0.01674,"149":0.02232,"150":0.03349,"151":0.16743,"152":1.73011,"153":2.33844,"154":0.64182,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 113 115 116 117 118 123 124 125 126 127 128 129 130 136 138 139"},E:{"27":0.31254,_:"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 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.4 27.1 27.2 TP","13.1":0.00558,"14.1":0.00558,"15.6":0.05581,"16.3":0.00558,"16.5":0.00558,"16.6":0.07813,"17.0":0.00558,"17.1":0.02232,"17.2":0.00558,"17.3":0.01116,"17.4":0.01674,"17.5":0.02791,"17.6":0.11162,"18.0":0.00558,"18.1":0.01674,"18.2":0.01116,"18.3":0.02791,"18.4":0.01674,"18.5-18.7":0.03349,"26.0":0.01674,"26.1":0.05581,"26.2":0.05581,"26.3":0.1172,"26.4":0.06697,"26.5":0.26789,"26.6":1.16643},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00125,"5.0-5.1":0.00125,"6.0-6.1":0,"7.0-7.1":0.0025,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.01248,"11.0-11.2":0.00125,"11.3-11.4":0.0025,"12.0-12.1":0,"12.2-12.5":0.03245,"13.0-13.1":0,"13.2":0.00624,"13.3":0,"13.4-13.7":0.00125,"14.0-14.4":0.00499,"14.5-14.8":0.00749,"15.0-15.1":0.00749,"15.2-15.3":0.00499,"15.4":0.00624,"15.5":0.00749,"15.6-15.8":0.16223,"16.0":0.01248,"16.1":0.02246,"16.2":0.01248,"16.3":0.02745,"16.4":0.00624,"16.5":0.00998,"16.6-16.7":0.22587,"17.0":0.00874,"17.1":0.01248,"17.2":0.01248,"17.3":0.01872,"17.4":0.02621,"17.5":0.05116,"17.6-17.7":0.13228,"18.0":0.02745,"18.1":0.05491,"18.2":0.07488,"18.3":0.12978,"18.4":0.08112,"18.5-18.7":1.67596,"26.0":0.08112,"26.1":0.08236,"26.2":0.21464,"26.3":0.23211,"26.4":0.16972,"26.5":1.13686,"26.6":7.01459,"27.0":0.53786,"27.1":0,"27.2":0.01373},P:{"4":0.00924,"20":0.00924,"21":0.01848,"23":0.00924,"24":0.00924,"25":0.00924,"26":0.05543,"27":0.00924,"28":0.04619,"29":0.0739,"30":1.89379,_:"22 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0.01325,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},K:{"0":0.65843,_:"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":26.84108},R:{_:"0"},Line truncated
@@ -0,0 +1,137 @@
// src/slot.tsx
import * as React from "react";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
// @__NO_SIDE_EFFECTS__
function createSlot(ownerName) {
const Slot2 = React.forwardRef((props, forwardedRef) => {
let { children, ...slotProps } = props;
let slottableElement = null;
let hasSlottable = false;
const newChildren = [];
if (isLazyComponent(children) && typeof use === "function") {
children = use(children._payload);
}
React.Children.forEach(children, (maybeSlottable) => {
if (isSlottable(maybeSlottable)) {
hasSlottable = true;
const slottable = maybeSlottable;
let child = "child" in slottable.props ? slottable.props.child : slottable.props.children;
if (isLazyComponent(child) && typeof use === "function") {
child = use(child._payload);
}
slottableElement = getSlottableElementFromSlottable(slottable, child);
newChildren.push(slottableElement?.props?.children);
} else {
newChildren.push(maybeSlottable);
}
});
if (slottableElement) {
slottableElement = React.cloneElement(slottableElement, void 0, newChildren);
} else if (
// A `Slottable` was found but it didn't resolve to a single element (e.g.
// it wrapped multiple elements, text, or a render-prop `child` that
// wasn't an element). Don't fall back to treating the `Slottable` wrapper
// itself as the slot target — throw a descriptive error below instead.
!hasSlottable && React.Children.count(children) === 1 && React.isValidElement(children)
) {
slottableElement = children;
}
const slottableElementRef = slottableElement ? getElementRef(slottableElement) : void 0;
const composedRef = useComposedRefs(forwardedRef, slottableElementRef);
if (!slottableElement) {
if (children || children === 0) {
throw new Error(
hasSlottable ? createSlottableError(ownerName) : createSlotError(ownerName)
);
}
return children;
}
const mergedProps = mergeProps(slotProps, slottableElement.props ?? {});
if (slottableElement.type !== React.Fragment) {
mergedProps.ref = forwardedRef ? composedRef : slottableElementRef;
}
return React.cloneElement(slottableElement, mergedProps);
});
Slot2.displayName = `${ownerName}.Slot`;
return Slot2;
}
var Slot = /* @__PURE__ */ createSlot("Slot");
var SLOTTABLE_IDENTIFIER = Symbol.for("radix.slottable");
// @__NO_SIDE_EFFECTS__
function createSlottable(ownerName) {
const Slottable2 = (props) => "child" in props ? props.children(props.child) : props.children;
Slottable2.displayName = `${ownerName}.Slottable`;
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
return Slottable2;
}
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
var getSlottableElementFromSlottable = (slottable, child) => {
if ("child" in slottable.props) {
const child2 = slottable.props.child;
if (!React.isValidElement(child2)) return null;
return React.cloneElement(child2, void 0, slottable.props.children(child2.props.children));
}
return React.isValidElement(child) ? child : null;
};
function mergeProps(slotProps, childProps) {
const overrideProps = { ...childProps };
for (const propName in childProps) {
const slotPropValue = slotProps[propName];
const childPropValue = childProps[propName];
const isHandler = /^on[A-Z]/.test(propName);
if (isHandler) {
if (slotPropValue && childPropValue) {
overrideProps[propName] = (...args) => {
const result = childPropValue(...args);
slotPropValue(...args);
return result;
};
} else if (slotPropValue) {
overrideProps[propName] = slotPropValue;
}
} else if (propName === "style") {
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
} else if (propName === "className") {
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
}
}
return { ...slotProps, ...overrideProps };
}
function getElementRef(element) {
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
if (mayWarn) {
return element.ref;
}
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
if (mayWarn) {
return element.props.ref;
}
return element.props.ref || element.ref;
}
function isSlottable(child) {
return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
}
var REACT_LAZY_TYPE = Symbol.for("react.lazy");
function isLazyComponent(element) {
return element != null && typeof element === "object" && "$$typeof" in element && element.$$typeof === REACT_LAZY_TYPE && "_payload" in element && isPromiseLike(element._payload);
}
function isPromiseLike(value) {
return typeof value === "object" && value !== null && "then" in value;
}
var createSlotError = (ownerName) => {
return `${ownerName} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`;
};
var createSlottableError = (ownerName) => {
return `${ownerName} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`;
};
var use = React[" use ".trim().toString()];
export {
Slot as Root,
Slot,
Slottable,
createSlot,
createSlottable
};
//# sourceMappingURL=index.mjs.map
@@ -0,0 +1,36 @@
import { attachFollow, followValue } from './follow-value.mjs';
/**
* Create a `MotionValue` that animates to its latest value using a spring.
* Can either be a value or track another `MotionValue`.
*
* ```jsx
* const x = motionValue(0)
* const y = springValue(x, { stiffness: 300 })
* ```
*
* @param source - Initial value or MotionValue to track
* @param options - Spring configuration options
* @returns `MotionValue`
*
* @public
*/
function springValue(source, options) {
return followValue(source, { type: "spring", ...options });
}
/**
* Attach a spring animation to a MotionValue that will animate whenever the value changes.
*
* @param value - The MotionValue to animate
* @param source - Initial value or MotionValue to track
* @param options - Spring configuration options
* @returns Cleanup function
*
* @public
*/
function attachSpring(value, source, options) {
return attachFollow(value, source, { type: "spring", ...options });
}
export { attachSpring, springValue };
//# sourceMappingURL=spring-value.mjs.map
@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Referencer = void 0;
var Referencer_1 = require("./Referencer");
Object.defineProperty(exports, "Referencer", { enumerable: true, get: function () { return Referencer_1.Referencer; } });
@@ -0,0 +1,18 @@
/**
* @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 FileImage = createLucideIcon("FileImage", [
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }],
["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }]
]);
export { FileImage as default };
//# sourceMappingURL=file-image.js.map
@@ -0,0 +1,33 @@
//#region src/utils/encode.ts
/**
* @module
* Encode utility.
*/
const decodeBase64Url = (str) => {
return decodeBase64(str.replace(/_|-/g, (m) => ({
_: "/",
"-": "+"
})[m] ?? m));
};
const encodeBase64Url = (buf) => encodeBase64(buf).replace(/\/|\+/g, (m) => ({
"/": "_",
"+": "-"
})[m] ?? m);
const encodeBase64 = (buf) => {
let binary = "";
const bytes = new Uint8Array(buf);
for (let i = 0, len = bytes.length; i < len; i++) binary += String.fromCharCode(bytes[i]);
return btoa(binary);
};
const decodeBase64 = (str) => {
const binary = atob(str);
const bytes = new Uint8Array(new ArrayBuffer(binary.length));
const half = binary.length / 2;
for (let i = 0, j = binary.length - 1; i <= half; i++, j--) {
bytes[i] = binary.charCodeAt(i);
bytes[j] = binary.charCodeAt(j);
}
return bytes;
};
//#endregion
export { decodeBase64, decodeBase64Url, encodeBase64, encodeBase64Url };
@@ -0,0 +1,42 @@
{
"name": "bytes",
"description": "Utility to parse a string bytes to bytes and vice-versa",
"version": "3.1.2",
"author": "TJ Holowaychuk <tj@vision-media.ca> (http://tjholowaychuk.com)",
"contributors": [
"Jed Watson <jed.watson@me.com>",
"Théo FIDRY <theo.fidry@gmail.com>"
],
"license": "MIT",
"keywords": [
"byte",
"bytes",
"utility",
"parse",
"parser",
"convert",
"converter"
],
"repository": "visionmedia/bytes.js",
"devDependencies": {
"eslint": "7.32.0",
"eslint-plugin-markdown": "2.2.1",
"mocha": "9.2.0",
"nyc": "15.1.0"
},
"files": [
"History.md",
"LICENSE",
"Readme.md",
"index.js"
],
"engines": {
"node": ">= 0.8"
},
"scripts": {
"lint": "eslint .",
"test": "mocha --check-leaks --reporter spec",
"test-ci": "nyc --reporter=lcov --reporter=text npm test",
"test-cov": "nyc --reporter=html --reporter=text npm test"
}
}
@@ -0,0 +1,14 @@
import { isPrimaryPointer } from 'motion-dom';
function extractEventInfo(event) {
return {
point: {
x: event.pageX,
y: event.pageY,
},
};
}
const addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
export { addPointerInfo, extractEventInfo };
//# sourceMappingURL=event-info.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"client.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,380 @@
import { describe, expect, expectTypeOf, test } from "vitest";
import * as z from "zod";
import { visit } from "../../core/visit.js";
import { deepPartial } from "../deep-partial.js";
describe("deepPartial", () => {
test("makes shallow object optional", () => {
const schema = z.object({ a: z.string(), b: z.number() });
const partial = deepPartial(schema);
expect(partial.parse({})).toEqual({});
expect(partial.parse({ a: "x" })).toEqual({ a: "x" });
expect(partial.parse({ a: "x", b: 1 })).toEqual({ a: "x", b: 1 });
});
test("makes nested object optional at every level", () => {
const schema = z.object({
name: z.string(),
profile: z.object({
bio: z.string(),
age: z.number(),
}),
});
const partial = deepPartial(schema);
expect(partial.parse({})).toEqual({});
expect(partial.parse({ profile: {} })).toEqual({ profile: {} });
expect(partial.parse({ profile: { bio: "x" } })).toEqual({ profile: { bio: "x" } });
});
test("recurses through arrays", () => {
const schema = z.object({ items: z.array(z.object({ a: z.string(), b: z.number() })) });
const partial = deepPartial(schema);
expect(partial.parse({ items: [{}, { a: "x" }] })).toEqual({ items: [{}, { a: "x" }] });
});
test("recurses through tuples and rest", () => {
const schema = z.tuple([z.object({ a: z.string() }), z.object({ b: z.number() })], z.object({ c: z.boolean() }));
const partial = deepPartial(schema);
expect(partial.parse([{}, {}])).toEqual([{}, {}]);
expect(partial.parse([{}, {}, {}])).toEqual([{}, {}, {}]);
});
test("recurses through unions", () => {
const schema = z.union([z.object({ a: z.string() }), z.object({ b: z.number() })]);
const partial = deepPartial(schema);
expect(partial.parse({})).toEqual({});
});
test("recurses through optional/nullable wrappers", () => {
const schema = z.object({ x: z.object({ a: z.string() }).optional() });
const partial = deepPartial(schema);
expect(partial.parse({})).toEqual({});
expect(partial.parse({ x: {} })).toEqual({ x: {} });
});
test("terminates on recursive (lazy) schemas", () => {
const Node: z.ZodType = z.object({
name: z.string(),
children: z.array(z.lazy(() => Node)).optional(),
});
const partial = deepPartial(Node);
expect(partial.parse({})).toEqual({});
expect(partial.parse({ name: "root", children: [{ name: "child" }] })).toEqual({
name: "root",
children: [{ name: "child" }],
});
expect(partial.parse({ children: [{}] })).toEqual({ children: [{}] });
});
test("preserves primitives at leaves", () => {
const schema = z.object({ a: z.string().min(1), b: z.number().int() });
const partial = deepPartial(schema);
expect(() => partial.parse({ a: "" })).toThrow();
expect(() => partial.parse({ b: 1.5 })).toThrow();
expect(partial.parse({ a: "ok", b: 1 })).toEqual({ a: "ok", b: 1 });
});
test("keyof preserved on output type", () => {
const schema = z.object({
name: z.string(),
profile: z.object({ bio: z.string() }),
});
type Out = z.output<typeof schema> extends infer X ? X : never;
const partial = deepPartial(schema);
type PartialOut = z.output<typeof partial>;
expectTypeOf<keyof PartialOut>().toEqualTypeOf<keyof Out>();
});
test("preserves ZodObject structural type; `.shape` is accessible", () => {
const schema = z.object({
name: z.string(),
nested: z.object({ age: z.number() }),
});
const partial = deepPartial(schema);
expectTypeOf(partial).toExtend<z.ZodObject>();
// Each shape entry is a ZodOptional wrapping the deep-partialed inner.
expectTypeOf(partial.shape.name).toExtend<z.ZodOptional<z.ZodString>>();
expectTypeOf(partial.shape.nested).toExtend<z.ZodOptional<z.ZodObject>>();
// Nested shape access is still typed.
const innerShape = partial.shape.nested._zod.def.innerType.shape;
expectTypeOf(innerShape.age).toExtend<z.ZodOptional<z.ZodNumber>>();
});
test("recursive self-reference (via getter) is typeable (no TS depth explosion)", () => {
const Category = z.object({
name: z.string(),
get subcategories() {
return z.array(Category).optional();
},
});
const partial = deepPartial(Category);
expectTypeOf(partial).toExtend<z.ZodObject>();
// Should not blow up TS recursion depth. We don't assert on the inner recursive reference — depth-limited DeepPartial shells out after one unfold.
expect(partial.parse({ subcategories: [{}] })).toEqual({ subcategories: [{}] });
});
test("preserves ZodArray / ZodTuple / ZodUnion wrappers", () => {
const arr = deepPartial(z.array(z.object({ a: z.string() })));
expectTypeOf(arr).toExtend<z.ZodArray>();
const tup = deepPartial(z.tuple([z.object({ a: z.string() }), z.object({ b: z.number() })]));
expectTypeOf(tup).toExtend<z.ZodTuple>();
const uni = deepPartial(z.union([z.object({ a: z.string() }), z.object({ b: z.number() })]));
expectTypeOf(uni).toExtend<z.ZodUnion>();
});
test("3-level deep nesting", () => {
const schema = z.object({
a: z.object({
b: z.object({
c: z.object({ d: z.string() }),
}),
}),
});
const partial = deepPartial(schema);
expect(partial.parse({})).toEqual({});
expect(partial.parse({ a: {} })).toEqual({ a: {} });
expect(partial.parse({ a: { b: { c: {} } } })).toEqual({ a: { b: { c: {} } } });
});
test("discriminated union: degrades to plain union (discriminator becomes optional)", () => {
const schema = z.discriminatedUnion("kind", [
z.object({ kind: z.literal("a"), a: z.string() }),
z.object({ kind: z.literal("b"), b: z.number() }),
]);
const partial = deepPartial(schema);
expect(partial.parse({ kind: "a", a: "x" })).toEqual({ kind: "a", a: "x" });
expect(partial.parse({ kind: "b", b: 1 })).toEqual({ kind: "b", b: 1 });
expect(partial.parse({})).toEqual({});
});
test("intersection", () => {
const schema = z.intersection(z.object({ a: z.string() }), z.object({ b: z.number() }));
const partial = deepPartial(schema);
expect(partial.parse({})).toEqual({});
expect(partial.parse({ a: "x" })).toEqual({ a: "x" });
expect(partial.parse({ b: 1 })).toEqual({ b: 1 });
});
test("record / map / set value schemas are recursed", () => {
const rec = deepPartial(z.record(z.string(), z.object({ a: z.string() })));
expect(rec.parse({ k: {} })).toEqual({ k: {} });
const m = deepPartial(z.map(z.string(), z.object({ a: z.string() })));
expect(m.parse(new Map([["k", {}]]))).toEqual(new Map([["k", {}]]));
const s = deepPartial(z.set(z.object({ a: z.string() })));
expect(s.parse(new Set([{}]))).toEqual(new Set([{}]));
});
test("wrapper composition (optional + default + readonly)", () => {
const schema = z.object({
x: z.object({ a: z.string() }).default({ a: "hi" }).readonly(),
});
const partial = deepPartial(schema);
expect(partial.parse({})).toEqual({ x: { a: "hi" } });
expect(partial.parse({ x: {} })).toEqual({ x: {} });
});
test("transform standalone is left untouched", () => {
const schema = z.object({ a: z.string().transform((s) => s.length) });
const partial = deepPartial(schema);
expect(partial.parse({ a: "hi" })).toEqual({ a: 2 });
expect(partial.parse({})).toEqual({});
});
test("pipe input and output are both recursed", () => {
const schema = z.object({ a: z.string() }).pipe(z.object({ a: z.string() }));
const partial = deepPartial(schema);
expect(partial.parse({})).toEqual({});
});
test("tuple elements stay required — only *objects inside* become partial", () => {
const schema = z.tuple([z.object({ a: z.string() }), z.string()]);
const partial = deepPartial(schema);
// Positional items remain required: the second item (z.string) must be present.
expect(() => partial.parse([{}])).toThrow();
expect(partial.parse([{}, "x"])).toEqual([{}, "x"]);
// The object INSIDE the tuple has its fields made optional.
expect(partial.parse([{ a: "y" }, "x"])).toEqual([{ a: "y" }, "x"]);
});
test("intersection: both sides are deep-partialed independently", () => {
const schema = z.intersection(
z.object({ a: z.object({ inner: z.string() }) }),
z.object({ b: z.object({ inner: z.number() }) })
);
const partial = deepPartial(schema);
expectTypeOf(partial).toExtend<z.ZodIntersection>();
// Inner objects on either side accept their field as optional.
expect(partial.parse({ a: {}, b: {} })).toEqual({ a: {}, b: {} });
// Top-level props also optional (deepPartial partials both object sides).
expect(partial.parse({})).toEqual({});
});
test("ZodPromise: inner is recursed", () => {
const schema = z.promise(z.object({ a: z.string() }));
const partial = deepPartial(schema);
expectTypeOf(partial).toExtend<z.ZodPromise>();
});
test("ZodSuccess: inner is recursed", () => {
const schema = z.success(z.object({ a: z.string() }));
const partial = deepPartial(schema);
expectTypeOf(partial).toExtend<z.ZodSuccess>();
});
test("ZodCodec: both sides recursed; preserved as ZodCodec (not degraded to ZodPipe)", () => {
const schema = z.codec(z.object({ a: z.string() }), z.object({ a: z.string() }), {
decode: (v) => v,
encode: (v) => v,
});
const partial = deepPartial(schema);
expectTypeOf(partial).toExtend<z.ZodCodec>();
expect(partial.parse({})).toEqual({});
});
test("ZodPreprocess: inner is recursed; preserved as ZodPreprocess (not degraded to ZodPipe)", () => {
const schema = z.preprocess((v) => v, z.object({ a: z.string() }));
const partial = deepPartial(schema);
expectTypeOf(partial).toExtend<z.ZodPreprocess>();
expect(partial.parse({})).toEqual({});
});
test("catchall value schema is recursed; strict/loose catchalls are preserved", () => {
const partial = deepPartial(z.object({ a: z.string() }).catchall(z.object({ n: z.number() })));
expect(partial.parse({ extra: {} })).toEqual({ extra: {} });
expect(() => partial.parse({ extra: { n: "no" } })).toThrow();
// z.strictObject / z.looseObject encode their behavior as a catchall too.
expect(() => deepPartial(z.strictObject({ a: z.object({ b: z.string() }) })).parse({ zzz: 1 })).toThrow();
expect(deepPartial(z.looseObject({ a: z.object({ b: z.string() }) })).parse({ a: {}, zzz: 1 })).toEqual({
a: {},
zzz: 1,
});
});
test("discriminated union nested inside an array degrades and still matches", () => {
const schema = z.object({
shapes: z.array(
z.discriminatedUnion("kind", [
z.object({ kind: z.literal("circle"), meta: z.object({ id: z.string() }) }),
z.object({ kind: z.literal("square"), side: z.number() }),
])
),
});
const partial = deepPartial(schema);
const element = (partial.shape.shapes._zod.def.innerType as z.ZodArray)._zod.def.element;
expect(element._zod.def.type).toEqual("union");
expect((element._zod.def as { discriminator?: string }).discriminator).toBeUndefined();
expect(partial.parse({ shapes: [{ kind: "circle", meta: {} }, {}] })).toEqual({
shapes: [{ kind: "circle", meta: {} }, {}],
});
});
test("does not mutate the source schema", () => {
const inner = z.object({ b: z.string() });
const schema = z.object({ a: inner });
deepPartial(schema);
expect(schema.shape.a).toBe(inner);
expect(schema.safeParse({}).success).toEqual(false);
expect(inner.safeParse({}).success).toEqual(false);
});
});
describe("visit (internal)", () => {
test("identity callback returns the input schema unchanged", () => {
const schema = z.object({ a: z.string(), nested: z.object({ b: z.number() }) });
expect(visit(schema, (s) => s)).toBe(schema);
});
test("empty handler map returns the input schema unchanged", () => {
const schema = z.object({ a: z.string(), nested: z.object({ b: z.number() }) });
expect(visit(schema, {})).toBe(schema);
});
test("only nodes touched by a handler are re-cloned; siblings keep identity", () => {
const a = z.string();
const b = z.number();
const schema = z.object({ a, b });
const result = visit(schema, { number: () => z.string() }) as z.ZodType;
// `a` was not rewritten; its reference flows through.
expect((result._zod.def as any).shape.a).toBe(a);
// `b` was rewritten; parent is a new clone.
expect(result).not.toBe(schema);
});
test("callback: can target a specific def.type", () => {
const schema = z.object({ a: z.string(), b: z.number() });
const allStrings = visit(schema, (s) => (s._zod.def.type === "number" ? z.string() : s)) as z.ZodType;
expect(allStrings.parse({ a: "x", b: "y" } as any)).toEqual({ a: "x", b: "y" });
});
test("handler map: dispatches by kind; unhandled kinds pass through", () => {
const schema = z.object({ a: z.string(), b: z.number() });
const result = visit(schema, { number: () => z.string() }) as z.ZodType;
expect(result.parse({ a: "x", b: "y" } as any)).toEqual({ a: "x", b: "y" });
});
test("visits shared sub-schemas only once", () => {
const inner = z.object({ a: z.string() });
const schema = z.object({ x: inner, y: inner });
let calls = 0;
visit(schema, (s) => {
calls++;
return s;
});
// 3 unique nodes: schema, inner (shared), inner.shape.a (z.string()).
expect(calls).toBe(3);
});
test("root is cached: lazy self-reference does not re-invoke fn at parse-time", () => {
let calls = 0;
const Self: z.ZodType = z.object({ self: z.lazy(() => Self).optional() });
const result = visit(Self, (s) => {
calls++;
return s;
}) as z.ZodType;
const baseline = calls;
result.parse({ self: { self: { self: {} } } });
expect(calls).toBe(baseline);
});
test("unknown def.type falls through unchanged (handler map form)", () => {
const customSchema: any = z.string();
customSchema._zod.def = { ...customSchema._zod.def, type: "myCustomType" };
const result = visit(customSchema, { object: (o) => o });
expect(result).toBe(customSchema);
});
test("non-lazy (getter) cycle resolves through the cache instead of throwing", () => {
const Node = z.object({
name: z.string(),
get children() {
return z.array(Node);
},
});
// The rewrite has to reach the recursive reference, not just the top level.
const upper = visit(Node, { string: () => z.string().toUpperCase() }) as z.ZodType;
expect(upper.parse({ name: "a", children: [{ name: "b", children: [] }] })).toEqual({
name: "A",
children: [{ name: "B", children: [] }],
});
});
test("catchall is traversed like tuple rest", () => {
const schema = z.object({}).catchall(z.object({ n: z.string() }));
const result = visit(schema, { string: () => z.string().toUpperCase() }) as z.ZodType;
expect(result.parse({ k: { n: "a" } })).toEqual({ k: { n: "A" } });
});
test("an already-resolved lazy is still rewritten", () => {
const make = () => z.object({ x: z.lazy(() => z.object({ y: z.string() })) });
const cold = make();
const warm = make();
warm.safeParse({ x: { y: "a" } }); // memoizes $ZodLazy's inner type onto the def
// The memo must not ride along into the clone, or the new getter is never read.
expect(deepPartial(warm).safeParse({ x: {} }).success).toEqual(true);
expect(deepPartial(cold).safeParse({ x: {} }).success).toEqual(true);
});
});
@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = removePropertiesDeep;
var _traverseFast = require("../traverse/traverseFast.js");
var _removeProperties = require("./removeProperties.js");
function removePropertiesDeep(tree, opts) {
(0, _traverseFast.default)(tree, _removeProperties.default, opts);
return tree;
}
//# sourceMappingURL=removePropertiesDeep.js.map
@@ -0,0 +1,105 @@
import { HookHandler, UserConfig, ConfigEnv } from 'vite';
export { ConfigEnv, Plugin, UserConfig as ViteUserConfig, mergeConfig } from 'vite';
import { I as InlineConfig, C as CoverageOptions, F as FieldsWithDefaultValues, U as UserWorkspaceConfig, b as UserProjectConfigFn, c as UserProjectConfigExport } from './chunks/reporters.d.DtoKVV2s.js';
export { a as TestProjectConfiguration, d as TestProjectInlineConfiguration, e as TestUserConfig, W as WatcherTriggerPattern } from './chunks/reporters.d.DtoKVV2s.js';
import { V as VitestPluginContext } from './chunks/plugin.d.DwFIiJ7i.js';
import { F as FakeTimerInstallOpts } from './chunks/config.d.A1h_Y6Jt.js';
export { TestTagDefinition } from '@vitest/runner';
import '@vitest/utils';
import './chunks/traces.d.D2T_R8rx.js';
import 'node:stream';
import './chunks/browser.d.BcoexmFG.js';
import './chunks/worker.d.ZpHpO4yb.js';
import 'vite/module-runner';
import './chunks/environment.d.CrsxCzP1.js';
import './chunks/rpc.d.B_8sPU0w.js';
import '@vitest/snapshot';
import '@vitest/pretty-format';
import '@vitest/utils/diff';
import '@vitest/expect';
import 'vitest/optional-types.js';
import './chunks/benchmark.d.DAaHLpsq.js';
import '@vitest/runner/utils';
import 'tinybench';
import '@vitest/mocker';
import '@vitest/utils/source-map';
import 'vitest/browser';
import './chunks/coverage.d.BZtK59WP.js';
import '@vitest/snapshot/manager';
import 'node:console';
import 'node:fs';
type VitestInlineConfig = InlineConfig;
declare module "vite" {
interface UserConfig {
/**
* Options for Vitest
*/
test?: VitestInlineConfig;
}
interface Plugin<A = any> {
configureVitest?: HookHandler<(context: VitestPluginContext) => void>;
}
}
declare const defaultBrowserPort = 63315;
declare const defaultInclude: string[];
declare const defaultExclude: string[];
declare const coverageConfigDefaults: Required<Pick<CoverageOptions, FieldsWithDefaultValues>>;
declare const configDefaults: Readonly<{
allowOnly: boolean;
isolate: boolean;
watch: boolean;
globals: boolean;
environment: "node";
clearMocks: boolean;
restoreMocks: boolean;
mockReset: boolean;
unstubGlobals: boolean;
unstubEnvs: boolean;
include: string[];
exclude: string[];
teardownTimeout: number;
forceRerunTriggers: string[];
update: boolean;
reporters: never[];
silent: boolean;
hideSkippedTests: boolean;
api: boolean;
ui: boolean;
uiBase: string;
open: boolean;
css: {
include: never[];
};
coverage: CoverageOptions;
fakeTimers: FakeTimerInstallOpts;
maxConcurrency: number;
dangerouslyIgnoreUnhandledErrors: boolean;
typecheck: {
checker: "tsc";
include: string[];
exclude: string[];
};
slowTestThreshold: number;
disableConsoleIntercept: boolean;
detectAsyncLeaks: boolean;
}>;
type ViteUserConfigFnObject = (env: ConfigEnv) => UserConfig;
type ViteUserConfigFnPromise = (env: ConfigEnv) => Promise<UserConfig>;
type ViteUserConfigFn = (env: ConfigEnv) => UserConfig | Promise<UserConfig>;
type ViteUserConfigExport = UserConfig | Promise<UserConfig> | ViteUserConfigFnObject | ViteUserConfigFnPromise | ViteUserConfigFn;
declare function defineConfig(config: UserConfig): UserConfig;
declare function defineConfig(config: Promise<UserConfig>): Promise<UserConfig>;
declare function defineConfig(config: ViteUserConfigFnObject): ViteUserConfigFnObject;
declare function defineConfig(config: ViteUserConfigFnPromise): ViteUserConfigFnPromise;
declare function defineConfig(config: ViteUserConfigExport): ViteUserConfigExport;
declare function defineProject(config: UserWorkspaceConfig): UserWorkspaceConfig;
declare function defineProject(config: Promise<UserWorkspaceConfig>): Promise<UserWorkspaceConfig>;
declare function defineProject(config: UserProjectConfigFn): UserProjectConfigFn;
declare function defineProject(config: UserProjectConfigExport): UserProjectConfigExport;
export { UserProjectConfigExport, UserProjectConfigFn, UserWorkspaceConfig, configDefaults, coverageConfigDefaults, defaultBrowserPort, defaultExclude, defaultInclude, defineConfig, defineProject };
export type { ViteUserConfigExport, ViteUserConfigFn, ViteUserConfigFnObject, ViteUserConfigFnPromise };
@@ -0,0 +1 @@
{"version":3,"file":"panel-right.js","sources":["../../../src/icons/panel-right.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name PanelRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNSAzdjE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/panel-right\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 PanelRight = createLucideIcon('PanelRight', [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }],\n ['path', { d: 'M15 3v18', key: '14nvp0' }],\n]);\n\nexport default PanelRight;\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,CAAA,CAAQ,CAAA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,MAAM,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC9E,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC3C,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,43 @@
let random = async bytes => crypto.getRandomValues(new Uint8Array(bytes))
let customAlphabet = (alphabet, defaultSize = 21) => {
let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1
let step = -~((1.6 * mask * defaultSize) / alphabet.length)
return async (size = defaultSize) => {
if (size <= 0) return ''
let id = ''
while (true) {
let bytes = crypto.getRandomValues(new Uint8Array(step))
let i = step | 0
while (i--) {
id += alphabet[bytes[i] & mask] || ''
if (id.length === size) return id
}
}
}
}
let nanoid = async (size = 21) => {
let id = ''
let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))
while (size--) {
let byte = bytes[size] & 63
if (byte < 36) {
id += byte.toString(36)
} else if (byte < 62) {
id += (byte - 26).toString(36).toUpperCase()
} else if (byte < 63) {
id += '_'
} else {
id += '-'
}
}
return id
}
module.exports = { nanoid, customAlphabet, random }
@@ -0,0 +1,730 @@
export default `flf2a$ 7 5 16 -1 14
smpoison.flf figletized by Vinney Thai <ssfiit@eris.cc.umb.edu>
poison font composed David Issel <dissel@nunic.nu.edu>
date: Nov 18, 1994
Explanation of first line:
flf2 - "magic number" for file identification
a - should always be \`a', for now
$ - the "hardblank" -- prints as a blank, but can't be smushed
7 - height of a character
5 - height of a character, not including descenders
16 - max line length (excluding comment lines) + a fudge factor
-1 - default smushmode for this font (like "-m 0" on command line)
14 - number of comment lines
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@@
@
@@@$@
@@@$@
!@!$@
$ @
:.:$@
@@
@
@@@ @@@$@
!@ !@$ @
$ $ @
$ $ @
$ $ @
@@
@
@@@ @@@$ @
@@@!@@@@@$@
@!@ !@!$ @
!!!:!!!!:$@
:: : :$ @
@@
@@$ @
@@@@@$ @
!@@!!$ @
!@@!!$ @
!!:!$@
:.:.:$ @
:$ @@
@
@@ @@$@
@@!$@
@@!$ @
!!:$ @
:. ::$@
@@
@
@@@@@$ @
@@! @@@$ @
!@!@!$ @
!!: !!!$ @
:.: : .:$@
@@
@
@@@$@
!@$ @
$ @
$ @
$ @
@@
@@@$@
@@@$ @
@@@$ @
!@!$ @
!!!$ @
!:!$ @
: :$@@
@@@$ @
@@@$@
@@@$@
!@!$@
!!!$@
!:!$@
: :$ @@
@
@@@ @@@$ @
@@!!@@$ @
!!!@@!@!!!$@
!:::!!$ @
:.: .::$ @
@@
@
@@@$ @
@@@$ @
@!@!@!@!@$@
!!!$ @
: :$ @
@@
@
$ @
$ @
$ @
!:!$@
::$ @
:$ @@
@
$ @
$ @
@!@!@!@!$@
$ @
$ @
@@
@
$ @
$ @
$ @
!:!$@
:::$@
@@
@@@$@
@@@$ @
@@@$ @
!!@$ @
!!!$ @
:!:$ @
: :$ @@
@
@@@@@@$ @
@@! @@@$@
@!@ !@!$@
!!: !!!$@
: : ::$ @
@@
@
@@@$@
@@@@$@
!@!$@
!!!$@
::$ @
@@
@
@@@@@@$ @
@@ @@@$@
.!!@!$ @
!!:$ @
:.:: :::$@
@@
@
@@@@@@$ @
@@!$@
@!!!:$ @
!!:$@
::: ::$ @
@@
@
@@@ @@@$@
@@@ @@@$@
@!@!@!@!$@
!!!$@
: :$@
@@
@
@@@@@@@$@
!@@$ @
!!@@!!$ @
!:!$@
:: : :$ @
@@
@
@@@@@$ @
@@!@$ @
@!@!@!@$ @
!!: !!!$@
: : ::$ @
@@
@
@@@@@@@@$@
@@!$@
@!!$ @
.!!:$ @
: :$ @
@@
@
@@@@@@$ @
@@! @@@$@
!@!@!@$ @
!!: !!!$@
:.:: :$ @
@@
@
@@@@@@$ @
@@! @@@$@
@!@@!@!$@
!!:$@
: :::$ @
@@
@
@@@$@
@@!$@
$ @
!:!$@
:::$@
@@
@
@@@$@
@@!$@
$ @
!:!$@
::$ @
:$ @@
@@@$@
@@@$ @
@@!$ @
!@!$ @
!!!$ @
:!:$ @
: :$@@
@
$ @
@@@!@@@@$@
$ @
!!!:!!!!$@
$ @
@@
@@@$ @
@@@$ @
@@!$ @
!@!$@
!!!$ @
:!:$ @
: :$ @@
@
@@@@@@$ @
@@! @@@$@
.!@!$ @
""$ @
::$ @
@@
@
@@@@@@@$ @
!@@ !@@$@
!@! @!@!@$@
:!!$ @
:: :: :$ @
@@
@
@@@@@@$ @
@@! @@@$@
@!@!@!@!$@
!!: !!!$@
: : :$@
@@
@
@@@@@@@$ @
@@! @@@$@
@!@!@!@$ @
!!: !!!$@
:: : ::$ @
@@
@
@@@@@@@$@
!@@$ @
!@!$ @
:!!$ @
:: :: :$@
@@
@
@@@@@@@$ @
@@! @@@$@
@!@ !@!$@
!!: !!!$@
:: : :$ @
@@
@
@@@@@@@@$@
@@!$ @
@!!!:!$ @
!!:$ @
: :: ::$ @
@@
@
@@@@@@@@$@
@@!$ @
@!!!:!$ @
!!:$ @
:$ @
@@
@
@@@@@@@$ @
!@@$ @
!@! @!@!@$@
:!! !!:$@
:: :: :$ @
@@
@
@@@ @@@$@
@@! @@@$@
@!@!@!@!$@
!!: !!!$@
: : :$@
@@
@
@@@$@
@@!$@
!!@$@
!!:$@
:$ @
@@
@
@@@$@
@@!$@
!!@$@
. .!!$ @
::.::$ @
@@
@
@@@ @@@$@
@@! !@@$@
@!@@!@!$ @
!!: :!!$ @
: :::$@
@@
@
@@@$ @
@@!$ @
@!!$ @
!!:$ @
: ::.: :$@
@@
@
@@@@@@@@@@$ @
@@! @@! @@!$@
@!! !!@ @!@$@
!!: !!:$@
: :$ @
@@
@
@@@ @@@$@
@@!@!@@@$@
@!@@!!@!$@
!!: !!!$@
:: :$ @
@@
@
@@@@@@$ @
@@! @@@$@
@!@ !@!$@
!!: !!!$@
: :. :$ @
@@
@
@@@@@@@$ @
@@! @@@$@
@!@@!@!$ @
!!:$ @
:$ @
@@
@
@@@@@@$ @
@@! @@@$ @
@!@ !@!$ @
!!:!!:!:$ @
: :. :::$@
@@
@
@@@@@@@$ @
@@! @@@$@
@!@!!@!$ @
!!: :!!$ @
: : :$@
@@
@
@@@@@@$@
!@@$ @
!@@!!$ @
!:!$@
::.: :$ @
@@
@
@@@@@@@$@
@!!$ @
@!!$ @
!!:$ @
:$ @
@@
@
@@@ @@@$@
@@! @@@$@
@!@ !@!$@
!!: !!!$@
:.:: :$ @
@@
@
@@@ @@@$@
@@! @@@$@
@!@ !@!$@
!: .:!$ @
::$ @
@@
@
@@@ @@@ @@@$@
@@! @@! @@!$@
@!! !!@ @!@$@
!: !!: !!$ @
::.: :::$ @
@@
@
@@@ @@@$@
@@! !@@$@
!@@!@!$ @
!: :!!$ @
::: :::$@
@@
@
@@@ @@@$@
@@! !@@$@
!@!@!$ @
!!:$ @
.:$ @
@@
@
@@@@@@@@$@
@@!$@
@!!$ @
!!:$ @
:.::.: :$@
@@
@@@@@$@
@@@$ @
@@!$ @
!!@$ @
!!!$ @
:!:$ @
: :.:$@@
@@@$ @
@@@$ @
@@!$ @
!!@$ @
!!!$ @
:!:$ @
: :$@@
@@@@@$@
@@@$@
@@!$@
!!@$@
!!!$@
:!:$@
:.: :$@@
@
@@@@$ @
@!@ !@@$@
$ @
$ @
$ @
@@
@
$ @
$ @
$ @
$ @
.......$ @
: :: : :$@@
@
@@@$@
!@$@
$ @
$ @
$ @
@@
@
@@@@@@$ @
@@! @@@$@
@!@!@!@!$@
!!: !!!$@
: : :$@
@@
@
@@@@@@@$ @
@@! @@@$@
@!@!@!@$ @
!!: !!!$@
:: : ::$ @
@@
@
@@@@@@@$@
!@@$ @
!@!$ @
:!!$ @
:: :: :$@
@@
@
@@@@@@@$ @
@@! @@@$@
@!@ !@!$@
!!: !!!$@
:: : :$ @
@@
@
@@@@@@@@$@
@@!$ @
@!!!:!$ @
!!:$ @
: :: ::$ @
@@
@
@@@@@@@@$@
@@!$ @
@!!!:!$ @
!!:$ @
:$ @
@@
@
@@@@@@@$ @
!@@$ @
!@! @!@!@$@
:!! !!:$@
:: :: :$ @
@@
@
@@@ @@@$@
@@! @@@$@
@!@!@!@!$@
!!: !!!$@
: : :$@
@@
@
@@@$@
@@!$@
!!@$@
!!:$@
:$ @
@@
@
@@@$@
@@!$@
!!@$@
. .!!$ @
::.::$ @
@@
@
@@@ @@@$@
@@! !@@$@
@!@@!@!$ @
!!: :!!$ @
: :::$@
@@
@
@@@$ @
@@!$ @
@!!$ @
!!:$ @
: ::.: :$@
@@
@
@@@@@@@@@@$ @
@@! @@! @@!$@
@!! !!@ @!@$@
!!: !!:$@
: :$ @
@@
@
@@@ @@@$@
@@!@!@@@$@
@!@@!!@!$@
!!: !!!$@
:: :$ @
@@
@
@@@@@@$ @
@@! @@@$@
@!@ !@!$@
!!: !!!$@
: :. :$ @
@@
@
@@@@@@@$ @
@@! @@@$@
@!@@!@!$ @
!!:$ @
:$ @
@@
@
@@@@@@$ @
@@! @@@$ @
@!@ !@!$ @
!!:!!:!:$ @
: :. :::$@
@@
@
@@@@@@@$ @
@@! @@@$@
@!@!!@!$ @
!!: :!!$ @
: : :$@
@@
@
@@@@@@$@
!@@$ @
!@@!!$ @
!:!$@
::.: :$ @
@@
@
@@@@@@@$@
@!!$ @
@!!$ @
!!:$ @
:$ @
@@
@
@@@ @@@$@
@@! @@@$@
@!@ !@!$@
!!: !!!$@
:.:: :$ @
@@
@
@@@ @@@$@
@@! @@@$@
@!@ !@!$@
!: .:!$ @
::$ @
@@
@
@@@ @@@ @@@$@
@@! @@! @@!$@
@!! !!@ @!@$@
!: !!: !!$ @
::.: :::$ @
@@
@
@@@ @@@$@
@@! !@@$@
!@@!@!$ @
!: :!!$ @
::: :::$@
@@
@
@@@ @@@$@
@@! !@@$@
!@!@!$ @
!!:$ @
.:$ @
@@
@
@@@@@@@@$@
@@!$@
@!!$ @
!!:$ @
:.::.: :$@
@@
@@@$@
@@@$ @
@@!$ @
!!@$ @
!!!$ @
:!:$ @
: :$@@
@@@$@
@@@$@
@@!$@
$ @
!!!$@
:!:$@
: :$@@
@@@$ @
@@@$ @
@@!$ @
!!@$@
!!!$ @
:!:$ @
: :$ @@
@
@@@ @@$@
@@ @@@$ @
$ @
$ @
$ @
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
`
@@ -0,0 +1,13 @@
import type { ParserServicesWithTypeInformation } from '@typescript-eslint/utils';
import type { InterfaceType, Type } from 'typescript';
export declare function hasBaseTypes(type: Type): type is InterfaceType;
/**
* Recursively checks if a type or any of its base types matches the provided
* matcher function.
* @param services Parser services with type information
* @param matcher Function to test if a type matches the desired criteria
* @param type The type to check
* @param seen Set of already visited types to prevent infinite recursion
* @returns `true` if the type or any of its base types match the matcher
*/
export declare function matchesTypeOrBaseType(services: ParserServicesWithTypeInformation, matcher: (type: Type) => boolean, type: Type, seen?: Set<Type>): boolean;
@@ -0,0 +1 @@
{"version":3,"file":"train-front.js","sources":["../../../src/icons/train-front.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name TrainFront\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzLjFWN2E0IDQgMCAwIDAgOCAwVjMuMSIgLz4KICA8cGF0aCBkPSJtOSAxNS0xLTEiIC8+CiAgPHBhdGggZD0ibTE1IDE1IDEtMSIgLz4KICA8cGF0aCBkPSJNOSAxOWMtMi44IDAtNS0yLjItNS01di00YTggOCAwIDAgMSAxNiAwdjRjMCAyLjgtMi4yIDUtNSA1WiIgLz4KICA8cGF0aCBkPSJtOCAxOS0yIDMiIC8+CiAgPHBhdGggZD0ibTE2IDE5IDIgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/train-front\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 TrainFront = createLucideIcon('TrainFront', [\n ['path', { d: 'M8 3.1V7a4 4 0 0 0 8 0V3.1', key: '1v71zp' }],\n ['path', { d: 'm9 15-1-1', key: '1yrq24' }],\n ['path', { d: 'm15 15 1-1', key: '1t0d6s' }],\n ['path', { d: 'M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z', key: '1p0hjs' }],\n ['path', { d: 'm8 19-2 3', key: '13i0xs' }],\n ['path', { d: 'm16 19 2 3', key: 'xo31yx' }],\n]);\n\nexport default TrainFront;\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,CAA8B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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,CAC3D,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,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC3C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA+D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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,CAC5F,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,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC7C,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,76 @@
{
"name": "magicast",
"version": "0.5.3",
"description": "Modify a JS/TS file and write back magically just like JSON!",
"repository": "unjs/magicast",
"license": "MIT",
"sideEffects": false,
"type": "module",
"exports": {
".": "./dist/index.js",
"./core": "./dist/core.js",
"./helpers": "./dist/helpers.js",
"./package.json": "./package.json"
},
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"dependencies": {
"@babel/parser": "^7.29.3",
"@babel/types": "^7.29.0",
"source-map-js": "^1.2.1"
},
"devDependencies": {
"@types/node": "^25.7.0",
"@vitest/coverage-v8": "^4.1.6",
"@vitest/ui": "^4.1.6",
"ast-types": "^0.16.1",
"bumpp": "^11.1.0",
"eslint": "^9.39.4",
"eslint-config-unjs": "^0.6.2",
"giget": "^3.2.0",
"jiti": "^2.7.0",
"nano-staged": "^1.0.2",
"prettier": "^3.8.3",
"recast": "^0.23.11",
"simple-git-hooks": "^2.13.1",
"source-map": "npm:source-map-js@latest",
"taze": "^19.11.0",
"tsdown": "^0.22.0",
"tsx": "^4.21.0",
"typescript": "^6.0.3",
"vitest": "^4.1.6",
"magicast": "0.5.3"
},
"resolutions": {
"source-map": "npm:source-map-js@latest"
},
"simple-git-hooks": {
"pre-commit": "pnpm nano-staged"
},
"nano-staged": {
"*.{ts,js,mjs,cjs}": [
"eslint --fix",
"prettier -w"
]
},
"inlinedDependencies": {
"recast": "0.23.11",
"source-map-js": "1.2.1"
},
"scripts": {
"build": "tsdown",
"dev": "vitest dev",
"dev:ui": "vitest dev --ui",
"lint": "eslint --cache . && prettier -c .",
"lint:fix": "eslint --cache . --fix && prettier -c . -w",
"typecheck": "tsc --noEmit",
"release": "pnpm run test run && bumpp",
"test": "vitest",
"test:build": "TEST_BUILD=true vitest",
"test:full": "pnpm run test --run && pnpm run build && pnpm run test:build --run"
}
}
@@ -0,0 +1,41 @@
import { F as FormatOptions } from './shared/confbox.9745c98f.mjs';
/**
*
* Converts a [JSONC](https://github.com/microsoft/node-jsonc-parser) string into an object.
*
* @NOTE On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.
*
* @NOTE Comments and trailing commas are not preserved after parsing.
*
* @template T The type of the return value.
* @param text The string to parse as JSONC.
* @param options Parsing options.
* @returns The JavaScript value converted from the JSONC string.
*/
declare function parseJSONC<T = unknown>(text: string, options?: JSONCParseOptions): T;
/**
* Converts a JavaScript value to a [JSONC](https://github.com/microsoft/node-jsonc-parser) string.
*
* @NOTE Comments and trailing commas are not preserved in the output.
*
* @param value
* @param options
* @returns The JSON string converted from the JavaScript value.
*/
declare function stringifyJSONC(value: any, options?: JSONCStringifyOptions): string;
interface JSONCParseOptions extends FormatOptions {
disallowComments?: boolean;
allowTrailingComma?: boolean;
allowEmptyContent?: boolean;
errors?: JSONCParseError[];
}
interface JSONCStringifyOptions extends FormatOptions {
}
interface JSONCParseError {
error: number;
offset: number;
length: number;
}
export { type JSONCParseError, type JSONCParseOptions, type JSONCStringifyOptions, parseJSONC, stringifyJSONC };
@@ -0,0 +1,420 @@
flf2a$ 4 3 11 1 11 0 16769 0
Author :
Date : 2008/8/28 1:12:58
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#
$#
$#
$##
:#
$#
$#
$##
;#
$#
$#
$##
<#
$#
$#
$##
=#
$#
$#
$##
>#
$#
$#
$##
?#
$#
$#
$##
@#
$#
$#
$##
___, $#
(-|_\_,#
_| )$#
( $##
___,$#
(-|_)$#
_|__)#
( $##
____ $#
(-/ `$#
\___,#
$##
____,#
(-| \#
_|__/#
( $##
____,#
(-|_,$#
_|__,#
( $##
____,#
(-|_,$#
_| $#
( $##
____ $#
(-/ `_,#
\___)$#
$##
__ _,#
(-|__| $#
_| |_,#
( $##
____,#
(-| $#
_|__,#
( $##
____,#
(-| $#
_ | $#
(__/ $##
__ _,#
(-|_/ $#
_| \_,#
( $##
__ $#
(-| $#
_|__,#
( $##
_____, $#
(-| | | $#
_| | |_,#
( $##
____, $#
(-| | $#
_| |_,#
( $##
____,#
(-/ \#
\__/#
$##
___,#
(-|_)#
_| $#
( $##
____, $#
(-/ \ $#
\__\_,#
$##
___, $#
(-|_) $#
_| \_,#
( $##
____$#
(-(__`#
____)#
( $##
____,#
(-| $#
_| $#
( $##
__ _,#
(-| | $#
|__|_,#
$##
__ _,#
(-\ | $#
\| $#
$##
__ _,#
(-| | | $#
_|_|_| $#
( $##
_ __,#
(-\_/ $#
_/ \_,$#
( $##
__ _,#
(-\ | $#
\| $#
(__/ $##
___,$#
(- / $#
,/__,#
$##
[#
$#
$#
$##
\#
$#
$#
$##
]#
$#
$#
$##
^#
$#
$#
$##
_#
$#
$#
$##
`#
$#
$#
$##
___, $#
(-|_\_,#
_| )$#
( $##
___,$#
(-|_)$#
_|__)#
( $##
____ $#
(-/ `$#
\___,#
$##
____,#
(-| \#
_|__/#
( $##
____,#
(-|_,$#
_|__,#
( $##
____,#
(-|_,$#
_| $#
( $##
____ $#
(-/ `_,#
\___)$#
$##
__ _,#
(-|__| $#
_| |_,#
( $##
____,#
(-| $#
_|__,#
( $##
____,#
(-| $#
_ | $#
(__/ $##
__ _,#
(-|_/ $#
_| \_,#
( $##
__ $#
(-| $#
_|__,#
( $##
_____, $#
(-| | | $#
_| | |_,#
( $##
____, $#
(-| | $#
_| |_,#
( $##
____,#
(-/ \#
\__/#
$##
___,#
(-|_)#
_| $#
( $##
____, $#
(-/ \ $#
\__\_,#
$##
___, $#
(-|_) $#
_| \_,#
( $##
____$#
(-(__`#
____)#
( $##
____,#
(-| $#
_| $#
( $##
__ _,#
(-| | $#
|__|_,#
$##
__ _,#
(-\ | $#
\| $#
$##
__ _,#
(-| | | $#
_|_|_| $#
( $##
_ __,#
(-\_/ $#
_/ \_,$#
( $##
__ _,#
(-\ | $#
\| $#
(__/ $##
___,$#
(- / $#
,/__,#
$##
{#
$#
$#
$##
|#
$#
$#
$##
}#
$#
$#
$##
~#
$#
$#
$##
___, $#
(-|_\_,$#
_| ) $#
( $##
____,$#
(-/ \$#
\__/$#
$##
__ _,$#
(-| | $#
|__|_,$#
$##
___, $#
(-|_\_,$#
_| ) $#
( $##
____,$#
(-/ \$#
\__/$#
$##
__ _,$#
(-| | $#
|__|_,$#
$##
ß#
$#
$#
$##
@@ -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 SquareArrowOutDownLeft = createLucideIcon("SquareArrowOutDownLeft", [
["path", { d: "M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6", key: "14qz4y" }],
["path", { d: "m3 21 9-9", key: "1jfql5" }],
["path", { d: "M9 21H3v-6", key: "wtvkvv" }]
]);
export { SquareArrowOutDownLeft as default };
//# sourceMappingURL=square-arrow-out-down-left.js.map
@@ -0,0 +1,6 @@
export default {
extends: ['@commitlint/config-conventional'],
rules: {
'body-max-line-length': [0, 'always'],
},
};
@@ -0,0 +1,207 @@
{
"name": "prettier",
"version": "3.9.10",
"description": "Prettier is an opinionated code formatter",
"bin": "./bin/prettier.cjs",
"repository": "prettier/prettier",
"funding": "https://github.com/prettier/prettier?sponsor=1",
"homepage": "https://prettier.io",
"author": "James Long",
"license": "MIT",
"main": "./index.cjs",
"browser": "./standalone.js",
"unpkg": "./standalone.js",
"exports": {
".": {
"types": "./index.d.ts",
"require": "./index.cjs",
"browser": {
"import": "./standalone.mjs",
"default": "./standalone.js"
},
"default": "./index.mjs"
},
"./*": "./*",
"./standalone": {
"types": "./standalone.d.ts",
"require": "./standalone.js",
"default": "./standalone.mjs"
},
"./doc": {
"types": "./doc.d.ts",
"require": "./doc.js",
"default": "./doc.mjs"
},
"./plugins/estree": {
"types": "./plugins/estree.d.ts",
"require": "./plugins/estree.js",
"default": "./plugins/estree.mjs"
},
"./plugins/babel": {
"types": "./plugins/babel.d.ts",
"require": "./plugins/babel.js",
"default": "./plugins/babel.mjs"
},
"./plugins/flow": {
"types": "./plugins/flow.d.ts",
"require": "./plugins/flow.js",
"default": "./plugins/flow.mjs"
},
"./plugins/typescript": {
"types": "./plugins/typescript.d.ts",
"require": "./plugins/typescript.js",
"default": "./plugins/typescript.mjs"
},
"./plugins/acorn": {
"types": "./plugins/acorn.d.ts",
"require": "./plugins/acorn.js",
"default": "./plugins/acorn.mjs"
},
"./plugins/meriyah": {
"types": "./plugins/meriyah.d.ts",
"require": "./plugins/meriyah.js",
"default": "./plugins/meriyah.mjs"
},
"./plugins/angular": {
"types": "./plugins/angular.d.ts",
"require": "./plugins/angular.js",
"default": "./plugins/angular.mjs"
},
"./plugins/postcss": {
"types": "./plugins/postcss.d.ts",
"require": "./plugins/postcss.js",
"default": "./plugins/postcss.mjs"
},
"./plugins/graphql": {
"types": "./plugins/graphql.d.ts",
"require": "./plugins/graphql.js",
"default": "./plugins/graphql.mjs"
},
"./plugins/markdown": {
"types": "./plugins/markdown.d.ts",
"require": "./plugins/markdown.js",
"default": "./plugins/markdown.mjs"
},
"./plugins/glimmer": {
"types": "./plugins/glimmer.d.ts",
"require": "./plugins/glimmer.js",
"default": "./plugins/glimmer.mjs"
},
"./plugins/html": {
"types": "./plugins/html.d.ts",
"require": "./plugins/html.js",
"default": "./plugins/html.mjs"
},
"./plugins/yaml": {
"types": "./plugins/yaml.d.ts",
"require": "./plugins/yaml.js",
"default": "./plugins/yaml.mjs"
},
"./esm/standalone.mjs": "./standalone.mjs",
"./parser-babel": "./plugins/babel.js",
"./parser-babel.js": "./plugins/babel.js",
"./esm/parser-babel.mjs": "./plugins/babel.mjs",
"./parser-flow": "./plugins/flow.js",
"./parser-flow.js": "./plugins/flow.js",
"./esm/parser-flow.mjs": "./plugins/flow.mjs",
"./parser-typescript": "./plugins/typescript.js",
"./parser-typescript.js": "./plugins/typescript.js",
"./esm/parser-typescript.mjs": "./plugins/typescript.mjs",
"./parser-espree": "./plugins/acorn.js",
"./parser-espree.js": "./plugins/acorn.js",
"./esm/parser-espree.mjs": "./plugins/acorn.mjs",
"./parser-meriyah": "./plugins/meriyah.js",
"./parser-meriyah.js": "./plugins/meriyah.js",
"./esm/parser-meriyah.mjs": "./plugins/meriyah.mjs",
"./parser-angular": "./plugins/angular.js",
"./parser-angular.js": "./plugins/angular.js",
"./esm/parser-angular.mjs": "./plugins/angular.mjs",
"./parser-postcss": "./plugins/postcss.js",
"./parser-postcss.js": "./plugins/postcss.js",
"./esm/parser-postcss.mjs": "./plugins/postcss.mjs",
"./parser-graphql": "./plugins/graphql.js",
"./parser-graphql.js": "./plugins/graphql.js",
"./esm/parser-graphql.mjs": "./plugins/graphql.mjs",
"./parser-markdown": "./plugins/markdown.js",
"./parser-markdown.js": "./plugins/markdown.js",
"./esm/parser-markdown.mjs": "./plugins/markdown.mjs",
"./parser-glimmer": "./plugins/glimmer.js",
"./parser-glimmer.js": "./plugins/glimmer.js",
"./esm/parser-glimmer.mjs": "./plugins/glimmer.mjs",
"./parser-html": "./plugins/html.js",
"./parser-html.js": "./plugins/html.js",
"./esm/parser-html.mjs": "./plugins/html.mjs",
"./parser-yaml": "./plugins/yaml.js",
"./parser-yaml.js": "./plugins/yaml.js",
"./esm/parser-yaml.mjs": "./plugins/yaml.mjs"
},
"engines": {
"node": ">=14"
},
"files": [
"LICENSE",
"README.md",
"THIRD-PARTY-NOTICES.md",
"bin/prettier.cjs",
"doc.d.ts",
"doc.js",
"doc.mjs",
"index.cjs",
"index.d.ts",
"index.d.ts",
"index.mjs",
"internal/experimental-cli-worker.mjs",
"internal/experimental-cli.mjs",
"internal/legacy-cli.mjs",
"package.json",
"plugins/acorn.d.ts",
"plugins/acorn.js",
"plugins/acorn.mjs",
"plugins/angular.d.ts",
"plugins/angular.js",
"plugins/angular.mjs",
"plugins/babel.d.ts",
"plugins/babel.js",
"plugins/babel.mjs",
"plugins/estree.d.ts",
"plugins/estree.js",
"plugins/estree.mjs",
"plugins/flow.d.ts",
"plugins/flow.js",
"plugins/flow.mjs",
"plugins/glimmer.d.ts",
"plugins/glimmer.js",
"plugins/glimmer.mjs",
"plugins/graphql.d.ts",
"plugins/graphql.js",
"plugins/graphql.mjs",
"plugins/html.d.ts",
"plugins/html.js",
"plugins/html.mjs",
"plugins/markdown.d.ts",
"plugins/markdown.js",
"plugins/markdown.mjs",
"plugins/meriyah.d.ts",
"plugins/meriyah.js",
"plugins/meriyah.mjs",
"plugins/postcss.d.ts",
"plugins/postcss.js",
"plugins/postcss.mjs",
"plugins/typescript.d.ts",
"plugins/typescript.js",
"plugins/typescript.mjs",
"plugins/yaml.d.ts",
"plugins/yaml.js",
"plugins/yaml.mjs",
"standalone.d.ts",
"standalone.js",
"standalone.mjs"
],
"preferUnplugged": true,
"sideEffects": false,
"type": "commonjs",
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
}
}
@@ -0,0 +1,732 @@
flf2a 7 5 10 -1 17
Alphabet by Wendell Hicken 11/93 (whicken@parasoft.com)
Explanation of first line:
flf2 - "magic number" for file identification
a - should always be `a', for now
$ - the "hardblank" -- prints as a blank, but can't be smushed
6 - height of a character
5 - height of a character, not including descenders
20 - max line length (excluding comment lines) + a fudge factor
15 - default smushmode for this font (like "-m 15" on command line)
12 - number of comment lines
---
Font modified June 17, 2007 by patorjk
This was to widen the space character.
 @
 @
 @
 @
 @
 @
 @@
!!! @
!!! @
!!! @
@
!!! @
@
@@
'' '' @
'' '' @
@
@
@
@
@@
# # @
##### @
# # @
##### @
# # @
@
@@
$ $ @
$$$$$ @
$ $ $ @
$$$$$ @
$ $ $ @
$$$$$ @
$ $ @@
% %% @
%% @
%% @
%% @
%% % @
@
@@
&& @
& & @
&&& &@
& & & @
&&&& @
@
@@
'' @
'' @
@
@
@
@
@@
(( @
(( @
(( @
(( @
(( @
@
@@
)) @
)) @
)) @
)) @
)) @
@
@@
@
* * * @
*** @
***** @
*** @
* * * @
@@
@
+ @
+++ @
+ @
@
@
@@
@
@
@
@
,, @
, @
@@
@
@
--- @
@
@
@
@@
@
@
@
.. @
.. @
@
@@
//@
// @
// @
// @
// @
@
@@
000 @
0 00 @
0 0 0 @
00 0 @
000 @
@
@@
11 @
111 @
11 @
11 @
11l1 @
@
@@
22 @
2 2 @
2 @
2 @
2222 @
@
@@
333 @
3 @
33 @
3 @
333 @
@
@@
4 4 @
4 4 @
4444 @
4 @
4 @
@
@@
5555 @
5 @
555 @
5 @
555 @
@
@@
6 @
6 @
6666 @
6 6 @
666 @
@
@@
77777 @
7 @
7 @
7 @
7 @
@
@@
888 @
8 8 @
888 @
8 8 @
888 @
@
@@
9999 @
9 9 @
9999 @
9 @
9 @
@
@@
@
:: @
@
:: @
@
@
@@
@
;; @
@
;; @
; @
@
@@
<< @
<< @
<< @
<< @
<< @
@
@@
@
=== @
@
=== @
@
@
@@
>> @
>> @
>> @
>> @
>> @
@
@@
??? @
? ? @
? @
? @
? @
@
@@
@@@ @
@ @ @
@ @@ @
@ @
@@@ @
@
@@
AA @
A A @
AAAA @
A A @
A A @
@
@@
BBBB @
B B @
BBBB @
B B @
BBBB @
@
@@
CCC @
C @
C @
C @
CCC @
@
@@
DDD @
D D @
D D @
D D @
DDD @
@
@@
EEEE @
E @
EEE @
E @
EEEE @
@
@@
FFFF @
F @
FFF @
F @
F @
@
@@
GGG @
G @
G GG @
G G @
GGG @
@
@@
H H @
H H @
HHHH @
H H @
H H @
@
@@
III @
I @
I @
I @
III @
@
@@
J @
J @
J @
J J @
JJJ @
@
@@
K K @
K K @
KK @
K K @
K K @
@
@@
L @
L @
L @
L @
LLLL @
@
@@
M M @
MM MM @
M M M @
M M @
M M @
@
@@
N N @
NN N @
N N N @
N NN @
N N @
@
@@
OOO @
O O @
O O @
O O @
OOO @
@
@@
PPPP @
P P @
PPPP @
P @
P @
@
@@
QQQ @
Q Q @
Q Q @
Q QQ @
QQQQ @
Q @
@@
RRRR @
R R @
RRRR @
R R @
R RR @
@
@@
SSS @
S @
SSS @
S @
SSSS @
@
@@
TTTTTT @
TT @
TT @
TT @
TT @
@
@@
U U @
U U @
U U @
U U @
UUU @
@
@@
V V @
V V @
V V @
V V @
V @
@
@@
W W @
W W @
W W W @
W W W @
W W @
@
@@
X X @
X X @
X @
X X @
X X @
@
@@
Y Y @
Y Y @
Y @
Y @
Y @
@
@@
ZZZZZ @
Z @
Z @
Z @
ZZZZZ @
@
@@
[[[[ @
[[ @
[[ @
[[ @
[[[[ @
@
@@
\\ @
\\ @
\\ @
\\ @
\\@
@
@@
]]]] @
]] @
]] @
]] @
]]]] @
@
@@
^^ @
^ ^ @
@
@
@
@
@@
@
@
@
@
____@
____@
@@
`` @
@
@
@
@
@
@@
@
@
aa @
a a @
aaa @
@
@@
b @
b @
bbb @
b b @
bbb @
@
@@
@
@
ccc @
c @
ccc @
@
@@
d @
d @
ddd @
d d @
ddd @
@
@@
@
@
eee @
e e @
ee @
@
@@
ff @
f @
fff @
f @
f @
@
@@
@
@
ggg @
g g @
ggg @
g @
ggg @@
h @
h @
hhh @
h h @
h h @
@
@@
@
ii @
@
ii @
ii @
@
@@
@
j @
@
j @
j @
j j @
jj @@
k @
k k @
kk @
k k @
k k @
@
@@
l @
l @
l @
l @
l @
@
@@
@
@
mmmm @
m m m @
m m m @
@
@@
@
@
nnn @
n n @
n n @
@
@@
@
@
ooo @
o o @
ooo @
@
@@
@
@
ppp @
p p @
ppp @
p @
p @@
@
@
qqq @
q q @
qqq @
q @
qq @@
@
@
rrr @
r @
r @
@
@@
@
@
ss @
s @
ss @
@
@@
t @
t @
ttt @
t @
tt @
@
@@
@
@
u u @
u u @
uuu @
@
@@
@
@
v v @
v v @
v @
@
@@
@
@
w w @
w w w @
w w @
@
@@
@
@
x x @
x @
x x @
@
@@
@
@
y y @
y y @
yyy @
y @
yyy @@
@
@
zz @
z @
zz @
@
@@
{{ @
{{ @
{{ @
{{ @
{{ @
@
@@
||@
||@
||@
||@
||@
||@
@@
}} @
}} @
}} @
}} @
}} @
@
@@
@
~ ~ @
~ ~ @
@
@
@
@@
o o @
AA @
A A @
AAAA @
A A @
@
@@
o o @
OOO @
O O @
O O @
OOO @
@
@@
o o @
U U @
U U @
U U @
UUU @
@
@@
o o @
@
aa @
a a @
aaa @
@
@@
o o @
@
ooo @
o o @
ooo @
@
@@
o o @
@
u u @
u u @
uuu @
@
@@
BBBB @
B B @
BBBB @
B B @
BBBB @
B @
@@
@@ -0,0 +1,184 @@
/**
* These are types for things that are present in the `experimental` builds of React but not yet
* on a stable build.
*
* Once they are promoted to stable they can just be moved to the main index file.
*
* To load the types declared here in an actual project, there are three ways. The easiest one,
* if your `tsconfig.json` already has a `"types"` array in the `"compilerOptions"` section,
* is to add `"react/experimental"` to the `"types"` array.
*
* Alternatively, a specific import syntax can to be used from a typescript file.
* This module does not exist in reality, which is why the {} is important:
*
* ```ts
* import {} from 'react/experimental'
* ```
*
* It is also possible to include it through a triple-slash reference:
*
* ```ts
* /// <reference types="react/experimental" />
* ```
*
* Either the import or the reference only needs to appear once, anywhere in the project.
*/
// See https://github.com/facebook/react/blob/master/packages/react/src/React.js to see how the exports are declared,
// and https://github.com/facebook/react/blob/master/packages/shared/ReactFeatureFlags.js to verify which APIs are
// flagged experimental or not. Experimental APIs will be tagged with `__EXPERIMENTAL__`.
//
// For the inputs of types exported as simply a fiber tag, the `beginWork` function of ReactFiberBeginWork.js
// is a good place to start looking for details; it generally calls prop validation functions or delegates
// all tasks done as part of the render phase (the concurrent part of the React update cycle).
//
// Suspense-related handling can be found in ReactFiberThrow.js.
import React = require("./canary");
export {};
declare const UNDEFINED_VOID_ONLY: unique symbol;
type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never };
declare module "." {
export interface SuspenseProps {
// @enableCPUSuspense
/**
* The presence of this prop indicates that the content is computationally expensive to render.
* In other words, the tree is CPU bound and not I/O bound (e.g. due to fetching data).
* @see {@link https://github.com/facebook/react/pull/19936}
*/
defer?: boolean | undefined;
}
export type SuspenseListRevealOrder = "forwards" | "backwards" | "together" | "independent";
export type SuspenseListTailMode = "collapsed" | "hidden" | "visible";
export interface SuspenseListCommonProps {
}
interface DirectionalSuspenseListProps extends SuspenseListCommonProps {
/**
* Note that SuspenseList require more than one child;
* it is a runtime warning to provide only a single child.
*
* It does, however, allow those children to be wrapped inside a single
* level of `<React.Fragment>`.
*/
children: Iterable<ReactElement> | AsyncIterable<ReactElement>;
/**
* Defines the order in which the `SuspenseList` children should be revealed.
* @default "forwards"
*/
revealOrder?: "forwards" | "backwards" | "unstable_legacy-backwards" | undefined;
/**
* Dictates how unloaded items in a SuspenseList is shown.
*
* - `collapsed` shows only the next fallback in the list.
* - `hidden` doesn't show any unloaded items.
* - `visible` shows all fallbacks in the list.
*
* @default "hidden"
*/
tail?: SuspenseListTailMode | undefined;
}
interface NonDirectionalSuspenseListProps extends SuspenseListCommonProps {
children: ReactNode;
/**
* Defines the order in which the `SuspenseList` children should be revealed.
*/
revealOrder: Exclude<SuspenseListRevealOrder, DirectionalSuspenseListProps["revealOrder"]>;
/**
* The tail property is invalid when not using the `forwards` or `backwards` reveal orders.
*/
tail?: never;
}
export type SuspenseListProps = DirectionalSuspenseListProps | NonDirectionalSuspenseListProps;
/**
* `SuspenseList` helps coordinate many components that can suspend by orchestrating the order
* in which these components are revealed to the user.
*
* When multiple components need to fetch data, this data may arrive in an unpredictable order.
* However, if you wrap these items in a `SuspenseList`, React will not show an item in the list
* until previous items have been displayed (this behavior is adjustable).
*
* @see {@link https://reactjs.org/docs/concurrent-mode-reference.html#suspenselist}
* @see {@link https://reactjs.org/docs/concurrent-mode-patterns.html#suspenselist}
*/
export const unstable_SuspenseList: ExoticComponent<SuspenseListProps>;
type Reference = object;
type TaintableUniqueValue = string | bigint | ArrayBufferView;
function experimental_taintUniqueValue(
message: string | undefined,
lifetime: Reference,
value: TaintableUniqueValue,
): void;
function experimental_taintObjectReference(message: string | undefined, object: Reference): void;
// @enableGestureTransition
// Implemented by the specific renderer e.g. `react-dom`.
// Keep in mind that augmented interfaces merge their JSDoc so if you put
// JSDoc here and in the renderer, the IDE will display both.
export interface GestureProvider {}
export interface GestureOptions {
rangeStart?: number | undefined;
rangeEnd?: number | undefined;
}
export type GestureOptionsRequired = {
[P in keyof GestureOptions]-?: NonNullable<GestureOptions[P]>;
};
/** */
export function unstable_startGestureTransition(
provider: GestureProvider,
scope: () => void,
options?: GestureOptions,
): () => void;
interface ViewTransitionProps {
onGestureEnter?: (
timeline: GestureProvider,
options: GestureOptionsRequired,
instance: ViewTransitionInstance,
types: Array<string>,
) => void | (() => void);
onGestureExit?: (
timeline: GestureProvider,
options: GestureOptionsRequired,
instance: ViewTransitionInstance,
types: Array<string>,
) => void | (() => void);
onGestureShare?: (
timeline: GestureProvider,
options: GestureOptionsRequired,
instance: ViewTransitionInstance,
types: Array<string>,
) => void | (() => void);
onGestureUpdate?: (
timeline: GestureProvider,
options: GestureOptionsRequired,
instance: ViewTransitionInstance,
types: Array<string>,
) => void | (() => void);
}
// @enableSrcObject
interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_IMG_SRC_TYPES {
srcObject: Blob;
}
interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_MEDIA_SRC_TYPES {
srcObject: Blob | MediaSource | MediaStream;
}
// @enableOptimisticKey
export const optimisticKey: unique symbol;
interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_KEY_TYPES {
optimisticKey: typeof optimisticKey;
}
}
@@ -0,0 +1,16 @@
import { Env, ErrorHandler, Next, NotFoundHandler } from "./types.js";
import { Context } from "./context.js";
//#region src/compose.d.ts
/**
* Compose middleware functions into a single function based on `koa-compose` package.
*
* @template E - The environment type.
*
* @param {[[Function, unknown], unknown][] | [[Function]][]} middleware - An array of middleware functions and their corresponding parameters.
* @param {ErrorHandler<E>} [onError] - An optional error handler function.
* @param {NotFoundHandler<E>} [onNotFound] - An optional not-found handler function.
*
* @returns {(context: Context, next?: Next) => Promise<Context>} - A composed middleware function.
*/
export declare const compose: <E extends Env = Env>(middleware: [[Function, unknown], unknown][] | [[Function]][], onError?: ErrorHandler<E>, onNotFound?: NotFoundHandler<E>) => ((context: Context, next?: Next) => Promise<Context>);
//#endregion
@@ -0,0 +1 @@
{"version":3,"file":"Scripts.js","names":[],"sources":["../../src/Scripts.tsx"],"sourcesContent":["import { useStore } from '@tanstack/react-store'\nimport { deepEqual } from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Asset } from './Asset'\nimport { useRouter } from './useRouter'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\n/**\n * Render body script tags collected from route matches and SSR manifests.\n * Should be placed near the end of the document body.\n */\nexport const Scripts = () => {\n const router = useRouter()\n const nonce = router.options.ssr?.nonce\n\n const getAssetScripts = (matches: Array<any>) => {\n const assetScripts: Array<RouterManagedTag> = []\n const manifest = router.ssr?.manifest\n\n if (!manifest) {\n return []\n }\n\n matches\n .map((match) => router.looseRoutesById[match.routeId]!)\n .forEach((route) =>\n manifest.routes[route.id]?.assets\n ?.filter((d) => d.tag === 'script')\n .forEach((asset) => {\n assetScripts.push({\n tag: 'script',\n attrs: { ...asset.attrs, nonce },\n children: asset.children,\n } as any)\n }),\n )\n\n return assetScripts\n }\n\n const getScripts = (matches: Array<any>): Array<RouterManagedTag> =>\n (\n matches\n .map((match) => match.scripts!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(\n ({ children, ...script }) =>\n ({\n tag: 'script',\n attrs: {\n ...script,\n suppressHydrationWarning: true,\n nonce,\n },\n children,\n }) satisfies RouterManagedTag,\n )\n\n if (isServer ?? router.isServer) {\n const activeMatches = router.stores.matches.get()\n const assetScripts = getAssetScripts(activeMatches)\n const scripts = getScripts(activeMatches)\n return renderScripts(router, scripts, assetScripts)\n }\n\n // eslint-disable-next-line react-hooks/rules-of-hooks -- condition is static\n const assetScripts = useStore(\n router.stores.matches,\n getAssetScripts,\n deepEqual,\n )\n // eslint-disable-next-line react-hooks/rules-of-hooks -- condition is static\n const scripts = useStore(router.stores.matches, getScripts, deepEqual)\n\n return renderScripts(router, scripts, assetScripts)\n}\n\nfunction renderScripts(\n router: ReturnType<typeof useRouter>,\n scripts: Array<RouterManagedTag>,\n assetScripts: Array<RouterManagedTag>,\n) {\n let serverBufferedScript: RouterManagedTag | undefined = undefined\n\n if (router.serverSsr) {\n serverBufferedScript = router.serverSsr.takeBufferedScripts()\n }\n\n const allScripts = [...scripts, ...assetScripts] as Array<RouterManagedTag>\n\n if (serverBufferedScript) {\n allScripts.unshift(serverBufferedScript)\n }\n\n return (\n <>\n {allScripts.map((asset, i) => (\n <Asset {...asset} key={`tsr-scripts-${asset.tag}-${i}`} />\n ))}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;AAWA,IAAa,gBAAgB;CAC3B,MAAM,SAAS,WAAW;CAC1B,MAAM,QAAQ,OAAO,QAAQ,KAAK;CAElC,MAAM,mBAAmB,YAAwB;EAC/C,MAAM,eAAwC,EAAE;EAChD,MAAM,WAAW,OAAO,KAAK;AAE7B,MAAI,CAAC,SACH,QAAO,EAAE;AAGX,UACG,KAAK,UAAU,OAAO,gBAAgB,MAAM,SAAU,CACtD,SAAS,UACR,SAAS,OAAO,MAAM,KAAK,QACvB,QAAQ,MAAM,EAAE,QAAQ,SAAS,CAClC,SAAS,UAAU;AAClB,gBAAa,KAAK;IAChB,KAAK;IACL,OAAO;KAAE,GAAG,MAAM;KAAO;KAAO;IAChC,UAAU,MAAM;IACjB,CAAQ;IACT,CACL;AAEH,SAAO;;CAGT,MAAM,cAAc,YAEhB,QACG,KAAK,UAAU,MAAM,QAAS,CAC9B,KAAK,EAAE,CACP,OAAO,QAAQ,CAClB,KACC,EAAE,UAAU,GAAG,cACb;EACC,KAAK;EACL,OAAO;GACL,GAAG;GACH,0BAA0B;GAC1B;GACD;EACD;EACD,EACJ;AAEH,KAAI,YAAY,OAAO,UAAU;EAC/B,MAAM,gBAAgB,OAAO,OAAO,QAAQ,KAAK;EACjD,MAAM,eAAe,gBAAgB,cAAc;AAEnD,SAAO,cAAc,QADL,WAAW,cAAc,EACH,aAAa;;CAIrD,MAAM,eAAe,SACnB,OAAO,OAAO,SACd,iBACA,UACD;AAID,QAAO,cAAc,QAFL,SAAS,OAAO,OAAO,SAAS,YAAY,UAAU,EAEhC,aAAa;;AAGrD,SAAS,cACP,QACA,SACA,cACA;CACA,IAAI,uBAAqD,KAAA;AAEzD,KAAI,OAAO,UACT,wBAAuB,OAAO,UAAU,qBAAqB;CAG/D,MAAM,aAAa,CAAC,GAAG,SAAS,GAAG,aAAa;AAEhD,KAAI,qBACF,YAAW,QAAQ,qBAAqB;AAG1C,QACE,oBAAA,UAAA,EAAA,UACG,WAAW,KAAK,OAAO,MACtB,8BAAC,OAAD;EAAO,GAAI;EAAO,KAAK,eAAe,MAAM,IAAI,GAAG;EAAO,CAAA,CAC1D,EACD,CAAA"}
@@ -0,0 +1 @@
import"../../get-pipe-path-BHW2eJdv.mjs";import{r as j}from"../../register-CFH5oNdT.mjs";import{t as l}from"../../require-DQxpCAr4.mjs";import"module";import"node:path";import"../../temporary-directory-CwHp0_NW.mjs";import"node:os";import"node:module";import"node:url";import"get-tsconfig";import"node:fs";import"../../index-7AaEi15b.mjs";import"esbuild";import"node:crypto";import"../../client-BQVF1NaW.mjs";import"node:net";import"node:util";import"../../index-gbaejti9.mjs";export{j as register,l as require};
@@ -0,0 +1,14 @@
// Copyright 2017 Lovell Fuller and others.
// SPDX-License-Identifier: Apache-2.0
export const GLIBC: 'glibc';
export const MUSL: 'musl';
export function family(): Promise<string | null>;
export function familySync(): string | null;
export function isNonGlibcLinux(): Promise<boolean>;
export function isNonGlibcLinuxSync(): boolean;
export function version(): Promise<string | null>;
export function versionSync(): string | null;
@@ -0,0 +1,826 @@
flf2a$ 8 6 15 -1 9
nancyj-underlined.flf
named after the login of a woman who asked me to make her a
sig. this is the font that came out of it. this is my first
attempt at a figlet font, so leave me alone.
vampyr@acs.bu.edu
$$ @
$$ @
$$ @
$$ @
$$ @
$$ @
ooo@
$$ @@
dP @
88 @
88 @
dP @
@
oo @
ooo@
@@
dP dP @
dP dP @
@
@
@
@
oooooo@
@@
@
dP dP @
8888888 @
88 88 @
8888888 @
dP dP @
oooooooo@
@@
# # @
.d8888P' @
Y8#oo#o. @
# #88 @
`88888P' @
# # @
ooooooooo@
@@
d8P dP @
8 8 d8' @
Y8P d8' @
d8' d8P @
d8' 8 8 @
88 Y8P @
ooooooooooo@
@@
d88b @
8`'8 @
d8b @
d8P`8b @
d8' `8bP @
`888P'`YP @
ooooooooooo@
@@
d8 @
88 @
.P @
@
@
@
ooo@
@@
a88P @
d8' @
88 @
88 @
Y8. @
Y88b @
oooooo@
@@
Y88o @
`8b @
88 @
88 @
.8P @
d88Y @
oooooo@
@@
dP @
8b. 88 .d8 @
`8b88d8' @
.8P88Y8. @
8P' 88 `Y8 @
dP @
ooooooooooo@
@@
@
dP @
88 @
88888888 @
88 @
dP @
ooooooooo@
@@
@
@
@
@
dP @
88 @
~.P~@
@@
@
@
@
88888888 @
@
@
ooooooooo@
@@
@
@
@
@
dP @
88 @
ooo@
@@
d8' @
d8' @
d8' @
d8' @
d8' @
88 @
ooooooooo@
@@
a8888a @
d8' ..8b @
88 .P 88 @
88 d' 88 @
Y8'' .8P @
Y8888P @
ooooooooo@
@@
d88 @
88 @
88 @
88 @
88 @
d88P @
ooooo@
@@
d8888b. @
`88 @
.aaadP' @
88' @
88. @
Y88888P @
oooooooo@
@@
d8888b. @
`88 @
aaad8' @
`88 @
.88 @
d88888P @
oooooooo@
@@
dP dP @
88 88 @
88aaa88 @
88 @
88 @
dP @
oooooooo@
@@
888888P @
88' @
88baaa. @
`88 @
88 @
d88888P @
oooooooo@
@@
.d8888P @
88' @
88baaa. @
88` `88 @
8b. .d8 @
`Y888P' @
oooooooo@
@@
d88888P @
d8' @
d8' @
d8' @
d8' @
d8' @
oooooooo@
@@
.d888b. @
Y8' `8P @
d8bad8b @
88` `88 @
8b. .88 @
Y88888P @
oooooooo@
@@
.d888b. @
Y8' `88 @
`8bad88 @
`88 @
d. .88 @
`8888P @
oooooooo@
@@
dP @
88 @
@
@
dP @
88 @
ooo@
@@
dP @
88 @
@
@
dP @
88 @
~.P~@
@@
d8 @
d8' @
d8' @
Y8. @
Y8. @
Y8 @
oooooo@
@@
@
@
aaaaaaaa @
@
88888888 @
@
ooooooooo@
@@
8b @
`8b @
`8b @
.8P @
.8P @
8P @
ooooo@
@@
.d8888ba @
`8' `8b @
.d8' @
d8P' @
"" @
oo @
oooooooooo@
@@
a88888b. @
d8' `88 @
88 d8P 88 @
88 Yo8b88 @
Y8. @
Y88888P' @
oooooooooo@
@@
.d888888 @
d8' 88 @
88aaaaa88a @
88 88 @
88 88 @
88 88 @
ooooooooooo@
@@
888888ba @
88 `8b @
a88aaaa8P' @
88 `8b. @
88 .88 @
88888888P @
ooooooooooo@
@@
a88888b. @
d8' `88 @
88 @
88 @
Y8. .88 @
Y88888P' @
oooooooooo@
@@
888888ba @
88 `8b @
88 88 @
88 88 @
88 .8P @
8888888P @
oooooooooo@
@@
88888888b @
88 @
a88aaaa @
88 @
88 @
88888888P @
ooooooooooo@
@@
88888888b @
88 @
a88aaaa @
88 @
88 @
dP @
ooooooooooo@
@@
.88888. @
d8' `88 @
88 @
88 YP88 @
Y8. .88 @
`88888' @
oooooooooo@
@@
dP dP @
88 88 @
88aaaaa88a @
88 88 @
88 88 @
dP dP @
ooooooooooo@
@@
dP @
88 @
88 @
88 @
88 @
dP @
ooo@
@@
dP @
88 @
88 @
88 @
88. .d8P @
`Y8888' @
oooooooooo@
@@
dP dP @
88 .d8' @
88aaa8P' @
88 `8b. @
88 88 @
dP dP @
oooooooooo@
@@
dP @
88 @
88 @
88 @
88 @
88888888P @
oooooooooo@
@@
8888ba.88ba @
88 `8b `8b @
88 88 88 @
88 88 88 @
88 88 88 @
dP dP dP @
ooooooooooooo@
@@
888888ba @
88 `8b @
88 88 @
88 88 @
88 88 @
dP dP @
oooooooooo@
@@
.88888. @
d8' `8b @
88 88 @
88 88 @
Y8. .8P @
`8888P' @
oooooooooo@
@@
888888ba @
88 `8b @
a88aaaa8P' @
88 @
88 @
dP @
ooooooooooo@
@@
.88888. @
d8' `8b @
88 88 @
88 db 88 @
Y8. Y88P @
`8888PY8b @
ooooooooooo@
@@
888888ba @
88 `8b @
a88aaaa8P' @
88 `8b. @
88 88 @
dP dP @
ooooooooooo@
@@
.d88888b @
88. "' @
`Y88888b. @
`8b @
d8' .8P @
Y88888P @
oooooooooo@
@@
d888888P @
88 @
88 @
88 @
88 @
dP @
ooooooooo@
@@
dP dP @
88 88 @
88 88 @
88 88 @
Y8. .8P @
`Y88888P' @
oooooooooo@
@@
dP dP @
88 88 @
88 .8P @
88 d8' @
88 .d8P @
888888' @
oooooooooo@
@@
dP dP dP @
88 88 88 @
88 .8P .8P @
88 d8' d8' @
88.d8P8.d8P @
8888' Y88' @
ooooooooooooo@
@@
dP dP @
Y8. .8P @
Y8aa8P @
d8' `8b @
88 88 @
dP dP @
ooooooooo@
@@
dP dP @
Y8. .8P @
Y8aa8P @
88 @
88 @
dP @
ooooooooo@
@@
d8888888P @
.d8' @
.d8' @
.d8' @
d8' @
Y8888888P @
oooooooooo@
@@
8888P @
88 @
88 @
88 @
88 @
88888 @
oooooo@
@@
Yb @
`Yb @
`Yb @
`Yb @
`Yb @
88 @
oooooooo@
@@
d8888 @
88 @
88 @
88 @
88 @
88888 @
oooooo@
@@
db @
d8'`8b @
`" "' @
@
@
@
ooooooooo@
@@
@
@
@
@
@
@
vvvvvvvvvvv @
""""""""""" @@
dP @
88 @
Y. @
@
@
@
ooo@
@@
@
@
.d8888b. @
88' `88 @
88. .88 @
`88888P8 @
ooooooooo@
@@
dP @
88 @
88d888b. @
88' `88 @
88. .88 @
88Y8888' @
ooooooooo@
@@
@
@
.d8888b. @
88' `"" @
88. ... @
`88888P' @
ooooooooo@
@@
dP @
88 @
.d888b88 @
88' `88 @
88. .88 @
`88888P8 @
ooooooooo@
@@
@
@
.d8888b. @
88ooood8 @
88. ... @
`88888P' @
ooooooooo@
@@
.8888b @
88 " @
88aaa @
88 @
88 @
dP @
ooooooo@
@@
@
@
.d8888b. @
88' `88 @
88. .88 @
`8888P88 @
o~~~~.88~@
d8888P @@
dP @
88 @
88d888b. @
88' `88 @
88 88 @
dP dP @
ooooooooo@
@@
oo @
@
dP @
88 @
88 @
dP @
ooo@
@@
oo @
@
dP @
88 @
88 @
88 @
88~@
dP @@
dP @
88 @
88 .dP @
88888" @
88 `8b. @
dP `YP @
ooooooooo@
@@
dP @
88 @
88 @
88 @
88 @
dP @
ooo@
@@
@
@
88d8b.d8b. @
88'`88'`88 @
88 88 88 @
dP dP dP @
ooooooooooo@
@@
@
@
88d888b. @
88' `88 @
88 88 @
dP dP @
ooooooooo@
@@
@
@
.d8888b. @
88' `88 @
88. .88 @
`88888P' @
ooooooooo@
@@
@
@
88d888b. @
88' `88 @
88. .88 @
88Y888P' @
~88~oooooo@
dP @@
@
@
.d8888b. @
88' `88 @
88. .88 @
`8888P88 @
ooooo~88~@
dP @@
@
@
88d888b. @
88' `88 @
88 @
dP @
ooooooooo@
@@
@
@
.d8888b. @
Y8ooooo. @
88 @
`88888P' @
ooooooooo@
@@
dP @
88 @
d8888P @
88 @
88 @
dP @
ooooooo@
@@
@
@
dP dP @
88 88 @
88. .88 @
`88888P' @
ooooooooo@
@@
@
@
dP .dP @
88 d8' @
88 .88' @
8888P' @
ooooooooo@
@@
@
@
dP dP dP @
88 88 88 @
88.88b.88' @
8888P Y8P @
ooooooooooo@
@@
@
@
dP. .dP @
`8bd8' @
.d88b. @
dP' `dP @
ooooooooo@
@@
@
@
dP dP @
88 88 @
88. .88 @
`8888P88 @
o~~~~.88~@
d8888P @@
@
@
d888888b @
.d8P' @
.Y8P @
d888888P @
ooooooooo@
@@
.d88P @
8: @
.oY8. @
d8 @
8: @
`Y88b @
oooooooo@
@@
dP @
88 @
"' @
dP @
88 @
"' @
ooo@
@@
d88b. @
:8 @
.8Yo. @
8b @
:8 @
Y88P' @
oooooooo@
@@
.oo. .d @
dP" "d8P @
@
@
@
@
oooooooooo@
@@
@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@
@@
@@ -0,0 +1,171 @@
# htmlparser2
[![NPM version](https://img.shields.io/npm/v/htmlparser2.svg)](https://npmjs.org/package/htmlparser2)
[![Downloads](https://img.shields.io/npm/dm/htmlparser2.svg)](https://npmjs.org/package/htmlparser2)
[![Node.js CI](https://github.com/fb55/htmlparser2/actions/workflows/nodejs-test.yml/badge.svg)](https://github.com/fb55/htmlparser2/actions/workflows/nodejs-test.yml)
[![Coverage](https://img.shields.io/coveralls/fb55/htmlparser2.svg)](https://coveralls.io/r/fb55/htmlparser2)
The fast & forgiving HTML/XML parser.
_htmlparser2 is [the fastest HTML parser](#performance), and takes some shortcuts to get there. If you need strict HTML spec compliance, have a look at [parse5](https://github.com/inikulin/parse5)._
## Installation
npm install htmlparser2
A live demo of `htmlparser2` is available [on AST Explorer](https://astexplorer.net/#/2AmVrGuGVJ).
## Ecosystem
| Name | Description |
| ------------------------------------------------------------- | ------------------------------------------------------- |
| [htmlparser2](https://github.com/fb55/htmlparser2) | Fast & forgiving HTML/XML parser |
| [domhandler](https://github.com/fb55/domhandler) | Handler for htmlparser2 that turns documents into a DOM |
| [domutils](https://github.com/fb55/domutils) | Utilities for working with domhandler's DOM |
| [css-select](https://github.com/fb55/css-select) | CSS selector engine, compatible with domhandler's DOM |
| [cheerio](https://github.com/cheeriojs/cheerio) | The jQuery API for domhandler's DOM |
| [dom-serializer](https://github.com/cheeriojs/dom-serializer) | Serializer for domhandler's DOM |
## Usage
`htmlparser2` itself provides a callback interface that allows consumption of documents with minimal allocations.
For a more ergonomic experience, read [Getting a DOM](#getting-a-dom) below.
```js
import * as htmlparser2 from "htmlparser2";
const parser = new htmlparser2.Parser({
onopentag(name, attributes) {
/*
* This fires when a new tag is opened.
*
* If you don't need an aggregated `attributes` object,
* have a look at the `onopentagname` and `onattribute` events.
*/
if (name === "script" && attributes.type === "text/javascript") {
console.log("JS! Hooray!");
}
},
ontext(text) {
/*
* Fires whenever a section of text was processed.
*
* Note that this can fire at any point within text and you might
* have to stitch together multiple pieces.
*/
console.log("-->", text);
},
onclosetag(tagname) {
/*
* Fires when a tag is closed.
*
* You can rely on this event only firing when you have received an
* equivalent opening tag before. Closing tags without corresponding
* opening tags will be ignored.
*/
if (tagname === "script") {
console.log("That's it?!");
}
},
});
parser.write(
"Xyz <script type='text/javascript'>const foo = '<<bar>>';</script>",
);
parser.end();
```
Output (with multiple text events combined):
```
--> Xyz
JS! Hooray!
--> const foo = '<<bar>>';
That's it?!
```
This example only shows three of the possible events.
Read more about the parser, its events and options in the [wiki](https://github.com/fb55/htmlparser2/wiki/Parser-options).
### Usage with streams
While the `Parser` interface closely resembles Node.js streams, it's not a 100% match.
Use the `WritableStream` interface to process a streaming input:
```js
import { WritableStream } from "htmlparser2/lib/WritableStream";
const parserStream = new WritableStream({
ontext(text) {
console.log("Streaming:", text);
},
});
const htmlStream = fs.createReadStream("./my-file.html");
htmlStream.pipe(parserStream).on("finish", () => console.log("done"));
```
## Getting a DOM
The `DomHandler` produces a DOM (document object model) that can be manipulated using the [`DomUtils`](https://github.com/fb55/DomUtils) helper.
```js
import * as htmlparser2 from "htmlparser2";
const dom = htmlparser2.parseDocument(htmlString);
```
The `DomHandler`, while still bundled with this module, was moved to its [own module](https://github.com/fb55/domhandler).
Have a look at that for further information.
## Parsing Feeds
`htmlparser2` makes it easy to parse RSS, RDF and Atom feeds, by providing a `parseFeed` method:
```javascript
const feed = htmlparser2.parseFeed(content, options);
```
## Performance
After having some artificial benchmarks for some time, **@AndreasMadsen** published his [`htmlparser-benchmark`](https://github.com/AndreasMadsen/htmlparser-benchmark), which benchmarks HTML parses based on real-world websites.
At the time of writing, the latest versions of all supported parsers show the following performance characteristics on GitHub Actions (sourced from [here](https://github.com/AndreasMadsen/htmlparser-benchmark/blob/e78cd8fc6c2adac08deedd4f274c33537451186b/stats.txt)):
```
htmlparser2 : 2.17215 ms/file ± 3.81587
node-html-parser : 2.35983 ms/file ± 1.54487
html5parser : 2.43468 ms/file ± 2.81501
neutron-html5parser: 2.61356 ms/file ± 1.70324
htmlparser2-dom : 3.09034 ms/file ± 4.77033
html-dom-parser : 3.56804 ms/file ± 5.15621
libxmljs : 4.07490 ms/file ± 2.99869
htmljs-parser : 6.15812 ms/file ± 7.52497
parse5 : 9.70406 ms/file ± 6.74872
htmlparser : 15.0596 ms/file ± 89.0826
html-parser : 28.6282 ms/file ± 22.6652
saxes : 45.7921 ms/file ± 128.691
html5 : 120.844 ms/file ± 153.944
```
## How does this module differ from [node-htmlparser](https://github.com/tautologistics/node-htmlparser)?
In 2011, this module started as a fork of the `htmlparser` module.
`htmlparser2` was rewritten multiple times and, while it maintains an API that's mostly compatible with `htmlparser`, the projects don't share any code anymore.
The parser now provides a callback interface inspired by [sax.js](https://github.com/isaacs/sax-js) (originally targeted at [readabilitySAX](https://github.com/fb55/readabilitysax)).
As a result, old handlers won't work anymore.
The `DefaultHandler` was renamed to clarify its purpose (to `DomHandler`). The old name is still available when requiring `htmlparser2` and your code should work as expected.
The `RssHandler` was replaced with a `getFeed` function that takes a `DomHandler` DOM and returns a feed object. There is a `parseFeed` helper function that can be used to parse a feed from a string.
## Security contact information
To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security).
Tidelift will coordinate the fix and disclosure.
## `htmlparser2` for enterprise
Available as part of the Tidelift Subscription.
The maintainers of `htmlparser2` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-htmlparser2?utm_source=npm-htmlparser2&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
@@ -0,0 +1,11 @@
/**
Merges "own" properties from a source to a destination object, including non-enumerable and accessor-defined properties. It retains original values and descriptors, ensuring the destination receives a complete and accurate copy of the source's properties.
@param destination - The object to receive properties.
@param source - The object providing properties.
@param overwrite - Optional boolean to control overwriting of existing properties. Defaults to true.
@returns The modified destination object.
*/
declare function mergeDescriptors<T, U>(destination: T, source: U, overwrite?: boolean): T & U;
export = mergeDescriptors;
@@ -0,0 +1,34 @@
export {};
type _AbortController = typeof globalThis extends { onmessage: any } ? {} : AbortController;
interface AbortController {
readonly signal: AbortSignal;
abort(reason?: any): void;
}
type _AbortSignal = typeof globalThis extends { onmessage: any } ? {} : AbortSignal;
interface AbortSignal extends EventTarget {
readonly aborted: boolean;
onabort: ((this: AbortSignal, ev: Event) => any) | null;
readonly reason: any;
throwIfAborted(): void;
}
declare global {
interface AbortController extends _AbortController {}
var AbortController: typeof globalThis extends { onmessage: any; AbortController: infer T } ? T
: {
prototype: AbortController;
new(): AbortController;
};
interface AbortSignal extends _AbortSignal {}
var AbortSignal: typeof globalThis extends { onmessage: any; AbortSignal: infer T } ? T
: {
prototype: AbortSignal;
new(): AbortSignal;
abort(reason?: any): AbortSignal;
any(signals: AbortSignal[]): AbortSignal;
timeout(milliseconds: number): AbortSignal;
};
}
@@ -0,0 +1,184 @@
'use strict';
const WIN_SLASH = '\\\\/';
const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
const DEFAULT_MAX_EXTGLOB_RECURSION = 0;
/**
* Posix glob regex
*/
const DOT_LITERAL = '\\.';
const PLUS_LITERAL = '\\+';
const QMARK_LITERAL = '\\?';
const SLASH_LITERAL = '\\/';
const ONE_CHAR = '(?=.)';
const QMARK = '[^/]';
const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
const START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
const NO_DOT = `(?!${DOT_LITERAL})`;
const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
const STAR = `${QMARK}*?`;
const SEP = '/';
const POSIX_CHARS = {
DOT_LITERAL,
PLUS_LITERAL,
QMARK_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
QMARK,
END_ANCHOR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK_NO_DOT,
STAR,
START_ANCHOR,
SEP
};
/**
* Windows glob regex
*/
const WINDOWS_CHARS = {
...POSIX_CHARS,
SLASH_LITERAL: `[${WIN_SLASH}]`,
QMARK: WIN_NO_SLASH,
STAR: `${WIN_NO_SLASH}*?`,
DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
NO_DOT: `(?!${DOT_LITERAL})`,
NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
END_ANCHOR: `(?:[${WIN_SLASH}]|$)`,
SEP: '\\'
};
/**
* POSIX Bracket Regex
*/
const POSIX_REGEX_SOURCE = {
__proto__: null,
alnum: 'a-zA-Z0-9',
alpha: 'a-zA-Z',
ascii: '\\x00-\\x7F',
blank: ' \\t',
cntrl: '\\x00-\\x1F\\x7F',
digit: '0-9',
graph: '\\x21-\\x7E',
lower: 'a-z',
print: '\\x20-\\x7E ',
punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~',
space: ' \\t\\r\\n\\v\\f',
upper: 'A-Z',
word: 'A-Za-z0-9_',
xdigit: 'A-Fa-f0-9'
};
module.exports = {
DEFAULT_MAX_EXTGLOB_RECURSION,
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE,
// regular expressions
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
// Replace globs with equivalent patterns to reduce parsing time.
REPLACEMENTS: {
__proto__: null,
'***': '*',
'**/**': '**',
'**/**/**': '**'
},
// Digits
CHAR_0: 48, /* 0 */
CHAR_9: 57, /* 9 */
// Alphabet chars.
CHAR_UPPERCASE_A: 65, /* A */
CHAR_LOWERCASE_A: 97, /* a */
CHAR_UPPERCASE_Z: 90, /* Z */
CHAR_LOWERCASE_Z: 122, /* z */
CHAR_LEFT_PARENTHESES: 40, /* ( */
CHAR_RIGHT_PARENTHESES: 41, /* ) */
CHAR_ASTERISK: 42, /* * */
// Non-alphabetic chars.
CHAR_AMPERSAND: 38, /* & */
CHAR_AT: 64, /* @ */
CHAR_BACKWARD_SLASH: 92, /* \ */
CHAR_CARRIAGE_RETURN: 13, /* \r */
CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */
CHAR_COLON: 58, /* : */
CHAR_COMMA: 44, /* , */
CHAR_DOT: 46, /* . */
CHAR_DOUBLE_QUOTE: 34, /* " */
CHAR_EQUAL: 61, /* = */
CHAR_EXCLAMATION_MARK: 33, /* ! */
CHAR_FORM_FEED: 12, /* \f */
CHAR_FORWARD_SLASH: 47, /* / */
CHAR_GRAVE_ACCENT: 96, /* ` */
CHAR_HASH: 35, /* # */
CHAR_HYPHEN_MINUS: 45, /* - */
CHAR_LEFT_ANGLE_BRACKET: 60, /* < */
CHAR_LEFT_CURLY_BRACE: 123, /* { */
CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */
CHAR_LINE_FEED: 10, /* \n */
CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */
CHAR_PERCENT: 37, /* % */
CHAR_PLUS: 43, /* + */
CHAR_QUESTION_MARK: 63, /* ? */
CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */
CHAR_RIGHT_CURLY_BRACE: 125, /* } */
CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */
CHAR_SEMICOLON: 59, /* ; */
CHAR_SINGLE_QUOTE: 39, /* ' */
CHAR_SPACE: 32, /* */
CHAR_TAB: 9, /* \t */
CHAR_UNDERSCORE: 95, /* _ */
CHAR_VERTICAL_LINE: 124, /* | */
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */
/**
* Create EXTGLOB_CHARS
*/
extglobChars(chars) {
return {
'!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` },
'?': { type: 'qmark', open: '(?:', close: ')?' },
'+': { type: 'plus', open: '(?:', close: ')+' },
'*': { type: 'star', open: '(?:', close: ')*' },
'@': { type: 'at', open: '(?:', close: ')' }
};
},
/**
* Create GLOB_CHARS
*/
globChars(win32) {
return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
}
};
@@ -0,0 +1,12 @@
//#region src/ssr/ssr-match-id.ts
function dehydrateSsrMatchId(id) {
return id.replaceAll("/", "\0");
}
function hydrateSsrMatchId(id) {
return id.replaceAll("\0", "/").replaceAll("�", "/");
}
//#endregion
exports.dehydrateSsrMatchId = dehydrateSsrMatchId;
exports.hydrateSsrMatchId = hydrateSsrMatchId;
//# sourceMappingURL=ssr-match-id.cjs.map
@@ -0,0 +1,428 @@
export default `flf2a$ 4 3 11 -1 18
3 line vertical font (tilt head to left) font by LESTER
=======================================================
-> Conversion to FigLet font by MEPH. (Part of ASCII Editor Service Pack I)
(http://studenten.freepage.de/meph/ascii/ascii/editor/_index.htm)
-> Defined: ASCII code alphanumeric
-> Uppercase characters only.
.-~~-.
(_^..^_)
Lester||||AMC - Anthony Cucchiara
*Mythos Online : Internet Magazine of Lovecraftian Horror - Dead Alice*
http://www.fortunecity.com/victorian/redlion/157/deadal.htm
*Visit my web page ANSI/ASCII/Fonts*
http://members.aol.com/lester5374/
$@
$@
$@
$@@
@
.:;s ;: @
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
;: @
@
@@
@
@
@
@@
.:;S;:. @
S ./' S @
\`:;S;:' @
@@
. @
.:;s;:: @
\` ' @
@@
.:;. . @
S S S @
\` \`::' @
@@
.:;.;:. @
S S S @
\` ' @
@@
.:;.;:. @
S @
\`:;' @
@@
. .;:. @
S S S @
\`:;' ' @
@@
. .;:. @
S S S @
\`:;;;:' @
@@
.:;. @
S S @
\` \`;:' @
@@
.:;.;:. @
S S S @
\`:;';:' @
@@
.:;;;:. @
S S S @
\`:;' ' @
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
.:;S;:. @
S S @
\`:;S;:' @
@@
.:;.;:. @
S S S @
\`:;S;:' @
@@
@
S S @
\`:;S;:' @
@@
.:;:. @
S S @
\`:;S;:' @
@@
@
S S S @
\`:;S;:' @
@@
@
S S @
\`:;S;:' @
@@
.: ;:. @
S ' S @
\`:;S;:' @
@@
.:;S;:. @
S @
\`:;S;:' @
@@
@
.:;s;:' @
@
@@
.:;.;:. @
S @
:' @
@@
. . @
\`:s:' @
\`:;S;:' @
@@
:. @
S @
\`:;S;:' @
@@
.:;S;:. @
) @
\`:;S;:' @
@@
.:;S;:. @
/ @
\`:;S;:' @
@@
.:;S;:. @
S S @
\`:;S;:' @
@@
.::. @
S S @
\`:;S;:' @
@@
.:;S;:/ @
S S @
\`:;S;:' @
@@
.:;.;:. @
S S @
\`:;S;:' @
@@
.: S;:. @
S S S @
\`:;S :' @
@@
. @
S:;s;:' @
\` @
@@
.:;S;:. @
S @
\`:;S;:' @
@@
.:;S;. @
:: @
\`:;S;' @
@@
.:;S;:. @
( @
\`:;S;:' @
@@
.:;.;:. @
S @
\`:;';:' @
@@
.:;. @
S;;: @
\`::' @
@@
.:;S . @
S S S @
\` S;:' @
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
.:;S;:. @
S S @
\`:;S;:' @
@@
.:;.;:. @
S S S @
\`:;S;:' @
@@
@
S S @
\`:;S;:' @
@@
.:;:. @
S S @
\`:;S;:' @
@@
@
S S S @
\`:;S;:' @
@@
@
S S @
\`:;S;:' @
@@
.: ;:. @
S ' S @
\`:;S;:' @
@@
.:;S;:. @
S @
\`:;S;:' @
@@
@
.:;s;:' @
@
@@
.:;.;:. @
S @
:' @
@@
. . @
\`:s:' @
\`:;S;:' @
@@
:. @
S @
\`:;S;:' @
@@
.:;S;:. @
) @
\`:;S;:' @
@@
.:;S;:. @
/ @
\`:;S;:' @
@@
.:;S;:. @
S S @
\`:;S;:' @
@@
.::. @
S S @
\`:;S;:' @
@@
.:;S;:/ @
S S @
\`:;S;:' @
@@
.:;.;:. @
S S @
\`:;S;:' @
@@
.: S;:. @
S S S @
\`:;S :' @
@@
. @
S:;s;:' @
\` @
@@
.:;S;:. @
S @
\`:;S;:' @
@@
.:;S;. @
:: @
\`:;S;' @
@@
.:;S;:. @
( @
\`:;S;:' @
@@
.:;.;:. @
S @
\`:;';:' @
@@
.:;. @
S;;: @
\`::' @
@@
.:;S . @
S S S @
\` S;:' @
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
`
@@ -0,0 +1,13 @@
"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_sharedmemory = void 0;
const base_config_1 = require("./base-config");
const es2020_bigint_1 = require("./es2020.bigint");
exports.es2020_sharedmemory = {
libs: [es2020_bigint_1.es2020_bigint],
variables: [['Atomics', base_config_1.TYPE]],
};
@@ -0,0 +1,55 @@
{
"name": "mlly",
"version": "1.8.2",
"description": "Missing ECMAScript module utils for Node.js",
"repository": "unjs/mlly",
"license": "MIT",
"sideEffects": false,
"type": "module",
"exports": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
},
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"build": "unbuild",
"dev": "vitest",
"lint": "eslint src test && prettier -c src test",
"lint:fix": "eslint src test --fix && prettier -w src test",
"release": "pnpm test && pnpm build && changelogen --release && npm publish && git push --follow-tags",
"test": "pnpm lint && pnpm test:types && vitest run",
"test:types": "tsc --noEmit"
},
"dependencies": {
"acorn": "^8.16.0",
"pathe": "^2.0.3",
"pkg-types": "^1.3.1",
"ufo": "^1.6.3"
},
"devDependencies": {
"@types/node": "^25.5.0",
"@vitest/coverage-v8": "^4.1.0",
"changelogen": "^0.6.2",
"eslint": "^10.0.3",
"eslint-config-unjs": "^0.6.2",
"import-meta-resolve": "^4.2.0",
"jiti": "^2.6.1",
"prettier": "^3.8.1",
"std-env": "^4.0.0",
"typescript": "^5.9.3",
"unbuild": "^3.6.1",
"vitest": "^4.1.0"
},
"packageManager": "pnpm@10.20.0",
"pnpm": {
"onlyBuiltDependencies": [
"esbuild"
]
}
}
@@ -0,0 +1,6 @@
{
"version": 3,
"sources": ["umd:@jridgewell/sourcemap-codec", "umd:@jridgewell/trace-mapping", "../src/gen-mapping.ts", "../src/set-array.ts", "../src/sourcemap-segment.ts"],
"mappings": "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 truncated
"names": ["module", "module", "cast"]
}
@@ -0,0 +1,2 @@
import type { LibDefinition } from '../variable';
export declare const es2015: LibDefinition;
@@ -0,0 +1 @@
module.exports={C:{"44":0.00366,"115":0.02928,"118":0.00366,"120":0.42456,"121":0.80154,"123":0.02196,"124":0.00732,"125":0.00366,"135":0.00366,"136":0.00732,"140":0.01464,"143":0.00732,"144":0.00366,"146":0.00366,"148":0.00366,"150":0.01098,"151":0.00732,"152":0.34038,"153":0.01464,"154":0.0732,"155":0.13908,"156":0.20862,"157":0.00366,_:"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 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 119 122 126 127 128 129 130 131 132 133 134 137 138 139 141 142 145 147 149 158 159 160 3.5 3.6"},D:{"64":0.00366,"65":0.00366,"66":0.00366,"69":0.00366,"70":0.00366,"79":0.00732,"83":0.00366,"87":0.00366,"92":0.01098,"95":0.00366,"98":0.00366,"101":0.00366,"102":0.00732,"103":0.17568,"104":0.1281,"105":0.12078,"106":0.1281,"107":0.13176,"108":0.13176,"109":0.47946,"110":0.13908,"111":0.13908,"112":0.1281,"113":0.00366,"114":0.01464,"116":0.26718,"117":0.13176,"118":0.65148,"119":0.81618,"120":1.19682,"121":0.01098,"122":0.0549,"123":0.01464,"124":0.13908,"125":0.00366,"126":0.01098,"127":0.01098,"128":0.01464,"129":0.00732,"130":0.01098,"131":0.2928,"132":0.01098,"133":0.35502,"134":0.10248,"135":0.11346,"136":0.11712,"137":0.11712,"138":0.16836,"139":0.1098,"140":0.13908,"141":0.12444,"142":0.37698,"143":0.01464,"144":0.10614,"145":0.0732,"146":0.0732,"147":0.03294,"148":0.13542,"149":0.28914,"150":0.2745,"151":3.13662,"152":6.17442,"153":6.53676,"154":1.22976,"155":0.00732,_:"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 67 68 71 72 73 74 75 76 77 78 80 81 84 85 86 88 89 90 91 93 94 96 97 99 100 115 156 157"},F:{"46":0.00366,"54":0.00366,"55":0.00366,"56":0.00366,"95":0.0366,"100":0.00732,"101":0.01464,"102":0.00732,"105":0.00366,"106":0.00732,"107":0.00366,"114":0.00366,"115":0.00366,"120":0.00366,"133":0.00366,"134":0.08418,"135":0.41358,_:"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 47 48 49 50 51 52 53 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 96 97 98 99 103 104 108 109 110 111 112 113 116 117 118 119 121 122 123 124 125 126 127 131 132 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00732,"115":0.00366,"119":0.3843,"120":0.4026,"122":0.00732,"132":0.00366,"138":0.00732,"139":0.00366,"140":0.00366,"141":0.00366,"142":0.01098,"143":0.00366,"144":0.01098,"145":0.00732,"146":0.00732,"147":0.00732,"148":0.01464,"149":0.02196,"150":0.06222,"151":0.32574,"152":1.17486,"153":1.67628,"154":0.39894,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 121 123 124 125 126 127 128 129 130 131 133 134 135 136 137"},E:{"27":0.1281,_:"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 15.1 15.2-15.3 15.4 16.2 16.4 16.5 17.0 27.1 TP","13.1":0.00732,"14.1":0.00366,"15.5":0.00366,"15.6":0.02196,"16.0":0.00366,"16.1":0.00366,"16.3":0.00366,"16.6":0.0366,"17.1":0.06222,"17.2":0.00366,"17.3":0.00366,"17.4":0.00366,"17.5":0.08418,"17.6":0.04026,"18.0":0.02928,"18.1":0.00366,"18.2":0.00366,"18.3":0.00732,"18.4":0.00366,"18.5-18.7":0.02562,"26.0":0.0183,"26.1":0.03294,"26.2":0.0366,"26.3":0.08418,"26.4":0.02196,"26.5":0.17202,"26.6":1.01016,"27.2":0.01098},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0014,"5.0-5.1":0.0014,"6.0-6.1":0,"7.0-7.1":0.0028,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.01402,"11.0-11.2":0.0014,"11.3-11.4":0.0028,"12.0-12.1":0,"12.2-12.5":0.03645,"13.0-13.1":0,"13.2":0.00701,"13.3":0,"13.4-13.7":0.0014,"14.0-14.4":0.00561,"14.5-14.8":0.00841,"15.0-15.1":0.00841,"15.2-15.3":0.00561,"15.4":0.00701,"15.5":0.00841,"15.6-15.8":0.18223,"16.0":0.01402,"16.1":0.02523,"16.2":0.01402,"16.3":0.03084,"16.4":0.00701,"16.5":0.01121,"16.6-16.7":0.25372,"17.0":0.00981,"17.1":0.01402,"17.2":0.01402,"17.3":0.02103,"17.4":0.02944,"17.5":0.05747,"17.6-17.7":0.14859,"18.0":0.03084,"18.1":0.06168,"18.2":0.08411,"18.3":0.14578,"18.4":0.09112,"18.5-18.7":1.88258,"26.0":0.09112,"26.1":0.09252,"26.2":0.24111,"26.3":0.26073,"26.4":0.19064,"26.5":1.27702,"26.6":7.87937,"27.0":0.60416,"27.1":0,"27.2":0.01542},P:{"21":0.00951,"22":0.02853,"24":0.00951,"26":0.00951,"27":0.00951,"28":0.02853,"29":0.05706,"30":1.06512,_:"4 20 23 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0.03168,"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.30604,_:"10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},N:{_:"10 11"},L:{"0":45.62864},R:{_:"0"},M:{"0":0.0Line truncated
@@ -0,0 +1,86 @@
import { V as isNodeFirstInLine, f as createRule } from "../utils.js";
var jsx_indent_props_default = createRule({
name: "jsx-indent-props",
meta: {
type: "layout",
docs: { description: "Enforce props indentation in JSX" },
fixable: "code",
schema: [{ anyOf: [
{
type: "string",
enum: ["tab", "first"]
},
{ type: "integer" },
{
type: "object",
properties: {
indentMode: { anyOf: [{
type: "string",
enum: ["tab", "first"]
}, { type: "integer" }] },
ignoreTernaryOperator: { type: "boolean" }
},
additionalProperties: false
}
] }],
defaultOptions: [4],
messages: { wrongIndent: "Expected indentation of {{needed}} {{type}} {{characters}} but found {{gotten}}." }
},
create(context, [options]) {
const extraColumnStart = 0;
const line = {
isUsingOperator: false,
currentOperator: false
};
const { indentMode = 4, ignoreTernaryOperator = false } = typeof options === "object" ? options : { indentMode: options };
const indentType = indentMode === "tab" ? "tab" : "space";
const indentSize = indentMode === "first" ? "first" : indentMode === "tab" ? 1 : indentMode;
function getNodeIndent(node) {
let src = context.sourceCode.getText(node, node.loc.start.column + extraColumnStart);
src = src.split("\n")[0];
let regExp;
if (indentType === "space") regExp = /^ +/;
else regExp = /^\t+/;
const indent = regExp.exec(src);
const useOperator = /^[ \t]*:/.test(src) || /^[ \t]*\?/.test(src);
const useBracket = /</.test(src);
line.currentOperator = false;
if (useOperator) {
line.isUsingOperator = true;
line.currentOperator = true;
} else if (useBracket) line.isUsingOperator = false;
return indent ? indent[0].length : 0;
}
function checkNodesIndent(nodes, indent) {
let nestedIndent = indent;
nodes.forEach((node) => {
const nodeIndent = getNodeIndent(node);
if (line.isUsingOperator && !line.currentOperator && indentSize !== "first" && !ignoreTernaryOperator) {
nestedIndent += indentSize;
line.isUsingOperator = false;
}
if (node.type !== "ArrayExpression" && node.type !== "ObjectExpression" && nodeIndent !== nestedIndent && isNodeFirstInLine(context, node)) context.report({
node,
messageId: "wrongIndent",
data: {
needed: nestedIndent,
type: indentType,
characters: nestedIndent === 1 ? "character" : "characters",
gotten: nodeIndent
},
fix(fixer) {
return fixer.replaceTextRange([node.range[0] - node.loc.start.column, node.range[0]], new Array(nestedIndent + 1).join(indentType === "space" ? " " : " "));
}
});
});
}
return { JSXOpeningElement(node) {
if (!node.attributes.length) return;
let propIndent;
if (indentSize === "first") propIndent = node.attributes[0].loc.start.column;
else propIndent = getNodeIndent(node) + indentSize;
checkNodesIndent(node.attributes, propIndent);
} };
}
});
export { jsx_indent_props_default as t };
@@ -0,0 +1 @@
module.exports={A:{A:{"2":"_z","388":"B"},B:{"1":"Q _mG","2":"_5B","129":"O P","513":"_nG _hH"},C:{"1":"_JS","2":"_nL gC _L"},D:{"1":"_KD _3D","2":"_IC","513":"_XJ _rE"},E:{"1":"_dE","2":"_NR","2052":"N SD","3076":"_KB _DE"},F:{"1":"_mH _5N _rD","2":"_gO","513":"_JK"},G:{"1":"_TE","2":"_JI","2052":"oD pD"},H:{"2":"1D"},I:{"1":"I","2":"_G"},J:{"2":"_B"},K:{"2":"_D","513":"H"},L:{"513":"I"},M:{"1":"YC"},N:{"2":"_A"},O:{"2":"bC"},P:{"1":"_U","2":"J"},Q:{"16":"JE"},R:{"513":"KE"},S:{"1":"ME","2":"LE"}},B:6,C:"'SameSite' cookie attribute",D:true};
@@ -0,0 +1,5 @@
import { AllParams, RouteById } from './routeInfo.js';
import { AnyRouter } from './router.js';
import { Expand } from './utils.js';
export type ResolveUseParams<TRouter extends AnyRouter, TFrom, TStrict extends boolean> = TStrict extends false ? AllParams<TRouter['routeTree']> : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['allParams']>;
export type UseParamsResult<TRouter extends AnyRouter, TFrom, TStrict extends boolean, TSelected> = unknown extends TSelected ? ResolveUseParams<TRouter, TFrom, TStrict> : TSelected;
@@ -0,0 +1,83 @@
import nodeos__default from 'node:os';
import './env.D4Lgay0q.js';
import { isCI, isAgent } from 'std-env';
const defaultInclude = ["**/*.{test,spec}.?(c|m)[jt]s?(x)"];
const defaultExclude = ["**/node_modules/**", "**/.git/**"];
const benchmarkConfigDefaults = {
include: ["**/*.{bench,benchmark}.?(c|m)[jt]s?(x)"],
exclude: defaultExclude,
includeSource: [],
reporters: ["default"],
includeSamples: false
};
// These are the generic defaults for coverage. Providers may also set some provider specific defaults.
const coverageConfigDefaults = {
provider: "v8",
enabled: false,
clean: true,
cleanOnRerun: true,
reportsDirectory: "./coverage",
exclude: [],
reportOnFailure: false,
reporter: [
"text",
"html",
"clover",
"json"
],
allowExternal: false,
excludeAfterRemap: false,
processingConcurrency: Math.min(20, nodeos__default.availableParallelism?.() ?? nodeos__default.cpus().length),
ignoreClassMethods: [],
skipFull: false,
watermarks: {
statements: [50, 80],
functions: [50, 80],
branches: [50, 80],
lines: [50, 80]
}
};
const fakeTimersDefaults = {
loopLimit: 1e4,
shouldClearNativeTimers: true
};
const configDefaults = Object.freeze({
allowOnly: !isCI,
isolate: true,
watch: !isCI && process.stdin.isTTY && !isAgent,
globals: false,
environment: "node",
clearMocks: false,
restoreMocks: false,
mockReset: false,
unstubGlobals: false,
unstubEnvs: false,
include: defaultInclude,
exclude: defaultExclude,
teardownTimeout: 1e4,
forceRerunTriggers: ["**/package.json/**", "**/{vitest,vite}.config.*/**"],
update: false,
reporters: [],
silent: false,
hideSkippedTests: false,
api: false,
ui: false,
uiBase: "/__vitest__/",
open: !isCI,
css: { include: [] },
coverage: coverageConfigDefaults,
fakeTimers: fakeTimersDefaults,
maxConcurrency: 5,
dangerouslyIgnoreUnhandledErrors: false,
typecheck: {
checker: "tsc",
include: ["**/*.{test,spec}-d.?(c|m)[jt]s?(x)"],
exclude: defaultExclude
},
slowTestThreshold: 300,
disableConsoleIntercept: false,
detectAsyncLeaks: false
});
export { coverageConfigDefaults as a, defaultInclude as b, configDefaults as c, defaultExclude as d, benchmarkConfigDefaults as e };
@@ -0,0 +1,89 @@
import type {CodeKeywordDefinition, KeywordErrorDefinition} from "../../types"
import type {KeywordCxt} from "../../compile/validate"
import {_, not, getProperty, Name} from "../../compile/codegen"
import {checkMetadata} from "./metadata"
import {checkNullableObject} from "./nullable"
import {typeErrorMessage, typeErrorParams, _JTDTypeError} from "./error"
import {DiscrError, DiscrErrorObj} from "../discriminator/types"
export type JTDDiscriminatorError =
| _JTDTypeError<"discriminator", "object", string>
| DiscrErrorObj<DiscrError.Tag>
| DiscrErrorObj<DiscrError.Mapping>
const error: KeywordErrorDefinition = {
message: (cxt) => {
const {schema, params} = cxt
return params.discrError
? params.discrError === DiscrError.Tag
? `tag "${schema}" must be string`
: `value of tag "${schema}" must be in mapping`
: typeErrorMessage(cxt, "object")
},
params: (cxt) => {
const {schema, params} = cxt
return params.discrError
? _`{error: ${params.discrError}, tag: ${schema}, tagValue: ${params.tag}}`
: typeErrorParams(cxt, "object")
},
}
const def: CodeKeywordDefinition = {
keyword: "discriminator",
schemaType: "string",
implements: ["mapping"],
error,
code(cxt: KeywordCxt) {
checkMetadata(cxt)
const {gen, data, schema, parentSchema} = cxt
const [valid, cond] = checkNullableObject(cxt, data)
gen.if(cond)
validateDiscriminator()
gen.elseIf(not(valid))
cxt.error()
gen.endIf()
cxt.ok(valid)
function validateDiscriminator(): void {
const tag = gen.const("tag", _`${data}${getProperty(schema)}`)
gen.if(_`${tag} === undefined`)
cxt.error(false, {discrError: DiscrError.Tag, tag})
gen.elseIf(_`typeof ${tag} == "string"`)
validateMapping(tag)
gen.else()
cxt.error(false, {discrError: DiscrError.Tag, tag}, {instancePath: schema})
gen.endIf()
}
function validateMapping(tag: Name): void {
gen.if(false)
for (const tagValue in parentSchema.mapping) {
gen.elseIf(_`${tag} === ${tagValue}`)
gen.assign(valid, applyTagSchema(tagValue))
}
gen.else()
cxt.error(
false,
{discrError: DiscrError.Mapping, tag},
{instancePath: schema, schemaPath: "mapping", parentSchema: true}
)
gen.endIf()
}
function applyTagSchema(schemaProp: string): Name {
const _valid = gen.name("valid")
cxt.subschema(
{
keyword: "mapping",
schemaProp,
jtdDiscriminator: schema,
},
_valid
)
return _valid
}
},
}
export default def
@@ -0,0 +1 @@
{"version":3,"file":"cfWorkerProvider-B3dvjU3F.cjs","names":["regex","keywordLocation","declaredDialect"],"sources":["../../../node_modules/.pnpm/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/deep-compare-strict.js","../../../node_modules/.pnpm/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/pointer.js","../../../node_modules/.pnpm/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/dereference.js","../../../node_modules/.pnpm/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/format.js","../../../node_modules/.pnpm/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/ucs2-length.js","../../../node_modules/.pnpm/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/validate.js","../../../node_modules/.pnpm/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/validator.js","../../core-internal/src/validators/cfWorkerProvider.ts"],"sourcesContent":["export function deepCompareStrict(a, b) {\n const typeofa = typeof a;\n if (typeofa !== typeof b) {\n return false;\n }\n if (Array.isArray(a)) {\n if (!Array.isArray(b)) {\n return false;\n }\n const length = a.length;\n if (length !== b.length) {\n return false;\n }\n for (let i = 0; i < length; i++) {\n if (!deepCompareStrict(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n if (typeofa === 'object') {\n if (!a || !b) {\n return a === b;\n }\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n const length = aKeys.length;\n if (length !== bKeys.length) {\n return false;\n }\n for (const k of aKeys) {\n if (!deepCompareStrict(a[k], b[k])) {\n return false;\n }\n }\n return true;\n }\n return a === b;\n}\n","export function encodePointer(p) {\n return encodeURI(escapePointer(p));\n}\nexport function escapePointer(p) {\n return p.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n","import { encodePointer } from './pointer.js';\nexport const schemaKeyword = {\n additionalItems: true,\n unevaluatedItems: true,\n items: true,\n contains: true,\n additionalProperties: true,\n unevaluatedProperties: true,\n propertyNames: true,\n not: true,\n if: true,\n then: true,\n else: true\n};\nexport const schemaArrayKeyword = {\n prefixItems: true,\n items: true,\n allOf: true,\n anyOf: true,\n oneOf: true\n};\nexport const schemaMapKeyword = {\n $defs: true,\n definitions: true,\n properties: true,\n patternProperties: true,\n dependentSchemas: true\n};\nexport const ignoredKeyword = {\n id: true,\n $id: true,\n $ref: true,\n $schema: true,\n $anchor: true,\n $vocabulary: true,\n $comment: true,\n default: true,\n enum: true,\n const: true,\n required: true,\n type: true,\n maximum: true,\n minimum: true,\n exclusiveMaximum: true,\n exclusiveMinimum: true,\n multipleOf: true,\n maxLength: true,\n minLength: true,\n pattern: true,\n format: true,\n maxItems: true,\n minItems: true,\n uniqueItems: true,\n maxProperties: true,\n minProperties: true\n};\nexport let initialBaseURI = typeof self !== 'undefined' &&\n self.location &&\n self.location.origin !== 'null'\n ?\n new URL(self.location.origin + self.location.pathname + location.search)\n : new URL('https://github.com/cfworker');\nexport function dereference(schema, lookup = Object.create(null), baseURI = initialBaseURI, basePointer = '') {\n if (schema && typeof schema === 'object' && !Array.isArray(schema)) {\n const id = schema.$id || schema.id;\n if (id) {\n const url = new URL(id, baseURI.href);\n if (url.hash.length > 1) {\n lookup[url.href] = schema;\n }\n else {\n url.hash = '';\n if (basePointer === '') {\n baseURI = url;\n }\n else {\n dereference(schema, lookup, baseURI);\n }\n }\n }\n }\n else if (schema !== true && schema !== false) {\n return lookup;\n }\n const schemaURI = baseURI.href + (basePointer ? '#' + basePointer : '');\n if (lookup[schemaURI] !== undefined) {\n throw new Error(`Duplicate schema URI \"${schemaURI}\".`);\n }\n lookup[schemaURI] = schema;\n if (schema === true || schema === false) {\n return lookup;\n }\n if (schema.__absolute_uri__ === undefined) {\n Object.defineProperty(schema, '__absolute_uri__', {\n enumerable: false,\n value: schemaURI\n });\n }\n if (schema.$ref && schema.__absolute_ref__ ==Line truncated
@@ -0,0 +1,7 @@
var separatorMatcher = () => {
// no suggestions
return null;
};
export { separatorMatcher as default };
//# sourceMappingURL=feedback.mjs.map