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,7 @@
import type * as errors from "../core/errors.js";
import km from "./km.js";
/** @deprecated Use `km` instead. */
export default function (): { localeError: errors.$ZodErrorMap } {
return km();
}
@@ -0,0 +1,598 @@
/**
* @fileoverview Flat config schema
* @author Nicholas C. Zakas
*/
"use strict";
//-----------------------------------------------------------------------------
// Requirements
//-----------------------------------------------------------------------------
const { normalizeSeverityToNumber } = require("../shared/severity");
//-----------------------------------------------------------------------------
// Type Definitions
//-----------------------------------------------------------------------------
/**
* @typedef ObjectPropertySchema
* @property {Function|string} merge The function or name of the function to call
* to merge multiple objects with this property.
* @property {Function|string} validate The function or name of the function to call
* to validate the value of this property.
*/
//-----------------------------------------------------------------------------
// Helpers
//-----------------------------------------------------------------------------
const ruleSeverities = new Map([
[0, 0],
["off", 0],
[1, 1],
["warn", 1],
[2, 2],
["error", 2],
]);
/**
* Check if a value is a non-null object.
* @param {any} value The value to check.
* @returns {boolean} `true` if the value is a non-null object.
*/
function isNonNullObject(value) {
return typeof value === "object" && value !== null;
}
/**
* Check if a value is a non-null non-array object.
* @param {any} value The value to check.
* @returns {boolean} `true` if the value is a non-null non-array object.
*/
function isNonArrayObject(value) {
return isNonNullObject(value) && !Array.isArray(value);
}
/**
* Check if a value is undefined.
* @param {any} value The value to check.
* @returns {boolean} `true` if the value is undefined.
*/
function isUndefined(value) {
return typeof value === "undefined";
}
/**
* Deeply merges two non-array objects.
* @param {Object} first The base object.
* @param {Object} second The overrides object.
* @param {Map<string, Map<string, Object>>} [mergeMap] Maps the combination of first and second arguments to a merged result.
* @returns {Object} An object with properties from both first and second.
*/
function deepMerge(first, second, mergeMap = new Map()) {
let secondMergeMap = mergeMap.get(first);
if (secondMergeMap) {
const result = secondMergeMap.get(second);
if (result) {
// If this combination of first and second arguments has been already visited, return the previously created result.
return result;
}
} else {
secondMergeMap = new Map();
mergeMap.set(first, secondMergeMap);
}
/*
* First create a result object where properties from the second object
* overwrite properties from the first. This sets up a baseline to use
* later rather than needing to inspect and change every property
* individually.
*/
const result = {
...first,
...second,
};
delete result.__proto__; // eslint-disable-line no-proto -- don't merge own property "__proto__"
// Store the pending result for this combination of first and second arguments.
secondMergeMap.set(second, result);
for (const key of Object.keys(second)) {
// avoid hairy edge case
if (
key === "__proto__" ||
!Object.prototype.propertyIsEnumerable.call(first, key)
) {
continue;
}
const firstValue = first[key];
const secondValue = second[key];
if (isNonArrayObject(firstValue) && isNonArrayObject(secondValue)) {
result[key] = deepMerge(firstValue, secondValue, mergeMap);
} else if (isUndefined(secondValue)) {
result[key] = firstValue;
}
}
return result;
}
/**
* Normalizes the rule options config for a given rule by ensuring that
* it is an array and that the first item is 0, 1, or 2.
* @param {Array|string|number} ruleOptions The rule options config.
* @returns {Array} An array of rule options.
*/
function normalizeRuleOptions(ruleOptions) {
const finalOptions = Array.isArray(ruleOptions)
? ruleOptions.slice(0)
: [ruleOptions];
finalOptions[0] = ruleSeverities.get(finalOptions[0]);
return structuredClone(finalOptions);
}
/**
* Determines if an object has any methods.
* @param {Object} object The object to check.
* @returns {boolean} `true` if the object has any methods.
*/
function hasMethod(object) {
for (const key of Object.keys(object)) {
if (typeof object[key] === "function") {
return true;
}
}
return false;
}
//-----------------------------------------------------------------------------
// Assertions
//-----------------------------------------------------------------------------
/**
* The error type when a rule's options are configured with an invalid type.
*/
class InvalidRuleOptionsError extends Error {
/**
* @param {string} ruleId Rule name being configured.
* @param {any} value The invalid value.
*/
constructor(ruleId, value) {
super(
`Key "${ruleId}": Expected severity of "off", 0, "warn", 1, "error", or 2.`,
);
this.messageTemplate = "invalid-rule-options";
this.messageData = { ruleId, value };
}
}
/**
* Validates that a value is a valid rule options entry.
* @param {string} ruleId Rule name being configured.
* @param {any} value The value to check.
* @returns {void}
* @throws {InvalidRuleOptionsError} If the value isn't a valid rule options.
*/
function assertIsRuleOptions(ruleId, value) {
if (
typeof value !== "string" &&
typeof value !== "number" &&
!Array.isArray(value)
) {
throw new InvalidRuleOptionsError(ruleId, value);
}
}
/**
* The error type when a rule's severity is invalid.
*/
class InvalidRuleSeverityError extends Error {
/**
* @param {string} ruleId Rule name being configured.
* @param {any} value The invalid value.
*/
constructor(ruleId, value) {
super(
`Key "${ruleId}": Expected severity of "off", 0, "warn", 1, "error", or 2.`,
);
this.messageTemplate = "invalid-rule-severity";
this.messageData = { ruleId, value };
}
}
/**
* Validates that a value is valid rule severity.
* @param {string} ruleId Rule name being configured.
* @param {any} value The value to check.
* @returns {void}
* @throws {InvalidRuleSeverityError} If the value isn't a valid rule severity.
*/
function assertIsRuleSeverity(ruleId, value) {
const severity = ruleSeverities.get(value);
if (typeof severity === "undefined") {
throw new InvalidRuleSeverityError(ruleId, value);
}
}
/**
* Validates that a given string is the form pluginName/objectName.
* @param {string} value The string to check.
* @returns {void}
* @throws {TypeError} If the string isn't in the correct format.
*/
function assertIsPluginMemberName(value) {
if (!/[\w\-@$]+(?:\/[\w\-$]+)+$/iu.test(value)) {
throw new TypeError(
`Expected string in the form "pluginName/objectName" but found "${value}".`,
);
}
}
/**
* Validates that a value is an object.
* @param {any} value The value to check.
* @returns {void}
* @throws {TypeError} If the value isn't an object.
*/
function assertIsObject(value) {
if (!isNonNullObject(value)) {
throw new TypeError("Expected an object.");
}
}
/**
* The error type when there's an eslintrc-style options in a flat config.
*/
class IncompatibleKeyError extends Error {
/**
* @param {string} key The invalid key.
*/
constructor(key) {
super(
"This appears to be in eslintrc format rather than flat config format.",
);
this.messageTemplate = "eslintrc-incompat";
this.messageData = { key };
}
}
/**
* The error type when there's an eslintrc-style plugins array found.
*/
class IncompatiblePluginsError extends Error {
/**
* Creates a new instance.
* @param {Array<string>} plugins The plugins array.
*/
constructor(plugins) {
super(
"This appears to be in eslintrc format (array of strings) rather than flat config format (object).",
);
this.messageTemplate = "eslintrc-plugins";
this.messageData = { plugins };
}
}
//-----------------------------------------------------------------------------
// Low-Level Schemas
//-----------------------------------------------------------------------------
/** @type {ObjectPropertySchema} */
const booleanSchema = {
merge: "replace",
validate: "boolean",
};
const ALLOWED_SEVERITIES = new Set(["error", "warn", "off", 2, 1, 0]);
/** @type {ObjectPropertySchema} */
const disableDirectiveSeveritySchema = {
merge(first, second) {
const value = second === void 0 ? first : second;
if (typeof value === "boolean") {
return value ? "warn" : "off";
}
return normalizeSeverityToNumber(value);
},
validate(value) {
if (!(ALLOWED_SEVERITIES.has(value) || typeof value === "boolean")) {
throw new TypeError(
'Expected one of: "error", "warn", "off", 0, 1, 2, or a boolean.',
);
}
},
};
/** @type {ObjectPropertySchema} */
const unusedInlineConfigsSeveritySchema = {
merge(first, second) {
const value = second === void 0 ? first : second;
return normalizeSeverityToNumber(value);
},
validate(value) {
if (!ALLOWED_SEVERITIES.has(value)) {
throw new TypeError(
'Expected one of: "error", "warn", "off", 0, 1, or 2.',
);
}
},
};
/** @type {ObjectPropertySchema} */
const deepObjectAssignSchema = {
merge(first = {}, second = {}) {
return deepMerge(first, second);
},
validate: "object",
};
//-----------------------------------------------------------------------------
// High-Level Schemas
//-----------------------------------------------------------------------------
/** @type {ObjectPropertySchema} */
const languageOptionsSchema = {
merge(first = {}, second = {}) {
const result = deepMerge(first, second);
for (const [key, value] of Object.entries(result)) {
/*
* Special case: Because the `parser` property is an object, it should
* not be deep merged. Instead, it should be replaced if it exists in
* the second object. To make this more generic, we just check for
* objects with methods and replace them if they exist in the second
* object.
*/
if (isNonArrayObject(value)) {
if (hasMethod(value)) {
result[key] = second[key] ?? first[key];
continue;
}
// for other objects, make sure we aren't reusing the same object
result[key] = { ...result[key] };
continue;
}
}
return result;
},
validate: "object",
};
/** @type {ObjectPropertySchema} */
const languageSchema = {
merge: "replace",
validate: assertIsPluginMemberName,
};
/** @type {ObjectPropertySchema} */
const pluginsSchema = {
merge(first = {}, second = {}) {
const keys = new Set([...Object.keys(first), ...Object.keys(second)]);
const result = {};
// manually validate that plugins are not redefined
for (const key of keys) {
// avoid hairy edge case
if (key === "__proto__") {
continue;
}
if (key in first && key in second && first[key] !== second[key]) {
throw new TypeError(`Cannot redefine plugin "${key}".`);
}
result[key] = second[key] || first[key];
}
return result;
},
validate(value) {
// first check the value to be sure it's an object
if (value === null || typeof value !== "object") {
throw new TypeError("Expected an object.");
}
// make sure it's not an array, which would mean eslintrc-style is used
if (Array.isArray(value)) {
throw new IncompatiblePluginsError(value);
}
// second check the keys to make sure they are objects
for (const key of Object.keys(value)) {
// avoid hairy edge case
if (key === "__proto__") {
continue;
}
if (value[key] === null || typeof value[key] !== "object") {
throw new TypeError(`Key "${key}": Expected an object.`);
}
}
},
};
/** @type {ObjectPropertySchema} */
const processorSchema = {
merge: "replace",
validate(value) {
if (typeof value === "string") {
assertIsPluginMemberName(value);
} else if (value && typeof value === "object") {
if (
typeof value.preprocess !== "function" ||
typeof value.postprocess !== "function"
) {
throw new TypeError(
"Object must have a preprocess() and a postprocess() method.",
);
}
} else {
throw new TypeError("Expected an object or a string.");
}
},
};
/** @type {ObjectPropertySchema} */
const rulesSchema = {
merge(first = {}, second = {}) {
const result = {
...first,
...second,
};
for (const ruleId of Object.keys(result)) {
try {
// avoid hairy edge case
if (ruleId === "__proto__") {
/* eslint-disable-next-line no-proto -- Though deprecated, may still be present */
delete result.__proto__;
continue;
}
result[ruleId] = normalizeRuleOptions(result[ruleId]);
/*
* If either rule config is missing, then the correct
* config is already present and we just need to normalize
* the severity.
*/
if (!(ruleId in first) || !(ruleId in second)) {
continue;
}
const firstRuleOptions = normalizeRuleOptions(first[ruleId]);
const secondRuleOptions = normalizeRuleOptions(second[ruleId]);
/*
* If the second rule config only has a severity (length of 1),
* then use that severity and keep the rest of the options from
* the first rule config.
*/
if (secondRuleOptions.length === 1) {
result[ruleId] = [
secondRuleOptions[0],
...firstRuleOptions.slice(1),
];
continue;
}
/*
* In any other situation, then the second rule config takes
* precedence. That means the value at `result[ruleId]` is
* already correct and no further work is necessary.
*/
} catch (ex) {
throw new Error(`Key "${ruleId}": ${ex.message}`, {
cause: ex,
});
}
}
return result;
},
validate(value) {
assertIsObject(value);
/*
* We are not checking the rule schema here because there is no
* guarantee that the rule definition is present at this point. Instead
* we wait and check the rule schema during the finalization step
* of calculating a config.
*/
for (const ruleId of Object.keys(value)) {
// avoid hairy edge case
if (ruleId === "__proto__") {
continue;
}
const ruleOptions = value[ruleId];
assertIsRuleOptions(ruleId, ruleOptions);
if (Array.isArray(ruleOptions)) {
assertIsRuleSeverity(ruleId, ruleOptions[0]);
} else {
assertIsRuleSeverity(ruleId, ruleOptions);
}
}
},
};
/**
* Creates a schema that always throws an error. Useful for warning
* about eslintrc-style keys.
* @param {string} key The eslintrc key to create a schema for.
* @returns {ObjectPropertySchema} The schema.
*/
function createEslintrcErrorSchema(key) {
return {
merge: "replace",
validate() {
throw new IncompatibleKeyError(key);
},
};
}
const eslintrcKeys = [
"env",
"extends",
"globals",
"ignorePatterns",
"noInlineConfig",
"overrides",
"parser",
"parserOptions",
"reportUnusedDisableDirectives",
"root",
];
//-----------------------------------------------------------------------------
// Full schema
//-----------------------------------------------------------------------------
const flatConfigSchema = {
// eslintrc-style keys that should always error
...Object.fromEntries(
eslintrcKeys.map(key => [key, createEslintrcErrorSchema(key)]),
),
// flat config keys
settings: deepObjectAssignSchema,
linterOptions: {
schema: {
noInlineConfig: booleanSchema,
reportUnusedDisableDirectives: disableDirectiveSeveritySchema,
reportUnusedInlineConfigs: unusedInlineConfigsSeveritySchema,
},
},
language: languageSchema,
languageOptions: languageOptionsSchema,
processor: processorSchema,
plugins: pluginsSchema,
rules: rulesSchema,
};
//-----------------------------------------------------------------------------
// Exports
//-----------------------------------------------------------------------------
module.exports = {
flatConfigSchema,
hasMethod,
assertIsRuleSeverity,
};
@@ -0,0 +1,3 @@
import * as z from "../v4/mini/external.cjs";
export * from "../v4/mini/external.cjs";
export { z };
@@ -0,0 +1 @@
{"version":3,"file":"focus.js","sources":["../../../src/icons/focus.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Focus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIiIC8+CiAgPHBhdGggZD0iTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIiIC8+CiAgPHBhdGggZD0iTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiIgLz4KICA8cGF0aCBkPSJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/focus\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 Focus = createLucideIcon('Focus', [\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\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]);\n\nexport default Focus;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,iBAAiB,OAAS,CAAA,CAAA,CAAA;AAAA,CACtC,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA;AAAA,CAAA,CACxD,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;AAC3D,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,156 @@
import { secondsToMilliseconds } from 'motion-utils';
import { GroupAnimation } from '../animation/GroupAnimation.mjs';
import { NativeAnimation } from '../animation/NativeAnimation.mjs';
import { NativeAnimationWrapper } from '../animation/NativeAnimationWrapper.mjs';
import { getValueTransition } from '../animation/utils/get-value-transition.mjs';
import { mapEasingToNativeEasing } from '../animation/waapi/easing/map-easing.mjs';
import { applyGeneratorOptions } from '../animation/waapi/utils/apply-generator.mjs';
import { chooseLayerType } from './utils/choose-layer-type.mjs';
import { css } from './utils/css.mjs';
import { getViewAnimationLayerInfo } from './utils/get-layer-info.mjs';
import { getViewAnimations } from './utils/get-view-animations.mjs';
import { hasTarget } from './utils/has-target.mjs';
const definitionNames = ["layout", "enter", "exit", "new", "old"];
function startViewAnimation(builder) {
const { update, targets, options: defaultOptions } = builder;
if (!document.startViewTransition) {
return new Promise(async (resolve) => {
await update();
resolve(new GroupAnimation([]));
});
}
// TODO: Go over existing targets and ensure they all have ids
/**
* If we don't have any animations defined for the root target,
* remove it from being captured.
*/
if (!hasTarget("root", targets)) {
css.set(":root", {
"view-transition-name": "none",
});
}
/**
* Set the timing curve to linear for all view transition layers.
* This gets baked into the keyframes, which can't be changed
* without breaking the generated animation.
*
* This allows us to set easing via updateTiming - which can be changed.
*/
css.set("::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*)", { "animation-timing-function": "linear !important" });
css.commit(); // Write
const transition = document.startViewTransition(async () => {
await update();
// TODO: Go over new targets and ensure they all have ids
});
transition.finished.finally(() => {
css.remove(); // Write
});
return new Promise((resolve) => {
transition.ready.then(() => {
const generatedViewAnimations = getViewAnimations();
const animations = [];
/**
* Create animations for each of our explicitly-defined subjects.
*/
targets.forEach((definition, target) => {
// TODO: If target is not "root", resolve elements
// and iterate over each
for (const key of definitionNames) {
if (!definition[key])
continue;
const { keyframes, options } = definition[key];
for (let [valueName, valueKeyframes] of Object.entries(keyframes)) {
if (!valueKeyframes)
continue;
const valueOptions = {
...getValueTransition(defaultOptions, valueName),
...getValueTransition(options, valueName),
};
const type = chooseLayerType(key);
/**
* If this is an opacity animation, and keyframes are not an array,
* we need to convert them into an array and set an initial value.
*/
if (valueName === "opacity" &&
!Array.isArray(valueKeyframes)) {
const initialValue = type === "new" ? 0 : 1;
valueKeyframes = [initialValue, valueKeyframes];
}
/**
* Resolve stagger function if provided.
*/
if (typeof valueOptions.delay === "function") {
valueOptions.delay = valueOptions.delay(0, 1);
}
valueOptions.duration && (valueOptions.duration = secondsToMilliseconds(valueOptions.duration));
valueOptions.delay && (valueOptions.delay = secondsToMilliseconds(valueOptions.delay));
const animation = new NativeAnimation({
...valueOptions,
element: document.documentElement,
name: valueName,
pseudoElement: `::view-transition-${type}(${target})`,
keyframes: valueKeyframes,
});
animations.push(animation);
}
}
});
/**
* Handle browser generated animations
*/
for (const animation of generatedViewAnimations) {
if (animation.playState === "finished")
continue;
const { effect } = animation;
if (!effect || !(effect instanceof KeyframeEffect))
continue;
const { pseudoElement } = effect;
if (!pseudoElement)
continue;
const name = getViewAnimationLayerInfo(pseudoElement);
if (!name)
continue;
const targetDefinition = targets.get(name.layer);
if (!targetDefinition) {
/**
* If transition name is group then update the timing of the animation
* whereas if it's old or new then we could possibly replace it using
* the above method.
*/
const transitionName = name.type === "group" ? "layout" : "";
let animationTransition = {
...getValueTransition(defaultOptions, transitionName),
};
animationTransition.duration && (animationTransition.duration = secondsToMilliseconds(animationTransition.duration));
animationTransition =
applyGeneratorOptions(animationTransition);
const easing = mapEasingToNativeEasing(animationTransition.ease, animationTransition.duration);
effect.updateTiming({
delay: secondsToMilliseconds(animationTransition.delay ?? 0),
duration: animationTransition.duration,
easing,
});
animations.push(new NativeAnimationWrapper(animation));
}
else if (hasOpacity(targetDefinition, "enter") &&
hasOpacity(targetDefinition, "exit") &&
effect
.getKeyframes()
.some((keyframe) => keyframe.mixBlendMode)) {
animations.push(new NativeAnimationWrapper(animation));
}
else {
animation.cancel();
}
}
resolve(new GroupAnimation(animations));
});
});
}
function hasOpacity(target, key) {
return target?.[key]?.keyframes.opacity;
}
export { startViewAnimation };
//# sourceMappingURL=start.mjs.map
@@ -0,0 +1,151 @@
export { ObjectSchema } from "@eslint/object-schema";
export type PropertyDefinition = $eslintobjectschema.PropertyDefinition;
export type ObjectDefinition = $eslintobjectschema.ObjectDefinition;
export type ConfigObject = $typests.ConfigObject;
export type FileMatcher = $typests.FileMatcher;
export type FilesMatcher = $typests.FilesMatcher;
export type ExtraConfigType = $typests.ExtraConfigType;
export type MinimatchOptions = $minimatch.MinimatchOptions;
export type ObjectSchemaInstance = ObjectSchema;
/**
* Represents an array of config objects and provides method for working with
* those config objects.
*/
export class ConfigArray extends Array<any> {
/**
* Creates a new instance of ConfigArray.
* @param {Iterable|Function|Object} configs An iterable yielding config
* objects, or a config function, or a config object.
* @param {Object} options The options for the ConfigArray.
* @param {string} [options.basePath="/"] The absolute path of the config file directory.
* Defaults to `"/"`.
* @param {boolean} [options.normalized=false] Flag indicating if the
* configs have already been normalized.
* @param {ObjectDefinition} [options.schema] The additional schema
* definitions to use for the ConfigArray schema.
* @param {ReadonlyArray<ExtraConfigType>} [options.extraConfigTypes] List of config types supported.
* @throws {TypeError} When the `basePath` is not a non-empty string,
*/
constructor(configs: Iterable<any> | Function | any, { basePath, normalized, schema: customSchema, extraConfigTypes, }?: {
basePath?: string;
normalized?: boolean;
schema?: ObjectDefinition;
extraConfigTypes?: ReadonlyArray<ExtraConfigType>;
});
/**
* The path of the config file that this array was loaded from.
* This is used to calculate filename matches.
* @property basePath
* @type {string}
*/
basePath: string;
/**
* The supported config types.
* @type {ReadonlyArray<ExtraConfigType>}
*/
extraConfigTypes: ReadonlyArray<ExtraConfigType>;
/**
* Returns the `files` globs from every config object in the array.
* This can be used to determine which files will be matched by a
* config array or to use as a glob pattern when no patterns are provided
* for a command line interface.
* @returns {Array<FilesMatcher>} An array of matchers.
*/
get files(): Array<FilesMatcher>;
/**
* Returns ignore matchers that should always be ignored regardless of
* the matching `files` fields in any configs. This is necessary to mimic
* the behavior of things like .gitignore and .eslintignore, allowing a
* globbing operation to be faster.
* @returns {Array<{ basePath?: string, name?: string, ignores: FileMatcher[] }>} An array of config objects representing global ignores.
*/
get ignores(): Array<{
basePath?: string;
name?: string;
ignores: FileMatcher[];
}>;
/**
* Indicates if the config array has been normalized.
* @returns {boolean} True if the config array is normalized, false if not.
*/
isNormalized(): boolean;
/**
* Normalizes a config array by flattening embedded arrays and executing
* config functions.
* @param {Object} [context] The context object for config functions.
* @returns {Promise<ConfigArray>} The current ConfigArray instance.
*/
normalize(context?: any): Promise<ConfigArray>;
/**
* Normalizes a config array by flattening embedded arrays and executing
* config functions.
* @param {Object} [context] The context object for config functions.
* @returns {ConfigArray} The current ConfigArray instance.
*/
normalizeSync(context?: any): ConfigArray;
/**
* Returns the config object for a given file path and a status that can be used to determine why a file has no config.
* @param {string} filePath The path of a file to get a config for.
* @returns {{ config?: Object, status: "ignored"|"external"|"unconfigured"|"matched" }}
* An object with an optional property `config` and property `status`.
* `config` is the config object for the specified file as returned by {@linkcode ConfigArray.getConfig},
* `status` a is one of the constants returned by {@linkcode ConfigArray.getConfigStatus}.
*/
getConfigWithStatus(filePath: string): {
config?: any;
status: "ignored" | "external" | "unconfigured" | "matched";
};
/**
* Returns the config object for a given file path.
* @param {string} filePath The path of a file to get a config for.
* @returns {Object|undefined} The config object for this file or `undefined`.
*/
getConfig(filePath: string): any | undefined;
/**
* Determines whether a file has a config or why it doesn't.
* @param {string} filePath The path of the file to check.
* @returns {"ignored"|"external"|"unconfigured"|"matched"} One of the following values:
* * `"ignored"`: the file is ignored
* * `"external"`: the file is outside the base path
* * `"unconfigured"`: the file is not matched by any config
* * `"matched"`: the file has a matching config
*/
getConfigStatus(filePath: string): "ignored" | "external" | "unconfigured" | "matched";
/**
* Determines if the given filepath is ignored based on the configs.
* @param {string} filePath The path of a file to check.
* @returns {boolean} True if the path is ignored, false if not.
* @deprecated Use `isFileIgnored` instead.
*/
isIgnored(filePath: string): boolean;
/**
* Determines if the given filepath is ignored based on the configs.
* @param {string} filePath The path of a file to check.
* @returns {boolean} True if the path is ignored, false if not.
*/
isFileIgnored(filePath: string): boolean;
/**
* Determines if the given directory is ignored based on the configs.
* This checks only default `ignores` that don't have `files` in the
* same config. A pattern such as `/foo` be considered to ignore the directory
* while a pattern such as `/foo/**` is not considered to ignore the
* directory because it is matching files.
* @param {string} directoryPath The path of a directory to check.
* @returns {boolean} True if the directory is ignored, false if not. Will
* return true for any directory that is not inside of `basePath`.
* @throws {Error} When the `ConfigArray` is not normalized.
*/
isDirectoryIgnored(directoryPath: string): boolean;
#private;
}
export namespace ConfigArraySymbol {
let isNormalized: symbol;
let configCache: symbol;
let schema: symbol;
let finalizeConfig: symbol;
let preprocessConfig: symbol;
}
import type * as $eslintobjectschema from "@eslint/object-schema";
import type * as $typests from "./types.cts";
import type * as $minimatch from "minimatch";
import { ObjectSchema } from '@eslint/object-schema';
@@ -0,0 +1 @@
{"version":3,"file":"search-x.js","sources":["../../../src/icons/search-x.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name SearchX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTMuNSA4LjUtNSA1IiAvPgogIDxwYXRoIGQ9Im04LjUgOC41IDUgNSIgLz4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxwYXRoIGQ9Im0yMSAyMS00LjMtNC4zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/search-x\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 SearchX = createLucideIcon('SearchX', [\n ['path', { d: 'm13.5 8.5-5 5', key: '1cs55j' }],\n ['path', { d: 'm8.5 8.5 5 5', key: 'a8mexj' }],\n ['circle', { cx: '11', cy: '11', r: '8', key: '4ej97u' }],\n ['path', { d: 'm21 21-4.3-4.3', key: '1qie3q' }],\n]);\n\nexport default SearchX;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,iBAAiB,SAAW,CAAA,CAAA,CAAA;AAAA,CAAA,CAC1C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAiB,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,CAC9C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAC7C,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA;AAAA,CAAA,CACxD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AACjD,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,41 @@
import { F as FormatOptions } from './shared/confbox.9745c98f.js';
/**
*
* 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,15 @@
'use strict';
var inspect = require('../');
var test = require('tape');
var mockProperty = require('mock-property');
test('when Object#hasOwnProperty is deleted', function (t) {
t.plan(1);
var arr = [1, , 3]; // eslint-disable-line no-sparse-arrays
t.teardown(mockProperty(Array.prototype, 1, { value: 2 })); // this is needed to account for "in" vs "hasOwnProperty"
t.teardown(mockProperty(Object.prototype, 'hasOwnProperty', { 'delete': true }));
t.equal(inspect(arr), '[ 1, , 3 ]');
});
@@ -0,0 +1,32 @@
import { readdirSync, writeFileSync, statSync } from "fs";
const ignore = ["src/index.ts"];
function checkSrcDir(path: string): string[] {
const lines: string[] = [];
for (const item of readdirSync(path)) {
const itemPath = path + "/" + item;
if (ignore.includes(itemPath)) {
continue;
}
if (statSync(itemPath).isDirectory()) {
lines.push(...checkSrcDir(itemPath));
} else if (item.endsWith(".ts")) {
lines.push('export * from "./' + itemPath.slice(4, -2) + 'js"');
}
}
return lines;
}
const lines = checkSrcDir("src");
lines.push(
'import { zodToJsonSchema } from "./zodToJsonSchema.js"',
"export default zodToJsonSchema;",
);
writeFileSync("./src/index.ts", lines.join(";\n"));
@@ -0,0 +1,8 @@
declare module '@tanstack/history' {
interface HistoryState {
__tempLocation?: HistoryLocation;
__tempKey?: string;
__hashScrollIntoViewOptions?: boolean | ScrollIntoViewOptions;
}
}
export {};
@@ -0,0 +1 @@
{"version":3,"file":"backoff.js","sourceRoot":"","sources":["../src/backoff.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAImB;AACnB,uDAAqD;AAIrD;;;;;GAKG;AACH,SAAsB,OAAO,CAC3B,OAAyB,EACzB,OAA4B;IAA5B,wBAAA,EAAA,YAA4B;;;;;;oBAEtB,gBAAgB,GAAG,6BAAmB,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;oBAEhD,qBAAM,OAAO,CAAC,OAAO,EAAE,EAAA;wBAA9B,sBAAO,SAAuB,EAAC;;;;CAChC;AARD,0BAQC;AAED;IAGE,iBACU,OAAyB,EACzB,OAAwB;QADxB,YAAO,GAAP,OAAO,CAAkB;QACzB,YAAO,GAAP,OAAO,CAAiB;QAJ1B,kBAAa,GAAG,CAAC,CAAC;IAKvB,CAAC;IAES,yBAAO,GAApB;;;;;;6BACS,CAAC,IAAI,CAAC,mBAAmB;;;;wBAE5B,qBAAM,IAAI,CAAC,UAAU,EAAE,EAAA;;wBAAvB,SAAuB,CAAC;wBACjB,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;4BAA3B,sBAAO,SAAoB,EAAC;;;wBAE5B,IAAI,CAAC,aAAa,EAAE,CAAC;wBACD,qBAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAC,EAAE,IAAI,CAAC,aAAa,CAAC,EAAA;;wBAA7D,WAAW,GAAG,SAA+C;wBAEnE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE;4BAC5C,MAAM,GAAC,CAAC;yBACT;;;4BAIL,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;;;;KAC1C;IAED,sBAAY,wCAAmB;aAA/B;YACE,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC1D,CAAC;;;OAAA;IAEa,4BAAU,GAAxB;;;;;;wBACQ,KAAK,GAAG,4BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;wBAC7D,qBAAM,KAAK,CAAC,KAAK,EAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACrB;IACH,cAAC;AAAD,CAAC,AAlCD,IAkCC"}
@@ -0,0 +1,2 @@
import { Importer, SideMedium } from './types';
export declare function useSidecar<T>(importer: Importer<T>, effect?: SideMedium<any>): [React.ComponentType<T> | null, Error | null];
@@ -0,0 +1,11 @@
import type { TSESTree } from '@typescript-eslint/utils';
import type { SourceCode } from '@typescript-eslint/utils/ts-eslint';
/**
* Determines whether an opening parenthesis `(`, bracket `[` or backtick ``` ` ``` needs to be preceded by a semicolon.
* This opening parenthesis or bracket should be at the start of an `ExpressionStatement`, a `MethodDefinition` or at
* the start of the body of an `ArrowFunctionExpression`.
* @param sourceCode The source code object.
* @param node A node at the position where an opening parenthesis or bracket will be inserted.
* @returns Whether a semicolon is required before the opening parenthesis or bracket.
*/
export declare function needsPrecedingSemicolon(sourceCode: SourceCode, node: TSESTree.Node): boolean;
@@ -0,0 +1,635 @@
export default `flf2a$ 6 5 18 4 21
Figlet conversion by Kent Nassen, knassen@umich.edu, 1/1/95
rowancap.flf
From spectre@uiuc.edu
Date: Sat, 11 Dec 1993 12:59:18 -0600
From: Ian Chai <spectre@uiuc.edu>
Reply to: "Discussions about the multi-font large-letter program, FIGLET."
<FIGLET-L@vmd.cso.uiuc.edu>
To: Multiple recipients of list FIGLET-L <FIGLET-L@vmd.cso.uiuc.edu>
Subject: Something for someone somewhere . ..
>From: Lockerpalooza <PIRILLC2770@cobra.uni.edu>
Found the caps for a possible font for Figlet, if anyone would care to expand?
From: s1171180@giaeb.cc.monash.edu.au (Rowan Crawford)
Subject:A Font.
Date: 10 Dec 1993 16:54:18 GMT
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
$ amr$@
$dMP $@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
.aMMMb$@
dMP"dMP$@
dMMMMMP @
dMP dMP @
dMP dMP @
@@
dMMMMb$@
dMP"dMP$@
dMMMMK" @
dMP.aMF @
dMMMMP" @
@@
.aMMMb$@
dMP"VMP$@
dMP @
dMP.aMP @
VMMMP" @
@@
dMMMMb$@
dMP VMP$@
dMP dMP @
dMP.aMP @
dMMMMP" @
@@
dMMMMMP$@
dMP @
dMMMP @
dMP @
dMMMMMP @
@@
dMMMMMP$@
dMP @
dMMMP @
dMP @
dMP @
@@
.aMMMMP$@
dMP" @
dMP MMP" @
dMP.dMP @
VMMMP" @
@@
dMP dMP$@
dMP dMP @
dMMMMMP @
dMP dMP @
dMP dMP @
@@
dMP$@
amr @
dMP @
dMP @
dMP @
@@
dMMMMMP$@
dMP @
dMP @
dK .dMP @
VMMMP" @
@@
dMP dMP$@
dMP.dMP @
dMMMMK" @
dMP"AMF @
dMP dMP @
@@
dMP$@
dMP @
dMP @
dMP @
dMMMMMP$@
@@
dMMMMMMMMb$@
dMP"dMP"dMP$@
dMP dMP dMP @
dMP dMP dMP @
dMP dMP dMP @
@@
dMMMMb$@
dMP dMP$@
dMP dMP @
dMP dMP @
dMP dMP @
@@
.aMMMb$@
dMP"dMP$@
dMP dMP @
dMP.aMP @
VMMMP" @
@@
dMMMMb$@
dMP.dMP$@
dMMMMP" @
dMP @
dMP @
@@
.aMMMb$@
dMP"dMP$@
dMP.dMP @
dMP.MMP @
VMMP"MP @
@@
dMMMMb$@
dMP.dMP$@
dMMMMK" @
dMP"AMF @
dMP dMP @
@@
.dMMMb$@
dMP" VP$@
VMMMb @
dP .dMP @
VMMMP" @
@@
dMMMMMMP$@
dMP @
dMP @
dMP @
dMP @
@@
dMP dMP$@
dMP dMP @
dMP dMP @
dMP.aMP @
VMMMP" @
@@
dMP dMP$@
dMP dMP @
dMP dMP @
YMvAP" @
VP" @
@@
dMP dMP dMP$@
dMP dMP dMP @
dMP dMP dMP @
dMP.dMP.dMP @
VMMMPVMMP" @
@@
dMP dMP$@
dMK.dMP @
.dMMMK" @
dMP"AMF @
dMP dMP @
@@
dMP dMP$@
dMP.dMP @
VMMMMP @
dA .dMP @
VMMMP" @
@@
dMMMMMP$@
.dMP" @
.dMP" @
.dMP" @
dMMMMMP @
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
.aMMMb$@
dMP"dMP$@
dMMMMMP @
dMP dMP @
dMP dMP @
@@
dMMMMb$@
dMP"dMP$@
dMMMMK" @
dMP.aMF @
dMMMMP" @
@@
.aMMMb$@
dMP"VMP$@
dMP @
dMP.aMP @
VMMMP" @
@@
dMMMMb$@
dMP VMP$@
dMP dMP @
dMP.aMP @
dMMMMP" @
@@
dMMMMMP$@
dMP @
dMMMP @
dMP @
dMMMMMP @
@@
dMMMMMP$@
dMP @
dMMMP @
dMP @
dMP @
@@
.aMMMMP$@
dMP" @
dMP MMP" @
dMP.dMP @
VMMMP" @
@@
dMP dMP$@
dMP dMP @
dMMMMMP @
dMP dMP @
dMP dMP @
@@
dMP$@
amr @
dMP @
dMP @
dMP @
@@
dMMMMMP$@
dMP @
dMP @
dK .dMP @
VMMMP" @
@@
dMP dMP$@
dMP.dMP @
dMMMMK" @
dMP"AMF @
dMP dMP @
@@
dMP$@
dMP @
dMP @
dMP @
dMMMMMP$@
@@
dMMMMMMMMb$@
dMP"dMP"dMP @
dMP dMP dMP @
dMP dMP dMP @
dMP dMP dMP @
@@
dMMMMb$@
dMP dMP$@
dMP dMP @
dMP dMP @
dMP dMP @
@@
.aMMMb$@
dMP"dMP$@
dMP dMP @
dMP.aMP @
VMMMP" @
@@
dMMMMb$@
dMP.dMP$@
dMMMMP" @
dMP @
dMP @
@@
.aMMMb$@
dMP"dMP$@
dMP.dMP @
dMP.MMP @
VMMP"MP @
@@
dMMMMb$@
dMP.dMP$@
dMMMMK" @
dMP"AMF @
dMP dMP @
@@
.dMMMb$@
dMP" VP$@
VMMMb @
dP .dMP @
VMMMP" @
@@
dMMMMMMP$@
dMP @
dMP @
dMP @
dMP @
@@
dMP dMP$@
dMP dMP @
dMP dMP @
dMP.aMP @
VMMMP" @
@@
dMP dMP$@
dMP dMP @
dMP dMP @
YMvAP" @
VP" @
@@
dMP dMP dMP$@
dMP dMP dMP @
dMP dMP dMP @
dMP.dMP.dMP @
VMMMPVMMP" @
@@
dMP dMP$@
dMK.dMP @
.dMMMK" @
dMP"AMF @
dMP dMP @
@@
dMP dMP$@
dMP.dMP @
VMMMMP @
dA .dMP @
VMMMP" @
@@
dMMMMMP$@
.dMP" @
.dMP" @
.dMP" @
dMMMMMP @
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
`
@@ -0,0 +1 @@
module.exports={A:{A:{"2":"_E"},B:{"1":"_K","2":"_I"},C:{"1":"_6L","2":"_zJ"},D:{"1":"_LQ _DC","2":"_JJ","194":"gC"},E:{"1":"_JB","2":"_RB"},F:{"1":"_KN _RD","2":"_fH _zD _O","194":"3B"},G:{"1":"_9","2":"_iB"},H:{"2":"1D"},I:{"1":"I","2":"_G"},J:{"2":"_B"},K:{"1":"H","2":"_D"},L:{"1":"I"},M:{"1":"YC"},N:{"2":"_A"},O:{"1":"bC"},P:{"1":"_yB","2":"_pC"},Q:{"1":"JE"},R:{"1":"KE"},S:{"1":"ME","2":"LE"}},B:7,C:":focus-within CSS pseudo-class",D:true};
@@ -0,0 +1,13 @@
import Options from './Options';
import { FeedbackType, MatchEstimated } from './types';
declare class Feedback {
private options;
private matchers;
private defaultFeedback;
constructor(options: Options);
private setDefaultSuggestions;
getFeedback(score: number, sequence: MatchEstimated[]): FeedbackType;
private getLongestMatch;
private getMatchFeedback;
}
export default Feedback;
@@ -0,0 +1 @@
{"version":3,"file":"lock.js","sources":["../../../src/icons/lock.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Lock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHg9IjMiIHk9IjExIiByeD0iMiIgcnk9IjIiIC8+CiAgPHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/lock\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 Lock = createLucideIcon('Lock', [\n ['rect', { width: '18', height: '11', x: '3', y: '11', rx: '2', ry: '2', key: '1w4ew1' }],\n ['path', { d: 'M7 11V7a5 5 0 0 1 10 0v4', key: 'fwvmzm' }],\n]);\n\nexport default Lock;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,iBAAiB,MAAQ,CAAA,CAAA,CAAA;AAAA,CAAA,CACpC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,KAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,EAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,MAAM,CAAI,CAAA,CAAA,CAAA,GAAA,CAAK,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,CAAA,CAAA;AAAA,CAAA,CACxF,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;AAC3D,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
{"version":3,"file":"candlestick-chart.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,43 @@
{
"name": "@babel/helper-compilation-targets",
"version": "7.29.7",
"author": "The Babel Team (https://babel.dev/team)",
"license": "MIT",
"description": "Helper functions on Babel compilation targets",
"repository": {
"type": "git",
"url": "https://github.com/babel/babel.git",
"directory": "packages/babel-helper-compilation-targets"
},
"main": "./lib/index.js",
"exports": {
".": {
"types": "./lib/index.d.ts",
"default": "./lib/index.js"
},
"./package.json": "./package.json"
},
"publishConfig": {
"access": "public"
},
"keywords": [
"babel",
"babel-plugin"
],
"dependencies": {
"@babel/compat-data": "^7.29.7",
"@babel/helper-validator-option": "^7.29.7",
"browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
},
"devDependencies": {
"@babel/helper-plugin-test-runner": "^7.29.7",
"@types/lru-cache": "^5.1.1",
"@types/semver": "^5.5.0"
},
"engines": {
"node": ">=6.9.0"
},
"type": "commonjs"
}
@@ -0,0 +1,239 @@
// Claude-authored implementation of RFC 6570 URI Templates
const MAX_TEMPLATE_LENGTH = 1000000; // 1MB
const MAX_VARIABLE_LENGTH = 1000000; // 1MB
const MAX_TEMPLATE_EXPRESSIONS = 10000;
const MAX_REGEX_LENGTH = 1000000; // 1MB
export class UriTemplate {
/**
* Returns true if the given string contains any URI template expressions.
* A template expression is a sequence of characters enclosed in curly braces,
* like {foo} or {?bar}.
*/
static isTemplate(str) {
// Look for any sequence of characters between curly braces
// that isn't just whitespace
return /\{[^}\s]+\}/.test(str);
}
static validateLength(str, max, context) {
if (str.length > max) {
throw new Error(`${context} exceeds maximum length of ${max} characters (got ${str.length})`);
}
}
get variableNames() {
return this.parts.flatMap(part => (typeof part === 'string' ? [] : part.names));
}
constructor(template) {
UriTemplate.validateLength(template, MAX_TEMPLATE_LENGTH, 'Template');
this.template = template;
this.parts = this.parse(template);
}
toString() {
return this.template;
}
parse(template) {
const parts = [];
let currentText = '';
let i = 0;
let expressionCount = 0;
while (i < template.length) {
if (template[i] === '{') {
if (currentText) {
parts.push(currentText);
currentText = '';
}
const end = template.indexOf('}', i);
if (end === -1)
throw new Error('Unclosed template expression');
expressionCount++;
if (expressionCount > MAX_TEMPLATE_EXPRESSIONS) {
throw new Error(`Template contains too many expressions (max ${MAX_TEMPLATE_EXPRESSIONS})`);
}
const expr = template.slice(i + 1, end);
const operator = this.getOperator(expr);
const exploded = expr.includes('*');
const names = this.getNames(expr);
const name = names[0];
// Validate variable name length
for (const name of names) {
UriTemplate.validateLength(name, MAX_VARIABLE_LENGTH, 'Variable name');
}
parts.push({ name, operator, names, exploded });
i = end + 1;
}
else {
currentText += template[i];
i++;
}
}
if (currentText) {
parts.push(currentText);
}
return parts;
}
getOperator(expr) {
const operators = ['+', '#', '.', '/', '?', '&'];
return operators.find(op => expr.startsWith(op)) || '';
}
getNames(expr) {
const operator = this.getOperator(expr);
return expr
.slice(operator.length)
.split(',')
.map(name => name.replace('*', '').trim())
.filter(name => name.length > 0);
}
encodeValue(value, operator) {
UriTemplate.validateLength(value, MAX_VARIABLE_LENGTH, 'Variable value');
if (operator === '+' || operator === '#') {
return encodeURI(value);
}
return encodeURIComponent(value);
}
expandPart(part, variables) {
if (part.operator === '?' || part.operator === '&') {
const pairs = part.names
.map(name => {
const value = variables[name];
if (value === undefined)
return '';
const encoded = Array.isArray(value)
? value.map(v => this.encodeValue(v, part.operator)).join(',')
: this.encodeValue(value.toString(), part.operator);
return `${name}=${encoded}`;
})
.filter(pair => pair.length > 0);
if (pairs.length === 0)
return '';
const separator = part.operator === '?' ? '?' : '&';
return separator + pairs.join('&');
}
if (part.names.length > 1) {
const values = part.names.map(name => variables[name]).filter(v => v !== undefined);
if (values.length === 0)
return '';
return values.map(v => (Array.isArray(v) ? v[0] : v)).join(',');
}
const value = variables[part.name];
if (value === undefined)
return '';
const values = Array.isArray(value) ? value : [value];
const encoded = values.map(v => this.encodeValue(v, part.operator));
switch (part.operator) {
case '':
return encoded.join(',');
case '+':
return encoded.join(',');
case '#':
return '#' + encoded.join(',');
case '.':
return '.' + encoded.join('.');
case '/':
return '/' + encoded.join('/');
default:
return encoded.join(',');
}
}
expand(variables) {
let result = '';
let hasQueryParam = false;
for (const part of this.parts) {
if (typeof part === 'string') {
result += part;
continue;
}
const expanded = this.expandPart(part, variables);
if (!expanded)
continue;
// Convert ? to & if we already have a query parameter
if ((part.operator === '?' || part.operator === '&') && hasQueryParam) {
result += expanded.replace('?', '&');
}
else {
result += expanded;
}
if (part.operator === '?' || part.operator === '&') {
hasQueryParam = true;
}
}
return result;
}
escapeRegExp(str) {
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
partToRegExp(part) {
const patterns = [];
// Validate variable name length for matching
for (const name of part.names) {
UriTemplate.validateLength(name, MAX_VARIABLE_LENGTH, 'Variable name');
}
if (part.operator === '?' || part.operator === '&') {
for (let i = 0; i < part.names.length; i++) {
const name = part.names[i];
const prefix = i === 0 ? '\\' + part.operator : '&';
patterns.push({
pattern: prefix + this.escapeRegExp(name) + '=([^&]+)',
name
});
}
return patterns;
}
let pattern;
const name = part.name;
switch (part.operator) {
case '':
pattern = part.exploded ? '([^/,]+(?:,[^/,]+)*)' : '([^/,]+)';
break;
case '+':
case '#':
pattern = '(.+)';
break;
case '.':
pattern = '\\.([^/,]+)';
break;
case '/':
pattern = '/' + (part.exploded ? '([^/,]+(?:,[^/,]+)*)' : '([^/,]+)');
break;
default:
pattern = '([^/]+)';
}
patterns.push({ pattern, name });
return patterns;
}
match(uri) {
UriTemplate.validateLength(uri, MAX_TEMPLATE_LENGTH, 'URI');
let pattern = '^';
const names = [];
for (const part of this.parts) {
if (typeof part === 'string') {
pattern += this.escapeRegExp(part);
}
else {
const patterns = this.partToRegExp(part);
for (const { pattern: partPattern, name } of patterns) {
pattern += partPattern;
names.push({ name, exploded: part.exploded });
}
}
}
pattern += '$';
UriTemplate.validateLength(pattern, MAX_REGEX_LENGTH, 'Generated regex pattern');
const regex = new RegExp(pattern);
const match = uri.match(regex);
if (!match)
return null;
const result = {};
for (let i = 0; i < names.length; i++) {
const { name, exploded } = names[i];
const value = match[i + 1];
const cleanName = name.replace('*', '');
if (exploded && value.includes(',')) {
result[cleanName] = value.split(',');
}
else {
result[cleanName] = value;
}
}
return result;
}
}
//# sourceMappingURL=uriTemplate.js.map
@@ -0,0 +1,2 @@
declare const _default: import("use-sidecar").SideCarComponent<import("./types").IRemoveScrollEffectProps>;
export default _default;
@@ -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 CornerUpLeft = createLucideIcon("CornerUpLeft", [
["polyline", { points: "9 14 4 9 9 4", key: "881910" }],
["path", { d: "M20 20v-7a4 4 0 0 0-4-4H4", key: "1nkjon" }]
]);
export { CornerUpLeft as default };
//# sourceMappingURL=corner-up-left.js.map
@@ -0,0 +1 @@
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/experimental/tasks/helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,UAAU,sBAAsB;IAC5B,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,WAAW,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CACzC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,EAC5C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAChC,IAAI,CAgBN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC7C,QAAQ,EAAE,sBAAsB,GAAG,SAAS,EAC5C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAChC,IAAI,CAsBN"}
@@ -0,0 +1 @@
{"version":3,"file":"panel-right-inactive.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1 @@
{"version":3,"file":"dialects-D8eXzoGv.cjs","names":["DRAFT_2020_12_URIS: ReadonlySet<string>","DRAFT_2019_09_URIS: ReadonlySet<string>","DRAFT_07_URIS: ReadonlySet<string>","DRAFT_06_URIS: ReadonlySet<string>"],"sources":["../../core-internal/src/validators/dialects.ts"],"sourcesContent":["/**\n * Declared-dialect classification shared by the default validator providers.\n */\n\nimport type { JsonSchemaType } from './types';\n\n/**\n * Canonical `$schema` URIs per supported dialect (http + https variants, trailing-`#` stripped).\n */\nconst DRAFT_2020_12_URIS: ReadonlySet<string> = new Set([\n 'https://json-schema.org/draft/2020-12/schema',\n 'http://json-schema.org/draft/2020-12/schema'\n]);\nconst DRAFT_2019_09_URIS: ReadonlySet<string> = new Set([\n 'https://json-schema.org/draft/2019-09/schema',\n 'http://json-schema.org/draft/2019-09/schema'\n]);\nconst DRAFT_07_URIS: ReadonlySet<string> = new Set(['https://json-schema.org/draft-07/schema', 'http://json-schema.org/draft-07/schema']);\nconst DRAFT_06_URIS: ReadonlySet<string> = new Set(['https://json-schema.org/draft-06/schema', 'http://json-schema.org/draft-06/schema']);\n\n/**\n * Dialects the default providers dispatch on. draft-06 maps to `'draft-7'`: draft-07 only adds\n * keywords over draft-06 (`if`/`then`/`else`), and enforcing them on a draft-06 schema is the\n * accepted downlevel.\n */\nexport type DeclaredDialect = '2020-12' | '2019-09' | 'draft-7';\n\n/**\n * Whether a `$schema` value declares the 2019-09 dialect — the only supported dialect with\n * `$recursiveRef`/`$recursiveAnchor`. Non-throwing (unlike {@linkcode declaredDialect}) so\n * wire-layer callers can consult it for documents whose dialect may be unsupported.\n */\nexport function declares2019Dialect($schema: unknown): boolean {\n return typeof $schema === 'string' && DRAFT_2019_09_URIS.has($schema.replace(/#$/, ''));\n}\n\n/**\n * Classify a schema's declared `$schema` dialect. No `$schema` (or a non-string one) means\n * 2020-12. Any other dialect throws a plain `Error` with a clear message rather than letting the\n * engine crash on an opaque internal error or silently mis-validate; `remedy` names the calling\n * provider's escape hatch in that message.\n */\nexport function declaredDialect(schema: JsonSchemaType, remedy: string): DeclaredDialect {\n if (!('$schema' in schema) || typeof schema.$schema !== 'string') {\n return '2020-12';\n }\n const declared = schema.$schema.replace(/#$/, '');\n if (DRAFT_2020_12_URIS.has(declared)) {\n return '2020-12';\n }\n if (DRAFT_2019_09_URIS.has(declared)) {\n return '2019-09';\n }\n if (DRAFT_07_URIS.has(declared) || DRAFT_06_URIS.has(declared)) {\n return 'draft-7';\n }\n throw new Error(\n `JSON Schema declares an unsupported dialect (\"$schema\": \"${schema.$schema.slice(0, 200)}\"). ` +\n `The default validator supports JSON Schema 2020-12, 2019-09, draft-07, and draft-06; ${remedy}`\n );\n}\n"],"mappings":";;;;;AASA,MAAMA,qBAA0C,IAAI,IAAI,CACpD,gDACA,8CACH,CAAC;AACF,MAAMC,qBAA0C,IAAI,IAAI,CACpD,gDACA,8CACH,CAAC;AACF,MAAMC,gBAAqC,IAAI,IAAI,CAAC,2CAA2C,yCAAyC,CAAC;AACzI,MAAMC,gBAAqC,IAAI,IAAI,CAAC,2CAA2C,yCAAyC,CAAC;;;;;;AAczI,SAAgB,oBAAoB,SAA2B;AAC3D,QAAO,OAAO,YAAY,YAAY,mBAAmB,IAAI,QAAQ,QAAQ,MAAM,GAAG,CAAC;;;;;;;;AAS3F,SAAgB,gBAAgB,QAAwB,QAAiC;AACrF,KAAI,EAAE,aAAa,WAAW,OAAO,OAAO,YAAY,SACpD,QAAO;CAEX,MAAM,WAAW,OAAO,QAAQ,QAAQ,MAAM,GAAG;AACjD,KAAI,mBAAmB,IAAI,SAAS,CAChC,QAAO;AAEX,KAAI,mBAAmB,IAAI,SAAS,CAChC,QAAO;AAEX,KAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,SAAS,CAC1D,QAAO;AAEX,OAAM,IAAI,MACN,4DAA4D,OAAO,QAAQ,MAAM,GAAG,IAAI,CAAC,2FACG,SAC/F"}
@@ -0,0 +1,9 @@
/**
* @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.
*/
export { default } from './square-arrow-up-left.js';
//# sourceMappingURL=arrow-up-left-square.js.map
@@ -0,0 +1 @@
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../../src/server/auth/handlers/register.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAa,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI5E,MAAM,MAAM,gCAAgC,GAAG;IAC3C;;OAEG;IACH,YAAY,EAAE,2BAA2B,CAAC;IAE1C;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;IAE9C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACtC,YAAY,EACZ,yBAAgE,EAChE,SAAS,EAAE,eAAe,EAC1B,kBAAyB,EAC5B,EAAE,gCAAgC,GAAG,cAAc,CA0EnD"}
@@ -0,0 +1 @@
{"version":3,"names":["_regeneratorAsyncGen","require","_regeneratorAsync","innerFn","outerFn","self","tryLocsList","PromiseImpl","iter","asyncGen","next","then","result","done","value"],"sources":["../../src/helpers/regeneratorAsync.ts"],"sourcesContent":["/* @minVersion 7.27.0 */\n\nimport asyncGen from \"./regeneratorAsyncGen.ts\";\n\nexport default function _regeneratorAsync(\n innerFn: Function,\n outerFn: Function,\n self: any,\n tryLocsList: any[],\n PromiseImpl: PromiseConstructor | undefined,\n) {\n var iter = asyncGen(innerFn, outerFn, self, tryLocsList, PromiseImpl);\n return iter.next().then(function (result: IteratorResult<any>) {\n return result.done ? result.value : iter.next();\n });\n}\n"],"mappings":";;;;;;AAEA,IAAAA,oBAAA,GAAAC,OAAA;AAEe,SAASC,iBAAiBA,CACvCC,OAAiB,EACjBC,OAAiB,EACjBC,IAAS,EACTC,WAAkB,EAClBC,WAA2C,EAC3C;EACA,IAAIC,IAAI,GAAG,IAAAC,4BAAQ,EAACN,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAEC,WAAW,EAAEC,WAAW,CAAC;EACrE,OAAOC,IAAI,CAACE,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,UAAUC,MAA2B,EAAE;IAC7D,OAAOA,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE,KAAK,GAAGN,IAAI,CAACE,IAAI,CAAC,CAAC;EACjD,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,75 @@
{
"name": "@radix-ui/react-use-callback-ref",
"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"
},
"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,24 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const TowerControl = createLucideIcon("TowerControl", [
[
"path",
{ d: "M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z", key: "1pledb" }
],
["path", { d: "M8 13v9", key: "hmv0ci" }],
["path", { d: "M16 22v-9", key: "ylnf1u" }],
["path", { d: "m9 6 1 7", key: "dpdgam" }],
["path", { d: "m15 6-1 7", key: "ls7zgu" }],
["path", { d: "M12 6V2", key: "1pj48d" }],
["path", { d: "M13 2h-2", key: "mj6ths" }]
]);
export { TowerControl as default };
//# sourceMappingURL=tower-control.js.map
@@ -0,0 +1,49 @@
import { ContextualKeyword } from "../tokenizer/keywords";
import { type StopState } from "../traverser/expression";
export declare function tsParseModifiers(allowedModifiers: Array<ContextualKeyword>): void;
/** Parses a modifier matching one the given modifier names. */
export declare function tsParseModifier(allowedModifiers: Array<ContextualKeyword>): ContextualKeyword | null;
export declare function tsTryParseTypeParameters(): void;
export declare function tsTryParseTypeAnnotation(): void;
export declare function tsParseTypeAnnotation(): void;
export declare function tsParseType(): void;
export declare function tsParseNonConditionalType(): void;
export declare function tsParseTypeAssertion(): void;
export declare function tsTryParseJSXTypeArgument(): void;
export declare function tsParseImportEqualsDeclaration(): void;
export declare function tsIsDeclarationStart(): boolean;
export declare function tsParseFunctionBodyAndFinish(functionStart: number, funcContextId: number): void;
export declare function tsParseSubscript(startTokenIndex: number, noCalls: boolean, stopState: StopState): void;
export declare function tsTryParseExport(): boolean;
/**
* Parse a TS import specifier, which may be prefixed with "type" and may be of
* the form `foo as bar`.
*
* The number of identifier-like tokens we see happens to be enough to uniquely
* identify the form, so simply count the number of identifiers rather than
* matching the words `type` or `as`. This is particularly important because
* `type` and `as` could each actually be plain identifiers rather than
* keywords.
*/
export declare function tsParseImportSpecifier(): void;
/**
* Just like named import specifiers, export specifiers can have from 1 to 4
* tokens, inclusive, and the number of tokens determines the role of each token.
*/
export declare function tsParseExportSpecifier(): void;
export declare function tsTryParseExportDefaultExpression(): boolean;
export declare function tsTryParseStatementContent(): boolean;
export declare function tsTryParseClassMemberWithIsStatic(isStatic: boolean): boolean;
export declare function tsParseIdentifierStatement(contextualKeyword: ContextualKeyword): void;
export declare function tsParseExportDeclaration(): void;
export declare function tsAfterParseClassSuper(hasSuper: boolean): void;
export declare function tsStartParseObjPropValue(): void;
export declare function tsStartParseFunctionParams(): void;
export declare function tsAfterParseVarHead(): void;
export declare function tsStartParseAsyncArrowFromCallExpression(): void;
export declare function tsParseMaybeAssign(noIn: boolean, isWithinParens: boolean): boolean;
export declare function tsParseMaybeAssignWithJSX(noIn: boolean, isWithinParens: boolean): boolean;
export declare function tsParseMaybeAssignWithoutJSX(noIn: boolean, isWithinParens: boolean): boolean;
export declare function tsParseArrow(): boolean;
export declare function tsParseAssignableListItemTypes(): void;
export declare function tsParseMaybeDecoratorArguments(): void;
@@ -0,0 +1,30 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ScopeManager = exports.Visitor = exports.Reference = exports.PatternVisitor = exports.analyze = void 0;
var analyze_1 = require("./analyze");
Object.defineProperty(exports, "analyze", { enumerable: true, get: function () { return analyze_1.analyze; } });
__exportStar(require("./definition"), exports);
var PatternVisitor_1 = require("./referencer/PatternVisitor");
Object.defineProperty(exports, "PatternVisitor", { enumerable: true, get: function () { return PatternVisitor_1.PatternVisitor; } });
var Reference_1 = require("./referencer/Reference");
Object.defineProperty(exports, "Reference", { enumerable: true, get: function () { return Reference_1.Reference; } });
var Visitor_1 = require("./referencer/Visitor");
Object.defineProperty(exports, "Visitor", { enumerable: true, get: function () { return Visitor_1.Visitor; } });
__exportStar(require("./scope"), exports);
var ScopeManager_1 = require("./ScopeManager");
Object.defineProperty(exports, "ScopeManager", { enumerable: true, get: function () { return ScopeManager_1.ScopeManager; } });
__exportStar(require("./variable"), exports);
@@ -0,0 +1 @@
{"version":3,"file":"use-isomorphic-effect.mjs","sources":["../../../src/utils/use-isomorphic-effect.ts"],"sourcesContent":["\"use client\"\n\nimport { useEffect, useLayoutEffect } from \"react\"\nimport { isBrowser } from \"./is-browser\"\n\nexport const useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect\n"],"names":[],"mappings":";;;;AAKO;;"}
@@ -0,0 +1,172 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _t = require("@babel/types");
var _t2 = _t;
const {
react
} = _t;
const {
cloneNode,
jsxExpressionContainer,
variableDeclaration,
variableDeclarator
} = _t2;
const referenceVisitor = {
ReferencedIdentifier(path, state) {
if (path.isJSXIdentifier() && react.isCompatTag(path.node.name) && !path.parentPath.isJSXMemberExpression()) {
return;
}
if (path.node.name === "this") {
let scope = path.scope;
do {
if (scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) {
break;
}
} while (scope = scope.parent);
if (scope) state.breakOnScopePaths.push(scope.path);
}
const binding = path.scope.getBinding(path.node.name);
if (!binding) return;
for (const violation of binding.constantViolations) {
if (violation.scope !== binding.path.scope) {
state.mutableBinding = true;
path.stop();
return;
}
}
if (binding !== state.scope.getBinding(path.node.name)) return;
state.bindings[path.node.name] = binding;
}
};
class PathHoister {
constructor(path, scope) {
this.breakOnScopePaths = void 0;
this.bindings = void 0;
this.mutableBinding = void 0;
this.scopes = void 0;
this.scope = void 0;
this.path = void 0;
this.attachAfter = void 0;
this.breakOnScopePaths = [];
this.bindings = {};
this.mutableBinding = false;
this.scopes = [];
this.scope = scope;
this.path = path;
this.attachAfter = false;
}
isCompatibleScope(scope) {
for (const key of Object.keys(this.bindings)) {
const binding = this.bindings[key];
if (!scope.bindingIdentifierEquals(key, binding.identifier)) {
return false;
}
}
return true;
}
getCompatibleScopes() {
let scope = this.path.scope;
do {
if (this.isCompatibleScope(scope)) {
this.scopes.push(scope);
} else {
break;
}
if (this.breakOnScopePaths.includes(scope.path)) {
break;
}
} while (scope = scope.parent);
}
getAttachmentPath() {
let path = this._getAttachmentPath();
if (!path) return;
let targetScope = path.scope;
if (targetScope.path === path) {
targetScope = path.scope.parent;
}
if (targetScope.path.isProgram() || targetScope.path.isFunction()) {
for (const name of Object.keys(this.bindings)) {
if (!targetScope.hasOwnBinding(name)) continue;
const binding = this.bindings[name];
if (binding.kind === "param" || binding.path.parentKey === "params") {
continue;
}
const bindingParentPath = this.getAttachmentParentForPath(binding.path);
if (bindingParentPath.key >= path.key) {
this.attachAfter = true;
path = binding.path;
for (const violationPath of binding.constantViolations) {
if (this.getAttachmentParentForPath(violationPath).key > path.key) {
path = violationPath;
}
}
}
}
}
return path;
}
_getAttachmentPath() {
const scopes = this.scopes;
const scope = scopes.pop();
if (!scope) return;
if (scope.path.isFunction()) {
if (this.hasOwnParamBindings(scope)) {
if (this.scope === scope) return;
const bodies = scope.path.get("body").get("body");
for (let i = 0; i < bodies.length; i++) {
if (bodies[i].node._blockHoist) continue;
return bodies[i];
}
} else {
return this.getNextScopeAttachmentParent();
}
} else if (scope.path.isProgram()) {
return this.getNextScopeAttachmentParent();
}
}
getNextScopeAttachmentParent() {
const scope = this.scopes.pop();
if (scope) return this.getAttachmentParentForPath(scope.path);
}
getAttachmentParentForPath(path) {
do {
if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) {
return path;
}
} while (path = path.parentPath);
return path;
}
hasOwnParamBindings(scope) {
for (const name of Object.keys(this.bindings)) {
if (!scope.hasOwnBinding(name)) continue;
const binding = this.bindings[name];
if (binding.kind === "param" && binding.constant) return true;
}
return false;
}
run() {
this.path.traverse(referenceVisitor, this);
if (this.mutableBinding) return;
this.getCompatibleScopes();
const attachTo = this.getAttachmentPath();
if (!attachTo) return;
if (attachTo.getFunctionParent() === this.path.getFunctionParent()) return;
let uid = attachTo.scope.generateUidIdentifier("ref");
const declarator = variableDeclarator(uid, this.path.node);
const insertFn = this.attachAfter ? "insertAfter" : "insertBefore";
const [attached] = attachTo[insertFn]([attachTo.isVariableDeclarator() ? declarator : variableDeclaration("var", [declarator])]);
const parent = this.path.parentPath;
if (parent.isJSXElement() && this.path.container === parent.node.children) {
uid = jsxExpressionContainer(uid);
}
this.path.replaceWith(cloneNode(uid));
return attached.isVariableDeclarator() ? attached.get("init") : attached.get("declarations.0.init");
}
}
exports.default = PathHoister;
//# sourceMappingURL=hoister.js.map
@@ -0,0 +1,202 @@
/**
* @fileoverview Rule to validate spacing before function paren.
* @author Mathias Schreck <https://github.com/lo1tuma>
* @deprecated in ESLint v8.53.0
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const astUtils = require("./utils/ast-utils");
//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
/** @type {import('../types').Rule.RuleModule} */
module.exports = {
meta: {
deprecated: {
message: "Formatting rules are being moved out of ESLint core.",
url: "https://eslint.org/blog/2023/10/deprecating-formatting-rules/",
deprecatedSince: "8.53.0",
availableUntil: "11.0.0",
replacedBy: [
{
message:
"ESLint Stylistic now maintains deprecated stylistic core rules.",
url: "https://eslint.style/guide/migration",
plugin: {
name: "@stylistic/eslint-plugin",
url: "https://eslint.style",
},
rule: {
name: "space-before-function-paren",
url: "https://eslint.style/rules/space-before-function-paren",
},
},
],
},
type: "layout",
docs: {
description:
"Enforce consistent spacing before `function` definition opening parenthesis",
recommended: false,
url: "https://eslint.org/docs/latest/rules/space-before-function-paren",
},
fixable: "whitespace",
schema: [
{
oneOf: [
{
enum: ["always", "never"],
},
{
type: "object",
properties: {
anonymous: {
enum: ["always", "never", "ignore"],
},
named: {
enum: ["always", "never", "ignore"],
},
asyncArrow: {
enum: ["always", "never", "ignore"],
},
},
additionalProperties: false,
},
],
},
],
messages: {
unexpectedSpace: "Unexpected space before function parentheses.",
missingSpace: "Missing space before function parentheses.",
},
},
create(context) {
const sourceCode = context.sourceCode;
const baseConfig =
typeof context.options[0] === "string"
? context.options[0]
: "always";
const overrideConfig =
typeof context.options[0] === "object" ? context.options[0] : {};
/**
* Determines whether a function has a name.
* @param {ASTNode} node The function node.
* @returns {boolean} Whether the function has a name.
*/
function isNamedFunction(node) {
if (node.id) {
return true;
}
const parent = node.parent;
return (
parent.type === "MethodDefinition" ||
(parent.type === "Property" &&
(parent.kind === "get" ||
parent.kind === "set" ||
parent.method))
);
}
/**
* Gets the config for a given function
* @param {ASTNode} node The function node
* @returns {string} "always", "never", or "ignore"
*/
function getConfigForFunction(node) {
if (node.type === "ArrowFunctionExpression") {
// Always ignore non-async functions and arrow functions without parens, e.g. async foo => bar
if (
node.async &&
astUtils.isOpeningParenToken(
sourceCode.getFirstToken(node, { skip: 1 }),
)
) {
return overrideConfig.asyncArrow || baseConfig;
}
} else if (isNamedFunction(node)) {
return overrideConfig.named || baseConfig;
// `generator-star-spacing` should warn anonymous generators. E.g. `function* () {}`
} else if (!node.generator) {
return overrideConfig.anonymous || baseConfig;
}
return "ignore";
}
/**
* Checks the parens of a function node
* @param {ASTNode} node A function node
* @returns {void}
*/
function checkFunction(node) {
const functionConfig = getConfigForFunction(node);
if (functionConfig === "ignore") {
return;
}
const rightToken = sourceCode.getFirstToken(
node,
astUtils.isOpeningParenToken,
);
const leftToken = sourceCode.getTokenBefore(rightToken);
const hasSpacing = sourceCode.isSpaceBetween(leftToken, rightToken);
if (hasSpacing && functionConfig === "never") {
context.report({
node,
loc: {
start: leftToken.loc.end,
end: rightToken.loc.start,
},
messageId: "unexpectedSpace",
fix(fixer) {
const comments =
sourceCode.getCommentsBefore(rightToken);
// Don't fix anything if there's a single line comment between the left and the right token
if (comments.some(comment => comment.type === "Line")) {
return null;
}
return fixer.replaceTextRange(
[leftToken.range[1], rightToken.range[0]],
comments.reduce(
(text, comment) =>
text + sourceCode.getText(comment),
"",
),
);
},
});
} else if (!hasSpacing && functionConfig === "always") {
context.report({
node,
loc: rightToken.loc,
messageId: "missingSpace",
fix: fixer => fixer.insertTextAfter(leftToken, " "),
});
}
}
return {
ArrowFunctionExpression: checkFunction,
FunctionDeclaration: checkFunction,
FunctionExpression: checkFunction,
};
},
};
@@ -0,0 +1,55 @@
# Blue Oak Model License
Version 1.0.0
## Purpose
This license gives everyone as much permission to work with
this software as possible, while protecting contributors
from liability.
## Acceptance
In order to receive this license, you must agree to its
rules. The rules of this license are both obligations
under that agreement and conditions to your license.
You must not do anything with this software that triggers
a rule that you cannot or will not follow.
## Copyright
Each contributor licenses you to do everything with this
software that would otherwise infringe that contributor's
copyright in it.
## Notices
You must ensure that everyone who gets a copy of
any part of this software from you, with or without
changes, also gets the text of this license or a link to
<https://blueoakcouncil.org/license/1.0.0>.
## Excuse
If anyone notifies you in writing that you have not
complied with [Notices](#notices), you can keep your
license by taking all practical steps to comply within 30
days after the notice. If you do not do so, your license
ends immediately.
## Patent
Each contributor licenses you to do everything with this
software that would otherwise infringe any patent claims
they can license or become able to license.
## Reliability
No contributor can revoke this license.
## No Liability
**_As far as the law allows, this software comes as is,
without any warranty or condition, and no contributor
will be liable to anyone for any damages related to this
software or this license, under any kind of legal claim._**
@@ -0,0 +1,28 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.unreleasedLabels = exports.browserNameMap = void 0;
const unreleasedLabels = exports.unreleasedLabels = {
safari: "tp"
};
const browserNameMap = exports.browserNameMap = {
and_chr: "chrome",
and_ff: "firefox",
android: "android",
chrome: "chrome",
edge: "edge",
firefox: "firefox",
ie: "ie",
ie_mob: "ie",
ios_saf: "ios",
node: "node",
deno: "deno",
op_mob: "opera_mobile",
opera: "opera",
safari: "safari",
samsung: "samsung"
};
//# sourceMappingURL=targets.js.map
@@ -0,0 +1,21 @@
import type { TSESTree } from '@typescript-eslint/types';
import type { VisitorKeys } from '@typescript-eslint/visitor-keys';
export interface VisitorOptions {
childVisitorKeys?: VisitorKeys | null;
visitChildrenEvenIfSelectorExists?: boolean;
}
export declare abstract class VisitorBase {
#private;
constructor(options: VisitorOptions);
/**
* Default method for visiting children.
* @param node the node whose children should be visited
* @param excludeArr a list of keys to not visit
*/
visitChildren<T extends TSESTree.Node>(node: T | null | undefined, excludeArr?: (keyof T)[]): void;
/**
* Dispatching node.
*/
visit(node: TSESTree.Node | null | undefined): void;
}
export type { VisitorKeys } from '@typescript-eslint/visitor-keys';
@@ -0,0 +1,22 @@
'use strict';
var test = require('tape');
var stringify = require('../');
test('toJSON function', function (t) {
t.plan(1);
var obj = { one: 1, two: 2, toJSON: function() { return { one: 1 }; } };
t.equal(stringify(obj), '{"one":1}' );
});
test('toJSON returns string', function (t) {
t.plan(1);
var obj = { one: 1, two: 2, toJSON: function() { return 'one'; } };
t.equal(stringify(obj), '"one"');
});
test('toJSON returns array', function (t) {
t.plan(1);
var obj = { one: 1, two: 2, toJSON: function() { return ['one']; } };
t.equal(stringify(obj), '["one"]');
});
@@ -0,0 +1 @@
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../lib/vocabularies/applicator/properties.ts"],"names":[],"mappings":";;AACA,qDAAiD;AACjD,kCAA2D;AAC3D,6CAA4E;AAC5E,iEAA0C;AAE1C,MAAM,GAAG,GAA0B;IACjC,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,QAAQ;IACpB,IAAI,CAAC,GAAe;QAClB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAC,GAAG,GAAG,CAAA;QACjD,IAAI,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK,IAAI,YAAY,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC1F,8BAAK,CAAC,IAAI,CAAC,IAAI,qBAAU,CAAC,EAAE,EAAE,8BAAK,EAAE,sBAAsB,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,0BAAmB,EAAC,MAAM,CAAC,CAAA;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAChE,EAAE,CAAC,KAAK,GAAG,qBAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAA,aAAM,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;QAClE,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,wBAAiB,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE/B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,mBAAmB,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,EAAE,CAAC,IAAA,qBAAc,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;gBAC9D,mBAAmB,CAAC,IAAI,CAAC,CAAA;gBACzB,IAAI,CAAC,EAAE,CAAC,SAAS;oBAAE,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAC9C,GAAG,CAAC,KAAK,EAAE,CAAA;YACb,CAAC;YACD,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QACf,CAAC;QAED,SAAS,UAAU,CAAC,IAAY;YAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,CAAA;QACvF,CAAC;QAED,SAAS,mBAAmB,CAAC,IAAY;YACvC,GAAG,CAAC,SAAS,CACX;gBACE,OAAO,EAAE,YAAY;gBACrB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;aACf,EACD,KAAK,CACN,CAAA;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAED,kBAAe,GAAG,CAAA"}
@@ -0,0 +1,46 @@
import { Env, MiddlewareHandler } from "../../types.js";
import { Context } from "../../context.js";
//#region src/helper/ssg/middleware.d.ts
export declare const SSG_CONTEXT = "HONO_SSG_CONTEXT";
export declare const X_HONO_DISABLE_SSG_HEADER_KEY = "x-hono-disable-ssg";
/**
* @deprecated
* Use `X_HONO_DISABLE_SSG_HEADER_KEY` instead.
* This constant will be removed in the next minor version.
*/
export declare const SSG_DISABLED_RESPONSE: Response;
interface SSGParam {
[key: string]: string;
}
export type SSGParams = SSGParam[];
interface SSGParamsMiddleware {
<E extends Env = Env>(generateParams: (c: Context<E>) => SSGParams | Promise<SSGParams>): MiddlewareHandler<E>;
<E extends Env = Env>(params: SSGParams): MiddlewareHandler<E>;
}
export type AddedSSGDataRequest = Request & {
ssgParams?: SSGParams;
};
/**
* Define SSG Route
*/
export declare const ssgParams: SSGParamsMiddleware;
/**
* @experimental
* `isSSGContext` is an experimental feature.
* The API might be changed.
*/
export declare const isSSGContext: (c: Context) => boolean;
/**
* @experimental
* `disableSSG` is an experimental feature.
* The API might be changed.
*/
export declare const disableSSG: () => MiddlewareHandler;
/**
* @experimental
* `onlySSG` is an experimental feature.
* The API might be changed.
*/
export declare const onlySSG: () => MiddlewareHandler;
//#endregion
export {};
@@ -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 ArrowBigDownDash = createLucideIcon("ArrowBigDownDash", [
["path", { d: "M15 5H9", key: "1tp3ed" }],
["path", { d: "M15 9v3h4l-7 7-7-7h4V9z", key: "ncdc4b" }]
]);
export { ArrowBigDownDash as default };
//# sourceMappingURL=arrow-big-down-dash.js.map
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/compile/validate/index.ts"],"names":[],"mappings":";;;AASA,6CAAoE;AACpE,yCAAiE;AACjE,mDAA6D;AAC7D,yCAAmF;AACnF,yCAAyC;AACzC,uCAAkG;AAClG,2CAAiG;AACjG,wCAAwF;AACxF,oCAAwB;AACxB,wCAAqC;AACrC,kCAOgB;AAEhB,sCAMkB;AAElB,mGAAmG;AACnG,SAAgB,oBAAoB,CAAC,EAAa;IAChD,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,CAAC,CAAA;QACjB,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,gBAAgB,CAAC,EAAE,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAA,iCAAoB,EAAC,EAAE,CAAC,CAAC,CAAA;AACtD,CAAC;AATD,oDASC;AAED,SAAS,gBAAgB,CACvB,EAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAY,EACvD,IAAW;IAEX,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,IAAI,KAAK,eAAC,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE;YACvE,GAAG,CAAC,IAAI,CAAC,IAAA,WAAC,EAAA,iBAAiB,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YACzD,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CACtF,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACjD,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAqB;IAC9C,OAAO,IAAA,WAAC,EAAA,IAAI,eAAC,CAAC,YAAY,QAAQ,eAAC,CAAC,UAAU,KAAK,eAAC,CAAC,kBAAkB,KAAK,eAAC,CAAC,QAAQ,IACpF,eAAC,CAAC,IACJ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,WAAC,EAAA,KAAK,eAAC,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,aAAG,MAAM,CAAA;AAC9D,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY,EAAE,IAAqB;IAC/D,GAAG,CAAC,EAAE,CACJ,eAAC,CAAC,MAAM,EACR,GAAG,EAAE;QACH,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,YAAY,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,MAAM,IAAI,eAAC,CAAC,YAAY,EAAE,CAAC,CAAA;QACzD,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,UAAU,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,MAAM,IAAI,eAAC,CAAC,UAAU,EAAE,CAAC,CAAA;QACrD,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,kBAAkB,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,MAAM,IAAI,eAAC,CAAC,kBAAkB,EAAE,CAAC,CAAA;QACrE,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,QAAQ,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,MAAM,IAAI,eAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjD,IAAI,IAAI,CAAC,UAAU;YAAE,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,cAAc,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,MAAM,IAAI,eAAC,CAAC,cAAc,EAAE,CAAC,CAAA;IACpF,CAAC,EACD,GAAG,EAAE;QACH,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,YAAY,EAAE,IAAA,WAAC,EAAA,IAAI,CAAC,CAAA;QAC9B,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,UAAU,EAAE,IAAA,WAAC,EAAA,WAAW,CAAC,CAAA;QACnC,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,kBAAkB,EAAE,IAAA,WAAC,EAAA,WAAW,CAAC,CAAA;QAC3C,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,QAAQ,EAAE,eAAC,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,UAAU;YAAE,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,cAAc,EAAE,IAAA,WAAC,EAAA,IAAI,CAAC,CAAA;IACvD,CAAC,CACF,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAgB;IACxC,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAC,GAAG,EAAE,CAAA;IAC9B,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;YAAE,cAAc,CAAC,EAAE,CAAC,CAAA;QACxD,cAAc,CAAC,EAAE,CAAC,CAAA;QAClB,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACxB,GAAG,CAAC,GAAG,CAAC,eAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACpB,IAAI,IAAI,CAAC,WAAW;YAAE,cAAc,CAAC,EAAE,CAAC,CAAA;QACxC,eAAe,CAAC,EAAE,CAAC,CAAA;QACnB,aAAa,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IACF,OAAM;AACR,CAAC;AAED,SAAS,cAAc,CAAC,EAAgB;IACtC,6GAA6G;IAC7G,MAAM,EAAC,GAAG,EAAE,YAAY,EAAC,GAAG,EAAE,CAAA;IAC9B,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,IAAA,WAAC,EAAA,GAAG,YAAY,YAAY,CAAC,CAAA;IACnE,GAAG,CAAC,EAAE,CAAC,IAAA,WAAC,EAAA,GAAG,EAAE,CAAC,SAAS,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAA,WAAC,EAAA,GAAG,EAAE,CAAC,SAAS,QAAQ,EAAE,IAAA,WAAC,EAAA,WAAW,CAAC,CAAC,CAAA;IACjG,GAAG,CAAC,EAAE,CAAC,IAAA,WAAC,EAAA,GAAG,EAAE,CAAC,SAAS,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAA,WAAC,EAAA,GAAG,EAAE,CAAC,SAAS,QAAQ,EAAE,IAAA,WAAC,EAAA,WAAW,CAAC,CAAC,CAAA;AACnG,CAAC;AAED,SAAS,aAAa,CAAC,MAAiB,EAAE,IAAqB;IAC7D,MAAM,KAAK,GAAG,OAAO,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChE,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,WAAC,EAAA,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,aAAG,CAAA;AAC9F,CAAC;AAED,0FAA0F;AAC1F,SAAS,aAAa,CAAC,EAAa,EAAE,KAAW;IAC/C,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,CAAC,CAAA;QACjB,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;IACH,CAAC;IACD,IAAA,8BAAiB,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAC,MAAM,EAAE,IAAI,EAAY;IAClD,IAAI,OAAO,MAAM,IAAI,SAAS;QAAE,OAAO,CAAC,MAAM,CAAA;IAC9C,KAAK,MAAM,GAAG,IAAI,MAAM;QAAE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;IAC9D,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAC,EAAa;IAChC,OAAO,OAAO,EAAE,CAAC,MAAM,IAAI,SAAS,CAAA;AACtC,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAgB,EAAE,KAAW;IACrD,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,EAAE,CAAA;IAC9B,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAAE,cAAc,CAAC,EAAE,CAAC,CAAA;IACxD,aAAa,CAAC,EAAE,CAAC,CAAA;IACjB,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACpLine truncated
@@ -0,0 +1,34 @@
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _charcodes = require('./charcodes');
var _whitespace = require('./whitespace');
function computeIsIdentifierChar(code) {
if (code < 48) return code === 36;
if (code < 58) return true;
if (code < 65) return false;
if (code < 91) return true;
if (code < 97) return code === 95;
if (code < 123) return true;
if (code < 128) return false;
throw new Error("Should not be called with non-ASCII char code.");
}
const IS_IDENTIFIER_CHAR = new Uint8Array(65536); exports.IS_IDENTIFIER_CHAR = IS_IDENTIFIER_CHAR;
for (let i = 0; i < 128; i++) {
exports.IS_IDENTIFIER_CHAR[i] = computeIsIdentifierChar(i) ? 1 : 0;
}
for (let i = 128; i < 65536; i++) {
exports.IS_IDENTIFIER_CHAR[i] = 1;
}
// Aside from whitespace and newlines, all characters outside the ASCII space are either
// identifier characters or invalid. Since we're not performing code validation, we can just
// treat all invalid characters as identifier characters.
for (const whitespaceChar of _whitespace.WHITESPACE_CHARS) {
exports.IS_IDENTIFIER_CHAR[whitespaceChar] = 0;
}
exports.IS_IDENTIFIER_CHAR[0x2028] = 0;
exports.IS_IDENTIFIER_CHAR[0x2029] = 0;
const IS_IDENTIFIER_START = exports.IS_IDENTIFIER_CHAR.slice(); exports.IS_IDENTIFIER_START = IS_IDENTIFIER_START;
for (let numChar = _charcodes.charCodes.digit0; numChar <= _charcodes.charCodes.digit9; numChar++) {
exports.IS_IDENTIFIER_START[numChar] = 0;
}
@@ -0,0 +1,175 @@
import { expect, expectTypeOf, test } from "vitest";
import * as z from "zod/v4";
const literalStringSchema = z.literal("asdf");
const literalNumberSchema = z.literal(12);
const literalBooleanSchema = z.literal(true);
const literalBigIntSchema = z.literal(BigInt(42));
const stringSchema = z.string();
const numberSchema = z.number();
const bigintSchema = z.bigint();
const booleanSchema = z.boolean();
const dateSchema = z.date();
const symbolSchema = z.symbol();
const nullSchema = z.null();
const undefinedSchema = z.undefined();
const stringSchemaOptional = z.string().optional();
const stringSchemaNullable = z.string().nullable();
const numberSchemaOptional = z.number().optional();
const numberSchemaNullable = z.number().nullable();
const bigintSchemaOptional = z.bigint().optional();
const bigintSchemaNullable = z.bigint().nullable();
const booleanSchemaOptional = z.boolean().optional();
const booleanSchemaNullable = z.boolean().nullable();
const dateSchemaOptional = z.date().optional();
const dateSchemaNullable = z.date().nullable();
const symbolSchemaOptional = z.symbol().optional();
const symbolSchemaNullable = z.symbol().nullable();
test("literal string schema", () => {
expect(literalStringSchema.parse("asdf")).toBe("asdf");
expect(() => literalStringSchema.parse("not_asdf")).toThrow();
expect(() => literalStringSchema.parse(123)).toThrow();
expect(() => literalStringSchema.parse(true)).toThrow();
expect(() => literalStringSchema.parse({})).toThrow();
});
test("literal number schema", () => {
expect(literalNumberSchema.parse(12)).toBe(12);
expect(() => literalNumberSchema.parse(13)).toThrow();
expect(() => literalNumberSchema.parse("foo")).toThrow();
expect(() => literalNumberSchema.parse(true)).toThrow();
expect(() => literalNumberSchema.parse({})).toThrow();
});
test("literal boolean schema", () => {
expect(literalBooleanSchema.parse(true)).toBe(true);
expect(() => literalBooleanSchema.parse(false)).toThrow();
expect(() => literalBooleanSchema.parse("asdf")).toThrow();
expect(() => literalBooleanSchema.parse(123)).toThrow();
expect(() => literalBooleanSchema.parse({})).toThrow();
});
test("literal bigint schema", () => {
expect(literalBigIntSchema.parse(BigInt(42))).toBe(BigInt(42));
expect(() => literalBigIntSchema.parse(BigInt(43))).toThrow();
expect(() => literalBigIntSchema.parse("asdf")).toThrow();
expect(() => literalBigIntSchema.parse(123)).toThrow();
expect(() => literalBigIntSchema.parse({})).toThrow();
});
test("string schema", () => {
stringSchema.parse("foo");
expect(() => stringSchema.parse(Math.random())).toThrow();
expect(() => stringSchema.parse(true)).toThrow();
expect(() => stringSchema.parse(undefined)).toThrow();
expect(() => stringSchema.parse(null)).toThrow();
});
test("number schema", () => {
numberSchema.parse(Math.random());
expect(() => numberSchema.parse("foo")).toThrow();
expect(() => numberSchema.parse(BigInt(17))).toThrow();
expect(() => numberSchema.parse(true)).toThrow();
expect(() => numberSchema.parse(undefined)).toThrow();
expect(() => numberSchema.parse(null)).toThrow();
});
test("bigint schema", () => {
bigintSchema.parse(BigInt(17));
expect(() => bigintSchema.parse("foo")).toThrow();
expect(() => bigintSchema.parse(Math.random())).toThrow();
expect(() => bigintSchema.parse(true)).toThrow();
expect(() => bigintSchema.parse(undefined)).toThrow();
expect(() => bigintSchema.parse(null)).toThrow();
});
test("boolean schema", () => {
booleanSchema.parse(true);
expect(() => booleanSchema.parse("foo")).toThrow();
expect(() => booleanSchema.parse(Math.random())).toThrow();
expect(() => booleanSchema.parse(undefined)).toThrow();
expect(() => booleanSchema.parse(null)).toThrow();
});
test("date schema", async () => {
dateSchema.parse(new Date());
expect(() => dateSchema.parse("foo")).toThrow();
expect(() => dateSchema.parse(Math.random())).toThrow();
expect(() => dateSchema.parse(true)).toThrow();
expect(() => dateSchema.parse(undefined)).toThrow();
expect(() => dateSchema.parse(null)).toThrow();
expect(await dateSchema.safeParseAsync(new Date("invalid"))).toMatchInlineSnapshot(`
{
"error": [ZodError: [
{
"expected": "date",
"code": "invalid_type",
"received": "Invalid Date",
"path": [],
"message": "Invalid input: expected date, received Date"
}
]],
"success": false,
}
`);
});
test("symbol schema", () => {
symbolSchema.parse(Symbol("foo"));
expect(() => symbolSchema.parse("foo")).toThrow();
expect(() => symbolSchema.parse(Math.random())).toThrow();
expect(() => symbolSchema.parse(true)).toThrow();
expect(() => symbolSchema.parse(new Date())).toThrow();
expect(() => symbolSchema.parse(undefined)).toThrow();
expect(() => symbolSchema.parse(null)).toThrow();
});
test("undefined schema", () => {
undefinedSchema.parse(undefined);
expect(() => undefinedSchema.parse("foo")).toThrow();
expect(() => undefinedSchema.parse(Math.random())).toThrow();
expect(() => undefinedSchema.parse(true)).toThrow();
expect(() => undefinedSchema.parse(null)).toThrow();
});
test("null schema", () => {
nullSchema.parse(null);
expect(() => nullSchema.parse("foo")).toThrow();
expect(() => nullSchema.parse(Math.random())).toThrow();
expect(() => nullSchema.parse(true)).toThrow();
expect(() => nullSchema.parse(undefined)).toThrow();
});
test("primitive inference", () => {
expectTypeOf<z.TypeOf<typeof literalStringSchema>>().toEqualTypeOf<"asdf">();
expectTypeOf<z.TypeOf<typeof literalNumberSchema>>().toEqualTypeOf<12>();
expectTypeOf<z.TypeOf<typeof literalBooleanSchema>>().toEqualTypeOf<true>();
expectTypeOf<z.TypeOf<typeof literalBigIntSchema>>().toEqualTypeOf<bigint>();
expectTypeOf<z.TypeOf<typeof stringSchema>>().toEqualTypeOf<string>();
expectTypeOf<z.TypeOf<typeof numberSchema>>().toEqualTypeOf<number>();
expectTypeOf<z.TypeOf<typeof bigintSchema>>().toEqualTypeOf<bigint>();
expectTypeOf<z.TypeOf<typeof booleanSchema>>().toEqualTypeOf<boolean>();
expectTypeOf<z.TypeOf<typeof dateSchema>>().toEqualTypeOf<Date>();
expectTypeOf<z.TypeOf<typeof symbolSchema>>().toEqualTypeOf<symbol>();
expectTypeOf<z.TypeOf<typeof nullSchema>>().toEqualTypeOf<null>();
expectTypeOf<z.TypeOf<typeof undefinedSchema>>().toEqualTypeOf<undefined>();
expectTypeOf<z.TypeOf<typeof stringSchemaOptional>>().toEqualTypeOf<string | undefined>();
expectTypeOf<z.TypeOf<typeof stringSchemaNullable>>().toEqualTypeOf<string | null>();
expectTypeOf<z.TypeOf<typeof numberSchemaOptional>>().toEqualTypeOf<number | undefined>();
expectTypeOf<z.TypeOf<typeof numberSchemaNullable>>().toEqualTypeOf<number | null>();
expectTypeOf<z.TypeOf<typeof bigintSchemaOptional>>().toEqualTypeOf<bigint | undefined>();
expectTypeOf<z.TypeOf<typeof bigintSchemaNullable>>().toEqualTypeOf<bigint | null>();
expectTypeOf<z.TypeOf<typeof booleanSchemaOptional>>().toEqualTypeOf<boolean | undefined>();
expectTypeOf<z.TypeOf<typeof booleanSchemaNullable>>().toEqualTypeOf<boolean | null>();
expectTypeOf<z.TypeOf<typeof dateSchemaOptional>>().toEqualTypeOf<Date | undefined>();
expectTypeOf<z.TypeOf<typeof dateSchemaNullable>>().toEqualTypeOf<Date | null>();
expectTypeOf<z.TypeOf<typeof symbolSchemaOptional>>().toEqualTypeOf<symbol | undefined>();
expectTypeOf<z.TypeOf<typeof symbolSchemaNullable>>().toEqualTypeOf<symbol | null>();
});
test("get literal values", () => {
expect(literalStringSchema.values).toEqual(new Set(["asdf"]));
expect(literalStringSchema._zod.def.values).toEqual(["asdf"]);
});
@@ -0,0 +1 @@
{"version":3,"file":"droplets.js","sources":["../../../src/icons/droplets.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Droplets\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxNi4zYzIuMiAwIDQtMS44MyA0LTQuMDUgMC0xLjE2LS41Ny0yLjI2LTEuNzEtMy4xOVM3LjI5IDYuNzUgNyA1LjNjLS4yOSAxLjQ1LTEuMTQgMi44NC0yLjI5IDMuNzZTMyAxMS4xIDMgMTIuMjVjMCAyLjIyIDEuOCA0LjA1IDQgNC4wNXoiIC8+CiAgPHBhdGggZD0iTTEyLjU2IDYuNkExMC45NyAxMC45NyAwIDAgMCAxNCAzLjAyYy41IDIuNSAyIDQuOSA0IDYuNXMzIDMuNSAzIDUuNWE2Ljk4IDYuOTggMCAwIDEtMTEuOTEgNC45NyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/droplets\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 Droplets = createLucideIcon('Droplets', [\n [\n 'path',\n {\n d: 'M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z',\n key: '1ptgy4',\n },\n ],\n [\n 'path',\n {\n d: 'M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97',\n key: '1sl1rz',\n },\n ],\n]);\n\nexport default Droplets;\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,CAC5C,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA;AAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACP,CAAA,CAAA,CAAA,CAAA;AAAA,CACF,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA;AAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACP,CAAA,CAAA,CAAA,CAAA;AAAA,CACF,CAAA,CAAA;AACF,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,22 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const require_context = require("./context.js");
const require_hono = require("./hono.js");
//#region src/index.ts
/**
* @module
*
* Hono - Web Framework built on Web Standards
*
* @example
* ```ts
* import { Hono } from 'hono'
* const app = new Hono()
*
* app.get('/', (c) => c.text('Hono!'))
*
* export default app
* ```
*/
//#endregion
exports.Context = require_context.Context;
exports.Hono = require_hono.Hono;
@@ -0,0 +1,14 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var debug = require('framer-motion/debug');
Object.keys(debug).forEach(function (k) {
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
enumerable: true,
get: function () { return debug[k]; }
});
});
@@ -0,0 +1,930 @@
flf2a$ 9 9 15 0 11 0 16448 0
Author : myflix
Date : 2007/6/1 16:06:57
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#
#
#
#
#
#
#
#
##
:#
#
#
#
#
#
#
#
##
;#
#
#
#
#
#
#
#
##
<#
#
#
#
#
#
#
#
##
=#
#
#
#
#
#
#
#
##
> >#
#
#
#
#
#
#
#
##
?#
#
#
#
#
#
#
#
##
@#
#
#
#
#
#
#
#
##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| A || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| B || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| C || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| D || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| E || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| F || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| G || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| H || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| I || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| J || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| K || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| L || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| M || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| N || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| O || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| P || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| Q || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| R || #
_.' `-' '._ #
(.-./`-`\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| S || #
_.' `-' '._ #
(.-./`-`\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| T || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| U || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| V || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| W || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| X || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| Y || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| Z || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
[#
#
#
#
#
#
#
#
##
\#
#
#
#
#
#
#
#
##
]#
#
#
#
#
#
#
#
##
^#
#
#
#
#
#
#
#
##
_#
#
#
#
#
#
#
#
##
`#
#
#
#
#
#
#
#
##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| A || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| B || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| C || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| D || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| E || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| F || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| G || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| H || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| I || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| J || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| K || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| L || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| M || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| N || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| O || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| P || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| Q || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| R || #
_.' `-' '._ #
(.-./`-`\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| S || #
_.' `-' '._ #
(.-./`-`\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| T || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| U || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| V || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| W || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| X || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| Y || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| Z || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
{#
#
#
#
#
#
#
#
##
|#
#
#
#
#
#
#
#
##
}#
#
#
#
#
#
#
#
##
~#
#
#
#
#
#
#
#
##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| A || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| O || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| U || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| A || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| O || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
_ _ #
(c).-.(c) #
/ ._. \ #
__\( Y )/__ #
(_.-/'-'\-._)#
|| U || #
_.' `-' '._ #
(.-./`-'\.-.)#
`-' `-' ##
ß#
#
#
#
#
#
#
#
##
@@ -0,0 +1,45 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
/** @typedef {import("./Resolver")} Resolver */
/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */
/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */
module.exports = class JoinRequestPlugin {
/**
* @param {string | ResolveStepHook} source source
* @param {string | ResolveStepHook} target target
*/
constructor(source, target) {
this.source = source;
this.target = target;
}
/**
* @param {Resolver} resolver the resolver
* @returns {void}
*/
apply(resolver) {
const target = resolver.ensureHook(this.target);
resolver
.getHook(this.source)
.tapAsync("JoinRequestPlugin", (request, resolveContext, callback) => {
const requestPath = /** @type {string} */ (request.path);
const requestRequest = /** @type {string} */ (request.request);
/** @type {ResolveRequest} */
const obj = {
...request,
path: resolver.join(requestPath, requestRequest),
relativePath:
request.relativePath &&
resolver.join(request.relativePath, requestRequest),
request: undefined,
};
resolver.doResolve(target, obj, null, resolveContext, callback);
});
}
};
@@ -0,0 +1,67 @@
var asyncHooks = require('async_hooks')
var stackback = require('stackback')
var path = require('path')
var fs = require('fs')
var sep = path.sep
var active = new Map()
var hook = asyncHooks.createHook({
init (asyncId, type, triggerAsyncId, resource) {
if (type === 'TIMERWRAP' || type === 'PROMISE') return
if (type === 'PerformanceObserver' || type === 'RANDOMBYTESREQUEST') return
var err = new Error('whatevs')
var stacks = stackback(err)
active.set(asyncId, {type, stacks, resource})
},
destroy (asyncId) {
active.delete(asyncId)
}
})
hook.enable()
module.exports = whyIsNodeRunning
function whyIsNodeRunning (logger) {
if (!logger) logger = console
hook.disable()
var activeResources = [...active.values()].filter(function(r) {
if (
typeof r.resource.hasRef === 'function'
&& !r.resource.hasRef()
) return false
return true
})
logger.error('There are %d handle(s) keeping the process running', activeResources.length)
for (const o of activeResources) printStacks(o)
function printStacks (o) {
var stacks = o.stacks.slice(1).filter(function (s) {
var filename = s.getFileName()
return filename && filename.indexOf(sep) > -1 && filename.indexOf('internal' + sep) !== 0 && filename.indexOf('node:internal' + sep) !== 0
})
logger.error('')
logger.error('# %s', o.type)
if (!stacks[0]) {
logger.error('(unknown stack trace)')
} else {
var padding = ''
stacks.forEach(function (s) {
var pad = (s.getFileName() + ':' + s.getLineNumber()).replace(/./g, ' ')
if (pad.length > padding.length) padding = pad
})
stacks.forEach(function (s) {
var prefix = s.getFileName() + ':' + s.getLineNumber()
try {
var src = fs.readFileSync(s.getFileName(), 'utf-8').split(/\n|\r\n/)
logger.error(prefix + padding.slice(prefix.length) + ' - ' + src[s.getLineNumber() - 1].trim())
} catch (e) {
logger.error(prefix + padding.slice(prefix.length))
}
})
}
}
}
@@ -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 MessageCircleCode = createLucideIcon("MessageCircleCode", [
["path", { d: "M10 9.5 8 12l2 2.5", key: "3mjy60" }],
["path", { d: "m14 9.5 2 2.5-2 2.5", key: "1bir2l" }],
["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22z", key: "k85zhp" }]
]);
export { MessageCircleCode as default };
//# sourceMappingURL=message-circle-code.js.map
@@ -0,0 +1,829 @@
flf2a$ 8 7 15 0 12 0 16255 0
Author : LG Beard
Date : 2004/6/26 13:47:42
Version: 1.0
Title : twisted
-------------------------------------------------
-------------------------------------------------
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,0 +1 @@
{"version":3,"names":["_assertClassBrand","require","_classCheckPrivateStaticAccess","receiver","classConstructor","returnValue","assertClassBrand"],"sources":["../../src/helpers/classCheckPrivateStaticAccess.js"],"sourcesContent":["/* @minVersion 7.13.10 */\n/* @onlyBabel7 */\n\nimport assertClassBrand from \"assertClassBrand\";\nexport default function _classCheckPrivateStaticAccess(\n receiver,\n classConstructor,\n returnValue,\n) {\n return assertClassBrand(classConstructor, receiver, returnValue);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,iBAAA,GAAAC,OAAA;AACe,SAASC,8BAA8BA,CACpDC,QAAQ,EACRC,gBAAgB,EAChBC,WAAW,EACX;EACA,OAAOC,iBAAgB,CAACF,gBAAgB,EAAED,QAAQ,EAAEE,WAAW,CAAC;AAClE","ignoreList":[]}
@@ -0,0 +1,178 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClassVisitor = void 0;
const types_1 = require("@typescript-eslint/types");
const definition_1 = require("../definition");
const TypeVisitor_1 = require("./TypeVisitor");
const Visitor_1 = require("./Visitor");
class ClassVisitor extends Visitor_1.Visitor {
#referencer;
constructor(referencer) {
super(referencer);
this.#referencer = referencer;
}
static visit(referencer, node) {
const classVisitor = new ClassVisitor(referencer);
classVisitor.visitClass(node);
}
visit(node) {
// make sure we only handle the nodes we are designed to handle
if (node && node.type in this) {
super.visit(node);
}
else {
this.#referencer.visit(node);
}
}
///////////////////
// Visit helpers //
///////////////////
visitClass(node) {
if (node.type === types_1.AST_NODE_TYPES.ClassDeclaration && node.id) {
this.#referencer
.currentScope()
.defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node));
}
node.decorators.forEach(d => this.#referencer.visit(d));
this.#referencer.scopeManager.nestClassScope(node);
if (node.id) {
// define the class name again inside the new scope
// references to the class should not resolve directly to the parent class
this.#referencer
.currentScope()
.defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node));
}
this.#referencer.visit(node.superClass);
// visit the type param declarations
this.visitType(node.typeParameters);
// then the usages
this.visitType(node.superTypeArguments);
node.implements.forEach(imp => this.visitType(imp));
this.visit(node.body);
this.#referencer.close(node);
}
visitFunctionParameterTypeAnnotation(node) {
switch (node.type) {
case types_1.AST_NODE_TYPES.AssignmentPattern:
this.visitType(node.left.typeAnnotation);
break;
case types_1.AST_NODE_TYPES.TSParameterProperty:
this.visitFunctionParameterTypeAnnotation(node.parameter);
break;
default:
this.visitType(node.typeAnnotation);
}
}
visitMethod(node) {
if (node.computed) {
this.#referencer.visit(node.key);
}
if (node.value.type === types_1.AST_NODE_TYPES.FunctionExpression) {
this.visitMethodFunction(node.value);
}
else {
this.#referencer.visit(node.value);
}
node.decorators.forEach(d => this.#referencer.visit(d));
}
visitMethodFunction(node) {
if (node.id) {
// FunctionExpression with name creates its special scope;
// FunctionExpressionNameScope.
this.#referencer.scopeManager.nestFunctionExpressionNameScope(node);
}
node.params.forEach(param => {
param.decorators.forEach(d => this.visit(d));
});
// Consider this function is in the MethodDefinition.
this.#referencer.scopeManager.nestFunctionScope(node, true);
// Process parameter declarations.
for (const param of node.params) {
this.visitPattern(param, (pattern, info) => {
this.#referencer
.currentScope()
.defineIdentifier(pattern, new definition_1.ParameterDefinition(pattern, node, info.rest));
this.#referencer.referencingDefaultValue(pattern, info.assignments, null, true);
}, { processRightHandNodes: true });
this.visitFunctionParameterTypeAnnotation(param);
}
this.visitType(node.returnType);
this.visitType(node.typeParameters);
this.#referencer.visitChildren(node.body);
this.#referencer.close(node);
}
visitPropertyBase(node) {
if (node.computed) {
this.#referencer.visit(node.key);
}
if (node.value) {
if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition ||
node.type === types_1.AST_NODE_TYPES.AccessorProperty) {
this.#referencer.scopeManager.nestClassFieldInitializerScope(node.value);
}
this.#referencer.visit(node.value);
if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition ||
node.type === types_1.AST_NODE_TYPES.AccessorProperty) {
this.#referencer.close(node.value);
}
}
node.decorators.forEach(d => this.#referencer.visit(d));
}
visitPropertyDefinition(node) {
this.visitPropertyBase(node);
/**
* class A {
* @meta // <--- check this
* foo: Type;
* }
*/
this.visitType(node.typeAnnotation);
}
visitType(node) {
if (!node) {
return;
}
TypeVisitor_1.TypeVisitor.visit(this.#referencer, node);
}
/////////////////////
// Visit selectors //
/////////////////////
AccessorProperty(node) {
this.visitPropertyDefinition(node);
}
ClassBody(node) {
// this is here on purpose so that this visitor explicitly declares visitors
// for all nodes it cares about (see the instance visit method above)
this.visitChildren(node);
}
Identifier(node) {
this.#referencer.visit(node);
}
MethodDefinition(node) {
this.visitMethod(node);
}
PrivateIdentifier() {
// intentionally skip
}
PropertyDefinition(node) {
this.visitPropertyDefinition(node);
}
StaticBlock(node) {
this.#referencer.scopeManager.nestClassStaticBlockScope(node);
node.body.forEach(b => this.visit(b));
this.#referencer.close(node);
}
TSAbstractAccessorProperty(node) {
this.visitPropertyDefinition(node);
}
TSAbstractMethodDefinition(node) {
this.visitPropertyBase(node);
}
TSAbstractPropertyDefinition(node) {
this.visitPropertyDefinition(node);
}
TSIndexSignature(node) {
this.visitType(node);
}
}
exports.ClassVisitor = ClassVisitor;
@@ -0,0 +1,522 @@
flf2a$ 5 4 14 -1 11 0 0 0
Author : Bateau (lbm)
Date : 2005/2/4 11:04:37
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,92 @@
export { M as ModuleMocker, c as createCompilerHints } from './chunk-mocker.js';
import { M as MockerRegistry } from './chunk-registry.js';
import { c as createManualModuleSource, a as cleanUrl } from './chunk-utils.js';
export { M as ModuleMockerServerInterceptor } from './chunk-interceptor-native.js';
import './chunk-helpers.js';
import './index.js';
import './chunk-pathe.M-eThtNZ.js';
class ModuleMockerMSWInterceptor {
mocks = new MockerRegistry();
startPromise;
worker;
constructor(options = {}) {
this.options = options;
if (!options.globalThisAccessor) {
options.globalThisAccessor = "\"__vitest_mocker__\"";
}
}
async register(module) {
await this.init();
this.mocks.add(module);
}
async delete(url) {
await this.init();
this.mocks.delete(url);
}
async invalidate() {
this.mocks.clear();
}
async resolveManualMock(mock) {
const exports$1 = Object.keys(await mock.resolve());
const text = createManualModuleSource(mock.url, exports$1, this.options.globalThisAccessor);
return new Response(text, { headers: { "Content-Type": "application/javascript" } });
}
async init() {
if (this.worker) {
return this.worker;
}
if (this.startPromise) {
return this.startPromise;
}
const worker = this.options.mswWorker;
this.startPromise = Promise.all([worker ? { setupWorker(handler) {
worker.use(handler);
return worker;
} } : import('msw/browser'), import('msw/core/http')]).then(([{ setupWorker }, { http }]) => {
const worker = setupWorker(http.get(/.+/, async ({ request }) => {
const path = cleanQuery(request.url.slice(location.origin.length));
if (!this.mocks.has(path)) {
return passthrough();
}
const mock = this.mocks.get(path);
switch (mock.type) {
case "manual": return this.resolveManualMock(mock);
case "automock":
case "autospy": return Response.redirect(injectQuery(path, `mock=${mock.type}`));
case "redirect": return Response.redirect(mock.redirect);
default: throw new Error(`Unknown mock type: ${mock.type}`);
}
}));
return worker.start(this.options.mswOptions).then(() => worker);
}).finally(() => {
this.worker = worker;
this.startPromise = undefined;
});
return await this.startPromise;
}
}
const trailingSeparatorRE = /[?&]$/;
const timestampRE = /\bt=\d{13}&?\b/;
const versionRE = /\bv=\w{8}&?\b/;
function cleanQuery(url) {
return url.replace(timestampRE, "").replace(versionRE, "").replace(trailingSeparatorRE, "");
}
function passthrough() {
return new Response(null, {
status: 302,
statusText: "Passthrough",
headers: { "x-msw-intention": "passthrough" }
});
}
const replacePercentageRE = /%/g;
function injectQuery(url, queryToInject) {
// encode percents for consistent behavior with pathToFileURL
// see #2614 for details
const resolvedUrl = new URL(url.replace(replacePercentageRE, "%25"), location.href);
const { search, hash } = resolvedUrl;
const pathname = cleanUrl(url);
return `${pathname}?${queryToInject}${search ? `&${search.slice(1)}` : ""}${hash ?? ""}`;
}
export { ModuleMockerMSWInterceptor };
@@ -0,0 +1,69 @@
{
"name": "seroval",
"type": "module",
"version": "1.6.11",
"files": [
"dist"
],
"engines": {
"node": ">=10"
},
"license": "MIT",
"keywords": [
"pridepack",
"solid-js",
"tanstack",
"serialization"
],
"devDependencies": {
"@types/node": "^26.2.0",
"@vitest/ui": "^4.1.10",
"esbuild": "^0.28.2",
"temporal-polyfill": "^1.0.4",
"ts-prune": "^0.10.3",
"tsdown": "^0.22.14",
"tslib": "^2.8.1",
"typescript": "^7.0.2",
"vitest": "^4.1.10"
},
"private": false,
"description": "Stringify JS values",
"repository": {
"url": "https://github.com/lxsmnsyc/seroval.git",
"type": "git"
},
"homepage": "https://github.com/lxsmnsyc/seroval/tree/main/packages/seroval",
"bugs": {
"url": "https://github.com/lxsmnsyc/seroval/issues"
},
"publishConfig": {
"access": "public"
},
"author": "Alexis Munsayac",
"types": "./dist/index.d.cts",
"exports": {
".": {
"development": {
"import": "./dist/dev/index.js",
"require": "./dist/dev/index.cjs",
"default": "./dist/dev/index.js"
},
"import": "./dist/index.js",
"require": "./dist/index.cjs",
"default": "./dist/index.js"
},
"./package.json": "./package.json"
},
"typesVersions": {
"*": {}
},
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"scripts": {
"build": "tsdown",
"watch": "tsdown --watch",
"test": "vitest",
"test:ui": "vitest --ui",
"prune": "ts-prune"
}
}
@@ -0,0 +1,2 @@
import type { LibDefinition } from '../variable';
export declare const es2018_full: LibDefinition;
@@ -0,0 +1,401 @@
/**
* @fileoverview Disallow redundant return statements
* @author Teddy Katz
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const astUtils = require("./utils/ast-utils"),
FixTracker = require("./utils/fix-tracker");
//------------------------------------------------------------------------------
// Helpers
//------------------------------------------------------------------------------
/**
* Removes the given element from the array.
* @param {Array} array The source array to remove.
* @param {any} element The target item to remove.
* @returns {void}
*/
function remove(array, element) {
const index = array.indexOf(element);
if (index !== -1) {
array.splice(index, 1);
}
}
/**
* Checks whether it can remove the given return statement or not.
* @param {ASTNode} node The return statement node to check.
* @returns {boolean} `true` if the node is removable.
*/
function isRemovable(node) {
return astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type);
}
/**
* Checks whether the given return statement is in a `finally` block or not.
* @param {ASTNode} node The return statement node to check.
* @returns {boolean} `true` if the node is in a `finally` block.
*/
function isInFinally(node) {
for (
let currentNode = node;
currentNode && currentNode.parent && !astUtils.isFunction(currentNode);
currentNode = currentNode.parent
) {
if (
currentNode.parent.type === "TryStatement" &&
currentNode.parent.finalizer === currentNode
) {
return true;
}
}
return false;
}
/**
* Checks all segments in a set and returns true if any are reachable.
* @param {Set<CodePathSegment>} segments The segments to check.
* @returns {boolean} True if any segment is reachable; false otherwise.
*/
function isAnySegmentReachable(segments) {
for (const segment of segments) {
if (segment.reachable) {
return true;
}
}
return false;
}
//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
/** @type {import('../types').Rule.RuleModule} */
module.exports = {
meta: {
type: "suggestion",
docs: {
description: "Disallow redundant return statements",
recommended: false,
url: "https://eslint.org/docs/latest/rules/no-useless-return",
},
fixable: "code",
schema: [],
messages: {
unnecessaryReturn: "Unnecessary return statement.",
},
},
create(context) {
const segmentInfoMap = new WeakMap();
const sourceCode = context.sourceCode;
let scopeInfo = null;
/**
* Checks whether the given segment is terminated by a return statement or not.
* @param {CodePathSegment} segment The segment to check.
* @returns {boolean} `true` if the segment is terminated by a return statement, or if it's still a part of unreachable.
*/
function isReturned(segment) {
const info = segmentInfoMap.get(segment);
return !info || info.returned;
}
/**
* Collects useless return statements from the given previous segments.
*
* A previous segment may be an unreachable segment.
* In that case, the information object of the unreachable segment is not
* initialized because `onCodePathSegmentStart` event is not notified for
* unreachable segments.
* This goes to the previous segments of the unreachable segment recursively
* if the unreachable segment was generated by a return statement. Otherwise,
* this ignores the unreachable segment.
*
* This behavior would simulate code paths for the case that the return
* statement does not exist.
* @param {ASTNode[]} uselessReturns The collected return statements.
* @param {CodePathSegment[]} prevSegments The previous segments to traverse.
* @param {WeakSet<CodePathSegment>} [providedTraversedSegments] A set of segments that have already been traversed in this call
* @returns {ASTNode[]} `uselessReturns`.
*/
function getUselessReturns(
uselessReturns,
prevSegments,
providedTraversedSegments,
) {
const traversedSegments =
providedTraversedSegments || new WeakSet();
for (const segment of prevSegments) {
if (!segment.reachable) {
if (!traversedSegments.has(segment)) {
traversedSegments.add(segment);
getUselessReturns(
uselessReturns,
segment.allPrevSegments.filter(isReturned),
traversedSegments,
);
}
continue;
}
if (segmentInfoMap.has(segment)) {
uselessReturns.push(
...segmentInfoMap.get(segment).uselessReturns,
);
}
}
return uselessReturns;
}
/**
* Removes the return statements on the given segment from the useless return
* statement list.
*
* This segment may be an unreachable segment.
* In that case, the information object of the unreachable segment is not
* initialized because `onCodePathSegmentStart` event is not notified for
* unreachable segments.
* This goes to the previous segments of the unreachable segment recursively
* if the unreachable segment was generated by a return statement. Otherwise,
* this ignores the unreachable segment.
*
* This behavior would simulate code paths for the case that the return
* statement does not exist.
* @param {CodePathSegment} segment The segment to get return statements.
* @param {Set<CodePathSegment>} usedUnreachableSegments A set of segments that have already been traversed in this call.
* @returns {void}
*/
function markReturnStatementsOnSegmentAsUsed(
segment,
usedUnreachableSegments,
) {
if (!segment.reachable) {
usedUnreachableSegments.add(segment);
segment.allPrevSegments
.filter(isReturned)
.filter(
prevSegment =>
!usedUnreachableSegments.has(prevSegment),
)
.forEach(prevSegment =>
markReturnStatementsOnSegmentAsUsed(
prevSegment,
usedUnreachableSegments,
),
);
return;
}
const info = segmentInfoMap.get(segment);
if (!info) {
return;
}
info.uselessReturns = info.uselessReturns.filter(node => {
if (
scopeInfo.traversedTryBlockStatements &&
scopeInfo.traversedTryBlockStatements.length > 0
) {
const returnInitialRange = node.range[0];
const returnFinalRange = node.range[1];
const areBlocksInRange =
scopeInfo.traversedTryBlockStatements.some(
tryBlockStatement => {
const blockInitialRange =
tryBlockStatement.range[0];
const blockFinalRange =
tryBlockStatement.range[1];
return (
returnInitialRange >= blockInitialRange &&
returnFinalRange <= blockFinalRange
);
},
);
if (areBlocksInRange) {
return true;
}
}
remove(scopeInfo.uselessReturns, node);
return false;
});
}
/**
* Removes the return statements on the current segments from the useless
* return statement list.
*
* This function will be called at every statement except FunctionDeclaration,
* BlockStatement, and BreakStatement.
*
* - FunctionDeclarations are always executed whether it's returned or not.
* - BlockStatements do nothing.
* - BreakStatements go the next merely.
* @returns {void}
*/
function markReturnStatementsOnCurrentSegmentsAsUsed() {
scopeInfo.currentSegments.forEach(segment =>
markReturnStatementsOnSegmentAsUsed(segment, new Set()),
);
}
//----------------------------------------------------------------------
// Public
//----------------------------------------------------------------------
return {
// Makes and pushes a new scope information.
onCodePathStart(codePath) {
scopeInfo = {
upper: scopeInfo,
uselessReturns: [],
traversedTryBlockStatements: [],
codePath,
currentSegments: new Set(),
};
},
// Reports useless return statements if exist.
onCodePathEnd() {
for (const node of scopeInfo.uselessReturns) {
context.report({
node,
loc: node.loc,
messageId: "unnecessaryReturn",
fix(fixer) {
if (
isRemovable(node) &&
!sourceCode.getCommentsInside(node).length
) {
/*
* Extend the replacement range to include the
* entire function to avoid conflicting with
* no-else-return.
* https://github.com/eslint/eslint/issues/8026
*/
return new FixTracker(fixer, sourceCode)
.retainEnclosingFunction(node)
.remove(node);
}
return null;
},
});
}
scopeInfo = scopeInfo.upper;
},
/*
* Initializes segments.
* NOTE: This event is notified for only reachable segments.
*/
onCodePathSegmentStart(segment) {
scopeInfo.currentSegments.add(segment);
const info = {
uselessReturns: getUselessReturns(
[],
segment.allPrevSegments,
),
returned: false,
};
// Stores the info.
segmentInfoMap.set(segment, info);
},
onUnreachableCodePathSegmentStart(segment) {
scopeInfo.currentSegments.add(segment);
},
onUnreachableCodePathSegmentEnd(segment) {
scopeInfo.currentSegments.delete(segment);
},
onCodePathSegmentEnd(segment) {
scopeInfo.currentSegments.delete(segment);
},
// Adds ReturnStatement node to check whether it's useless or not.
ReturnStatement(node) {
if (node.argument) {
markReturnStatementsOnCurrentSegmentsAsUsed();
}
if (
node.argument ||
astUtils.isInLoop(node) ||
isInFinally(node) ||
// Ignore `return` statements in unreachable places (https://github.com/eslint/eslint/issues/11647).
!isAnySegmentReachable(scopeInfo.currentSegments)
) {
return;
}
for (const segment of scopeInfo.currentSegments) {
const info = segmentInfoMap.get(segment);
if (info) {
info.uselessReturns.push(node);
info.returned = true;
}
}
scopeInfo.uselessReturns.push(node);
},
"TryStatement > BlockStatement.block:exit"(node) {
scopeInfo.traversedTryBlockStatements.push(node);
},
"TryStatement:exit"() {
scopeInfo.traversedTryBlockStatements.pop();
},
/*
* Registers for all statement nodes except FunctionDeclaration, BlockStatement, BreakStatement.
* Removes return statements of the current segments from the useless return statement list.
*/
ClassDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
ContinueStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
DebuggerStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
DoWhileStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
EmptyStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
ExpressionStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
ForInStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
ForOfStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
ForStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
IfStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
ImportDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
LabeledStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
SwitchStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
ThrowStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
TryStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
VariableDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
WhileStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
WithStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
ExportNamedDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
ExportDefaultDeclaration:
markReturnStatementsOnCurrentSegmentsAsUsed,
ExportAllDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
};
},
};
@@ -0,0 +1 @@
{"version":3,"file":"unsupported-easing.mjs","sources":["../../../../../src/animation/waapi/utils/unsupported-easing.ts"],"sourcesContent":["import { anticipate, backInOut, circInOut } from \"motion-utils\"\nimport { ValueAnimationTransition } from \"../../types\"\n\nconst unsupportedEasingFunctions = {\n anticipate,\n backInOut,\n circInOut,\n}\n\nfunction isUnsupportedEase(\n key: string\n): key is keyof typeof unsupportedEasingFunctions {\n return key in unsupportedEasingFunctions\n}\n\nexport function replaceStringEasing(transition: ValueAnimationTransition) {\n if (\n typeof transition.ease === \"string\" &&\n isUnsupportedEase(transition.ease)\n ) {\n transition.ease = unsupportedEasingFunctions[transition.ease]\n }\n}\n"],"names":[],"mappings":";;AAGA,MAAM,0BAA0B,GAAG;IAC/B,UAAU;IACV,SAAS;IACT,SAAS;CACZ;AAED,SAAS,iBAAiB,CACtB,GAAW,EAAA;IAEX,OAAO,GAAG,IAAI,0BAA0B;AAC5C;AAEM,SAAU,mBAAmB,CAAC,UAAoC,EAAA;AACpE,IAAA,IACI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;AACnC,QAAA,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EACpC;QACE,UAAU,CAAC,IAAI,GAAG,0BAA0B,CAAC,UAAU,CAAC,IAAI,CAAC;IACjE;AACJ;;;;"}
@@ -0,0 +1,632 @@
flf2a$ 6 6 15 -1 19
The elder futhark -- by Bryan Alexander
(alexande@mathcs.rhodes.edu)
figlet release 2.1 -- 12 Aug 1994
This font consists of the runes in the elder futhark. It is accurate as
far as I know. Any corrections, or ideas on improving the font's appearance
are welcome. Modifying this font is fine with me; please e-mail me the
result.
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
6 - height of a character, not including descenders
15 - max line length (excluding comment lines) + a fudge factor
-1 - default smushmode for this font
19 - number of comment lines
$ $@
$ $@
$ _ $@
$|_|$@
$ $@
$ $@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
__/\__@
\ /@
/_ _\@
\/ @
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
_ @
|_|@
_ @
|_|@
_ @
|_|@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
_ @
(_)@
@
(_)@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
|\ @
| \ @
|\ @
| \ @
| @
| @@
|~\ @
| > @
|_/ @
|~\ @
| > @
|_/ @@
| @
| @
| @
|\ @
| \ @
| \ @@
|\ /| @
| \ / | @
| \/ | @
| /\ | @
| / \ | @
|/ \| @@
|\ /| @
| \ / | @
| \/ | @
| | @
| | @
| | @@
| / / @
|/ / @
| / @
|/ @
| @
| @@
\ / @
\ / @
\/ @
/\ @
/ \ @
/ \ @@
| | @
|\ | @
| \ | @
| \ | @
| \| @
| | @@
| @
| @
| @
| @
| @
| @@
/ @
/ @
\ \ @
\ \ @
/ @
/ @@
/ @
/ @
/ @
\ @
\ @
\ @@
|\ @
| \ @
| \ @
| @
| @
| @@
|\ /| @
| \/ | @
| /\ | @
|/ \| @
| | @
| | @@
| @
\ | @
\| @
|\ @
| \ @
| @@
/~\ @
/ \ @
\ / @
\ / @
/ \ @
/ \ @@
|\ / @
| \/ @
| @
| @
| /\ @
|/ \ @@
@
@
@
@
@
@@
|~\ @
| \ @
| / @
|_/ @
| \ @
| \ @@
/ @
/ @
/____ @
/ @
/ @
/ @@
/|\ @
/ | \ @
/ | \ @
| @
| @
| @@
|\ @
| \ @
| \ @
| | @
| | @
| | @@
|\ @
| \ @
| \ @
| | @
| | @
| | @@
|\ @
| > @
|/ @
| @
| @
| @@
@
@
@
@
@
@@
|~~-__ @
| | @
|_____| @
| | | @
| | | @
| | | @@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@@ -0,0 +1 @@
{"version":3,"file":"file-badge-2.js","sources":["../../../src/icons/file-badge-2.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name FileBadge2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjdaIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTE0IDJ2NGEyIDIgMCAwIDAgMiAyaDQiIC8+CiAgPHBhdGggZD0ibTE0IDEyLjUgMSA1LjUtMy0xLTMgMSAxLTUuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-badge-2\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 FileBadge2 = createLucideIcon('FileBadge2', [\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 ['circle', { cx: '12', cy: '10', r: '3', key: 'ilqhr7' }],\n ['path', { d: 'M14 2v4a2 2 0 0 0 2 2h4', key: 'tnqrlb' }],\n ['path', { d: 'm14 12.5 1 5.5-3-1-3 1 1-5.5', key: '14xlky' }],\n]);\n\nexport default FileBadge2;\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,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,CAC3F,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA;AAAA,CAAA,CACxD,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,CAAgC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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;AAC/D,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,117 @@
/**
* @fileoverview A rule to disallow duplicate name in class members.
* @author Toru Nagashima
*/
"use strict";
const astUtils = require("./utils/ast-utils");
//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
/** @type {import('../types').Rule.RuleModule} */
module.exports = {
meta: {
type: "problem",
dialects: ["javascript", "typescript"],
language: "javascript",
docs: {
description: "Disallow duplicate class members",
recommended: true,
url: "https://eslint.org/docs/latest/rules/no-dupe-class-members",
},
schema: [],
messages: {
unexpected: "Duplicate name '{{name}}'.",
},
},
create(context) {
let stack = [];
/**
* Gets state of a given member name.
* @param {string} name A name of a member.
* @param {boolean} isStatic A flag which specifies that is a static member.
* @returns {Object} A state of a given member name.
* - retv.init {boolean} A flag which shows the name is declared as normal member.
* - retv.get {boolean} A flag which shows the name is declared as getter.
* - retv.set {boolean} A flag which shows the name is declared as setter.
*/
function getState(name, isStatic) {
const stateMap = stack.at(-1);
const key = `$${name}`; // to avoid "__proto__".
if (!stateMap[key]) {
stateMap[key] = {
nonStatic: { init: false, get: false, set: false },
static: { init: false, get: false, set: false },
};
}
return stateMap[key][isStatic ? "static" : "nonStatic"];
}
return {
// Initializes the stack of state of member declarations.
Program() {
stack = [];
},
// Initializes state of member declarations for the class.
ClassBody() {
stack.push(Object.create(null));
},
// Disposes the state for the class.
"ClassBody:exit"() {
stack.pop();
},
// Reports the node if its name has been declared already.
"MethodDefinition, PropertyDefinition"(node) {
if (
node.value &&
node.value.type === "TSEmptyBodyFunctionExpression"
) {
return;
}
const name = astUtils.getStaticPropertyName(node);
const kind =
node.type === "MethodDefinition" ? node.kind : "field";
if (name === null || kind === "constructor") {
return;
}
const state = getState(name, node.static);
let isDuplicate;
if (kind === "get") {
isDuplicate = state.init || state.get;
state.get = true;
} else if (kind === "set") {
isDuplicate = state.init || state.set;
state.set = true;
} else {
isDuplicate = state.init || state.get || state.set;
state.init = true;
}
if (isDuplicate) {
context.report({
loc: node.key.loc,
messageId: "unexpected",
data: { name },
});
}
},
};
},
};