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 { TSESLint } from '@typescript-eslint/utils';
export type Options = ['fields' | 'getters'];
export type MessageIds = 'preferFieldStyle' | 'preferFieldStyleSuggestion' | 'preferGetterStyle' | 'preferGetterStyleSuggestion';
declare const _default: TSESLint.RuleModule<MessageIds, Options, import("../../rules").ESLintPluginDocs, TSESLint.RuleListener> & {
name: string;
};
export default _default;
@@ -0,0 +1,95 @@
#!/usr/bin/env node
"use strict";
/**
* Example MCP server using the high-level McpServer API with outputSchema
* This demonstrates how to easily create tools with structured output
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const mcp_js_1 = require("../../server/mcp.js");
const stdio_js_1 = require("../../server/stdio.js");
const z = __importStar(require("zod/v4"));
const server = new mcp_js_1.McpServer({
name: 'mcp-output-schema-high-level-example',
version: '1.0.0'
});
// Define a tool with structured output - Weather data
server.registerTool('get_weather', {
description: 'Get weather information for a city',
inputSchema: {
city: z.string().describe('City name'),
country: z.string().describe('Country code (e.g., US, UK)')
},
outputSchema: {
temperature: z.object({
celsius: z.number(),
fahrenheit: z.number()
}),
conditions: z.enum(['sunny', 'cloudy', 'rainy', 'stormy', 'snowy']),
humidity: z.number().min(0).max(100),
wind: z.object({
speed_kmh: z.number(),
direction: z.string()
})
}
}, async ({ city, country }) => {
// Parameters are available but not used in this example
void city;
void country;
// Simulate weather API call
const temp_c = Math.round((Math.random() * 35 - 5) * 10) / 10;
const conditions = ['sunny', 'cloudy', 'rainy', 'stormy', 'snowy'][Math.floor(Math.random() * 5)];
const structuredContent = {
temperature: {
celsius: temp_c,
fahrenheit: Math.round(((temp_c * 9) / 5 + 32) * 10) / 10
},
conditions,
humidity: Math.round(Math.random() * 100),
wind: {
speed_kmh: Math.round(Math.random() * 50),
direction: ['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW'][Math.floor(Math.random() * 8)]
}
};
return {
content: [
{
type: 'text',
text: JSON.stringify(structuredContent, null, 2)
}
],
structuredContent
};
});
async function main() {
const transport = new stdio_js_1.StdioServerTransport();
await server.connect(transport);
console.error('High-level Output Schema Example Server running on stdio');
}
main().catch(error => {
console.error('Server error:', error);
process.exit(1);
});
//# sourceMappingURL=mcpServerOutputSchema.js.map
@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const baseLogFactory = require("base-log-factory");
const colors = {
[baseLogFactory.Level.FATAL]: "magenta",
[baseLogFactory.Level.ERROR]: "red",
[baseLogFactory.Level.WARN]: "yellow",
[baseLogFactory.Level.INFO]: "green",
[baseLogFactory.Level.DEBUG]: "cyan",
[baseLogFactory.Level.TRACE]: "blue",
[baseLogFactory.Level.OFF]: "reset"
};
exports.colors = colors;
@@ -0,0 +1,27 @@
/**
* @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 TreePalm = createLucideIcon("TreePalm", [
["path", { d: "M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4", key: "foxbe7" }],
[
"path",
{ d: "M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3", key: "18arnh" }
],
[
"path",
{
d: "M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35",
key: "ywahnh"
}
],
["path", { d: "M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14", key: "ft0feo" }]
]);
export { TreePalm as default };
//# sourceMappingURL=tree-palm.js.map
@@ -0,0 +1,170 @@
import { optimizedAppearDataId, startWaapiAnimation, getOptimisedAppearId } from 'motion-dom';
import { noop } from 'motion-utils';
import { handoffOptimizedAppearAnimation } from './handoff.mjs';
import { appearAnimationStore, appearComplete } from './store.mjs';
import { appearStoreId } from './store-id.mjs';
/**
* A single time to use across all animations to manually set startTime
* and ensure they're all in sync.
*/
let startFrameTime;
/**
* A dummy animation to detect when Chrome is ready to start
* painting the page and hold off from triggering the real animation
* until then. We only need one animation to detect paint ready.
*
* https://bugs.chromium.org/p/chromium/issues/detail?id=1406850
*/
let readyAnimation;
/**
* Keep track of animations that were suspended vs cancelled so we
* can easily resume them when we're done measuring layout.
*/
const suspendedAnimations = new Set();
function resumeSuspendedAnimations() {
suspendedAnimations.forEach((data) => {
data.animation.play();
data.animation.startTime = data.startTime;
});
suspendedAnimations.clear();
}
function startOptimizedAppearAnimation(element, name, keyframes, options, onReady) {
// Prevent optimised appear animations if Motion has already started animating.
if (window.MotionIsMounted) {
return;
}
const id = element.dataset[optimizedAppearDataId];
if (!id)
return;
window.MotionHandoffAnimation = handoffOptimizedAppearAnimation;
const storeId = appearStoreId(id, name);
if (!readyAnimation) {
readyAnimation = startWaapiAnimation(element, name, [keyframes[0], keyframes[0]],
/**
* 10 secs is basically just a super-safe duration to give Chrome
* long enough to get the animation ready.
*/
{ duration: 10000, ease: "linear" });
appearAnimationStore.set(storeId, {
animation: readyAnimation,
startTime: null,
});
/**
* If there's no readyAnimation then there's been no instantiation
* of handoff animations.
*/
window.MotionHandoffAnimation = handoffOptimizedAppearAnimation;
window.MotionHasOptimisedAnimation = (elementId, valueName) => {
if (!elementId)
return false;
/**
* Keep a map of elementIds that have started animating. We check
* via ID instead of Element because of hydration errors and
* pre-hydration checks. We also actively record IDs as they start
* animating rather than simply checking for data-appear-id as
* this attrbute might be present but not lead to an animation, for
* instance if the element's appear animation is on a different
* breakpoint.
*/
if (!valueName) {
return appearComplete.has(elementId);
}
const animationId = appearStoreId(elementId, valueName);
return Boolean(appearAnimationStore.get(animationId));
};
window.MotionHandoffMarkAsComplete = (elementId) => {
if (appearComplete.has(elementId)) {
appearComplete.set(elementId, true);
}
};
window.MotionHandoffIsComplete = (elementId) => {
return appearComplete.get(elementId) === true;
};
/**
* We only need to cancel transform animations as
* they're the ones that will interfere with the
* layout animation measurements.
*/
window.MotionCancelOptimisedAnimation = (elementId, valueName, frame, canResume) => {
const animationId = appearStoreId(elementId, valueName);
const data = appearAnimationStore.get(animationId);
if (!data)
return;
if (frame && canResume === undefined) {
/**
* Wait until the end of the subsequent frame to cancel the animation
* to ensure we don't remove the animation before the main thread has
* had a chance to resolve keyframes and render.
*/
frame.postRender(() => {
frame.postRender(() => {
data.animation.cancel();
});
});
}
else {
data.animation.cancel();
}
if (frame && canResume) {
suspendedAnimations.add(data);
frame.render(resumeSuspendedAnimations);
}
else {
appearAnimationStore.delete(animationId);
/**
* If there are no more animations left, we can remove the cancel function.
* This will let us know when we can stop checking for conflicting layout animations.
*/
if (!appearAnimationStore.size) {
window.MotionCancelOptimisedAnimation = undefined;
}
}
};
window.MotionCheckAppearSync = (visualElement, valueName, value) => {
const appearId = getOptimisedAppearId(visualElement);
if (!appearId)
return;
const valueIsOptimised = window.MotionHasOptimisedAnimation?.(appearId, valueName);
const externalAnimationValue = visualElement.props.values?.[valueName];
if (!valueIsOptimised || !externalAnimationValue)
return;
const removeSyncCheck = value.on("change", (latestValue) => {
if (externalAnimationValue.get() !== latestValue) {
window.MotionCancelOptimisedAnimation?.(appearId, valueName);
removeSyncCheck();
}
});
return removeSyncCheck;
};
}
const startAnimation = () => {
readyAnimation.cancel();
const appearAnimation = startWaapiAnimation(element, name, keyframes, options);
/**
* Record the time of the first started animation. We call performance.now() once
* here and once in handoff to ensure we're getting
* close to a frame-locked time. This keeps all animations in sync.
*/
if (startFrameTime === undefined) {
startFrameTime = performance.now();
}
appearAnimation.startTime = startFrameTime;
appearAnimationStore.set(storeId, {
animation: appearAnimation,
startTime: startFrameTime,
});
if (onReady)
onReady(appearAnimation);
};
appearComplete.set(id, false);
if (readyAnimation.ready) {
readyAnimation.ready.then(startAnimation).catch(noop);
}
else {
startAnimation();
}
}
export { startOptimizedAppearAnimation };
//# sourceMappingURL=start.mjs.map
@@ -0,0 +1,48 @@
import { dealias, isAsyncFile, isAsyncNoFile, isSyncFile, isSyncNoFile, } from './options.js';
export const makeCommand = (syncFile, asyncFile, syncNoFile, asyncNoFile, validate) => {
return Object.assign((opt_ = [], entries, cb) => {
if (Array.isArray(opt_)) {
entries = opt_;
opt_ = {};
}
if (typeof entries === 'function') {
cb = entries;
entries = undefined;
}
entries = !entries ? [] : Array.from(entries);
const opt = dealias(opt_);
validate?.(opt, entries);
if (isSyncFile(opt)) {
if (typeof cb === 'function') {
throw new TypeError('callback not supported for sync tar functions');
}
return syncFile(opt, entries);
}
else if (isAsyncFile(opt)) {
const p = asyncFile(opt, entries);
return cb ? p.then(() => cb(), cb) : p;
}
else if (isSyncNoFile(opt)) {
if (typeof cb === 'function') {
throw new TypeError('callback not supported for sync tar functions');
}
return syncNoFile(opt, entries);
}
else if (isAsyncNoFile(opt)) {
if (typeof cb === 'function') {
throw new TypeError('callback only supported with file option');
}
return asyncNoFile(opt, entries);
/* c8 ignore start */
}
throw new Error('impossible options??');
/* c8 ignore stop */
}, {
syncFile,
asyncFile,
syncNoFile,
asyncNoFile,
validate,
});
};
//# sourceMappingURL=make-command.js.map
@@ -0,0 +1,161 @@
/**
* @since v17.0.0
*/
declare module "readline/promises" {
import { Abortable } from "node:events";
import {
CompleterResult,
Direction,
Interface as _Interface,
ReadLineOptions as _ReadLineOptions,
} from "node:readline";
/**
* Instances of the `readlinePromises.Interface` class are constructed using the `readlinePromises.createInterface()` method. Every instance is associated with a
* single `input` `Readable` stream and a single `output` `Writable` stream.
* The `output` stream is used to print prompts for user input that arrives on,
* and is read from, the `input` stream.
* @since v17.0.0
*/
class Interface extends _Interface {
/**
* The `rl.question()` method displays the `query` by writing it to the `output`,
* waits for user input to be provided on `input`, then invokes the `callback` function passing the provided input as the first argument.
*
* When called, `rl.question()` will resume the `input` stream if it has been
* paused.
*
* If the `Interface` was created with `output` set to `null` or `undefined` the `query` is not written.
*
* If the question is called after `rl.close()`, it returns a rejected promise.
*
* Example usage:
*
* ```js
* const answer = await rl.question('What is your favorite food? ');
* console.log(`Oh, so your favorite food is ${answer}`);
* ```
*
* Using an `AbortSignal` to cancel a question.
*
* ```js
* const signal = AbortSignal.timeout(10_000);
*
* signal.addEventListener('abort', () => {
* console.log('The food question timed out');
* }, { once: true });
*
* const answer = await rl.question('What is your favorite food? ', { signal });
* console.log(`Oh, so your favorite food is ${answer}`);
* ```
* @since v17.0.0
* @param query A statement or query to write to `output`, prepended to the prompt.
* @return A promise that is fulfilled with the user's input in response to the `query`.
*/
question(query: string): Promise<string>;
question(query: string, options: Abortable): Promise<string>;
}
/**
* @since v17.0.0
*/
class Readline {
/**
* @param stream A TTY stream.
*/
constructor(
stream: NodeJS.WritableStream,
options?: {
autoCommit?: boolean | undefined;
},
);
/**
* The `rl.clearLine()` method adds to the internal list of pending action an
* action that clears current line of the associated `stream` in a specified
* direction identified by `dir`.
* Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
* @since v17.0.0
* @return this
*/
clearLine(dir: Direction): this;
/**
* The `rl.clearScreenDown()` method adds to the internal list of pending action an
* action that clears the associated stream from the current position of the
* cursor down.
* Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
* @since v17.0.0
* @return this
*/
clearScreenDown(): this;
/**
* The `rl.commit()` method sends all the pending actions to the associated `stream` and clears the internal list of pending actions.
* @since v17.0.0
*/
commit(): Promise<void>;
/**
* The `rl.cursorTo()` method adds to the internal list of pending action an action
* that moves cursor to the specified position in the associated `stream`.
* Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
* @since v17.0.0
* @return this
*/
cursorTo(x: number, y?: number): this;
/**
* The `rl.moveCursor()` method adds to the internal list of pending action an
* action that moves the cursor _relative_ to its current position in the
* associated `stream`.
* Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
* @since v17.0.0
* @return this
*/
moveCursor(dx: number, dy: number): this;
/**
* The `rl.rollback` methods clears the internal list of pending actions without
* sending it to the associated `stream`.
* @since v17.0.0
* @return this
*/
rollback(): this;
}
type Completer = (line: string) => CompleterResult | Promise<CompleterResult>;
interface ReadLineOptions extends Omit<_ReadLineOptions, "completer"> {
/**
* An optional function used for Tab autocompletion.
*/
completer?: Completer | undefined;
}
/**
* The `readlinePromises.createInterface()` method creates a new `readlinePromises.Interface` instance.
*
* ```js
* import readlinePromises from 'node:readline/promises';
* const rl = readlinePromises.createInterface({
* input: process.stdin,
* output: process.stdout,
* });
* ```
*
* Once the `readlinePromises.Interface` instance is created, the most common case
* is to listen for the `'line'` event:
*
* ```js
* rl.on('line', (line) => {
* console.log(`Received: ${line}`);
* });
* ```
*
* If `terminal` is `true` for this instance then the `output` stream will get
* the best compatibility if it defines an `output.columns` property and emits
* a `'resize'` event on the `output` if or when the columns ever change
* (`process.stdout` does this automatically when it is a TTY).
* @since v17.0.0
*/
function createInterface(
input: NodeJS.ReadableStream,
output?: NodeJS.WritableStream,
completer?: Completer,
terminal?: boolean,
): Interface;
function createInterface(options: ReadLineOptions): Interface;
}
declare module "node:readline/promises" {
export * from "readline/promises";
}
@@ -0,0 +1 @@
{"version":3,"file":"dom.js","sources":["../../src/animation/utils/is-dom-keyframes.ts","../../src/animation/animate/resolve-subjects.ts","../../src/animation/sequence/utils/calc-repeat-duration.ts","../../src/animation/sequence/utils/calc-time.ts","../../src/animation/sequence/utils/edit.ts","../../src/animation/sequence/utils/normalize-times.ts","../../src/animation/sequence/utils/sort.ts","../../src/animation/sequence/create.ts","../../src/animation/utils/create-visual-element.ts","../../src/animation/animate/subject.ts","../../src/animation/animate/sequence.ts","../../src/animation/animate/index.ts","../../src/animation/animators/waapi/animate-elements.ts","../../src/animation/animators/waapi/animate-style.ts","../../src/render/dom/scroll/utils/can-use-native-timeline.ts","../../src/render/dom/scroll/info.ts","../../src/render/dom/scroll/offsets/inset.ts","../../src/render/dom/scroll/offsets/edge.ts","../../src/render/dom/scroll/offsets/offset.ts","../../src/render/dom/scroll/offsets/presets.ts","../../src/render/dom/scroll/offsets/index.ts","../../src/render/dom/scroll/on-scroll-handler.ts","../../src/render/dom/scroll/track.ts","../../src/render/dom/scroll/utils/offset-to-range.ts","../../src/render/dom/scroll/utils/get-timeline.ts","../../src/render/dom/scroll/attach-animation.ts","../../src/render/dom/scroll/attach-function.ts","../../src/render/dom/scroll/index.ts","../../src/render/dom/viewport/index.ts","../../src/utils/distance.ts"],"sourcesContent":["import { DOMKeyframesDefinition } from \"motion-dom\"\n\nexport function isDOMKeyframes(\n keyframes: unknown\n): keyframes is DOMKeyframesDefinition {\n return typeof keyframes === \"object\" && !Array.isArray(keyframes)\n}\n","import {\n AnimationScope,\n DOMKeyframesDefinition,\n SelectorCache,\n resolveElements,\n} from \"motion-dom\"\nimport { ObjectTarget } from \"../sequence/types\"\nimport { isDOMKeyframes } from \"../utils/is-dom-keyframes\"\n\nexport function resolveSubjects<O extends {}>(\n subject:\n | string\n | Element\n | Element[]\n | NodeListOf<Element>\n | O\n | O[]\n | null\n | undefined,\n keyframes: DOMKeyframesDefinition | ObjectTarget<O>,\n scope?: AnimationScope,\n selectorCache?: SelectorCache\n) {\n if (subject == null) {\n return []\n }\n\n if (typeof subject === \"string\" && isDOMKeyframes(keyframes)) {\n return resolveElements(subject, scope, selectorCache)\n } else if (subject instanceof NodeList) {\n return Array.from(subject)\n } else if (Array.isArray(subject)) {\n return subject.filter((s) => s != null)\n } else {\n return [subject]\n }\n}\n","export function calculateRepeatDuration(\n duration: number,\n repeat: number,\n _repeatDelay: number\n): number {\n return duration * (repeat + 1)\n}\n","import { SequenceTime } from \"../types\"\n\n/**\n * Given a absolute or relative time definition and current/prev time state of the sequence,\n * calculate an absolute time for the next keyframes.\n */\nexport function calcNextTime(\n current: number,\n next: SequenceTime,\n prev: number,\n labels: Map<string, number>\n): number {\n if (typeof next === \"number\") {\n return next\n } else if (next.startsWith(\"-\") || next.startsWith(\"+\")) {\n return Math.max(0, current + parseFloat(next))\n } else if (next === \"<\") {\n return prev\n } else if (next.startsWith(\"<\")) {\n return Math.max(0, prev + parseFloat(next.slice(1)))\n } else {\n return labels.get(next) ?? current\n }\n}\n","import { mixNumber, UnresolvedValueKeyframe } from \"motion-dom\"\nimport { Easing, getEasingForSegment, removeItem } from \"motion-utils\"\nimport type { ValueSequence } from \"../types\"\n\nexport function eraseKeyframes(\n sequence: ValueSequence,\n startTime: number,\n endTime: number\n): void {\n for (let i = 0; i < sequence.length; i++) {\n const keyframe = sequence[i]\n\n if (keyframe.at > startTime && keyframe.at < endTime) {\n removeItem(sequence, keyframe)\n\n // If we remove this item we have to push the pointer back one\n i--\n }\n }\n}\n\nexport function addKeyframes(\n sequence: ValueSequence,\n keyframes: UnresolvedValueKeyframe[],\n easing: Easing | Easing[],\n offset: number[],\n startTime: number,\n endTime: number\n): void {\n /**\n * Erase every existing value between currentTime and targetTime,\n * this will essentially splice this timeline into any currently\n * defined ones.\n */\n eraseKeyframes(sequence, startTime, endTime)\n\n for (let i = 0; i < keyframes.length; i++) {\n sequence.push({\n value: keyframes[i],\n at: mixNumber(startTime, endTime, offset[i]),\n easing: getEasingForSegment(easing, i),\n })\n }\n}\n","/**\n * Take an array of Line truncated
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2022 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
@@ -0,0 +1,732 @@
flf2a$ 7 7 11 -1 16 0 0 0
Author :myflix
Date : 2006/4/6 7:38:43
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.
---
Font modified May 26, 2012 by patorjk
Made modifications to the "JK" characters.
$ #
$ #
$ #
$ #
$ #
$ #
$ ##
__ #
| | #
| | #
| | #
|__| #
__ #
|__| ##
_ _ #
| || | #
|_||_| #
#
#
#
##
##
#
#
#
#
#
##
$#
#
#
#
#
#
##
%#
#
#
#
#
#
##
&#
#
#
#
#
#
##
__ #
| | #
|__| #
#
#
#
##
____ #
| | #
| _| #
| | #
| | #
| |_ #
|____| ##
____ #
| | #
|_ | #
| | #
| | #
_| | #
|____| ##
*#
#
#
#
#
#
##
_ #
_| |_ #
|_ _| #
|_| #
#
#
##
#
#
#
#
___ #
|_ | #
|_| ##
#
#
____ #
|____| #
#
#
##
#
#
#
#
___ #
| | #
|___| ##
/#
#
#
#
#
#
##
_______ #
| _ |#
| | | |#
| | | |#
| |_| |#
| |#
|_______|##
____ #
| | #
| | #
| | #
| | #
| | #
|___| ##
_______ #
| |#
|____ |#
____| |#
| ______|#
| |_____ #
|_______|##
_______ #
| |#
|___ |#
___| |#
|___ |#
___| |#
|_______|##
_ ___ #
| | | |#
| |_| |#
| |#
|___ |#
| |#
|___|##
_______ #
| |#
| ____|#
| |____ #
|_____ |#
_____| |#
|_______|##
___ #
| | #
| |___ #
| _ |#
| | | |#
| |_| |#
|_______|##
_______ #
| |#
|___ |#
| |#
| |#
| |#
|___|##
_____ #
| _ | #
| |_| | #
| _ |#
| | | |#
| |_| |#
|_______|##
_______ #
| _ |#
| | | |#
| |_| |#
|___ |#
| |#
|___|##
___ #
| | #
|___| #
___ #
| | #
|___| #
##
___ #
| | #
|___| #
___ #
|_ | #
|_| #
##
<#
#
#
#
#
#
##
____ #
|____| #
____ #
|____| #
#
#
##
>#
#
#
#
#
#
##
______ #
| | #
|___ | #
__| | #
|_____| #
__ #
|__| ##
@#
#
#
#
#
#
##
_______ #
| _ |#
| |_| |#
| |#
| |#
| _ |#
|__| |__|##
_______ #
| _ |#
| |_| |#
| |#
| _ | #
| |_| |#
|_______|##
_______ #
| |#
| |#
| |#
| _|#
| |_ #
|_______|##
______ #
| | #
| _ |#
| | | |#
| |_| |#
| |#
|______| ##
_______ #
| |#
| ___|#
| |___ #
| ___|#
| |___ #
|_______|##
_______ #
| |#
| ___|#
| |___ #
| ___|#
| | #
|___| ##
_______ #
| |#
| ___|#
| | __ #
| || |#
| |_| |#
|_______|##
__ __ #
| | | |#
| |_| |#
| |#
| |#
| _ |#
|__| |__|##
___ #
| | #
| | #
| | #
| | #
| | #
|___| ##
___ #
| |#
| |#
| |#
___| |#
| |#
|_______|##
___ _ #
| | | |#
| |_| |#
| _|#
| |_ #
| _ |#
|___| |_|##
___ #
| | #
| | #
| | #
| |___ #
| |#
|_______|##
__ __ #
| |_| |#
| |#
| |#
| |#
| ||_|| |#
|_| |_|##
__ _ #
| | | |#
| |_| |#
| |#
| _ |#
| | | |#
|_| |__|##
_______ #
| |#
| _ |#
| | | |#
| |_| |#
| |#
|_______|##
_______ #
| |#
| _ |#
| |_| |#
| ___|#
| | #
|___| ##
_______ #
| |#
| _ |#
| | | |#
| |_| |#
| | #
|____||_|##
______ #
| _ | #
| | || #
| |_||_ #
| __ |#
| | | |#
|___| |_|##
_______ #
| |#
| _____|#
| |_____ #
|_____ |#
_____| |#
|_______|##
_______ #
| |#
|_ _|#
| | #
| | #
| | #
|___| ##
__ __ #
| | | |#
| | | |#
| |_| |#
| |#
| |#
|_______|##
__ __ #
| | | |#
| |_| |#
| |#
| |#
| | #
|___| ##
_ _ #
| | _ | |#
| || || |#
| |#
| |#
| _ |#
|__| |__|##
__ __ #
| |_| |#
| |#
| |#
| | #
| _ |#
|__| |__|##
__ __ #
| | | |#
| |_| |#
| |#
|_ _|#
| | #
|___| ##
_______ #
| |#
|____ |#
____| |#
| ______|#
| |_____ #
|_______|##
_____ #
| | #
| _| #
| | #
| | #
| |_ #
|_____| ##
\#
#
#
#
#
#
##
_____ #
| | #
|_ | #
| | #
| | #
_| | #
|_____| ##
___ #
| | #
| _ | #
|_| |_| #
#
#
##
#
#
#
#
#
_____ #
|_____| ##
___ #
| | #
|_ | #
|__| #
#
#
##
_______ #
| _ |#
| |_| |#
| |#
| |#
| _ |#
|__| |__|##
_______ #
| _ |#
| |_| |#
| |#
| _ | #
| |_| |#
|_______|##
_______ #
| |#
| |#
| |#
| _|#
| |_ #
|_______|##
______ #
| | #
| _ |#
| | | |#
| |_| |#
| |#
|______| ##
_______ #
| |#
| ___|#
| |___ #
| ___|#
| |___ #
|_______|##
_______ #
| |#
| ___|#
| |___ #
| ___|#
| | #
|___| ##
_______ #
| |#
| ___|#
| | __ #
| || |#
| |_| |#
|_______|##
__ __ #
| | | |#
| |_| |#
| |#
| |#
| _ |#
|__| |__|##
___ #
| | #
| | #
| | #
| | #
| | #
|___| ##
___ #
| |#
| |#
| |#
___| |#
| |#
|_______|##
___ _ #
| | | |#
| |_| |#
| _|#
| |_ #
| _ |#
|___| |_|##
___ #
| | #
| | #
| | #
| |___ #
| |#
|_______|##
__ __ #
| |_| |#
| |#
| |#
| |#
| ||_|| |#
|_| |_|##
__ _ #
| | | |#
| |_| |#
| |#
| _ |#
| | | |#
|_| |__|##
_______ #
| |#
| _ |#
| | | |#
| |_| |#
| |#
|_______|##
_______ #
| |#
| _ |#
| |_| |#
| ___|#
| | #
|___| ##
_______ #
| |#
| _ |#
| | | |#
| |_| |#
| | #
|____||_|##
______ #
| _ | #
| | || #
| |_||_ #
| __ |#
| | | |#
|___| |_|##
_______ #
| |#
| _____|#
| |_____ #
|_____ |#
_____| |#
|_______|##
_______ #
| |#
|_ _|#
| | #
| | #
| | #
|___| ##
__ __ #
| | | |#
| | | |#
| |_| |#
| |#
| |#
|_______|##
__ __ #
| | | |#
| |_| |#
| |#
| |#
| | #
|___| ##
_ _ #
| | _ | |#
| || || |#
| |#
| |#
| _ |#
|__| |__|##
__ __ #
| |_| |#
| |#
| |#
| | #
| _ |#
|__| |__|##
__ __ #
| | | |#
| |_| |#
| |#
|_ _|#
| | #
|___| ##
_______ #
| |#
|____ |#
____| |#
| ______|#
| |_____ #
|_______|##
{#
#
#
#
#
#
##
|#
#
#
#
#
#
##
}#
#
#
#
#
#
##
~#
#
#
#
#
#
##
_______ #
| _ |#
| |_| |#
| |#
| |#
| _ |#
|__| |__|##
_______ #
| |#
| _ |#
| | | |#
| |_| |#
| |#
|_______|##
__ __ #
| | | |#
| | | |#
| |_| |#
| |#
| |#
|_______|##
_______ #
| _ |#
| |_| |#
| |#
| |#
| _ |#
|__| |__|##
_______ #
| |#
| _ |#
| | | |#
| |_| |#
| |#
|_______|##
__ __ #
| | | |#
| | | |#
| |_| |#
| |#
| |#
|_______|##
ß#
#
#
#
#
#
##
@@ -0,0 +1,40 @@
import { getCurrentSuite } from '@vitest/runner';
import { createChainable } from '@vitest/runner/utils';
import { noop } from '@vitest/utils/helpers';
import { g as getWorkerState } from './utils.BX5Fg8C4.js';
const benchFns = /* @__PURE__ */ new WeakMap();
const benchOptsMap = /* @__PURE__ */ new WeakMap();
function getBenchOptions(key) {
return benchOptsMap.get(key);
}
function getBenchFn(key) {
return benchFns.get(key);
}
const bench = createBenchmark(function(name, fn = noop, options = {}) {
if (getWorkerState().config.mode !== "benchmark") throw new Error("`bench()` is only available in benchmark mode.");
const task = getCurrentSuite().task(formatName(name), {
...this,
meta: { benchmark: true }
});
benchFns.set(task, fn);
benchOptsMap.set(task, options);
// vitest runner sets mode to `todo` if handler is not passed down
// but we store handler separately
if (!this.todo && task.mode === "todo") task.mode = "run";
});
function createBenchmark(fn) {
const benchmark = createChainable([
"skip",
"only",
"todo"
], fn);
benchmark.skipIf = (condition) => condition ? benchmark.skip : benchmark;
benchmark.runIf = (condition) => condition ? benchmark : benchmark.skip;
return benchmark;
}
function formatName(name) {
return typeof name === "string" ? name : typeof name === "function" ? name.name || "<anonymous>" : String(name);
}
export { getBenchOptions as a, bench as b, getBenchFn as g };
@@ -0,0 +1,78 @@
/**
* @fileoverview Default configuration
* @author Nicholas C. Zakas
*/
"use strict";
//-----------------------------------------------------------------------------
// Requirements
//-----------------------------------------------------------------------------
const Rules = require("../rules");
//-----------------------------------------------------------------------------
// Helpers
//-----------------------------------------------------------------------------
const sharedDefaultConfig = [
// intentionally empty config to ensure these files are globbed by default
{
files: ["**/*.js", "**/*.mjs"],
},
{
files: ["**/*.cjs"],
languageOptions: {
sourceType: "commonjs",
ecmaVersion: "latest",
},
},
];
exports.defaultConfig = Object.freeze([
{
plugins: {
"@": {
languages: {
js: require("../languages/js"),
},
/*
* Because we try to delay loading rules until absolutely
* necessary, a proxy allows us to hook into the lazy-loading
* aspect of the rules map while still keeping all of the
* relevant configuration inside of the config array.
*/
rules: new Proxy(
{},
{
get(target, property) {
return Rules.get(property);
},
has(target, property) {
return Rules.has(property);
},
},
),
},
},
language: "@/js",
linterOptions: {
reportUnusedDisableDirectives: 1,
},
},
// default ignores are listed here
{
ignores: ["**/node_modules/", ".git/"],
},
...sharedDefaultConfig,
]);
exports.defaultRuleTesterConfig = Object.freeze([
{ files: ["**"] }, // Make sure the default config matches for all files
...sharedDefaultConfig,
]);
@@ -0,0 +1,718 @@
flf2a$ 7 7 8 0 3 0 64 0
Font Author: Diamond Planet
FIGFont created with: http://patorjk.com/figfont-editor
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
▗█▄▖@
▐▌█ @
▝█▚▖@
▗▄█▞▘@
▀ @
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
▄$@
▞$@
@
@
@
@
@@
@
@
@
@
@
@
@@
▄$@
@
@
@
@
@
@@
▄▀$@
█ @
▄▀ @
@
@
@
@@
▄▀▀▚▖@
█ ▐▌@
█ ▐▌@
▀▄▄▞▘@
@
@
@@
█$@
█$@
█$@
█$@
@
@
@@
▄▄▄▄$@
█$@
█▀▀▀$@
█▄▄▄$@
@
@
@@
▄▄▄▄$@
█$@
▀▀▀█$@
▄▄▄█$@
@
@
@@
▄ ▗▖@
█ ▐▌@
▀▀▀▜▌@
▐▌@
@
@
@@
▄▄▄▄$@
█ @
▀▀▀█$@
▄▄▄█$@
@
@
@@
▄▄▄▄$@
█ @
█▀▀█$@
█▄▄█$@
@
@
@@
▗▄▄▄▖@
▐▌@
▐▌@
▐▌@
@
@
@@
▄▄▄▄$@
█ █$@
█▀▀█$@
█▄▄█$@
@
@
@@
▄▄▄▄$@
█ █$@
▀▀▀█$@
▄▄▄█$@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
▗▄▖ @
▐▌ ▐▌@
▐▛▀▜▌@
▐▌ ▐▌@
@
@
@@
▗▄▄▖ @
▐▌ ▐▌@
▐▛▀▚▖@
▐▙▄▞▘@
@
@
@@
▗▄▄▖@
▐▌ @
▐▌ @
▝▚▄▄▖@
@
@
@@
▗▄▄▄ @
▐▌ █$@
▐▌ █$@
▐▙▄▄▀$@
@
@
@@
▗▄▄▄▖@
▐▌ @
▐▛▀▀▘@
▐▙▄▄▖@
@
@
@@
▗▄▄▄▖@
▐▌ @
▐▛▀▀▘@
▐▌ @
@
@
@@
▗▄▄▖@
▐▌ @
▐▌▝▜▌@
▝▚▄▞▘@
@
@
@@
▗▖ ▗▖@
▐▌ ▐▌@
▐▛▀▜▌@
▐▌ ▐▌@
@
@
@@
▗▄▄▄▖@
█ @
█ @
▗▄█▄▖@
@
@
@@
▗▖@
▐▌@
▐▌@
▗▄▄▞▘@
@
@
@@
▗▖ ▗▖@
▐▌▗▞▘@
▐▛▚▖ @
▐▌ ▐▌@
@
@
@@
▗▖ @
▐▌ @
▐▌ @
▐▙▄▄▖@
@
@
@@
▗▖ ▗▖@
▐▛▚▞▜▌@
▐▌ ▐▌@
▐▌ ▐▌@
@
@
@@
▗▖ ▗▖@
▐▛▚▖▐▌@
▐▌ ▝▜▌@
▐▌ ▐▌@
@
@
@@
▗▄▖ @
▐▌ ▐▌@
▐▌ ▐▌@
▝▚▄▞▘@
@
@
@@
▗▄▄▖ @
▐▌ ▐▌@
▐▛▀▘ @
▐▌ @
@
@
@@
▗▄▄▄▖ @
▐▌ ▐▌ @
▐▌ ▐▌ @
▐▙▄▟▙▖@
@
@
@@
▗▄▄▖ @
▐▌ ▐▌@
▐▛▀▚▖@
▐▌ ▐▌@
@
@
@@
▗▄▄▖@
▐▌ @
▝▀▚▖@
▗▄▄▞▘@
@
@
@@
▗▄▄▄▖@
█ @
█ @
█ @
@
@
@@
▗▖ ▗▖@
▐▌ ▐▌@
▐▌ ▐▌@
▝▚▄▞▘@
@
@
@@
▗▖ ▗▖@
▐▌ ▐▌@
▐▌ ▐▌@
▝▚▞▘ @
@
@
@@
▗▖ ▗▖@
▐▌ ▐▌@
▐▌ ▐▌@
▐▙█▟▌@
@
@
@@
▗▖ ▗▖@
▝▚▞▘ @
▐▌ @
▗▞▘▝▚▖@
@
@
@@
▗▖ ▗▖@
▝▚▞▘ @
▐▌ @
▐▌ @
@
@
@@
▗▄▄▄▄▖@
▗▞▘@
▗▞▘ @
▐▙▄▄▄▖@
@
@
@@
▗▄▄▖ @
▐▌ @
▐▌ @
■ @
■■■$@
@
@@
@
@
@
@
@
@
@@
▗▄▄▖ @
▐▌ @
▐▌ @
■$@
■■■$@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
▗▞▀▜▌@
▝▚▄▟▌@
@
@
@
@
$ @@
▗▖ @
▐▌ @
▐▛▀▚▖@
▐▙▄▞▘@
@
@
@@
▗▞▀▘@
▝▚▄▖@
@
@
@
@
$ @@
▐▌@
▐▌@
▗▞▀▜▌@
▝▚▄▟▌@
@
@
@@
▗▞▀▚▖@
▐▛▀▀▘@
▝▚▄▄▖@
@
@
@
@@
▗▞▀▀▘@
▐▌ @
▐▛▀▘ @
▐▌ @
@
@
$ @@
$ @
@
@
▗▄▖ @
▐▌ ▐▌@
▝▀▜▌@
▐▙▄▞▘@@
▐▌ @
▐▌ @
▐▛▀▚▖@
▐▌ ▐▌@
@
@
$ @@
▄$@
▄$@
█$@
█$@
@
@
@@
▗▖@
▗▖@
▄ ▐▌@
▀▄▄▞▘@
@
@
$ @@
█ ▄$@
█▄▀ @
█ ▀▄$@
█ █$@
@
@
$ @@
█$@
█$@
█$@
█$@
@
@
@@
▄▄▄▄ @
█ █ █$@
█ █$@
@
@
@
$ @@
▄▄▄▄ @
█ █$@
█ █$@
@
@
@
$ @@
▄▄▄ @
█ █$@
▀▄▄▄▀$@
@
@
@
$ @@
▄▄▄▄ @
█ █$@
█▄▄▄▀$@
█ @
▀ @
@
$ @@
▄▄▄▄$@
█ █$@
▀▄▄▄█$@
█$@
▀$@
@
@@
▄▄▄$@
█ @
█ @
@
@
@
$ @@
▄▄▄$@
▀▄▄ @
▄▄▄▀$@
@
@
@
$ @@
■ @
▗▄▟▙▄▖@
▐▌ @
▐▌ @
▐▌ @
@
@@
█ ▐▌@
▀▄▄▞▘@
@
@
@
@
$ @@
▄ ▄$@
█ █$@
▀▄▀ @
@
@
@
$ @@
▄ ▄$@
█ ▄ █$@
█▄█▄█$@
@
@
@
$ @@
▄ ▄$@
▀▄▀ @
▄▀ ▀▄$@
@
@
@
$ @@
▄ ▄$@
█ █$@
▀▀▀█$@
▄ █$@
▀▀▀$ @
@
@@
▄▄▄▄▄$@
▄▄▄▀$@
█▄▄▄▄$@
@
@
@
$ @@
▗▞▘@
▗▞▘ @
▐▌ @
▝▘@
@
@
$ @@
@
@
@
@
@
@
@@
■ @
■ @
■ @
■$@
■ @
■ @
■ @@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@
@
@
@
@
@
@@
@@ -0,0 +1,43 @@
import { createPlugin } from 'seroval'
import type { PluginInfo, SerovalNode } from 'seroval'
export interface ErrorNode extends PluginInfo {
message: SerovalNode
}
/**
* this plugin serializes only the `message` part of an Error
* this helps with serializing e.g. a ZodError which has functions attached that cannot be serialized
*/
export const ShallowErrorPlugin = /* @__PURE__ */ createPlugin<
Error,
ErrorNode
>({
tag: '$TSR/Error',
test(value) {
return value instanceof Error
},
parse: {
sync(value, ctx) {
return {
message: ctx.parse(value.message),
}
},
async async(value, ctx) {
return {
message: await ctx.parse(value.message),
}
},
stream(value, ctx) {
return {
message: ctx.parse(value.message),
}
},
},
serialize(node, ctx) {
return 'new Error(' + ctx.serialize(node.message) + ')'
},
deserialize(node, ctx) {
return new Error(ctx.deserialize(node.message))
},
})
@@ -0,0 +1 @@
module.exports={A:{A:{"2":"_MQ","2340":"_qJ"},B:{"2":"_I","1025":"_K"},C:{"1":"_H _oN","2":"_OC","513":"_IJ _LD _hF","545":"_DR LD"},D:{"1":"_0N _wC","2":"_aD","1025":"_7M _mL _PJ _ZM"},E:{"1":"_QB","2":"_u","164":"L","4644":"_iC _zB"},F:{"2":"_yM _DN _SH _tB","545":"_FL","1025":"_nO"},G:{"1":"_BB","2":"_d","4260":"_xC","4644":"_JC _gC"},H:{"2":"1D"},I:{"2":"_G","1025":"I"},J:{"2":"D","4260":"A"},K:{"2":"_gB","545":"_DL","1025":"H"},L:{"1025":"I"},M:{"1":"YC"},N:{"2340":"_A"},O:{"1025":"bC"},P:{"1025":"_F"},Q:{"1025":"JE"},R:{"1025":"KE"},S:{"1":"ME","4097":"LE"}},B:4,C:"Crisp edges/pixelated images",D:true};
@@ -0,0 +1 @@
{"version":3,"file":"dynamicRef.js","sourceRoot":"","sources":["../../../lib/vocabularies/dynamic/dynamicRef.ts"],"names":[],"mappings":";;;AAEA,mDAAgE;AAChE,+CAAmC;AACnC,qCAAmC;AAEnC,MAAM,GAAG,GAA0B;IACjC,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;CAC3C,CAAA;AAED,SAAgB,UAAU,CAAC,GAAe,EAAE,GAAW;IACrD,MAAM,EAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAC,GAAG,GAAG,CAAA;IAC9B,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,yCAAyC,CAAC,CAAA;IACzF,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;QACjB,WAAW,EAAE,CAAA;IACf,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACrC,WAAW,CAAC,KAAK,CAAC,CAAA;QAClB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;IAED,SAAS,WAAW,CAAC,KAAY;QAC/B,+EAA+E;QAC/E,4EAA4E;QAC5E,sFAAsF;QACtF,qDAAqD;QACrD,kGAAkG;QAClG,yDAAyD;QACzD,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAA,WAAC,EAAA,GAAG,eAAC,CAAC,cAAc,GAAG,IAAA,qBAAW,EAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACrE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAA;QACpC,CAAC;IACH,CAAC;IAED,SAAS,QAAQ,CAAC,QAAc,EAAE,KAAY;QAC5C,OAAO,KAAK;YACV,CAAC,CAAC,GAAG,EAAE,CACH,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;gBACb,IAAA,aAAO,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;gBACtB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACtB,CAAC,CAAC;YACN,CAAC,CAAC,GAAG,EAAE,CAAC,IAAA,aAAO,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AApCD,gCAoCC;AAED,kBAAe,GAAG,CAAA"}
@@ -0,0 +1 @@
{"version":3,"names":["_index","require","_removeTypeDuplicates","_index2","createTSUnionType","typeAnnotations","types","map","type","isTSTypeAnnotation","typeAnnotation","flattened","removeTypeDuplicates","length","tsUnionType"],"sources":["../../../src/builders/typescript/createTSUnionType.ts"],"sourcesContent":["import { tsUnionType } from \"../generated/index.ts\";\nimport removeTypeDuplicates from \"../../modifications/typescript/removeTypeDuplicates.ts\";\nimport { isTSTypeAnnotation } from \"../../validators/generated/index.ts\";\nimport type * as t from \"../../index.ts\";\n\n/**\n * Takes an array of `types` and flattens them, removing duplicates and\n * returns a `UnionTypeAnnotation` node containing them.\n */\nexport default function createTSUnionType(\n typeAnnotations: (t.TSTypeAnnotation | t.TSType)[],\n): t.TSType {\n const types = typeAnnotations.map(type => {\n return isTSTypeAnnotation(type) ? type.typeAnnotation : type;\n });\n const flattened = removeTypeDuplicates(types);\n\n if (flattened.length === 1) {\n return flattened[0];\n } else {\n return tsUnionType(flattened);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAOe,SAASG,iBAAiBA,CACvCC,eAAkD,EACxC;EACV,MAAMC,KAAK,GAAGD,eAAe,CAACE,GAAG,CAACC,IAAI,IAAI;IACxC,OAAO,IAAAC,0BAAkB,EAACD,IAAI,CAAC,GAAGA,IAAI,CAACE,cAAc,GAAGF,IAAI;EAC9D,CAAC,CAAC;EACF,MAAMG,SAAS,GAAG,IAAAC,6BAAoB,EAACN,KAAK,CAAC;EAE7C,IAAIK,SAAS,CAACE,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAOF,SAAS,CAAC,CAAC,CAAC;EACrB,CAAC,MAAM;IACL,OAAO,IAAAG,kBAAW,EAACH,SAAS,CAAC;EAC/B;AACF","ignoreList":[]}
@@ -0,0 +1,69 @@
import { htmlTrie } from "./generated/encode-html.js";
import { xmlReplacer, getCodePoint } from "./escape.js";
const htmlReplacer = /[\t\n\f!-,./:-@[-`{-}\u0080-\uFFFF]/g;
/**
* Encodes all characters in the input using HTML entities. This includes
* characters that are valid ASCII characters in HTML documents, such as `#`.
*
* To get a more compact output, consider using the `encodeNonAsciiHTML`
* function, which will only encode characters that are not valid in HTML
* documents, as well as non-ASCII characters.
*
* If a character has no equivalent entity, a numeric hexadecimal reference
* (eg. `&#xfc;`) will be used.
*/
export function encodeHTML(input) {
return encodeHTMLTrieRe(htmlReplacer, input);
}
/**
* Encodes all non-ASCII characters, as well as characters not valid in HTML
* documents using HTML entities. This function will not encode characters that
* are valid in HTML documents, such as `#`.
*
* If a character has no equivalent entity, a numeric hexadecimal reference
* (eg. `&#xfc;`) will be used.
*/
export function encodeNonAsciiHTML(input) {
return encodeHTMLTrieRe(xmlReplacer, input);
}
function encodeHTMLTrieRe(regExp, input) {
let returnValue = "";
let lastIndex = 0;
let match;
while ((match = regExp.exec(input)) !== null) {
const { index } = match;
returnValue += input.substring(lastIndex, index);
const char = input.charCodeAt(index);
let next = htmlTrie.get(char);
if (typeof next === "object") {
// We are in a branch. Try to match the next char.
if (index + 1 < input.length) {
const nextChar = input.charCodeAt(index + 1);
const value = typeof next.n === "number"
? next.n === nextChar
? next.o
: undefined
: next.n.get(nextChar);
if (value !== undefined) {
returnValue += value;
lastIndex = regExp.lastIndex += 1;
continue;
}
}
next = next.v;
}
// We might have a tree node without a value; skip and use a numeric entity.
if (next === undefined) {
const cp = getCodePoint(input, index);
returnValue += `&#x${cp.toString(16)};`;
// Increase by 1 if we have a surrogate pair
lastIndex = regExp.lastIndex += Number(cp !== char);
}
else {
returnValue += next;
lastIndex = index + 1;
}
}
return returnValue + input.substr(lastIndex);
}
//# sourceMappingURL=encode.js.map
@@ -0,0 +1,16 @@
import type {CodeKeywordDefinition} from "../../types"
import type {KeywordCxt} from "../../compile/validate"
import {checkStrictMode} from "../../compile/util"
const def: CodeKeywordDefinition = {
keyword: ["maxContains", "minContains"],
type: "array",
schemaType: "number",
code({keyword, parentSchema, it}: KeywordCxt) {
if (parentSchema.contains === undefined) {
checkStrictMode(it, `"${keyword}" without "contains" is ignored`)
}
},
}
export default def
@@ -0,0 +1 @@
{"version":3,"file":"PanSession.mjs","sources":["../../../../src/gestures/pan/PanSession.ts"],"sourcesContent":["import type { EventInfo, PanHandler } from \"motion-dom\"\nimport { cancelFrame, frame, frameData, isPrimaryPointer } from \"motion-dom\"\nimport {\n millisecondsToSeconds,\n pipe,\n Point,\n secondsToMilliseconds,\n TransformPoint,\n} from \"motion-utils\"\nimport { addPointerEvent } from \"../../events/add-pointer-event\"\nimport { extractEventInfo } from \"../../events/event-info\"\nimport { distance2D } from \"../../utils/distance\"\n\ninterface PanSessionHandlers {\n onSessionStart: PanHandler\n onStart: PanHandler\n onMove: PanHandler\n onEnd: PanHandler\n onSessionEnd: PanHandler\n resumeAnimation: () => void\n}\n\ninterface PanSessionOptions {\n transformPagePoint?: TransformPoint\n dragSnapToOrigin?: boolean | \"x\" | \"y\"\n distanceThreshold?: number\n contextWindow?: (Window & typeof globalThis) | null\n /**\n * Element being dragged. When provided, scroll events on its\n * ancestors and window are compensated so the gesture continues\n * smoothly during scroll.\n */\n element?: HTMLElement | null\n}\n\ninterface TimestampedPoint extends Point {\n timestamp: number\n}\n\nconst overflowStyles = /*#__PURE__*/ new Set([\"auto\", \"scroll\"])\n\n/**\n * @internal\n */\nexport class PanSession {\n /**\n * @internal\n */\n private history: TimestampedPoint[]\n\n /**\n * @internal\n */\n private startEvent: PointerEvent | null = null\n\n /**\n * @internal\n */\n private lastMoveEvent: PointerEvent | null = null\n\n /**\n * @internal\n */\n private lastMoveEventInfo: EventInfo | null = null\n\n /**\n * Raw (untransformed) event info, re-transformed each frame\n * so transformPagePoint sees the current parent matrix.\n * @internal\n */\n private lastRawMoveEventInfo: EventInfo | null = null\n\n /**\n * @internal\n */\n private transformPagePoint?: TransformPoint\n\n /**\n * @internal\n */\n private handlers: Partial<PanSessionHandlers> = {}\n\n /**\n * @internal\n */\n private removeListeners: Function\n\n /**\n * For determining if an animation should resume after it is interupted\n *\n * @internal\n */\n private dragSnapToOrigin: boolean | \"x\" | \"y\"\n\n /**\n * The distance after which panning should start.\n *\n * @internal\n */\n private distanceThreshold: number\n\n /**\n * @internal\n */\n private contextWindow: PanSessionOptions[\"contextWindow\"] = window\n\n /**\n * Scroll positions of scrollable ancestors and window.\n * @internal\n */\n private scrollPositions: Map<Element | Window, Point> = new Map()\n\n /**\n * Cleanup function for scroll listeners.\n * @internal\n */\n private removeScrollListeners: (() => void) | null = null\n\n constructor(\n event: PointerEvent,\n handlers: Partial<PanSessionHandlers>,\n {\n transformPagePoint,\n contextWindow = window,\n dragSnapToOrigin = false,\n distanceThreshold = 3,\n element,\n }: PanSessionOptions = {}\n ) {\n // If we have more than one touch, don't start detecting this gesture\n if (!isPrimaryPointer(event)) return\n\n this.dragSnapToOrigin = dragSnapToOrigin\n this.handlers = handlers\n this.transformPagePoint = transformPagePoint\n this.distanceThreshold = distanceThreshold\n this.contextWindow = contextWindow || window\n\n const info = extractEventInfo(event)\n const initialInfo = transformPoint(info, this.transformPagePoint)\n const { point } = initialInfo\n\n const { timestamp } = frameData\n\n this.history = [{ ...point, timestamp }]\n\n const { onSessionStart } = handlers\n onSessionStart &&\n onSessionStart(event, getPanInfo(initialInfo, this.history))\n\n this.removeListeners = pipe(\n addPointerEvent(\n this.contextWindow,\n \"pointermove\",\n this.handlePointerMove\n ),\n addPointerEvent(\n this.contextWindow,\n \"pointerup\",\n this.handlePointerUp\n ),\n addPointerEvent(\n this.contextWindow,\n \"pointercancel\",\n this.handlePointerUp\n )\n )\n\n // Start scroll tracking if element provided\n if (element) {\n this.startScrollTracking(element)\n }\n }\n\n /**\n * Start tracking scroll on ancestors and window.\n */\n private startScrollTracking(element: HTMLElement): void {\n // Store initial scroll positions for scrollable ancestors\n let current = element.parentElement\Line truncated
@@ -0,0 +1,325 @@
tlf2a 3 3 8 -1 18 0 0 0
===============================================================================
This is emboss.tlf, or “Emboss”, by Sam Hocevar <sam@hocevar.net>. It was
created on September 30th, 2006.
This font is free software. It comes without any warranty, to the extent
permitted by applicable law. You can redistribute it and/or modify it under
the terms of the Do What The Fuck You Want To Public License, Version 2,
as published by Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more
details.
Missing characters: # $ % , ; < >
To create emboss2.tlf, use the following command:
$ sed '/@@/,$y/━┃┏┓┗┛/═║╔╗╚╝/' < emboss.tlf > emboss2.tlf
This font is part of TOIlet’s official distribution. More information
on the TOIlet website at http://caca.zoy.org/wiki/toilet
===============================================================================
@
@
@@
┃!
┛!
┛!!
┛┛"
"
""
@
@
#@@
@
@
$@@
@
@
%@@
┏┛┃ &
┃━┏┛&
━━┛ &&
┛'
'
''
┛(
┃ (
┛((
━ )
┃)
━ ))
┛ ┛*
━┏┛*
┛ ┛**
┃ +
━┏┛+
┛ ++
@
@
,@@
-
━┛-
--
.
.
┛..
┛/
┛ /
┛ //
┏━┃0
┃┛┃0
━━┛00
━┃ 1
┃ 1
━━┛11
━━┃2
┏━┛2
━━┛22
━━┃3
━━┃3
━━┛33
┃ ┃4
━━┃4
┛44
┏━┛5
━━┃5
━━┛55
┏━┛6
┏━┃6
━━┛66
┏━┃7
┃7
┛77
┏━┃8
┏━┃8
━━┛88
┏━┃9
━━┃9
━━┛99
:
┛:
┛::
@
@
;@@
@
@
<@@
=
━━┛=
━━┛==
@
@
>@@
┏━┃?
┛?
┛ ??
┏━┃@
┃┛┛@
━━┛@@
┏━┃A
┏━┃A
┛ ┛AA
┏━ B
┏━┃B
━━ BB
┏━┛C
┃ C
━━┛CC
┏━ D
┃ ┃D
━━ DD
┏━┛E
┏━┛E
━━┛EE
┏━┛F
┏━┛F
┛ FF
┏━┛G
┃ ┃G
━━┛GG
┃ ┃H
┏━┃H
┛ ┛HH
┛I
┃I
┛II
┛J
┃J
━┛JJ
┃ ┃K
┏┛ K
┛ ┛KK
┃ L
┃ L
━━┛LL
┏┏ M
┃┃┃M
┛┛┛MM
┏━ N
┃ ┃N
┛ ┛NN
┏━┃O
┃ ┃O
━━┛OO
┏━┃p
┏━┛P
┛ PP
┏━┃ Q
┃ ┃ Q
━━━┛QQ
┏━┃R
┏┏┛R
┛ ┛RR
┏━┛S
━━┃S
━━┛SS
━┏┛T
┃ T
┛ TT
┃ ┃U
┃ ┃U
━━┛UU
┃ ┃V
┃ ┃V
┛ VV
┃┃┃W
┃┃┃W
━━┛WW
┃ ┃X
┛ X
┛ ┛XX
┃ ┃Y
━┏┛Y
┛ YY
━━┃Z
┏┛ Z
━━┛ZZ
┏┛[
┃ [
━┛[[
┛ \
┛ \
┛\\
━┃]
┃]
━┛]]
┛ ^
┛ ┛^
^^
_
_
━━┛__
┛ `
┛`
``
┏━┃a
┏━┃a
┛ ┛aa
┏━ b
┏━┃b
━━ bb
┏━┛c
┃ c
━━┛cc
┏━ d
┃ ┃d
━━ dd
┏━┛e
┏━┛e
━━┛ee
┏━┛f
┏━┛f
┛ ff
┏━┛g
┃ ┃g
━━┛gg
┃ ┃h
┏━┃h
┛ ┛hh
┛i
┃i
┛ii
┛j
┃j
━┛jj
┃ ┃k
┏┛ k
┛ ┛kk
┃ l
┃ l
━━┛ll
┏┏ m
┃┃┃m
┛┛┛mm
┏━ n
┃ ┃n
┛ ┛nn
┏━┃o
┃ ┃o
━━┛oo
┏━┃p
┏━┛p
┛ pp
┏━┃ q
┃ ┃ q
━━━┛qq
┏━┃r
┏┏┛r
┛ ┛rr
┏━┛s
━━┃s
━━┛ss
━┏┛t
┃ t
┛ tt
┃ ┃u
┃ ┃u
━━┛uu
┃ ┃v
┃ ┃v
┛ vv
┃┃┃w
┃┃┃w
━━┛ww
┃ ┃x
┛ x
┛ ┛xx
┃ ┃y
━┏┛y
┛ yy
━━┃z
┏┛ z
━━┛zz
┏┛{
━┃ {
━┛{{
┃|
┃|
┛||
━┃ }
┏┛}
━┛ }}
┛ ┛~
┛ ┛ ~
~~
┏━┃┏━┛Ä
┏━┃┏━┛Ä
┛ ┛━━┛ÄÄ
┏━┃┏━┛Ö
┃ ┃┏━┛Ö
━━┛━━┛ÖÖ
┃ ┃┏━┛Ü
┃ ┃┏━┛Ü
━━┛━━┛ÜÜ
┏━┃┏━┛ä
┏━┃┏━┛ä
┛ ┛━━┛ää
┏━┃┏━┛ö
┃ ┃┏━┛ö
━━┛━━┛öö
┃ ┃┏━┛ü
┃ ┃┏━┛ü
━━┛━━┛üü
┏━┛┏━┛ß
━━┃━━┃ß
━━┛━━┛ßß
@@ -0,0 +1 @@
{"version":3,"names":["_addComments","require","addComment","node","type","content","line","addComments","value"],"sources":["../../src/comments/addComment.ts"],"sourcesContent":["import addComments from \"./addComments.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Add comment of certain type to a node.\n */\nexport default function addComment<T extends t.Node>(\n node: T,\n type: t.CommentTypeShorthand,\n content: string,\n line?: boolean,\n): T {\n return addComments(node, type, [\n {\n type: line ? \"CommentLine\" : \"CommentBlock\",\n value: content,\n } as t.Comment,\n ]);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAMe,SAASC,UAAUA,CAChCC,IAAO,EACPC,IAA4B,EAC5BC,OAAe,EACfC,IAAc,EACX;EACH,OAAO,IAAAC,oBAAW,EAACJ,IAAI,EAAEC,IAAI,EAAE,CAC7B;IACEA,IAAI,EAAEE,IAAI,GAAG,aAAa,GAAG,cAAc;IAC3CE,KAAK,EAAEH;EACT,CAAC,CACF,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1 @@
module.exports={C:{"49":0.00214,"52":0.00214,"78":0.00214,"115":0.07933,"120":0.13293,"121":0.26371,"127":0.00214,"128":0.00214,"140":0.01286,"146":0.00214,"150":0.00214,"151":0.00214,"152":0.00429,"153":0.09648,"154":0.0536,"155":0.12006,"156":0.16938,"157":0.00643,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 122 123 124 125 126 129 130 131 132 133 134 135 136 137 138 139 141 142 143 144 145 147 148 149 158 159 160 3.5 3.6"},D:{"11":0.00214,"49":0.00214,"53":0.00214,"54":0.00214,"56":0.00214,"57":0.00214,"58":0.00214,"61":0.00214,"63":0.00214,"64":0.00214,"65":0.00643,"66":0.00214,"67":0.00214,"69":0.00429,"70":0.01072,"71":0.00214,"72":0.00429,"73":0.00858,"75":0.00429,"78":0.01072,"79":0.00643,"81":0.00214,"83":0.01715,"86":0.00214,"87":0.00858,"88":0.00429,"90":0.00643,"91":0.00643,"92":0.04502,"93":0.01072,"95":0.00214,"98":0.02787,"99":0.00429,"100":0.00214,"101":0.00429,"102":0.00858,"103":0.03645,"104":0.0193,"105":0.0193,"106":0.03002,"107":0.02144,"108":0.02358,"109":0.6432,"110":0.02144,"111":0.0193,"112":0.0193,"113":0.00429,"114":0.00643,"115":0.00429,"116":0.04717,"117":0.02144,"118":0.3409,"119":0.28515,"120":0.30874,"121":0.00214,"122":0.00429,"123":0.00643,"124":0.02787,"125":0.02144,"126":0.00858,"127":0.00429,"128":0.00429,"130":0.00643,"131":0.06218,"132":0.01501,"133":0.06003,"134":0.02573,"135":0.03859,"136":0.02144,"137":0.03859,"138":0.04717,"139":0.03216,"140":0.03859,"141":0.02573,"142":0.0729,"143":0.01072,"144":0.18867,"145":0.00858,"146":0.06646,"147":0.02358,"148":0.06218,"149":0.07504,"150":0.2487,"151":4.03501,"152":2.1247,"153":1.89958,"154":0.45882,"155":0.01072,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 55 59 60 62 68 74 76 77 80 84 85 89 94 96 97 129 156 157"},F:{"40":0.00214,"46":0.00429,"51":0.00214,"73":0.00214,"79":0.00429,"95":0.0193,"99":0.00214,"100":0.04288,"101":0.09005,"102":0.00214,"133":0.00214,"134":0.04288,"135":0.26371,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 131 132 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00214,"18":0.00214,"92":0.0193,"109":0.00643,"114":0.00214,"119":0.15222,"120":0.13722,"122":0.00214,"137":0.00214,"139":0.09219,"140":0.00214,"141":0.00214,"142":0.00429,"144":0.00214,"145":0.00214,"146":0.00214,"147":0.00429,"148":0.00643,"149":0.00643,"150":0.06218,"151":0.06003,"152":0.47811,"153":0.61962,"154":0.1951,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 121 123 124 125 126 127 128 129 130 131 132 133 134 135 136 138 143"},E:{"27":0.00858,_:"4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.2 16.3 16.4 16.5 17.0 17.3 18.0 18.4 27.1 27.2 TP","15.6":0.00858,"16.1":0.00214,"16.6":0.00643,"17.1":0.00214,"17.2":0.00214,"17.4":0.00214,"17.5":0.00214,"17.6":0.00643,"18.1":0.00214,"18.2":0.00214,"18.3":0.00214,"18.5-18.7":0.00429,"26.0":0.00214,"26.1":0.00858,"26.2":0.01501,"26.3":0.0193,"26.4":0.0193,"26.5":0.03645,"26.6":0.06003},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00108,"5.0-5.1":0.00108,"6.0-6.1":0,"7.0-7.1":0.00215,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.01077,"11.0-11.2":0.00108,"11.3-11.4":0.00215,"12.0-12.1":0,"12.2-12.5":0.028,"13.0-13.1":0,"13.2":0.00539,"13.3":0,"13.4-13.7":0.00108,"14.0-14.4":0.00431,"14.5-14.8":0.00646,"15.0-15.1":0.00646,"15.2-15.3":0.00431,"15.4":0.00539,"15.5":0.00646,"15.6-15.8":0.14002,"16.0":0.01077,"16.1":0.01939,"16.2":0.01077,"16.3":0.0237,"16.4":0.00539,"16.5":0.00862,"16.6-16.7":0.19495,"17.0":0.00754,"17.1":0.01077,"17.2":0.01077,"17.3":0.01616,"17.4":0.02262,"17.5":0.04416,"17.6-17.7":0.11417,"18.0":0.0237,"18.1":0.04739,"18.2":0.06462,"18.3":0.11201,"18.4":0.07001,"18.5-18.7":1.44649,"26.0":0.07001,"26.1":0.07109,"26.2":0.18525,"26.3":0.20033,"26.4":0.14648,"26.5":0.9812,"26.6":6.05414,"27.0":0.46421,"27.1":0,"27.2":0.01185},P:{"20":0.01768,"21":0.00884,"22":0.03536,"23":0.02652,"24":0.11492,"25":0.11492,"26":0.10608,"27":0.11492,"28":0.38897,"29":0.45969,"30":2.34263,_:"4 5.0-5.4 8.2 9.2 10.1 18.0","6.2-6.4":0.02652,"7.2-7.4":0.21216,"11.1-11.2":0.00884,"12.0":0.01768,"13.0":0.01768,"14.0":0.00884,"15.0":0.00884,"16.0":0.02652,"17.0":0.02652,"19.0":0.00884},I:{"0":0.0314,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-Line truncated
@@ -0,0 +1,48 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const codegen_1 = require("../../compile/codegen");
const util_1 = require("../../compile/util");
const equal_1 = require("../../runtime/equal");
const error = {
message: "must be equal to one of the allowed values",
params: ({ schemaCode }) => (0, codegen_1._) `{allowedValues: ${schemaCode}}`,
};
const def = {
keyword: "enum",
schemaType: "array",
$data: true,
error,
code(cxt) {
const { gen, data, $data, schema, schemaCode, it } = cxt;
if (!$data && schema.length === 0)
throw new Error("enum must have non-empty array");
const useLoop = schema.length >= it.opts.loopEnum;
let eql;
const getEql = () => (eql !== null && eql !== void 0 ? eql : (eql = (0, util_1.useFunc)(gen, equal_1.default)));
let valid;
if (useLoop || $data) {
valid = gen.let("valid");
cxt.block$data(valid, loopEnum);
}
else {
/* istanbul ignore if */
if (!Array.isArray(schema))
throw new Error("ajv implementation error");
const vSchema = gen.const("vSchema", schemaCode);
valid = (0, codegen_1.or)(...schema.map((_x, i) => equalCode(vSchema, i)));
}
cxt.pass(valid);
function loopEnum() {
gen.assign(valid, false);
gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._) `${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break()));
}
function equalCode(vSchema, i) {
const sch = schema[i];
return typeof sch === "object" && sch !== null
? (0, codegen_1._) `${getEql()}(${data}, ${vSchema}[${i}])`
: (0, codegen_1._) `${data} === ${sch}`;
}
},
};
exports.default = def;
//# sourceMappingURL=enum.js.map
@@ -0,0 +1,12 @@
"use strict";
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib repo
Object.defineProperty(exports, "__esModule", { value: true });
exports.es2019_intl = void 0;
const base_config_1 = require("./base-config");
exports.es2019_intl = {
libs: [],
variables: [['Intl', base_config_1.TYPE_VALUE]],
};
@@ -0,0 +1 @@
{"version":3,"file":"tickets-plane.js","sources":["../../../src/icons/tickets-plane.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name TicketsPlane\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNSAxN2gxLjIyN2EyIDIgMCAwIDAgMS4zNDUtLjUyTDE4IDEyIiAvPgogIDxwYXRoIGQ9Im0xMiAxMy41IDMuNzUuNSIgLz4KICA8cGF0aCBkPSJtNC41IDggMTAuNTgtNS4wNmExIDEgMCAwIDEgMS4zNDIuNDg4TDE4LjUgOCIgLz4KICA8cGF0aCBkPSJNNiAxMFY4IiAvPgogIDxwYXRoIGQ9Ik02IDE0djEiIC8+CiAgPHBhdGggZD0iTTYgMTl2MiIgLz4KICA8cmVjdCB4PSIyIiB5PSI4IiB3aWR0aD0iMjAiIGhlaWdodD0iMTMiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/tickets-plane\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 TicketsPlane = createLucideIcon('TicketsPlane', [\n ['path', { d: 'M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12', key: '16muxl' }],\n ['path', { d: 'm12 13.5 3.75.5', key: '1i9qhk' }],\n ['path', { d: 'm4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8', key: '12lg5p' }],\n ['path', { d: 'M6 10V8', key: '1y41hn' }],\n ['path', { d: 'M6 14v1', key: 'cao2tf' }],\n ['path', { d: 'M6 19v2', key: '1loha6' }],\n ['rect', { x: '2', y: '8', width: '20', height: '13', rx: '2', key: 'p3bz5l' }],\n]);\n\nexport default TicketsPlane;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,iBAAiB,cAAgB,CAAA,CAAA,CAAA;AAAA,CAAA,CACpD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA4C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACzE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAChD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAgD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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,CAC7E,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAE,CAAA,CAAA,CAAG,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAChF,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,30 @@
/**
* @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 PenTool = createLucideIcon("PenTool", [
[
"path",
{
d: "M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",
key: "nt11vn"
}
],
[
"path",
{
d: "m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",
key: "15qc1e"
}
],
["path", { d: "m2.3 2.3 7.286 7.286", key: "1wuzzi" }],
["circle", { cx: "11", cy: "11", r: "2", key: "xmgehs" }]
]);
export { PenTool as default };
//# sourceMappingURL=pen-tool.js.map
@@ -0,0 +1 @@
module.exports={A:{A:{"2":"_Z","8":"_A"},B:{"1":"_K","8":"_I"},C:{"1":"_IM","2":"_NP","8":"QB _9O","456":"7B _MH","712":"_GD HC"},D:{"1":"_GK","2":"_KO","8":"_cQ","132":"BC _nD _oC"},E:{"2":"_qH","8":"_6H QD","132":"_JB"},F:{"1":"_8F","2":"_GM","132":"_aC _5N _sB"},G:{"2":"_iB","132":"_9"},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":"_hB","2":"J","132":"8D"},Q:{"1":"JE"},R:{"1":"KE"},S:{"1":"ME","8":"LE"}},B:1,C:"Custom Elements (V1)",D:true};
@@ -0,0 +1,312 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _gensync() {
const data = require("gensync");
_gensync = function () {
return data;
};
return data;
}
var _async = require("../gensync-utils/async.js");
var _util = require("./util.js");
var context = require("../index.js");
var _plugin = require("./plugin.js");
var _item = require("./item.js");
var _configChain = require("./config-chain.js");
var _deepArray = require("./helpers/deep-array.js");
function _traverse() {
const data = require("@babel/traverse");
_traverse = function () {
return data;
};
return data;
}
var _caching = require("./caching.js");
var _options = require("./validation/options.js");
var _plugins = require("./validation/plugins.js");
var _configApi = require("./helpers/config-api.js");
var _partial = require("./partial.js");
var _configError = require("../errors/config-error.js");
var _default = exports.default = _gensync()(function* loadFullConfig(inputOpts) {
var _opts$assumptions;
const result = yield* (0, _partial.default)(inputOpts);
if (!result) {
return null;
}
const {
options,
context,
fileHandling
} = result;
if (fileHandling === "ignored") {
return null;
}
const optionDefaults = {};
const {
plugins,
presets
} = options;
if (!plugins || !presets) {
throw new Error("Assertion failure - plugins and presets exist");
}
const presetContext = Object.assign({}, context, {
targets: options.targets
});
const toDescriptor = item => {
const desc = (0, _item.getItemDescriptor)(item);
if (!desc) {
throw new Error("Assertion failure - must be config item");
}
return desc;
};
const presetsDescriptors = presets.map(toDescriptor);
const initialPluginsDescriptors = plugins.map(toDescriptor);
const pluginDescriptorsByPass = [[]];
const passes = [];
const externalDependencies = [];
const ignored = yield* enhanceError(context, function* recursePresetDescriptors(rawPresets, pluginDescriptorsPass) {
const presets = [];
for (let i = 0; i < rawPresets.length; i++) {
const descriptor = rawPresets[i];
if (descriptor.options !== false) {
try {
var preset = yield* loadPresetDescriptor(descriptor, presetContext);
} catch (e) {
if (e.code === "BABEL_UNKNOWN_OPTION") {
(0, _options.checkNoUnwrappedItemOptionPairs)(rawPresets, i, "preset", e);
}
throw e;
}
externalDependencies.push(preset.externalDependencies);
if (descriptor.ownPass) {
presets.push({
preset: preset.chain,
pass: []
});
} else {
presets.unshift({
preset: preset.chain,
pass: pluginDescriptorsPass
});
}
}
}
if (presets.length > 0) {
pluginDescriptorsByPass.splice(1, 0, ...presets.map(o => o.pass).filter(p => p !== pluginDescriptorsPass));
for (const {
preset,
pass
} of presets) {
if (!preset) return true;
pass.push(...preset.plugins);
const ignored = yield* recursePresetDescriptors(preset.presets, pass);
if (ignored) return true;
preset.options.forEach(opts => {
(0, _util.mergeOptions)(optionDefaults, opts);
});
}
}
})(presetsDescriptors, pluginDescriptorsByPass[0]);
if (ignored) return null;
const opts = optionDefaults;
(0, _util.mergeOptions)(opts, options);
const pluginContext = Object.assign({}, presetContext, {
assumptions: (_opts$assumptions = opts.assumptions) != null ? _opts$assumptions : {}
});
yield* enhanceError(context, function* loadPluginDescriptors() {
pluginDescriptorsByPass[0].unshift(...initialPluginsDescriptors);
for (const descs of pluginDescriptorsByPass) {
const pass = [];
passes.push(pass);
for (let i = 0; i < descs.length; i++) {
const descriptor = descs[i];
if (descriptor.options !== false) {
try {
var plugin = yield* loadPluginDescriptor(descriptor, pluginContext);
} catch (e) {
if (e.code === "BABEL_UNKNOWN_PLUGIN_PROPERTY") {
(0, _options.checkNoUnwrappedItemOptionPairs)(descs, i, "plugin", e);
}
throw e;
}
pass.push(plugin);
externalDependencies.push(plugin.externalDependencies);
}
}
}
})();
opts.plugins = passes[0];
opts.presets = passes.slice(1).filter(plugins => plugins.length > 0).map(plugins => ({
plugins
}));
opts.passPerPreset = opts.presets.length > 0;
return {
options: opts,
passes: passes,
externalDependencies: (0, _deepArray.finalize)(externalDependencies)
};
});
function enhanceError(context, fn) {
return function* (arg1, arg2) {
try {
return yield* fn(arg1, arg2);
} catch (e) {
if (!e.message.startsWith("[BABEL]")) {
var _context$filename;
e.message = `[BABEL] ${(_context$filename = context.filename) != null ? _context$filename : "unknown file"}: ${e.message}`;
}
throw e;
}
};
}
const makeDescriptorLoader = apiFactory => (0, _caching.makeWeakCache)(function* ({
value,
options,
dirname,
alias
}, cache) {
if (options === false) throw new Error("Assertion failure");
options = options || {};
const externalDependencies = [];
let item = value;
if (typeof value === "function") {
const factory = (0, _async.maybeAsync)(value, `You appear to be using an async plugin/preset, but Babel has been called synchronously`);
const api = Object.assign({}, context, apiFactory(cache, externalDependencies));
try {
item = yield* factory(api, options, dirname);
} catch (e) {
if (alias) {
e.message += ` (While processing: ${JSON.stringify(alias)})`;
}
throw e;
}
}
if (!item || typeof item !== "object") {
throw new Error("Plugin/Preset did not return an object.");
}
if ((0, _async.isThenable)(item)) {
yield* [];
throw new Error(`You appear to be using a promise as a plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version. ` + `As an alternative, you can prefix the promise with "await". ` + `(While processing: ${JSON.stringify(alias)})`);
}
if (externalDependencies.length > 0 && (!cache.configured() || cache.mode() === "forever")) {
let error = `A plugin/preset has external untracked dependencies ` + `(${externalDependencies[0]}), but the cache `;
if (!cache.configured()) {
error += `has not been configured to be invalidated when the external dependencies change. `;
} else {
error += ` has been configured to never be invalidated. `;
}
error += `Plugins/presets should configure their cache to be invalidated when the external ` + `dependencies change, for example using \`api.cache.invalidate(() => ` + `statSync(filepath).mtimeMs)\` or \`api.cache.never()\`\n` + `(While processing: ${JSON.stringify(alias)})`;
throw new Error(error);
}
return {
value: item,
options,
dirname,
alias,
externalDependencies: (0, _deepArray.finalize)(externalDependencies)
};
});
const pluginDescriptorLoader = makeDescriptorLoader(_configApi.makePluginAPI);
const presetDescriptorLoader = makeDescriptorLoader(_configApi.makePresetAPI);
const instantiatePlugin = (0, _caching.makeWeakCache)(function* ({
value,
options,
dirname,
alias,
externalDependencies
}, cache) {
const pluginObj = (0, _plugins.validatePluginObject)(value);
const plugin = Object.assign({}, pluginObj);
if (plugin.visitor) {
plugin.visitor = _traverse().default.explode(Object.assign({}, plugin.visitor));
}
if (plugin.inherits) {
const inheritsDescriptor = {
name: undefined,
alias: `${alias}$inherits`,
value: plugin.inherits,
options,
dirname
};
const inherits = yield* (0, _async.forwardAsync)(loadPluginDescriptor, run => {
return cache.invalidate(data => run(inheritsDescriptor, data));
});
plugin.pre = chainMaybeAsync(inherits.pre, plugin.pre);
plugin.post = chainMaybeAsync(inherits.post, plugin.post);
plugin.manipulateOptions = chainMaybeAsync(inherits.manipulateOptions, plugin.manipulateOptions);
plugin.visitor = _traverse().default.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]);
if (inherits.externalDependencies.length > 0) {
if (externalDependencies.length === 0) {
externalDependencies = inherits.externalDependencies;
} else {
externalDependencies = (0, _deepArray.finalize)([externalDependencies, inherits.externalDependencies]);
}
}
}
return new _plugin.default(plugin, options, alias, externalDependencies);
});
function* loadPluginDescriptor(descriptor, context) {
if (descriptor.value instanceof _plugin.default) {
if (descriptor.options) {
throw new Error("Passed options to an existing Plugin instance will not work.");
}
return descriptor.value;
}
return yield* instantiatePlugin(yield* pluginDescriptorLoader(descriptor, context), context);
}
const needsFilename = val => val && typeof val !== "function";
const validateIfOptionNeedsFilename = (options, descriptor) => {
if (needsFilename(options.test) || needsFilename(options.include) || needsFilename(options.exclude)) {
const formattedPresetName = descriptor.name ? `"${descriptor.name}"` : "/* your preset */";
throw new _configError.default([`Preset ${formattedPresetName} requires a filename to be set when babel is called directly,`, `\`\`\``, `babel.transformSync(code, { filename: 'file.ts', presets: [${formattedPresetName}] });`, `\`\`\``, `See https://babeljs.io/docs/en/options#filename for more information.`].join("\n"));
}
};
const validatePreset = (preset, context, descriptor) => {
if (!context.filename) {
var _options$overrides;
const {
options
} = preset;
validateIfOptionNeedsFilename(options, descriptor);
(_options$overrides = options.overrides) == null || _options$overrides.forEach(overrideOptions => validateIfOptionNeedsFilename(overrideOptions, descriptor));
}
};
const instantiatePreset = (0, _caching.makeWeakCacheSync)(({
value,
dirname,
alias,
externalDependencies
}) => {
return {
options: (0, _options.validate)("preset", value),
alias,
dirname,
externalDependencies
};
});
function* loadPresetDescriptor(descriptor, context) {
const preset = instantiatePreset(yield* presetDescriptorLoader(descriptor, context));
validatePreset(preset, context, descriptor);
return {
chain: yield* (0, _configChain.buildPresetChain)(preset, context),
externalDependencies: preset.externalDependencies
};
}
function chainMaybeAsync(a, b) {
if (!a) return b;
if (!b) return a;
return function (...args) {
const res = a.apply(this, args);
if (res && typeof res.then === "function") {
return res.then(() => b.apply(this, args));
}
return b.apply(this, args);
};
}
0 && 0;
//# sourceMappingURL=full.js.map
@@ -0,0 +1 @@
{"version":3,"file":"render.mjs","sources":["../../../../../src/render/html/utils/render.ts"],"sourcesContent":["import type { MotionStyle } from \"../../VisualElement\"\nimport { HTMLRenderState } from \"../types\"\n\nexport function renderHTML(\n element: HTMLElement,\n { style, vars }: HTMLRenderState,\n styleProp?: MotionStyle,\n projection?: any\n) {\n const elementStyle = element.style\n\n let key: string\n for (key in style) {\n // CSSStyleDeclaration has [index: number]: string; in the types, so we use that as key type.\n elementStyle[key as unknown as number] = style[key] as string\n }\n\n // Write projection styles directly to element style\n projection?.applyProjectionStyles(elementStyle, styleProp)\n\n for (key in vars) {\n // Loop over any CSS variables and assign those.\n // They can only be assigned using `setProperty`.\n elementStyle.setProperty(key, vars[key] as string)\n }\n}\n"],"names":[],"mappings":"AAGM,SAAU,UAAU,CACtB,OAAoB,EACpB,EAAE,KAAK,EAAE,IAAI,EAAmB,EAChC,SAAuB,EACvB,UAAgB,EAAA;AAEhB,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK;AAElC,IAAA,IAAI,GAAW;AACf,IAAA,KAAK,GAAG,IAAI,KAAK,EAAE;;QAEf,YAAY,CAAC,GAAwB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAW;IACjE;;AAGA,IAAA,UAAU,EAAE,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC;AAE1D,IAAA,KAAK,GAAG,IAAI,IAAI,EAAE;;;QAGd,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAW,CAAC;IACtD;AACJ;;;;"}
@@ -0,0 +1 @@
module.exports={C:{"56":0.00379,"72":0.00189,"77":0.00189,"80":0.00189,"96":0.00189,"115":0.13258,"120":0.04735,"121":0.11364,"125":0.00379,"126":0.00379,"127":0.00189,"131":0.00379,"136":0.01136,"138":0.00189,"139":0.00189,"140":0.03788,"145":0.00379,"146":0.00379,"147":0.00379,"149":0.00189,"151":0.00568,"152":0.02083,"153":0.05114,"154":0.28789,"155":0.52085,"156":0.58903,"157":0.01326,"158":0.00379,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 78 79 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 122 123 124 128 129 130 132 133 134 135 137 141 142 143 144 148 150 159 160 3.5 3.6"},D:{"49":0.00758,"50":0.00379,"56":0.00189,"64":0.00758,"65":0.00758,"66":0.01894,"67":0.00189,"68":0.00189,"69":0.00568,"70":0.01705,"71":0.00189,"72":0.03599,"73":0.00568,"77":0.00379,"79":0.00379,"80":0.00189,"81":0.00379,"83":0.00379,"86":0.00189,"87":0.00758,"88":0.00379,"90":0.00947,"93":0.00379,"95":0.00189,"98":0.00947,"101":0.05682,"103":0.01326,"104":0.01894,"105":0.01136,"106":0.01515,"107":0.01326,"108":0.00568,"109":0.28789,"110":0.01515,"111":0.09659,"112":0.01326,"113":0.01136,"116":0.01705,"117":0.01326,"118":0.31062,"119":0.10796,"120":0.13069,"121":0.00189,"122":0.00189,"124":0.00947,"125":0.01136,"126":0.00568,"130":0.00568,"131":0.0644,"133":0.04356,"134":0.04546,"135":0.04546,"136":0.03977,"137":0.05871,"138":0.09091,"139":0.04167,"140":0.05493,"141":0.05303,"142":0.14205,"145":0.01705,"146":0.08902,"147":0.02273,"148":0.0303,"149":0.06629,"150":0.19129,"151":0.47539,"152":2.25007,"153":2.52281,"154":0.57199,"155":0.01515,"156":0.00568,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 53 54 55 57 58 59 60 61 62 63 74 75 76 78 84 85 89 91 92 94 96 97 99 100 102 114 115 123 127 128 129 132 143 144 157"},F:{"42":0.00379,"53":0.00189,"56":0.00189,"73":0.00189,"79":0.01894,"95":0.01894,"101":0.00379,"133":0.01705,"134":0.11743,"135":0.55115,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 54 55 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 131 132 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00189,"14":0.00189,"16":0.00758,"17":0.00568,"18":0.01326,"84":0.01894,"85":0.00189,"86":0.02273,"89":0.02273,"90":0.01136,"92":0.08523,"100":0.00947,"109":0.00379,"114":0.00379,"119":0.05303,"120":0.05871,"122":0.00758,"124":0.00379,"131":0.00189,"132":0.00758,"140":0.02273,"142":0.00568,"143":0.00568,"144":0.00379,"145":0.05114,"146":0.00379,"147":0.00568,"148":0.04546,"149":0.10985,"150":0.00758,"151":0.10038,"152":1.24625,"153":0.81631,"154":0.3144,_:"13 15 79 80 81 83 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 121 123 125 126 127 128 129 130 133 134 135 136 137 138 139 141"},E:{"11":0.00758,_:"4 5 6 7 8 9 10 12 13 14 15 27 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.2 16.4 16.5 17.0 17.1 17.2 17.3 17.4 17.5 18.0 18.1 18.2 18.3 18.4 26.0 26.1 26.2 27.1 27.2 TP","13.1":0.00568,"15.6":0.00189,"16.1":0.00189,"16.3":0.00189,"16.6":0.00758,"17.6":0.01326,"18.5-18.7":0.00568,"26.3":0.00758,"26.4":0.00189,"26.5":0.00379,"26.6":0.00947},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00019,"5.0-5.1":0.00019,"6.0-6.1":0,"7.0-7.1":0.00037,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.00186,"11.0-11.2":0.00019,"11.3-11.4":0.00037,"12.0-12.1":0,"12.2-12.5":0.00483,"13.0-13.1":0,"13.2":0.00093,"13.3":0,"13.4-13.7":0.00019,"14.0-14.4":0.00074,"14.5-14.8":0.00111,"15.0-15.1":0.00111,"15.2-15.3":0.00074,"15.4":0.00093,"15.5":0.00111,"15.6-15.8":0.02413,"16.0":0.00186,"16.1":0.00334,"16.2":0.00186,"16.3":0.00408,"16.4":0.00093,"16.5":0.00149,"16.6-16.7":0.0336,"17.0":0.0013,"17.1":0.00186,"17.2":0.00186,"17.3":0.00278,"17.4":0.0039,"17.5":0.00761,"17.6-17.7":0.01968,"18.0":0.00408,"18.1":0.00817,"18.2":0.01114,"18.3":0.01931,"18.4":0.01207,"18.5-18.7":0.2493,"26.0":0.01207,"26.1":0.01225,"26.2":0.03193,"26.3":0.03453,"26.4":0.02525,"26.5":0.16911,"26.6":1.04341,"27.0":0.08001,"27.1":0,"27.2":0.00204},P:{"22":0.00904,"25":0.00904,"26":0.01808,"27":0.00904,"28":0.09041,"29":0.05425,"30":0.9403,_:"4 20 21 23 24 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","7.2-7.4":0.04521},I:{"0":0.0324,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},K:{"0":3.83035,_:"10 11 12 11.1 11.5 12.1"},A:{"9":0.00379,"11":0.00379,_:"6 7 8 10 5.5"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},N:{_:"10 11"},L:{"0":75.5512},R:{_:"0Line truncated
@@ -0,0 +1 @@
{"version":3,"file":"root.js","names":[],"sources":["../../src/root.ts"],"sourcesContent":["/** Stable identifier used for the root route in a route tree. */\nexport const rootRouteId = '__root__'\nexport type RootRouteId = typeof rootRouteId\n"],"mappings":";;AACA,MAAa,cAAc"}
@@ -0,0 +1 @@
{"version":3,"file":"cloud-off.js","sources":["../../../src/icons/cloud-off.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name CloudOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik01Ljc4MiA1Ljc4MkE3IDcgMCAwIDAgOSAxOWg4LjVhNC41IDQuNSAwIDAgMCAxLjMwNy0uMTkzIiAvPgogIDxwYXRoIGQ9Ik0yMS41MzIgMTYuNUE0LjUgNC41IDAgMCAwIDE3LjUgMTBoLTEuNzlBNy4wMDggNy4wMDggMCAwIDAgMTAgNS4wNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cloud-off\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 CloudOff = createLucideIcon('CloudOff', [\n ['path', { d: 'm2 2 20 20', key: '1ooewy' }],\n ['path', { d: 'M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193', key: 'yfwify' }],\n [\n 'path',\n { d: 'M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07', key: 'jlfiyv' },\n ],\n]);\n\nexport default CloudOff;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,iBAAiB,UAAY,CAAA,CAAA,CAAA;AAAA,CAAA,CAC5C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC3C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA4D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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,CACzF,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsE,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,QAAS,CAAA,CAAA;AAAA,CAC3F,CAAA,CAAA;AACF,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
{"version":3,"file":"shield-half.js","sources":["../../../src/icons/shield-half.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ShieldHalf\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0iTTEyIDIyVjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shield-half\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 ShieldHalf = createLucideIcon('ShieldHalf', [\n [\n 'path',\n {\n d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n key: 'oel41y',\n },\n ],\n ['path', { d: 'M12 22V2', key: 'zs6s6o' }],\n]);\n\nexport default ShieldHalf;\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,CAChD,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA;AAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACP,CAAA,CAAA,CAAA,CAAA;AAAA,CACF,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC3C,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
{"version":3,"file":"PopChild.mjs","sources":["../../../../src/components/AnimatePresence/PopChild.tsx"],"sourcesContent":["\"use client\"\n\nimport { isHTMLElement } from \"motion-dom\"\nimport * as React from \"react\"\nimport { useContext, useId, useInsertionEffect, useRef } from \"react\"\n\nimport { MotionConfigContext } from \"../../context/MotionConfigContext\"\nimport { useComposedRefs } from \"../../utils/use-composed-ref\"\n\ninterface Size {\n width: number\n height: number\n top: number\n left: number\n right: number\n bottom: number\n}\n\ninterface Props {\n children: React.ReactElement\n isPresent: boolean\n anchorX?: \"left\" | \"right\"\n anchorY?: \"top\" | \"bottom\"\n root?: HTMLElement | ShadowRoot\n pop?: boolean\n}\n\ninterface MeasureProps extends Props {\n childRef: React.RefObject<HTMLElement | null>\n sizeRef: React.RefObject<Size>\n}\n\n/**\n * Measurement functionality has to be within a separate component\n * to leverage snapshot lifecycle.\n */\nclass PopChildMeasure extends React.Component<MeasureProps> {\n getSnapshotBeforeUpdate(prevProps: MeasureProps) {\n const element = this.props.childRef.current\n if (isHTMLElement(element) && prevProps.isPresent && !this.props.isPresent && this.props.pop !== false) {\n const parent = element.offsetParent\n const parentWidth = isHTMLElement(parent)\n ? parent.offsetWidth || 0\n : 0\n const parentHeight = isHTMLElement(parent)\n ? parent.offsetHeight || 0\n : 0\n\n const computedStyle = getComputedStyle(element)\n const size = this.props.sizeRef.current!\n size.height = parseFloat(computedStyle.height)\n size.width = parseFloat(computedStyle.width)\n size.top = element.offsetTop\n size.left = element.offsetLeft\n size.right = parentWidth - size.width - size.left\n size.bottom = parentHeight - size.height - size.top\n }\n\n return null\n }\n\n /**\n * Required with getSnapshotBeforeUpdate to stop React complaining.\n */\n componentDidUpdate() {}\n\n render() {\n return this.props.children\n }\n}\n\nexport function PopChild({ children, isPresent, anchorX, anchorY, root, pop }: Props) {\n const id = useId()\n const ref = useRef<HTMLElement>(null)\n const size = useRef<Size>({\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n })\n const { nonce } = useContext(MotionConfigContext)\n /**\n * In React 19, refs are passed via props.ref instead of element.ref.\n * We check props.ref first (React 19) and fall back to element.ref (React 18).\n */\n const childRef =\n (children.props as { ref?: React.Ref<HTMLElement> })?.ref ??\n (children as unknown as { ref?: React.Ref<HTMLElement> })?.ref\n const composedRef = useComposedRefs(ref, childRef)\n\n /**\n * We create and inject a style block so we can apply this explicit\n * sizing in a non-destructive manner by just deleting the style block.\n *\n * We can't apply size via render as the measurement happens\n * in getSnapshotBeforeUpdate (post-render), likewise if we apply the\n * styles directly on the DOM node, we might be overwriting\n * styles set via the style prop.\n */\n useInsertionEffect(() => {\n const { width, height, top, left, right, bottom } = size.current\n if (isPresent || pop === false || !ref.current || !width || !height) return\n\n const x = anchorX === \"left\" ? `left: ${left}` : `right: ${right}`\n const y = anchorY === \"bottom\" ? `bottom: ${bottom}` : `top: ${top}`\n\n ref.current.dataset.motionPopId = id\n\n const style = document.createElement(\"style\")\n if (nonce) style.nonce = nonce\n\n const parent = root ?? document.head\n parent.appendChild(style)\n\n if (style.sheet) {\n style.sheet.insertRule(`\n [data-motion-pop-id=\"${id}\"] {\n position: absolute !important;\n width: ${width}px !important;\n height: ${height}px !important;\n ${x}px !important;\n ${y}px !important;\n }\n `)\n }\n\n return () => {\n ref.current?.removeAttribute(\"data-motion-pop-id\")\n if (parent.contains(style)) {\n parent.removeChild(style)\n }\n }\n }, [isPresent])\n\n return (\n <PopChildMeasure isPresent={isPresent} childRef={ref} sizeRef={size} pop={pop}>\n {pop === false\n ? children\n : React.cloneElement(children as any, { ref: composedRef })}\n </PopChildMeasure>\n )\n}\n"],"names":[],"mappings":";;;;;;;;AAgCA;;;AAGG;AACH;AACI;;;AAGQ;AACA;AACI;;AAEJ;AACI;;AAGJ;;;;AAIA;ALine truncated
@@ -0,0 +1,24 @@
/**
* Check if the value is an Error object
*
* 校验是否是错误对象
*
* @example
* ```js
* import { isError } from 'is-what-type';
*
* isError(new Error()); // true
* isError(new TypeError()); // true
* isError({}); // false
* isError({ name: 'CustomError' }); // true
* isError({ name: 'NotAnError' }); // false
* isError(null); // false
* isError(undefined); // false
* isError('string'); // false
* isError(123); // false
* ```
*
* @param value - The value to check
* @returns `true` if the value is an Error object, else `false`
*/
export declare function isError(value: unknown): value is Error;
@@ -0,0 +1,423 @@
export default `flf2a$ 4 3 10 -1 13 1
mshebrew210.flf by Michael 'msh210' Hamm 2-5 Nov 2000 for FIGWin.
Copyright (c) 2000 Michael Hamm. Note: uses Gedaliah Friedenberg's
Jerusalem font's keyboard map. www.crosswinds.net/~msh210/ has
msh210 contact info. Okay to modify this font iff modifier's name
is on a comment line. msh210's first font: have heart, suggestions
Keyboard map (see note above):
alef = t | vav = u | chaf = f | nun = b | fe = p | kuf = e
ves = c | zayin = z | \`final = l | \`final = i | \`final = ; | resh = r
gimel = d | ches = j | lamed = k | samach = x | tzadi = m | shin = a
daled = s | tes = y | mem = n | ayin = g | \`final = . | saf = ,
he = v | yud = h | \`final = o | period = /
$@
$@
$@
$@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
|""|@
_| |@
@@
@
@
@
@@
@
\\ |@
\\/ @
$\\ @@
@
@
o@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
["|@
|@
|@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
|/ |@
|_/ @
@@
@
$|@
_|@
@@
@
""| @
__|_@
@@
@
\\ @
/\\@
@@
@
""|@
| '@
|$ @@
@
""|@
__|@
@@
@
\\ |@
\\/ @
-'$ @@
@
|@
$@
@@
@
|@
|@
|@@
@
|""|@
| |@
@@
|$ @
""|@
/ @
@@
@
""|@
|@
|@@
@
\\/@
_\\@
@@
@
Y"\\ @
| _|@
@@
@
|""|@
|__|@
@@
@
["|@
__|@
@@
@
@
@
@@
@
""|@
|@
$@@
@
""|'@
| @
$ @@
@
\\>@
L\\@
@@
@
|@
|@
$@@
@
""|@
| |@
$@@
@
@
@
@@
@
|""|@
\\/ @
@@
@
| /|@
|__|@
@@
@
\`(\`@
)@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
@
@
@
@@
`
@@ -0,0 +1 @@
module.exports={A:{A:{"2":"_Z","8":"_A"},B:{"1":"R","2":"_XJ _lE","8":"_I"},C:{"2":"_NP","8":"_GJ oB DC _ZR","72":"_6I _dC _AE _SE"},D:{"1":"_zI _3D","2":"_H _jJ _gQ","66":"QB _7H","72":"sB"},E:{"2":"_u","8":"_dB"},F:{"1":"_EC _DM _oC","2":"_0B _BC _gR","66":"_AC nB _FH","72":"JB"},G:{"2":"_r","8":"_2"},H:{"2":"1D"},I:{"2":"_P"},J:{"2":"_B"},K:{"2":"_N"},L:{"2":"I"},M:{"8":"YC"},N:{"2":"_A"},O:{"1":"bC"},P:{"1":"_ZH","2":"_WL"},Q:{"1":"JE"},R:{"2":"KE"},S:{"1":"LE","8":"ME"}},B:5,C:"HTML Imports",D:true};
@@ -0,0 +1 @@
module.exports={A:{A:{"2":"_E"},B:{"1":"_oH _i","2":"_0 _1E"},C:{"1":"_UL _p","2":"_bB _1E _L","258":"_BG","578":"p q"},D:{"1":"_oH _l","2":"_v _RO","194":"a _WK"},E:{"2":"_R"},F:{"1":"_nG _RR","2":"_8 _sD _O"},G:{"2":"_M"},H:{"2":"1D"},I:{"1":"I","2":"_G"},J:{"16":"_B"},K:{"1":"H","2":"_D"},L:{"1":"I"},M:{"1":"YC"},N:{"16":"_A"},O:{"1":"bC"},P:{"1":"_vQ","2":"_AP"},Q:{"2":"JE"},R:{"2":"KE"},S:{"2":"_C"}},B:6,C:"COLR/CPAL(v1) Font Formats",D:true};
@@ -0,0 +1,5 @@
@rem Copyright (c) 2009 Google Inc. All rights reserved.
@rem Use of this source code is governed by a BSD-style license that can be
@rem found in the LICENSE file.
@python "%~dp0gyp_main.py" %*
@@ -0,0 +1,19 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const LightbulbOff = createLucideIcon("LightbulbOff", [
["path", { d: "M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5", key: "1fkcox" }],
["path", { d: "m2 2 20 20", key: "1ooewy" }],
["path", { d: "M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5", key: "10m8kw" }],
["path", { d: "M9 18h6", key: "x1upvd" }],
["path", { d: "M10 22h4", key: "ceow96" }]
]);
export { LightbulbOff as default };
//# sourceMappingURL=lightbulb-off.js.map
@@ -0,0 +1,17 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const AlignEndHorizontal = createLucideIcon("AlignEndHorizontal", [
["rect", { width: "6", height: "16", x: "4", y: "2", rx: "2", key: "z5wdxg" }],
["rect", { width: "6", height: "9", x: "14", y: "9", rx: "2", key: "um7a8w" }],
["path", { d: "M22 22H2", key: "19qnx5" }]
]);
export { AlignEndHorizontal as default };
//# sourceMappingURL=align-end-horizontal.js.map
@@ -0,0 +1,18 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const Scan = createLucideIcon("Scan", [
["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }],
["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }],
["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }],
["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }]
]);
export { Scan as default };
//# sourceMappingURL=scan.js.map
@@ -0,0 +1,165 @@
import { randomUUID } from 'node:crypto';
import { TLSSocket } from 'node:tls';
import { JSONRPCMessageSchema } from '../types.js';
import getRawBody from 'raw-body';
import contentType from 'content-type';
import { URL } from 'node:url';
const MAXIMUM_MESSAGE_SIZE = '4mb';
/**
* Server transport for SSE: this will send messages over an SSE connection and receive messages from HTTP POST requests.
*
* This transport is only available in Node.js environments.
* @deprecated SSEServerTransport is deprecated. Use StreamableHTTPServerTransport instead.
*/
export class SSEServerTransport {
/**
* Creates a new SSE server transport, which will direct the client to POST messages to the relative or absolute URL identified by `_endpoint`.
*/
constructor(_endpoint, res, options) {
this._endpoint = _endpoint;
this.res = res;
this._sessionId = randomUUID();
this._options = options || { enableDnsRebindingProtection: false };
}
/**
* Validates request headers for DNS rebinding protection.
* @returns Error message if validation fails, undefined if validation passes.
*/
validateRequestHeaders(req) {
// Skip validation if protection is not enabled
if (!this._options.enableDnsRebindingProtection) {
return undefined;
}
// Validate Host header if allowedHosts is configured
if (this._options.allowedHosts && this._options.allowedHosts.length > 0) {
const hostHeader = req.headers.host;
if (!hostHeader || !this._options.allowedHosts.includes(hostHeader)) {
return `Invalid Host header: ${hostHeader}`;
}
}
// Validate Origin header if allowedOrigins is configured
if (this._options.allowedOrigins && this._options.allowedOrigins.length > 0) {
const originHeader = req.headers.origin;
if (originHeader && !this._options.allowedOrigins.includes(originHeader)) {
return `Invalid Origin header: ${originHeader}`;
}
}
return undefined;
}
/**
* Handles the initial SSE connection request.
*
* This should be called when a GET request is made to establish the SSE stream.
*/
async start() {
if (this._sseResponse) {
throw new Error('SSEServerTransport already started! If using Server class, note that connect() calls start() automatically.');
}
this.res.writeHead(200, {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache, no-transform',
Connection: 'keep-alive'
});
// Send the endpoint event
// Use a dummy base URL because this._endpoint is relative.
// This allows using URL/URLSearchParams for robust parameter handling.
const dummyBase = 'http://localhost'; // Any valid base works
const endpointUrl = new URL(this._endpoint, dummyBase);
endpointUrl.searchParams.set('sessionId', this._sessionId);
// Reconstruct the relative URL string (pathname + search + hash)
const relativeUrlWithSession = endpointUrl.pathname + endpointUrl.search + endpointUrl.hash;
this.res.write(`event: endpoint\ndata: ${relativeUrlWithSession}\n\n`);
this._sseResponse = this.res;
this.res.on('close', () => {
this._sseResponse = undefined;
this.onclose?.();
});
}
/**
* Handles incoming POST messages.
*
* This should be called when a POST request is made to send a message to the server.
*/
async handlePostMessage(req, res, parsedBody) {
if (!this._sseResponse) {
const message = 'SSE connection not established';
res.writeHead(500).end(message);
throw new Error(message);
}
// Validate request headers for DNS rebinding protection
const validationError = this.validateRequestHeaders(req);
if (validationError) {
res.writeHead(403).end(validationError);
this.onerror?.(new Error(validationError));
return;
}
const authInfo = req.auth;
const host = req.headers.host;
const protocol = req.socket instanceof TLSSocket ? 'https' : 'http';
const fullUrl = host && req.url ? new URL(req.url, `${protocol}://${host}`) : undefined;
const requestInfo = {
headers: req.headers,
url: fullUrl
};
let body;
try {
const ct = contentType.parse(req.headers['content-type'] ?? '');
if (ct.type !== 'application/json') {
throw new Error(`Unsupported content-type: ${ct.type}`);
}
body =
parsedBody ??
(await getRawBody(req, {
limit: MAXIMUM_MESSAGE_SIZE,
encoding: ct.parameters.charset ?? 'utf-8'
}));
}
catch (error) {
res.writeHead(400).end(String(error));
this.onerror?.(error);
return;
}
try {
await this.handleMessage(typeof body === 'string' ? JSON.parse(body) : body, { requestInfo, authInfo });
}
catch {
res.writeHead(400).end(`Invalid message: ${body}`);
return;
}
res.writeHead(202).end('Accepted');
}
/**
* Handle a client message, regardless of how it arrived. This can be used to inform the server of messages that arrive via a means different than HTTP POST.
*/
async handleMessage(message, extra) {
let parsedMessage;
try {
parsedMessage = JSONRPCMessageSchema.parse(message);
}
catch (error) {
this.onerror?.(error);
throw error;
}
this.onmessage?.(parsedMessage, extra);
}
async close() {
this._sseResponse?.end();
this._sseResponse = undefined;
this.onclose?.();
}
async send(message) {
if (!this._sseResponse) {
throw new Error('Not connected');
}
this._sseResponse.write(`event: message\ndata: ${JSON.stringify(message)}\n\n`);
}
/**
* Returns the session ID for this transport.
*
* This can be used to route incoming POST requests.
*/
get sessionId() {
return this._sessionId;
}
}
//# sourceMappingURL=sse.js.map
@@ -0,0 +1,11 @@
'use strict'
const debug = (
typeof process === 'object' &&
process.env &&
process.env.NODE_DEBUG &&
/\bsemver\b/i.test(process.env.NODE_DEBUG)
) ? (...args) => console.error('SEMVER', ...args)
: () => {}
module.exports = debug
@@ -0,0 +1,22 @@
'use strict';
var test = require('tape');
var hasSymbols = require('../');
var runSymbolTests = require('./tests');
test('interface', function (t) {
t.equal(typeof hasSymbols, 'function', 'is a function');
t.equal(typeof hasSymbols(), 'boolean', 'returns a boolean');
t.end();
});
test('Symbols are supported', { skip: !hasSymbols() }, function (t) {
runSymbolTests(t);
t.end();
});
test('Symbols are not supported', { skip: hasSymbols() }, function (t) {
t.equal(typeof Symbol, 'undefined', 'global Symbol is undefined');
t.equal(typeof Object.getOwnPropertySymbols, 'undefined', 'Object.getOwnPropertySymbols does not exist');
t.end();
});
@@ -0,0 +1 @@
{"version":3,"file":"fold-vertical.js","sources":["../../../src/icons/fold-vertical.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name FoldVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJ2LTYiIC8+CiAgPHBhdGggZD0iTTEyIDhWMiIgLz4KICA8cGF0aCBkPSJNNCAxMkgyIiAvPgogIDxwYXRoIGQ9Ik0xMCAxMkg4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxMmgtMiIgLz4KICA8cGF0aCBkPSJNMjIgMTJoLTIiIC8+CiAgPHBhdGggZD0ibTE1IDE5LTMtMy0zIDMiIC8+CiAgPHBhdGggZD0ibTE1IDUtMyAzLTMtMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/fold-vertical\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FoldVertical = createLucideIcon('FoldVertical', [\n ['path', { d: 'M12 22v-6', key: '6o8u61' }],\n ['path', { d: 'M12 8V2', key: '1wkif3' }],\n ['path', { d: 'M4 12H2', key: 'rhcxmi' }],\n ['path', { d: 'M10 12H8', key: 's88cx1' }],\n ['path', { d: 'M16 12h-2', key: '10asgb' }],\n ['path', { d: 'M22 12h-2', key: '14jgyd' }],\n ['path', { d: 'm15 19-3-3-3 3', key: 'e37ymu' }],\n ['path', { d: 'm15 5-3 3-3-3', key: '19d6lf' }],\n]);\n\nexport default FoldVertical;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,iBAAiB,cAAgB,CAAA,CAAA,CAAA;AAAA,CAAA,CACpD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC1C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACzC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC1C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC1C,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,CAAA;AAAA,CAAA,CAC/C,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;AAChD,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1,16 @@
/**
* Adds a specified number of hours to a date.
* 向日期添加指定数量的小时。
*
* @param date - The date to add hours to. (要添加小时的日期。)
* @param hours - The number of hours to add. (要添加的小时数。)
* @returns A new date with the added hours. (添加小时后的新日期。)
* @example
* ```ts
* // Adding 3 hours to a date (向日期添加3小时)
* const originalDate = new Date('2023-10-01T12:00:00');
* addHours(originalDate, 3);
* console.log(originalDate.toISOString()); // Outputs: '2023-10-01T15:00:00.000Z' (输出: '2023-10-01T15:00:00.000Z')
* ```
*/
export default function addHours(date: Date, hours: number): Date;
@@ -0,0 +1 @@
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../web/request.ts"],"names":[],"mappings":"AA6BA,QAAA,MAAM,aAAa,KAkDjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,50 @@
'use strict';
var test = require('tape');
var setDunderProto = require('../set');
test('setDunderProto', { skip: !setDunderProto }, function (t) {
if (!setDunderProto) {
throw 'should never happen; this is just for type narrowing'; // eslint-disable-line no-throw-literal
}
// @ts-expect-error
t['throws'](function () { setDunderProto(); }, TypeError, 'throws if no arguments');
// @ts-expect-error
t['throws'](function () { setDunderProto(undefined); }, TypeError, 'throws with undefined and nothing');
// @ts-expect-error
t['throws'](function () { setDunderProto(undefined, undefined); }, TypeError, 'throws with undefined and undefined');
// @ts-expect-error
t['throws'](function () { setDunderProto(null); }, TypeError, 'throws with null and undefined');
// @ts-expect-error
t['throws'](function () { setDunderProto(null, undefined); }, TypeError, 'throws with null and undefined');
/** @type {{ inherited?: boolean }} */
var obj = {};
t.ok('toString' in obj, 'object initially has toString');
setDunderProto(obj, null);
t.notOk('toString' in obj, 'object no longer has toString');
t.notOk('inherited' in obj, 'object lacks inherited property');
setDunderProto(obj, { inherited: true });
t.equal(obj.inherited, true, 'object has inherited property');
t.end();
});
test('no dunder proto', { skip: !!setDunderProto }, function (t) {
if ('__proto__' in Object.prototype) {
t['throws'](
// @ts-expect-error
function () { ({}).__proto__ = null; }, // eslint-disable-line no-proto
Error,
'throws when setting Object.prototype.__proto__'
);
} else {
t.notOk('__proto__' in Object.prototype, 'no __proto__ in Object.prototype');
}
t.end();
});
@@ -0,0 +1,636 @@
// A simple implementation of make-array
function makeArray (subject) {
return Array.isArray(subject)
? subject
: [subject]
}
const EMPTY = ''
const SPACE = ' '
const ESCAPE = '\\'
const REGEX_TEST_BLANK_LINE = /^\s+$/
const REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/
const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/
const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/
const REGEX_SPLITALL_CRLF = /\r?\n/g
// /foo,
// ./foo,
// ../foo,
// .
// ..
const REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/
const SLASH = '/'
// Do not use ternary expression here, since "istanbul ignore next" is buggy
let TMP_KEY_IGNORE = 'node-ignore'
/* istanbul ignore else */
if (typeof Symbol !== 'undefined') {
TMP_KEY_IGNORE = Symbol.for('node-ignore')
}
const KEY_IGNORE = TMP_KEY_IGNORE
const define = (object, key, value) =>
Object.defineProperty(object, key, {value})
const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g
const RETURN_FALSE = () => false
// Sanitize the range of a regular expression
// The cases are complicated, see test cases for details
const sanitizeRange = range => range.replace(
REGEX_REGEXP_RANGE,
(match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0)
? match
// Invalid range (out of order) which is ok for gitignore rules but
// fatal for JavaScript regular expression, so eliminate it.
: EMPTY
)
// See fixtures #59
const cleanRangeBackSlash = slashes => {
const {length} = slashes
return slashes.slice(0, length - length % 2)
}
// > If the pattern ends with a slash,
// > it is removed for the purpose of the following description,
// > but it would only find a match with a directory.
// > In other words, foo/ will match a directory foo and paths underneath it,
// > but will not match a regular file or a symbolic link foo
// > (this is consistent with the way how pathspec works in general in Git).
// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'
// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call
// you could use option `mark: true` with `glob`
// '`foo/`' should not continue with the '`..`'
const REPLACERS = [
[
// remove BOM
// TODO:
// Other similar zero-width characters?
/^\uFEFF/,
() => EMPTY
],
// > Trailing spaces are ignored unless they are quoted with backslash ("\")
[
// (a\ ) -> (a )
// (a ) -> (a)
// (a ) -> (a)
// (a \ ) -> (a )
/((?:\\\\)*?)(\\?\s+)$/,
(_, m1, m2) => m1 + (
m2.indexOf('\\') === 0
? SPACE
: EMPTY
)
],
// replace (\ ) with ' '
// (\ ) -> ' '
// (\\ ) -> '\\ '
// (\\\ ) -> '\\ '
[
/(\\+?)\s/g,
(_, m1) => {
const {length} = m1
return m1.slice(0, length - length % 2) + SPACE
}
],
// Escape metacharacters
// which is written down by users but means special for regular expressions.
// > There are 12 characters with special meanings:
// > - the backslash \,
// > - the caret ^,
// > - the dollar sign $,
// > - the period or dot .,
// > - the vertical bar or pipe symbol |,
// > - the question mark ?,
// > - the asterisk or star *,
// > - the plus sign +,
// > - the opening parenthesis (,
// > - the closing parenthesis ),
// > - and the opening square bracket [,
// > - the opening curly brace {,
// > These special characters are often called "metacharacters".
[
/[\\$.|*+(){^]/g,
match => `\\${match}`
],
[
// > a question mark (?) matches a single character
/(?!\\)\?/g,
() => '[^/]'
],
// leading slash
[
// > A leading slash matches the beginning of the pathname.
// > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
// A leading slash matches the beginning of the pathname
/^\//,
() => '^'
],
// replace special metacharacter slash after the leading slash
[
/\//g,
() => '\\/'
],
[
// > A leading "**" followed by a slash means match in all directories.
// > For example, "**/foo" matches file or directory "foo" anywhere,
// > the same as pattern "foo".
// > "**/foo/bar" matches file or directory "bar" anywhere that is directly
// > under directory "foo".
// Notice that the '*'s have been replaced as '\\*'
/^\^*\\\*\\\*\\\//,
// '**/foo' <-> 'foo'
() => '^(?:.*\\/)?'
],
// starting
[
// there will be no leading '/'
// (which has been replaced by section "leading slash")
// If starts with '**', adding a '^' to the regular expression also works
/^(?=[^^])/,
function startingReplacer () {
// If has a slash `/` at the beginning or middle
return !/\/(?!$)/.test(this)
// > Prior to 2.22.1
// > If the pattern does not contain a slash /,
// > Git treats it as a shell glob pattern
// Actually, if there is only a trailing slash,
// git also treats it as a shell glob pattern
// After 2.22.1 (compatible but clearer)
// > If there is a separator at the beginning or middle (or both)
// > of the pattern, then the pattern is relative to the directory
// > level of the particular .gitignore file itself.
// > Otherwise the pattern may also match at any level below
// > the .gitignore level.
? '(?:^|\\/)'
// > Otherwise, Git treats the pattern as a shell glob suitable for
// > consumption by fnmatch(3)
: '^'
}
],
// two globstars
[
// Use lookahead assertions so that we could match more than one `'/**'`
/\\\/\\\*\\\*(?=\\\/|$)/g,
// Zero, one or several directories
// should not use '*', or it will be replaced by the next replacer
// Check if it is not the last `'/**'`
(_, index, str) => index + 6 < str.length
// case: /**/
// > A slash followed by two consecutive asterisks then a slash matches
// > zero or more directories.
// > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on.
// '/**/'
? '(?:\\/[^\\/]+)*'
// case: /**
// > A trailing `"/**"` matches everything inside.
// #21: everything inside but it should not include the current folder
: '\\/.+'
],
// normal intermediate wildcards
[
// Never replace escaped '*'
// ignore rule '\*' will match the path '*'
// 'abc.*/' -> go
// 'abc.*' -> skip this rule,
// coz trailing single wildcard will be handed by [trailing wildcard]
/(^|[^\\]+)(\\\*)+(?=.+)/g,
// '*.js' matches '.js'
// '*.js' doesn't match 'abc'
(_, p1, p2) => {
// 1.
// > An asterisk "*" matches anything except a slash.
// 2.
// > Other consecutive asterisks are considered regular asterisks
// > and will match according to the previous rules.
const unescaped = p2.replace(/\\\*/g, '[^\\/]*')
return p1 + unescaped
}
],
[
// unescape, revert step 3 except for back slash
// For example, if a user escape a '\\*',
// after step 3, the result will be '\\\\\\*'
/\\\\\\(?=[$.|*+(){^])/g,
() => ESCAPE
],
[
// '\\\\' -> '\\'
/\\\\/g,
() => ESCAPE
],
[
// > The range notation, e.g. [a-zA-Z],
// > can be used to match one of the characters in a range.
// `\` is escaped by step 3
/(\\)?\[([^\]/]*?)(\\*)($|\])/g,
(match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE
// '\\[bar]' -> '\\\\[bar\\]'
? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}`
: close === ']'
? endEscape.length % 2 === 0
// A normal case, and it is a range notation
// '[bar]'
// '[bar\\\\]'
? `[${sanitizeRange(range)}${endEscape}]`
// Invalid range notaton
// '[bar\\]' -> '[bar\\\\]'
: '[]'
: '[]'
],
// ending
[
// 'js' will not match 'js.'
// 'ab' will not match 'abc'
/(?:[^*])$/,
// WTF!
// https://git-scm.com/docs/gitignore
// changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
// which re-fixes #24, #38
// > If there is a separator at the end of the pattern then the pattern
// > will only match directories, otherwise the pattern can match both
// > files and directories.
// 'js*' will not match 'a.js'
// 'js/' will not match 'a.js'
// 'js' will match 'a.js' and 'a.js/'
match => /\/$/.test(match)
// foo/ will not match 'foo'
? `${match}$`
// foo matches 'foo' and 'foo/'
: `${match}(?=$|\\/$)`
],
// trailing wildcard
[
/(\^|\\\/)?\\\*$/,
(_, p1) => {
const prefix = p1
// '\^':
// '/*' does not match EMPTY
// '/*' does not match everything
// '\\\/':
// 'abc/*' does not match 'abc/'
? `${p1}[^/]+`
// 'a*' matches 'a'
// 'a*' matches 'aa'
: '[^/]*'
return `${prefix}(?=$|\\/$)`
}
],
]
// A simple cache, because an ignore rule only has only one certain meaning
const regexCache = Object.create(null)
// @param {pattern}
const makeRegex = (pattern, ignoreCase) => {
let source = regexCache[pattern]
if (!source) {
source = REPLACERS.reduce(
(prev, [matcher, replacer]) =>
prev.replace(matcher, replacer.bind(pattern)),
pattern
)
regexCache[pattern] = source
}
return ignoreCase
? new RegExp(source, 'i')
: new RegExp(source)
}
const isString = subject => typeof subject === 'string'
// > A blank line matches no files, so it can serve as a separator for readability.
const checkPattern = pattern => pattern
&& isString(pattern)
&& !REGEX_TEST_BLANK_LINE.test(pattern)
&& !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern)
// > A line starting with # serves as a comment.
&& pattern.indexOf('#') !== 0
const splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF)
class IgnoreRule {
constructor (
origin,
pattern,
negative,
regex
) {
this.origin = origin
this.pattern = pattern
this.negative = negative
this.regex = regex
}
}
const createRule = (pattern, ignoreCase) => {
const origin = pattern
let negative = false
// > An optional prefix "!" which negates the pattern;
if (pattern.indexOf('!') === 0) {
negative = true
pattern = pattern.substr(1)
}
pattern = pattern
// > Put a backslash ("\") in front of the first "!" for patterns that
// > begin with a literal "!", for example, `"\!important!.txt"`.
.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!')
// > Put a backslash ("\") in front of the first hash for patterns that
// > begin with a hash.
.replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#')
const regex = makeRegex(pattern, ignoreCase)
return new IgnoreRule(
origin,
pattern,
negative,
regex
)
}
const throwError = (message, Ctor) => {
throw new Ctor(message)
}
const checkPath = (path, originalPath, doThrow) => {
if (!isString(path)) {
return doThrow(
`path must be a string, but got \`${originalPath}\``,
TypeError
)
}
// We don't know if we should ignore EMPTY, so throw
if (!path) {
return doThrow(`path must not be empty`, TypeError)
}
// Check if it is a relative path
if (checkPath.isNotRelative(path)) {
const r = '`path.relative()`d'
return doThrow(
`path should be a ${r} string, but got "${originalPath}"`,
RangeError
)
}
return true
}
const isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path)
checkPath.isNotRelative = isNotRelative
checkPath.convert = p => p
class Ignore {
constructor ({
ignorecase = true,
ignoreCase = ignorecase,
allowRelativePaths = false
} = {}) {
define(this, KEY_IGNORE, true)
this._rules = []
this._ignoreCase = ignoreCase
this._allowRelativePaths = allowRelativePaths
this._initCache()
}
_initCache () {
this._ignoreCache = Object.create(null)
this._testCache = Object.create(null)
}
_addPattern (pattern) {
// #32
if (pattern && pattern[KEY_IGNORE]) {
this._rules = this._rules.concat(pattern._rules)
this._added = true
return
}
if (checkPattern(pattern)) {
const rule = createRule(pattern, this._ignoreCase)
this._added = true
this._rules.push(rule)
}
}
// @param {Array<string> | string | Ignore} pattern
add (pattern) {
this._added = false
makeArray(
isString(pattern)
? splitPattern(pattern)
: pattern
).forEach(this._addPattern, this)
// Some rules have just added to the ignore,
// making the behavior changed.
if (this._added) {
this._initCache()
}
return this
}
// legacy
addPattern (pattern) {
return this.add(pattern)
}
// | ignored : unignored
// negative | 0:0 | 0:1 | 1:0 | 1:1
// -------- | ------- | ------- | ------- | --------
// 0 | TEST | TEST | SKIP | X
// 1 | TESTIF | SKIP | TEST | X
// - SKIP: always skip
// - TEST: always test
// - TESTIF: only test if checkUnignored
// - X: that never happen
// @param {boolean} whether should check if the path is unignored,
// setting `checkUnignored` to `false` could reduce additional
// path matching.
// @returns {TestResult} true if a file is ignored
_testOne (path, checkUnignored) {
let ignored = false
let unignored = false
this._rules.forEach(rule => {
const {negative} = rule
if (
unignored === negative && ignored !== unignored
|| negative && !ignored && !unignored && !checkUnignored
) {
return
}
const matched = rule.regex.test(path)
if (matched) {
ignored = !negative
unignored = negative
}
})
return {
ignored,
unignored
}
}
// @returns {TestResult}
_test (originalPath, cache, checkUnignored, slices) {
const path = originalPath
// Supports nullable path
&& checkPath.convert(originalPath)
checkPath(
path,
originalPath,
this._allowRelativePaths
? RETURN_FALSE
: throwError
)
return this._t(path, cache, checkUnignored, slices)
}
_t (path, cache, checkUnignored, slices) {
if (path in cache) {
return cache[path]
}
if (!slices) {
// path/to/a.js
// ['path', 'to', 'a.js']
slices = path.split(SLASH)
}
slices.pop()
// If the path has no parent directory, just test it
if (!slices.length) {
return cache[path] = this._testOne(path, checkUnignored)
}
const parent = this._t(
slices.join(SLASH) + SLASH,
cache,
checkUnignored,
slices
)
// If the path contains a parent directory, check the parent first
return cache[path] = parent.ignored
// > It is not possible to re-include a file if a parent directory of
// > that file is excluded.
? parent
: this._testOne(path, checkUnignored)
}
ignores (path) {
return this._test(path, this._ignoreCache, false).ignored
}
createFilter () {
return path => !this.ignores(path)
}
filter (paths) {
return makeArray(paths).filter(this.createFilter())
}
// @returns {TestResult}
test (path) {
return this._test(path, this._testCache, true)
}
}
const factory = options => new Ignore(options)
const isPathValid = path =>
checkPath(path && checkPath.convert(path), path, RETURN_FALSE)
factory.isPathValid = isPathValid
// Fixes typescript
factory.default = factory
module.exports = factory
// Windows
// --------------------------------------------------------------
/* istanbul ignore if */
if (
// Detect `process` so that it can run in browsers.
typeof process !== 'undefined'
&& (
process.env && process.env.IGNORE_TEST_WIN32
|| process.platform === 'win32'
)
) {
/* eslint no-control-regex: "off" */
const makePosix = str => /^\\\\\?\\/.test(str)
|| /["<>|\u0000-\u001F]+/u.test(str)
? str
: str.replace(/\\/g, '/')
checkPath.convert = makePosix
// 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/'
// 'd:\\foo'
const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i
checkPath.isNotRelative = path =>
REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path)
|| isNotRelative(path)
}
@@ -0,0 +1,3 @@
# caniuse-lite
A smaller version of caniuse-db, with only the essentials!
@@ -0,0 +1,144 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const util = __importStar(require("../core/util.cjs"));
const error = () => {
// singular units after numerals in Tajik
const Sizable = {
string: { unit: "аломат", verb: "дошта бошад" },
file: { unit: "байт", verb: "дошта бошад" },
array: { unit: "унсур", verb: "дошта бошад" },
set: { unit: "унсур", verb: "дошта бошад" },
map: { unit: "сабт", verb: "дошта бошад" },
};
function getSizing(origin) {
return Sizable[origin] ?? null;
}
const FormatDictionary = {
regex: "вуруд",
email: "суроғаи email",
url: "URL",
emoji: "эмоҷи",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "санаву вақти ISO",
date: "санаи ISO",
time: "вақти ISO",
duration: "давомнокии ISO",
ipv4: "суроғаи IPv4",
ipv6: "суроғаи IPv6",
mac: "суроғаи MAC",
cidrv4: "маҳдудаи IPv4",
cidrv6: "маҳдудаи IPv6",
base64: "сатри дар формати base64",
base64url: "сатри дар формати base64url",
json_string: "сатри JSON",
e164: "рақами E.164",
credit_card: "рақами корти кредитӣ",
currency_code: "рамзи асъор",
iban: "IBAN",
jwt: "JWT",
template_literal: "вуруд",
};
const TypeDictionary = {
nan: "NaN",
number: "рақам",
string: "сатр",
array: "массив",
object: "объект",
date: "сана",
};
return (issue) => {
switch (issue.code) {
case "invalid_type": {
const expected = TypeDictionary[issue.expected] ?? issue.expected;
const receivedType = util.parsedType(issue.input);
const received = TypeDictionary[receivedType] ?? receivedType;
return `Вуруди нодуруст: ${expected} интизор мерафт, ${received} гирифта шуд`;
}
case "invalid_value":
if (issue.values.length === 1)
return `Вуруди нодуруст: ${util.stringifyPrimitive(issue.values[0])} интизор мерафт`;
return `Интихоби нодуруст: яке аз ${util.joinValues(issue.values, "|")} интизор мерафт`;
case "too_big": {
const adj = issue.inclusive ? "<=" : "<";
const sizing = getSizing(issue.origin);
if (sizing)
return `Хеле калон: ${issue.origin ?? "қимат"} бояд ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
return `Хеле калон: ${issue.origin ?? "қимат"} бояд ${adj}${issue.maximum.toString()} бошад`;
}
case "too_small": {
const adj = issue.inclusive ? ">=" : ">";
const sizing = getSizing(issue.origin);
if (sizing)
return `Хеле хурд: ${issue.origin} бояд ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
return `Хеле хурд: ${issue.origin} бояд ${adj}${issue.minimum.toString()} бошад`;
}
case "invalid_format": {
const _issue = issue;
if (_issue.format === "starts_with")
return `Сатри нодуруст: бояд бо "${_issue.prefix}" оғоз шавад`;
if (_issue.format === "ends_with")
return `Сатри нодуруст: бояд бо "${_issue.suffix}" анҷом ёбад`;
if (_issue.format === "includes")
return `Сатри нодуруст: бояд "${_issue.includes}"-ро дар бар гирад`;
if (_issue.format === "regex")
return `Сатри нодуруст: бояд ба намунаи ${_issue.pattern} мувофиқат кунад`;
return `${FormatDictionary[_issue.format] ?? issue.format}-и нодуруст`;
}
case "not_multiple_of":
return `Рақами нодуруст: бояд ба ${issue.divisor} бе бақия тақсим шавад`;
case "unrecognized_keys":
return `Калид${issue.keys.length > 1 ? "ҳои" : "и"} номаълум: ${util.joinValues(issue.keys, ", ")}`;
case "invalid_key":
return `Калиди нодуруст дар ${issue.origin}`;
case "invalid_union":
if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {
const opts = issue.options.map((o) => `'${o}'`).join(" | ");
return `Қимати нодурусти дискриминатор: ${opts} интизор мерафт`;
}
return "Вуруди нодуруст";
case "invalid_element":
return `Қимати нодуруст дар ${issue.origin}`;
default:
return `Вуруди нодуруст`;
}
};
};
function default_1() {
return {
localeError: error(),
};
}
module.exports = exports.default;
@@ -0,0 +1,36 @@
import { resolveEdge, namedEdges } from './edge.mjs';
const defaultOffset = [0, 0];
function resolveOffset(offset, containerLength, targetLength, targetInset) {
let offsetDefinition = Array.isArray(offset) ? offset : defaultOffset;
let targetPoint = 0;
let containerPoint = 0;
if (typeof offset === "number") {
/**
* If we're provided offset: [0, 0.5, 1] then each number x should become
* [x, x], so we default to the behaviour of mapping 0 => 0 of both target
* and container etc.
*/
offsetDefinition = [offset, offset];
}
else if (typeof offset === "string") {
offset = offset.trim();
if (offset.includes(" ")) {
offsetDefinition = offset.split(" ");
}
else {
/**
* If we're provided a definition like "100px" then we want to apply
* that only to the top of the target point, leaving the container at 0.
* Whereas a named offset like "end" should be applied to both.
*/
offsetDefinition = [offset, namedEdges[offset] ? offset : `0`];
}
}
targetPoint = resolveEdge(offsetDefinition[0], targetLength, targetInset);
containerPoint = resolveEdge(offsetDefinition[1], containerLength);
return targetPoint - containerPoint;
}
export { resolveOffset };
//# sourceMappingURL=offset.mjs.map
@@ -0,0 +1,88 @@
"use strict";
function padLeft(val, len) {
return String(val).padStart(len || 2, "0");
}
function dateTimeFormat(date, opts) {
return new Intl.DateTimeFormat("en-US", opts).format(date);
}
function getOrdinalSuffix(day) {
if (day > 3 && day < 21) {
return "th";
}
switch (day % 10) {
case 1:
return "st";
case 2:
return "nd";
case 3:
return "rd";
default:
return "th";
}
}
function timezone(date, together) {
let offset = date.getTimezoneOffset();
let prefix;
if (offset <= 0) {
prefix = "+";
offset = Math.abs(offset);
} else {
prefix = "-";
}
return `${prefix}${padLeft(Math.floor(offset / 60))}${together ? "" : ":"}${padLeft(Math.floor(offset % 60))}`;
}
const FORMAT_MAP = {
// 年份
yyyy: (d) => d.getFullYear(),
YYYY: (d) => d.getFullYear(),
YY: (d) => padLeft(d.getFullYear() % 100),
// 月份
MMMM: (d) => dateTimeFormat(d, { month: "long" }),
MMM: (d) => dateTimeFormat(d, { month: "short" }),
MM: (d) => padLeft(d.getMonth() + 1),
M: (d) => d.getMonth() + 1,
// 日期
DD: (d) => padLeft(d.getDate()),
D: (d) => d.getDate(),
Do: (d) => {
const day = d.getDate();
return String(day) + getOrdinalSuffix(day);
},
// 星期
dddd: (d) => dateTimeFormat(d, { weekday: "long" }),
ddd: (d) => dateTimeFormat(d, { weekday: "short" }),
dd: (d) => dateTimeFormat(d, { weekday: "narrow" }),
// 时间
HH: (d) => padLeft(d.getHours()),
H: (d) => d.getHours(),
hh: (d) => padLeft(d.getHours() % 12 || 12),
h: (d) => d.getHours() % 12 || 12,
mm: (d) => padLeft(d.getMinutes()),
m: (d) => d.getMinutes(),
ss: (d) => padLeft(d.getSeconds()),
s: (d) => d.getSeconds(),
SSS: (d) => padLeft(d.getMilliseconds(), 3),
// 其他
A: (d) => d.getHours() >= 12 ? "PM" : "AM",
a: (d) => d.getHours() >= 12 ? "pm" : "am",
Z: (d) => timezone(d),
ZZ: (d) => timezone(d, true)
};
const tokens = Object.keys(FORMAT_MAP).sort((a, b) => b.length - a.length).join("|");
const pattern = new RegExp(
`${tokens}|\\[([^\\]]*)]`,
"g"
);
function format(date, formatString) {
if (!formatString || formatString === "ISO") {
return date.toISOString();
}
return formatString.replace(pattern, (match, escapeContent) => {
if (escapeContent) {
return escapeContent;
}
const formatter = FORMAT_MAP[match];
return formatter ? formatter(date) : match;
});
}
module.exports = format;
@@ -0,0 +1,636 @@
flf2a$ 6 5 15 -1 23
bell.flf
Lower case letters, punctuation, and miscellaneous changes by Kent Nassen,
kentn@cyberspace.org
Last change: 10/11/94
Upper case letters originally by Joshua Bell:
Newsgroups: alt.ascii-art
From: jsbell@acs.ucalgary.ca (Joshua Bell)
Subject: Yet Another Non-Figlet Font
Message-ID: <Mar13.073432.23373@acs.ucalgary.ca>
Date: Sun, 13 Mar 1994 07:34:32 GMT
Organization: The University of Calgary
Lines: 30
Status: RO
I've had this kicking around for a while. If anyone wants to add
in other characters and Figlet-ize it, go right ahead.
Joshua
--
| "Has it been a bad year, or what?" - Meriadoc Brandybuck, |
| upon returning to the Shire after the War of the Ring. |
| jsbell@acs.ucalgary.ca Academic Computing Services, University of Calgary |
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@@
$/@
$|@
$|@
$|@
$`@
$'@@
$,,@
$//@
$ $@
$ $@
$ $@
$ $@@
$ . . $@
$ -|--|--@
$ | | $@
$--|--|-$@
$ ' ' $@
$ $@@
@
@
@
@
@
@@
$ _ ,$@
$/ \ / $@
$\_// _$@
$ / / \@
$ / \_/@
$' $@@
@
@
@
@
@
@@
,@
/@
$@
$@
$@
$@@
$ ,@
$/ @
$| @
$| @
$. @
$ `@@
$. @
$ \@
$ |@
$ |@
$ ,@
$' @@
$ . @
$`. | /@
$ \-' @
$ ,|\ @
$/ | \ @
$ $@@
$ , $@
$ | $@
$.----'@
$ | $@
$ ` $@
$ $@@
$$@
$$@
$$@
$$@
$,@
$/@@
$ $@
$ $@
$.---'@
$ $@
$ $@
$ $@@
$$@
$$@
$$@
$$@
$/@
$$@@
$ $@
$ /@
$ /$@
$ ,'$@
$, $@
$ $@@
$ ___/@
$.' /\@
$| / |@
$|,' |@
$/`---'@
$ $@@
$ .$@
$/|$@
$ |$@
$ |$@
$_|_@
$ $@@
$ ___$@
$/ \@
$ _-'@
$ / @
$/___,@
$ @@
$ ___$@
$/ \@
$ _-'@
$ \ @
$\___)@
$ @@
$ $@
$| |$@
$`.__|$@
$ |$@
$ |$@
$ $@@
$ ____@
$| @
$`---.@
$ |@
$\__.'@
$ $@@
$ __$@
$.' @
$|---.@
$| |@
$`._.'@
$ $@@
$ ___$@
$' \@
$ __/@
$ /`@
$ / $@
$ $@@
$ ___ @
$/ \@
$>---<@
$' `@
$`---'@
$ $@@
$ ___ @
$/ \@
$`---|@
$ |@
$`---'@
$ $@@
$$@
$$@
$/@
$$@
$/@
$$@@
$$@
$$@
$/@
$$@
$,@
$/@@
@
@
@
@
@
@@
$ $@
$ $@
$,-----'@
$ $@
$,-----'@
$ $@@
@
@
@
@
@
@@
$ __ $@
$/ `.@
$` '@
$ /$@
$ , $@
$ ' $@@
_____ @
/ __. \@
| / | |@
| \__| |@
| `-'@
`----- @@
. @
/| @
/ \ @
/---'\ @
,' \@
@@
$____ $@
$/ \ @
$|,_-< @
$| `@
$`----'@
$ $@@
$ ___ @
$.' \@
$| @
$| @
$ `.__,@
$ @@
$.___ $@
$/ ` @
$| |@
$| |@
$/---/ @
$ $@@
$.____$@
$/ $@
$|__. $@
$| $@
$/----/@
$ @@
$.____@
$/ @
$|__. @
$| @
$/ @
$ @@
$ ___ $@
$.' \$@
$| $@
$| _$@
$ `.___|@
$ @@
$__ __@
$| | @
$|___| @
$| | @
$/ / @
$ $@@
$_@
$|@
$|@
$|@
$/@
$$@@
$ _______@
$' / @
$ | @
$ | @
$ `--/ @
$ $@@
$. @
$/ /@
$|_-' @
$| \ @
$/ \@
$ @@
$. @
$/ @
$| @
$| @
$/---/@
$ @@
$__ __@
$| | @
$|\ /| @
$| \/ | @
$/ / @
$ @@
$__ _@
$|\ | @
$| \ | @
$| \ | @
$| \| @
$ @@
$ ___ @
$.' `.@
$| |@
$| |@
$ `.__.'@
$ @@
$.___ @
$/ \@
$|,_-'@
$| @
$/ @
$ @@
$ ___ @
$.' `. @
$| | @
$| ,_ | @
$ `._.`-.@
$ @@
$.___ @
$/ \@
$|__-'@
$| \ @
$/ \@
$ @@
$ _____@
$ ( @
$ `--. @
$ | @
$\___.' @
$ @@
$ _______@
$' / @
$ | @
$ | @
$ / @
$ @@
$. .@
$/ /@
$| |@
$| |@
$ `._.' @
$ @@
$__ __@
$| | @
$ \ / @
$ \ / @
$ \/ @
$ @@
$. __@
$/ | @
$| | @
$| /\ / @
$|,' \,' @
$ @@
$_ _@
$`. / @
$ \,' @
$ ,'\ @
$/ \ @
$ @@
$_ _@
$ `. / @
$ `./ @
$ ,' @
$_-' @
$ @@
$ _______ @
$' / @
$ .--' @
$ / @
$,'______/@
$ @@
$__@
$| @
$| @
$| @
$| @
$--@@
$ @
$\ @
$ \ @
$ `. @
$ `.@
$ @@
$__@
$ |@
$ |@
$ |@
$ |@
$--@@
@
@
@
@
@
@@
$ $@
$ $@
$ $@
$ $@
$______,@
$' $@@
$,@
$\@
$$@
$$@
$$@
$$@@
$ $@
$ ___$@
$ / `@
$| |@
$`.__/|@
$ $@@
$_ $@
$\ ___ @
$|/ \@
$| `@
$`___,'@
$ $@@
$ $@
$ ___ @
$.' `@
$| @
$ `._.'@
$ $@@
$ _@
$ ___/@
$ / |@
$,' |@
$`___,'@
$ `@@
$ $@
$ ___$@
$.' `@
$|----'@
$`.___,@
$ $@@
$,__$@
$/ `@
$|__$@
$| $@
$| $@
$/ $@@
$ @
$ ___.@
$.' `@
$| |@
$ `---|@
$ \___/@@
$_ $@
$/ @
$|,---.@
$|' `@
$/ |@
$ $@@
$ @
$`@
$|@
$|@
$/@
$$@@
$ $@
$ .$@
$ \$@
$ |$@
$/` |$@
$\___/`@@
$\ $@
$| ,@
$| / @
$|-< @
$/ \_@
$ $@@
$ . @
$ | @
$ | @
$ | @
$/\__@
$ @@
$ $@
$, _ , _ $@
$|' `|' `.@
$| | |@
$/ ' /@
$ $@@
$ $@
$, __ $@
$|' `.@
$| |@
$/ |@
$ $@@
$ $@
$ __. @
$.' \@
$| |@
$ `._.'@
$ $@@
$ $@
$\,___,@
$| \@
$| |@
$|`---'@
$\ $@@
$ $@
$ ___.$@
$.' `$@
$| |$@
$ `---|.@
$ |/@@
$ $@
$.___$@
$/ \@
$| '@
$/ $@
$ $@@
$ $@
$ ____@
$ ( @
$ `--.$@
$\___.'@
$ $@@
$ . $@
$_/_ @
$ | @
$ | @
$ \__/@
$ $@@
$ $@
$, .@
$| |@
$| |@
$`._/|@
$ $@@
$ $@
$_ __@
$| / @
$` / $@
$ \/ $@
$ $@@
$ @
$, _ /@
$| | |@
$` ^ '@
$ \/ \/$@
$ $@@
$ $@
$_ .-@
$ \,'$@
$ /\ $@
$/ \$@
$ $@@
$ $@
$, .$@
$| `$@
$| |$@
$ `---|.@
$ \___/$@@
$ $@
$____$@
$ /$@
$ ,/ $@
$/__.'@
$` $@@
$ _@
$/ @
_| @
$| @
$\_@
$ $@@
$.@
$|@
$|@
$|@
$|@
$`@@
_ $@
\$@
|_@
|$@
_/$@
$ $@@
@
@
@
@
@
~@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@
@
@
@
@
@@
@@ -0,0 +1,3 @@
import { writeFileSync } from "fs";
writeFileSync("./dist/cjs/package.json", '{"type":"commonjs"}', "utf-8");
@@ -0,0 +1 @@
{"version":3,"file":"supported.mjs","sources":["../../../../../src/animation/waapi/easing/supported.ts"],"sourcesContent":["import { cubicBezierAsString } from \"./cubic-bezier\"\n\nexport const supportedWaapiEasing = {\n linear: \"linear\",\n ease: \"ease\",\n easeIn: \"ease-in\",\n easeOut: \"ease-out\",\n easeInOut: \"ease-in-out\",\n circIn: /*@__PURE__*/ cubicBezierAsString([0, 0.65, 0.55, 1]),\n circOut: /*@__PURE__*/ cubicBezierAsString([0.55, 0, 1, 0.45]),\n backIn: /*@__PURE__*/ cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),\n backOut: /*@__PURE__*/ cubicBezierAsString([0.33, 1.53, 0.69, 0.99]),\n}\n"],"names":[],"mappings":";;AAEO,MAAM,oBAAoB,GAAG;AAChC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,SAAS,EAAE,aAAa;AACxB,IAAA,MAAM,gBAAgB,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,IAAA,OAAO,gBAAgB,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9D,IAAA,MAAM,gBAAgB,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,IAAA,OAAO,gBAAgB,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;;;;;"}
@@ -0,0 +1,3 @@
import { type ZodErrorMap } from "../ZodError.cjs";
declare const errorMap: ZodErrorMap;
export = errorMap;
@@ -0,0 +1,195 @@
import { P as withFilter } from "./shared/define-config-BhJ90aEv.mjs";
//#region ../../node_modules/.pnpm/@rolldown+pluginutils@1.0.1/node_modules/@rolldown/pluginutils/dist/filter/index.d.mts
//#region src/filter/composable-filters.d.ts
type StringOrRegExp = string | RegExp;
type PluginModuleType = 'js' | 'jsx' | 'ts' | 'tsx' | 'json' | 'text' | 'base64' | 'dataurl' | 'binary' | 'empty' | (string & {});
type FilterExpressionKind = FilterExpression['kind'];
type FilterExpression = And | Or | Not | Id | ImporterId | ModuleType | Code | Query;
type TopLevelFilterExpression = Include | Exclude;
declare class And {
kind: 'and';
args: FilterExpression[];
constructor(...args: FilterExpression[]);
}
declare class Or {
kind: 'or';
args: FilterExpression[];
constructor(...args: FilterExpression[]);
}
declare class Not {
kind: 'not';
expr: FilterExpression;
constructor(expr: FilterExpression);
}
interface QueryFilterObject {
[key: string]: StringOrRegExp | boolean;
}
interface IdParams {
cleanUrl?: boolean;
}
declare class Id {
kind: 'id';
pattern: StringOrRegExp;
params: IdParams;
constructor(pattern: StringOrRegExp, params?: IdParams);
}
declare class ImporterId {
kind: 'importerId';
pattern: StringOrRegExp;
params: IdParams;
constructor(pattern: StringOrRegExp, params?: IdParams);
}
declare class ModuleType {
kind: 'moduleType';
pattern: PluginModuleType;
constructor(pattern: PluginModuleType);
}
declare class Code {
kind: 'code';
pattern: StringOrRegExp;
constructor(expr: StringOrRegExp);
}
declare class Query {
kind: 'query';
key: string;
pattern: StringOrRegExp | boolean;
constructor(key: string, pattern: StringOrRegExp | boolean);
}
declare class Include {
kind: 'include';
expr: FilterExpression;
constructor(expr: FilterExpression);
}
declare class Exclude {
kind: 'exclude';
expr: FilterExpression;
constructor(expr: FilterExpression);
}
declare function and(...args: FilterExpression[]): And;
declare function or(...args: FilterExpression[]): Or;
declare function not(expr: FilterExpression): Not;
declare function id(pattern: StringOrRegExp, params?: IdParams): Id;
declare function importerId(pattern: StringOrRegExp, params?: IdParams): ImporterId;
declare function moduleType(pattern: PluginModuleType): ModuleType;
declare function code(pattern: StringOrRegExp): Code;
declare function query(key: string, pattern: StringOrRegExp | boolean): Query;
declare function include(expr: FilterExpression): Include;
declare function exclude(expr: FilterExpression): Exclude;
/**
* convert a queryObject to FilterExpression like
* ```js
* and(query(k1, v1), query(k2, v2))
* ```
* @param queryFilterObject The query filter object needs to be matched.
* @returns a `And` FilterExpression
*/
declare function queries(queryFilter: QueryFilterObject): And;
declare function interpreter(exprs: TopLevelFilterExpression | TopLevelFilterExpression[], code?: string, id?: string, moduleType?: PluginModuleType, importerId?: string): boolean;
interface InterpreterCtx {
urlSearchParamsCache?: URLSearchParams;
}
declare function interpreterImpl(expr: TopLevelFilterExpression[], code?: string, id?: string, moduleType?: PluginModuleType, importerId?: string, ctx?: InterpreterCtx): boolean;
declare function exprInterpreter(expr: FilterExpression, code?: string, id?: string, moduleType?: PluginModuleType, importerId?: string, ctx?: InterpreterCtx): boolean; //#endregion
//#region src/filter/filter-vite-plugins.d.ts
/**
* Filters out Vite plugins that have `apply: 'serve'` set.
*
* Since Rolldown operates in build mode, plugins marked with `apply: 'serve'`
* are intended only for Vite's dev server and should be excluded from the build process.
*
* @param plugins - Array of plugins (can include nested arrays)
* @returns Filtered array with serve-only plugins removed
*
* @example
* ```ts
* import { defineConfig } from 'rolldown';
* import { filterVitePlugins } from '@rolldown/pluginutils';
* import viteReact from '@vitejs/plugin-react';
*
* export default defineConfig({
* plugins: filterVitePlugins([
* viteReact(),
* {
* name: 'dev-only',
* apply: 'serve', // This will be filtered out
* // ...
* }
* ])
* });
* ```
*/
declare function filterVitePlugins<T = any>(plugins: T | T[] | null | undefined | false): T[]; //#endregion
//#region src/filter/simple-filters.d.ts
/**
* Constructs a RegExp that matches the exact string specified.
*
* This is useful for plugin hook filters.
*
* @param str the string to match.
* @param flags flags for the RegExp.
*
* @example
* ```ts
* import { exactRegex } from '@rolldown/pluginutils';
* const plugin = {
* name: 'plugin',
* resolveId: {
* filter: { id: exactRegex('foo') },
* handler(id) {} // will only be called for `foo`
* }
* }
* ```
*/
declare function exactRegex(str: string, flags?: string): RegExp;
/**
* Constructs a RegExp that matches a value that has the specified prefix.
*
* This is useful for plugin hook filters.
*
* @param str the string to match.
* @param flags flags for the RegExp.
*
* @example
* ```ts
* import { prefixRegex } from '@rolldown/pluginutils';
* const plugin = {
* name: 'plugin',
* resolveId: {
* filter: { id: prefixRegex('foo') },
* handler(id) {} // will only be called for IDs starting with `foo`
* }
* }
* ```
*/
declare function prefixRegex(str: string, flags?: string): RegExp;
type WidenString<T> = T extends string ? string : T;
/**
* Converts a id filter to match with an id with a query.
*
* @param input the id filters to convert.
*
* @example
* ```ts
* import { makeIdFiltersToMatchWithQuery } from '@rolldown/pluginutils';
* const plugin = {
* name: 'plugin',
* transform: {
* filter: { id: makeIdFiltersToMatchWithQuery(['**' + '/*.js', /\.ts$/]) },
* // The handler will be called for IDs like:
* // - foo.js
* // - foo.js?foo
* // - foo.txt?foo.js
* // - foo.ts
* // - foo.ts?foo
* // - foo.txt?foo.ts
* handler(code, id) {}
* }
* }
* ```
*/
declare function makeIdFiltersToMatchWithQuery<T extends string | RegExp>(input: T): WidenString<T>;
declare function makeIdFiltersToMatchWithQuery<T extends string | RegExp>(input: readonly T[]): WidenString<T>[];
declare function makeIdFiltersToMatchWithQuery(input: string | RegExp | readonly (string | RegExp)[]): string | RegExp | (string | RegExp)[]; //#endregion
//#endregion
export { FilterExpression, FilterExpressionKind, QueryFilterObject, TopLevelFilterExpression, and, code, exactRegex, exclude, exprInterpreter, filterVitePlugins, id, importerId, include, interpreter, interpreterImpl, makeIdFiltersToMatchWithQuery, moduleType, not, or, prefixRegex, queries, query, withFilter };
@@ -0,0 +1,2 @@
import{jsxs as t,jsx as n}from"react/jsx-runtime";import{createContext as r,useContext as e,useMemo as o,Fragment as a,createElement as s,useRef as i,useInsertionEffect as l,useCallback as u,useLayoutEffect as c,useEffect as f,forwardRef as d}from"react";const p=(t,n,r)=>r>n?n:r<t?t:r,m=r({}),g=r({strict:!1}),h=r({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"}),y=r({}),v=(t=>n=>"string"==typeof n&&n.startsWith(t))("--"),b={test:t=>"number"==typeof t,parse:parseFloat,transform:t=>t},w={...b,transform:t=>p(0,1,t)},S={...b,default:1},x=t=>Math.round(1e5*t)/1e5,k=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;const B=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,R=(t,n)=>r=>Boolean("string"==typeof r&&B.test(r)&&r.startsWith(t)||n&&!function(t){return null==t}(r)&&Object.prototype.hasOwnProperty.call(r,n)),T=(t,n,r)=>e=>{if("string"!=typeof e)return e;const[o,a,s,i]=e.match(k);return{[t]:parseFloat(o),[n]:parseFloat(a),[r]:parseFloat(s),alpha:void 0!==i?parseFloat(i):1}},I={...b,transform:t=>Math.round((t=>p(0,255,t))(t))},A={test:R("rgb","red"),parse:T("red","green","blue"),transform:({red:t,green:n,blue:r,alpha:e=1})=>"rgba("+I.transform(t)+", "+I.transform(n)+", "+I.transform(r)+", "+x(w.transform(e))+")"};const M={test:R("#"),parse:function(t){let n="",r="",e="",o="";return t.length>5?(n=t.substring(1,3),r=t.substring(3,5),e=t.substring(5,7),o=t.substring(7,9)):(n=t.substring(1,2),r=t.substring(2,3),e=t.substring(3,4),o=t.substring(4,5),n+=n,r+=r,e+=e,o+=o),{red:parseInt(n,16),green:parseInt(r,16),blue:parseInt(e,16),alpha:o?parseInt(o,16)/255:1}},transform:A.transform},O=t=>({test:n=>"string"==typeof n&&n.endsWith(t)&&1===n.split(" ").length,parse:parseFloat,transform:n=>`${n}${t}`}),P=O("deg"),W=O("%"),E=O("px"),L=(()=>({...W,parse:t=>W.parse(t)/100,transform:t=>W.transform(100*t)}))(),C={test:R("hsl","hue"),parse:T("hue","saturation","lightness"),transform:({hue:t,saturation:n,lightness:r,alpha:e=1})=>"hsla("+Math.round(t)+", "+W.transform(x(n))+", "+W.transform(x(r))+", "+x(w.transform(e))+")"},j={test:t=>A.test(t)||M.test(t)||C.test(t),parse:t=>A.test(t)?A.parse(t):C.test(t)?C.parse(t):M.parse(t),transform:t=>"string"==typeof t?t:t.hasOwnProperty("red")?A.transform(t):C.transform(t),getAnimatableNone:t=>{const n=j.parse(t);return n.alpha=0,j.transform(n)}},V=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;const $="number",F="color",X=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Y(t){const n=t.toString(),r=[],e={color:[],number:[],var:[]},o=[];let a=0;const s=n.replace(X,t=>(j.test(t)?(e.color.push(a),o.push(F),r.push(j.parse(t))):t.startsWith("var(")?(e.var.push(a),o.push("var"),r.push(t)):(e.number.push(a),o.push($),r.push(parseFloat(t))),++a,"${}")).split("${}");return{values:r,split:s,indexes:e,types:o}}function D({split:t,types:n}){const r=t.length;return e=>{let o="";for(let a=0;a<r;a++)if(o+=t[a],void 0!==e[a]){const t=n[a];o+=t===$?x(e[a]):t===F?j.transform(e[a]):e[a]}return o}}const H=(t,n)=>{return"number"==typeof t?n?.trim().endsWith("/")?t:0:"number"==typeof(r=t)?0:j.test(r)?j.getAnimatableNone(r):r;var r};const N={test:function(t){return isNaN(t)&&"string"==typeof t&&(t.match(k)?.length||0)+(t.match(V)?.length||0)>0},parse:function(t){return Y(t).values},createTransformer:function(t){return D(Y(t))},getAnimatableNone:function(t){const n=Y(t);return D(n)(n.values.map((t,r)=>H(t,n.split[r])))}},Z=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],z=(()=>new Set(Z))();function U(t,n,r,e){if("function"==typeof n){const[r,e]=[{},{}];n=n(t.custom,r,e)}if("string"==typeof n&&(n=t.variants&&t.variants[n]),"function"==typeof n){const[r,e]=[{},{}];n=n(t.custom,r,e)}return n}const q=t=>Boolean(t&&t.getVelocity);const _="data-"+"framerAppearId".replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`);const G={...b,transform:Math.round},J={borderWidth:E,borderTopWidth:E,borderRightWidth:E,borderBottomWidth:E,borderLeftWidth:E,borderRadius:E,borderTopLeftRadius:E,borderTopRightRadius:E,borderBottomRightRadius:E,borderBottomLeftRadius:E,width:E,maxWidth:E,height:E,maxHeight:E,top:E,right:E,bottom:E,left:E,inset:E,insetBlock:E,insetBlockStart:E,insetBlockEnd:E,insetInline:E,insetInlineStart:E,insetInlineEnd:E,padding:E,paddingTop:E,paddingRight:E,paddingBottom:E,paddingLeft:E,paddingBlock:E,paddingBlockStart:E,paddingBlockEnd:E,paddingInline:E,paddingInlineStart:E,paddingInlineEnd:E,margin:E,marginTop:E,marginRight:E,marginBottom:E,marginLeft:E,marginBlock:E,marginBlockStart:E,marginBlockEnd:E,marginInline:E,marginInlineStart:E,marginInlineEnd:E,fontSize:E,backgroundPositionX:E,backgrouLine truncated
//# sourceMappingURL=size-rollup-m.js.map
@@ -0,0 +1,289 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkModifiers = checkModifiers;
const ts = __importStar(require("typescript"));
const getModifiers_1 = require("./getModifiers");
const node_utils_1 = require("./node-utils");
const SyntaxKind = ts.SyntaxKind;
// `ts.nodeIsMissing`
function nodeIsMissing(node) {
if (node == null) {
return true;
}
return (node.pos === node.end &&
node.pos >= 0 &&
node.kind !== SyntaxKind.EndOfFileToken);
}
// `ts.nodeIsPresent`
function nodeIsPresent(node) {
return !nodeIsMissing(node);
}
// `ts.hasAbstractModifier`
function hasAbstractModifier(node) {
return (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node);
}
// `ts.getThisParameter`
function getThisParameter(signature) {
if (signature.parameters.length && !ts.isJSDocSignature(signature)) {
const thisParameter = signature.parameters[0];
if (parameterIsThisKeyword(thisParameter)) {
return thisParameter;
}
}
return null;
}
// `ts.parameterIsThisKeyword`
function parameterIsThisKeyword(parameter) {
return (0, node_utils_1.isThisIdentifier)(parameter.name);
}
// `ts.getContainingFunction`
function getContainingFunction(node) {
return ts.findAncestor(node.parent, ts.isFunctionLike);
}
// Rewrite version of `ts.nodeCanBeDecorated`
// Returns `true` for both `useLegacyDecorators: true` and `useLegacyDecorators: false`
function nodeCanBeDecorated(node) {
switch (node.kind) {
case SyntaxKind.ClassDeclaration:
return true;
case SyntaxKind.ClassExpression:
// `ts.nodeCanBeDecorated` returns `false` if `useLegacyDecorators: true`
return true;
case SyntaxKind.PropertyDeclaration: {
const { parent } = node;
// `ts.nodeCanBeDecorated` uses this if `useLegacyDecorators: true`
if (ts.isClassDeclaration(parent)) {
return true;
}
// `ts.nodeCanBeDecorated` uses this if `useLegacyDecorators: false`
// parent is already a ClassLike subtype; defensive check
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
if (ts.isClassLike(parent) && !hasAbstractModifier(node)) {
return true;
}
return false;
}
case SyntaxKind.GetAccessor:
case SyntaxKind.SetAccessor:
case SyntaxKind.MethodDeclaration: {
const { parent } = node;
// In `ts.nodeCanBeDecorated`
// when `useLegacyDecorators: true` uses `ts.isClassDeclaration`
// when `useLegacyDecorators: true` uses `ts.isClassLike`
return (Boolean(node.body) &&
(ts.isClassDeclaration(parent) || ts.isClassLike(parent)));
}
case SyntaxKind.Parameter: {
// `ts.nodeCanBeDecorated` returns `false` if `useLegacyDecorators: false`
const { parent } = node;
const grandparent = parent.parent;
return (Boolean(parent) &&
'body' in parent &&
Boolean(parent.body) &&
(parent.kind === SyntaxKind.Constructor ||
parent.kind === SyntaxKind.MethodDeclaration ||
parent.kind === SyntaxKind.SetAccessor) &&
getThisParameter(parent) !== node &&
Boolean(grandparent) &&
grandparent.kind === SyntaxKind.ClassDeclaration);
}
}
return false;
}
function nodeHasIllegalDecorators(node) {
return !!('illegalDecorators' in node &&
node.illegalDecorators?.length);
}
function checkModifiers(node) {
// typescript<5.0.0
if (nodeHasIllegalDecorators(node)) {
throw (0, node_utils_1.createError)(node.illegalDecorators[0], 'Decorators are not valid here.');
}
for (const decorator of (0, getModifiers_1.getDecorators)(node,
/* includeIllegalDecorators */ true) ?? []) {
// `checkGrammarModifiers` function in typescript
if (!nodeCanBeDecorated(node)) {
if (ts.isMethodDeclaration(node) && !nodeIsPresent(node.body)) {
throw (0, node_utils_1.createError)(decorator, 'A decorator can only decorate a method implementation, not an overload.');
}
else {
throw (0, node_utils_1.createError)(decorator, 'Decorators are not valid here.');
}
}
}
const modifiers = (0, getModifiers_1.getModifiers)(node, /* includeIllegalModifiers */ true) ?? [];
for (const modifier of modifiers) {
if (modifier.kind !== SyntaxKind.ReadonlyKeyword) {
if (node.kind === SyntaxKind.PropertySignature ||
node.kind === SyntaxKind.MethodSignature) {
throw (0, node_utils_1.createError)(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a type member`);
}
if (node.kind === SyntaxKind.IndexSignature &&
(modifier.kind !== SyntaxKind.StaticKeyword ||
!ts.isClassLike(node.parent))) {
throw (0, node_utils_1.createError)(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on an index signature`);
}
}
if (modifier.kind !== SyntaxKind.InKeyword &&
modifier.kind !== SyntaxKind.OutKeyword &&
modifier.kind !== SyntaxKind.ConstKeyword &&
node.kind === SyntaxKind.TypeParameter) {
throw (0, node_utils_1.createError)(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a type parameter`);
}
if ((modifier.kind === SyntaxKind.InKeyword ||
modifier.kind === SyntaxKind.OutKeyword) &&
(node.kind !== SyntaxKind.TypeParameter ||
!(ts.isInterfaceDeclaration(node.parent) ||
ts.isClassLike(node.parent) ||
ts.isTypeAliasDeclaration(node.parent)))) {
throw (0, node_utils_1.createError)(modifier, `'${ts.tokenToString(modifier.kind)}' modifier can only appear on a type parameter of a class, interface or type alias`);
}
if (modifier.kind === SyntaxKind.ReadonlyKeyword &&
node.kind !== SyntaxKind.PropertyDeclaration &&
node.kind !== SyntaxKind.PropertySignature &&
node.kind !== SyntaxKind.IndexSignature &&
node.kind !== SyntaxKind.Parameter) {
throw (0, node_utils_1.createError)(modifier, "'readonly' modifier can only appear on a property declaration or index signature.");
}
if (modifier.kind === SyntaxKind.DeclareKeyword &&
ts.isClassLike(node.parent) &&
!ts.isPropertyDeclaration(node)) {
throw (0, node_utils_1.createError)(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on class elements of this kind.`);
}
if (modifier.kind === SyntaxKind.DeclareKeyword &&
ts.isVariableStatement(node)) {
const declarationKind = (0, node_utils_1.getDeclarationKind)(node.declarationList);
if (declarationKind === 'using' || declarationKind === 'await using') {
throw (0, node_utils_1.createError)(modifier, `'declare' modifier cannot appear on a '${declarationKind}' declaration.`);
}
}
if (modifier.kind === SyntaxKind.AbstractKeyword &&
node.kind !== SyntaxKind.ClassDeclaration &&
node.kind !== SyntaxKind.ConstructorType &&
node.kind !== SyntaxKind.MethodDeclaration &&
node.kind !== SyntaxKind.PropertyDeclaration &&
node.kind !== SyntaxKind.GetAccessor &&
node.kind !== SyntaxKind.SetAccessor) {
throw (0, node_utils_1.createError)(modifier, `'${ts.tokenToString(modifier.kind)}' modifier can only appear on a class, method, or property declaration.`);
}
if ((modifier.kind === SyntaxKind.StaticKeyword ||
modifier.kind === SyntaxKind.PublicKeyword ||
modifier.kind === SyntaxKind.ProtectedKeyword ||
modifier.kind === SyntaxKind.PrivateKeyword) &&
(node.parent.kind === SyntaxKind.ModuleBlock ||
node.parent.kind === SyntaxKind.SourceFile)) {
throw (0, node_utils_1.createError)(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a module or namespace element.`);
}
if (modifier.kind === SyntaxKind.AccessorKeyword &&
node.kind !== SyntaxKind.PropertyDeclaration) {
throw (0, node_utils_1.createError)(modifier, "'accessor' modifier can only appear on a property declaration.");
}
// `checkGrammarAsyncModifier` function in `typescript`
if (modifier.kind === SyntaxKind.AsyncKeyword &&
node.kind !== SyntaxKind.MethodDeclaration &&
node.kind !== SyntaxKind.FunctionDeclaration &&
node.kind !== SyntaxKind.FunctionExpression &&
node.kind !== SyntaxKind.ArrowFunction) {
throw (0, node_utils_1.createError)(modifier, "'async' modifier cannot be used here.");
}
// `checkGrammarModifiers` function in `typescript`
if (node.kind === SyntaxKind.Parameter &&
(modifier.kind === SyntaxKind.StaticKeyword ||
modifier.kind === SyntaxKind.ExportKeyword ||
modifier.kind === SyntaxKind.DeclareKeyword ||
modifier.kind === SyntaxKind.AsyncKeyword)) {
throw (0, node_utils_1.createError)(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a parameter.`);
}
// `checkGrammarModifiers` function in `typescript`
if (modifier.kind === SyntaxKind.PublicKeyword ||
modifier.kind === SyntaxKind.ProtectedKeyword ||
modifier.kind === SyntaxKind.PrivateKeyword) {
for (const anotherModifier of modifiers) {
if (anotherModifier !== modifier &&
(anotherModifier.kind === SyntaxKind.PublicKeyword ||
anotherModifier.kind === SyntaxKind.ProtectedKeyword ||
anotherModifier.kind === SyntaxKind.PrivateKeyword)) {
throw (0, node_utils_1.createError)(anotherModifier, `Accessibility modifier already seen.`);
}
}
}
// `checkParameter` function in `typescript`
if (node.kind === SyntaxKind.Parameter &&
// In `typescript` package, it's `ts.hasSyntacticModifier(node, ts.ModifierFlags.ParameterPropertyModifier)`
// https://github.com/typescript-eslint/typescript-eslint/pull/6615#discussion_r1136489935
(modifier.kind === SyntaxKind.PublicKeyword ||
modifier.kind === SyntaxKind.PrivateKeyword ||
modifier.kind === SyntaxKind.ProtectedKeyword ||
modifier.kind === SyntaxKind.ReadonlyKeyword ||
modifier.kind === SyntaxKind.OverrideKeyword)) {
const func = getContainingFunction(node);
if (!(func?.kind === SyntaxKind.Constructor && nodeIsPresent(func.body))) {
throw (0, node_utils_1.createError)(modifier, 'A parameter property is only allowed in a constructor implementation.');
}
const param = node;
if (param.dotDotDotToken) {
throw (0, node_utils_1.createError)(modifier, 'A parameter property cannot be a rest parameter.');
}
if (param.name.kind === SyntaxKind.ArrayBindingPattern ||
param.name.kind === SyntaxKind.ObjectBindingPattern) {
throw (0, node_utils_1.createError)(modifier, 'A parameter property may not be declared using a binding pattern.');
}
}
checkObjectPropertyModifier(node, modifier);
}
// `ts.getModifiers()` can't access invalid modifiers on object properties
// Eg: `({declare a: 1})`
// See https://github.com/typescript-eslint/typescript-eslint/pull/11931#discussion_r2678961730
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- incorrect type
if (node.parent?.kind === SyntaxKind.ObjectLiteralExpression) {
// @ts-expect-error intentional to access deprecated `node.modifiers`
for (const modifier of node.modifiers ??
[]) {
if (ts.isDecorator(modifier) || modifiers.includes(modifier)) {
continue;
}
checkObjectPropertyModifier(node, modifier);
}
}
}
function checkObjectPropertyModifier(node, modifier) {
// From `checkGrammarObjectLiteralExpression` function in `typescript`
if ((modifier.kind !== SyntaxKind.AsyncKeyword ||
node.kind !== SyntaxKind.MethodDeclaration) &&
node.parent.kind === SyntaxKind.ObjectLiteralExpression) {
throw (0, node_utils_1.createError)(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot be used here.`);
}
}
@@ -0,0 +1,79 @@
# once
Only call a function once.
## usage
```javascript
var once = require('once')
function load (file, cb) {
cb = once(cb)
loader.load('file')
loader.once('load', cb)
loader.once('error', cb)
}
```
Or add to the Function.prototype in a responsible way:
```javascript
// only has to be done once
require('once').proto()
function load (file, cb) {
cb = cb.once()
loader.load('file')
loader.once('load', cb)
loader.once('error', cb)
}
```
Ironically, the prototype feature makes this module twice as
complicated as necessary.
To check whether you function has been called, use `fn.called`. Once the
function is called for the first time the return value of the original
function is saved in `fn.value` and subsequent calls will continue to
return this value.
```javascript
var once = require('once')
function load (cb) {
cb = once(cb)
var stream = createStream()
stream.once('data', cb)
stream.once('end', function () {
if (!cb.called) cb(new Error('not found'))
})
}
```
## `once.strict(func)`
Throw an error if the function is called twice.
Some functions are expected to be called only once. Using `once` for them would
potentially hide logical errors.
In the example below, the `greet` function has to call the callback only once:
```javascript
function greet (name, cb) {
// return is missing from the if statement
// when no name is passed, the callback is called twice
if (!name) cb('Hello anonymous')
cb('Hello ' + name)
}
function log (msg) {
console.log(msg)
}
// this will print 'Hello anonymous' but the logical error will be missed
greet(null, once(msg))
// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time
greet(null, once.strict(msg))
```
@@ -0,0 +1,5 @@
declare const eslintConfigPrettier: {
rules: Record<string, 0 | "off">;
};
export = eslintConfigPrettier;
@@ -0,0 +1,76 @@
import { describe, expect, test } from "vitest";
import * as z from "zod";
describe("z.creditCard", () => {
// Luhn-valid PANs. The last four are the schemes an issuer allowlist would turn away — validation is shape plus Luhn only, so the BIN is never consulted.
const valid: [string, string][] = [
["Visa", "4111111111111111"],
["Visa (13)", "4007000000027"],
["Mastercard", "5555555555554444"],
["AmEx", "378282246310005"],
["Discover", "6011111111111117"],
["JCB", "3530111333300000"],
["Diners Club", "30569309025904"],
["UnionPay", "6200000000000005"],
["Mir", "2200000000000004"],
["Elo", "6362000000000009"],
["Discover 644-649", "6450000000000002"],
["Troy", "9792000000000003"],
];
test.each(valid)("accepts %s", (_label, n) => {
expect(z.creditCard().parse(n)).toBe(n);
});
test("accepts single space or hyphen separators", () => {
expect(z.creditCard().parse("4111 1111 1111 1111")).toBe("4111 1111 1111 1111");
expect(z.creditCard().parse("4111-1111-1111-1111")).toBe("4111-1111-1111-1111");
});
test("rejects other separator shapes", () => {
for (const n of ["4111 1111 1111 1111", " 4111111111111111", "4111111111111111 ", "4111.1111.1111.1111"]) {
expect(() => z.creditCard().parse(n)).toThrow();
}
});
test("accepts the 12- and 19-digit length bounds", () => {
expect(z.creditCard().parse("400000000002")).toBe("400000000002");
expect(z.creditCard().parse("6250000000000000005")).toBe("6250000000000000005");
});
test("rejects Luhn-valid input outside 12-19 digits", () => {
expect(() => z.creditCard().parse("40000000006")).toThrow();
expect(() => z.creditCard().parse("40000000000000000002")).toThrow();
});
test("rejects when Luhn fails (right shape, wrong checksum)", () => {
expect(() => z.creditCard().parse("4111111111111112")).toThrow();
});
test("rejects non-digit input", () => {
expect(() => z.creditCard().parse("not-a-card")).toThrow();
expect(() => z.creditCard().parse("")).toThrow();
});
test("carries the shape regex as its JSON Schema pattern", () => {
// Luhn is not expressible as a pattern, so `pattern` covers length and separators only.
expect(z.toJSONSchema(z.creditCard())).toMatchObject({
format: "credit_card",
pattern: z.regexes.creditCard.source,
});
});
test("round-trips through JSON Schema with the checksum intact", () => {
const schema = z.fromJSONSchema(z.toJSONSchema(z.creditCard()));
expect(schema.safeParse("4111111111111111").success).toBe(true);
expect(schema.safeParse("4111111111111112").success).toBe(false);
});
test("error message references credit card", () => {
const result = z.creditCard().safeParse("not-a-card");
expect(result.success).toBe(false);
if (!result.success) {
expect(result.error.issues[0]?.message).toMatch(/credit card/i);
}
});
});
@@ -0,0 +1,36 @@
import ReactDOMServer from 'react-dom/server'
import type { ReactNode } from 'react'
import type { AnyRouter } from '@tanstack/router-core'
export const renderRouterToString = async ({
router,
responseHeaders,
children,
}: {
router: AnyRouter
responseHeaders: Headers
children: ReactNode
}) => {
try {
let html = ReactDOMServer.renderToString(children)
router.serverSsr!.setRenderFinished()
const injectedHtml = router.serverSsr!.takeBufferedHtml()
if (injectedHtml) {
html = html.replace(`</body>`, () => `${injectedHtml}</body>`)
}
return new Response(`<!DOCTYPE html>${html}`, {
status: router.stores.statusCode.get(),
headers: responseHeaders,
})
} catch (error) {
console.error('Render to string error:', error)
return new Response('Internal Server Error', {
status: 500,
headers: responseHeaders,
})
} finally {
router.serverSsr?.cleanup()
}
}
@@ -0,0 +1,28 @@
// This file is autogenerated by build-prefixes.js. DO NOT EDIT!
exports.Features = {
Nesting: 1,
NotSelectorList: 2,
DirSelector: 4,
LangSelectorList: 8,
IsSelector: 16,
TextDecorationThicknessPercent: 32,
MediaIntervalSyntax: 64,
MediaRangeSyntax: 128,
CustomMediaQueries: 256,
ClampFunction: 512,
ColorFunction: 1024,
OklabColors: 2048,
LabColors: 4096,
P3Colors: 8192,
HexAlphaColors: 16384,
SpaceSeparatedColorNotation: 32768,
FontFamilySystemUi: 65536,
DoublePositionGradients: 131072,
VendorPrefixes: 262144,
LogicalProperties: 524288,
LightDark: 1048576,
Selectors: 31,
MediaQueries: 448,
Colors: 1113088,
};
@@ -0,0 +1,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 Highlighter = createLucideIcon("Highlighter", [
["path", { d: "m9 11-6 6v3h9l3-3", key: "1a3l36" }],
["path", { d: "m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4", key: "14a9rk" }]
]);
export { Highlighter as default };
//# sourceMappingURL=highlighter.js.map
@@ -0,0 +1 @@
{"version":3,"file":"TimeEstimates.cjs","sources":["../src/TimeEstimates.ts"],"sourcesContent":[null],"names":["SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","CENTURY","times","second","minute","hour","day","month","year","century","timeEstimationValuesDefaults","scoring","attackTime","onlineThrottlingXPerHour","onlineNoThrottlingXPerSecond","offlineSlowHashingXPerSecond","offlineFastHashingXPerSecond","checkTimeEstimationValues","timeEstimationValues","Object","entries","forEach","key","data","subKey","value","Error","TimeEstimates","constructor","options","estimateAttackTimes","guesses","crackTimesSeconds","calculateCrackTimesSeconds","crackTimes","keys","crackTime","usedScenario","seconds","base","displayStr","displayTime","display","translate","score","guessesToScore","attackTimesOptions","scoringOptions","DELTA","timeKeys","foundIndex","findIndex","time","Math","round","timeEstimation","translations","translation","replace"],"mappings":";;AAQA,MAAMA,MAAM,GAAG,CAAC;AAChB,MAAMC,MAAM,GAAGD,MAAM,GAAG,EAAE;AAC1B,MAAME,IAAI,GAAGD,MAAM,GAAG,EAAE;AACxB,MAAME,GAAG,GAAGD,IAAI,GAAG,EAAE;AACrB,MAAME,KAAK,GAAGD,GAAG,GAAG,EAAE;AACtB,MAAME,IAAI,GAAGD,KAAK,GAAG,EAAE;AACvB,MAAME,OAAO,GAAGD,IAAI,GAAG,GAAG;AAE1B,MAAME,KAAK,GAAG;AACZC,EAAAA,MAAM,EAAER,MAAM;AACdS,EAAAA,MAAM,EAAER,MAAM;AACdS,EAAAA,IAAI,EAAER,IAAI;AACVS,EAAAA,GAAG,EAAER,GAAG;AACRS,EAAAA,KAAK,EAAER,KAAK;AACZS,EAAAA,IAAI,EAAER,IAAI;AACVS,EAAAA,OAAO,EAAER;CACV;AAEM,MAAMS,4BAA4B,GAAyB;AAChEC,EAAAA,OAAO,EAAE;AACP,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE;GACJ;AACDC,EAAAA,UAAU,EAAE;AACVC,IAAAA,wBAAwB,EAAE,GAAG;AAC7BC,IAAAA,4BAA4B,EAAE,EAAE;AAChCC,IAAAA,4BAA4B,EAAE,GAAG;AACjCC,IAAAA,4BAA4B,EAAE;AAC/B;;AAGI,MAAMC,yBAAyB,GACpCC,oBAA0C,IACxC;AACFC,EAAAA,MAAM,CAACC,OAAO,CAACF,oBAAoB,CAAC,CAACG,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,IAAI,CAAC,KAAI;AAC3DJ,IAAAA,MAAM,CAACC,OAAO,CAACG,IAAI,CAAC,CAACF,OAAO,CAAC,CAAC,CAACG,MAAM,EAAEC,KAAK,CAAC,KAAI;AAC/C;MACA,IAAIA,KAAK,GAAGf,4BAA4B,CAACY,GAAG,CAAC,CAACE,MAAM,CAAC,EAAE;AACrD,QAAA,MAAM,IAAIE,KAAK,CACb,sEAAsE,CACvE;AACH,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,CAAC;AACJ;AAEA;;;;AAIG;MACUC,aAAa,CAAA;EACxBC,WAAAA,CAAoBC,OAAgB,EAAA;IAAhB,IAAA,CAAAA,OAAO,GAAPA,OAAO;AAAY,EAAA;EAEhCC,mBAAmBA,CAACC,OAAe,EAAA;AACxC,IAAA,MAAMC,iBAAiB,GAAG,IAAI,CAACC,0BAA0B,CAACF,OAAO,CAAC;IAClE,MAAMG,UAAU,GAAG,EAAgB;IAEnCf,MAAM,CAACgB,IAAI,CAACH,iBAAiB,CAAC,CAACX,OAAO,CAAEe,SAAS,IAAI;MACnD,MAAMC,YAAY,GAAGD,SAAoC;AACzD,MAAA,MAAME,OAAO,GAAGN,iBAAiB,CAACK,YAAY,CAAC;MAC/C,MAAM;QAAEE,IAAI;AAAEC,QAAAA;AAAU,OAAE,GAAG,IAAI,CAACC,WAAW,CAACH,OAAO,CAAC;MAEtDJ,UAAU,CAACG,YAAY,CAAC,GAAG;QACzBE,IAAI;QACJD,OAAO;AACPI,QAAAA,OAAO,EAAE,IAAI,CAACC,SAAS,CAACH,UAAU,EAAED,IAAI;OACzC;AACH,IAAA,CAAC,CAAC;IAEF,OAAO;MACLL,UAAU;AACVU,MAAAA,KAAK,EAAE,IAAI,CAACC,cAAc,CAACd,OAAO;KACnC;AACH,EAAA;EAEQE,0BAA0BA,CAACF,OAAe,EAAA;IAChD,MAAMe,kBAAkB,GAAG,IAAI,CAACjB,OAAO,CAACX,oBAAoB,CAACN,UAAU;IACvE,OAAO;MACLC,wBAAwB,EACtBkB,OAAO,IAAIe,kBAAkB,CAACjC,wBAAwB,GAAG,IAAI,CAAC;AAChEC,MAAAA,4BAA4B,EAC1BiB,OAAO,GAAGe,kBAAkB,CAAChC,4BAA4B;AAC3DC,MAAAA,4BAA4B,EAC1BgB,OAAO,GAAGe,kBAAkB,CAAC/B,4BAA4B;AAC3DC,MAAAA,4BAA4B,EAC1Be,OAAO,GAAGe,kBAAkB,CAAC9B;KAChC;AACH,EAAA;EAEQ6B,cAAcA,CAACd,OAAe,EAAA;IACpC,MAAMgB,cAAc,GAAG,IAAI,CAAClB,OAAO,CAACX,oBAAoB,CAACP,OAAO;IAChE,MAAMqC,KAAK,GAAG,CAAC;IACf,IAAIjB,OAAO,GAAGgB,cAAc,CAAC,CAAC,CAAC,GAAGC,KAAK,EAAE;AACvC;AACA,MAAA,OAAO,CAAC;AACV,IAAA;IACA,IAAIjB,OAAO,GAAGgB,cAAc,CAAC,CAAC,CAAC,GAAGC,KAAK,EAAE;AACvC;AACA,MAAA,OAAO,CAAC;AACV,IAAA;IACA,IAAIjB,OAAO,GAAGgB,cAAc,CAAC,CAAC,CAAC,GAAGC,KAAK,EAAE;AACvC;AACA,MAAA,OAAO,CAAC;AACV,IAAA;IACA,IAAIjB,OAAO,GAAGgB,cAAc,CAAC,CAAC,CAAC,GAAGC,KAAK,EAAE;AACvC;AACA;AACA,MAAA,OAAO,CAAC;AACV,IAAA;AACA;AACA,IAAA,OAAO,CAAC;AACV,EAAA;EAEQP,WAAWA,CAACH,OAAe,EAAA;IACjC,IAAIE,UAAU,GAAG,WAAW;IAC5B,IAAID,IAAI,GAAG,IAAI;AACf,IAAA,MAAMU,QAAQ,GAAG9B,MAAM,CAACgB,IAAI,CAACjC,KAAK,CAAC;AACnC,IAAA,MAAMgD,UAAU,GAAGD,QAAQ,CAACE,SAAS,CAClCC,IAAI,IAAKd,OAAO,GAAGpC,KAAK,CAACkD,IAA0B,CAAC,CACtD;AACD,IAAA,IAAIF,UAAU,GAAG,EAAE,EAAE;AACnBV,MAAAA,UAAU,GAAGS,QAAQ,CAACC,UAAU,GAAG,CAAC,CAAC;MACrC,IAAIA,UAAU,KAAK,CAAC,EAAE;QACpBX,IAAI,GAAGc,IAAI,CAACC,KAAK,CAAChB,OAAO,GAAGpC,KAAK,CAACsC,UAAgC,CAAC,CAAC;AACtE,MAAA,CAAC,MAAM;AACLA,QAAAA,UAAU,GAAG,UAAU;AACzB,MAAA;AACF,IAAA;IACA,OAAO;MACLD,IAAI;AACJC,MAAAA;KACD;AACH,EAAA;AAEQG,EAAAA,SAASA,CAACH,UAAkB,EAAEf,KAAoB,EAAA;IACxD,IAAIH,GAAG,GAAGkB,UAAU;AACpB,IAAA,IAAIf,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,CAAC,EAAE;AACjCH,MAAAA,GAAG,IAAI,GAAG;AACZ,IAAA;IACA,MAAM;AAAEiC,MAAAA;AAAc,KAAE,GAAG,IAAI,CAAC1B,OAAO,CAAC2B,YAAY;AACpD,IAAA,MAAMC,WAAW,GAAGF,cAAc,CAACjC,GAAkC,CAAC;AACtE,IAAA,IAAI,OAAOmC,WAAW,KAAK,UAAU,EAAE;MACrC,OAAOA,WAAW,CAAChC,KAAM,CAAC;AAC5B,IAAA;IACA,OAAOgC,WAAW,CAACC,OAAO,CAAC,QAAQ,EAAE,CAAA,EAAGjC,KAAK,CAAA,CAAE,CAAC;AAClD,EAAA;AACD;;;;;;"}
@@ -0,0 +1,83 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("@typescript-eslint/utils");
const util_1 = require("../util");
exports.default = (0, util_1.createRule)({
name: 'no-duplicate-enum-values',
meta: {
type: 'problem',
docs: {
description: 'Disallow duplicate enum member values',
recommended: 'recommended',
},
hasSuggestions: false,
messages: {
duplicateValue: 'Duplicate enum member value {{value}}.',
},
schema: [],
},
defaultOptions: [],
create(context) {
function isStringLiteral(node) {
return (node.type === utils_1.AST_NODE_TYPES.Literal && typeof node.value === 'string');
}
function isNumberLiteral(node) {
return (node.type === utils_1.AST_NODE_TYPES.Literal && typeof node.value === 'number');
}
function isSupportedUnary(node) {
return (node.type === utils_1.AST_NODE_TYPES.UnaryExpression &&
['-', '+'].includes(node.operator));
}
function isStaticTemplateLiteral(node) {
return (node.type === utils_1.AST_NODE_TYPES.TemplateLiteral &&
node.expressions.length === 0 &&
node.quasis.length === 1);
}
function getMemberValue(initializer) {
switch (true) {
case isStringLiteral(initializer):
case isNumberLiteral(initializer):
return initializer.value;
case isSupportedUnary(initializer): {
const inner = Number(getMemberValue(initializer.argument));
if (Number.isNaN(inner)) {
return undefined;
}
return initializer.operator === '-' ? -inner : inner;
}
case isStaticTemplateLiteral(initializer):
return initializer.quasis[0].value.cooked ?? undefined;
default:
return undefined;
}
}
return {
TSEnumDeclaration(node) {
const enumMembers = node.body.members;
const seenValues = [];
enumMembers.forEach(member => {
if (member.initializer == null) {
return;
}
const value = getMemberValue(member.initializer);
if (value == null) {
return;
}
const isAlreadyPresent = seenValues.some(seenValue => Object.is(seenValue, value));
if (isAlreadyPresent) {
context.report({
node: member,
messageId: 'duplicateValue',
data: {
value,
},
});
}
else {
seenValues.push(value);
}
});
},
};
},
});
@@ -0,0 +1,18 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const CopyPlus = createLucideIcon("CopyPlus", [
["line", { x1: "15", x2: "15", y1: "12", y2: "18", key: "1p7wdc" }],
["line", { x1: "12", x2: "18", y1: "15", y2: "15", key: "1nscbv" }],
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
]);
export { CopyPlus as default };
//# sourceMappingURL=copy-plus.js.map
@@ -0,0 +1,30 @@
import { Hono } from "../../hono.js";
//#region src/helper/factory/index.ts
/**
* @module
* Factory Helper for Hono.
*/
var Factory = class {
initApp;
#defaultAppOptions;
constructor(init) {
this.initApp = init?.initApp;
this.#defaultAppOptions = init?.defaultAppOptions;
}
createApp = (options) => {
const app = new Hono(options && this.#defaultAppOptions ? {
...this.#defaultAppOptions,
...options
} : options ?? this.#defaultAppOptions);
if (this.initApp) this.initApp(app);
return app;
};
createMiddleware = (middleware) => middleware;
createHandlers = (...handlers) => {
return handlers.filter((handler) => handler !== void 0);
};
};
const createFactory = (init) => new Factory(init);
const createMiddleware = (middleware) => middleware;
//#endregion
export { Factory, createFactory, createMiddleware };
@@ -0,0 +1,50 @@
{
"name": "@babel/parser",
"version": "7.29.7",
"description": "A JavaScript parser",
"author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-parser",
"bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen",
"license": "MIT",
"publishConfig": {
"access": "public"
},
"keywords": [
"babel",
"javascript",
"parser",
"tc39",
"ecmascript",
"@babel/parser"
],
"repository": {
"type": "git",
"url": "https://github.com/babel/babel.git",
"directory": "packages/babel-parser"
},
"main": "./lib/index.js",
"types": "./typings/babel-parser.d.ts",
"files": [
"bin",
"lib",
"typings/babel-parser.d.ts",
"index.cjs"
],
"engines": {
"node": ">=6.0.0"
},
"# dependencies": "This package doesn't actually have runtime dependencies. @babel/types is only needed for type definitions.",
"dependencies": {
"@babel/types": "^7.29.7"
},
"devDependencies": {
"@babel/code-frame": "^7.29.7",
"@babel/helper-check-duplicate-nodes": "^7.29.7",
"@babel/helper-fixtures": "^7.29.7",
"@babel/helper-string-parser": "^7.29.7",
"@babel/helper-validator-identifier": "^7.29.7",
"charcodes": "^0.2.0"
},
"bin": "./bin/babel-parser.js",
"type": "commonjs"
}
@@ -0,0 +1,35 @@
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const PencilRuler = createLucideIcon("PencilRuler", [
[
"path",
{ d: "M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13", key: "orapub" }
],
["path", { d: "m8 6 2-2", key: "115y1s" }],
["path", { d: "m18 16 2-2", key: "ee94s4" }],
[
"path",
{
d: "m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17",
key: "cfq27r"
}
],
[
"path",
{
d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
key: "1a8usu"
}
],
["path", { d: "m15 5 4 4", key: "1mk7zo" }]
]);
export { PencilRuler as default };
//# sourceMappingURL=pencil-ruler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"newspaper.js","sources":["../../../src/icons/newspaper.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Newspaper\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAyMmgxNmEyIDIgMCAwIDAgMi0yVjRhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAxLTIgMlptMCAwYTIgMiAwIDAgMS0yLTJ2LTljMC0xLjEuOS0yIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xOCAxNGgtOCIgLz4KICA8cGF0aCBkPSJNMTUgMThoLTUiIC8+CiAgPHBhdGggZD0iTTEwIDZoOHY0aC04VjZaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/newspaper\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 Newspaper = createLucideIcon('Newspaper', [\n [\n 'path',\n {\n d: 'M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2',\n key: '7pis2x',\n },\n ],\n ['path', { d: 'M18 14h-8', key: 'sponae' }],\n ['path', { d: 'M15 18h-5', key: '95g1m2' }],\n ['path', { d: 'M10 6h8v4h-8V6Z', key: 'smlsk5' }],\n]);\n\nexport default Newspaper;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,iBAAiB,WAAa,CAAA,CAAA,CAAA;AAAA,CAC9C,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;AAAA,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACP,CAAA,CAAA,CAAA,CAAA;AAAA,CACF,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC1C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC1C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAClD,CAAC,CAAA,CAAA;;"}
@@ -0,0 +1 @@
{"version":3,"file":"binary.js","sources":["../../../src/icons/binary.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Binary\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSIxNCIgeT0iMTQiIHdpZHRoPSI0IiBoZWlnaHQ9IjYiIHJ4PSIyIiAvPgogIDxyZWN0IHg9IjYiIHk9IjQiIHdpZHRoPSI0IiBoZWlnaHQ9IjYiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik02IDIwaDQiIC8+CiAgPHBhdGggZD0iTTE0IDEwaDQiIC8+CiAgPHBhdGggZD0iTTYgMTRoMnY2IiAvPgogIDxwYXRoIGQ9Ik0xNCA0aDJ2NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/binary\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 Binary = createLucideIcon('Binary', [\n ['rect', { x: '14', y: '14', width: '4', height: '6', rx: '2', key: 'p02svl' }],\n ['rect', { x: '6', y: '4', width: '4', height: '6', rx: '2', key: 'xm4xkj' }],\n ['path', { d: 'M6 20h4', key: '1i6q5t' }],\n ['path', { d: 'M14 10h4', key: 'ru81e7' }],\n ['path', { d: 'M6 14h2v6', key: '16z9wg' }],\n ['path', { d: 'M14 4h2v6', key: '1idq9u' }],\n]);\n\nexport default Binary;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,iBAAiB,QAAU,CAAA,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAE,CAAA,CAAA,CAAG,MAAM,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC9E,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAE,CAAA,CAAA,CAAG,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC5E,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACzC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC1C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC5C,CAAC,CAAA,CAAA;;"}