From 694a9faa22b1c93bf1d7fd75505043044caac9c6 Mon Sep 17 00:00:00 2001 From: thesiti92 Date: Thu, 12 Nov 2026 21:09:18 +0000 Subject: [PATCH 1/4] Import zod as a namespace in the published document packages `import { z } from "zod"` binds zod's `z` namespace object, which carries `locales`, so bundlers keep all 64 locale files. `import * as z` lets them shake everything but the default English locale. --- packages/board-protocol/src/index.ts | 2 +- packages/json/src/json.ts | 2 +- packages/whiteboard-document/src/activity.ts | 2 +- packages/whiteboard-document/src/blocks/animation.ts | 2 +- packages/whiteboard-document/src/blocks/call_stack_diff.ts | 2 +- packages/whiteboard-document/src/blocks/callout.ts | 2 +- packages/whiteboard-document/src/blocks/clip.ts | 2 +- packages/whiteboard-document/src/blocks/database_lens.ts | 2 +- packages/whiteboard-document/src/blocks/definition.ts | 2 +- packages/whiteboard-document/src/blocks/flow_diagram.ts | 2 +- packages/whiteboard-document/src/blocks/index.ts | 2 +- packages/whiteboard-document/src/blocks/section.ts | 2 +- packages/whiteboard-document/src/blocks/sequence.ts | 2 +- packages/whiteboard-document/src/diff-lenses.ts | 2 +- packages/whiteboard-document/src/document.ts | 2 +- packages/whiteboard-document/src/lens-selection.ts | 2 +- packages/whiteboard-document/src/source.ts | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/board-protocol/src/index.ts b/packages/board-protocol/src/index.ts index dfaabac535..d22d9ced71 100644 --- a/packages/board-protocol/src/index.ts +++ b/packages/board-protocol/src/index.ts @@ -5,7 +5,7 @@ import { lensEditSchema, lensSchema, } from "@dev.fast/whiteboard-document"; -import { z } from "zod"; +import * as z from "zod"; /** WebSocket subprotocol: the browser offers `[BOARD_PROTOCOL, jwt]`; the server echoes it. */ export const BOARD_PROTOCOL = "board.v1"; diff --git a/packages/json/src/json.ts b/packages/json/src/json.ts index 43c050eeb7..c6864ea616 100644 --- a/packages/json/src/json.ts +++ b/packages/json/src/json.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { isBooleanValue, diff --git a/packages/whiteboard-document/src/activity.ts b/packages/whiteboard-document/src/activity.ts index cc6473b5f5..b51b274a53 100644 --- a/packages/whiteboard-document/src/activity.ts +++ b/packages/whiteboard-document/src/activity.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; export const focusSchema = z.strictObject({ description: z.string().trim().min(1).max(160), diff --git a/packages/whiteboard-document/src/blocks/animation.ts b/packages/whiteboard-document/src/blocks/animation.ts index 1621693dec..e6bcabd55c 100644 --- a/packages/whiteboard-document/src/blocks/animation.ts +++ b/packages/whiteboard-document/src/blocks/animation.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { ReviewInputError } from "../input-error.js"; import { type Anchor, anchorSchema } from "../lens-selection.js"; diff --git a/packages/whiteboard-document/src/blocks/call_stack_diff.ts b/packages/whiteboard-document/src/blocks/call_stack_diff.ts index 32b63f5e71..2076aa4804 100644 --- a/packages/whiteboard-document/src/blocks/call_stack_diff.ts +++ b/packages/whiteboard-document/src/blocks/call_stack_diff.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { ReviewInputError } from "../input-error.js"; import { anchorSchema } from "../lens-selection.js"; diff --git a/packages/whiteboard-document/src/blocks/callout.ts b/packages/whiteboard-document/src/blocks/callout.ts index 72b82de551..1d29620f69 100644 --- a/packages/whiteboard-document/src/blocks/callout.ts +++ b/packages/whiteboard-document/src/blocks/callout.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { type BlockDefinition, defineBlock, label } from "./definition.js"; import { type Block, blockSchema } from "./index.js"; diff --git a/packages/whiteboard-document/src/blocks/clip.ts b/packages/whiteboard-document/src/blocks/clip.ts index adee77060f..ef06c8538a 100644 --- a/packages/whiteboard-document/src/blocks/clip.ts +++ b/packages/whiteboard-document/src/blocks/clip.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { ReviewInputError } from "../input-error.js"; import { animationCodeSchema, handle } from "./animation.js"; diff --git a/packages/whiteboard-document/src/blocks/database_lens.ts b/packages/whiteboard-document/src/blocks/database_lens.ts index 0ce180d6d8..60ad28e566 100644 --- a/packages/whiteboard-document/src/blocks/database_lens.ts +++ b/packages/whiteboard-document/src/blocks/database_lens.ts @@ -1,5 +1,5 @@ import { type JsonValue, jsonValueSchema } from "@dev.fast/json"; -import { z } from "zod"; +import * as z from "zod"; import { ReviewInputError } from "../input-error.js"; import { anchorSchema } from "../lens-selection.js"; diff --git a/packages/whiteboard-document/src/blocks/definition.ts b/packages/whiteboard-document/src/blocks/definition.ts index 85cd66af7e..74e8479398 100644 --- a/packages/whiteboard-document/src/blocks/definition.ts +++ b/packages/whiteboard-document/src/blocks/definition.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { ReviewInputError } from "../input-error.js"; import { sourcePinsSchema } from "../source.js"; diff --git a/packages/whiteboard-document/src/blocks/flow_diagram.ts b/packages/whiteboard-document/src/blocks/flow_diagram.ts index d053512009..55c909c29f 100644 --- a/packages/whiteboard-document/src/blocks/flow_diagram.ts +++ b/packages/whiteboard-document/src/blocks/flow_diagram.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { ReviewInputError } from "../input-error.js"; import { diff --git a/packages/whiteboard-document/src/blocks/index.ts b/packages/whiteboard-document/src/blocks/index.ts index 09ca77dcc1..e031a1c689 100644 --- a/packages/whiteboard-document/src/blocks/index.ts +++ b/packages/whiteboard-document/src/blocks/index.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { animation } from "./animation.js"; import { call_stack_diff } from "./call_stack_diff.js"; diff --git a/packages/whiteboard-document/src/blocks/section.ts b/packages/whiteboard-document/src/blocks/section.ts index 3bf761cb0d..4d0a144125 100644 --- a/packages/whiteboard-document/src/blocks/section.ts +++ b/packages/whiteboard-document/src/blocks/section.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { type BlockDefinition, defineBlock, label } from "./definition.js"; import { type Block, blockSchema } from "./index.js"; diff --git a/packages/whiteboard-document/src/blocks/sequence.ts b/packages/whiteboard-document/src/blocks/sequence.ts index 245bd83619..08f6d20705 100644 --- a/packages/whiteboard-document/src/blocks/sequence.ts +++ b/packages/whiteboard-document/src/blocks/sequence.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { ReviewInputError } from "../input-error.js"; import { diff --git a/packages/whiteboard-document/src/diff-lenses.ts b/packages/whiteboard-document/src/diff-lenses.ts index 3332a6afbb..1958f0d443 100644 --- a/packages/whiteboard-document/src/diff-lenses.ts +++ b/packages/whiteboard-document/src/diff-lenses.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { label } from "./blocks/definition.js"; import { ReviewInputError } from "./input-error.js"; diff --git a/packages/whiteboard-document/src/document.ts b/packages/whiteboard-document/src/document.ts index 30011f67c0..55046e31c5 100644 --- a/packages/whiteboard-document/src/document.ts +++ b/packages/whiteboard-document/src/document.ts @@ -4,7 +4,7 @@ import { isJsonObject, isStringValue, } from "@dev.fast/json"; -import { z } from "zod"; +import * as z from "zod"; import { animationCode } from "./blocks/animation.js"; import { diff --git a/packages/whiteboard-document/src/lens-selection.ts b/packages/whiteboard-document/src/lens-selection.ts index 4ae61ef5f9..c0ec1bba0e 100644 --- a/packages/whiteboard-document/src/lens-selection.ts +++ b/packages/whiteboard-document/src/lens-selection.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { unionIntervals } from "./intervals.js"; import { type FileLineRange, type SourcePins } from "./source.js"; diff --git a/packages/whiteboard-document/src/source.ts b/packages/whiteboard-document/src/source.ts index 1d119d3903..d998f2e133 100644 --- a/packages/whiteboard-document/src/source.ts +++ b/packages/whiteboard-document/src/source.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; const label = z.string().trim().min(1); From 5396d3293584882b85b1e4c01ec8714a80bb8c9b Mon Sep 17 00:00:00 2001 From: thesiti92 Date: Thu, 12 Nov 2026 21:40:34 +0000 Subject: [PATCH 2/4] Import zod as a namespace everywhere and lint against the z import --- .oxlintrc.json | 5 +++ AGENTS.md | 3 +- diffr/diffr-ts/src/contract.ts | 2 +- diffr/packages/claude-code/src/protocol.ts | 2 +- diffr/packages/viewer/src/protocol/wire.ts | 2 +- .../scripts/generate-native-source.mjs | 2 +- packages/review-protocol/src/bug-report.ts | 2 +- packages/review-protocol/src/contracts.ts | 2 +- packages/review-protocol/src/index.ts | 2 +- .../review-protocol/src/native-source.test.ts | 2 +- .../review-protocol/src/structural-diff.ts | 2 +- packages/review-share-protocol/src/index.ts | 2 +- .../app/src/animation/stage-protocol.ts | 2 +- packages/review/app/src/ask-agent-picker.tsx | 2 +- .../review/app/src/ask-changed-boards.tsx | 2 +- packages/review/app/src/ask-files.tsx | 2 +- packages/review/app/src/ask-history.tsx | 2 +- packages/review/app/src/ask-open-state.ts | 2 +- packages/review/app/src/ask-panel.tsx | 2 +- packages/review/app/src/copy-agent-context.ts | 2 +- .../review/app/src/database-lens-store.ts | 2 +- .../app/src/diagram-navigation-store.ts | 2 +- .../review/app/src/diff-sidebar-folds.tsx | 2 +- .../app/src/onboarding/onboarding-client.ts | 2 +- packages/review/app/src/review-find-store.ts | 2 +- .../src/review-persistence.browser.test.ts | 2 +- packages/review/app/src/share/board-data.ts | 2 +- packages/review/app/src/share/open-share.ts | 2 +- .../app/src/software-map/c4-projection.ts | 2 +- packages/review/src/agent-plugins.test.ts | 2 +- packages/review/src/agent-selection.ts | 2 +- packages/review/src/ask/protocol.ts | 2 +- packages/review/src/ask/thread-state.ts | 2 +- packages/review/src/ask/thread.test.ts | 2 +- packages/review/src/ask/thread.ts | 2 +- packages/review/src/github-pr-graph.ts | 2 +- packages/review/src/pinned-download.ts | 2 +- packages/review/src/posthog-capture-client.ts | 2 +- packages/review/src/remote-extensions.ts | 2 +- packages/review/src/remote-language-server.ts | 2 +- packages/review/src/review-api/activity.ts | 2 +- .../src/review-api/agent-client.test.ts | 2 +- .../review/src/review-api/animation-drafts.ts | 2 +- .../review/src/review-api/animation-render.ts | 2 +- .../review/src/review-api/animation-runs.ts | 2 +- packages/review/src/review-api/ask-history.ts | 2 +- .../review/src/review-api/authoring-tools.ts | 2 +- .../src/review-api/azure-devops-provider.ts | 2 +- .../review/src/review-api/github-provider.ts | 2 +- packages/review/src/review-api/http.ts | 2 +- .../review/src/review-api/instructions.ts | 2 +- .../src/review-api/link-preview.test.ts | 2 +- packages/review/src/review-api/local-data.ts | 2 +- packages/review/src/review-api/map-input.ts | 2 +- packages/review/src/review-api/onboarding.ts | 2 +- packages/review/src/review-api/origin.ts | 2 +- .../review/src/review-api/read-schemas.ts | 2 +- .../review/src/review-api/recent-folders.ts | 2 +- .../review/src/review-api/request-origin.ts | 2 +- .../review/src/review-api/review-api.test.ts | 2 +- .../review/src/review-api/review-progress.ts | 2 +- packages/review/src/review-api/store.ts | 2 +- .../review/src/review-api/trace-schema.ts | 2 +- .../review/src/review-api/workspaces.test.ts | 2 +- packages/review/src/review-stack.ts | 2 +- packages/review/src/server-discovery.ts | 2 +- packages/review/src/server/crash-report.ts | 2 +- packages/review/src/server/desktop-server.ts | 2 +- .../review/src/server/headless-host.test.ts | 2 +- .../review/src/server/review-api-parsers.ts | 2 +- .../review/src/server/review-gateway-hosts.ts | 2 +- .../src/server/review-gateway-memory.ts | 2 +- .../src/server/review-gateway-streams.ts | 2 +- .../src/server/review-gateway-transport.ts | 2 +- packages/review/src/server/review-gateway.ts | 2 +- .../review/src/server/review-server-core.ts | 2 +- packages/review/src/server/ui-telemetry.ts | 2 +- packages/review/src/session-markers.ts | 2 +- packages/review/src/sharing/cli.ts | 2 +- packages/review/src/sharing/client.ts | 2 +- packages/review/src/sharing/file.ts | 2 +- packages/review/src/sharing/host.ts | 2 +- packages/review/src/sharing/import.ts | 2 +- packages/review/src/software-map-model.ts | 2 +- .../review/src/stored-document-migration.ts | 2 +- packages/review/src/telemetry-config.ts | 2 +- packages/review/src/ui-telemetry-events.ts | 2 +- packages/review/src/viewed-coverage.ts | 2 +- packages/review/src/vsix.ts | 2 +- packages/trace-core/src/store-auth.ts | 2 +- packages/trace-core/src/store-client.ts | 2 +- .../trace-core/src/trace-machine-setup.ts | 2 +- .../trace-core/src/trace-repository-hooks.ts | 2 +- .../trace-core/src/trace-repository-target.ts | 2 +- .../src/trace-session-provenance.ts | 2 +- .../trace-core/src/trace-storage/config.ts | 2 +- .../src/trace-store-transport.test.ts | 2 +- packages/trace-core/src/trace-sync-status.ts | 2 +- packages/trace-protocol/src/contracts.ts | 2 +- packages/trace-protocol/src/store-api.ts | 2 +- .../src/blocks/definition.test.ts | 2 +- .../whiteboard-document/src/published.test.ts | 2 +- scripts/review-cli-release.mjs | 2 +- tools/oxlint/zod-imports/index.ts | 45 +++++++++++++++++++ tools/oxlint/zod-imports/package.json | 3 ++ 105 files changed, 156 insertions(+), 102 deletions(-) create mode 100644 tools/oxlint/zod-imports/index.ts create mode 100644 tools/oxlint/zod-imports/package.json diff --git a/.oxlintrc.json b/.oxlintrc.json index 7778c54aa5..a3193468f8 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -89,6 +89,7 @@ "jsx-a11y/role-has-required-aria-props": "off", "no-unmodified-loop-condition": "off", "oxc/no-accumulating-spread": "error", + "zod-imports/namespace": "error", "anti-slop/no-array-filter-map": "error", "anti-slop/no-reduce-accumulator-copy": "error", "anti-slop/require-readable-spacing": "error", @@ -117,6 +118,10 @@ "name": "canvas-styles", "specifier": "./tools/oxlint/canvas-styles/index.ts" }, + { + "name": "zod-imports", + "specifier": "./tools/oxlint/zod-imports/index.ts" + }, { "name": "stylex", "specifier": "@stylexjs/eslint-plugin" diff --git a/AGENTS.md b/AGENTS.md index a6feb1c634..3303780cf6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -42,7 +42,8 @@ review. `pnpm --filter @dev.fast/review-desktop protocol:sync`. The fork's protocol copy is generated and gitignored. - Prefer named static imports from public package entry points over namespace - imports. + imports. zod is the exception: `import * as z from "zod"`, since its `z` + export keeps every locale in a bundle (`zod-imports/namespace` enforces it). ## Agent capability switches diff --git a/diffr/diffr-ts/src/contract.ts b/diffr/diffr-ts/src/contract.ts index d3ca813fc4..c0edec9bf0 100644 --- a/diffr/diffr-ts/src/contract.ts +++ b/diffr/diffr-ts/src/contract.ts @@ -4,7 +4,7 @@ * Defaults are omitted, not null. Lines are zero-based, columns are UTF-8 bytes, * and ranges are half-open. */ -import { z } from "zod"; +import * as z from "zod"; /** A pairing always has at least one side; additions/deletions omit the other. */ export type StructuralPairing = diff --git a/diffr/packages/claude-code/src/protocol.ts b/diffr/packages/claude-code/src/protocol.ts index c7e04c8e3e..226a3e10c3 100644 --- a/diffr/packages/claude-code/src/protocol.ts +++ b/diffr/packages/claude-code/src/protocol.ts @@ -2,7 +2,7 @@ * Messages between register.tsx and view.tsx. They cross Claude Code's surface boundary as JSON, * so colours are indexes into `Frame.colors`. */ -import { z } from "zod"; +import * as z from "zod"; import type { Target } from "@diffr/viewer/viewport/cell"; import type { Hover, KeyPress } from "@diffr/viewer/viewer"; diff --git a/diffr/packages/viewer/src/protocol/wire.ts b/diffr/packages/viewer/src/protocol/wire.ts index cc899b93cb..60418c1132 100644 --- a/diffr/packages/viewer/src/protocol/wire.ts +++ b/diffr/packages/viewer/src/protocol/wire.ts @@ -1,6 +1,6 @@ // Full v3/v4 contract: diffr-ts/src/contract.ts. /** Parse diffr's wire v3 (crates/diffr-core/src/protocol/mod.rs, docs/streaming.md): tagged enums, pairings by presence, defaults omitted. The shapes are checked; invariants between records are diffr's and trusted. */ -import { z } from "zod"; +import * as z from "zod"; const uint = z.number().int().nonnegative(); /** `{lhs, rhs}`, `{lhs}` or `{rhs}`; diffr never sends neither. */ function pairing(item: T) { diff --git a/packages/review-protocol/scripts/generate-native-source.mjs b/packages/review-protocol/scripts/generate-native-source.mjs index 017248da55..71e8832b96 100644 --- a/packages/review-protocol/scripts/generate-native-source.mjs +++ b/packages/review-protocol/scripts/generate-native-source.mjs @@ -37,7 +37,7 @@ if (!isValidArgs) { const HEADER = [ "// GENERATED from @dev.fast/review-protocol. Do not edit.", - 'import { z } from "zod/v4";', + 'import * as z from "zod/v4";', "", "z.config({ jitless: true });", "", diff --git a/packages/review-protocol/src/bug-report.ts b/packages/review-protocol/src/bug-report.ts index e3b2e5ab79..8396dd9d2b 100644 --- a/packages/review-protocol/src/bug-report.ts +++ b/packages/review-protocol/src/bug-report.ts @@ -1,5 +1,5 @@ import type { JsonValue } from "@dev.fast/json"; -import { z } from "zod"; +import * as z from "zod"; const requiredString = z .string({ error: "must be a string" }) diff --git a/packages/review-protocol/src/contracts.ts b/packages/review-protocol/src/contracts.ts index 697e81623b..56f6cfa320 100644 --- a/packages/review-protocol/src/contracts.ts +++ b/packages/review-protocol/src/contracts.ts @@ -3,7 +3,7 @@ import { ReviewAgentTraceEventSchema, ReviewAgentTraceSessionSchema, } from "@dev.fast/trace-protocol"; -import { z } from "zod"; +import * as z from "zod"; import type { BoardIconKind } from "./board-icons.js"; import type { ReviewApiSummary } from "./review-api-client.js"; diff --git a/packages/review-protocol/src/index.ts b/packages/review-protocol/src/index.ts index b0b3ed5703..dfdf154ac4 100644 --- a/packages/review-protocol/src/index.ts +++ b/packages/review-protocol/src/index.ts @@ -3,7 +3,7 @@ export * from "@dev.fast/diffr"; export * from "./structural-diff.js"; import type { JsonValue } from "@dev.fast/json"; -import { z } from "zod"; +import * as z from "zod"; export { parseReviewCodePeekPatch, diff --git a/packages/review-protocol/src/native-source.test.ts b/packages/review-protocol/src/native-source.test.ts index 8051a70d01..29de39febe 100644 --- a/packages/review-protocol/src/native-source.test.ts +++ b/packages/review-protocol/src/native-source.test.ts @@ -165,7 +165,7 @@ describe("native Review Protocol source generation", () => { ); await writeFile( path.join(sourceRoot, "index.ts"), - ['import { z } from "zod";', 'export * from "./contracts.js";', ""].join( + ['import * as z from "zod";', 'export * from "./contracts.js";', ""].join( "\n", ), ); diff --git a/packages/review-protocol/src/structural-diff.ts b/packages/review-protocol/src/structural-diff.ts index 9e27aa06aa..2a315ceaec 100644 --- a/packages/review-protocol/src/structural-diff.ts +++ b/packages/review-protocol/src/structural-diff.ts @@ -7,7 +7,7 @@ import { type StructuralUpdate, type StructuralVisibility, } from "@dev.fast/diffr"; -import { z } from "zod"; +import * as z from "zod"; // Review transport errors are separate from diffr file outcomes. const ReviewStructuralDiffErrorSchema = z.object({ diff --git a/packages/review-share-protocol/src/index.ts b/packages/review-share-protocol/src/index.ts index 48e8ebdc1f..621ac54845 100644 --- a/packages/review-share-protocol/src/index.ts +++ b/packages/review-share-protocol/src/index.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; export const SHARE_FORMAT = "review-share/2"; diff --git a/packages/review/app/src/animation/stage-protocol.ts b/packages/review/app/src/animation/stage-protocol.ts index c70db446e9..9d7c5ffd2c 100644 --- a/packages/review/app/src/animation/stage-protocol.ts +++ b/packages/review/app/src/animation/stage-protocol.ts @@ -3,7 +3,7 @@ // nothing else on the page can speak on the channel. import type { JsonValue } from "@dev.fast/json"; -import { z } from "zod"; +import * as z from "zod"; /** What the stage's script reads about one frame. */ export interface StageFrame { diff --git a/packages/review/app/src/ask-agent-picker.tsx b/packages/review/app/src/ask-agent-picker.tsx index 09f4aaff87..e834c86575 100644 --- a/packages/review/app/src/ask-agent-picker.tsx +++ b/packages/review/app/src/ask-agent-picker.tsx @@ -29,7 +29,7 @@ import { useRef, useState, } from "react"; -import { z } from "zod"; +import * as z from "zod"; import { canvasQueryKeys } from "./canvas-query"; import type { ReviewSession } from "./host/review-session"; diff --git a/packages/review/app/src/ask-changed-boards.tsx b/packages/review/app/src/ask-changed-boards.tsx index 47b2b6fcd5..2b1cbf1f61 100644 --- a/packages/review/app/src/ask-changed-boards.tsx +++ b/packages/review/app/src/ask-changed-boards.tsx @@ -4,7 +4,7 @@ import { boardTitle } from "@dev.fast/review-protocol"; import * as stylex from "@stylexjs/stylex"; import { keepPreviousData, useQuery } from "@tanstack/react-query"; import type { ReactElement } from "react"; -import { z } from "zod"; +import * as z from "zod"; import { canvasQueryKeys } from "./canvas-query"; import { countLabel } from "./format"; diff --git a/packages/review/app/src/ask-files.tsx b/packages/review/app/src/ask-files.tsx index dae309aab4..4a8afb1e36 100644 --- a/packages/review/app/src/ask-files.tsx +++ b/packages/review/app/src/ask-files.tsx @@ -12,7 +12,7 @@ import { useRef, useState, } from "react"; -import { z } from "zod"; +import * as z from "zod"; import { useReviewSession } from "./host/review-session"; import { radius } from "./scale.stylex"; diff --git a/packages/review/app/src/ask-history.tsx b/packages/review/app/src/ask-history.tsx index a9a2820ea9..92e77a283a 100644 --- a/packages/review/app/src/ask-history.tsx +++ b/packages/review/app/src/ask-history.tsx @@ -12,7 +12,7 @@ import { useMemo, useState, } from "react"; -import { z } from "zod"; +import * as z from "zod"; import { canvasQueryKeys } from "./canvas-query"; import { useReviewSession } from "./host/review-session"; diff --git a/packages/review/app/src/ask-open-state.ts b/packages/review/app/src/ask-open-state.ts index d0b47fdcf8..9eea46c109 100644 --- a/packages/review/app/src/ask-open-state.ts +++ b/packages/review/app/src/ask-open-state.ts @@ -1,7 +1,7 @@ import { AgentSelectionSchema } from "@review/agent-selection"; import { askAgentIds } from "@review/ask/thread-state"; import { createContext } from "react"; -import { z } from "zod"; +import * as z from "zod"; import { type ReviewClientConfig, diff --git a/packages/review/app/src/ask-panel.tsx b/packages/review/app/src/ask-panel.tsx index 17eb681fb8..ae0651d214 100644 --- a/packages/review/app/src/ask-panel.tsx +++ b/packages/review/app/src/ask-panel.tsx @@ -32,7 +32,7 @@ import { useState, } from "react"; import { createPortal } from "react-dom"; -import { z } from "zod"; +import * as z from "zod"; import { AgentChatUserMessage, trayBubbleStyles } from "./agent-chat"; import { diff --git a/packages/review/app/src/copy-agent-context.ts b/packages/review/app/src/copy-agent-context.ts index 30620beb44..096b1b4972 100644 --- a/packages/review/app/src/copy-agent-context.ts +++ b/packages/review/app/src/copy-agent-context.ts @@ -1,6 +1,6 @@ import { copyText } from "@canvas/ui/copy"; import type { AgentSelection } from "@review/agent-selection"; -import { z } from "zod"; +import * as z from "zod"; import type { ReviewSession } from "./host/review-session"; diff --git a/packages/review/app/src/database-lens-store.ts b/packages/review/app/src/database-lens-store.ts index 4902d6c23b..68b850d343 100644 --- a/packages/review/app/src/database-lens-store.ts +++ b/packages/review/app/src/database-lens-store.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { persist } from "zustand/middleware"; import { createStore } from "zustand/vanilla"; diff --git a/packages/review/app/src/diagram-navigation-store.ts b/packages/review/app/src/diagram-navigation-store.ts index 3eb7fe5b1e..a5ae6a2415 100644 --- a/packages/review/app/src/diagram-navigation-store.ts +++ b/packages/review/app/src/diagram-navigation-store.ts @@ -1,6 +1,6 @@ import { isStringValue } from "@dev.fast/review-protocol"; import type { Dispatch, SetStateAction } from "react"; -import { z } from "zod"; +import * as z from "zod"; import { persist } from "zustand/middleware"; import { createStore } from "zustand/vanilla"; diff --git a/packages/review/app/src/diff-sidebar-folds.tsx b/packages/review/app/src/diff-sidebar-folds.tsx index 93d00f71bb..b08283f59f 100644 --- a/packages/review/app/src/diff-sidebar-folds.tsx +++ b/packages/review/app/src/diff-sidebar-folds.tsx @@ -12,7 +12,7 @@ import { useEffect, useState, } from "react"; -import { z } from "zod"; +import * as z from "zod"; import { canvasQueryKeys } from "./canvas-query"; import { useReviewSession } from "./host/review-session"; diff --git a/packages/review/app/src/onboarding/onboarding-client.ts b/packages/review/app/src/onboarding/onboarding-client.ts index b42539ceb2..191a0c953c 100644 --- a/packages/review/app/src/onboarding/onboarding-client.ts +++ b/packages/review/app/src/onboarding/onboarding-client.ts @@ -17,7 +17,7 @@ import { askOfferSchema, } from "@review/ask/thread-state"; import type { UiTelemetryEventName } from "@review/ui-telemetry-events"; -import { z } from "zod"; +import * as z from "zod"; export interface OnboardingConnection { serverUrl: string; diff --git a/packages/review/app/src/review-find-store.ts b/packages/review/app/src/review-find-store.ts index 37c779555f..761f1f46bc 100644 --- a/packages/review/app/src/review-find-store.ts +++ b/packages/review/app/src/review-find-store.ts @@ -1,5 +1,5 @@ import type { ReviewFindQuery } from "@dev.fast/review-protocol"; -import { z } from "zod"; +import * as z from "zod"; import { persist } from "zustand/middleware"; import { type StateCreator, createStore } from "zustand/vanilla"; diff --git a/packages/review/app/src/review-persistence.browser.test.ts b/packages/review/app/src/review-persistence.browser.test.ts index 7806353152..df5d42a3db 100644 --- a/packages/review/app/src/review-persistence.browser.test.ts +++ b/packages/review/app/src/review-persistence.browser.test.ts @@ -1,5 +1,5 @@ import { beforeEach, expect, it, vi } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; import { persist } from "zustand/middleware"; import { createStore } from "zustand/vanilla"; diff --git a/packages/review/app/src/share/board-data.ts b/packages/review/app/src/share/board-data.ts index ef232a4eb8..0e3cad1235 100644 --- a/packages/review/app/src/share/board-data.ts +++ b/packages/review/app/src/share/board-data.ts @@ -17,7 +17,7 @@ import { } from "@dev.fast/whiteboard-document"; import type { ReviewProgress } from "@review/review-api/review-progress"; import type { Snapshot } from "@review/review-api/store"; -import { z } from "zod"; +import * as z from "zod"; export interface BoardImage { bytes: Uint8Array; diff --git a/packages/review/app/src/share/open-share.ts b/packages/review/app/src/share/open-share.ts index d767fa03a1..b5749783ce 100644 --- a/packages/review/app/src/share/open-share.ts +++ b/packages/review/app/src/share/open-share.ts @@ -6,7 +6,7 @@ import { } from "@dev.fast/review-protocol"; import { shareBundleSchema } from "@dev.fast/review-share-protocol"; import { traceSchema } from "@review/review-api/trace-schema"; -import { z } from "zod"; +import * as z from "zod"; import { boardSnapshotSchema, boardView } from "./board-data"; import { readOnlyHost } from "./share-host"; diff --git a/packages/review/app/src/software-map/c4-projection.ts b/packages/review/app/src/software-map/c4-projection.ts index 4b2b7b2e3b..7f7a63f25e 100644 --- a/packages/review/app/src/software-map/c4-projection.ts +++ b/packages/review/app/src/software-map/c4-projection.ts @@ -1,5 +1,5 @@ import { isStringValue } from "@dev.fast/review-protocol"; -import { z } from "zod"; +import * as z from "zod"; import { parseDataStoreSchemaEndpoint } from "./model"; import type { diff --git a/packages/review/src/agent-plugins.test.ts b/packages/review/src/agent-plugins.test.ts index aa918ea68b..a6880a77f7 100644 --- a/packages/review/src/agent-plugins.test.ts +++ b/packages/review/src/agent-plugins.test.ts @@ -12,7 +12,7 @@ import path from "node:path"; import { promisify } from "node:util"; import { describe, expect, it } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; import { REVIEW_MCP_LAUNCH } from "./connect-prompts"; import { findReviewPackageRoot } from "./package-paths"; diff --git a/packages/review/src/agent-selection.ts b/packages/review/src/agent-selection.ts index 6f50848f04..65269ff3f0 100644 --- a/packages/review/src/agent-selection.ts +++ b/packages/review/src/agent-selection.ts @@ -2,7 +2,7 @@ import { ReviewApiSelectionSourceSchema, ReviewSelectedDiffSchema, } from "@dev.fast/review-protocol"; -import { z } from "zod"; +import * as z from "zod"; /** The most block text an anchor keeps; a selection in a longer block is * not anchored. */ diff --git a/packages/review/src/ask/protocol.ts b/packages/review/src/ask/protocol.ts index d56a1a0aa8..189c630a30 100644 --- a/packages/review/src/ask/protocol.ts +++ b/packages/review/src/ask/protocol.ts @@ -16,7 +16,7 @@ import { type AskSelect, askChoiceKinds, } from "@review/ask/thread-state.js"; -import { z } from "zod"; +import * as z from "zod"; /** Claude's adapter names the MCP server behind an `mcp__*` permission here. */ const claudeMcpMetaSchema = z.object({ diff --git a/packages/review/src/ask/thread-state.ts b/packages/review/src/ask/thread-state.ts index d29603e508..14dd4e3c62 100644 --- a/packages/review/src/ask/thread-state.ts +++ b/packages/review/src/ask/thread-state.ts @@ -1,5 +1,5 @@ import { AgentSelectionSchema } from "@review/agent-selection.js"; -import { z } from "zod"; +import * as z from "zod"; // The canvas imports this module, so it stays free of Node APIs. export const askAgentIds = [ diff --git a/packages/review/src/ask/thread.test.ts b/packages/review/src/ask/thread.test.ts index 0dd6667c54..d832d49b12 100644 --- a/packages/review/src/ask/thread.test.ts +++ b/packages/review/src/ask/thread.test.ts @@ -30,7 +30,7 @@ import { } from "@review/ask/thread.js"; import { AskThreads } from "@review/ask/threads.js"; import { expect, it, vi } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; const permissionOptions = [ { optionId: "allow", name: "Allow once", kind: "allow_once" as const }, diff --git a/packages/review/src/ask/thread.ts b/packages/review/src/ask/thread.ts index 6543c07141..836972b945 100644 --- a/packages/review/src/ask/thread.ts +++ b/packages/review/src/ask/thread.ts @@ -54,7 +54,7 @@ import { applyAskChange, askChoiceKinds, } from "@review/ask/thread-state.js"; -import { z } from "zod"; +import * as z from "zod"; /** Refused without asking: changes to files, and leaving the read-only * mode (Claude asks to exit plan mode with its plan). */ diff --git a/packages/review/src/github-pr-graph.ts b/packages/review/src/github-pr-graph.ts index d2d739ebe3..5894775812 100644 --- a/packages/review/src/github-pr-graph.ts +++ b/packages/review/src/github-pr-graph.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; export type RunGitHubApi = (host: string, endpoint: string) => Promise; diff --git a/packages/review/src/pinned-download.ts b/packages/review/src/pinned-download.ts index c777b40615..17f6fd5115 100644 --- a/packages/review/src/pinned-download.ts +++ b/packages/review/src/pinned-download.ts @@ -7,7 +7,7 @@ import { Readable } from "node:stream"; import { pipeline } from "node:stream/promises"; import type { ReadableStream as WebReadableStream } from "node:stream/web"; -import { z } from "zod"; +import * as z from "zod"; const DOWNLOAD_TIMEOUT_MS = 120_000; diff --git a/packages/review/src/posthog-capture-client.ts b/packages/review/src/posthog-capture-client.ts index 1f9cbefad3..958230f69b 100644 --- a/packages/review/src/posthog-capture-client.ts +++ b/packages/review/src/posthog-capture-client.ts @@ -5,7 +5,7 @@ import path from "node:path"; import { type JsonValue, jsonValueSchema } from "@dev.fast/json"; import { parseJsonText } from "@dev.fast/review-protocol"; import { withFileLock, writeFileAtomic } from "@dev.fast/trace-core"; -import { z } from "zod"; +import * as z from "zod"; import { EMBEDDED_PROGRESSIVE_REVIEW_POSTHOG_KEY } from "./embedded-posthog-key"; import { DEV_REVIEW_HOME_ENV, devReviewHome } from "./review-home-paths"; diff --git a/packages/review/src/remote-extensions.ts b/packages/review/src/remote-extensions.ts index a1120cd9fa..9756b5b39a 100644 --- a/packages/review/src/remote-extensions.ts +++ b/packages/review/src/remote-extensions.ts @@ -11,7 +11,7 @@ import path from "node:path"; import { promisify } from "node:util"; import { parseJsonText } from "@dev.fast/json"; -import { z } from "zod"; +import * as z from "zod"; import { findReviewPackageRoot } from "./package-paths"; import { downloadPinned } from "./pinned-download"; diff --git a/packages/review/src/remote-language-server.ts b/packages/review/src/remote-language-server.ts index d50835fc39..c7179ee914 100644 --- a/packages/review/src/remote-language-server.ts +++ b/packages/review/src/remote-language-server.ts @@ -4,7 +4,7 @@ import path from "node:path"; import { setTimeout as delay } from "node:timers/promises"; import { processStartIdentity, withFileLock } from "@dev.fast/trace-core"; -import { z } from "zod"; +import * as z from "zod"; import { findReviewPackageRoot } from "./package-paths"; import { ensureRemoteExtensions, remoteServerPaths } from "./remote-extensions"; diff --git a/packages/review/src/review-api/activity.ts b/packages/review/src/review-api/activity.ts index 1c8203a615..ef07b63e67 100644 --- a/packages/review/src/review-api/activity.ts +++ b/packages/review/src/review-api/activity.ts @@ -11,7 +11,7 @@ import { activityUpdateSchema, focusSchema, } from "@dev.fast/whiteboard-document"; -import { z } from "zod"; +import * as z from "zod"; export const activitySchema = z.discriminatedUnion("action", [ activityBeginSchema.extend({ action: z.literal("begin") }), diff --git a/packages/review/src/review-api/agent-client.test.ts b/packages/review/src/review-api/agent-client.test.ts index 2020613efd..d4d6613872 100644 --- a/packages/review/src/review-api/agent-client.test.ts +++ b/packages/review/src/review-api/agent-client.test.ts @@ -24,7 +24,7 @@ import { it, vi, } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; import { runReviewAgentCli } from "./agent-cli.js"; import * as agentClient from "./agent-client.js"; diff --git a/packages/review/src/review-api/animation-drafts.ts b/packages/review/src/review-api/animation-drafts.ts index d5cf2ecec0..f6d185ace6 100644 --- a/packages/review/src/review-api/animation-drafts.ts +++ b/packages/review/src/review-api/animation-drafts.ts @@ -31,7 +31,7 @@ import { import { stageStyleReference } from "@review/animation-stage-kit.js"; import { isMissingFileError } from "@review/fs-utils.js"; import { findReviewPackageRoot } from "@review/package-paths.js"; -import { z } from "zod"; +import * as z from "zod"; import { type AnimationReference, diff --git a/packages/review/src/review-api/animation-render.ts b/packages/review/src/review-api/animation-render.ts index dc924bf453..0e1cbb48fb 100644 --- a/packages/review/src/review-api/animation-render.ts +++ b/packages/review/src/review-api/animation-render.ts @@ -8,7 +8,7 @@ import { ReviewInputError, elements, } from "@dev.fast/whiteboard-document"; -import { z } from "zod"; +import * as z from "zod"; import type { Snapshot } from "./store.js"; diff --git a/packages/review/src/review-api/animation-runs.ts b/packages/review/src/review-api/animation-runs.ts index eda0500bd2..9ec80cf60c 100644 --- a/packages/review/src/review-api/animation-runs.ts +++ b/packages/review/src/review-api/animation-runs.ts @@ -3,7 +3,7 @@ // published threw. Kept in memory: a restart forgets it, and the next canvas // to draw the animation reports again. -import { z } from "zod"; +import * as z from "zod"; /** A canvas's report: the animation's script threw this, or nothing. */ export const animationReportSchema = z.strictObject({ diff --git a/packages/review/src/review-api/ask-history.ts b/packages/review/src/review-api/ask-history.ts index 0407d41556..1baee0473c 100644 --- a/packages/review/src/review-api/ask-history.ts +++ b/packages/review/src/review-api/ask-history.ts @@ -12,7 +12,7 @@ import { askOfferSchema, askPermissionsSchema, } from "@review/ask/thread-state.js"; -import { z } from "zod"; +import * as z from "zod"; /** A saved Ask conversation: its history entry, and how to reopen it. */ export const askRecordSchema = askHistoryEntrySchema.extend({ diff --git a/packages/review/src/review-api/authoring-tools.ts b/packages/review/src/review-api/authoring-tools.ts index 27c8677b47..cf6699e706 100644 --- a/packages/review/src/review-api/authoring-tools.ts +++ b/packages/review/src/review-api/authoring-tools.ts @@ -7,7 +7,7 @@ import { publishedEdits, } from "@dev.fast/whiteboard-document"; import type { Tool } from "@modelcontextprotocol/server"; -import { z } from "zod"; +import * as z from "zod"; import { desktopBlockTypes, instructionsQuerySchema } from "./instructions.js"; import { uploadSchema } from "./local-data.js"; diff --git a/packages/review/src/review-api/azure-devops-provider.ts b/packages/review/src/review-api/azure-devops-provider.ts index a9a3d8291d..846f22854d 100644 --- a/packages/review/src/review-api/azure-devops-provider.ts +++ b/packages/review/src/review-api/azure-devops-provider.ts @@ -1,6 +1,6 @@ import { errorMessage } from "@dev.fast/trace-core"; import { ReviewInputError } from "@dev.fast/whiteboard-document"; -import { z } from "zod"; +import * as z from "zod"; import { azureRepositoryOf, slugOf } from "./azure-remote.js"; import type { PullRequestProvider } from "./provider.js"; diff --git a/packages/review/src/review-api/github-provider.ts b/packages/review/src/review-api/github-provider.ts index d8368e2d2b..847c46a5c3 100644 --- a/packages/review/src/review-api/github-provider.ts +++ b/packages/review/src/review-api/github-provider.ts @@ -2,7 +2,7 @@ import { parseGitRemote } from "@dev.fast/local-vcs"; import type { PullRequestState } from "@dev.fast/review-protocol"; import { errorMessage } from "@dev.fast/trace-core"; import { ReviewInputError } from "@dev.fast/whiteboard-document"; -import { z } from "zod"; +import * as z from "zod"; import type { PullRequestProvider } from "./provider.js"; import { GitHubRefusedRead, firstLine } from "./pull-request.js"; diff --git a/packages/review/src/review-api/http.ts b/packages/review/src/review-api/http.ts index 0fedcfc935..a9d5aefdd3 100644 --- a/packages/review/src/review-api/http.ts +++ b/packages/review/src/review-api/http.ts @@ -68,7 +68,7 @@ import { import { forgetSharedCommits } from "@review/sharing/repository.js"; import type { ReviewSessionAgent } from "@review/ui-telemetry-events.js"; import { type Context, Hono, type MiddlewareHandler } from "hono"; -import { z } from "zod"; +import * as z from "zod"; import { anchorQuotes } from "./anchor-quotes.js"; import { diff --git a/packages/review/src/review-api/instructions.ts b/packages/review/src/review-api/instructions.ts index 269d1292d1..3ff4434925 100644 --- a/packages/review/src/review-api/instructions.ts +++ b/packages/review/src/review-api/instructions.ts @@ -7,7 +7,7 @@ import { writableBlockTypes, } from "@dev.fast/whiteboard-document"; import { findReviewPackageRoot } from "@review/package-paths.js"; -import { z } from "zod"; +import * as z from "zod"; export const INSTRUCTION_TOPICS = [ "authoring", diff --git a/packages/review/src/review-api/link-preview.test.ts b/packages/review/src/review-api/link-preview.test.ts index bbbf9fde7e..2f42530d5c 100644 --- a/packages/review/src/review-api/link-preview.test.ts +++ b/packages/review/src/review-api/link-preview.test.ts @@ -1,7 +1,7 @@ import { blockSchema } from "@dev.fast/whiteboard-document"; import { boardLinkPreview } from "@review/review-api/link-preview.js"; import { expect, it } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; const document = z.array(blockSchema).parse([ { diff --git a/packages/review/src/review-api/local-data.ts b/packages/review/src/review-api/local-data.ts index 5e8ce841b5..bb05af5eb5 100644 --- a/packages/review/src/review-api/local-data.ts +++ b/packages/review/src/review-api/local-data.ts @@ -74,7 +74,7 @@ import { SoftwareModelValidationError, defineSoftwareMap, } from "@review/software-map-model.js"; -import { z } from "zod"; +import * as z from "zod"; import { checkoutFs } from "./checkout-fs.js"; import { diff --git a/packages/review/src/review-api/map-input.ts b/packages/review/src/review-api/map-input.ts index 0ec9f8a85b..2ba69bcf47 100644 --- a/packages/review/src/review-api/map-input.ts +++ b/packages/review/src/review-api/map-input.ts @@ -2,7 +2,7 @@ import type { SoftwareDataStoreFieldSchema, SoftwareModelInput, } from "@review/software-map-model.js"; -import { z } from "zod"; +import * as z from "zod"; // Decode the existing map authoring format at the HTTP boundary. The existing // defineSoftwareMap normalizer remains responsible for relationships/coverage. diff --git a/packages/review/src/review-api/onboarding.ts b/packages/review/src/review-api/onboarding.ts index bdb17a3b89..d3b0b33b4f 100644 --- a/packages/review/src/review-api/onboarding.ts +++ b/packages/review/src/review-api/onboarding.ts @@ -21,7 +21,7 @@ import { import type { AskThreadHooks } from "@review/ask/thread.js"; import { readBoundedRequestJson } from "@review/server/hono-http.js"; import type { Hono } from "hono"; -import { z } from "zod"; +import * as z from "zod"; import type { AskRecord } from "./ask-history.js"; import type { AskHost } from "./http.js"; diff --git a/packages/review/src/review-api/origin.ts b/packages/review/src/review-api/origin.ts index 77cb1d6850..da08202802 100644 --- a/packages/review/src/review-api/origin.ts +++ b/packages/review/src/review-api/origin.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { pullRequestProvider } from "./provider.js"; import type { Snapshot } from "./store.js"; diff --git a/packages/review/src/review-api/read-schemas.ts b/packages/review/src/review-api/read-schemas.ts index 00eb2e4544..bc7bee9e63 100644 --- a/packages/review/src/review-api/read-schemas.ts +++ b/packages/review/src/review-api/read-schemas.ts @@ -2,7 +2,7 @@ import { ReviewInputError, type SourcePins, } from "@dev.fast/whiteboard-document"; -import { z } from "zod"; +import * as z from "zod"; // Query schemas for the read routes Desktop and review_get call. http.ts // parses query strings with them, and authoring-tools.ts publishes get's. diff --git a/packages/review/src/review-api/recent-folders.ts b/packages/review/src/review-api/recent-folders.ts index cf04161eeb..3ab8345b62 100644 --- a/packages/review/src/review-api/recent-folders.ts +++ b/packages/review/src/review-api/recent-folders.ts @@ -3,7 +3,7 @@ import os from "node:os"; import path from "node:path"; import { fileURLToPath } from "node:url"; -import { z } from "zod"; +import * as z from "zod"; export interface RecentFoldersEnvironment { homeDir?: string; diff --git a/packages/review/src/review-api/request-origin.ts b/packages/review/src/review-api/request-origin.ts index d2806f1cc2..58ffdbc589 100644 --- a/packages/review/src/review-api/request-origin.ts +++ b/packages/review/src/review-api/request-origin.ts @@ -2,7 +2,7 @@ import { type ReviewSessionAgent, SESSION_AGENT_KIND, } from "@review/ui-telemetry-events.js"; -import { z } from "zod"; +import * as z from "zod"; /** * Headers the agent CLI sets so the server can say where a review came from. diff --git a/packages/review/src/review-api/review-api.test.ts b/packages/review/src/review-api/review-api.test.ts index 7f2524d36b..5c628cbd22 100644 --- a/packages/review/src/review-api/review-api.test.ts +++ b/packages/review/src/review-api/review-api.test.ts @@ -13,7 +13,7 @@ import { ReviewInputError, rangeAnchor } from "@dev.fast/whiteboard-document"; import { createGlobalReviewServer } from "@review/server/desktop-server.js"; import { GlobalReviewDesktopVerbRelay } from "@review/server/global-verb-relay.js"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; import { type AuthoringTool, callAuthoringTool } from "./agent-client.js"; import { authoringTools } from "./authoring-tools.js"; diff --git a/packages/review/src/review-api/review-progress.ts b/packages/review/src/review-api/review-progress.ts index 0d6c2ba233..18276c0b8c 100644 --- a/packages/review/src/review-api/review-progress.ts +++ b/packages/review/src/review-api/review-progress.ts @@ -20,7 +20,7 @@ import { selectionKey, selectionReferences, } from "@dev.fast/whiteboard-document"; -import { z } from "zod"; +import * as z from "zod"; import type { ComparisonCoverage } from "./comparison-coverage.js"; import type { LocalReviewData } from "./local-data.js"; diff --git a/packages/review/src/review-api/store.ts b/packages/review/src/review-api/store.ts index b51e8706e5..6e2c24b9ec 100644 --- a/packages/review/src/review-api/store.ts +++ b/packages/review/src/review-api/store.ts @@ -63,7 +63,7 @@ import { readStoredDocument, } from "@review/stored-document-migration.js"; import { coverageSchema } from "@review/viewed-coverage.js"; -import { z } from "zod"; +import * as z from "zod"; import { ReviewActivity } from "./activity.js"; import { AnimationRuns, animationReportSchema } from "./animation-runs.js"; diff --git a/packages/review/src/review-api/trace-schema.ts b/packages/review/src/review-api/trace-schema.ts index 029bbf6489..96f99f7cc7 100644 --- a/packages/review/src/review-api/trace-schema.ts +++ b/packages/review/src/review-api/trace-schema.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; export const traceSchema = z.strictObject({ label: z.string(), diff --git a/packages/review/src/review-api/workspaces.test.ts b/packages/review/src/review-api/workspaces.test.ts index 0c0bb4b382..793349b2de 100644 --- a/packages/review/src/review-api/workspaces.test.ts +++ b/packages/review/src/review-api/workspaces.test.ts @@ -19,7 +19,7 @@ import type { Pins } from "@dev.fast/whiteboard-document"; import { reviewManagedCheckoutRoot } from "@review/review-checkout-paths.js"; import { runPrepareCommand } from "@review/review-prepare.js"; import { afterEach, beforeEach, expect, it, vi } from "vitest"; -import type { z } from "zod"; +import type * as z from "zod"; import { createReviewApi } from "./http.js"; import { openLocalReviewStore } from "./local-data.js"; diff --git a/packages/review/src/review-stack.ts b/packages/review/src/review-stack.ts index 305f99d907..0747780a63 100644 --- a/packages/review/src/review-stack.ts +++ b/packages/review/src/review-stack.ts @@ -3,7 +3,7 @@ import type { ReviewApiSummary, ReviewStackLayer, } from "@dev.fast/review-protocol"; -import { z } from "zod"; +import * as z from "zod"; import { type RunGitHubApi, diff --git a/packages/review/src/server-discovery.ts b/packages/review/src/server-discovery.ts index 56a12f3576..4a3f18a342 100644 --- a/packages/review/src/server-discovery.ts +++ b/packages/review/src/server-discovery.ts @@ -1,7 +1,7 @@ import { readFile } from "node:fs/promises"; import path from "node:path"; -import { z } from "zod"; +import * as z from "zod"; import { devReviewHome } from "./review-home-paths.js"; diff --git a/packages/review/src/server/crash-report.ts b/packages/review/src/server/crash-report.ts index 3b75d5f3dc..b88da2c8e1 100644 --- a/packages/review/src/server/crash-report.ts +++ b/packages/review/src/server/crash-report.ts @@ -7,7 +7,7 @@ import { gzip } from "node:zlib"; import { ReviewBugReportMetaV2Schema } from "@dev.fast/review-protocol"; import type { PostHogCaptureProperties } from "@review/posthog-capture-client"; import type { ReviewTelemetry } from "@review/review-telemetry"; -import { z } from "zod"; +import * as z from "zod"; const CRASH_REPORT_URL = "https://bug.dev.fast/api/v2/crashes"; diff --git a/packages/review/src/server/desktop-server.ts b/packages/review/src/server/desktop-server.ts index 877b4ef84e..0e53ecd96e 100644 --- a/packages/review/src/server/desktop-server.ts +++ b/packages/review/src/server/desktop-server.ts @@ -56,7 +56,7 @@ import { } from "@review/review-telemetry"; import { remoteShare } from "@review/sharing/host.js"; import { Hono } from "hono"; -import { z } from "zod"; +import * as z from "zod"; import { aliasInstallationToAccount } from "./account-alias"; import { CrashReportRequestSchema, reportCrashDump } from "./crash-report"; diff --git a/packages/review/src/server/headless-host.test.ts b/packages/review/src/server/headless-host.test.ts index fa69e952a2..47996cfcb4 100644 --- a/packages/review/src/server/headless-host.test.ts +++ b/packages/review/src/server/headless-host.test.ts @@ -58,7 +58,7 @@ import { } from "@review/server-discovery.js"; import sharp from "sharp"; import { afterEach, beforeEach, expect, it, vi } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; import { createGlobalReviewServer } from "./desktop-server.js"; import { runHeadlessServer } from "./headless-host.js"; diff --git a/packages/review/src/server/review-api-parsers.ts b/packages/review/src/server/review-api-parsers.ts index 83c7554e7f..ffec2f7243 100644 --- a/packages/review/src/server/review-api-parsers.ts +++ b/packages/review/src/server/review-api-parsers.ts @@ -5,7 +5,7 @@ import { } from "@dev.fast/review-protocol"; import type { ReviewTabTelemetryEvent } from "@review/telemetry"; import { REVIEW_TELEMETRY_TABS } from "@review/ui-telemetry-events"; -import { z } from "zod"; +import * as z from "zod"; import { HttpJsonError } from "./http-json"; diff --git a/packages/review/src/server/review-gateway-hosts.ts b/packages/review/src/server/review-gateway-hosts.ts index 4804ee208e..aaf07d10d0 100644 --- a/packages/review/src/server/review-gateway-hosts.ts +++ b/packages/review/src/server/review-gateway-hosts.ts @@ -4,7 +4,7 @@ import { type ReviewGatewayHostState, } from "@dev.fast/review-protocol"; import { Agent } from "undici"; -import { z } from "zod"; +import * as z from "zod"; import { FIRST_RETRY_MS, diff --git a/packages/review/src/server/review-gateway-memory.ts b/packages/review/src/server/review-gateway-memory.ts index 9ef634850b..05ff75224e 100644 --- a/packages/review/src/server/review-gateway-memory.ts +++ b/packages/review/src/server/review-gateway-memory.ts @@ -3,7 +3,7 @@ import path from "node:path"; import type { ReviewApiSummary } from "@dev.fast/review-protocol"; import { errorMessage, writePrivateJsonAtomic } from "@dev.fast/trace-core"; -import { z } from "zod"; +import * as z from "zod"; export const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; diff --git a/packages/review/src/server/review-gateway-streams.ts b/packages/review/src/server/review-gateway-streams.ts index a3fc06ded1..2841873c11 100644 --- a/packages/review/src/server/review-gateway-streams.ts +++ b/packages/review/src/server/review-gateway-streams.ts @@ -8,7 +8,7 @@ import { reviewHostStatus, } from "@dev.fast/review-protocol"; import { legacyModeSchema } from "@review/review-api/review-progress.js"; -import { z } from "zod"; +import * as z from "zod"; import type { GatewayHosts, GatewayRemote } from "./review-gateway-hosts.js"; import { type ListSource, mergeLists } from "./review-gateway-list.js"; diff --git a/packages/review/src/server/review-gateway-transport.ts b/packages/review/src/server/review-gateway-transport.ts index 6ec8da3891..1066b4830a 100644 --- a/packages/review/src/server/review-gateway-transport.ts +++ b/packages/review/src/server/review-gateway-transport.ts @@ -6,7 +6,7 @@ import { REVIEW_CLIENT_REMOTE, } from "@dev.fast/review-protocol"; import { type Dispatcher, request } from "undici"; -import { z } from "zod"; +import * as z from "zod"; import { StreamLimitError } from "./bounded-stream.js"; import type { GatewayHosts, GatewayRemote } from "./review-gateway-hosts.js"; diff --git a/packages/review/src/server/review-gateway.ts b/packages/review/src/server/review-gateway.ts index 13e6c2f3c5..9722d47a7c 100644 --- a/packages/review/src/server/review-gateway.ts +++ b/packages/review/src/server/review-gateway.ts @@ -10,7 +10,7 @@ import { } from "@dev.fast/review-protocol"; import { Hono } from "hono"; import type { Dispatcher } from "undici"; -import { z } from "zod"; +import * as z from "zod"; import { StreamLimitError, readBoundedStream } from "./bounded-stream.js"; import type { ReviewDesktopVerbRelay } from "./global-verb-relay.js"; diff --git a/packages/review/src/server/review-server-core.ts b/packages/review/src/server/review-server-core.ts index a9ad59154c..04d6eee4a8 100644 --- a/packages/review/src/server/review-server-core.ts +++ b/packages/review/src/server/review-server-core.ts @@ -32,7 +32,7 @@ import { mountSharingPublisher } from "@review/sharing/host.js"; import { type Context, Hono } from "hono"; import { streamSSE } from "hono/streaming"; import type { ContentfulStatusCode } from "hono/utils/http-status"; -import { z } from "zod"; +import * as z from "zod"; import { mountFeedback } from "./feedback"; import type { ReviewDesktopVerbRelay } from "./global-verb-relay"; diff --git a/packages/review/src/server/ui-telemetry.ts b/packages/review/src/server/ui-telemetry.ts index 3af9c4023c..8dd6ba175b 100644 --- a/packages/review/src/server/ui-telemetry.ts +++ b/packages/review/src/server/ui-telemetry.ts @@ -13,7 +13,7 @@ import { REVIEW_APP_SESSION_ID_HEADER, sanitizeUiTelemetryEvent, } from "@review/ui-telemetry-events"; -import { z } from "zod"; +import * as z from "zod"; import { ClientErrorBudget } from "./client-error-budget"; diff --git a/packages/review/src/session-markers.ts b/packages/review/src/session-markers.ts index 56db8f2172..187e171c0c 100644 --- a/packages/review/src/session-markers.ts +++ b/packages/review/src/session-markers.ts @@ -3,7 +3,7 @@ import path from "node:path"; import { parseJsonText } from "@dev.fast/review-protocol"; import { writeFileAtomic } from "@dev.fast/trace-core"; -import { z } from "zod"; +import * as z from "zod"; import type { PostHogCaptureProperties } from "./posthog-capture-client"; import { devReviewHome } from "./review-home-paths"; diff --git a/packages/review/src/sharing/cli.ts b/packages/review/src/sharing/cli.ts index f4366de8c0..c0c19bbf33 100644 --- a/packages/review/src/sharing/cli.ts +++ b/packages/review/src/sharing/cli.ts @@ -4,7 +4,7 @@ import path from "node:path"; import type { Writable } from "node:stream"; import { connectReviewApi } from "@review/review-api/agent-client.js"; -import { z } from "zod"; +import * as z from "zod"; const resultSchema = z.strictObject({ shareId: z.uuid(), diff --git a/packages/review/src/sharing/client.ts b/packages/review/src/sharing/client.ts index efa6783558..97890ce6d2 100644 --- a/packages/review/src/sharing/client.ts +++ b/packages/review/src/sharing/client.ts @@ -17,7 +17,7 @@ import { readBoundedStream, } from "@review/server/bounded-stream.js"; import { Agent } from "undici"; -import { z } from "zod"; +import * as z from "zod"; import { shareRequestBody } from "./export.js"; import { diff --git a/packages/review/src/sharing/file.ts b/packages/review/src/sharing/file.ts index a1a4663deb..e4fada1226 100644 --- a/packages/review/src/sharing/file.ts +++ b/packages/review/src/sharing/file.ts @@ -7,7 +7,7 @@ import { } from "@dev.fast/review-share-protocol"; import { ReviewInputError } from "@dev.fast/whiteboard-document"; import { slugify } from "@review/slug.js"; -import { z } from "zod"; +import * as z from "zod"; export const WHITEBOARD_FILE_EXTENSION = ".whiteboard"; diff --git a/packages/review/src/sharing/host.ts b/packages/review/src/sharing/host.ts index 84bf56e81a..31f46e2063 100644 --- a/packages/review/src/sharing/host.ts +++ b/packages/review/src/sharing/host.ts @@ -21,7 +21,7 @@ import type { LocalReviewData } from "@review/review-api/local-data.js"; import type { ReviewStore } from "@review/review-api/store.js"; import { readBoundedRequestJson } from "@review/server/hono-http.js"; import type { Hono } from "hono"; -import { z } from "zod"; +import * as z from "zod"; import { readSharingAuth } from "./auth.js"; import { ShareAuthError, ShareClient, ShareRequestError } from "./client.js"; diff --git a/packages/review/src/sharing/import.ts b/packages/review/src/sharing/import.ts index 336f872640..e9233c91ea 100644 --- a/packages/review/src/sharing/import.ts +++ b/packages/review/src/sharing/import.ts @@ -36,7 +36,7 @@ import { migrateStoredDocument, migrateStoredLenses, } from "@review/stored-document-migration.js"; -import { z } from "zod"; +import * as z from "zod"; import { referenceCommits, validateShareSources } from "./export.js"; import { diff --git a/packages/review/src/software-map-model.ts b/packages/review/src/software-map-model.ts index d74e0b3fc3..9a7ecc9e6e 100644 --- a/packages/review/src/software-map-model.ts +++ b/packages/review/src/software-map-model.ts @@ -1,5 +1,5 @@ import { isObjectValue, jsonValueSchema } from "@dev.fast/review-protocol"; -import { z } from "zod"; +import * as z from "zod"; const softwareElementTypeSchema = z.enum([ "person", diff --git a/packages/review/src/stored-document-migration.ts b/packages/review/src/stored-document-migration.ts index 62a65c4fe6..4e47b84dea 100644 --- a/packages/review/src/stored-document-migration.ts +++ b/packages/review/src/stored-document-migration.ts @@ -13,7 +13,7 @@ import { lensTargetsSchema, respellLinks, } from "@dev.fast/whiteboard-document"; -import { z } from "zod"; +import * as z from "zod"; import { ATTACHMENT_KEYS, diff --git a/packages/review/src/telemetry-config.ts b/packages/review/src/telemetry-config.ts index f00464c946..c999a5462e 100644 --- a/packages/review/src/telemetry-config.ts +++ b/packages/review/src/telemetry-config.ts @@ -2,7 +2,7 @@ import { existsSync } from "node:fs"; import path from "node:path"; import type { JsonValue } from "@dev.fast/review-protocol"; -import { z } from "zod"; +import * as z from "zod"; import { findReviewPackageRoot } from "./package-paths"; import { DEV_REVIEW_HOME_ENV, devReviewHome } from "./review-home-paths"; diff --git a/packages/review/src/ui-telemetry-events.ts b/packages/review/src/ui-telemetry-events.ts index 952e463868..da8e37a144 100644 --- a/packages/review/src/ui-telemetry-events.ts +++ b/packages/review/src/ui-telemetry-events.ts @@ -28,7 +28,7 @@ import { jsonString, } from "@dev.fast/review-protocol"; import { SELECTION_UNAVAILABLE_REASONS } from "@dev.fast/whiteboard-document"; -import { z } from "zod"; +import * as z from "zod"; import { askAgentIds } from "./ask/thread-state"; import { containsFilePath, hasPossibleUserInfo } from "./telemetry-clean-text"; diff --git a/packages/review/src/viewed-coverage.ts b/packages/review/src/viewed-coverage.ts index 87caa35f14..25d654951e 100644 --- a/packages/review/src/viewed-coverage.ts +++ b/packages/review/src/viewed-coverage.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; export { type CoverageFile, diff --git a/packages/review/src/vsix.ts b/packages/review/src/vsix.ts index 5ce75c948a..f91a6f6d6a 100644 --- a/packages/review/src/vsix.ts +++ b/packages/review/src/vsix.ts @@ -6,7 +6,7 @@ import type { Readable } from "node:stream"; import { pipeline } from "node:stream/promises"; import yauzl from "yauzl"; -import { z } from "zod"; +import * as z from "zod"; const manifestSchema = z.looseObject({ publisher: z.string(), diff --git a/packages/trace-core/src/store-auth.ts b/packages/trace-core/src/store-auth.ts index 34bd456d60..f1b43dda5b 100644 --- a/packages/trace-core/src/store-auth.ts +++ b/packages/trace-core/src/store-auth.ts @@ -8,7 +8,7 @@ import { readFile, rm } from "node:fs/promises"; import path from "node:path"; import type { Writable } from "node:stream"; -import { z } from "zod"; +import * as z from "zod"; import { writePrivateJsonAtomic } from "./atomic-write"; import { diff --git a/packages/trace-core/src/store-client.ts b/packages/trace-core/src/store-client.ts index 7351ed4695..829c7c41a5 100644 --- a/packages/trace-core/src/store-client.ts +++ b/packages/trace-core/src/store-client.ts @@ -26,7 +26,7 @@ import { storeResponseSchema, storeRoutes, } from "@dev.fast/trace-protocol"; -import { z } from "zod"; +import * as z from "zod"; import { requestStoreAuthorization } from "./store-authorization"; diff --git a/packages/trace-core/src/trace-machine-setup.ts b/packages/trace-core/src/trace-machine-setup.ts index 12270108bc..7c4e9b2b45 100644 --- a/packages/trace-core/src/trace-machine-setup.ts +++ b/packages/trace-core/src/trace-machine-setup.ts @@ -4,7 +4,7 @@ import os from "node:os"; import path from "node:path"; import { parseJsonText } from "@dev.fast/json"; -import { z } from "zod"; +import * as z from "zod"; import { writeFileAtomicAsync } from "./atomic-write"; import { clearTraceEnvCache } from "./review-agent-traces"; diff --git a/packages/trace-core/src/trace-repository-hooks.ts b/packages/trace-core/src/trace-repository-hooks.ts index c8bd84b398..806d040e8e 100644 --- a/packages/trace-core/src/trace-repository-hooks.ts +++ b/packages/trace-core/src/trace-repository-hooks.ts @@ -3,7 +3,7 @@ import path from "node:path"; import { jsonArray, jsonString, parseJsonText } from "@dev.fast/json"; import { gitAt } from "@dev.fast/local-vcs"; -import { z } from "zod"; +import * as z from "zod"; import { writeFileAtomicAsync } from "./atomic-write"; import { diff --git a/packages/trace-core/src/trace-repository-target.ts b/packages/trace-core/src/trace-repository-target.ts index cfabca7cde..96c52b2b73 100644 --- a/packages/trace-core/src/trace-repository-target.ts +++ b/packages/trace-core/src/trace-repository-target.ts @@ -10,7 +10,7 @@ import { readFile } from "node:fs/promises"; import path from "node:path"; import { resolveRepoContext } from "@dev.fast/local-vcs"; -import { z } from "zod"; +import * as z from "zod"; import { writePrivateJsonAtomic } from "./atomic-write"; import { StoreApiError, type StoreClient } from "./store-client"; diff --git a/packages/trace-core/src/trace-session-provenance.ts b/packages/trace-core/src/trace-session-provenance.ts index 8f839a4bb5..9d7ce64ee7 100644 --- a/packages/trace-core/src/trace-session-provenance.ts +++ b/packages/trace-core/src/trace-session-provenance.ts @@ -11,7 +11,7 @@ import { readFile, readdir, rm, stat } from "node:fs/promises"; import path from "node:path"; import { sessionIdSchema } from "@dev.fast/trace-protocol"; -import { z } from "zod"; +import * as z from "zod"; import { writePrivateJsonAtomic } from "./atomic-write"; import { devReviewHome } from "./trace-home"; diff --git a/packages/trace-core/src/trace-storage/config.ts b/packages/trace-core/src/trace-storage/config.ts index a17ad34adc..a92b54b1c8 100644 --- a/packages/trace-core/src/trace-storage/config.ts +++ b/packages/trace-core/src/trace-storage/config.ts @@ -4,7 +4,7 @@ import os from "node:os"; import path from "node:path"; import { type JsonValue, jsonObject, parseJsonText } from "@dev.fast/json"; -import { z } from "zod"; +import * as z from "zod"; import { writePrivateJsonAtomic } from "../atomic-write"; import { normalizeStoreOrigin } from "../store-origin"; diff --git a/packages/trace-core/src/trace-store-transport.test.ts b/packages/trace-core/src/trace-store-transport.test.ts index 47da307fe1..be27b92a1f 100644 --- a/packages/trace-core/src/trace-store-transport.test.ts +++ b/packages/trace-core/src/trace-store-transport.test.ts @@ -17,7 +17,7 @@ import zlib from "node:zlib"; import type { StoredObject } from "@dev.fast/trace-protocol"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; import { pullReviewTraceCorpus, syncReviewTrace } from "./review-agent-traces"; import { StoreClient } from "./store-client"; diff --git a/packages/trace-core/src/trace-sync-status.ts b/packages/trace-core/src/trace-sync-status.ts index 8b10ed5685..ef39b29b48 100644 --- a/packages/trace-core/src/trace-sync-status.ts +++ b/packages/trace-core/src/trace-sync-status.ts @@ -9,7 +9,7 @@ import { readFile, readdir, rm } from "node:fs/promises"; import path from "node:path"; import { sessionIdSchema } from "@dev.fast/trace-protocol"; -import { z } from "zod"; +import * as z from "zod"; import { writePrivateJsonAtomic } from "./atomic-write"; import { devReviewHome } from "./trace-home"; diff --git a/packages/trace-protocol/src/contracts.ts b/packages/trace-protocol/src/contracts.ts index e087a4202c..aac887967a 100644 --- a/packages/trace-protocol/src/contracts.ts +++ b/packages/trace-protocol/src/contracts.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; export const sessionIdSchema = z .string() diff --git a/packages/trace-protocol/src/store-api.ts b/packages/trace-protocol/src/store-api.ts index f7b17eed16..7054e9e185 100644 --- a/packages/trace-protocol/src/store-api.ts +++ b/packages/trace-protocol/src/store-api.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import * as z from "zod"; import { commitShaSchema, sessionIdSchema } from "./contracts.js"; diff --git a/packages/whiteboard-document/src/blocks/definition.test.ts b/packages/whiteboard-document/src/blocks/definition.test.ts index aaf1888d0a..2cd2367476 100644 --- a/packages/whiteboard-document/src/blocks/definition.test.ts +++ b/packages/whiteboard-document/src/blocks/definition.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; import { ReviewInputError } from "../input-error.js"; import { diff --git a/packages/whiteboard-document/src/published.test.ts b/packages/whiteboard-document/src/published.test.ts index 1a94cf8cbf..c0e7903871 100644 --- a/packages/whiteboard-document/src/published.test.ts +++ b/packages/whiteboard-document/src/published.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { z } from "zod"; +import * as z from "zod"; import { type BlockType, diff --git a/scripts/review-cli-release.mjs b/scripts/review-cli-release.mjs index e98be38136..7d4a6dbe7d 100644 --- a/scripts/review-cli-release.mjs +++ b/scripts/review-cli-release.mjs @@ -2,7 +2,7 @@ import { execFileSync } from "node:child_process"; import { appendFileSync, readFileSync, writeFileSync } from "node:fs"; import { fileURLToPath } from "node:url"; -import { z } from "zod"; +import * as z from "zod"; const registrySchema = z.object({ versions: z.record(z.string(), z.object({ gitHead: z.string().optional() })), diff --git a/tools/oxlint/zod-imports/index.ts b/tools/oxlint/zod-imports/index.ts new file mode 100644 index 0000000000..b389fbc6ec --- /dev/null +++ b/tools/oxlint/zod-imports/index.ts @@ -0,0 +1,45 @@ +import { defineRule, eslintCompatPlugin } from "@oxlint/plugins"; + +/** Flag the `z` and default imports of zod, which keep every locale in a bundle. */ +const namespaceImportRule = defineRule({ + meta: { + type: "problem", + docs: { + description: + "Import zod as a namespace so bundlers can drop its locales.", + }, + messages: { namespace: 'Use `import * as z from "{{source}}"`.' }, + }, + createOnce(context) { + return { + ImportDeclaration(node) { + const source = node.source.value; + + if (source !== "zod" && !source.startsWith("zod/")) return; + + for (const specifier of node.specifiers) { + const isObjectImport = + specifier.type === "ImportDefaultSpecifier" || + (specifier.type === "ImportSpecifier" && + specifier.imported.type === "Identifier" && + specifier.imported.name === "z"); + + if (isObjectImport) { + context.report({ + node: specifier, + messageId: "namespace", + data: { source }, + }); + } + } + }, + }; + }, +}); + +const zodImportsPlugin = eslintCompatPlugin({ + meta: { name: "zod-imports" }, + rules: { namespace: namespaceImportRule }, +}); + +export default zodImportsPlugin; diff --git a/tools/oxlint/zod-imports/package.json b/tools/oxlint/zod-imports/package.json new file mode 100644 index 0000000000..3dbc1ca591 --- /dev/null +++ b/tools/oxlint/zod-imports/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} From ed7588e850ddd4c262b4670518a4d80cefc409e5 Mon Sep 17 00:00:00 2001 From: thesiti92 Date: Thu, 12 Nov 2026 21:51:20 +0000 Subject: [PATCH 3/4] Rebuild the diffr Claude Code plugin bundle --- .../claude-code/plugin/hooks/register.js | 19169 +++------------- 1 file changed, 2863 insertions(+), 16306 deletions(-) diff --git a/diffr/packages/claude-code/plugin/hooks/register.js b/diffr/packages/claude-code/plugin/hooks/register.js index e320a5b8c2..bf7ec11014 100644 --- a/diffr/packages/claude-code/plugin/hooks/register.js +++ b/diffr/packages/claude-code/plugin/hooks/register.js @@ -73,12 +73,12 @@ var scopeBg = (theme, scope) => { const style = scopeStyle(theme, scope); return style?.bg === void 0 ? void 0 : colorOf(theme, style.bg); }; -function luminance(hex3) { - const channel = (i) => parseInt(hex3.slice(i, i + 2), 16) / 255; +function luminance(hex) { + const channel = (i) => parseInt(hex.slice(i, i + 2), 16) / 255; return 0.2126 * channel(1) + 0.7152 * channel(3) + 0.0722 * channel(5); } -function mix(hex3, other, amount) { - const channel = (i) => Math.round(parseInt(hex3.slice(i, i + 2), 16) * (1 - amount) + parseInt(other.slice(i, i + 2), 16) * amount); +function mix(hex, other, amount) { + const channel = (i) => Math.round(parseInt(hex.slice(i, i + 2), 16) * (1 - amount) + parseInt(other.slice(i, i + 2), 16) * amount); return `#${[1, 3, 5].map((i) => channel(i).toString(16).padStart(2, "0")).join("")}`; } function paletteFromHelix(theme) { @@ -140,12 +140,12 @@ function themeConfig(show) { } // ../../../node_modules/smol-toml/dist/error.js -function getLineColFromPtr(string4, ptr) { - let lines = string4.slice(0, ptr).split(/\r?\n/); +function getLineColFromPtr(string3, ptr) { + let lines = string3.slice(0, ptr).split(/\r?\n/); return [lines.length, lines.pop().length + 1]; } -function makeCodeBlock(string4, line, column) { - let lines = string4.split(/\r?\n/); +function makeCodeBlock(string3, line, column) { + let lines = string3.split(/\r?\n/); let codeblock = ""; let numberLen = (Math.log10(line + 1) | 0) + 1; for (let i = line - 1; i <= line + 1; i++) { @@ -229,14 +229,14 @@ function parseString(ctx) { let value = 0; let len = c === 120 ? 2 : c === 117 ? 4 : 8; for (let j = 0; j < len; j++, ctx.p++) { - let hex3 = ctx.s.charCodeAt(ctx.p); + let hex = ctx.s.charCodeAt(ctx.p); let digit = ( /* 0-9 */ - hex3 >= 48 && hex3 <= 57 ? hex3 - 48 : ( + hex >= 48 && hex <= 57 ? hex - 48 : ( /* A-F */ - hex3 >= 65 && hex3 <= 70 ? hex3 - 65 + 10 : ( + hex >= 65 && hex <= 70 ? hex - 65 + 10 : ( /* a-f */ - hex3 >= 97 && hex3 <= 102 ? hex3 - 97 + 10 : -1 + hex >= 97 && hex <= 102 ? hex - 97 + 10 : -1 ) ) ); @@ -290,55 +290,55 @@ var TomlDate = class _TomlDate extends Date { #hasDate = false; #hasTime = false; #offset = null; - constructor(date5, fasttype, unsafeDelim) { + constructor(date2, fasttype, unsafeDelim) { let hasDate = true; let hasTime = true; let offset = "Z"; let c; - if (typeof date5 === "string") { + if (typeof date2 === "string") { if (fasttype) prep: { if (fasttype < 3) { - if (+date5.slice(11, 13) > 23) { - date5 = ""; + if (+date2.slice(11, 13) > 23) { + date2 = ""; break prep; } if (fasttype === 2) { offset = null; - date5 += "Z"; - } else if ((c = date5.charCodeAt(date5.length - 1)) !== 90 && c !== 122) { - offset = date5.slice(date5.length - 6); + date2 += "Z"; + } else if ((c = date2.charCodeAt(date2.length - 1)) !== 90 && c !== 122) { + offset = date2.slice(date2.length - 6); } if (unsafeDelim) - date5 = date5.slice(0, 10) + "T" + date5.slice(11); + date2 = date2.slice(0, 10) + "T" + date2.slice(11); } else if (fasttype === 4) { - date5 = +date5.slice(0, 2) > 23 ? "" : `0000-01-01T${date5}Z`; + date2 = +date2.slice(0, 2) > 23 ? "" : `0000-01-01T${date2}Z`; } hasDate = fasttype !== 4; hasTime = fasttype !== 3; } else { - let match = date5.match(DATE_TIME_RE); + let match = date2.match(DATE_TIME_RE); if (match) { if (!match[1]) { hasDate = false; - date5 = `0000-01-01T${date5}`; + date2 = `0000-01-01T${date2}`; } hasTime = !!match[2]; - hasTime && date5[10] === " " && (date5 = date5.replace(" ", "T")); + hasTime && date2[10] === " " && (date2 = date2.replace(" ", "T")); if (match[2] && +match[2] > 23) { - date5 = ""; + date2 = ""; } else { offset = match[3] || null; if (!offset && hasTime) - date5 += "Z"; + date2 += "Z"; } } else { - date5 = ""; + date2 = ""; } } } - super(date5); + super(date2); if (!isNaN(this.getTime())) { this.#hasDate = hasDate; this.#hasTime = hasTime; @@ -376,26 +376,26 @@ var TomlDate = class _TomlDate extends Date { return offsetDate.toISOString().slice(0, -1) + this.#offset; } static wrapAsOffsetDateTime(jsDate, offset = "Z") { - let date5 = new _TomlDate(jsDate); - date5.#offset = offset; - return date5; + let date2 = new _TomlDate(jsDate); + date2.#offset = offset; + return date2; } static wrapAsLocalDateTime(jsDate) { - let date5 = new _TomlDate(jsDate); - date5.#offset = null; - return date5; + let date2 = new _TomlDate(jsDate); + date2.#offset = null; + return date2; } static wrapAsLocalDate(jsDate) { - let date5 = new _TomlDate(jsDate); - date5.#hasTime = false; - date5.#offset = null; - return date5; + let date2 = new _TomlDate(jsDate); + date2.#hasTime = false; + date2.#offset = null; + return date2; } static wrapAsLocalTime(jsDate) { - let date5 = new _TomlDate(jsDate); - date5.#hasDate = false; - date5.#offset = null; - return date5; + let date2 = new _TomlDate(jsDate); + date2.#hasDate = false; + date2.#offset = null; + return date2; } }; @@ -584,10 +584,10 @@ function parseTime(ctx, c, endChr) { } function readDate(ctx, str, type, unsafeDelim, errPtr, temporalSuffix) { if (ctx.ld) { - let date5 = new TomlDate(str, type, unsafeDelim); - if (!date5.isValid()) + let date2 = new TomlDate(str, type, unsafeDelim); + if (!date2.isValid()) TomlError.x("invalid date", ctx, errPtr); - return date5; + return date2; } try { if (temporalSuffix) @@ -751,9 +751,9 @@ function parseArray(ctx) { } // ../../../node_modules/smol-toml/dist/parse.js -function peekTable(ctx, key, table, meta3, type) { +function peekTable(ctx, key, table, meta2, type) { let t = table; - let m = meta3; + let m = meta2; let k; let hasOwn = false; let state; @@ -827,11 +827,11 @@ function parse(toml, options = {}) { uk: options.unsafeKeyBehaviour === "throw" ? 2 : options.unsafeKeyBehaviour === "drop" ? 1 : 0 }; let res = /* @__PURE__ */ Object.create(null); - let meta3 = /* @__PURE__ */ Object.create(null); + let meta2 = /* @__PURE__ */ Object.create(null); let tmp; let skipping = false; let tbl = res; - let m = meta3; + let m = meta2; if (toml.charCodeAt(0) === 65279) ctx.p++; skipVoid(ctx); @@ -855,7 +855,7 @@ function parse(toml, options = {}) { ctx, k, res, - meta3, + meta2, isTableArray ? 2 : 1 /* Type.EXPLICIT */ ); @@ -1069,593 +1069,13 @@ function parseHelixTheme(text, name) { } var themeSources = { onedark: onedark_default, onelight: onelight_default, gruvbox: gruvbox_default, solarized_light: solarized_light_default }; function loadBundledTheme(name) { - const file2 = bundledThemes[name]; - if (!file2) throw new Error(`Unknown theme ${name}; bundled themes: ${Object.keys(bundledThemes).join(", ")}`); - return paletteFromHelix(parseHelixTheme(themeSources[file2], name)); + const file = bundledThemes[name]; + if (!file) throw new Error(`Unknown theme ${name}; bundled themes: ${Object.keys(bundledThemes).join(", ")}`); + return paletteFromHelix(parseHelixTheme(themeSources[file], name)); } var dark = loadBundledTheme("default-dark"); var light = loadBundledTheme("default-light"); -// ../../../node_modules/zod/v4/classic/external.js -var external_exports = {}; -__export(external_exports, { - $brand: () => $brand, - $input: () => $input, - $output: () => $output, - INVALID: () => INVALID, - NEVER: () => NEVER, - TimePrecision: () => TimePrecision, - ZodAny: () => ZodAny, - ZodArray: () => ZodArray, - ZodBase64: () => ZodBase64, - ZodBase64URL: () => ZodBase64URL, - ZodBigInt: () => ZodBigInt, - ZodBigIntFormat: () => ZodBigIntFormat, - ZodBoolean: () => ZodBoolean, - ZodCIDRv4: () => ZodCIDRv4, - ZodCIDRv6: () => ZodCIDRv6, - ZodCUID: () => ZodCUID, - ZodCUID2: () => ZodCUID2, - ZodCatch: () => ZodCatch, - ZodCodec: () => ZodCodec, - ZodCompileAsyncError: () => ZodCompileAsyncError, - ZodCompileUnsupportedError: () => ZodCompileUnsupportedError, - ZodCreditCard: () => ZodCreditCard, - ZodCustom: () => ZodCustom, - ZodCustomStringFormat: () => ZodCustomStringFormat, - ZodDate: () => ZodDate, - ZodDefault: () => ZodDefault, - ZodDiscriminatedUnion: () => ZodDiscriminatedUnion, - ZodE164: () => ZodE164, - ZodEmail: () => ZodEmail, - ZodEmoji: () => ZodEmoji, - ZodEnum: () => ZodEnum, - ZodError: () => ZodError, - ZodExactOptional: () => ZodExactOptional, - ZodFile: () => ZodFile, - ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind, - ZodFunction: () => ZodFunction, - ZodGUID: () => ZodGUID, - ZodIBAN: () => ZodIBAN, - ZodIPv4: () => ZodIPv4, - ZodIPv6: () => ZodIPv6, - ZodISODate: () => ZodISODate, - ZodISODateTime: () => ZodISODateTime, - ZodISODuration: () => ZodISODuration, - ZodISOTime: () => ZodISOTime, - ZodInstanceOf: () => ZodInstanceOf, - ZodIntersection: () => ZodIntersection, - ZodIssueCode: () => ZodIssueCode, - ZodJWT: () => ZodJWT, - ZodKSUID: () => ZodKSUID, - ZodLazy: () => ZodLazy, - ZodLiteral: () => ZodLiteral, - ZodMAC: () => ZodMAC, - ZodMap: () => ZodMap, - ZodNaN: () => ZodNaN, - ZodNanoID: () => ZodNanoID, - ZodNever: () => ZodNever, - ZodNonOptional: () => ZodNonOptional, - ZodNull: () => ZodNull, - ZodNullable: () => ZodNullable, - ZodNumber: () => ZodNumber, - ZodNumberFormat: () => ZodNumberFormat, - ZodObject: () => ZodObject, - ZodOptional: () => ZodOptional, - ZodPipe: () => ZodPipe, - ZodPrefault: () => ZodPrefault, - ZodPreprocess: () => ZodPreprocess, - ZodPromise: () => ZodPromise, - ZodReadonly: () => ZodReadonly, - ZodRealError: () => ZodRealError, - ZodRecord: () => ZodRecord, - ZodSet: () => ZodSet, - ZodString: () => ZodString, - ZodStringFormat: () => ZodStringFormat, - ZodSuccess: () => ZodSuccess, - ZodSymbol: () => ZodSymbol, - ZodTemplateLiteral: () => ZodTemplateLiteral, - ZodTransform: () => ZodTransform, - ZodTuple: () => ZodTuple, - ZodType: () => ZodType, - ZodULID: () => ZodULID, - ZodURL: () => ZodURL, - ZodUUID: () => ZodUUID, - ZodUndefined: () => ZodUndefined, - ZodUnion: () => ZodUnion, - ZodUnknown: () => ZodUnknown, - ZodVoid: () => ZodVoid, - ZodXID: () => ZodXID, - ZodXor: () => ZodXor, - _ZodString: () => _ZodString, - _default: () => _default2, - _function: () => _function, - any: () => any, - array: () => array, - base64: () => base642, - base64url: () => base64url2, - bigint: () => bigint2, - boolean: () => boolean2, - catch: () => _catch2, - check: () => check, - cidrv4: () => cidrv42, - cidrv6: () => cidrv62, - clone: () => clone, - codec: () => codec, - coerce: () => coerce_exports, - compile: () => compile, - config: () => config, - core: () => core_exports2, - creditCard: () => creditCard2, - cuid: () => cuid3, - cuid2: () => cuid22, - currencyCode: () => currencyCode2, - custom: () => custom, - date: () => date2, - decode: () => decode2, - decodeAsync: () => decodeAsync2, - deepPartial: () => deepPartial, - describe: () => describe2, - discriminatedUnion: () => discriminatedUnion, - e164: () => e1642, - email: () => email2, - emoji: () => emoji2, - encode: () => encode2, - encodeAsync: () => encodeAsync2, - endsWith: () => _endsWith, - enum: () => _enum2, - exactOptional: () => exactOptional, - file: () => file, - flattenError: () => flattenError, - float32: () => float32, - float64: () => float64, - formatError: () => formatError, - fromJSONSchema: () => fromJSONSchema, - function: () => _function, - getDiscriminatedOption: () => getDiscriminatedOption, - getErrorMap: () => getErrorMap, - globalRegistry: () => globalRegistry, - gt: () => _gt, - gte: () => _gte, - guid: () => guid2, - hash: () => hash, - hex: () => hex2, - hostname: () => hostname2, - httpUrl: () => httpUrl, - iban: () => iban2, - includes: () => _includes, - input: () => input, - instanceof: () => _instanceof, - int: () => int, - int32: () => int32, - int64: () => int64, - intersection: () => intersection, - invertCodec: () => invertCodec, - ipv4: () => ipv42, - ipv6: () => ipv62, - iso: () => iso_exports, - json: () => json, - jwt: () => jwt, - keyof: () => keyof, - ksuid: () => ksuid2, - lazy: () => lazy, - length: () => _length, - literal: () => literal, - locales: () => locales_exports, - looseObject: () => looseObject, - looseRecord: () => looseRecord, - lowercase: () => _lowercase, - lt: () => _lt, - lte: () => _lte, - mac: () => mac2, - map: () => map, - maxLength: () => _maxLength, - maxSize: () => _maxSize, - memoizer: () => memoizer, - meta: () => meta2, - mime: () => _mime, - minLength: () => _minLength, - minSize: () => _minSize, - multipleOf: () => _multipleOf, - nan: () => nan, - nanoid: () => nanoid2, - nativeEnum: () => nativeEnum, - negative: () => _negative, - never: () => never, - nonnegative: () => _nonnegative, - nonoptional: () => nonoptional, - nonpositive: () => _nonpositive, - normalize: () => _normalize, - null: () => _null3, - nullable: () => nullable, - nullish: () => nullish2, - number: () => number2, - object: () => object, - optional: () => optional, - output: () => output, - overwrite: () => _overwrite, - parse: () => parse3, - parseAsync: () => parseAsync2, - partialRecord: () => partialRecord, - pipe: () => pipe, - positive: () => _positive, - prefault: () => prefault, - preprocess: () => preprocess, - prettifyError: () => prettifyError, - promise: () => promise, - properties: () => _properties, - property: () => _property, - readonly: () => readonly, - record: () => record, - refine: () => refine, - regex: () => _regex, - regexes: () => regexes_exports, - registry: () => registry, - safeDecode: () => safeDecode2, - safeDecodeAsync: () => safeDecodeAsync2, - safeEncode: () => safeEncode2, - safeEncodeAsync: () => safeEncodeAsync2, - safeParse: () => safeParse2, - safeParseAsync: () => safeParseAsync2, - set: () => set, - setErrorMap: () => setErrorMap, - size: () => _size, - slugify: () => _slugify, - startsWith: () => _startsWith, - strictObject: () => strictObject, - string: () => string2, - stringFormat: () => stringFormat, - stringbool: () => stringbool, - success: () => success, - superRefine: () => superRefine, - symbol: () => symbol, - templateLiteral: () => templateLiteral, - toJSONSchema: () => toJSONSchema, - toLowerCase: () => _toLowerCase, - toUpperCase: () => _toUpperCase, - toZod: () => toZod, - transform: () => transform, - treeifyError: () => treeifyError, - trim: () => _trim, - tuple: () => tuple, - uint32: () => uint32, - uint64: () => uint64, - ulid: () => ulid2, - undefined: () => _undefined3, - union: () => union, - unknown: () => unknown, - uppercase: () => _uppercase, - url: () => url, - util: () => util_exports, - uuid: () => uuid2, - uuidv4: () => uuidv4, - uuidv6: () => uuidv6, - uuidv7: () => uuidv7, - validate: () => validate, - validateAsync: () => validateAsync, - void: () => _void2, - withParser: () => withParser, - xid: () => xid2, - xor: () => xor -}); - -// ../../../node_modules/zod/v4/core/index.js -var core_exports2 = {}; -__export(core_exports2, { - $ZodAny: () => $ZodAny, - $ZodArray: () => $ZodArray, - $ZodAsyncError: () => $ZodAsyncError, - $ZodBase64: () => $ZodBase64, - $ZodBase64URL: () => $ZodBase64URL, - $ZodBigInt: () => $ZodBigInt, - $ZodBigIntFormat: () => $ZodBigIntFormat, - $ZodBoolean: () => $ZodBoolean, - $ZodCIDRv4: () => $ZodCIDRv4, - $ZodCIDRv6: () => $ZodCIDRv6, - $ZodCUID: () => $ZodCUID, - $ZodCUID2: () => $ZodCUID2, - $ZodCatch: () => $ZodCatch, - $ZodCheck: () => $ZodCheck, - $ZodCheckBigIntFormat: () => $ZodCheckBigIntFormat, - $ZodCheckEndsWith: () => $ZodCheckEndsWith, - $ZodCheckGreaterThan: () => $ZodCheckGreaterThan, - $ZodCheckIncludes: () => $ZodCheckIncludes, - $ZodCheckLengthEquals: () => $ZodCheckLengthEquals, - $ZodCheckLessThan: () => $ZodCheckLessThan, - $ZodCheckLowerCase: () => $ZodCheckLowerCase, - $ZodCheckMaxLength: () => $ZodCheckMaxLength, - $ZodCheckMaxSize: () => $ZodCheckMaxSize, - $ZodCheckMimeType: () => $ZodCheckMimeType, - $ZodCheckMinLength: () => $ZodCheckMinLength, - $ZodCheckMinSize: () => $ZodCheckMinSize, - $ZodCheckMultipleOf: () => $ZodCheckMultipleOf, - $ZodCheckNumberFormat: () => $ZodCheckNumberFormat, - $ZodCheckOverwrite: () => $ZodCheckOverwrite, - $ZodCheckProperties: () => $ZodCheckProperties, - $ZodCheckProperty: () => $ZodCheckProperty, - $ZodCheckRegex: () => $ZodCheckRegex, - $ZodCheckSizeEquals: () => $ZodCheckSizeEquals, - $ZodCheckStartsWith: () => $ZodCheckStartsWith, - $ZodCheckStringFormat: () => $ZodCheckStringFormat, - $ZodCheckUpperCase: () => $ZodCheckUpperCase, - $ZodCodec: () => $ZodCodec, - $ZodCreditCard: () => $ZodCreditCard, - $ZodCustom: () => $ZodCustom, - $ZodCustomStringFormat: () => $ZodCustomStringFormat, - $ZodCyclicError: () => $ZodCyclicError, - $ZodDate: () => $ZodDate, - $ZodDefault: () => $ZodDefault, - $ZodDiscriminatedUnion: () => $ZodDiscriminatedUnion, - $ZodE164: () => $ZodE164, - $ZodEmail: () => $ZodEmail, - $ZodEmoji: () => $ZodEmoji, - $ZodEncodeError: () => $ZodEncodeError, - $ZodEnum: () => $ZodEnum, - $ZodError: () => $ZodError, - $ZodExactOptional: () => $ZodExactOptional, - $ZodFile: () => $ZodFile, - $ZodFunction: () => $ZodFunction, - $ZodGUID: () => $ZodGUID, - $ZodIBAN: () => $ZodIBAN, - $ZodIPv4: () => $ZodIPv4, - $ZodIPv6: () => $ZodIPv6, - $ZodISODate: () => $ZodISODate, - $ZodISODateTime: () => $ZodISODateTime, - $ZodISODuration: () => $ZodISODuration, - $ZodISOTime: () => $ZodISOTime, - $ZodIntersection: () => $ZodIntersection, - $ZodJWT: () => $ZodJWT, - $ZodKSUID: () => $ZodKSUID, - $ZodLazy: () => $ZodLazy, - $ZodLiteral: () => $ZodLiteral, - $ZodMAC: () => $ZodMAC, - $ZodMap: () => $ZodMap, - $ZodNaN: () => $ZodNaN, - $ZodNanoID: () => $ZodNanoID, - $ZodNever: () => $ZodNever, - $ZodNonOptional: () => $ZodNonOptional, - $ZodNull: () => $ZodNull, - $ZodNullable: () => $ZodNullable, - $ZodNumber: () => $ZodNumber, - $ZodNumberFormat: () => $ZodNumberFormat, - $ZodObject: () => $ZodObject, - $ZodObjectJIT: () => $ZodObjectJIT, - $ZodOptional: () => $ZodOptional, - $ZodPipe: () => $ZodPipe, - $ZodPrefault: () => $ZodPrefault, - $ZodPreprocess: () => $ZodPreprocess, - $ZodPromise: () => $ZodPromise, - $ZodReadonly: () => $ZodReadonly, - $ZodRealError: () => $ZodRealError, - $ZodRecord: () => $ZodRecord, - $ZodRegistry: () => $ZodRegistry, - $ZodSet: () => $ZodSet, - $ZodString: () => $ZodString, - $ZodStringFormat: () => $ZodStringFormat, - $ZodSuccess: () => $ZodSuccess, - $ZodSymbol: () => $ZodSymbol, - $ZodTemplateLiteral: () => $ZodTemplateLiteral, - $ZodTransform: () => $ZodTransform, - $ZodTuple: () => $ZodTuple, - $ZodType: () => $ZodType, - $ZodULID: () => $ZodULID, - $ZodURL: () => $ZodURL, - $ZodUUID: () => $ZodUUID, - $ZodUndefined: () => $ZodUndefined, - $ZodUnion: () => $ZodUnion, - $ZodUnknown: () => $ZodUnknown, - $ZodVoid: () => $ZodVoid, - $ZodXID: () => $ZodXID, - $ZodXor: () => $ZodXor, - $brand: () => $brand, - $constructor: () => $constructor, - $input: () => $input, - $output: () => $output, - Doc: () => Doc, - INVALID: () => INVALID, - JSONSchema: () => json_schema_exports, - JSONSchemaGenerator: () => JSONSchemaGenerator, - NEVER: () => NEVER, - TimePrecision: () => TimePrecision, - URL_BAD_FORMAT: () => URL_BAD_FORMAT, - URL_UNPARSEABLE: () => URL_UNPARSEABLE, - ZodCompileAsyncError: () => ZodCompileAsyncError, - ZodCompileUnsupportedError: () => ZodCompileUnsupportedError, - _any: () => _any, - _array: () => _array, - _base64: () => _base64, - _base64url: () => _base64url, - _bigint: () => _bigint, - _boolean: () => _boolean, - _catch: () => _catch, - _check: () => _check, - _cidrv4: () => _cidrv4, - _cidrv6: () => _cidrv6, - _coercedBigint: () => _coercedBigint, - _coercedBoolean: () => _coercedBoolean, - _coercedDate: () => _coercedDate, - _coercedNumber: () => _coercedNumber, - _coercedString: () => _coercedString, - _creditCard: () => _creditCard, - _cuid: () => _cuid, - _cuid2: () => _cuid2, - _custom: () => _custom, - _date: () => _date, - _decode: () => _decode, - _decodeAsync: () => _decodeAsync, - _default: () => _default, - _discriminatedUnion: () => _discriminatedUnion, - _e164: () => _e164, - _email: () => _email, - _emoji: () => _emoji2, - _encode: () => _encode, - _encodeAsync: () => _encodeAsync, - _endsWith: () => _endsWith, - _enum: () => _enum, - _file: () => _file, - _float32: () => _float32, - _float64: () => _float64, - _gt: () => _gt, - _gte: () => _gte, - _guid: () => _guid, - _iban: () => _iban, - _includes: () => _includes, - _int: () => _int, - _int32: () => _int32, - _int64: () => _int64, - _intersection: () => _intersection, - _ipv4: () => _ipv4, - _ipv6: () => _ipv6, - _isoDate: () => _isoDate, - _isoDateTime: () => _isoDateTime, - _isoDuration: () => _isoDuration, - _isoTime: () => _isoTime, - _jwt: () => _jwt, - _ksuid: () => _ksuid, - _lazy: () => _lazy, - _length: () => _length, - _literal: () => _literal, - _lowercase: () => _lowercase, - _lt: () => _lt, - _lte: () => _lte, - _mac: () => _mac, - _map: () => _map, - _max: () => _lte, - _maxLength: () => _maxLength, - _maxSize: () => _maxSize, - _mime: () => _mime, - _min: () => _gte, - _minLength: () => _minLength, - _minSize: () => _minSize, - _multipleOf: () => _multipleOf, - _nan: () => _nan, - _nanoid: () => _nanoid, - _nativeEnum: () => _nativeEnum, - _negative: () => _negative, - _never: () => _never, - _nonnegative: () => _nonnegative, - _nonoptional: () => _nonoptional, - _nonpositive: () => _nonpositive, - _normalize: () => _normalize, - _null: () => _null2, - _nullable: () => _nullable, - _number: () => _number, - _optional: () => _optional, - _overwrite: () => _overwrite, - _parse: () => _parse, - _parseAsync: () => _parseAsync, - _pipe: () => _pipe, - _positive: () => _positive, - _promise: () => _promise, - _properties: () => _properties, - _property: () => _property, - _readonly: () => _readonly, - _record: () => _record, - _refine: () => _refine, - _regex: () => _regex, - _safeDecode: () => _safeDecode, - _safeDecodeAsync: () => _safeDecodeAsync, - _safeEncode: () => _safeEncode, - _safeEncodeAsync: () => _safeEncodeAsync, - _safeParse: () => _safeParse, - _safeParseAsync: () => _safeParseAsync, - _set: () => _set, - _size: () => _size, - _slugify: () => _slugify, - _startsWith: () => _startsWith, - _string: () => _string, - _stringFormat: () => _stringFormat, - _stringbool: () => _stringbool, - _success: () => _success, - _superRefine: () => _superRefine, - _symbol: () => _symbol, - _templateLiteral: () => _templateLiteral, - _toLowerCase: () => _toLowerCase, - _toUpperCase: () => _toUpperCase, - _transform: () => _transform, - _trim: () => _trim, - _tuple: () => _tuple, - _uint32: () => _uint32, - _uint64: () => _uint64, - _ulid: () => _ulid, - _undefined: () => _undefined2, - _union: () => _union, - _unknown: () => _unknown, - _uppercase: () => _uppercase, - _url: () => _url, - _uuid: () => _uuid, - _uuidv4: () => _uuidv4, - _uuidv6: () => _uuidv6, - _uuidv7: () => _uuidv7, - _void: () => _void, - _xid: () => _xid, - _xor: () => _xor, - base64Charset: () => base64Charset, - base64urlCharset: () => base64urlCharset, - canParseURL: () => canParseURL, - clone: () => clone, - compile: () => compile, - compileFn: () => compileFn, - config: () => config, - createStandardJSONSchemaMethod: () => createStandardJSONSchemaMethod, - createToJSONSchemaMethod: () => createToJSONSchemaMethod, - decode: () => decode, - decodeAsync: () => decodeAsync, - describe: () => describe, - encode: () => encode, - encodeAsync: () => encodeAsync, - extractDefs: () => extractDefs, - finalize: () => finalize, - flattenError: () => flattenError, - formatError: () => formatError, - getDiscriminatedOption: () => getDiscriminatedOption, - globalConfig: () => globalConfig, - globalRegistry: () => globalRegistry, - handleUnrepresentable: () => handleUnrepresentable, - initializeContext: () => initializeContext, - isBackEdge: () => isBackEdge, - isRecursiveSchema: () => isRecursiveSchema, - isValidBase64: () => isValidBase64, - isValidBase64URL: () => isValidBase64URL, - isValidCIDRv6: () => isValidCIDRv6, - isValidCreditCard: () => isValidCreditCard, - isValidIBAN: () => isValidIBAN, - isValidIPv6: () => isValidIPv6, - isValidJWT: () => isValidJWT, - locales: () => locales_exports, - memoizer: () => memoizer, - mergeValues: () => mergeValues, - meta: () => meta, - parse: () => parse2, - parseAsync: () => parseAsync, - parseURLObject: () => parseURLObject, - prettifyError: () => prettifyError, - process: () => processSchema, - processSchema: () => processSchema, - regexes: () => regexes_exports, - registry: () => registry, - safeDecode: () => safeDecode, - safeDecodeAsync: () => safeDecodeAsync, - safeEncode: () => safeEncode, - safeEncodeAsync: () => safeEncodeAsync, - safeParse: () => safeParse, - safeParseAsync: () => safeParseAsync, - standardProps: () => standardProps, - stripTabAndNewline: () => stripTabAndNewline, - toDotPath: () => toDotPath, - toJSONSchema: () => toJSONSchema, - toZod: () => toZod, - treeifyError: () => treeifyError, - urlHostnameOk: () => urlHostnameOk, - urlProtocolOk: () => urlProtocolOk, - util: () => util_exports, - validate: () => validate, - validateAsync: () => validateAsync, - validateURL: () => validateURL, - version: () => version, - withParser: () => withParser -}); - // ../../../node_modules/zod/v4/core/util.js var util_exports = {}; __export(util_exports, { @@ -1782,8 +1202,8 @@ var Cached = class { function cached(getter) { return new Cached(getter); } -function nullish(input3) { - return input3 === null || input3 === void 0; +function nullish(input2) { + return input2 === null || input2 === void 0; } function cleanRegex(source2) { const start = source2.startsWith("^") ? 1 : 0; @@ -1920,8 +1340,8 @@ function randomString(length = 10) { function esc(str) { return JSON.stringify(str); } -function slugify(input3) { - return input3.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, ""); +function slugify(input2) { + return input2.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, ""); } var captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => { }; @@ -2289,12 +1709,12 @@ function finalizeIssue(iss, ctx, config2) { } return full; } -function getSizableOrigin(input3) { - if (input3 instanceof Set) +function getSizableOrigin(input2) { + if (input2 instanceof Set) return "set"; - if (input3 instanceof Map) + if (input2 instanceof Map) return "map"; - if (input3 instanceof File) + if (input2 instanceof File) return "file"; return "unknown"; } @@ -2312,10 +1732,10 @@ function codePointLength(str) { } return count; } -function getLengthableOrigin(input3) { - if (Array.isArray(input3)) +function getLengthableOrigin(input2) { + if (Array.isArray(input2)) return "array"; - if (typeof input3 === "string") + if (typeof input2 === "string") return "string"; return "unknown"; } @@ -2341,12 +1761,12 @@ function parsedType(data) { return t; } function issue(...args) { - const [iss, input3, inst] = args; + const [iss, input2, inst] = args; if (typeof iss === "string") { return { message: iss, code: "custom", - input: input3, + input: input2, inst }; } @@ -2357,8 +1777,8 @@ function cleanEnum(obj) { return Number.isNaN(Number.parseInt(k, 10)); }).map((el) => el[1]); } -function base64ToUint8Array(base643) { - const binaryString = atob(base643); +function base64ToUint8Array(base642) { + const binaryString = atob(base642); const bytes = new Uint8Array(binaryString.length); for (let i = 0; i < binaryString.length; i++) { bytes[i] = binaryString.charCodeAt(i); @@ -2372,16 +1792,16 @@ function uint8ArrayToBase64(bytes) { } return btoa(binaryString); } -function base64urlToUint8Array(base64url3) { - const base643 = base64url3.replace(/-/g, "+").replace(/_/g, "/"); - const padding = "=".repeat((4 - base643.length % 4) % 4); - return base64ToUint8Array(base643 + padding); +function base64urlToUint8Array(base64url2) { + const base642 = base64url2.replace(/-/g, "+").replace(/_/g, "/"); + const padding = "=".repeat((4 - base642.length % 4) % 4); + return base64ToUint8Array(base642 + padding); } function uint8ArrayToBase64url(bytes) { return uint8ArrayToBase64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, ""); } -function hexToUint8Array(hex3) { - const cleanHex = hex3.replace(/^0x/, ""); +function hexToUint8Array(hex) { + const cleanHex = hex.replace(/^0x/, ""); if (cleanHex.length % 2 !== 0) { throw new Error("Invalid hex string length"); } @@ -2514,9 +1934,6 @@ function constantCatch(value) { // ../../../node_modules/zod/v4/core/core.js var _a; -var NEVER = /* @__PURE__ */ Object.freeze({ - status: "aborted" -}); var _zodDesc = { value: void 0, enumerable: false }; var _E = "captureStackTrace" in Error ? Error : null; function newError(Definition) { @@ -2614,7 +2031,6 @@ function $constructor(name, initializer3, proto, params) { Object.defineProperty(_, "name", { value: name }); return _; } -var $brand = /* @__PURE__ */ Symbol("zod_brand"); var $ZodAsyncError = class extends Error { constructor() { super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`); @@ -2688,10 +2104,10 @@ function node(obj, key, make) { } return obj[key]; } -function flattenError(error62, mapper = (issue2) => issue2.message) { +function flattenError(error2, mapper = (issue2) => issue2.message) { const fieldErrors = {}; const formErrors = []; - for (const sub of error62.issues) { + for (const sub of error2.issues) { if (sub.path.length > 0) { node(fieldErrors, sub.path[0], () => []).push(mapper(sub)); } else { @@ -2700,10 +2116,10 @@ function flattenError(error62, mapper = (issue2) => issue2.message) { } return { formErrors, fieldErrors }; } -function formatError(error62, mapper = (issue2) => issue2.message) { +function formatError(error2, mapper = (issue2) => issue2.message) { const fieldErrors = { _errors: [] }; - const processError = (error63, path = []) => { - for (const issue2 of error63.issues) { + const processError = (error3, path = []) => { + for (const issue2 of error3.issues) { if (issue2.code === "invalid_union" && issue2.errors.length) { issue2.errors.map((issues) => processError({ issues }, [...path, ...issue2.path])); } else if (issue2.code === "invalid_key") { @@ -2745,86 +2161,9 @@ function formatError(error62, mapper = (issue2) => issue2.message) { } } }; - processError(error62); + processError(error2); return fieldErrors; } -function treeifyError(error62, mapper = (issue2) => issue2.message) { - const result = { errors: [] }; - const processError = (error63, path = []) => { - var _a3; - for (const issue2 of error63.issues) { - if (issue2.code === "invalid_union" && issue2.errors.length) { - issue2.errors.map((issues) => processError({ issues }, [...path, ...issue2.path])); - } else if (issue2.code === "invalid_key") { - processError({ issues: issue2.issues }, [...path, ...issue2.path]); - } else if (issue2.code === "invalid_element") { - processError({ issues: issue2.issues }, [...path, ...issue2.path]); - } else { - const fullpath = [...path, ...issue2.path]; - if (fullpath.length === 0) { - result.errors.push(mapper(issue2)); - continue; - } - let curr = result; - let i = 0; - while (i < fullpath.length) { - const el = fullpath[i]; - const terminal = i === fullpath.length - 1; - if (typeof el === "string") { - curr.properties ?? (curr.properties = {}); - if (!Object.prototype.hasOwnProperty.call(curr.properties, el)) { - Object.defineProperty(curr.properties, el, { - value: { errors: [] }, - enumerable: true, - writable: true, - configurable: true - }); - } - curr = curr.properties[el]; - } else { - curr.items ?? (curr.items = []); - (_a3 = curr.items)[el] ?? (_a3[el] = { errors: [] }); - curr = curr.items[el]; - } - if (terminal) { - curr.errors.push(mapper(issue2)); - } - i++; - } - } - } - }; - processError(error62); - return result; -} -function toDotPath(_path) { - const segs = []; - const path = _path.map((seg) => typeof seg === "object" ? seg.key : seg); - for (const seg of path) { - if (typeof seg === "number") - segs.push(`[${seg}]`); - else if (typeof seg === "symbol") - segs.push(`[${JSON.stringify(String(seg))}]`); - else if (/[^\w$]/.test(seg)) - segs.push(`[${JSON.stringify(seg)}]`); - else { - if (segs.length) - segs.push("."); - segs.push(seg); - } - } - return segs.join(""); -} -function prettifyError(error62) { - const lines = []; - const issues = [...error62.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length); - for (const issue2 of issues) { - lines.push(`\u2716 ${issue2.message}`); - if (issue2.path?.length) - lines.push(` \u2192 at ${toDotPath(issue2.path)}`); - } - return lines.join("\n"); -} // ../../../node_modules/zod/v4/core/parse.js function finalizeParams(callee, params) { @@ -2846,7 +2185,6 @@ var _parse = (_Err) => { }; return fn; }; -var parse2 = /* @__PURE__ */ _parse($ZodRealError); var _parseAsync = (_Err) => { const fn = async (schema, value, _ctx, params) => { const ctx = _ctx ? { ..._ctx, async: true } : { async: true }; @@ -2862,7 +2200,6 @@ var _parseAsync = (_Err) => { }; return fn; }; -var parseAsync = /* @__PURE__ */ _parseAsync($ZodRealError); var _safeParse = (_Err) => (schema, value, _ctx) => { const ctx = _ctx ? { ..._ctx, async: false } : { async: false }; const result = schema._zod.run({ value, issues: [] }, ctx); @@ -2871,21 +2208,20 @@ var _safeParse = (_Err) => (schema, value, _ctx) => { } return result.issues.length ? failure(_Err, result.issues, ctx) : { success: true, data: result.value }; }; -var safeParse = /* @__PURE__ */ _safeParse($ZodRealError); function failure(Err, issues, ctx) { - let error62; + let error2; return { success: false, get error() { - if (!error62) { - error62 = new Err(issues.map((iss) => finalizeIssue(iss, ctx, config()))); + if (!error2) { + error2 = new Err(issues.map((iss) => finalizeIssue(iss, ctx, config()))); issues = void 0; ctx = void 0; } - return error62; + return error2; }, set error(e) { - error62 = e; + error2 = e; issues = void 0; ctx = void 0; } @@ -2898,7 +2234,6 @@ var _safeParseAsync = (_Err) => async (schema, value, _ctx) => { result = await result; return result.issues.length ? failure(_Err, result.issues, ctx) : { success: true, data: result.value }; }; -var safeParseAsync = /* @__PURE__ */ _safeParseAsync($ZodRealError); var COMPILE_INVALID = /* @__PURE__ */ Symbol.for("zod.compile.invalid"); var COMPILE_FALLBACK = /* @__PURE__ */ Symbol.for("zod.compile.fallback"); var validate = ((schema, value, _ctx) => { @@ -2934,126 +2269,51 @@ var validateAsync = async (schema, value, _ctx) => { return result.issues.length === 0; }; var _encode = (_Err) => { - const parse4 = _parse(_Err); + const parse3 = _parse(_Err); const fn = (schema, value, _ctx, _params) => { const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" }; - return parse4(schema, value, ctx, finalizeParams(fn, _params)); + return parse3(schema, value, ctx, finalizeParams(fn, _params)); }; return fn; }; -var encode = /* @__PURE__ */ _encode($ZodRealError); var _decode = (_Err) => { - const parse4 = _parse(_Err); + const parse3 = _parse(_Err); const fn = (schema, value, _ctx, _params) => { - return parse4(schema, value, _ctx, finalizeParams(fn, _params)); + return parse3(schema, value, _ctx, finalizeParams(fn, _params)); }; return fn; }; -var decode = /* @__PURE__ */ _decode($ZodRealError); var _encodeAsync = (_Err) => { - const parseAsync3 = _parseAsync(_Err); + const parseAsync2 = _parseAsync(_Err); const fn = async (schema, value, _ctx, _params) => { const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" }; - return await parseAsync3(schema, value, ctx, finalizeParams(fn, _params)); + return await parseAsync2(schema, value, ctx, finalizeParams(fn, _params)); }; return fn; }; -var encodeAsync = /* @__PURE__ */ _encodeAsync($ZodRealError); var _decodeAsync = (_Err) => { - const parseAsync3 = _parseAsync(_Err); + const parseAsync2 = _parseAsync(_Err); const fn = async (schema, value, _ctx, _params) => { - return await parseAsync3(schema, value, _ctx, finalizeParams(fn, _params)); + return await parseAsync2(schema, value, _ctx, finalizeParams(fn, _params)); }; return fn; }; -var decodeAsync = /* @__PURE__ */ _decodeAsync($ZodRealError); var _safeEncode = (_Err) => (schema, value, _ctx) => { const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" }; return _safeParse(_Err)(schema, value, ctx); }; -var safeEncode = /* @__PURE__ */ _safeEncode($ZodRealError); var _safeDecode = (_Err) => (schema, value, _ctx) => { return _safeParse(_Err)(schema, value, _ctx); }; -var safeDecode = /* @__PURE__ */ _safeDecode($ZodRealError); var _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => { const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" }; return _safeParseAsync(_Err)(schema, value, ctx); }; -var safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync($ZodRealError); var _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => { return _safeParseAsync(_Err)(schema, value, _ctx); }; -var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError); // ../../../node_modules/zod/v4/core/regexes.js -var regexes_exports = {}; -__export(regexes_exports, { - anyString: () => anyString, - base64: () => base64, - base64url: () => base64url, - bigint: () => bigint, - boolean: () => boolean, - browserEmail: () => browserEmail, - cidrv4: () => cidrv4, - cidrv6: () => cidrv6, - creditCard: () => creditCard, - cuid: () => cuid, - cuid2: () => cuid2, - currencyCode: () => currencyCode, - date: () => date, - datetime: () => datetime, - domain: () => domain, - duration: () => duration, - e164: () => e164, - email: () => email, - emoji: () => emoji, - extendedDuration: () => extendedDuration, - guid: () => guid, - hex: () => hex, - hostname: () => hostname, - html5Email: () => html5Email, - httpProtocol: () => httpProtocol, - iban: () => iban, - idnEmail: () => idnEmail, - integer: () => integer, - ipv4: () => ipv4, - ipv6: () => ipv6, - ksuid: () => ksuid, - lowercase: () => lowercase, - mac: () => mac, - md5_base64: () => md5_base64, - md5_base64url: () => md5_base64url, - md5_hex: () => md5_hex, - nanoid: () => nanoid, - nanoidOfLength: () => nanoidOfLength, - null: () => _null, - number: () => number, - rfc5322Email: () => rfc5322Email, - sha1_base64: () => sha1_base64, - sha1_base64url: () => sha1_base64url, - sha1_hex: () => sha1_hex, - sha256_base64: () => sha256_base64, - sha256_base64url: () => sha256_base64url, - sha256_hex: () => sha256_hex, - sha384_base64: () => sha384_base64, - sha384_base64url: () => sha384_base64url, - sha384_hex: () => sha384_hex, - sha512_base64: () => sha512_base64, - sha512_base64url: () => sha512_base64url, - sha512_hex: () => sha512_hex, - string: () => string, - time: () => time, - ulid: () => ulid, - undefined: () => _undefined, - unicodeEmail: () => unicodeEmail, - uppercase: () => uppercase, - uuid: () => uuid, - uuid4: () => uuid4, - uuid6: () => uuid6, - uuid7: () => uuid7, - xid: () => xid -}); var cuid = /^[cC][0-9a-z]{6,}$/; var cuid2 = /^[0-9a-z]+$/; var ulid = /^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/; @@ -3064,43 +2324,25 @@ function nanoidOfLength(length) { return new RegExp(`^[a-zA-Z0-9_-]{${length}}$`); } var duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/; -var extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/; var guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/; var uuid = (version2) => { if (!version2) return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/; return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version2}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`); }; -var uuid4 = /* @__PURE__ */ uuid(4); -var uuid6 = /* @__PURE__ */ uuid(6); -var uuid7 = /* @__PURE__ */ uuid(7); var email = /^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/; -var html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; -var rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; -var unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u; -var idnEmail = unicodeEmail; -var browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; var _emoji = `^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`; function emoji() { return new RegExp(_emoji, "u"); } var ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/; var ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/; -var mac = (delimiter) => { - const escapedDelim = escapeRegex(delimiter ?? ":"); - return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`); -}; var cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/; var cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/; var base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/; var base64url = /^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/; -var hostname = /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/; -var domain = /^(?=.{1,253}$)([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/; var httpProtocol = /^https?$/; var e164 = /^\+[1-9]\d{6,14}$/; -var creditCard = /^\d(?:[ -]?\d){11,18}$/; -var currencyCode = /^(?:AED|AFN|ALL|AMD|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAD|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XCG|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWG)$/; -var iban = /^[A-Z]{2}(?!00|01|99)\d{2}[A-Z0-9]{11,30}$/; var dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`; function anchor(source2) { return new RegExp(`^${source2}$`); @@ -3123,40 +2365,10 @@ function datetime(args) { return new RegExp(`^${dateSource}T(?:${timeRegex})$`); } var anyString = /^[\s\S]{0,}$/; -var string = (params) => { - const regex2 = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`; - return new RegExp(`^${regex2}$`); -}; -var bigint = /^-?\d+n?$/; -var integer = /^-?\d+$/; var number = /^-?\d+(?:\.\d+)?$/; var boolean = /^(?:true|false)$/i; -var _null = /^null$/i; -var _undefined = /^undefined$/i; var lowercase = /^[^A-Z]*$/; var uppercase = /^[^a-z]*$/; -var hex = /^[0-9a-fA-F]*$/; -function fixedBase64(bodyLength, padding) { - return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`); -} -function fixedBase64url(length) { - return new RegExp(`^[A-Za-z0-9_-]{${length}}$`); -} -var md5_hex = /^[0-9a-fA-F]{32}$/; -var md5_base64 = /* @__PURE__ */ fixedBase64(22, "=="); -var md5_base64url = /* @__PURE__ */ fixedBase64url(22); -var sha1_hex = /^[0-9a-fA-F]{40}$/; -var sha1_base64 = /* @__PURE__ */ fixedBase64(27, "="); -var sha1_base64url = /* @__PURE__ */ fixedBase64url(27); -var sha256_hex = /^[0-9a-fA-F]{64}$/; -var sha256_base64 = /* @__PURE__ */ fixedBase64(43, "="); -var sha256_base64url = /* @__PURE__ */ fixedBase64url(43); -var sha384_hex = /^[0-9a-fA-F]{96}$/; -var sha384_base64 = /* @__PURE__ */ fixedBase64(64, ""); -var sha384_base64url = /* @__PURE__ */ fixedBase64url(64); -var sha512_hex = /^[0-9a-fA-F]{128}$/; -var sha512_base64 = /* @__PURE__ */ fixedBase64(86, "=="); -var sha512_base64url = /* @__PURE__ */ fixedBase64url(86); // ../../../node_modules/zod/v4/core/checks.js var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => { @@ -3165,10 +2377,6 @@ var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => { inst._zod.def = def; (_a3 = inst._zod).onattach ?? (_a3.onattach = []); }); -var _whenHasSize = (payload) => { - const val = payload.value; - return !nullish(val) && val.size !== void 0; -}; var _whenHasLength = (payload) => { const val = payload.value; return !nullish(val) && val.length !== void 0; @@ -3242,23 +2450,23 @@ var $ZodCheckNumberFormat = /* @__PURE__ */ $constructor("$ZodCheckNumberFormat" const origin = isInt ? "int" : "number"; const [minimum, maximum] = NUMBER_FORMAT_RANGES[def.format]; inst._zod.check = (payload) => { - const input3 = payload.value; + const input2 = payload.value; if (isInt) { - if (!Number.isInteger(input3)) { + if (!Number.isInteger(input2)) { payload.issues.push({ expected: origin, format: def.format, code: "invalid_type", continue: false, - input: input3, + input: input2, inst }); return; } - if (!Number.isSafeInteger(input3)) { - if (input3 > 0) { + if (!Number.isSafeInteger(input2)) { + if (input2 > 0) { payload.issues.push({ - input: input3, + input: input2, code: "too_big", maximum: Number.MAX_SAFE_INTEGER, note: "Integers must be within the safe integer range.", @@ -3269,7 +2477,7 @@ var $ZodCheckNumberFormat = /* @__PURE__ */ $constructor("$ZodCheckNumberFormat" }); } else { payload.issues.push({ - input: input3, + input: input2, code: "too_small", minimum: Number.MIN_SAFE_INTEGER, note: "Integers must be within the safe integer range.", @@ -3282,10 +2490,10 @@ var $ZodCheckNumberFormat = /* @__PURE__ */ $constructor("$ZodCheckNumberFormat" return; } } - if (input3 < minimum) { + if (input2 < minimum) { payload.issues.push({ origin: "number", - input: input3, + input: input2, code: "too_small", minimum, inclusive: true, @@ -3293,39 +2501,10 @@ var $ZodCheckNumberFormat = /* @__PURE__ */ $constructor("$ZodCheckNumberFormat" continue: !def.abort }); } - if (input3 > maximum) { + if (input2 > maximum) { payload.issues.push({ origin: "number", - input: input3, - code: "too_big", - maximum, - inclusive: true, - inst, - continue: !def.abort - }); - } - }; -}); -var $ZodCheckBigIntFormat = /* @__PURE__ */ $constructor("$ZodCheckBigIntFormat", (inst, def) => { - $ZodCheck.init(inst, def); - const [minimum, maximum] = BIGINT_FORMAT_RANGES[def.format]; - inst._zod.check = (payload) => { - const input3 = payload.value; - if (input3 < minimum) { - payload.issues.push({ - origin: "bigint", - input: input3, - code: "too_small", - minimum, - inclusive: true, - inst, - continue: !def.abort - }); - } - if (input3 > maximum) { - payload.issues.push({ - origin: "bigint", - input: input3, + input: input2, code: "too_big", maximum, inclusive: true, @@ -3335,84 +2514,23 @@ var $ZodCheckBigIntFormat = /* @__PURE__ */ $constructor("$ZodCheckBigIntFormat" } }; }); -var $ZodCheckMaxSize = /* @__PURE__ */ $constructor("$ZodCheckMaxSize", (inst, def) => { - var _a3; - $ZodCheck.init(inst, def); - (_a3 = inst._zod.def).when ?? (_a3.when = _whenHasSize); - inst._zod.check = (payload) => { - const input3 = payload.value; - const size = input3.size; - if (size <= def.maximum) - return; - payload.issues.push({ - origin: getSizableOrigin(input3), - code: "too_big", - maximum: def.maximum, - inclusive: true, - input: input3, - inst, - continue: !def.abort - }); - }; -}); -var $ZodCheckMinSize = /* @__PURE__ */ $constructor("$ZodCheckMinSize", (inst, def) => { - var _a3; - $ZodCheck.init(inst, def); - (_a3 = inst._zod.def).when ?? (_a3.when = _whenHasSize); - inst._zod.check = (payload) => { - const input3 = payload.value; - const size = input3.size; - if (size >= def.minimum) - return; - payload.issues.push({ - origin: getSizableOrigin(input3), - code: "too_small", - minimum: def.minimum, - inclusive: true, - input: input3, - inst, - continue: !def.abort - }); - }; -}); -var $ZodCheckSizeEquals = /* @__PURE__ */ $constructor("$ZodCheckSizeEquals", (inst, def) => { - var _a3; - $ZodCheck.init(inst, def); - (_a3 = inst._zod.def).when ?? (_a3.when = _whenHasSize); - inst._zod.check = (payload) => { - const input3 = payload.value; - const size = input3.size; - if (size === def.size) - return; - const tooBig = size > def.size; - payload.issues.push({ - origin: getSizableOrigin(input3), - ...tooBig ? { code: "too_big", maximum: def.size } : { code: "too_small", minimum: def.size }, - inclusive: true, - exact: true, - input: payload.value, - inst, - continue: !def.abort - }); - }; -}); var $ZodCheckMaxLength = /* @__PURE__ */ $constructor("$ZodCheckMaxLength", (inst, def) => { var _a3; $ZodCheck.init(inst, def); (_a3 = inst._zod.def).when ?? (_a3.when = _whenHasLength); inst._zod.check = (payload) => { - const input3 = payload.value; - const units = input3.length; - const length = typeof input3 === "string" && units > def.maximum ? codePointLength(input3) : units; + const input2 = payload.value; + const units = input2.length; + const length = typeof input2 === "string" && units > def.maximum ? codePointLength(input2) : units; if (length <= def.maximum) return; - const origin = getLengthableOrigin(input3); + const origin = getLengthableOrigin(input2); payload.issues.push({ origin, code: "too_big", maximum: def.maximum, inclusive: true, - input: input3, + input: input2, inst, continue: !def.abort }); @@ -3423,18 +2541,18 @@ var $ZodCheckMinLength = /* @__PURE__ */ $constructor("$ZodCheckMinLength", (ins $ZodCheck.init(inst, def); (_a3 = inst._zod.def).when ?? (_a3.when = _whenHasLength); inst._zod.check = (payload) => { - const input3 = payload.value; - const units = input3.length; - const length = typeof input3 === "string" && units >= def.minimum && units < def.minimum * 2 ? codePointLength(input3) : units; + const input2 = payload.value; + const units = input2.length; + const length = typeof input2 === "string" && units >= def.minimum && units < def.minimum * 2 ? codePointLength(input2) : units; if (length >= def.minimum) return; - const origin = getLengthableOrigin(input3); + const origin = getLengthableOrigin(input2); payload.issues.push({ origin, code: "too_small", minimum: def.minimum, inclusive: true, - input: input3, + input: input2, inst, continue: !def.abort }); @@ -3445,12 +2563,12 @@ var $ZodCheckLengthEquals = /* @__PURE__ */ $constructor("$ZodCheckLengthEquals" $ZodCheck.init(inst, def); (_a3 = inst._zod.def).when ?? (_a3.when = _whenHasLength); inst._zod.check = (payload) => { - const input3 = payload.value; - const units = input3.length; - const length = typeof input3 === "string" && units >= def.length && units <= def.length * 2 ? codePointLength(input3) : units; + const input2 = payload.value; + const units = input2.length; + const length = typeof input2 === "string" && units >= def.length && units <= def.length * 2 ? codePointLength(input2) : units; if (length === def.length) return; - const origin = getLengthableOrigin(input3); + const origin = getLengthableOrigin(input2); const tooBig = length > def.length; payload.issues.push({ origin, @@ -3565,68 +2683,6 @@ var $ZodCheckEndsWith = /* @__PURE__ */ $constructor("$ZodCheckEndsWith", (inst, }); }; }); -function handleCheckPropertyResult(result, payload, property) { - if (result.issues.length) { - payload.issues.push(...prefixIssues(property, result.issues)); - } -} -var $ZodCheckProperty = /* @__PURE__ */ $constructor("$ZodCheckProperty", (inst, def) => { - $ZodCheck.init(inst, def); - inst._zod.check = (payload) => { - const result = def.schema._zod.run({ - value: payload.value[def.property], - issues: [] - }, {}); - if (result instanceof Promise) { - return result.then((result2) => handleCheckPropertyResult(result2, payload, def.property)); - } - handleCheckPropertyResult(result, payload, def.property); - return; - }; -}); -var $ZodCheckProperties = /* @__PURE__ */ $constructor("$ZodCheckProperties", (inst, def) => { - $ZodCheck.init(inst, def); - hide(inst, Symbol.iterator, function* () { - yield inst; - }); - let entries; - inst._zod.check = (payload) => { - if (payload.value == null) { - payload.issues.push({ expected: "object", code: "invalid_type", input: payload.value, inst }); - return void 0; - } - entries ?? (entries = Reflect.ownKeys(def.shape).map((key) => [key, def.shape[key]])); - const input3 = payload.value; - let proms; - for (const [key, schema] of entries) { - const result = schema._zod.run({ value: input3[key], issues: [] }, {}); - if (result instanceof Promise) { - proms ?? (proms = []); - proms.push(result.then((result2) => handleCheckPropertyResult(result2, payload, key))); - } else { - handleCheckPropertyResult(result, payload, key); - } - } - if (proms) - return Promise.all(proms).then(() => void 0); - return void 0; - }; -}); -var $ZodCheckMimeType = /* @__PURE__ */ $constructor("$ZodCheckMimeType", (inst, def) => { - $ZodCheck.init(inst, def); - const mimeSet = new Set(def.mime); - inst._zod.check = (payload) => { - if (mimeSet.has(payload.value.type)) - return; - payload.issues.push({ - code: "invalid_value", - values: def.mime, - input: payload.value.type, - inst, - continue: !def.abort - }); - }; -}); var $ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (inst, def) => { $ZodCheck.init(inst, def); inst._zod.check = (payload) => { @@ -3867,11 +2923,11 @@ var $ZodEmail = /* @__PURE__ */ $constructor("$ZodEmail", (inst, def) => { }); var URL_BAD_FORMAT = 1; var URL_UNPARSEABLE = 2; -function canParseURL(input3) { +function canParseURL(input2) { try { if (typeof URL !== "undefined" && typeof URL.canParse === "function") - return URL.canParse(input3); - new URL(input3); + return URL.canParse(input2); + new URL(input2); return true; } catch { return false; @@ -3902,21 +2958,21 @@ var asciiTabOrNewline = /[\t\n\r]/g; function stripTabAndNewline(value) { return value.replace(asciiTabOrNewline, ""); } -function urlHostnameOk(url2, hostname3) { - hostname3.lastIndex = 0; - return hostname3.test(url2.hostname); +function urlHostnameOk(url, hostname) { + hostname.lastIndex = 0; + return hostname.test(url.hostname); } -function urlProtocolOk(url2, protocol) { +function urlProtocolOk(url, protocol) { protocol.lastIndex = 0; - return protocol.test(url2.protocol.endsWith(":") ? url2.protocol.slice(0, -1) : url2.protocol); + return protocol.test(url.protocol.endsWith(":") ? url.protocol.slice(0, -1) : url.protocol); } var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => { $ZodStringFormat.init(inst, def); inst._zod.check = (payload) => { try { const trimmed = payload.value.trim(); - const url2 = validateURL(trimmed, def); - if (url2 === URL_BAD_FORMAT) { + const url = validateURL(trimmed, def); + if (url === URL_BAD_FORMAT) { payload.issues.push({ code: "invalid_format", format: "url", @@ -3927,7 +2983,7 @@ var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => { }); return; } - if (url2 === URL_UNPARSEABLE) { + if (url === URL_UNPARSEABLE) { payload.issues.push({ code: "invalid_format", format: "url", @@ -3937,11 +2993,11 @@ var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => { }); return; } - if (url2 === true) { + if (url === true) { payload.value = stripTabAndNewline(trimmed); return; } - if (def.hostname && !urlHostnameOk(url2, def.hostname)) { + if (def.hostname && !urlHostnameOk(url, def.hostname)) { payload.issues.push({ code: "invalid_format", format: "url", @@ -3952,7 +3008,7 @@ var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => { continue: !def.abort }); } - if (def.protocol && !urlProtocolOk(url2, def.protocol)) { + if (def.protocol && !urlProtocolOk(url, def.protocol)) { payload.issues.push({ code: "invalid_format", format: "url", @@ -3963,7 +3019,7 @@ var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => { continue: !def.abort }); } - payload.value = def.normalize ? url2.href : stripTabAndNewline(trimmed); + payload.value = def.normalize ? url.href : stripTabAndNewline(trimmed); return; } catch (_) { payload.issues.push({ @@ -4047,10 +3103,6 @@ var $ZodIPv6 = /* @__PURE__ */ $constructor("$ZodIPv6", (inst, def) => { } }; }); -var $ZodMAC = /* @__PURE__ */ $constructor("$ZodMAC", (inst, def) => { - def.pattern ?? (def.pattern = mac(def.delimiter)); - $ZodStringFormat.init(inst, def); -}); var $ZodCIDRv4 = /* @__PURE__ */ $constructor("$ZodCIDRv4", (inst, def) => { def.pattern ?? (def.pattern = cidrv4); $ZodStringFormat.init(inst, def); @@ -4118,8 +3170,8 @@ var base64urlCharset = /^[A-Za-z0-9_-]*$/; function isValidBase64URL(data) { if (!base64urlCharset.test(data)) return false; - const base643 = data.replace(/[-_]/g, (c) => c === "-" ? "+" : "/"); - const padded = base643.padEnd(Math.ceil(base643.length / 4) * 4, "="); + const base642 = data.replace(/[-_]/g, (c) => c === "-" ? "+" : "/"); + const padded = base642.padEnd(Math.ceil(base642.length / 4) * 4, "="); return isValidBase64(padded); } var $ZodBase64URL = /* @__PURE__ */ $constructor("$ZodBase64URL", (inst, def) => { @@ -4141,71 +3193,6 @@ var $ZodE164 = /* @__PURE__ */ $constructor("$ZodE164", (inst, def) => { def.pattern ?? (def.pattern = e164); $ZodStringFormat.init(inst, def); }); -var CC_SANITIZE = /[- ]/g; -function isLuhnAlgo(digits) { - let length = digits.length; - let bit = 1; - let sum = 0; - while (length) { - const value = digits.charCodeAt(--length) - 48; - bit ^= 1; - sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value] : value; - } - return sum % 10 === 0; -} -function isValidCreditCard(input3) { - if (!creditCard.test(input3)) - return false; - return isLuhnAlgo(input3.replace(CC_SANITIZE, "")); -} -var $ZodCreditCard = /* @__PURE__ */ $constructor("$ZodCreditCard", (inst, def) => { - def.pattern ?? (def.pattern = creditCard); - $ZodStringFormat.init(inst, def); - inst._zod.check = (payload) => { - if (isValidCreditCard(payload.value)) - return; - payload.issues.push({ - code: "invalid_format", - format: "credit_card", - input: payload.value, - inst, - continue: !def.abort - }); - }; -}); -function isIso7064Mod97(iban3) { - let remainder = 0; - const len = iban3.length; - for (let i = 4; i < len; i++) { - const code = iban3.charCodeAt(i); - remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97; - } - for (let i = 0; i < 4; i++) { - const code = iban3.charCodeAt(i); - remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97; - } - return remainder === 1; -} -function isValidIBAN(input3) { - if (!iban.test(input3)) - return false; - return isIso7064Mod97(input3); -} -var $ZodIBAN = /* @__PURE__ */ $constructor("$ZodIBAN", (inst, def) => { - def.pattern ?? (def.pattern = iban); - $ZodStringFormat.init(inst, def); - inst._zod.check = (payload) => { - if (isValidIBAN(payload.value)) - return; - payload.issues.push({ - code: "invalid_format", - format: "iban", - input: payload.value, - inst, - continue: !def.abort - }); - }; -}); function isValidJWT(token, algorithm3 = null) { try { const tokensParts = token.split("."); @@ -4240,20 +3227,6 @@ var $ZodJWT = /* @__PURE__ */ $constructor("$ZodJWT", (inst, def) => { }); }; }); -var $ZodCustomStringFormat = /* @__PURE__ */ $constructor("$ZodCustomStringFormat", (inst, def) => { - $ZodStringFormat.init(inst, def); - inst._zod.check = (payload) => { - if (def.fn(payload.value)) - return; - payload.issues.push({ - code: "invalid_format", - format: def.format, - input: payload.value, - inst, - continue: !def.abort - }); - }; -}); var $ZodNumber = /* @__PURE__ */ $constructor("$ZodNumber", (inst, def) => { $ZodType.init(inst, def); inst._zod.pattern = number; @@ -4263,15 +3236,15 @@ var $ZodNumber = /* @__PURE__ */ $constructor("$ZodNumber", (inst, def) => { payload.value = Number(payload.value); } catch (_) { } - const input3 = payload.value; - if (typeof input3 === "number" && !Number.isNaN(input3) && Number.isFinite(input3)) { + const input2 = payload.value; + if (typeof input2 === "number" && !Number.isNaN(input2) && Number.isFinite(input2)) { return payload; } - const received = typeof input3 === "number" ? Number.isNaN(input3) ? "NaN" : !Number.isFinite(input3) ? String(input3) : void 0 : void 0; + const received = typeof input2 === "number" ? Number.isNaN(input2) ? "NaN" : !Number.isFinite(input2) ? String(input2) : void 0 : void 0; payload.issues.push({ expected: "number", code: "invalid_type", - input: input3, + input: input2, inst, ...received ? { received } : {} }); @@ -4291,95 +3264,18 @@ var $ZodBoolean = /* @__PURE__ */ $constructor("$ZodBoolean", (inst, def) => { payload.value = Boolean(payload.value); } catch (_) { } - const input3 = payload.value; - if (typeof input3 === "boolean") + const input2 = payload.value; + if (typeof input2 === "boolean") return payload; payload.issues.push({ expected: "boolean", code: "invalid_type", - input: input3, - inst - }); - return payload; - }; -}); -var $ZodBigInt = /* @__PURE__ */ $constructor("$ZodBigInt", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.pattern = bigint; - inst._zod.parse = (payload, _ctx) => { - if (def.coerce) - try { - payload.value = BigInt(payload.value); - } catch (_) { - } - if (typeof payload.value === "bigint") - return payload; - payload.issues.push({ - expected: "bigint", - code: "invalid_type", - input: payload.value, - inst - }); - return payload; - }; -}); -var $ZodBigIntFormat = /* @__PURE__ */ $constructor("$ZodBigIntFormat", (inst, def) => { - $ZodCheckBigIntFormat.init(inst, def); - $ZodBigInt.init(inst, def); -}); -var $ZodSymbol = /* @__PURE__ */ $constructor("$ZodSymbol", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.parse = (payload, _ctx) => { - const input3 = payload.value; - if (typeof input3 === "symbol") - return payload; - payload.issues.push({ - expected: "symbol", - code: "invalid_type", - input: input3, - inst - }); - return payload; - }; -}); -var $ZodUndefined = /* @__PURE__ */ $constructor("$ZodUndefined", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.pattern = _undefined; - inst._zod.values = /* @__PURE__ */ new Set([void 0]); - inst._zod.parse = (payload, _ctx) => { - const input3 = payload.value; - if (typeof input3 === "undefined") - return payload; - payload.issues.push({ - expected: "undefined", - code: "invalid_type", - input: input3, - inst - }); - return payload; - }; -}); -var $ZodNull = /* @__PURE__ */ $constructor("$ZodNull", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.pattern = _null; - inst._zod.values = /* @__PURE__ */ new Set([null]); - inst._zod.parse = (payload, _ctx) => { - const input3 = payload.value; - if (input3 === null) - return payload; - payload.issues.push({ - expected: "null", - code: "invalid_type", - input: input3, + input: input2, inst }); return payload; }; }); -var $ZodAny = /* @__PURE__ */ $constructor("$ZodAny", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.parse = (payload) => payload; -}); var $ZodUnknown = /* @__PURE__ */ $constructor("$ZodUnknown", (inst, def) => { $ZodType.init(inst, def); inst._zod.parse = (payload) => payload; @@ -4396,51 +3292,12 @@ var $ZodNever = /* @__PURE__ */ $constructor("$ZodNever", (inst, def) => { return payload; }; }); -var $ZodVoid = /* @__PURE__ */ $constructor("$ZodVoid", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.parse = (payload, _ctx) => { - const input3 = payload.value; - if (typeof input3 === "undefined") - return payload; - payload.issues.push({ - expected: "void", - code: "invalid_type", - input: input3, - inst - }); - return payload; - }; -}); -var $ZodDate = /* @__PURE__ */ $constructor("$ZodDate", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.parse = (payload, _ctx) => { - if (def.coerce) { - try { - payload.value = new Date(payload.value); - } catch (_err) { - } - } - const input3 = payload.value; - const isDate = input3 instanceof Date; - const isValidDate = isDate && !Number.isNaN(input3.getTime()); - if (isValidDate) - return payload; - payload.issues.push({ - expected: "date", - code: "invalid_type", - input: input3, - ...isDate ? { received: "Invalid Date" } : {}, - inst - }); - return payload; - }; -}); function capSize(inst, size) { const caps = sizeCaps(inst._zod.def.checks); if (!caps.length) return; const cap = Math.min(...caps.map((c) => c[0])); - const parse4 = inst._zod.parse; + const parse3 = inst._zod.parse; inst._zod.parse = (payload, ctx) => { const n = size(payload.value); if (n > cap && !ctx?.skipChecks && ctx?.direction !== "backward") { @@ -4454,12 +3311,10 @@ function capSize(inst, size) { } } } - return parse4(payload, ctx); + return parse3(payload, ctx); }; } -var arraySize = (input3) => Array.isArray(input3) ? input3.length : -1; -var mapSize = (input3) => input3 instanceof Map ? input3.size : -1; -var setSize = (input3) => input3 instanceof Set ? input3.size : -1; +var arraySize = (input2) => Array.isArray(input2) ? input2.length : -1; function handleArrayResult(result, final, index) { if (result.issues.length) { final.issues.push(...prefixIssues(index, result.issues)); @@ -4471,21 +3326,21 @@ var $ZodArray = /* @__PURE__ */ $constructor("$ZodArray", (inst, def) => { const memo2 = globalConfig.memoizer; memo2?.attach(inst); inst._zod.parse = (payload, ctx) => { - const input3 = payload.value; - if (!Array.isArray(input3)) { + const input2 = payload.value; + if (!Array.isArray(input2)) { payload.issues.push({ expected: "array", code: "invalid_type", - input: input3, + input: input2, inst }); return payload; } - payload.value = memo2 ? memo2.alloc(inst, payload, Array(input3.length), ctx) : Array(input3.length); + payload.value = memo2 ? memo2.alloc(inst, payload, Array(input2.length), ctx) : Array(input2.length); const proms = []; const abortEarly = ctx?.abortEarly; - for (let i = 0; i < input3.length; i++) { - const item = input3[i]; + for (let i = 0; i < input2.length; i++) { + const item = input2[i]; const result = def.element._zod.run({ value: item, issues: [] @@ -4505,8 +3360,8 @@ var $ZodArray = /* @__PURE__ */ $constructor("$ZodArray", (inst, def) => { }; capSize(inst, arraySize); }); -function handlePropertyResult(result, final, key, input3, optin, optout) { - const isPresent = key in input3; +function handlePropertyResult(result, final, key, input2, optin, optout) { + const isPresent = key in input2; const isOptionalOut = optout === "optional"; if (!isPresent && isOptionalOut && optin === "optional") { return; @@ -4558,7 +3413,7 @@ function normalizeDef(def) { optionalKeys: new Set(okeys) }; } -function handleCatchall(proms, input3, payload, ctx, def, inst, abortEarly) { +function handleCatchall(proms, input2, payload, ctx, def, inst, abortEarly) { const unrecognized = []; const keySet = def.keySet; const _catchall = def.catchall._zod; @@ -4566,7 +3421,7 @@ function handleCatchall(proms, input3, payload, ctx, def, inst, abortEarly) { const optin = _catchall.optin; const optout = _catchall.optout; let seen2 = 0; - for (const key in input3) { + for (const key in input2) { if (abortEarly && payload.issues.length !== seen2) { if (aborted(payload, seen2)) break; @@ -4583,18 +3438,18 @@ function handleCatchall(proms, input3, payload, ctx, def, inst, abortEarly) { unrecognized.push(key); continue; } - const r = _catchall.run({ value: input3[key], issues: [] }, ctx); + const r = _catchall.run({ value: input2[key], issues: [] }, ctx); if (r instanceof Promise) { - proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input3, optin, optout))); + proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input2, optin, optout))); } else { - handlePropertyResult(r, payload, key, input3, optin, optout); + handlePropertyResult(r, payload, key, input2, optin, optout); } } if (unrecognized.length) { payload.issues.push({ code: "unrecognized_keys", keys: unrecognized, - input: input3, + input: input2, inst, // Describes the shape of the input, not the validity of the parsed value, so it never aborts. The parse still fails; the schema's own checks just get to run first, and an enclosing intersection can reconcile the key against a sibling operand. continue: true @@ -4645,12 +3500,12 @@ var $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => { memo2?.attach(inst); inst._zod.parse = (payload, ctx) => { value ?? (value = _normalized.value); - const input3 = payload.value; - if (!isObject2(input3)) { + const input2 = payload.value; + if (!isObject2(input2)) { payload.issues.push({ expected: "object", code: "invalid_type", - input: input3, + input: input2, inst }); return payload; @@ -4671,17 +3526,17 @@ var $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => { const el = shape[key]; const optin = el._zod.optin; const optout = el._zod.optout; - const r = el._zod.run({ value: input3[key], issues: [] }, ctx); + const r = el._zod.run({ value: input2[key], issues: [] }, ctx); if (r instanceof Promise) { - proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input3, optin, optout))); + proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input2, optin, optout))); } else { - handlePropertyResult(r, payload, key, input3, optin, optout); + handlePropertyResult(r, payload, key, input2, optin, optout); } } if (!catchall) { return proms.length ? Promise.all(proms).then(() => payload) : payload; } - return handleCatchall(proms, input3, payload, ctx, _normalized.value, inst, abortEarly === true); + return handleCatchall(proms, input2, payload, ctx, _normalized.value, inst, abortEarly === true); }; }); var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) => { @@ -4790,12 +3645,12 @@ var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) => let value; inst._zod.parse = (payload, ctx) => { value ?? (value = _normalized.value); - const input3 = payload.value; - if (!isObject2(input3)) { + const input2 = payload.value; + if (!isObject2(input2)) { payload.issues.push({ expected: "object", code: "invalid_type", - input: input3, + input: input2, inst }); return payload; @@ -4806,7 +3661,7 @@ var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) => payload = fastpass(payload, ctx); if (!catchall) return payload; - return handleCatchall([], input3, payload, ctx, value, inst, ctx?.abortEarly === true); + return handleCatchall([], input2, payload, ctx, value, inst, ctx?.abortEarly === true); } return superParse(payload, ctx); }; @@ -4876,93 +3731,23 @@ var $ZodUnion = /* @__PURE__ */ $constructor("$ZodUnion", (inst, def) => { }); }; }); -function handleExclusiveUnionResults(results, final, inst, ctx) { - const matches = []; - for (let i = 0; i < results.length; i++) { - if (results[i].issues.length === 0) - matches.push(i); - } - if (matches.length === 1) { - final.value = results[matches[0]].value; - return final; - } - if (matches.length === 0) { - final.issues.push({ - code: "invalid_union", - input: final.value, - inst, - errors: results.map((result) => result.issues.map((iss) => finalizeIssue(iss, ctx, config()))) - }); - } else { - final.issues.push({ - code: "invalid_union", - input: final.value, - inst, - errors: [], - inclusive: false, - matches - }); - } - return final; -} -var $ZodXor = /* @__PURE__ */ $constructor("$ZodXor", (inst, def) => { - $ZodUnion.init(inst, def); - def.inclusive = false; - const first = def.options.length === 1 ? def.options[0]._zod.run : null; - inst._zod.parse = (payload, ctx) => { - if (first) { - return first(payload, ctx); - } - let async = false; - const results = []; - for (const option of def.options) { - const result = option._zod.run({ - value: payload.value, - issues: [] - }, ctx); - if (result instanceof Promise) { - results.push(result); - async = true; - } else { - results.push(result); - } - } - if (!async) - return handleExclusiveUnionResults(results, payload, inst, ctx); - return Promise.all(results).then((results2) => { - return handleExclusiveUnionResults(results2, payload, inst, ctx); - }); - }; -}); -function getDiscriminatedOption(union2, value) { - const internals = union2._zod; - let map2 = internals.bag.optionsMap; - if (!map2) { - map2 = discriminatorMap(internals.def); - internals.bag.optionsMap = map2; - } - const option = map2.get(value); - if (option === null) - throw new Error(`Ambiguous discriminator value "${String(value)}"`); - return option; -} function discriminatorMap(def) { - const map2 = /* @__PURE__ */ new Map(); + const map = /* @__PURE__ */ new Map(); for (const option of def.options) { const values = option._zod.propValues?.[def.discriminator]; if (!values || values.size === 0) throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(option)}"`); for (const value of values) { - if (map2.has(value)) { + if (map.has(value)) { if (value !== void 0) throw new Error(`Duplicate discriminator value "${String(value)}"`); - map2.set(value, null); + map.set(value, null); } else { - map2.set(value, option); + map.set(value, option); } } } - return map2; + return map; } var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnion", (inst, def) => { def.inclusive = false; @@ -4998,17 +3783,17 @@ var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnio }); const disc = cached(() => discriminatorMap(def)); inst._zod.parse = (payload, ctx) => { - const input3 = payload.value; - if (!isObject(input3)) { + const input2 = payload.value; + if (!isObject(input2)) { payload.issues.push({ code: "invalid_type", expected: "object", - input: input3, + input: input2, inst }); return payload; } - const value = input3?.[def.discriminator]; + const value = input2?.[def.discriminator]; const opt = disc.value.get(value); if (opt && (value !== void 0 || ctx.direction !== "backward")) { return opt._zod.run(payload, ctx); @@ -5022,7 +3807,7 @@ var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnio note: "No matching discriminator", discriminator: def.discriminator, options: Array.from(disc.value.keys()).filter((value2) => disc.value.get(value2) !== null), - input: input3, + input: input2, path: [def.discriminator], inst }); @@ -5032,9 +3817,9 @@ var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnio var $ZodIntersection = /* @__PURE__ */ $constructor("$ZodIntersection", (inst, def) => { $ZodType.init(inst, def); inst._zod.parse = (payload, ctx) => { - const input3 = payload.value; - const left = def.left._zod.run({ value: input3, issues: [] }, ctx); - const right = def.right._zod.run({ value: input3, issues: [] }, ctx); + const input2 = payload.value; + const left = def.left._zod.run({ value: input2, issues: [] }, ctx); + const right = def.right._zod.run({ value: input2, issues: [] }, ctx); const async = left instanceof Promise || right instanceof Promise; if (async) { return Promise.all([left, right]).then(([left2, right2]) => { @@ -5149,10 +3934,10 @@ var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => { const memo2 = globalConfig.memoizer; memo2?.attach(inst); inst._zod.parse = (payload, ctx) => { - const input3 = payload.value; - if (!Array.isArray(input3)) { + const input2 = payload.value; + if (!Array.isArray(input2)) { payload.issues.push({ - input: input3, + input: input2, inst, expected: "tuple", code: "invalid_type" @@ -5164,23 +3949,23 @@ var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => { const optinStart = getTupleOptStart(items, "optin"); const optoutStart = getTupleOptStart(items, "optout"); if (!def.rest) { - if (input3.length < optinStart) { + if (input2.length < optinStart) { payload.issues.push({ code: "too_small", minimum: optinStart, inclusive: true, - input: input3, + input: input2, inst, origin: "array" }); return payload; } - if (input3.length > items.length) { + if (input2.length > items.length) { payload.issues.push({ code: "too_big", maximum: items.length, inclusive: true, - input: input3, + input: input2, inst, origin: "array" }); @@ -5190,7 +3975,7 @@ var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => { const abortEarly = def.rest ? ctx?.abortEarly : void 0; let itemAborted = false; for (let i = 0; i < items.length; i++) { - const r = items[i]._zod.run({ value: input3[i], issues: [] }, ctx); + const r = items[i]._zod.run({ value: input2[i], issues: [] }, ctx); if (r instanceof Promise) { proms.push(r.then((rr) => { itemResults[i] = rr; @@ -5203,7 +3988,7 @@ var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => { } if (def.rest && !itemAborted) { let i = items.length - 1; - const rest = input3.slice(items.length); + const rest = input2.slice(items.length); let seen2 = payload.issues.length; for (const el of rest) { if (abortEarly && payload.issues.length !== seen2) { @@ -5221,9 +4006,9 @@ var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => { } } if (proms.length) { - return Promise.all(proms).then(() => handleTupleResults(itemResults, payload, items, input3, optoutStart)); + return Promise.all(proms).then(() => handleTupleResults(itemResults, payload, items, input2, optoutStart)); } - return handleTupleResults(itemResults, payload, items, input3, optoutStart); + return handleTupleResults(itemResults, payload, items, input2, optoutStart); }; }); function getTupleOptStart(items, key) { @@ -5240,10 +4025,10 @@ function handleTupleResult(result, final, index) { } final.value[index] = result.value; } -function handleTupleResults(itemResults, final, items, input3, optoutStart) { +function handleTupleResults(itemResults, final, items, input2, optoutStart) { for (let i = 0; i < items.length; i++) { const r = itemResults[i]; - const isPresent = i < input3.length; + const isPresent = i < input2.length; if (!isPresent && i >= optoutStart && items[i]._zod.optin === "optional") { final.value.length = i; break; @@ -5257,7 +4042,7 @@ function handleTupleResults(itemResults, final, items, input3, optoutStart) { } final.value[i] = r.value; } - for (let i = final.value.length - 1; i >= input3.length; i--) { + for (let i = final.value.length - 1; i >= input2.length; i--) { if (items[i]._zod.optout === "optional" && final.value[i] === void 0) { final.value.length = i; } else { @@ -5266,275 +4051,6 @@ function handleTupleResults(itemResults, final, items, input3, optoutStart) { } return final; } -var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => { - $ZodType.init(inst, def); - const memo2 = globalConfig.memoizer; - memo2?.attach(inst); - inst._zod.parse = (payload, ctx) => { - const input3 = payload.value; - if (!isPlainObject(input3)) { - payload.issues.push({ - expected: "record", - code: "invalid_type", - input: input3, - inst - }); - return payload; - } - const proms = []; - const values = def.keyType._zod.values; - if (values && !def.partial) { - payload.value = memo2 ? memo2.alloc(inst, payload, {}, ctx) : {}; - const recordKeys = /* @__PURE__ */ new Set(); - for (const key of values) { - if (typeof key === "string" || typeof key === "number" || typeof key === "symbol") { - recordKeys.add(typeof key === "number" ? key.toString() : key); - if (key === "__proto__") - continue; - const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx); - if (keyResult instanceof Promise) { - throw new Error("Async schemas not supported in object keys currently"); - } - if (keyResult.issues.length) { - payload.issues.push({ - code: "invalid_key", - origin: "record", - issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())), - input: key, - path: [key], - inst - }); - continue; - } - const outKey = keyResult.value; - if (outKey === "__proto__") - continue; - const result = def.valueType._zod.run({ value: input3[key], issues: [] }, ctx); - if (result instanceof Promise) { - proms.push(result.then((result2) => { - if (result2.issues.length) { - payload.issues.push(...prefixIssues(key, result2.issues)); - } - payload.value[outKey] = result2.value; - })); - } else { - if (result.issues.length) { - payload.issues.push(...prefixIssues(key, result.issues)); - } - payload.value[outKey] = result.value; - } - } - } - let unrecognized; - for (const key in input3) { - if (!recordKeys.has(key)) { - if (def.mode === "loose") { - if (key === "__proto__") - continue; - payload.value[key] = input3[key]; - } else { - unrecognized = unrecognized ?? []; - unrecognized.push(key); - } - } - } - if (unrecognized && unrecognized.length > 0) { - payload.issues.push({ - code: "unrecognized_keys", - input: input3, - inst, - keys: unrecognized, - continue: true - }); - } - } else { - payload.value = memo2 ? memo2.alloc(inst, payload, {}, ctx) : {}; - let unrecognized; - for (const key of Reflect.ownKeys(input3)) { - if (key === "__proto__") - continue; - if (!Object.prototype.propertyIsEnumerable.call(input3, key)) - continue; - let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx); - if (keyResult instanceof Promise) { - throw new Error("Async schemas not supported in object keys currently"); - } - const checkNumericKey = typeof key === "string" && number.test(key) && keyResult.issues.length; - if (checkNumericKey) { - const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx); - if (retryResult instanceof Promise) { - throw new Error("Async schemas not supported in object keys currently"); - } - if (retryResult.issues.length === 0) { - keyResult = retryResult; - } - } - if (keyResult.issues.length) { - if (def.mode === "loose") { - payload.value[key] = input3[key]; - } else if (values) { - unrecognized = unrecognized ?? []; - unrecognized.push(key); - } else { - payload.issues.push({ - code: "invalid_key", - origin: "record", - issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())), - input: key, - path: [key], - inst - }); - } - continue; - } - const outKey = keyResult.value; - if (outKey === "__proto__") - continue; - const result = def.valueType._zod.run({ value: input3[key], issues: [] }, ctx); - if (result instanceof Promise) { - proms.push(result.then((result2) => { - if (result2.issues.length) { - payload.issues.push(...prefixIssues(key, result2.issues)); - } - payload.value[outKey] = result2.value; - })); - } else { - if (result.issues.length) { - payload.issues.push(...prefixIssues(key, result.issues)); - } - payload.value[outKey] = result.value; - } - } - if (unrecognized && unrecognized.length > 0) { - payload.issues.push({ - code: "unrecognized_keys", - input: input3, - inst, - keys: unrecognized, - continue: true - }); - } - } - if (proms.length) { - return Promise.all(proms).then(() => payload); - } - return payload; - }; -}); -var $ZodMap = /* @__PURE__ */ $constructor("$ZodMap", (inst, def) => { - $ZodType.init(inst, def); - const memo2 = globalConfig.memoizer; - memo2?.attach(inst); - inst._zod.parse = (payload, ctx) => { - const input3 = payload.value; - if (!(input3 instanceof Map)) { - payload.issues.push({ - expected: "map", - code: "invalid_type", - input: input3, - inst - }); - return payload; - } - const proms = []; - payload.value = memo2 ? memo2.alloc(inst, payload, /* @__PURE__ */ new Map(), ctx) : /* @__PURE__ */ new Map(); - const abortEarly = ctx?.abortEarly; - let seen2 = payload.issues.length; - for (const [key, value] of input3) { - if (abortEarly && payload.issues.length !== seen2) { - if (aborted(payload, seen2)) - break; - seen2 = payload.issues.length; - } - const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx); - const valueResult = def.valueType._zod.run({ value, issues: [] }, ctx); - if (keyResult instanceof Promise || valueResult instanceof Promise) { - proms.push(Promise.all([keyResult, valueResult]).then(([keyResult2, valueResult2]) => { - handleMapResult(keyResult2, valueResult2, payload, key, input3, inst, ctx); - })); - } else { - handleMapResult(keyResult, valueResult, payload, key, input3, inst, ctx); - } - } - if (proms.length) - return Promise.all(proms).then(() => payload); - return payload; - }; - capSize(inst, mapSize); -}); -function handleMapResult(keyResult, valueResult, final, key, input3, inst, ctx) { - if (keyResult.issues.length) { - if (propertyKeyTypes.has(typeof key)) { - final.issues.push(...prefixIssues(key, keyResult.issues)); - } else { - final.issues.push({ - code: "invalid_key", - origin: "map", - input: input3, - inst, - issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())) - }); - } - } - if (valueResult.issues.length) { - if (propertyKeyTypes.has(typeof key)) { - final.issues.push(...prefixIssues(key, valueResult.issues)); - } else { - final.issues.push({ - origin: "map", - code: "invalid_element", - input: input3, - inst, - key, - issues: valueResult.issues.map((iss) => finalizeIssue(iss, ctx, config())) - }); - } - } - final.value.set(keyResult.value, valueResult.value); -} -var $ZodSet = /* @__PURE__ */ $constructor("$ZodSet", (inst, def) => { - $ZodType.init(inst, def); - const memo2 = globalConfig.memoizer; - memo2?.attach(inst); - inst._zod.parse = (payload, ctx) => { - const input3 = payload.value; - if (!(input3 instanceof Set)) { - payload.issues.push({ - input: input3, - inst, - expected: "set", - code: "invalid_type" - }); - return payload; - } - const proms = []; - payload.value = memo2 ? memo2.alloc(inst, payload, /* @__PURE__ */ new Set(), ctx) : /* @__PURE__ */ new Set(); - const abortEarly = ctx?.abortEarly; - let seen2 = payload.issues.length; - for (const item of input3) { - if (abortEarly && payload.issues.length !== seen2) { - if (aborted(payload, seen2)) - break; - seen2 = payload.issues.length; - } - const result = def.valueType._zod.run({ value: item, issues: [] }, ctx); - if (result instanceof Promise) { - proms.push(result.then((result2) => handleSetResult(result2, payload))); - } else - handleSetResult(result, payload); - } - if (proms.length) - return Promise.all(proms).then(() => payload); - return payload; - }; - capSize(inst, setSize); -}); -function handleSetResult(result, final) { - if (result.issues.length) { - final.issues.push(...result.issues); - } - final.value.add(result.value); -} var $ZodEnum = /* @__PURE__ */ $constructor("$ZodEnum", (inst, def) => { $ZodType.init(inst, def); const values = getEnumValues(def.entries); @@ -5545,14 +4061,14 @@ var $ZodEnum = /* @__PURE__ */ $constructor("$ZodEnum", (inst, def) => { return new RegExp(patternValues.length ? `^(${patternValues.map((o) => escapeRegex(o.toString())).join("|")})$` : "^[^\\s\\S]$"); }); inst._zod.parse = (payload, _ctx) => { - const input3 = payload.value; - if (valuesSet.has(input3)) { + const input2 = payload.value; + if (valuesSet.has(input2)) { return payload; } payload.issues.push({ code: "invalid_value", values, - input: input3, + input: input2, inst }); return payload; @@ -5567,29 +4083,14 @@ var $ZodLiteral = /* @__PURE__ */ $constructor("$ZodLiteral", (inst, def) => { return new RegExp(vals.length ? `^(${vals.map((o) => typeof o === "string" ? escapeRegex(o) : o ? escapeRegex(o.toString()) : String(o)).join("|")})$` : "^[^\\s\\S]$"); }); inst._zod.parse = (payload, _ctx) => { - const input3 = payload.value; - if (values.has(input3)) { + const input2 = payload.value; + if (values.has(input2)) { return payload; } payload.issues.push({ code: "invalid_value", values: def.values, - input: input3, - inst - }); - return payload; - }; -}); -var $ZodFile = /* @__PURE__ */ $constructor("$ZodFile", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.parse = (payload, _ctx) => { - const input3 = payload.value; - if (input3 instanceof File) - return payload; - payload.issues.push({ - expected: "file", - code: "invalid_type", - input: input3, + input: input2, inst }); return payload; @@ -5605,9 +4106,9 @@ var $ZodTransform = /* @__PURE__ */ $constructor("$ZodTransform", (inst, def) => } const _out = def.transform(payload.value, payload); if (ctx.async) { - const output2 = _out instanceof Promise ? _out : Promise.resolve(_out); - return output2.then((output3) => { - payload.value = output3; + const output = _out instanceof Promise ? _out : Promise.resolve(_out); + return output.then((output2) => { + payload.value = output2; return payload; }); } @@ -5735,23 +4236,6 @@ function handleNonOptionalResult(payload, inst) { } return payload; } -var $ZodSuccess = /* @__PURE__ */ $constructor("$ZodSuccess", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.parse = (payload, ctx) => { - if (ctx.direction === "backward") { - throw new $ZodEncodeError("ZodSuccess"); - } - const result = def.innerType._zod.run(payload, ctx); - if (result instanceof Promise) { - return result.then((result2) => { - payload.value = result2.issues.length === 0; - return payload; - }); - } - payload.value = result.issues.length === 0; - return payload; - }; -}); function handleCatchResult(payload, result, def, ctx) { if (!result.issues.length) { payload.value = result.value; @@ -5785,21 +4269,6 @@ var $ZodCatch = /* @__PURE__ */ $constructor("$ZodCatch", (inst, def) => { return handleCatchResult(payload, result, def, ctx); }; }); -var $ZodNaN = /* @__PURE__ */ $constructor("$ZodNaN", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.parse = (payload, _ctx) => { - if (typeof payload.value !== "number" || !Number.isNaN(payload.value)) { - payload.issues.push({ - input: payload.value, - inst, - expected: "nan", - code: "invalid_type" - }); - return payload; - } - return payload; - }; -}); var $ZodPipe = /* @__PURE__ */ $constructor("$ZodPipe", (inst, def) => { $ZodType.init(inst, def); defineLazyInternal(inst, "values", (zod) => zod.def.in._zod.values); @@ -5828,59 +4297,6 @@ function handlePipeResult(left, next, ctx) { } return next._zod.run({ value: left.value, issues: left.issues }, ctx); } -var $ZodCodec = /* @__PURE__ */ $constructor("$ZodCodec", (inst, def) => { - $ZodType.init(inst, def); - defineLazyInternal(inst, "values", (zod) => zod.def.in._zod.values); - defineLazyInternal(inst, "optin", (zod) => zod.def.in._zod.optin); - defineLazyInternal(inst, "optout", (zod) => zod.def.out._zod.optout); - defineLazyInternal(inst, "propValues", (zod) => zod.def.in._zod.propValues); - inst._zod.parse = (payload, ctx) => { - const direction = ctx.direction || "forward"; - if (direction === "forward") { - const left = def.in._zod.run(payload, ctx); - if (left instanceof Promise) { - return left.then((left2) => handleCodecAResult(left2, def, ctx)); - } - return handleCodecAResult(left, def, ctx); - } else { - const right = def.out._zod.run(payload, ctx); - if (right instanceof Promise) { - return right.then((right2) => handleCodecAResult(right2, def, ctx)); - } - return handleCodecAResult(right, def, ctx); - } - }; -}); -function handleCodecAResult(result, def, ctx) { - if (result.issues.length) { - result.aborted = true; - return result; - } - const direction = ctx.direction || "forward"; - if (direction === "forward") { - const transformed = def.transform(result.value, result); - if (transformed instanceof Promise) { - return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx)); - } - return handleCodecTxResult(result, transformed, def.out, ctx); - } else { - const transformed = def.reverseTransform(result.value, result); - if (transformed instanceof Promise) { - return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx)); - } - return handleCodecTxResult(result, transformed, def.in, ctx); - } -} -function handleCodecTxResult(left, value, nextSchema, ctx) { - if (left.issues.length) { - left.aborted = true; - return left; - } - return nextSchema._zod.run({ value, issues: left.issues }, ctx); -} -var $ZodPreprocess = /* @__PURE__ */ $constructor("$ZodPreprocess", (inst, def) => { - $ZodPipe.init(inst, def); -}); var $ZodReadonly = /* @__PURE__ */ $constructor("$ZodReadonly", (inst, def) => { $ZodType.init(inst, def); defineLazyInternal(inst, "propValues", (zod) => zod.def.innerType._zod.propValues); @@ -5903,214 +4319,44 @@ function handleReadonlyResult(payload) { payload.value = Object.freeze(payload.value); return payload; } -function leafPattern(schema) { - const def = schema._zod.def; - let pattern = def.pattern; - let isInt = !!def.format?.includes("int"); - let minimum; - let maximum; - for (const ch of def.checks ?? []) { - const d = ch._zod.def; - if (d.pattern) - pattern = d.pattern; - isInt || (isInt = !!d.format?.includes("int")); - const lo = d.minimum ?? d.length; - const hi = d.maximum ?? d.length; - if (lo !== void 0 && (minimum === void 0 || lo > minimum)) - minimum = lo; - if (hi !== void 0 && (maximum === void 0 || hi < maximum)) - maximum = hi; - } - if (pattern) - return pattern.source; - if (minimum !== void 0 && maximum !== void 0 && minimum > maximum) - return "(?!)"; - if (minimum !== void 0 || maximum !== void 0) - return string({ minimum, maximum }).source; - const own2 = schema._zod.pattern; - return (isInt && own2 === number ? integer : own2)?.source; -} -function partPattern(schema) { - const def = schema._zod.def; - const own2 = schema._zod.pattern?.source; - const inner = def.innerType ?? schema._zod.innerType; - if (inner) { - const before = inner._zod.pattern?.source; - const after = partPattern(inner); - if (own2 && before && after && after !== before) { - return own2.replace(cleanRegex(before), () => cleanRegex(after)); - } - return own2; - } - if (def.options) { - const sources = def.options.map(partPattern); - if (sources.every(Boolean)) - return `^(${sources.map((s) => cleanRegex(s)).join("|")})$`; - } - return leafPattern(schema); -} -var $ZodTemplateLiteral = /* @__PURE__ */ $constructor("$ZodTemplateLiteral", (inst, def) => { +var $ZodLazy = /* @__PURE__ */ $constructor("$ZodLazy", (inst, def) => { $ZodType.init(inst, def); - const regexParts = []; - for (const part of def.parts) { - if (typeof part === "object" && part !== null) { - const source2 = partPattern(part); - if (!source2) { - throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`); - } - regexParts.push(cleanRegex(source2)); - } else if (part === null || primitiveTypes.has(typeof part)) { - regexParts.push(escapeRegex(`${part}`)); - } else { - throw new Error(`Invalid template literal part: ${part}`); + defineLazy(inst._zod, "innerType", () => { + const d = def; + if (!d._cachedInner) + d._cachedInner = def.getter(); + return d._cachedInner; + }); + defineLazyInternal(inst, "pattern", (zod) => zod.innerType?._zod?.pattern); + defineLazyInternal(inst, "propValues", (zod) => zod.innerType?._zod?.propValues); + defineLazyInternal(inst, "optin", (zod) => zod.innerType?._zod?.optin ?? void 0); + defineLazyInternal(inst, "optout", (zod) => zod.innerType?._zod?.optout ?? void 0); + inst._zod.parse = (payload, ctx) => { + const inner = inst._zod.innerType; + return inner._zod.run(payload, ctx); + }; +}); +var $ZodCustom = /* @__PURE__ */ $constructor("$ZodCustom", (inst, def) => { + $ZodCheck.init(inst, def); + $ZodType.init(inst, def); + inst._zod.parse = (payload, _) => { + return payload; + }; + inst._zod.check = (payload) => { + const input2 = payload.value; + const r = def.fn(input2); + if (r instanceof Promise) { + return r.then((r2) => handleRefineResult(r2, payload, input2, inst)); } - } - inst._zod.pattern = new RegExp(`^${regexParts.join("")}$`); - inst._zod.parse = (payload, _ctx) => { - if (typeof payload.value !== "string") { - payload.issues.push({ - input: payload.value, - inst, - expected: "string", - code: "invalid_type" - }); - return payload; - } - inst._zod.pattern.lastIndex = 0; - if (!inst._zod.pattern.test(payload.value)) { - payload.issues.push({ - input: payload.value, - inst, - code: "invalid_format", - format: def.format ?? "template_literal", - pattern: inst._zod.pattern.source - }); - return payload; - } - return payload; - }; -}); -var $ZodFunction = /* @__PURE__ */ $constructor("$ZodFunction", (inst, def) => { - $ZodType.init(inst, def); - Object.defineProperty(inst, "_def", { value: def }); - inst._zod.def = def; - inst.implement = (func) => { - if (typeof func !== "function") { - throw new Error("implement() must be called with a function"); - } - return Object.defineProperty(function(...args) { - const parsedArgs = inst._def.input ? parse2(inst._def.input, args) : args; - const result = Reflect.apply(func, this, parsedArgs); - if (inst._def.output) { - return parse2(inst._def.output, result); - } - return result; - }, "_zod", { value: inst._zod, enumerable: false }); - }; - inst.implementAsync = (func) => { - if (typeof func !== "function") { - throw new Error("implementAsync() must be called with a function"); - } - return Object.defineProperty(async function(...args) { - const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args; - const result = await Reflect.apply(func, this, parsedArgs); - if (inst._def.output) { - return await parseAsync(inst._def.output, result); - } - return result; - }, "_zod", { value: inst._zod, enumerable: false }); - }; - inst._zod.parse = (payload, _ctx) => { - if (typeof payload.value !== "function") { - payload.issues.push({ - code: "invalid_type", - expected: "function", - input: payload.value, - inst - }); - return payload; - } - const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === "promise"; - if (hasPromiseOutput) { - payload.value = inst.implementAsync(payload.value); - } else { - payload.value = inst.implement(payload.value); - } - return payload; - }; - inst.input = (...args) => { - const F = inst.constructor; - if (Array.isArray(args[0])) { - return new F({ - type: "function", - input: new $ZodTuple({ - type: "tuple", - items: args[0], - rest: args[1] - }), - output: inst._def.output - }); - } - return new F({ - type: "function", - input: args[0], - output: inst._def.output - }); - }; - inst.output = (output2) => { - const F = inst.constructor; - return new F({ - type: "function", - input: inst._def.input, - output: output2 - }); - }; - return inst; -}); -var $ZodPromise = /* @__PURE__ */ $constructor("$ZodPromise", (inst, def) => { - $ZodType.init(inst, def); - inst._zod.parse = (payload, ctx) => { - return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx)); - }; -}); -var $ZodLazy = /* @__PURE__ */ $constructor("$ZodLazy", (inst, def) => { - $ZodType.init(inst, def); - defineLazy(inst._zod, "innerType", () => { - const d = def; - if (!d._cachedInner) - d._cachedInner = def.getter(); - return d._cachedInner; - }); - defineLazyInternal(inst, "pattern", (zod) => zod.innerType?._zod?.pattern); - defineLazyInternal(inst, "propValues", (zod) => zod.innerType?._zod?.propValues); - defineLazyInternal(inst, "optin", (zod) => zod.innerType?._zod?.optin ?? void 0); - defineLazyInternal(inst, "optout", (zod) => zod.innerType?._zod?.optout ?? void 0); - inst._zod.parse = (payload, ctx) => { - const inner = inst._zod.innerType; - return inner._zod.run(payload, ctx); - }; -}); -var $ZodCustom = /* @__PURE__ */ $constructor("$ZodCustom", (inst, def) => { - $ZodCheck.init(inst, def); - $ZodType.init(inst, def); - inst._zod.parse = (payload, _) => { - return payload; - }; - inst._zod.check = (payload) => { - const input3 = payload.value; - const r = def.fn(input3); - if (r instanceof Promise) { - return r.then((r2) => handleRefineResult(r2, payload, input3, inst)); - } - handleRefineResult(r, payload, input3, inst); + handleRefineResult(r, payload, input2, inst); return; }; }); -function handleRefineResult(result, payload, input3, inst) { +function handleRefineResult(result, payload, input2, inst) { if (!result) { const _iss = { code: "custom", - input: input3, + input: input2, inst, // incorporates params.error into issue reporting path: [...inst._zod.def.path ?? []], @@ -6151,7 +4397,7 @@ function isRecursive(inst, stack, resolve) { return PROVEN; stack.add(inst); let result = NONE; - const check3 = (child) => { + const check2 = (child) => { if (result !== PROVEN && child?._zod) { const answer = isRecursive(child, stack, resolve); if (answer > result) @@ -6180,32 +4426,32 @@ function isRecursive(inst, stack, resolve) { case "object": { const raw = rawShape(def); merge2(raw ? shape(raw, true) : ASSUMED); - check3(def.catchall); + check2(def.catchall); break; } case "array": - check3(def.element); + check2(def.element); break; case "tuple": for (const el of def.items) - check3(el); - check3(def.rest); + check2(el); + check2(def.rest); break; case "record": case "map": - check3(def.keyType); - check3(def.valueType); + check2(def.keyType); + check2(def.valueType); break; case "set": - check3(def.valueType); + check2(def.valueType); break; case "union": for (const el of def.options) - check3(el); + check2(el); break; case "intersection": - check3(def.left); - check3(def.right); + check2(def.left); + check2(def.right); break; case "optional": case "nullable": @@ -6216,15 +4462,15 @@ function isRecursive(inst, stack, resolve) { case "nonoptional": case "promise": case "success": - check3(def.innerType); + check2(def.innerType); break; case "pipe": - check3(def.in); - check3(def.out); + check2(def.in); + check2(def.out); break; case "function": - check3(def.input); - check3(def.output); + check2(def.input); + check2(def.output); break; // `$ZodLazy` caches its inner on the def, so a resolved edge is followed exactly case "lazy": { @@ -6265,10 +4511,10 @@ function isRecursive(inst, stack, resolve) { if (!value || typeof value !== "object") continue; if (value._zod) - check3(value); + check2(value); else if (Array.isArray(value)) for (const el of value) - check3(el); + check2(el); } } } @@ -6280,9 +4526,6 @@ function settle(inst, answer) { recursive.set(inst, answer === PROVEN); return answer; } -function isRecursiveSchema(inst) { - return isRecursive(inst, /* @__PURE__ */ new Set(), true) !== NONE; -} function bucketFor(state, inst) { let bucket = state.buckets.get(inst); if (!bucket) { @@ -6342,8 +4585,8 @@ var memo = { else rechecked = true; } - const input3 = payload.value; - if (!isRef(input3)) + const input2 = payload.value; + if (!isRef(input2)) return base(payload, ctx); let state = ctx[STATE]; if (!state) { @@ -6358,7 +4601,7 @@ var memo = { lastCtx = ctx; lastBucket = bucket; } - const hit = bucket.get(input3); + const hit = bucket.get(input2); if (hit) { payload.value = hit.value; if (hit.issues) { @@ -6401,194 +4644,14 @@ function isBackEdge(ctx, value) { return backEdges !== void 0 && isRef(value) && backEdges.has(value); } -// ../../../node_modules/zod/v4/locales/index.js -var locales_exports = {}; -__export(locales_exports, { - ar: () => ar_default, - az: () => az_default, - be: () => be_default, - bg: () => bg_default, - bn: () => bn_default, - ca: () => ca_default, - ckb: () => ckb_default, - cs: () => cs_default, - da: () => da_default, - de: () => de_default, - el: () => el_default, - en: () => en_default, - eo: () => eo_default, - es: () => es_default, - fa: () => fa_default, - fi: () => fi_default, - fr: () => fr_default, - frCA: () => fr_CA_default, - gu: () => gu_default, - he: () => he_default, - hi: () => hi_default, - hr: () => hr_default, - hu: () => hu_default, - hy: () => hy_default, - id: () => id_default, - is: () => is_default, - it: () => it_default, - ja: () => ja_default, - ka: () => ka_default, - kh: () => kh_default, - km: () => km_default, - kn: () => kn_default, - ko: () => ko_default, - lt: () => lt_default, - mk: () => mk_default, - ms: () => ms_default, - ne: () => ne_default, - nl: () => nl_default, - nn: () => nn_default, - no: () => no_default, - ota: () => ota_default, - pl: () => pl_default, - ps: () => ps_default, - pt: () => pt_default, - ptBR: () => pt_BR_default, - ro: () => ro_default, - ru: () => ru_default, - sk: () => sk_default, - sl: () => sl_default, - sv: () => sv_default, - ta: () => ta_default, - tg: () => tg_default, - th: () => th_default, - tk: () => tk_default, - tr: () => tr_default, - ua: () => ua_default, - uk: () => uk_default, - ur: () => ur_default, - uz: () => uz_default, - vi: () => vi_default, - yo: () => yo_default, - zhCN: () => zh_CN_default, - zhTW: () => zh_TW_default -}); - -// ../../../node_modules/zod/v4/locales/ar.js +// ../../../node_modules/zod/v4/locales/en.js var error = () => { const Sizable = { - string: { unit: "\u062D\u0631\u0641", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" }, - file: { unit: "\u0628\u0627\u064A\u062A", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" }, - array: { unit: "\u0639\u0646\u0635\u0631", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" }, - set: { unit: "\u0639\u0646\u0635\u0631", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" }, - map: { unit: "\u0639\u0646\u0635\u0631", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0645\u062F\u062E\u0644", - email: "\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A", - url: "\u0631\u0627\u0628\u0637", - emoji: "\u0625\u064A\u0645\u0648\u062C\u064A", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO", - date: "\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO", - time: "\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO", - duration: "\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO", - ipv4: "\u0639\u0646\u0648\u0627\u0646 IPv4", - ipv6: "\u0639\u0646\u0648\u0627\u0646 IPv6", - mac: "\u0639\u0646\u0648\u0627\u0646 MAC", - cidrv4: "\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4", - cidrv6: "\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6", - base64: "\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded", - base64url: "\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded", - json_string: "\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON", - e164: "\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164", - credit_card: "\u0631\u0642\u0645 \u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0627\u0626\u062A\u0645\u0627\u0646", - currency_code: "\u0631\u0645\u0632 \u0627\u0644\u0639\u0645\u0644\u0629", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0645\u062F\u062E\u0644" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${issue2.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`; - } - return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${stringifyPrimitive(issue2.values[0])}`; - return `\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return ` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue2.origin ?? "\u0627\u0644\u0642\u064A\u0645\u0629"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0635\u0631"}`; - return `\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue2.origin ?? "\u0627\u0644\u0642\u064A\u0645\u0629"} ${adj} ${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue2.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue2.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${issue2.prefix}"`; - if (_issue.format === "ends_with") - return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${_issue.pattern}`; - return `${FormatDictionary[_issue.format] ?? issue2.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`; - } - case "not_multiple_of": - return `\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${issue2.divisor}`; - case "unrecognized_keys": - return `\u0645\u0639\u0631\u0641${issue2.keys.length > 1 ? "\u0627\u062A" : ""} \u063A\u0631\u064A\u0628${issue2.keys.length > 1 ? "\u0629" : ""}: ${joinValues(issue2.keys, "\u060C ")}`; - case "invalid_key": - return `\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue2.origin}`; - case "invalid_union": - return "\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"; - case "invalid_element": - return `\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue2.origin}`; - default: - return "\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"; - } - }; -}; -function ar_default() { - return { - localeError: error() - }; -} - -// ../../../node_modules/zod/v4/locales/az.js -var error2 = () => { - const Sizable = { - string: { unit: "simvol", verb: "olmal\u0131d\u0131r" }, - file: { unit: "bayt", verb: "olmal\u0131d\u0131r" }, - array: { unit: "element", verb: "olmal\u0131d\u0131r" }, - set: { unit: "element", verb: "olmal\u0131d\u0131r" }, - map: { unit: "element", verb: "olmal\u0131d\u0131r" } + string: { unit: "characters", verb: "to have" }, + file: { unit: "bytes", verb: "to have" }, + array: { unit: "items", verb: "to have" }, + set: { unit: "items", verb: "to have" }, + map: { unit: "entries", verb: "to have" } }; function getSizing(origin) { return Sizable[origin] ?? null; @@ -6621,14267 +4684,2761 @@ var error2 = () => { base64url: "base64url-encoded string", json_string: "JSON string", e164: "E.164 number", - credit_card: "kredit kart\u0131 n\xF6mr\u0259si", - currency_code: "valyuta kodu", + currency_code: "currency code", + credit_card: "credit card number", iban: "IBAN", jwt: "JWT", template_literal: "input" }; const TypeDictionary = { + // Compatibility: "nan" -> "NaN" for display nan: "NaN" + // All other type names omitted - they fall back to raw values via ?? operator }; + function getTypeName(type, input2) { + if (type === "number" && typeof input2 === "number" && !Number.isFinite(input2)) { + return String(input2); + } + return TypeDictionary[type] ?? type; + } return (issue2) => { switch (issue2.code) { case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const expected = getTypeName(issue2.expected); const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${issue2.expected}, daxil olan ${received}`; - } - return `Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${expected}, daxil olan ${received}`; + const received = getTypeName(receivedType, issue2.input); + return `Invalid input: expected ${expected}, received ${received}`; } case "invalid_value": if (issue2.values.length === 1) - return `Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${stringifyPrimitive(issue2.values[0])}`; - return `Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${joinValues(issue2.values, "|")}`; + return `Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`; + return `Invalid option: expected one of ${joinValues(issue2.values, "|")}`; case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; + const adj = issue2.exact ? "exactly " : issue2.inclusive ? "<=" : "<"; const sizing = getSizing(issue2.origin); if (sizing) - return `\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${issue2.origin ?? "d\u0259y\u0259r"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`; - return `\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${issue2.origin ?? "d\u0259y\u0259r"} ${adj}${issue2.maximum.toString()}`; + return `Too big: expected ${issue2.origin ?? "value"} to have ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`; + return `Too big: expected ${issue2.origin ?? "value"} to be ${adj}${issue2.maximum.toString()}`; } case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; + const adj = issue2.exact ? "exactly " : issue2.inclusive ? ">=" : ">"; const sizing = getSizing(issue2.origin); - if (sizing) - return `\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - return `\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${issue2.origin} ${adj}${issue2.minimum.toString()}`; + if (sizing) { + return `Too small: expected ${issue2.origin} to have ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Too small: expected ${issue2.origin} to be ${adj}${issue2.minimum.toString()}`; } case "invalid_format": { const _issue = issue2; - if (_issue.format === "starts_with") - return `Yanl\u0131\u015F m\u0259tn: "${_issue.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`; + if (_issue.format === "starts_with") { + return `Invalid string: must start with "${_issue.prefix}"`; + } if (_issue.format === "ends_with") - return `Yanl\u0131\u015F m\u0259tn: "${_issue.suffix}" il\u0259 bitm\u0259lidir`; + return `Invalid string: must end with "${_issue.suffix}"`; if (_issue.format === "includes") - return `Yanl\u0131\u015F m\u0259tn: "${_issue.includes}" daxil olmal\u0131d\u0131r`; + return `Invalid string: must include "${_issue.includes}"`; if (_issue.format === "regex") - return `Yanl\u0131\u015F m\u0259tn: ${_issue.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`; - return `Yanl\u0131\u015F ${FormatDictionary[_issue.format] ?? issue2.format}`; + return `Invalid string: must match pattern ${_issue.pattern}`; + return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`; } case "not_multiple_of": - return `Yanl\u0131\u015F \u0259d\u0259d: ${issue2.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`; + return `Invalid number: must be a multiple of ${issue2.divisor}`; case "unrecognized_keys": - return `Tan\u0131nmayan a\xE7ar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`; + return `Unrecognized key${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; case "invalid_key": - return `${issue2.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`; + return `Invalid key in ${issue2.origin}`; case "invalid_union": - return "Yanl\u0131\u015F d\u0259y\u0259r"; + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o) => `'${o}'`).join(" | "); + return `Invalid discriminator value. Expected ${opts}`; + } + if (issue2.inclusive === false) { + return "Invalid input: more than one option matched"; + } + return "Invalid input"; case "invalid_element": - return `${issue2.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`; + return `Invalid value in ${issue2.origin}`; default: - return `Yanl\u0131\u015F d\u0259y\u0259r`; + return `Invalid input`; } }; }; -function az_default() { +function en_default() { return { - localeError: error2() + localeError: error() }; } -// ../../../node_modules/zod/v4/locales/be.js -function getBelarusianPlural(count, one, few, many) { - const absCount = Math.abs(count); - const lastDigit = absCount % 10; - const lastTwoDigits = absCount % 100; - if (lastTwoDigits >= 11 && lastTwoDigits <= 19) { - return many; +// ../../../node_modules/zod/v4/core/registries.js +var _a2; +var $ZodRegistry = class { + constructor() { + this._map = /* @__PURE__ */ new WeakMap(); + this._idmap = /* @__PURE__ */ new Map(); } - if (lastDigit === 1) { - return one; + add(schema, ..._meta) { + const meta2 = _meta[0]; + this._map.set(schema, meta2); + if (meta2 && typeof meta2 === "object" && "id" in meta2) { + this._idmap.set(meta2.id, schema); + } + return this; } - if (lastDigit >= 2 && lastDigit <= 4) { - return few; + clear() { + this._map = /* @__PURE__ */ new WeakMap(); + this._idmap = /* @__PURE__ */ new Map(); + return this; } - return many; -} -var error3 = () => { - const Sizable = { - string: { - unit: { - one: "\u0441\u0456\u043C\u0432\u0430\u043B", - few: "\u0441\u0456\u043C\u0432\u0430\u043B\u044B", - many: "\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E" - }, - verb: "\u043C\u0435\u0446\u044C" - }, - array: { - unit: { - one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", - few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B", - many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E" - }, - verb: "\u043C\u0435\u0446\u044C" - }, - set: { - unit: { - one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", - few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B", - many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E" - }, - verb: "\u043C\u0435\u0446\u044C" - }, - map: { - unit: { - one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", - few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B", - many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E" - }, - verb: "\u043C\u0435\u0446\u044C" - }, - file: { - unit: { - one: "\u0431\u0430\u0439\u0442", - few: "\u0431\u0430\u0439\u0442\u044B", - many: "\u0431\u0430\u0439\u0442\u0430\u045E" - }, - verb: "\u043C\u0435\u0446\u044C" + remove(schema) { + const meta2 = this._map.get(schema); + if (meta2 && typeof meta2 === "object" && "id" in meta2) { + this._idmap.delete(meta2.id); } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; + this._map.delete(schema); + return this; } - const FormatDictionary = { - regex: "\u0443\u0432\u043E\u0434", - email: "email \u0430\u0434\u0440\u0430\u0441", - url: "URL", - emoji: "\u044D\u043C\u043E\u0434\u0437\u0456", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441", - date: "ISO \u0434\u0430\u0442\u0430", - time: "ISO \u0447\u0430\u0441", - duration: "ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C", - ipv4: "IPv4 \u0430\u0434\u0440\u0430\u0441", - ipv6: "IPv6 \u0430\u0434\u0440\u0430\u0441", - mac: "MAC \u0430\u0434\u0440\u0430\u0441", - cidrv4: "IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D", - cidrv6: "IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D", - base64: "\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64", - base64url: "\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url", - json_string: "JSON \u0440\u0430\u0434\u043E\u043A", - e164: "\u043D\u0443\u043C\u0430\u0440 E.164", - credit_card: "\u043D\u0443\u043C\u0430\u0440 \u043A\u0440\u044D\u0434\u044B\u0442\u043D\u0430\u0439 \u043A\u0430\u0440\u0442\u044B", - currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0443\u0432\u043E\u0434" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u043B\u0456\u043A", - array: "\u043C\u0430\u0441\u0456\u045E" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${issue2.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`; - } - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${stringifyPrimitive(issue2.values[0])}`; - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - const maxValue = Number(issue2.maximum); - const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many); - return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue2.maximum.toString()} ${unit}`; - } - return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - const minValue = Number(issue2.minimum); - const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many); - return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue2.minimum.toString()} ${unit}`; - } - return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`; - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue2.divisor}`; - case "unrecognized_keys": - return `\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${issue2.keys.length > 1 ? "\u043A\u043B\u044E\u0447\u044B" : "\u043A\u043B\u044E\u0447"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${issue2.origin}`; - case "invalid_union": - return "\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"; - case "invalid_element": - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${issue2.origin}`; - default: - return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434`; + get(schema) { + const p = schema._zod.parent; + if (p) { + const pm = { ...this.get(p) ?? {} }; + delete pm.id; + const f = { ...pm, ...this._map.get(schema) }; + return Object.keys(f).length ? f : void 0; } - }; -}; -function be_default() { - return { - localeError: error3() - }; -} - -// ../../../node_modules/zod/v4/locales/bg.js -var error4 = () => { - const Sizable = { - string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" }, - file: { unit: "\u0431\u0430\u0439\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" }, - array: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" }, - set: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" }, - map: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; + return this._map.get(schema); } - const FormatDictionary = { - regex: "\u0432\u0445\u043E\u0434", - email: "\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441", - url: "URL", - emoji: "\u0435\u043C\u043E\u0434\u0436\u0438", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u0432\u0440\u0435\u043C\u0435", - date: "ISO \u0434\u0430\u0442\u0430", - time: "ISO \u0432\u0440\u0435\u043C\u0435", - duration: "ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442", - ipv4: "IPv4 \u0430\u0434\u0440\u0435\u0441", - ipv6: "IPv6 \u0430\u0434\u0440\u0435\u0441", - mac: "MAC \u0430\u0434\u0440\u0435\u0441", - cidrv4: "IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D", - cidrv6: "IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D", - base64: "base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437", - base64url: "base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437", - json_string: "JSON \u043D\u0438\u0437", - e164: "E.164 \u043D\u043E\u043C\u0435\u0440", - credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0430", - currency_code: "\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0432\u0445\u043E\u0434" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0447\u0438\u0441\u043B\u043E", - array: "\u043C\u0430\u0441\u0438\u0432" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${issue2.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`; - } - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${stringifyPrimitive(issue2.values[0])}`; - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin ?? "\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`; - return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin ?? "\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${_issue.pattern}`; - let invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D"; - if (_issue.format === "emoji") - invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"; - if (_issue.format === "datetime") - invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"; - if (_issue.format === "date") - invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"; - if (_issue.format === "time") - invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"; - if (_issue.format === "duration") - invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"; - return `${invalid_adj} ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${issue2.divisor}`; - case "unrecognized_keys": - return `\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${issue2.keys.length > 1 ? "\u0438" : ""} \u043A\u043B\u044E\u0447${issue2.keys.length > 1 ? "\u043E\u0432\u0435" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${issue2.origin}`; - case "invalid_union": - return "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"; - case "invalid_element": - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${issue2.origin}`; - default: - return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434`; - } - }; -}; -function bg_default() { - return { - localeError: error4() - }; -} - -// ../../../node_modules/zod/v4/locales/bn.js -var error5 = () => { - const Sizable = { - string: { unit: "\u0985\u0995\u09CD\u09B7\u09B0", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" }, - file: { unit: "\u09AC\u09BE\u0987\u099F", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" }, - array: { unit: "\u0986\u0987\u099F\u09C7\u09AE", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" }, - set: { unit: "\u0986\u0987\u099F\u09C7\u09AE", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" }, - map: { unit: "\u098F\u09A8\u09CD\u099F\u09CD\u09B0\u09BF", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; + has(schema) { + return this._map.has(schema); } - const FormatDictionary = { - regex: "\u0987\u09A8\u09AA\u09C1\u099F", - email: "\u0987\u09AE\u09C7\u0987\u09B2 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE", - url: "URL", - emoji: "\u0987\u09AE\u09CB\u099C\u09BF", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u09A4\u09BE\u09B0\u09BF\u0996 \u0993 \u09B8\u09AE\u09AF\u09BC", - date: "ISO \u09A4\u09BE\u09B0\u09BF\u0996", - time: "ISO \u09B8\u09AE\u09AF\u09BC", - duration: "ISO \u09B8\u09AE\u09AF\u09BC\u0995\u09BE\u09B2", - ipv4: "IPv4 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE", - ipv6: "IPv6 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE", - mac: "MAC \u09A0\u09BF\u0995\u09BE\u09A8\u09BE", - cidrv4: "IPv4 \u09B0\u09C7\u099E\u09CD\u099C", - cidrv6: "IPv6 \u09B0\u09C7\u099E\u09CD\u099C", - base64: "base64-\u098F\u09A8\u0995\u09CB\u09A1\u09C7\u09A1 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982", - base64url: "base64url-\u098F\u09A8\u0995\u09CB\u09A1\u09C7\u09A1 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982", - json_string: "JSON \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982", - e164: "E.164 \u09A8\u09AE\u09CD\u09AC\u09B0", - credit_card: "\u0995\u09CD\u09B0\u09C7\u09A1\u09BF\u099F \u0995\u09BE\u09B0\u09CD\u09A1 \u09A8\u09AE\u09CD\u09AC\u09B0", - currency_code: "\u09AE\u09C1\u09A6\u09CD\u09B0\u09BE \u0995\u09CB\u09A1", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0987\u09A8\u09AA\u09C1\u099F" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - return `\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F: \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${expected}, \u09AA\u09CD\u09B0\u09BE\u09AA\u09CD\u09A4 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F: \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${stringifyPrimitive(issue2.values[0])}`; - return `\u0985\u09AC\u09C8\u09A7 \u0985\u09AA\u09B6\u09A8: ${joinValues(issue2.values, " | ")} \u098F\u09B0 \u09AE\u09A7\u09CD\u09AF\u09C7 \u098F\u0995\u099F\u09BF \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0985\u09A8\u09C7\u0995 \u09AC\u09A1\u09BC: ${issue2.origin ?? "\u09AE\u09BE\u09A8"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u098F\u09B2\u09BF\u09AE\u09C7\u09A8\u09CD\u099F"} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; - return `\u0985\u09A8\u09C7\u0995 \u09AC\u09A1\u09BC: ${issue2.origin ?? "\u09AE\u09BE\u09A8"} ${adj}${issue2.maximum.toString()} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0985\u09A8\u09C7\u0995 \u099B\u09CB\u099F: ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; - } - return `\u0985\u09A8\u09C7\u0995 \u099B\u09CB\u099F: ${issue2.origin} ${adj}${issue2.minimum.toString()} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: "${_issue.prefix}" \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B6\u09C1\u09B0\u09C1 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; - } - if (_issue.format === "ends_with") - return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: "${_issue.suffix}" \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B6\u09C7\u09B7 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; - if (_issue.format === "includes") - return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: "${_issue.includes}" \u0985\u09A8\u09CD\u09A4\u09B0\u09CD\u09AD\u09C1\u0995\u09CD\u09A4 \u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7`; - if (_issue.format === "regex") - return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: ${_issue.pattern} \u09AA\u09CD\u09AF\u09BE\u099F\u09BE\u09B0\u09CD\u09A8 \u09AE\u09BF\u09B2\u09A4\u09C7 \u09B9\u09AC\u09C7`; - return `\u0985\u09AC\u09C8\u09A7 ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u0985\u09AC\u09C8\u09A7 \u09A8\u09AE\u09CD\u09AC\u09B0: ${issue2.divisor} \u098F\u09B0 \u0997\u09C1\u09A3\u09BF\u09A4\u0995 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; - case "unrecognized_keys": - return `\u0985\u099A\u09C7\u09A8\u09BE \u0995\u09C0${issue2.keys.length > 1 ? "\u0997\u09C1\u09B2\u09CB" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `${issue2.origin} \u098F \u0985\u09AC\u09C8\u09A7 \u0995\u09C0`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `\u0985\u09AC\u09C8\u09A7 \u09A1\u09BF\u09B8\u0995\u09CD\u09B0\u09BF\u09AE\u09BF\u09A8\u09C7\u099F\u09B0 \u09AE\u09BE\u09A8\u0964 \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${opts}`; - } - return "\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F"; - case "invalid_element": - return `${issue2.origin} \u098F \u0985\u09AC\u09C8\u09A7 \u09AE\u09BE\u09A8`; - default: - return "\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F"; - } - }; }; -function bn_default() { - return { - localeError: error5() - }; +function registry() { + return new $ZodRegistry(); } +(_a2 = globalThis).__zod_globalRegistry ?? (_a2.__zod_globalRegistry = registry()); +var globalRegistry = globalThis.__zod_globalRegistry; -// ../../../node_modules/zod/v4/locales/ca.js -var error6 = () => { - const Sizable = { - string: { unit: "car\xE0cters", verb: "contenir" }, - file: { unit: "bytes", verb: "contenir" }, - array: { unit: "elements", verb: "contenir" }, - set: { unit: "elements", verb: "contenir" }, - map: { unit: "elements", verb: "contenir" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "entrada", - email: "adre\xE7a electr\xF2nica", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "data i hora ISO", - date: "data ISO", - time: "hora ISO", - duration: "durada ISO", - ipv4: "adre\xE7a IPv4", - ipv6: "adre\xE7a IPv6", - mac: "adre\xE7a MAC", - cidrv4: "rang IPv4", - cidrv6: "rang IPv6", - base64: "cadena codificada en base64", - base64url: "cadena codificada en base64url", - json_string: "cadena JSON", - e164: "n\xFAmero E.164", - credit_card: "n\xFAmero de targeta de cr\xE8dit", - currency_code: "codi de moneda", - iban: "IBAN", - jwt: "JWT", - template_literal: "entrada" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Tipus inv\xE0lid: s'esperava instanceof ${issue2.expected}, s'ha rebut ${received}`; - } - return `Tipus inv\xE0lid: s'esperava ${expected}, s'ha rebut ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Valor inv\xE0lid: s'esperava ${stringifyPrimitive(issue2.values[0])}`; - return `Opci\xF3 inv\xE0lida: s'esperava una de ${joinValues(issue2.values, " o ")}`; - case "too_big": { - const adj = issue2.inclusive ? "com a m\xE0xim" : "menys de"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Massa gran: s'esperava que ${issue2.origin ?? "el valor"} contingu\xE9s ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`; - return `Massa gran: s'esperava que ${issue2.origin ?? "el valor"} fos ${adj} ${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? "com a m\xEDnim" : "m\xE9s de"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Massa petit: s'esperava que ${issue2.origin} contingu\xE9s ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Massa petit: s'esperava que ${issue2.origin} fos ${adj} ${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `Format inv\xE0lid: ha de comen\xE7ar amb "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `Format inv\xE0lid: ha d'acabar amb "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Format inv\xE0lid: ha d'incloure "${_issue.includes}"`; - if (_issue.format === "regex") - return `Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${_issue.pattern}`; - return `Format inv\xE0lid per a ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${issue2.divisor}`; - case "unrecognized_keys": - return `Clau${issue2.keys.length > 1 ? "s" : ""} no reconeguda${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Clau inv\xE0lida a ${issue2.origin}`; - case "invalid_union": - return "Entrada inv\xE0lida"; - // Could also be "Tipus d'unió invàlid" but "Entrada invàlida" is more general - case "invalid_element": - return `Element inv\xE0lid a ${issue2.origin}`; - default: - return `Entrada inv\xE0lida`; - } - }; -}; -function ca_default() { - return { - localeError: error6() - }; +// ../../../node_modules/zod/v4/core/api.js +function snapshotChecks(def) { + if (def.checks) + def.checks = [...def.checks]; + return def; } - -// ../../../node_modules/zod/v4/locales/ckb.js -var error7 = () => { - const Sizable = { - string: { unit: "\u067E\u06CC\u062A", verb: "\u0628\u06CE\u062A" }, - file: { unit: "\u0628\u0627\u06CC\u062A", verb: "\u0628\u06CE\u062A" }, - array: { unit: "\u062F\u0627\u0646\u06D5", verb: "\u0628\u06CE\u062A" }, - set: { unit: "\u062F\u0627\u0646\u06D5", verb: "\u0628\u06CE\u062A" }, - map: { unit: "\u062F\u0627\u0646\u06D5", verb: "\u0628\u06CE\u062A" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "regex", - email: "\u0626\u06CC\u0645\u06D5\u06CC\u06B5", - url: "\u0628\u06D5\u0633\u062A\u06D5\u0631 (URL)", - emoji: "\u0626\u06CC\u0645\u06C6\u062C\u06CC", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\u0695\u06CE\u06A9\u06D5\u0648\u062A \u0648 \u06A9\u0627\u062A", - date: "\u0695\u06CE\u06A9\u06D5\u0648\u062A", - time: "\u06A9\u0627\u062A", - duration: "\u0645\u0627\u0648\u06D5", - ipv4: "\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC IPv4", - ipv6: "\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC IPv6", - mac: "\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC MAC", - cidrv4: "\u0645\u06D5\u0648\u062F\u0627\u06CC IPv4", - cidrv6: "\u0645\u06D5\u0648\u062F\u0627\u06CC IPv6", - base64: "\u062F\u06D5\u0642\u06CC base64", - base64url: "\u062F\u06D5\u0642\u06CC base64url", - json_string: "\u062F\u06D5\u0642\u06CC JSON", - e164: "\u0698\u0645\u0627\u0631\u06D5\u06CC E.164", - credit_card: "\u0698\u0645\u0627\u0631\u06D5\u06CC \u06A9\u0627\u0631\u062A\u06CC \u06A9\u0631\u06CE\u062F\u06CC\u062A", - currency_code: "\u06A9\u06C6\u062F\u06CC \u062F\u0631\u0627\u0648", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u062A\u06CE\u06A9\u0631\u062F\u06D5" - }; - const TypeDictionary = { - nan: "NaN", - string: "\u0646\u0648\u0648\u0633\u06CC\u0646", - number: "\u0698\u0645\u0627\u0631\u06D5", - boolean: "boolean", - array: "array", - object: "object", - date: "\u0695\u06CE\u06A9\u06D5\u0648\u062A", - integer: "\u0698\u0645\u0627\u0631\u06D5", - float: "\u0698\u0645\u0627\u0631\u06D5", - null: "null", - undefined: "undefined", - function: "function", - symbol: "symbol", - unknown: "unknown", - promise: "promise", - void: "void", - never: "never", - map: "map", - set: "set" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - const postfix = ["\u0627", "\u0648", "\u06C6", "\u0648\u0648", "\u06D5", "\u06CC", "\u06CE"].some((p) => received.endsWith(p)) ? "\u06CC\u06D5" : "\u06D5"; - const isEnglish = /^[a-zA-Z]+$/.test(received); - if (receivedType === "null" || receivedType === "undefined") - return `\u062F\u0627\u0648\u0627\u06A9\u0631\u0627\u0648\u06D5`; - return `\u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 ${expected} \u0628\u06CE\u062A\u060C \u0628\u06D5\u06B5\u0627\u0645 ${received}${isEnglish ? "" : postfix}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0628\u06D5\u0647\u0627\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0648\u0633\u062A\u06D5: \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 ${stringifyPrimitive(issue2.values[0])} \u0628\u06CE\u062A`; - return `\u0647\u06D5\u06B5\u0628\u0698\u0627\u0631\u062F\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 \u06CC\u06D5\u06A9\u06CE\u06A9 \u0628\u06CE\u062A \u0644\u06D5 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u0632\u06C6\u0631\u06D5\u0648\u06D5 ${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`; - return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u0632\u06C6\u0631\u06D5\u0648\u06D5 ${issue2.maximum.toString()} \u0628\u06CE\u062A`; - } - case "too_small": { - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u06A9\u06D5\u0645\u06D5\u0648\u06D5 ${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; - return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u06A9\u06D5\u0645\u06D5\u0648\u06D5 ${issue2.minimum.toString()} \u0628\u06CE\u062A`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u062F\u06D5\u0633\u062A\u067E\u06CE\u0628\u06A9\u0627\u062A \u0628\u06D5 "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u06A9\u06C6\u062A\u0627\u06CC\u06CC\u0628\u06CE\u062A \u0628\u06D5 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 "${_issue.includes}" \u0644\u06D5\u062E\u06C6\u0628\u06AF\u0631\u06CE\u062A`; - if (_issue.format === "regex") - return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0644\u06D5\u06AF\u06D5\u06B5 \u067E\u0627\u062A\u06CE\u0631\u0646\u06CC ${_issue.pattern} \u0628\u06AF\u0648\u0646\u062C\u06CE\u062A`; - return `\u0628\u06D5\u0647\u0627\u06CC ${FormatDictionary[_issue.format] ?? issue2.format} \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5`; - } - case "not_multiple_of": - return `\u0698\u0645\u0627\u0631\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u062F\u06D5\u0628\u06CE\u062A \u0686\u06D5\u0646\u062F \u0647\u06CE\u0646\u062F\u06D5 \u0628\u06CE\u062A \u0628\u06C6 ${issue2.divisor}`; - case "unrecognized_keys": - return `\u06A9\u0644\u06CC\u0644\u06CC \u0646\u06D5\u0646\u0627\u0633\u0631\u0627\u0648: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u06A9\u0644\u06CC\u0644\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A \u0644\u06D5 ${issue2.origin}`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `\u0628\u06D5\u0647\u0627\u06CC \u0646\u06D5\u0646\u0627\u0633\u0631\u0627\u0648 \u0647\u06D5\u06CC\u06D5. \u0628\u06D5\u0647\u0627\u06CC \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648: ${opts}`; - } - return "\u06CC\u06D5\u06A9\u06AF\u0631\u062A\u0646\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A"; - case "invalid_element": - return `${issue2.origin} \u0628\u06D5\u0647\u0627\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5`; - default: - return `\u062A\u06CE\u06A9\u0631\u062F\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A`; - } - }; -}; -function ckb_default() { - return { - localeError: error7() - }; +// @__NO_SIDE_EFFECTS__ +function _string(Class2, params) { + return new Class2(snapshotChecks({ type: "string", ...normalizeParams(params) })); } - -// ../../../node_modules/zod/v4/locales/cs.js -var error8 = () => { - const Sizable = { - string: { unit: "znak\u016F", verb: "m\xEDt" }, - file: { unit: "bajt\u016F", verb: "m\xEDt" }, - array: { unit: "prvk\u016F", verb: "m\xEDt" }, - set: { unit: "prvk\u016F", verb: "m\xEDt" }, - map: { unit: "prvk\u016F", verb: "m\xEDt" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "regul\xE1rn\xED v\xFDraz", - email: "e-mailov\xE1 adresa", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "datum a \u010Das ve form\xE1tu ISO", - date: "datum ve form\xE1tu ISO", - time: "\u010Das ve form\xE1tu ISO", - duration: "doba trv\xE1n\xED ISO", - ipv4: "IPv4 adresa", - ipv6: "IPv6 adresa", - mac: "MAC adresa", - cidrv4: "rozsah IPv4", - cidrv6: "rozsah IPv6", - base64: "\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64", - base64url: "\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url", - json_string: "\u0159et\u011Bzec ve form\xE1tu JSON", - e164: "\u010D\xEDslo E.164", - credit_card: "\u010D\xEDslo kreditn\xED karty", - currency_code: "k\xF3d m\u011Bny", - iban: "IBAN", - jwt: "JWT", - template_literal: "vstup" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u010D\xEDslo", - string: "\u0159et\u011Bzec", - function: "funkce", - array: "pole" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${issue2.expected}, obdr\u017Eeno ${received}`; - } - return `Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${expected}, obdr\u017Eeno ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${stringifyPrimitive(issue2.values[0])}`; - return `Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${issue2.origin ?? "hodnota"} mus\xED m\xEDt ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "prvk\u016F"}`; - } - return `Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${issue2.origin ?? "hodnota"} mus\xED b\xFDt ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED m\xEDt ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "prvk\u016F"}`; - } - return `Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED b\xFDt ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${_issue.includes}"`; - if (_issue.format === "regex") - return `Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${_issue.pattern}`; - return `Neplatn\xFD form\xE1t ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${issue2.divisor}`; - case "unrecognized_keys": - return `Nezn\xE1m\xE9 kl\xED\u010De: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Neplatn\xFD kl\xED\u010D v ${issue2.origin}`; - case "invalid_union": - return "Neplatn\xFD vstup"; - case "invalid_element": - return `Neplatn\xE1 hodnota v ${issue2.origin}`; - default: - return `Neplatn\xFD vstup`; - } - }; -}; -function cs_default() { - return { - localeError: error8() - }; +// @__NO_SIDE_EFFECTS__ +function _email(Class2, params) { + return new Class2({ + type: "string", + format: "email", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/da.js -var error9 = () => { - const Sizable = { - string: { unit: "tegn", verb: "havde" }, - file: { unit: "bytes", verb: "havde" }, - array: { unit: "elementer", verb: "indeholdt" }, - set: { unit: "elementer", verb: "indeholdt" }, - map: { unit: "elementer", verb: "indeholdt" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "input", - email: "e-mailadresse", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO dato- og klokkesl\xE6t", - date: "ISO-dato", - time: "ISO-klokkesl\xE6t", - duration: "ISO-varighed", - ipv4: "IPv4-adresse", - ipv6: "IPv6-adresse", - mac: "MAC-adresse", - cidrv4: "IPv4-spektrum", - cidrv6: "IPv6-spektrum", - base64: "base64-kodet streng", - base64url: "base64url-kodet streng", - json_string: "JSON-streng", - e164: "E.164-nummer", - credit_card: "kreditkortnummer", - currency_code: "valutakode", - iban: "IBAN", - jwt: "JWT", - template_literal: "input" - }; - const TypeDictionary = { - nan: "NaN", - string: "streng", - number: "tal", - boolean: "boolean", - array: "liste", - object: "objekt", - set: "s\xE6t", - file: "fil" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Ugyldigt input: forventede instanceof ${issue2.expected}, fik ${received}`; - } - return `Ugyldigt input: forventede ${expected}, fik ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Ugyldig v\xE6rdi: forventede ${stringifyPrimitive(issue2.values[0])}`; - return `Ugyldigt valg: forventede en af f\xF8lgende ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - const origin = TypeDictionary[issue2.origin] ?? issue2.origin; - if (sizing) - return `For stor: forventede ${origin ?? "value"} ${sizing.verb} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementer"}`; - return `For stor: forventede ${origin ?? "value"} havde ${adj} ${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - const origin = TypeDictionary[issue2.origin] ?? issue2.origin; - if (sizing) { - return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; - } - return `For lille: forventede ${origin} havde ${adj} ${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Ugyldig streng: skal starte med "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Ugyldig streng: skal ende med "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Ugyldig streng: skal indeholde "${_issue.includes}"`; - if (_issue.format === "regex") - return `Ugyldig streng: skal matche m\xF8nsteret ${_issue.pattern}`; - return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Ugyldigt tal: skal v\xE6re deleligt med ${issue2.divisor}`; - case "unrecognized_keys": - return `${issue2.keys.length > 1 ? "Ukendte n\xF8gler" : "Ukendt n\xF8gle"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Ugyldig n\xF8gle i ${issue2.origin}`; - case "invalid_union": - return "Ugyldigt input: matcher ingen af de tilladte typer"; - case "invalid_element": - return `Ugyldig v\xE6rdi i ${issue2.origin}`; - default: - return `Ugyldigt input`; - } - }; -}; -function da_default() { - return { - localeError: error9() - }; +// @__NO_SIDE_EFFECTS__ +function _guid(Class2, params) { + return new Class2({ + type: "string", + format: "guid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/de.js -var error10 = () => { - const Sizable = { - string: { unit: "Zeichen", verb: "zu haben" }, - file: { unit: "Bytes", verb: "zu haben" }, - array: { unit: "Elemente", verb: "zu haben" }, - set: { unit: "Elemente", verb: "zu haben" }, - map: { unit: "Elemente", verb: "zu haben" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "Eingabe", - email: "E-Mail-Adresse", - url: "URL", - emoji: "Emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO-Datum und -Uhrzeit", - date: "ISO-Datum", - time: "ISO-Uhrzeit", - duration: "ISO-Dauer", - ipv4: "IPv4-Adresse", - ipv6: "IPv6-Adresse", - mac: "MAC-Adresse", - cidrv4: "IPv4-Bereich", - cidrv6: "IPv6-Bereich", - base64: "Base64-codierter String", - base64url: "Base64-URL-codierter String", - json_string: "JSON-String", - e164: "E.164-Nummer", - credit_card: "Kreditkartennummer", - currency_code: "W\xE4hrungscode", - iban: "IBAN", - jwt: "JWT", - template_literal: "Eingabe" - }; - const TypeDictionary = { - nan: "NaN", - number: "Zahl", - array: "Array" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Ung\xFCltige Eingabe: erwartet instanceof ${issue2.expected}, erhalten ${received}`; - } - return `Ung\xFCltige Eingabe: erwartet ${expected}, erhalten ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Ung\xFCltige Eingabe: erwartet ${stringifyPrimitive(issue2.values[0])}`; - return `Ung\xFCltige Option: erwartet eine von ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Zu gro\xDF: erwartet, dass ${issue2.origin ?? "Wert"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "Elemente"} hat`; - return `Zu gro\xDF: erwartet, dass ${issue2.origin ?? "Wert"} ${adj}${issue2.maximum.toString()} ist`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} hat`; - } - return `Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ist`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Ung\xFCltiger String: muss mit "${_issue.prefix}" beginnen`; - if (_issue.format === "ends_with") - return `Ung\xFCltiger String: muss mit "${_issue.suffix}" enden`; - if (_issue.format === "includes") - return `Ung\xFCltiger String: muss "${_issue.includes}" enthalten`; - if (_issue.format === "regex") - return `Ung\xFCltiger String: muss dem Muster ${_issue.pattern} entsprechen`; - return `Ung\xFCltig: ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Ung\xFCltige Zahl: muss ein Vielfaches von ${issue2.divisor} sein`; - case "unrecognized_keys": - return `${issue2.keys.length > 1 ? "Unbekannte Schl\xFCssel" : "Unbekannter Schl\xFCssel"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Ung\xFCltiger Schl\xFCssel in ${issue2.origin}`; - case "invalid_union": - return "Ung\xFCltige Eingabe"; - case "invalid_element": - return `Ung\xFCltiger Wert in ${issue2.origin}`; - default: - return `Ung\xFCltige Eingabe`; - } - }; -}; -function de_default() { - return { - localeError: error10() - }; +// @__NO_SIDE_EFFECTS__ +function _uuid(Class2, params) { + return new Class2({ + type: "string", + format: "uuid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/el.js -var error11 = () => { - const Sizable = { - string: { unit: "\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }, - file: { unit: "bytes", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }, - array: { unit: "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }, - set: { unit: "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }, - map: { unit: "\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2", - email: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1", - date: "ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1", - time: "ISO \u03CE\u03C1\u03B1", - duration: "ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1", - ipv4: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4", - ipv6: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6", - mac: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC", - cidrv4: "\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4", - cidrv6: "\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6", - base64: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64", - base64url: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64url", - json_string: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON", - e164: "\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164", - credit_card: "\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03C0\u03B9\u03C3\u03C4\u03C9\u03C4\u03B9\u03BA\u03AE\u03C2 \u03BA\u03AC\u03C1\u03C4\u03B1\u03C2", - currency_code: "\u03BA\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 \u03BD\u03BF\u03BC\u03AF\u03C3\u03BC\u03B1\u03C4\u03BF\u03C2", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (typeof issue2.expected === "string" && /^[A-Z]/.test(issue2.expected)) { - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD instanceof ${issue2.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`; - } - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${stringifyPrimitive(issue2.values[0])}`; - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD \u03AD\u03BD\u03B1 \u03B1\u03C0\u03CC ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin ?? "\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`; - return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin ?? "\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AC \u03BC\u03B5 "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B5\u03BB\u03B5\u03B9\u03CE\u03BD\u03B5\u03B9 \u03BC\u03B5 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03B5\u03B9 "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B1\u03B9\u03C1\u03B9\u03AC\u03B6\u03B5\u03B9 \u03BC\u03B5 \u03C4\u03BF \u03BC\u03BF\u03C4\u03AF\u03B2\u03BF ${_issue.pattern}`; - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03BB\u03B1\u03C0\u03BB\u03AC\u03C3\u03B9\u03BF \u03C4\u03BF\u03C5 ${issue2.divisor}`; - case "unrecognized_keys": - return `\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${issue2.keys.length > 1 ? "\u03B1" : "\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${issue2.keys.length > 1 ? "\u03B9\u03AC" : "\u03AF"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${issue2.origin}`; - case "invalid_union": - return "\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"; - case "invalid_element": - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${issue2.origin}`; - default: - return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2`; - } - }; -}; -function el_default() { - return { - localeError: error11() - }; +// @__NO_SIDE_EFFECTS__ +function _uuidv4(Class2, params) { + return new Class2({ + type: "string", + format: "uuid", + check: "string_format", + abort: false, + version: "v4", + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/en.js -var error12 = () => { - const Sizable = { - string: { unit: "characters", verb: "to have" }, - file: { unit: "bytes", verb: "to have" }, - array: { unit: "items", verb: "to have" }, - set: { unit: "items", verb: "to have" }, - map: { unit: "entries", verb: "to have" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "input", - email: "email address", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO datetime", - date: "ISO date", - time: "ISO time", - duration: "ISO duration", - ipv4: "IPv4 address", - ipv6: "IPv6 address", - mac: "MAC address", - cidrv4: "IPv4 range", - cidrv6: "IPv6 range", - base64: "base64-encoded string", - base64url: "base64url-encoded string", - json_string: "JSON string", - e164: "E.164 number", - currency_code: "currency code", - credit_card: "credit card number", - iban: "IBAN", - jwt: "JWT", - template_literal: "input" - }; - const TypeDictionary = { - // Compatibility: "nan" -> "NaN" for display - nan: "NaN" - // All other type names omitted - they fall back to raw values via ?? operator - }; - function getTypeName(type, input3) { - if (type === "number" && typeof input3 === "number" && !Number.isFinite(input3)) { - return String(input3); - } - return TypeDictionary[type] ?? type; - } - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = getTypeName(issue2.expected); - const receivedType = parsedType(issue2.input); - const received = getTypeName(receivedType, issue2.input); - return `Invalid input: expected ${expected}, received ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`; - return `Invalid option: expected one of ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.exact ? "exactly " : issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Too big: expected ${issue2.origin ?? "value"} to have ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`; - return `Too big: expected ${issue2.origin ?? "value"} to be ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.exact ? "exactly " : issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Too small: expected ${issue2.origin} to have ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Too small: expected ${issue2.origin} to be ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `Invalid string: must start with "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `Invalid string: must end with "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Invalid string: must include "${_issue.includes}"`; - if (_issue.format === "regex") - return `Invalid string: must match pattern ${_issue.pattern}`; - return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Invalid number: must be a multiple of ${issue2.divisor}`; - case "unrecognized_keys": - return `Unrecognized key${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Invalid key in ${issue2.origin}`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `Invalid discriminator value. Expected ${opts}`; - } - if (issue2.inclusive === false) { - return "Invalid input: more than one option matched"; - } - return "Invalid input"; - case "invalid_element": - return `Invalid value in ${issue2.origin}`; - default: - return `Invalid input`; - } - }; -}; -function en_default() { - return { - localeError: error12() - }; +// @__NO_SIDE_EFFECTS__ +function _uuidv6(Class2, params) { + return new Class2({ + type: "string", + format: "uuid", + check: "string_format", + abort: false, + version: "v6", + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/eo.js -var error13 = () => { - const Sizable = { - string: { unit: "karaktrojn", verb: "havi" }, - file: { unit: "bajtojn", verb: "havi" }, - array: { unit: "elementojn", verb: "havi" }, - set: { unit: "elementojn", verb: "havi" }, - map: { unit: "elementojn", verb: "havi" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "enigo", - email: "retadreso", - url: "URL", - emoji: "emo\u011Dio", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO-datotempo", - date: "ISO-dato", - time: "ISO-tempo", - duration: "ISO-da\u016Dro", - ipv4: "IPv4-adreso", - ipv6: "IPv6-adreso", - mac: "MAC-adreso", - cidrv4: "IPv4-rango", - cidrv6: "IPv6-rango", - base64: "64-ume kodita karaktraro", - base64url: "URL-64-ume kodita karaktraro", - json_string: "JSON-karaktraro", - e164: "E.164-nombro", - credit_card: "kreditkarta numero", - currency_code: "valuta kodo", - iban: "IBAN", - jwt: "JWT", - template_literal: "enigo" - }; - const TypeDictionary = { - nan: "NaN", - number: "nombro", - array: "tabelo", - null: "senvalora" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Nevalida enigo: atendi\u011Dis instanceof ${issue2.expected}, ricevi\u011Dis ${received}`; - } - return `Nevalida enigo: atendi\u011Dis ${expected}, ricevi\u011Dis ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Nevalida enigo: atendi\u011Dis ${stringifyPrimitive(issue2.values[0])}`; - return `Nevalida opcio: atendi\u011Dis unu el ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Tro granda: atendi\u011Dis ke ${issue2.origin ?? "valoro"} havu ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementojn"}`; - return `Tro granda: atendi\u011Dis ke ${issue2.origin ?? "valoro"} havu ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Tro malgranda: atendi\u011Dis ke ${issue2.origin} havu ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Tro malgranda: atendi\u011Dis ke ${issue2.origin} estu ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Nevalida karaktraro: devas komenci\u011Di per "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Nevalida karaktraro: devas fini\u011Di per "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Nevalida karaktraro: devas inkluzivi "${_issue.includes}"`; - if (_issue.format === "regex") - return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`; - return `Nevalida ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Nevalida nombro: devas esti oblo de ${issue2.divisor}`; - case "unrecognized_keys": - return `Nekonata${issue2.keys.length > 1 ? "j" : ""} \u015Dlosilo${issue2.keys.length > 1 ? "j" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Nevalida \u015Dlosilo en ${issue2.origin}`; - case "invalid_union": - return "Nevalida enigo"; - case "invalid_element": - return `Nevalida valoro en ${issue2.origin}`; - default: - return `Nevalida enigo`; - } - }; -}; -function eo_default() { - return { - localeError: error13() - }; +// @__NO_SIDE_EFFECTS__ +function _uuidv7(Class2, params) { + return new Class2({ + type: "string", + format: "uuid", + check: "string_format", + abort: false, + version: "v7", + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/es.js -var error14 = () => { - const Sizable = { - string: { unit: "caracteres", verb: "tener" }, - file: { unit: "bytes", verb: "tener" }, - array: { unit: "elementos", verb: "tener" }, - set: { unit: "elementos", verb: "tener" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "entrada", - email: "direcci\xF3n de correo electr\xF3nico", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "fecha y hora ISO", - date: "fecha ISO", - time: "hora ISO", - duration: "duraci\xF3n ISO", - ipv4: "direcci\xF3n IPv4", - ipv6: "direcci\xF3n IPv6", - mac: "direcci\xF3n MAC", - cidrv4: "rango IPv4", - cidrv6: "rango IPv6", - base64: "cadena codificada en base64", - base64url: "URL codificada en base64", - json_string: "cadena JSON", - e164: "n\xFAmero E.164", - credit_card: "n\xFAmero de tarjeta de cr\xE9dito", - currency_code: "c\xF3digo de moneda", - iban: "IBAN", - jwt: "JWT", - template_literal: "entrada" - }; - const TypeDictionary = { - nan: "NaN", - string: "texto", - number: "n\xFAmero", - boolean: "booleano", - array: "arreglo", - object: "objeto", - set: "conjunto", - file: "archivo", - date: "fecha", - bigint: "n\xFAmero grande", - symbol: "s\xEDmbolo", - undefined: "indefinido", - null: "nulo", - function: "funci\xF3n", - map: "mapa", - record: "registro", - tuple: "tupla", - enum: "enumeraci\xF3n", - union: "uni\xF3n", - literal: "literal", - promise: "promesa", - void: "vac\xEDo", - never: "nunca", - unknown: "desconocido", - any: "cualquiera" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Entrada inv\xE1lida: se esperaba instanceof ${issue2.expected}, recibido ${received}`; - } - return `Entrada inv\xE1lida: se esperaba ${expected}, recibido ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Entrada inv\xE1lida: se esperaba ${stringifyPrimitive(issue2.values[0])}`; - return `Opci\xF3n inv\xE1lida: se esperaba una de ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - const origin = TypeDictionary[issue2.origin] ?? issue2.origin; - if (sizing) - return `Demasiado grande: se esperaba que ${origin ?? "valor"} tuviera ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`; - return `Demasiado grande: se esperaba que ${origin ?? "valor"} fuera ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - const origin = TypeDictionary[issue2.origin] ?? issue2.origin; - if (sizing) { - return `Demasiado peque\xF1o: se esperaba que ${origin} tuviera ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Demasiado peque\xF1o: se esperaba que ${origin} fuera ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Cadena inv\xE1lida: debe comenzar con "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Cadena inv\xE1lida: debe terminar en "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Cadena inv\xE1lida: debe incluir "${_issue.includes}"`; - if (_issue.format === "regex") - return `Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${_issue.pattern}`; - return `Inv\xE1lido ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${issue2.divisor}`; - case "unrecognized_keys": - return `Llave${issue2.keys.length > 1 ? "s" : ""} desconocida${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Llave inv\xE1lida en ${TypeDictionary[issue2.origin] ?? issue2.origin}`; - case "invalid_union": - return "Entrada inv\xE1lida"; - case "invalid_element": - return `Valor inv\xE1lido en ${TypeDictionary[issue2.origin] ?? issue2.origin}`; - default: - return `Entrada inv\xE1lida`; - } - }; -}; -function es_default() { - return { - localeError: error14() - }; +// @__NO_SIDE_EFFECTS__ +function _url(Class2, params) { + return new Class2({ + type: "string", + format: "url", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/fa.js -var error15 = () => { - const Sizable = { - string: { unit: "\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" }, - file: { unit: "\u0628\u0627\u06CC\u062A", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" }, - array: { unit: "\u0622\u06CC\u062A\u0645", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" }, - set: { unit: "\u0622\u06CC\u062A\u0645", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" }, - map: { unit: "\u0622\u06CC\u062A\u0645", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0648\u0631\u0648\u062F\u06CC", - email: "\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644", - url: "URL", - emoji: "\u0627\u06CC\u0645\u0648\u062C\u06CC", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648", - date: "\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648", - time: "\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648", - duration: "\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648", - ipv4: "IPv4 \u0622\u062F\u0631\u0633", - ipv6: "IPv6 \u0622\u062F\u0631\u0633", - mac: "MAC \u0622\u062F\u0631\u0633", - cidrv4: "IPv4 \u062F\u0627\u0645\u0646\u0647", - cidrv6: "IPv6 \u062F\u0627\u0645\u0646\u0647", - base64: "base64-encoded \u0631\u0634\u062A\u0647", - base64url: "base64url-encoded \u0631\u0634\u062A\u0647", - json_string: "JSON \u0631\u0634\u062A\u0647", - e164: "E.164 \u0639\u062F\u062F", - credit_card: "\u0634\u0645\u0627\u0631\u0647 \u06A9\u0627\u0631\u062A \u0627\u0639\u062A\u0628\u0627\u0631\u06CC", - currency_code: "\u06A9\u062F \u0627\u0631\u0632", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0648\u0631\u0648\u062F\u06CC" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0639\u062F\u062F", - array: "\u0622\u0631\u0627\u06CC\u0647" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${issue2.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`; - } - return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`; - } - case "invalid_value": - if (issue2.values.length === 1) { - return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${stringifyPrimitive(issue2.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`; - } - return `\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${joinValues(issue2.values, "|")} \u0645\u06CC\u200C\u0628\u0648\u062F`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue2.origin ?? "\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`; - } - return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue2.origin ?? "\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} \u0628\u0627\u0634\u062F`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0628\u0627\u0634\u062F`; - } - return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} \u0628\u0627\u0634\u062F`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${_issue.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`; - } - if (_issue.format === "ends_with") { - return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${_issue.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`; - } - if (_issue.format === "includes") { - return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${_issue.includes}" \u0628\u0627\u0634\u062F`; - } - if (_issue.format === "regex") { - return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${_issue.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`; - } - return `${FormatDictionary[_issue.format] ?? issue2.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`; - } - case "not_multiple_of": - return `\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${issue2.divisor} \u0628\u0627\u0634\u062F`; - case "unrecognized_keys": - return `\u06A9\u0644\u06CC\u062F${issue2.keys.length > 1 ? "\u0647\u0627\u06CC" : ""} \u0646\u0627\u0634\u0646\u0627\u0633: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${issue2.origin}`; - case "invalid_union": - return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`; - case "invalid_element": - return `\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${issue2.origin}`; - default: - return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`; - } - }; -}; -function fa_default() { - return { - localeError: error15() - }; +// @__NO_SIDE_EFFECTS__ +function _emoji2(Class2, params) { + return new Class2({ + type: "string", + format: "emoji", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/fi.js -var error16 = () => { - const Sizable = { - string: { unit: "merkki\xE4", subject: "merkkijonon" }, - file: { unit: "tavua", subject: "tiedoston" }, - array: { unit: "alkiota", subject: "listan" }, - set: { unit: "alkiota", subject: "joukon" }, - map: { unit: "alkiota", subject: "kuvauksen" }, - number: { unit: "", subject: "luvun" }, - bigint: { unit: "", subject: "suuren kokonaisluvun" }, - int: { unit: "", subject: "kokonaisluvun" }, - date: { unit: "", subject: "p\xE4iv\xE4m\xE4\xE4r\xE4n" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "s\xE4\xE4nn\xF6llinen lauseke", - email: "s\xE4hk\xF6postiosoite", - url: "URL-osoite", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO-aikaleima", - date: "ISO-p\xE4iv\xE4m\xE4\xE4r\xE4", - time: "ISO-aika", - duration: "ISO-kesto", - ipv4: "IPv4-osoite", - ipv6: "IPv6-osoite", - mac: "MAC-osoite", - cidrv4: "IPv4-alue", - cidrv6: "IPv6-alue", - base64: "base64-koodattu merkkijono", - base64url: "base64url-koodattu merkkijono", - json_string: "JSON-merkkijono", - e164: "E.164-luku", - credit_card: "luottokortin numero", - currency_code: "valuuttakoodi", - iban: "IBAN", - jwt: "JWT", - template_literal: "templaattimerkkijono" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Virheellinen tyyppi: odotettiin instanceof ${issue2.expected}, oli ${received}`; - } - return `Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Virheellinen sy\xF6te: t\xE4ytyy olla ${stringifyPrimitive(issue2.values[0])}`; - return `Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Liian suuri: ${sizing.subject} t\xE4ytyy olla ${adj}${issue2.maximum.toString()} ${sizing.unit}`.trim(); - } - return `Liian suuri: arvon t\xE4ytyy olla ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Liian pieni: ${sizing.subject} t\xE4ytyy olla ${adj}${issue2.minimum.toString()} ${sizing.unit}`.trim(); - } - return `Liian pieni: arvon t\xE4ytyy olla ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Virheellinen sy\xF6te: t\xE4ytyy alkaa "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Virheellinen sy\xF6te: t\xE4ytyy loppua "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${_issue.includes}"`; - if (_issue.format === "regex") { - return `Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${_issue.pattern}`; - } - return `Virheellinen ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Virheellinen luku: t\xE4ytyy olla luvun ${issue2.divisor} monikerta`; - case "unrecognized_keys": - return `${issue2.keys.length > 1 ? "Tuntemattomat avaimet" : "Tuntematon avain"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return "Virheellinen avain tietueessa"; - case "invalid_union": - return "Virheellinen unioni"; - case "invalid_element": - return "Virheellinen arvo joukossa"; - default: - return `Virheellinen sy\xF6te`; - } - }; -}; -function fi_default() { - return { - localeError: error16() - }; +// @__NO_SIDE_EFFECTS__ +function _nanoid(Class2, params) { + return new Class2({ + type: "string", + format: "nanoid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/fr.js -var error17 = () => { - const Sizable = { - string: { unit: "caract\xE8res", verb: "avoir" }, - file: { unit: "octets", verb: "avoir" }, - array: { unit: "\xE9l\xE9ments", verb: "avoir" }, - set: { unit: "\xE9l\xE9ments", verb: "avoir" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "expression r\xE9guli\xE8re", - email: "adresse e-mail", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "date et heure ISO", - date: "date ISO", - time: "heure ISO", - duration: "dur\xE9e ISO", - ipv4: "adresse IPv4", - ipv6: "adresse IPv6", - mac: "adresse MAC", - cidrv4: "plage IPv4", - cidrv6: "plage IPv6", - base64: "cha\xEEne de caract\xE8res encod\xE9e en base64", - base64url: "cha\xEEne de caract\xE8res encod\xE9e en base64url", - json_string: "cha\xEEne de caract\xE8res JSON", - e164: "num\xE9ro au format E.164", - credit_card: "num\xE9ro de carte de cr\xE9dit", - currency_code: "code de devise", - iban: "IBAN", - jwt: "JWT", - template_literal: "entr\xE9e" - }; - const TypeDictionary = { - string: "cha\xEEne de caract\xE8res", - number: "nombre", - int: "entier", - boolean: "bool\xE9en", - bigint: "grand entier", - symbol: "symbole", - undefined: "ind\xE9fini", - null: "null", - never: "jamais", - void: "vide", - date: "date", - array: "tableau", - object: "objet", - tuple: "tuple", - record: "record", - map: "map", - set: "ensemble", - file: "fichier", - nonoptional: "non optionnel", - nan: "NaN", - function: "fonction" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Entr\xE9e invalide : instance de ${issue2.expected} attendu, ${received} re\xE7u`; - } - return `Entr\xE9e invalide : ${expected} attendu, ${received} re\xE7u`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Entr\xE9e invalide : ${stringifyPrimitive(issue2.values[0])} attendu`; - return `Option invalide : une valeur parmi ${joinValues(issue2.values, "|")} attendue`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Trop grand : ${TypeDictionary[issue2.origin] ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\xE9l\xE9ment(s)"}`; - return `Trop grand : ${TypeDictionary[issue2.origin] ?? "valeur"} doit \xEAtre ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Trop petit : ${TypeDictionary[issue2.origin] ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - return `Trop petit : ${TypeDictionary[issue2.origin] ?? "valeur"} doit \xEAtre ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Cha\xEEne de caract\xE8res invalide : doit commencer par "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Cha\xEEne de caract\xE8res invalide : doit se terminer par "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Cha\xEEne de caract\xE8res invalide : doit inclure "${_issue.includes}"`; - if (_issue.format === "regex") - return `Cha\xEEne de caract\xE8res invalide : doit correspondre au motif ${_issue.pattern}`; - return `${FormatDictionary[_issue.format] ?? issue2.format} invalide`; - } - case "not_multiple_of": - return `Nombre invalide : doit \xEAtre un multiple de ${issue2.divisor}`; - case "unrecognized_keys": - return `Cl\xE9${issue2.keys.length > 1 ? "s" : ""} non reconnue${issue2.keys.length > 1 ? "s" : ""} : ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Cl\xE9 invalide dans ${issue2.origin}`; - case "invalid_union": - return "Entr\xE9e invalide"; - case "invalid_element": - return `Valeur invalide dans ${issue2.origin}`; - default: - return `Entr\xE9e invalide`; - } - }; -}; -function fr_default() { - return { - localeError: error17() - }; +// @__NO_SIDE_EFFECTS__ +function _cuid(Class2, params) { + return new Class2({ + type: "string", + format: "cuid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/fr-CA.js -var error18 = () => { - const Sizable = { - string: { unit: "caract\xE8res", verb: "avoir" }, - file: { unit: "octets", verb: "avoir" }, - array: { unit: "\xE9l\xE9ments", verb: "avoir" }, - set: { unit: "\xE9l\xE9ments", verb: "avoir" }, - map: { unit: "\xE9l\xE9ments", verb: "avoir" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "entr\xE9e", - email: "adresse courriel", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "date-heure ISO", - date: "date ISO", - time: "heure ISO", - duration: "dur\xE9e ISO", - ipv4: "adresse IPv4", - ipv6: "adresse IPv6", - mac: "adresse MAC", - cidrv4: "plage IPv4", - cidrv6: "plage IPv6", - base64: "cha\xEEne encod\xE9e en base64", - base64url: "cha\xEEne encod\xE9e en base64url", - json_string: "cha\xEEne JSON", - e164: "num\xE9ro E.164", - credit_card: "num\xE9ro de carte de cr\xE9dit", - currency_code: "code de devise", - iban: "IBAN", - jwt: "JWT", - template_literal: "entr\xE9e" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Entr\xE9e invalide : attendu instanceof ${issue2.expected}, re\xE7u ${received}`; - } - return `Entr\xE9e invalide : attendu ${expected}, re\xE7u ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Entr\xE9e invalide : attendu ${stringifyPrimitive(issue2.values[0])}`; - return `Option invalide : attendu l'une des valeurs suivantes ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "\u2264" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Trop grand : attendu que ${issue2.origin ?? "la valeur"} ait ${adj}${issue2.maximum.toString()} ${sizing.unit}`; - return `Trop grand : attendu que ${issue2.origin ?? "la valeur"} soit ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? "\u2265" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Trop petit : attendu que ${issue2.origin} ait ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Trop petit : attendu que ${issue2.origin} soit ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `Cha\xEEne invalide : doit commencer par "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `Cha\xEEne invalide : doit se terminer par "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Cha\xEEne invalide : doit inclure "${_issue.includes}"`; - if (_issue.format === "regex") - return `Cha\xEEne invalide : doit correspondre au motif ${_issue.pattern}`; - return `${FormatDictionary[_issue.format] ?? issue2.format} invalide`; - } - case "not_multiple_of": - return `Nombre invalide : doit \xEAtre un multiple de ${issue2.divisor}`; - case "unrecognized_keys": - return `Cl\xE9${issue2.keys.length > 1 ? "s" : ""} non reconnue${issue2.keys.length > 1 ? "s" : ""} : ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Cl\xE9 invalide dans ${issue2.origin}`; - case "invalid_union": - return "Entr\xE9e invalide"; - case "invalid_element": - return `Valeur invalide dans ${issue2.origin}`; - default: - return `Entr\xE9e invalide`; - } - }; -}; -function fr_CA_default() { - return { - localeError: error18() - }; -} - -// ../../../node_modules/zod/v4/locales/gu.js -var error19 = () => { - const Sizable = { - string: { unit: "\u0A85\u0A95\u0ACD\u0AB7\u0AB0", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" }, - file: { unit: "\u0AAC\u0ABE\u0AAF\u0A9F", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" }, - array: { unit: "\u0A86\u0A87\u0A9F\u0AAE", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" }, - set: { unit: "\u0A86\u0A87\u0A9F\u0AAE", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" }, - map: { unit: "\u0A8F\u0AA8\u0ACD\u0A9F\u0ACD\u0AB0\u0AC0", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0A87\u0AA8\u0AAA\u0AC1\u0A9F", - email: "\u0A88\u0AAE\u0AC7\u0A87\u0AB2 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8", - url: "URL", - emoji: "\u0A87\u0AAE\u0ACB\u0A9C\u0AC0", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u0AA4\u0ABE\u0AB0\u0AC0\u0A96 \u0A85\u0AA8\u0AC7 \u0AB8\u0AAE\u0AAF", - date: "ISO \u0AA4\u0ABE\u0AB0\u0AC0\u0A96", - time: "ISO \u0AB8\u0AAE\u0AAF", - duration: "ISO \u0A85\u0AB5\u0AA7\u0ABF", - ipv4: "IPv4 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8", - ipv6: "IPv6 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8", - mac: "MAC \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8", - cidrv4: "IPv4 \u0AB6\u0ACD\u0AB0\u0AC7\u0AA3\u0AC0", - cidrv6: "IPv6 \u0AB6\u0ACD\u0AB0\u0AC7\u0AA3\u0AC0", - base64: "base64-\u0A8F\u0AA8\u0ACD\u0A95\u0ACB\u0AA1\u0AC7\u0AA1 \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97", - base64url: "base64url-\u0A8F\u0AA8\u0ACD\u0A95\u0ACB\u0AA1\u0AC7\u0AA1 \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97", - json_string: "JSON \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97", - e164: "E.164 \u0AA8\u0A82\u0AAC\u0AB0", - credit_card: "\u0A95\u0ACD\u0AB0\u0AC7\u0AA1\u0ABF\u0A9F \u0A95\u0ABE\u0AB0\u0ACD\u0AA1 \u0AA8\u0A82\u0AAC\u0AB0", - currency_code: "\u0A9A\u0AB2\u0AA3 \u0A95\u0ACB\u0AA1", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0A87\u0AA8\u0AAA\u0AC1\u0A9F" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F: \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${expected}, \u0AAA\u0ACD\u0AB0\u0ABE\u0AAA\u0ACD\u0AA4 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F: \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${stringifyPrimitive(issue2.values[0])}`; - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB5\u0ABF\u0A95\u0AB2\u0ACD\u0AAA: ${joinValues(issue2.values, " | ")} \u0AAE\u0ABE\u0AA7\u0ACD\u0AAF\u0AAE\u0AA5\u0AC0 \u0A8F\u0A95 \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0A96\u0AC2\u0AAC \u0AAE\u0ACB\u0A9F\u0AC1\u0A82: ${issue2.origin ?? "\u0AAE\u0AC2\u0AB2\u0ACD\u0AAF"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0A8F\u0AB2\u0ABF\u0AAE\u0AC7\u0AA8\u0ACD\u0A9F"} \u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F`; - return `\u0A96\u0AC2\u0AAC \u0AAE\u0ACB\u0A9F\u0AC1\u0A82: ${issue2.origin ?? "\u0AAE\u0AC2\u0AB2\u0ACD\u0AAF"} ${adj}${issue2.maximum.toString()} \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0A96\u0AC2\u0AAC \u0AA8\u0ABE\u0AA8\u0AC1\u0A82: ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F`; - } - return `\u0A96\u0AC2\u0AAC \u0AA8\u0ABE\u0AA8\u0AC1\u0A82: ${issue2.origin} ${adj}${issue2.minimum.toString()} \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: "${_issue.prefix}" \u0AA5\u0AC0 \u0AB6\u0AB0\u0AC2 \u0AA5\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; - } - if (_issue.format === "ends_with") - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: "${_issue.suffix}" \u0AAA\u0AB0 \u0AB8\u0AAE\u0ABE\u0AAA\u0ACD\u0AA4 \u0AA5\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; - if (_issue.format === "includes") - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: "${_issue.includes}" \u0AB6\u0ABE\u0AAE\u0AC7\u0AB2 \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; - if (_issue.format === "regex") - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: \u0AAA\u0AC7\u0A9F\u0AB0\u0ACD\u0AA8 ${_issue.pattern} \u0AB8\u0ABE\u0AA5\u0AC7 \u0AAE\u0AC7\u0AB3 \u0A96\u0ABE\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AA8\u0A82\u0AAC\u0AB0: ${issue2.divisor} \u0AA8\u0ACB \u0A97\u0AC1\u0AA3\u0ABE\u0A82\u0A95 \u0AB9\u0ACB\u0AB5\u0ACB \u0A9C\u0ACB\u0A88\u0A8F`; - case "unrecognized_keys": - return `\u0A93\u0AB3\u0A96\u0AC0 \u0AB6\u0A95\u0ABE\u0AA4\u0ABE \u0AA8\u0AB9\u0AC0\u0A82 \u0AA4\u0AC7 \u0A95\u0AC0${issue2.keys.length > 1 ? "\u0A93" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `${issue2.origin} \u0AAE\u0ABE\u0A82 \u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A95\u0AC0`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AA1\u0ABF\u0AB8\u0ACD\u0A95\u0ACD\u0AB0\u0ABF\u0AAE\u0ABF\u0AA8\u0AC7\u0A9F\u0AB0 \u0AAE\u0AC2\u0AB2\u0ACD\u0AAF. \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${opts}`; - } - return "\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F"; - case "invalid_element": - return `${issue2.origin} \u0AAE\u0ABE\u0A82 \u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AAE\u0AC2\u0AB2\u0ACD\u0AAF`; - default: - return "\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F"; - } - }; -}; -function gu_default() { - return { - localeError: error19() - }; +// @__NO_SIDE_EFFECTS__ +function _cuid2(Class2, params) { + return new Class2({ + type: "string", + format: "cuid2", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/he.js -var error20 = () => { - const TypeNames = { - string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA", gender: "f" }, - number: { label: "\u05DE\u05E1\u05E4\u05E8", gender: "m" }, - boolean: { label: "\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9", gender: "m" }, - bigint: { label: "BigInt", gender: "m" }, - date: { label: "\u05EA\u05D0\u05E8\u05D9\u05DA", gender: "m" }, - array: { label: "\u05DE\u05E2\u05E8\u05DA", gender: "m" }, - object: { label: "\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8", gender: "m" }, - null: { label: "\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)", gender: "m" }, - undefined: { label: "\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)", gender: "m" }, - symbol: { label: "\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)", gender: "m" }, - function: { label: "\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4", gender: "f" }, - map: { label: "\u05DE\u05E4\u05D4 (Map)", gender: "f" }, - set: { label: "\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)", gender: "f" }, - file: { label: "\u05E7\u05D5\u05D1\u05E5", gender: "m" }, - promise: { label: "Promise", gender: "m" }, - NaN: { label: "NaN", gender: "m" }, - unknown: { label: "\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2", gender: "m" }, - value: { label: "\u05E2\u05E8\u05DA", gender: "m" } - }; - const Sizable = { - string: { unit: "\u05EA\u05D5\u05D5\u05D9\u05DD", shortLabel: "\u05E7\u05E6\u05E8", longLabel: "\u05D0\u05E8\u05D5\u05DA" }, - file: { unit: "\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" }, - array: { unit: "\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" }, - set: { unit: "\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" }, - number: { unit: "", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" } - // no unit - }; - const typeEntry = (t) => t ? TypeNames[t] : void 0; - const typeLabel = (t) => { - const e = typeEntry(t); - if (e) - return e.label; - return t ?? TypeNames.unknown.label; - }; - const withDefinite = (t) => `\u05D4${typeLabel(t)}`; - const verbFor = (t) => { - const e = typeEntry(t); - const gender = e?.gender ?? "m"; - return gender === "f" ? "\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA" : "\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"; - }; - const getSizing = (origin) => { - if (!origin) - return null; - return Sizable[origin] ?? null; - }; - const FormatDictionary = { - regex: { label: "\u05E7\u05DC\u05D8", gender: "m" }, - email: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC", gender: "f" }, - url: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA", gender: "f" }, - emoji: { label: "\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9", gender: "m" }, - uuid: { label: "UUID", gender: "m" }, - uuidv4: { label: "UUIDv4", gender: "m" }, - uuidv6: { label: "UUIDv6", gender: "m" }, - nanoid: { label: "nanoid", gender: "m" }, - guid: { label: "GUID", gender: "m" }, - cuid: { label: "cuid", gender: "m" }, - cuid2: { label: "cuid2", gender: "m" }, - ulid: { label: "ULID", gender: "m" }, - xid: { label: "XID", gender: "m" }, - ksuid: { label: "KSUID", gender: "m" }, - datetime: { label: "\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO", gender: "m" }, - date: { label: "\u05EA\u05D0\u05E8\u05D9\u05DA ISO", gender: "m" }, - time: { label: "\u05D6\u05DE\u05DF ISO", gender: "m" }, - duration: { label: "\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO", gender: "m" }, - ipv4: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA IPv4", gender: "f" }, - ipv6: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA IPv6", gender: "f" }, - mac: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA MAC", gender: "f" }, - cidrv4: { label: "\u05D8\u05D5\u05D5\u05D7 IPv4", gender: "m" }, - cidrv6: { label: "\u05D8\u05D5\u05D5\u05D7 IPv6", gender: "m" }, - base64: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64", gender: "f" }, - base64url: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA", gender: "f" }, - json_string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON", gender: "f" }, - e164: { label: "\u05DE\u05E1\u05E4\u05E8 E.164", gender: "m" }, - credit_card: { label: "\u05DE\u05E1\u05E4\u05E8 \u05DB\u05E8\u05D8\u05D9\u05E1 \u05D0\u05E9\u05E8\u05D0\u05D9", gender: "m" }, - currency_code: { label: "\u05E7\u05D5\u05D3 \u05DE\u05D8\u05D1\u05E2", gender: "m" }, - iban: { label: "IBAN", gender: "m" }, - jwt: { label: "JWT", gender: "m" }, - template_literal: { label: "\u05E7\u05DC\u05D8", gender: "m" }, - ends_with: { label: "\u05E7\u05DC\u05D8", gender: "m" }, - includes: { label: "\u05E7\u05DC\u05D8", gender: "m" }, - lowercase: { label: "\u05E7\u05DC\u05D8", gender: "m" }, - starts_with: { label: "\u05E7\u05DC\u05D8", gender: "m" }, - uppercase: { label: "\u05E7\u05DC\u05D8", gender: "m" } - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expectedKey = issue2.expected; - const expected = TypeDictionary[expectedKey ?? ""] ?? typeLabel(expectedKey); - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? TypeNames[receivedType]?.label ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${issue2.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`; - } - return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`; - } - case "invalid_value": { - if (issue2.values.length === 1) { - return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${stringifyPrimitive(issue2.values[0])}`; - } - const stringified = issue2.values.map((v) => stringifyPrimitive(v)); - if (issue2.values.length === 2) { - return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${stringified[0]} \u05D0\u05D5 ${stringified[1]}`; - } - const lastValue = stringified[stringified.length - 1]; - const restValues = stringified.slice(0, -1).join(", "); - return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${restValues} \u05D0\u05D5 ${lastValue}`; - } - case "too_big": { - const sizing = getSizing(issue2.origin); - const subject = withDefinite(issue2.origin ?? "value"); - if (issue2.origin === "string") { - return `${sizing?.longLabel ?? "\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue2.maximum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA" : "\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim(); - } - if (issue2.origin === "number") { - const comparison = issue2.inclusive ? `\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue2.maximum}` : `\u05E7\u05D8\u05DF \u05DE-${issue2.maximum}`; - return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`; - } - if (issue2.origin === "array" || issue2.origin === "set") { - const verb = issue2.origin === "set" ? "\u05E6\u05E8\u05D9\u05DB\u05D4" : "\u05E6\u05E8\u05D9\u05DA"; - const comparison = issue2.inclusive ? `${issue2.maximum} ${sizing?.unit ?? ""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA` : `\u05E4\u05D7\u05D5\u05EA \u05DE-${issue2.maximum} ${sizing?.unit ?? ""}`; - return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim(); - } - const adj = issue2.inclusive ? "<=" : "<"; - const be = verbFor(issue2.origin ?? "value"); - if (sizing?.unit) { - return `${sizing.longLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.maximum.toString()} ${sizing.unit}`; - } - return `${sizing?.longLabel ?? "\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const sizing = getSizing(issue2.origin); - const subject = withDefinite(issue2.origin ?? "value"); - if (issue2.origin === "string") { - return `${sizing?.shortLabel ?? "\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue2.minimum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8" : "\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim(); - } - if (issue2.origin === "number") { - const comparison = issue2.inclusive ? `\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue2.minimum}` : `\u05D2\u05D3\u05D5\u05DC \u05DE-${issue2.minimum}`; - return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`; - } - if (issue2.origin === "array" || issue2.origin === "set") { - const verb = issue2.origin === "set" ? "\u05E6\u05E8\u05D9\u05DB\u05D4" : "\u05E6\u05E8\u05D9\u05DA"; - if (issue2.minimum === 1 && issue2.inclusive) { - const singularPhrase = issue2.origin === "set" ? "\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3" : "\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3"; - return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${singularPhrase}`; - } - const comparison = issue2.inclusive ? `${issue2.minimum} ${sizing?.unit ?? ""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8` : `\u05D9\u05D5\u05EA\u05E8 \u05DE-${issue2.minimum} ${sizing?.unit ?? ""}`; - return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim(); - } - const adj = issue2.inclusive ? ">=" : ">"; - const be = verbFor(issue2.origin ?? "value"); - if (sizing?.unit) { - return `${sizing.shortLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `${sizing?.shortLabel ?? "\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${_issue.pattern}`; - const nounEntry = FormatDictionary[_issue.format]; - const noun = nounEntry?.label ?? _issue.format; - const gender = nounEntry?.gender ?? "m"; - const adjective = gender === "f" ? "\u05EA\u05E7\u05D9\u05E0\u05D4" : "\u05EA\u05E7\u05D9\u05DF"; - return `${noun} \u05DC\u05D0 ${adjective}`; - } - case "not_multiple_of": - return `\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${issue2.divisor}`; - case "unrecognized_keys": - return `\u05DE\u05E4\u05EA\u05D7${issue2.keys.length > 1 ? "\u05D5\u05EA" : ""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${issue2.keys.length > 1 ? "\u05D9\u05DD" : "\u05D4"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": { - return `\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8`; - } - case "invalid_union": - return "\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"; - case "invalid_element": { - const place = withDefinite(issue2.origin ?? "array"); - return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${place}`; - } - default: - return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF`; - } - }; -}; -function he_default() { - return { - localeError: error20() - }; +// @__NO_SIDE_EFFECTS__ +function _ulid(Class2, params) { + return new Class2({ + type: "string", + format: "ulid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/hi.js -var error21 = () => { - const Sizable = { - string: { unit: "\u0905\u0915\u094D\u0937\u0930", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" }, - file: { unit: "\u092C\u093E\u0907\u091F\u094D\u0938", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" }, - array: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" }, - set: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" }, - map: { unit: "\u092A\u094D\u0930\u0935\u093F\u0937\u094D\u091F\u093F\u092F\u093E\u0901", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0907\u0928\u092A\u0941\u091F", - email: "\u0908\u092E\u0947\u0932 \u092A\u0924\u093E", - url: "URL", - emoji: "\u0907\u092E\u094B\u091C\u0940", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u0924\u093F\u0925\u093F \u0914\u0930 \u0938\u092E\u092F", - date: "ISO \u0924\u093F\u0925\u093F", - time: "ISO \u0938\u092E\u092F", - duration: "ISO \u0905\u0935\u0927\u093F", - ipv4: "IPv4 \u092A\u0924\u093E", - ipv6: "IPv6 \u092A\u0924\u093E", - mac: "MAC \u092A\u0924\u093E", - cidrv4: "IPv4 \u0936\u094D\u0930\u0947\u0923\u0940", - cidrv6: "IPv6 \u0936\u094D\u0930\u0947\u0923\u0940", - base64: "Base64-\u090F\u0928\u094D\u0915\u094B\u0921\u0947\u0921 \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917", - base64url: "Base64URL-\u090F\u0928\u094D\u0915\u094B\u0921\u0947\u0921 \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917", - json_string: "JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917", - e164: "E.164 \u0938\u0902\u0916\u094D\u092F\u093E", - credit_card: "\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0938\u0902\u0916\u094D\u092F\u093E", - currency_code: "\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0907\u0928\u092A\u0941\u091F" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${expected}, \u092A\u094D\u0930\u093E\u092A\u094D\u0924 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${stringifyPrimitive(issue2.values[0])}`; - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0935\u093F\u0915\u0932\u094D\u092A: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u092E\u093E\u0928\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u090F\u0915 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u092C\u0939\u0941\u0924 \u092C\u0921\u093C\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin ?? "\u092E\u093E\u0928"} \u092E\u0947\u0902 ${adj}${issue2.maximum} ${sizing.unit} \u0939\u094B\u0902`; - return `\u092C\u0939\u0941\u0924 \u092C\u0921\u093C\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin ?? "\u092E\u093E\u0928"} ${adj}${issue2.maximum} \u0939\u094B`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u092C\u0939\u0941\u0924 \u091B\u094B\u091F\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin} \u092E\u0947\u0902 ${adj}${issue2.minimum} ${sizing.unit} \u0939\u094B\u0902`; - return `\u092C\u0939\u0941\u0924 \u091B\u094B\u091F\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin} ${adj}${issue2.minimum} \u0939\u094B`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: "${_issue.prefix}" \u0938\u0947 \u0936\u0941\u0930\u0942 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; - if (_issue.format === "ends_with") - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: "${_issue.suffix}" \u092A\u0930 \u0938\u092E\u093E\u092A\u094D\u0924 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; - if (_issue.format === "includes") - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \u0907\u0938\u092E\u0947\u0902 "${_issue.includes}" \u0936\u093E\u092E\u093F\u0932 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; - if (_issue.format === "regex") - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \u092A\u0948\u091F\u0930\u094D\u0928 ${_issue.pattern} \u0938\u0947 \u092E\u0947\u0932 \u0916\u093E\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; - return `\u0905\u092E\u093E\u0928\u094D\u092F ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u0902\u0916\u094D\u092F\u093E: \u092F\u0939 ${issue2.divisor} \u0915\u093E \u0917\u0941\u0923\u091C \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; - case "unrecognized_keys": - return `\u0905\u092A\u0930\u093F\u091A\u093F\u0924 \u0915\u0941\u0902\u091C\u0940${issue2.keys.length > 1 ? "\u092F\u093E\u0901" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0915\u0941\u0902\u091C\u0940: ${issue2.origin} \u092E\u0947\u0902`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0921\u093F\u0938\u094D\u0915\u094D\u0930\u093F\u092E\u093F\u0928\u0947\u091F\u0930 \u092E\u093E\u0928: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${opts}`; - } - return "\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F"; - case "invalid_element": - return `\u0905\u092E\u093E\u0928\u094D\u092F \u092E\u093E\u0928: ${issue2.origin} \u092E\u0947\u0902`; - default: - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F`; - } - }; -}; -function hi_default() { - return { - localeError: error21() - }; +// @__NO_SIDE_EFFECTS__ +function _xid(Class2, params) { + return new Class2({ + type: "string", + format: "xid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/hr.js -var error22 = () => { - const Sizable = { - string: { unit: "znakova", verb: "imati" }, - file: { unit: "bajtova", verb: "imati" }, - array: { unit: "stavki", verb: "imati" }, - set: { unit: "stavki", verb: "imati" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "unos", - email: "email adresa", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO datum i vrijeme", - date: "ISO datum", - time: "ISO vrijeme", - duration: "ISO trajanje", - ipv4: "IPv4 adresa", - ipv6: "IPv6 adresa", - mac: "MAC adresa", - cidrv4: "IPv4 raspon", - cidrv6: "IPv6 raspon", - base64: "base64 kodirani tekst", - base64url: "base64url kodirani tekst", - json_string: "JSON tekst", - e164: "E.164 broj", - credit_card: "broj kreditne kartice", - currency_code: "kod valute", - iban: "IBAN", - jwt: "JWT", - template_literal: "unos" - }; - const TypeDictionary = { - nan: "NaN", - string: "tekst", - number: "broj", - boolean: "boolean", - array: "niz", - object: "objekt", - set: "skup", - file: "datoteka", - date: "datum", - bigint: "bigint", - symbol: "simbol", - undefined: "undefined", - null: "null", - function: "funkcija", - map: "mapa" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Neispravan unos: o\u010Dekuje se instanceof ${issue2.expected}, a primljeno je ${received}`; - } - return `Neispravan unos: o\u010Dekuje se ${expected}, a primljeno je ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Neispravna vrijednost: o\u010Dekivano ${stringifyPrimitive(issue2.values[0])}`; - return `Neispravna opcija: o\u010Dekivano jedno od ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - const origin = TypeDictionary[issue2.origin] ?? issue2.origin; - if (sizing) - return `Preveliko: o\u010Dekivano da ${origin ?? "vrijednost"} ima ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemenata"}`; - return `Preveliko: o\u010Dekivano da ${origin ?? "vrijednost"} bude ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - const origin = TypeDictionary[issue2.origin] ?? issue2.origin; - if (sizing) { - return `Premalo: o\u010Dekivano da ${origin} ima ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Premalo: o\u010Dekivano da ${origin} bude ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Neispravan tekst: mora zapo\u010Dinjati s "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Neispravan tekst: mora zavr\u0161avati s "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Neispravan tekst: mora sadr\u017Eavati "${_issue.includes}"`; - if (_issue.format === "regex") - return `Neispravan tekst: mora odgovarati uzorku ${_issue.pattern}`; - return `Neispravna ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Neispravan broj: mora biti vi\u0161ekratnik od ${issue2.divisor}`; - case "unrecognized_keys": - return `Neprepoznat${issue2.keys.length > 1 ? "i klju\u010Devi" : " klju\u010D"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Neispravan klju\u010D u ${TypeDictionary[issue2.origin] ?? issue2.origin}`; - case "invalid_union": - return "Neispravan unos"; - case "invalid_element": - return `Neispravna vrijednost u ${TypeDictionary[issue2.origin] ?? issue2.origin}`; - default: - return `Neispravan unos`; - } - }; -}; -function hr_default() { - return { - localeError: error22() - }; +// @__NO_SIDE_EFFECTS__ +function _ksuid(Class2, params) { + return new Class2({ + type: "string", + format: "ksuid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/hu.js -var error23 = () => { - const Sizable = { - string: { unit: "karakter", verb: "legyen" }, - file: { unit: "byte", verb: "legyen" }, - array: { unit: "elem", verb: "legyen" }, - set: { unit: "elem", verb: "legyen" }, - map: { unit: "elem", verb: "legyen" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "bemenet", - email: "email c\xEDm", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO id\u0151b\xE9lyeg", - date: "ISO d\xE1tum", - time: "ISO id\u0151", - duration: "ISO id\u0151intervallum", - ipv4: "IPv4 c\xEDm", - ipv6: "IPv6 c\xEDm", - mac: "MAC c\xEDm", - cidrv4: "IPv4 tartom\xE1ny", - cidrv6: "IPv6 tartom\xE1ny", - base64: "base64-k\xF3dolt string", - base64url: "base64url-k\xF3dolt string", - json_string: "JSON string", - e164: "E.164 sz\xE1m", - credit_card: "hitelk\xE1rtyasz\xE1m", - currency_code: "p\xE9nznemk\xF3d", - iban: "IBAN", - jwt: "JWT", - template_literal: "bemenet" - }; - const TypeDictionary = { - nan: "NaN", - number: "sz\xE1m", - array: "t\xF6mb" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${issue2.expected}, a kapott \xE9rt\xE9k ${received}`; - } - return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${expected}, a kapott \xE9rt\xE9k ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${stringifyPrimitive(issue2.values[0])}`; - return `\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `T\xFAl nagy: ${issue2.origin ?? "\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elem"}`; - return `T\xFAl nagy: a bemeneti \xE9rt\xE9k ${issue2.origin ?? "\xE9rt\xE9k"} t\xFAl nagy: ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${issue2.origin} m\xE9rete t\xFAl kicsi ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${issue2.origin} t\xFAl kicsi ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\xC9rv\xE9nytelen string: "${_issue.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`; - if (_issue.format === "ends_with") - return `\xC9rv\xE9nytelen string: "${_issue.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`; - if (_issue.format === "includes") - return `\xC9rv\xE9nytelen string: "${_issue.includes}" \xE9rt\xE9ket kell tartalmaznia`; - if (_issue.format === "regex") - return `\xC9rv\xE9nytelen string: ${_issue.pattern} mint\xE1nak kell megfelelnie`; - return `\xC9rv\xE9nytelen ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\xC9rv\xE9nytelen sz\xE1m: ${issue2.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`; - case "unrecognized_keys": - return `Ismeretlen kulcs${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\xC9rv\xE9nytelen kulcs ${issue2.origin}`; - case "invalid_union": - return "\xC9rv\xE9nytelen bemenet"; - case "invalid_element": - return `\xC9rv\xE9nytelen \xE9rt\xE9k: ${issue2.origin}`; - default: - return `\xC9rv\xE9nytelen bemenet`; - } - }; -}; -function hu_default() { - return { - localeError: error23() - }; +// @__NO_SIDE_EFFECTS__ +function _ipv4(Class2, params) { + return new Class2({ + type: "string", + format: "ipv4", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/hy.js -function getArmenianPlural(count, one, many) { - return Math.abs(count) === 1 ? one : many; -} -function withDefiniteArticle(word) { - if (!word) - return ""; - const vowels = ["\u0561", "\u0565", "\u0568", "\u056B", "\u0578", "\u0578\u0582", "\u0585"]; - const lastChar = word[word.length - 1]; - return word + (vowels.includes(lastChar) ? "\u0576" : "\u0568"); -} -var error24 = () => { - const Sizable = { - string: { - unit: { - one: "\u0576\u0577\u0561\u0576", - many: "\u0576\u0577\u0561\u0576\u0576\u0565\u0580" - }, - verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" - }, - file: { - unit: { - one: "\u0562\u0561\u0575\u0569", - many: "\u0562\u0561\u0575\u0569\u0565\u0580" - }, - verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" - }, - array: { - unit: { - one: "\u057F\u0561\u0580\u0580", - many: "\u057F\u0561\u0580\u0580\u0565\u0580" - }, - verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" - }, - set: { - unit: { - one: "\u057F\u0561\u0580\u0580", - many: "\u057F\u0561\u0580\u0580\u0565\u0580" - }, - verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" - }, - map: { - unit: { - one: "\u057F\u0561\u0580\u0580", - many: "\u057F\u0561\u0580\u0580\u0565\u0580" - }, - verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" - } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0574\u0578\u0582\u057F\u0584", - email: "\u0567\u056C. \u0570\u0561\u057D\u0581\u0565", - url: "URL", - emoji: "\u0567\u0574\u0578\u057B\u056B", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574", - date: "ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E", - time: "ISO \u056A\u0561\u0574", - duration: "ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576", - ipv4: "IPv4 \u0570\u0561\u057D\u0581\u0565", - ipv6: "IPv6 \u0570\u0561\u057D\u0581\u0565", - mac: "MAC \u0570\u0561\u057D\u0581\u0565", - cidrv4: "IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584", - cidrv6: "IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584", - base64: "base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572", - base64url: "base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572", - json_string: "JSON \u057F\u0578\u0572", - e164: "E.164 \u0570\u0561\u0574\u0561\u0580", - credit_card: "\u056F\u0580\u0565\u0564\u056B\u057F \u0584\u0561\u0580\u057F\u056B \u0570\u0561\u0574\u0561\u0580", - currency_code: "\u0561\u0580\u056A\u0578\u0582\u0575\u0569\u056B \u056F\u0578\u0564", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0574\u0578\u0582\u057F\u0584" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0569\u056B\u057E", - array: "\u0566\u0561\u0576\u0563\u057E\u0561\u056E" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${issue2.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`; - } - return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${stringifyPrimitive(issue2.values[1])}`; - return `\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - const maxValue = Number(issue2.maximum); - const unit = getArmenianPlural(maxValue, sizing.unit.one, sizing.unit.many); - return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin ?? "\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue2.maximum.toString()} ${unit}`; - } - return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin ?? "\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - const minValue = Number(issue2.minimum); - const unit = getArmenianPlural(minValue, sizing.unit.one, sizing.unit.many); - return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue2.minimum.toString()} ${unit}`; - } - return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin)} \u056C\u056B\u0576\u056B ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${_issue.prefix}"-\u0578\u057E`; - if (_issue.format === "ends_with") - return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${_issue.suffix}"-\u0578\u057E`; - if (_issue.format === "includes") - return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${_issue.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`; - return `\u054D\u056D\u0561\u056C ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${issue2.divisor}-\u056B`; - case "unrecognized_keys": - return `\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${issue2.keys.length > 1 ? "\u0576\u0565\u0580" : ""}. ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${withDefiniteArticle(issue2.origin)}-\u0578\u0582\u0574`; - case "invalid_union": - return "\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"; - case "invalid_element": - return `\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${withDefiniteArticle(issue2.origin)}-\u0578\u0582\u0574`; - default: - return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574`; - } - }; -}; -function hy_default() { - return { - localeError: error24() - }; +// @__NO_SIDE_EFFECTS__ +function _ipv6(Class2, params) { + return new Class2({ + type: "string", + format: "ipv6", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/id.js -var error25 = () => { - const Sizable = { - string: { unit: "karakter", verb: "memiliki" }, - file: { unit: "byte", verb: "memiliki" }, - array: { unit: "item", verb: "memiliki" }, - set: { unit: "item", verb: "memiliki" }, - map: { unit: "item", verb: "memiliki" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "input", - email: "alamat email", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "tanggal dan waktu format ISO", - date: "tanggal format ISO", - time: "jam format ISO", - duration: "durasi format ISO", - ipv4: "alamat IPv4", - ipv6: "alamat IPv6", - mac: "alamat MAC", - cidrv4: "rentang alamat IPv4", - cidrv6: "rentang alamat IPv6", - base64: "string dengan enkode base64", - base64url: "string dengan enkode base64url", - json_string: "string JSON", - e164: "angka E.164", - credit_card: "nomor kartu kredit", - currency_code: "kode mata uang", - iban: "IBAN", - jwt: "JWT", - template_literal: "input" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Input tidak valid: diharapkan instanceof ${issue2.expected}, diterima ${received}`; - } - return `Input tidak valid: diharapkan ${expected}, diterima ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Input tidak valid: diharapkan ${stringifyPrimitive(issue2.values[0])}`; - return `Pilihan tidak valid: diharapkan salah satu dari ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Terlalu besar: diharapkan ${issue2.origin ?? "value"} memiliki ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemen"}`; - return `Terlalu besar: diharapkan ${issue2.origin ?? "value"} menjadi ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Terlalu kecil: diharapkan ${issue2.origin} memiliki ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Terlalu kecil: diharapkan ${issue2.origin} menjadi ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `String tidak valid: harus dimulai dengan "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `String tidak valid: harus berakhir dengan "${_issue.suffix}"`; - if (_issue.format === "includes") - return `String tidak valid: harus menyertakan "${_issue.includes}"`; - if (_issue.format === "regex") - return `String tidak valid: harus sesuai pola ${_issue.pattern}`; - return `${FormatDictionary[_issue.format] ?? issue2.format} tidak valid`; - } - case "not_multiple_of": - return `Angka tidak valid: harus kelipatan dari ${issue2.divisor}`; - case "unrecognized_keys": - return `Kunci tidak dikenali ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Kunci tidak valid di ${issue2.origin}`; - case "invalid_union": - return "Input tidak valid"; - case "invalid_element": - return `Nilai tidak valid di ${issue2.origin}`; - default: - return `Input tidak valid`; - } - }; -}; -function id_default() { - return { - localeError: error25() - }; +// @__NO_SIDE_EFFECTS__ +function _cidrv4(Class2, params) { + return new Class2({ + type: "string", + format: "cidrv4", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/is.js -var error26 = () => { - const Sizable = { - string: { unit: "stafi", verb: "a\xF0 hafa" }, - file: { unit: "b\xE6ti", verb: "a\xF0 hafa" }, - array: { unit: "hluti", verb: "a\xF0 hafa" }, - set: { unit: "hluti", verb: "a\xF0 hafa" }, - map: { unit: "hluti", verb: "a\xF0 hafa" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "gildi", - email: "netfang", - url: "vefsl\xF3\xF0", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO dagsetning og t\xEDmi", - date: "ISO dagsetning", - time: "ISO t\xEDmi", - duration: "ISO t\xEDmalengd", - ipv4: "IPv4 address", - ipv6: "IPv6 address", - mac: "MAC address", - cidrv4: "IPv4 range", - cidrv6: "IPv6 range", - base64: "base64-encoded strengur", - base64url: "base64url-encoded strengur", - json_string: "JSON strengur", - e164: "E.164 t\xF6lugildi", - credit_card: "kreditkortan\xFAmer", - currency_code: "gjaldmi\xF0ilsk\xF3\xF0i", - iban: "IBAN", - jwt: "JWT", - template_literal: "gildi" - }; - const TypeDictionary = { - nan: "NaN", - number: "n\xFAmer", - array: "fylki" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Rangt gildi: \xDE\xFA sl\xF3st inn ${received} \xFEar sem \xE1 a\xF0 vera instanceof ${issue2.expected}`; - } - return `Rangt gildi: \xDE\xFA sl\xF3st inn ${received} \xFEar sem \xE1 a\xF0 vera ${expected}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Rangt gildi: gert r\xE1\xF0 fyrir ${stringifyPrimitive(issue2.values[0])}`; - return `\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin ?? "gildi"} hafi ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "hluti"}`; - return `Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin ?? "gildi"} s\xE9 ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin} hafi ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin} s\xE9 ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${_issue.includes}"`; - if (_issue.format === "regex") - return `\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${_issue.pattern}`; - return `Rangt ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${issue2.divisor}`; - case "unrecognized_keys": - return `\xD3\xFEekkt ${issue2.keys.length > 1 ? "ir lyklar" : "ur lykill"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Rangur lykill \xED ${issue2.origin}`; - case "invalid_union": - return "Rangt gildi"; - case "invalid_element": - return `Rangt gildi \xED ${issue2.origin}`; - default: - return `Rangt gildi`; - } - }; -}; -function is_default() { - return { - localeError: error26() - }; +// @__NO_SIDE_EFFECTS__ +function _cidrv6(Class2, params) { + return new Class2({ + type: "string", + format: "cidrv6", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/it.js -var error27 = () => { - const Sizable = { - string: { unit: "caratteri", verb: "avere" }, - file: { unit: "byte", verb: "avere" }, - array: { unit: "elementi", verb: "avere" }, - set: { unit: "elementi", verb: "avere" }, - map: { unit: "elementi", verb: "avere" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "input", - email: "indirizzo email", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "data e ora ISO", - date: "data ISO", - time: "ora ISO", - duration: "durata ISO", - ipv4: "indirizzo IPv4", - ipv6: "indirizzo IPv6", - mac: "indirizzo MAC", - cidrv4: "intervallo IPv4", - cidrv6: "intervallo IPv6", - base64: "stringa codificata in base64", - base64url: "URL codificata in base64", - json_string: "stringa JSON", - e164: "numero E.164", - credit_card: "numero di carta di credito", - currency_code: "codice valuta", - iban: "IBAN", - jwt: "JWT", - template_literal: "input" - }; - const TypeDictionary = { - nan: "NaN", - number: "numero", - array: "vettore" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Input non valido: atteso instanceof ${issue2.expected}, ricevuto ${received}`; - } - return `Input non valido: atteso ${expected}, ricevuto ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Input non valido: atteso ${stringifyPrimitive(issue2.values[0])}`; - return `Opzione non valida: atteso uno tra ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Troppo grande: ${issue2.origin ?? "valore"} deve avere ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementi"}`; - return `Troppo grande: ${issue2.origin ?? "valore"} deve essere ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Troppo piccolo: ${issue2.origin} deve avere ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Troppo piccolo: ${issue2.origin} deve essere ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Stringa non valida: deve iniziare con "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Stringa non valida: deve terminare con "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Stringa non valida: deve includere "${_issue.includes}"`; - if (_issue.format === "regex") - return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`; - return `Input non valido: ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Numero non valido: deve essere un multiplo di ${issue2.divisor}`; - case "unrecognized_keys": - return `Chiav${issue2.keys.length > 1 ? "i" : "e"} non riconosciut${issue2.keys.length > 1 ? "e" : "a"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Chiave non valida in ${issue2.origin}`; - case "invalid_union": - return "Input non valido"; - case "invalid_element": - return `Valore non valido in ${issue2.origin}`; - default: - return `Input non valido`; - } - }; -}; -function it_default() { - return { - localeError: error27() - }; +// @__NO_SIDE_EFFECTS__ +function _base64(Class2, params) { + return new Class2({ + type: "string", + format: "base64", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/ja.js -var error28 = () => { - const Sizable = { - string: { unit: "\u6587\u5B57", verb: "\u3067\u3042\u308B" }, - file: { unit: "\u30D0\u30A4\u30C8", verb: "\u3067\u3042\u308B" }, - array: { unit: "\u8981\u7D20", verb: "\u3067\u3042\u308B" }, - set: { unit: "\u8981\u7D20", verb: "\u3067\u3042\u308B" }, - map: { unit: "\u8981\u7D20", verb: "\u3067\u3042\u308B" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u5165\u529B\u5024", - email: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9", - url: "URL", - emoji: "\u7D75\u6587\u5B57", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO\u65E5\u6642", - date: "ISO\u65E5\u4ED8", - time: "ISO\u6642\u523B", - duration: "ISO\u671F\u9593", - ipv4: "IPv4\u30A2\u30C9\u30EC\u30B9", - ipv6: "IPv6\u30A2\u30C9\u30EC\u30B9", - mac: "MAC\u30A2\u30C9\u30EC\u30B9", - cidrv4: "IPv4\u7BC4\u56F2", - cidrv6: "IPv6\u7BC4\u56F2", - base64: "base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217", - base64url: "base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217", - json_string: "JSON\u6587\u5B57\u5217", - e164: "E.164\u756A\u53F7", - credit_card: "\u30AF\u30EC\u30B8\u30C3\u30C8\u30AB\u30FC\u30C9\u756A\u53F7", - currency_code: "\u901A\u8CA8\u30B3\u30FC\u30C9", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u5165\u529B\u5024" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u6570\u5024", - array: "\u914D\u5217" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u7121\u52B9\u306A\u5165\u529B: instanceof ${issue2.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`; - } - return `\u7121\u52B9\u306A\u5165\u529B: ${expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u7121\u52B9\u306A\u5165\u529B: ${stringifyPrimitive(issue2.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`; - return `\u7121\u52B9\u306A\u9078\u629E: ${joinValues(issue2.values, "\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - case "too_big": { - const adj = issue2.inclusive ? "\u4EE5\u4E0B\u3067\u3042\u308B" : "\u3088\u308A\u5C0F\u3055\u3044"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue2.origin ?? "\u5024"}\u306F${issue2.maximum.toString()}${sizing.unit ?? "\u8981\u7D20"}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue2.origin ?? "\u5024"}\u306F${issue2.maximum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - } - case "too_small": { - const adj = issue2.inclusive ? "\u4EE5\u4E0A\u3067\u3042\u308B" : "\u3088\u308A\u5927\u304D\u3044"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue2.origin}\u306F${issue2.minimum.toString()}${sizing.unit}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue2.origin}\u306F${issue2.minimum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_issue.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - if (_issue.format === "ends_with") - return `\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_issue.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - if (_issue.format === "includes") - return `\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_issue.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - if (_issue.format === "regex") - return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${_issue.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - return `\u7121\u52B9\u306A${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u7121\u52B9\u306A\u6570\u5024: ${issue2.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; - case "unrecognized_keys": - return `\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${issue2.keys.length > 1 ? "\u7FA4" : ""}: ${joinValues(issue2.keys, "\u3001")}`; - case "invalid_key": - return `${issue2.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`; - case "invalid_union": - return "\u7121\u52B9\u306A\u5165\u529B"; - case "invalid_element": - return `${issue2.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`; - default: - return `\u7121\u52B9\u306A\u5165\u529B`; - } - }; -}; -function ja_default() { - return { - localeError: error28() - }; +// @__NO_SIDE_EFFECTS__ +function _base64url(Class2, params) { + return new Class2({ + type: "string", + format: "base64url", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/ka.js -var error29 = () => { - const Sizable = { - string: { unit: "\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" }, - file: { unit: "\u10D1\u10D0\u10D8\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" }, - array: { unit: "\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" }, - set: { unit: "\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" }, - map: { unit: "\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0", - email: "\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8", - url: "URL", - emoji: "\u10D4\u10DB\u10DD\u10EF\u10D8", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD", - date: "\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8", - time: "\u10D3\u10E0\u10DD", - duration: "\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0", - ipv4: "IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8", - ipv6: "IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8", - mac: "MAC \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8", - cidrv4: "IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8", - cidrv6: "IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8", - base64: "base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8", - base64url: "base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8", - json_string: "JSON \u10D5\u10D4\u10DA\u10D8", - e164: "E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8", - credit_card: "\u10E1\u10D0\u10D9\u10E0\u10D4\u10D3\u10D8\u10E2\u10DD \u10D1\u10D0\u10E0\u10D0\u10D7\u10D8\u10E1 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8", - currency_code: "\u10D5\u10D0\u10DA\u10E3\u10E2\u10D8\u10E1 \u10D9\u10DD\u10D3\u10D8", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8", - string: "\u10D5\u10D4\u10DA\u10D8", - boolean: "\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8", - function: "\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0", - array: "\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${issue2.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`; - } - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${stringifyPrimitive(issue2.values[0])}`; - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${joinValues(issue2.values, "|")}-\u10D3\u10D0\u10DC`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin ?? "\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit}`; - return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin ?? "\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.prefix}"-\u10D8\u10D7`; - } - if (_issue.format === "ends_with") - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.suffix}"-\u10D8\u10D7`; - if (_issue.format === "includes") - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${_issue.includes}"-\u10E1`; - if (_issue.format === "regex") - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${_issue.pattern}`; - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${issue2.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`; - case "unrecognized_keys": - return `\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${issue2.keys.length > 1 ? "\u10D4\u10D1\u10D8" : "\u10D8"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${issue2.origin}-\u10E8\u10D8`; - case "invalid_union": - return "\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"; - case "invalid_element": - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${issue2.origin}-\u10E8\u10D8`; - default: - return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0`; - } - }; -}; -function ka_default() { - return { - localeError: error29() - }; -} - -// ../../../node_modules/zod/v4/locales/km.js -var error30 = () => { - const Sizable = { - string: { unit: "\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" }, - file: { unit: "\u1794\u17C3", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" }, - array: { unit: "\u1792\u17B6\u178F\u17BB", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" }, - set: { unit: "\u1792\u17B6\u178F\u17BB", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" }, - map: { unit: "\u1792\u17B6\u178F\u17BB", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B", - email: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B", - url: "URL", - emoji: "\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO", - date: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO", - time: "\u1798\u17C9\u17C4\u1784 ISO", - duration: "\u179A\u1799\u17C8\u1796\u17C1\u179B ISO", - ipv4: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4", - ipv6: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6", - mac: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 MAC", - cidrv4: "\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4", - cidrv6: "\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6", - base64: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64", - base64url: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url", - json_string: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON", - e164: "\u179B\u17C1\u1781 E.164", - credit_card: "\u179B\u17C1\u1781\u1794\u17D0\u178E\u17D2\u178E\u17A5\u178E\u1791\u17B6\u1793", - currency_code: "\u1780\u17BC\u178A\u179A\u17BC\u1794\u17B7\u1799\u1794\u17D0\u178E\u17D2\u178E", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u179B\u17C1\u1781", - array: "\u17A2\u17B6\u179A\u17C1 (Array)", - null: "\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${issue2.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`; - } - return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${stringifyPrimitive(issue2.values[0])}`; - return `\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin ?? "\u178F\u1798\u17D2\u179B\u17C3"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "\u1792\u17B6\u178F\u17BB"}`; - return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin ?? "\u178F\u1798\u17D2\u179B\u17C3"} ${adj} ${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin} ${adj} ${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${_issue.pattern}`; - return `\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${issue2.divisor}`; - case "unrecognized_keys": - return `\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue2.origin}`; - case "invalid_union": - return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`; - case "invalid_element": - return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue2.origin}`; - default: - return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`; - } - }; -}; -function km_default() { - return { - localeError: error30() - }; +// @__NO_SIDE_EFFECTS__ +function _e164(Class2, params) { + return new Class2({ + type: "string", + format: "e164", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/kh.js -function kh_default() { - return km_default(); +// @__NO_SIDE_EFFECTS__ +function _jwt(Class2, params) { + return new Class2({ + type: "string", + format: "jwt", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/kn.js -var error31 = () => { - const Sizable = { - string: { unit: "\u0C85\u0C95\u0CCD\u0CB7\u0CB0\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" }, - file: { unit: "\u0CAC\u0CC8\u0C9F\u0CCD\u200C\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" }, - array: { unit: "\u0CB5\u0CB8\u0CCD\u0CA4\u0CC1\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" }, - set: { unit: "\u0CB5\u0CB8\u0CCD\u0CA4\u0CC1\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" }, - map: { unit: "entries", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0C87\u0CA8\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD", - email: "email \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u0CA6\u0CBF\u0CA8\u0CBE\u0C82\u0C95\u0CA6 \u0CB8\u0CAE\u0CAF", - date: "ISO \u0CA6\u0CBF\u0CA8\u0CBE\u0C82\u0C95", - time: "ISO \u0CB8\u0CAE\u0CAF", - duration: "ISO \u0C85\u0CB5\u0CA7\u0CBF", - ipv4: "IPv4 \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8", - ipv6: "IPv6 \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8", - mac: "MAC \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8", - cidrv4: "IPv4 \u0CB5\u0CCD\u0CAF\u0CBE\u0CAA\u0CCD\u0CA4\u0CBF\u0CAF", - cidrv6: "IPv6 \u0CB5\u0CCD\u0CAF\u0CBE\u0CAA\u0CCD\u0CA4\u0CBF\u0CAF", - base64: "base64-encoded\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD", - base64url: "base64url-encoded\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD", - json_string: "JSON\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD", - e164: "E.164 \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6", - credit_card: "\u0C95\u0CCD\u0CB0\u0CC6\u0CA1\u0CBF\u0C9F\u0CCD \u0C95\u0CBE\u0CB0\u0CCD\u0CA1\u0CCD \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6", - currency_code: "\u0C95\u0CB0\u0CC6\u0CA8\u0CCD\u0CB8\u0CBF \u0C95\u0CCB\u0CA1\u0CCD", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0C87\u0CA8\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD" - }; - const TypeDictionary = { - // Compatibility: "nan" -> "NaN" for display - nan: "NaN" - // All other type names omitted - they fall back to raw values via ?? operator - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${expected}, \u0CB8\u0CCD\u0CB5\u0CC0\u0C95\u0CB0\u0CBF\u0CB8\u0CBF\u0CA6\u0CA8\u0CC1 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${stringifyPrimitive(issue2.values[0])}`; - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C86\u0CAF\u0CCD\u0C95\u0CC6: \u0C87\u0CB5\u0CC1\u0C97\u0CB3\u0CB2\u0CCD\u0CB2\u0CBF \u0C92\u0C82\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin ?? "value"} \u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0C85\u0C82\u0CB6\u0C97\u0CB3\u0CC1"}`; - return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin ?? "value"} \u0C8E\u0C82\u0CA6\u0CC1 ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0C9A\u0CBF\u0C95\u0CCD\u0C95\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin} \u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1 ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0C9A\u0CBF\u0C95\u0CCD\u0C95\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin} \u0C8E\u0C82\u0CA6\u0CC1 ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C87\u0CA6\u0CB0\u0CCA\u0C82\u0CA6\u0CBF\u0C97\u0CC6 \u0CAA\u0CCD\u0CB0\u0CBE\u0CB0\u0C82\u0CAD\u0CBF\u0CB8\u0CAC\u0CC7\u0C95\u0CC1 "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C87\u0CA6\u0CB0\u0CCA\u0C82\u0CA6\u0CBF\u0C97\u0CC6 \u0C95\u0CCA\u0CA8\u0CC6\u0C97\u0CCA\u0CB3\u0CCD\u0CB3\u0CAC\u0CC7\u0C95\u0CC1 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C92\u0CB3\u0C97\u0CCA\u0C82\u0CA1\u0CBF\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CB9\u0CCA\u0C82\u0CA6\u0CBF\u0C95\u0CC6\u0CAF\u0CBE\u0C97\u0CAC\u0CC7\u0C95\u0CC1 ${_issue.pattern}`; - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6: \u0CAC\u0CB9\u0CC1\u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 ${issue2.divisor}`; - case "unrecognized_keys": - return `\u0C97\u0CC1\u0CB0\u0CC1\u0CA4\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CA6 \u0C95\u0CC0 ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0C95\u0CC0 \u0C87\u0CA8\u0CCD ${issue2.origin}`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CA4\u0CBE\u0CB0\u0CA4\u0CAE\u0CCD\u0CAF \u0CAE\u0CCC\u0CB2\u0CCD\u0CAF. \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${opts}`; - } - return "\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD"; - case "invalid_element": - return `\u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CAE\u0CCC\u0CB2\u0CCD\u0CAF ${issue2.origin}`; - default: - return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD`; - } - }; -}; -function kn_default() { - return { - localeError: error31() - }; +// @__NO_SIDE_EFFECTS__ +function _isoDateTime(Class2, params) { + return new Class2({ + type: "string", + format: "datetime", + check: "string_format", + offset: false, + local: false, + precision: null, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/ko.js -var error32 = () => { - const Sizable = { - string: { unit: "\uBB38\uC790", verb: "to have" }, - file: { unit: "\uBC14\uC774\uD2B8", verb: "to have" }, - array: { unit: "\uAC1C", verb: "to have" }, - set: { unit: "\uAC1C", verb: "to have" }, - map: { unit: "\uAC1C", verb: "to have" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\uC785\uB825", - email: "\uC774\uBA54\uC77C \uC8FC\uC18C", - url: "URL", - emoji: "\uC774\uBAA8\uC9C0", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \uB0A0\uC9DC\uC2DC\uAC04", - date: "ISO \uB0A0\uC9DC", - time: "ISO \uC2DC\uAC04", - duration: "ISO \uAE30\uAC04", - ipv4: "IPv4 \uC8FC\uC18C", - ipv6: "IPv6 \uC8FC\uC18C", - mac: "MAC \uC8FC\uC18C", - cidrv4: "IPv4 \uBC94\uC704", - cidrv6: "IPv6 \uBC94\uC704", - base64: "base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4", - base64url: "base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4", - json_string: "JSON \uBB38\uC790\uC5F4", - e164: "E.164 \uBC88\uD638", - credit_card: "\uC2E0\uC6A9\uCE74\uB4DC \uBC88\uD638", - currency_code: "\uD1B5\uD654 \uCF54\uB4DC", - iban: "IBAN", - jwt: "JWT", - template_literal: "\uC785\uB825" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${issue2.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`; - } - return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${stringifyPrimitive(issue2.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`; - return `\uC798\uBABB\uB41C \uC635\uC158: ${joinValues(issue2.values, "\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`; - case "too_big": { - const adj = issue2.inclusive ? "\uC774\uD558" : "\uBBF8\uB9CC"; - const suffix = adj === "\uBBF8\uB9CC" ? "\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4" : "\uC5EC\uC57C \uD569\uB2C8\uB2E4"; - const sizing = getSizing(issue2.origin); - const unit = sizing?.unit ?? "\uC694\uC18C"; - if (sizing) - return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue2.maximum.toString()}${unit} ${adj}${suffix}`; - return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue2.maximum.toString()} ${adj}${suffix}`; - } - case "too_small": { - const adj = issue2.inclusive ? "\uC774\uC0C1" : "\uCD08\uACFC"; - const suffix = adj === "\uC774\uC0C1" ? "\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4" : "\uC5EC\uC57C \uD569\uB2C8\uB2E4"; - const sizing = getSizing(issue2.origin); - const unit = sizing?.unit ?? "\uC694\uC18C"; - if (sizing) { - return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue2.minimum.toString()}${unit} ${adj}${suffix}`; - } - return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue2.minimum.toString()} ${adj}${suffix}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_issue.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`; - } - if (_issue.format === "ends_with") - return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_issue.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`; - if (_issue.format === "includes") - return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_issue.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`; - if (_issue.format === "regex") - return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${_issue.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`; - return `\uC798\uBABB\uB41C ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\uC798\uBABB\uB41C \uC22B\uC790: ${issue2.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`; - case "unrecognized_keys": - return `\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\uC798\uBABB\uB41C \uD0A4: ${issue2.origin}`; - case "invalid_union": - return `\uC798\uBABB\uB41C \uC785\uB825`; - case "invalid_element": - return `\uC798\uBABB\uB41C \uAC12: ${issue2.origin}`; - default: - return `\uC798\uBABB\uB41C \uC785\uB825`; - } - }; -}; -function ko_default() { - return { - localeError: error32() - }; +// @__NO_SIDE_EFFECTS__ +function _isoDate(Class2, params) { + return new Class2({ + type: "string", + format: "date", + check: "string_format", + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/lt.js -var capitalizeFirstCharacter = (text) => { - return text.charAt(0).toUpperCase() + text.slice(1); -}; -function getUnitTypeFromNumber(number4) { - const abs = Math.abs(number4); - const last = abs % 10; - const last2 = abs % 100; - if (last2 >= 11 && last2 <= 19 || last === 0) - return "many"; - if (last === 1) - return "one"; - return "few"; -} -var error33 = () => { - const Sizable = { - string: { - unit: { - one: "simbolis", - few: "simboliai", - many: "simboli\u0173" - }, - verb: { - smaller: { - inclusive: "turi b\u016Bti ne ilgesn\u0117 kaip", - notInclusive: "turi b\u016Bti trumpesn\u0117 kaip" - }, - bigger: { - inclusive: "turi b\u016Bti ne trumpesn\u0117 kaip", - notInclusive: "turi b\u016Bti ilgesn\u0117 kaip" - } - } - }, - file: { - unit: { - one: "baitas", - few: "baitai", - many: "bait\u0173" - }, - verb: { - smaller: { - inclusive: "turi b\u016Bti ne didesnis kaip", - notInclusive: "turi b\u016Bti ma\u017Eesnis kaip" - }, - bigger: { - inclusive: "turi b\u016Bti ne ma\u017Eesnis kaip", - notInclusive: "turi b\u016Bti didesnis kaip" - } - } - }, - array: { - unit: { - one: "element\u0105", - few: "elementus", - many: "element\u0173" - }, - verb: { - smaller: { - inclusive: "turi tur\u0117ti ne daugiau kaip", - notInclusive: "turi tur\u0117ti ma\u017Eiau kaip" - }, - bigger: { - inclusive: "turi tur\u0117ti ne ma\u017Eiau kaip", - notInclusive: "turi tur\u0117ti daugiau kaip" - } - } - }, - set: { - unit: { - one: "element\u0105", - few: "elementus", - many: "element\u0173" - }, - verb: { - smaller: { - inclusive: "turi tur\u0117ti ne daugiau kaip", - notInclusive: "turi tur\u0117ti ma\u017Eiau kaip" - }, - bigger: { - inclusive: "turi tur\u0117ti ne ma\u017Eiau kaip", - notInclusive: "turi tur\u0117ti daugiau kaip" - } - } - } - }; - function getSizing(origin, unitType, inclusive, targetShouldBe) { - const result = Sizable[origin] ?? null; - if (result === null) - return result; - return { - unit: result.unit[unitType], - verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"] - }; - } - const FormatDictionary = { - regex: "\u012Fvestis", - email: "el. pa\u0161to adresas", - url: "URL", - emoji: "jaustukas", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO data ir laikas", - date: "ISO data", - time: "ISO laikas", - duration: "ISO trukm\u0117", - ipv4: "IPv4 adresas", - ipv6: "IPv6 adresas", - mac: "MAC adresas", - cidrv4: "IPv4 tinklo prefiksas (CIDR)", - cidrv6: "IPv6 tinklo prefiksas (CIDR)", - base64: "base64 u\u017Ekoduota eilut\u0117", - base64url: "base64url u\u017Ekoduota eilut\u0117", - json_string: "JSON eilut\u0117", - e164: "E.164 numeris", - credit_card: "kredito kortel\u0117s numeris", - currency_code: "valiutos kodas", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u012Fvestis" - }; - const TypeDictionary = { - nan: "NaN", - number: "skai\u010Dius", - bigint: "sveikasis skai\u010Dius", - string: "eilut\u0117", - boolean: "login\u0117 reik\u0161m\u0117", - undefined: "neapibr\u0117\u017Eta reik\u0161m\u0117", - function: "funkcija", - symbol: "simbolis", - array: "masyvas", - object: "objektas", - null: "nulin\u0117 reik\u0161m\u0117" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Gautas tipas ${received}, o tik\u0117tasi - instanceof ${issue2.expected}`; - } - return `Gautas tipas ${received}, o tik\u0117tasi - ${expected}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Privalo b\u016Bti ${stringifyPrimitive(issue2.values[0])}`; - return `Privalo b\u016Bti vienas i\u0161 ${joinValues(issue2.values, "|")} pasirinkim\u0173`; - case "too_big": { - const origin = TypeDictionary[issue2.origin] ?? issue2.origin; - const sizing = getSizing(issue2.origin, getUnitTypeFromNumber(Number(issue2.maximum)), issue2.inclusive ?? false, "smaller"); - if (sizing?.verb) - return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} ${sizing.verb} ${issue2.maximum.toString()} ${sizing.unit ?? "element\u0173"}`; - const adj = issue2.inclusive ? "ne didesnis kaip" : "ma\u017Eesnis kaip"; - return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} turi b\u016Bti ${adj} ${issue2.maximum.toString()} ${sizing?.unit}`; - } - case "too_small": { - const origin = TypeDictionary[issue2.origin] ?? issue2.origin; - const sizing = getSizing(issue2.origin, getUnitTypeFromNumber(Number(issue2.minimum)), issue2.inclusive ?? false, "bigger"); - if (sizing?.verb) - return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} ${sizing.verb} ${issue2.minimum.toString()} ${sizing.unit ?? "element\u0173"}`; - const adj = issue2.inclusive ? "ne ma\u017Eesnis kaip" : "didesnis kaip"; - return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} turi b\u016Bti ${adj} ${issue2.minimum.toString()} ${sizing?.unit}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `Eilut\u0117 privalo prasid\u0117ti "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `Eilut\u0117 privalo pasibaigti "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Eilut\u0117 privalo \u012Ftraukti "${_issue.includes}"`; - if (_issue.format === "regex") - return `Eilut\u0117 privalo atitikti ${_issue.pattern}`; - return `Neteisingas ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Skai\u010Dius privalo b\u016Bti ${issue2.divisor} kartotinis.`; - case "unrecognized_keys": - return `Neatpa\u017Eint${issue2.keys.length > 1 ? "i" : "as"} rakt${issue2.keys.length > 1 ? "ai" : "as"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return "Rastas klaidingas raktas"; - case "invalid_union": - return "Klaidinga \u012Fvestis"; - case "invalid_element": { - const origin = TypeDictionary[issue2.origin] ?? issue2.origin; - return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`; - } - default: - return "Klaidinga \u012Fvestis"; - } - }; -}; -function lt_default() { - return { - localeError: error33() - }; +// @__NO_SIDE_EFFECTS__ +function _isoTime(Class2, params) { + return new Class2({ + type: "string", + format: "time", + check: "string_format", + precision: null, + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/mk.js -var error34 = () => { - const Sizable = { - string: { unit: "\u0437\u043D\u0430\u0446\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" }, - file: { unit: "\u0431\u0430\u0458\u0442\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" }, - array: { unit: "\u0441\u0442\u0430\u0432\u043A\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" }, - set: { unit: "\u0441\u0442\u0430\u0432\u043A\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" }, - map: { unit: "\u0441\u0442\u0430\u0432\u043A\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0432\u043D\u0435\u0441", - email: "\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430", - url: "URL", - emoji: "\u0435\u043C\u043E\u045F\u0438", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435", - date: "ISO \u0434\u0430\u0442\u0443\u043C", - time: "ISO \u0432\u0440\u0435\u043C\u0435", - duration: "ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435", - ipv4: "IPv4 \u0430\u0434\u0440\u0435\u0441\u0430", - ipv6: "IPv6 \u0430\u0434\u0440\u0435\u0441\u0430", - mac: "MAC \u0430\u0434\u0440\u0435\u0441\u0430", - cidrv4: "IPv4 \u043E\u043F\u0441\u0435\u0433", - cidrv6: "IPv6 \u043E\u043F\u0441\u0435\u0433", - base64: "base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430", - base64url: "base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430", - json_string: "JSON \u043D\u0438\u0437\u0430", - e164: "E.164 \u0431\u0440\u043E\u0458", - credit_card: "\u0431\u0440\u043E\u0458 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u0447\u043A\u0430", - currency_code: "\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0432\u043D\u0435\u0441" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0431\u0440\u043E\u0458", - array: "\u043D\u0438\u0437\u0430" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${issue2.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`; - } - return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`; - return `\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin ?? "\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`; - return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin ?? "\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${_issue.pattern}`; - return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${issue2.divisor}`; - case "unrecognized_keys": - return `${issue2.keys.length > 1 ? "\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438" : "\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${issue2.origin}`; - case "invalid_union": - return "\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"; - case "invalid_element": - return `\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${issue2.origin}`; - default: - return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441`; - } - }; -}; -function mk_default() { - return { - localeError: error34() - }; +// @__NO_SIDE_EFFECTS__ +function _isoDuration(Class2, params) { + return new Class2({ + type: "string", + format: "duration", + check: "string_format", + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/ms.js -var error35 = () => { - const Sizable = { - string: { unit: "aksara", verb: "mempunyai" }, - file: { unit: "bait", verb: "mempunyai" }, - array: { unit: "elemen", verb: "mempunyai" }, - set: { unit: "elemen", verb: "mempunyai" }, - map: { unit: "elemen", verb: "mempunyai" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "input", - email: "alamat e-mel", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "tarikh masa ISO", - date: "tarikh ISO", - time: "masa ISO", - duration: "tempoh ISO", - ipv4: "alamat IPv4", - ipv6: "alamat IPv6", - mac: "alamat MAC", - cidrv4: "julat IPv4", - cidrv6: "julat IPv6", - base64: "string dikodkan base64", - base64url: "string dikodkan base64url", - json_string: "string JSON", - e164: "nombor E.164", - credit_card: "nombor kad kredit", - currency_code: "kod mata wang", - iban: "IBAN", - jwt: "JWT", - template_literal: "input" - }; - const TypeDictionary = { - nan: "NaN", - number: "nombor" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Input tidak sah: dijangka instanceof ${issue2.expected}, diterima ${received}`; - } - return `Input tidak sah: dijangka ${expected}, diterima ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Input tidak sah: dijangka ${stringifyPrimitive(issue2.values[0])}`; - return `Pilihan tidak sah: dijangka salah satu daripada ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Terlalu besar: dijangka ${issue2.origin ?? "nilai"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemen"}`; - return `Terlalu besar: dijangka ${issue2.origin ?? "nilai"} adalah ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Terlalu kecil: dijangka ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Terlalu kecil: dijangka ${issue2.origin} adalah ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `String tidak sah: mesti bermula dengan "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `String tidak sah: mesti berakhir dengan "${_issue.suffix}"`; - if (_issue.format === "includes") - return `String tidak sah: mesti mengandungi "${_issue.includes}"`; - if (_issue.format === "regex") - return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`; - return `${FormatDictionary[_issue.format] ?? issue2.format} tidak sah`; - } - case "not_multiple_of": - return `Nombor tidak sah: perlu gandaan ${issue2.divisor}`; - case "unrecognized_keys": - return `Kunci tidak dikenali: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Kunci tidak sah dalam ${issue2.origin}`; - case "invalid_union": - return "Input tidak sah"; - case "invalid_element": - return `Nilai tidak sah dalam ${issue2.origin}`; - default: - return `Input tidak sah`; - } - }; -}; -function ms_default() { - return { - localeError: error35() - }; +// @__NO_SIDE_EFFECTS__ +function _number(Class2, params) { + return new Class2(snapshotChecks({ type: "number", checks: [], ...normalizeParams(params) })); } - -// ../../../node_modules/zod/v4/locales/ne.js -var error36 = () => { - const Sizable = { - string: { unit: "\u0905\u0915\u094D\u0937\u0930", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" }, - file: { unit: "\u092C\u093E\u0907\u091F", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" }, - array: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" }, - set: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" }, - map: { unit: "\u092A\u094D\u0930\u0935\u093F\u0937\u094D\u091F\u093F", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0907\u0928\u092A\u0941\u091F", - email: "\u0907\u092E\u0947\u0932 \u0920\u0947\u0917\u093E\u0928\u093E", - url: "URL", - emoji: "\u0907\u092E\u094B\u091C\u0940", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u092E\u093F\u0924\u093F \u0930 \u0938\u092E\u092F", - date: "ISO \u092E\u093F\u0924\u093F", - time: "ISO \u0938\u092E\u092F", - duration: "ISO \u0905\u0935\u0927\u093F", - ipv4: "IPv4 \u0920\u0947\u0917\u093E\u0928\u093E", - ipv6: "IPv6 \u0920\u0947\u0917\u093E\u0928\u093E", - mac: "MAC \u0920\u0947\u0917\u093E\u0928\u093E", - cidrv4: "IPv4 \u0926\u093E\u092F\u0930\u093E", - cidrv6: "IPv6 \u0926\u093E\u092F\u0930\u093E", - base64: "base64-\u0907\u0928\u094D\u0915\u094B\u0921 \u0917\u0930\u093F\u090F\u0915\u094B \u0938\u094D\u091F\u094D\u0930\u093F\u0919", - base64url: "base64url-\u0907\u0928\u094D\u0915\u094B\u0921 \u0917\u0930\u093F\u090F\u0915\u094B \u0938\u094D\u091F\u094D\u0930\u093F\u0919", - json_string: "JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0919", - e164: "E.164 \u0928\u092E\u094D\u092C\u0930", - credit_card: "\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0928\u092E\u094D\u092C\u0930", - currency_code: "\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0907\u0928\u092A\u0941\u091F" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${expected}, \u092A\u094D\u0930\u093E\u092A\u094D\u0924 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${stringifyPrimitive(issue2.values[0])}`; - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0935\u093F\u0915\u0932\u094D\u092A: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u092E\u093E\u0928\u0939\u0930\u0942 \u092E\u0927\u094D\u092F\u0947 \u090F\u0915 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0927\u0947\u0930\u0948 \u0920\u0942\u0932\u094B: ${issue2.origin ?? "\u092E\u093E\u0928"} \u092E\u093E ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`; - return `\u0927\u0947\u0930\u0948 \u0920\u0942\u0932\u094B: ${issue2.origin ?? "\u092E\u093E\u0928"} ${adj}${issue2.maximum.toString()} \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0927\u0947\u0930\u0948 \u0938\u093E\u0928\u094B: ${issue2.origin} \u092E\u093E ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; - return `\u0927\u0947\u0930\u0948 \u0938\u093E\u0928\u094B: ${issue2.origin} ${adj}${issue2.minimum.toString()} \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: "${_issue.prefix}" \u092C\u093E\u091F \u0938\u0941\u0930\u0941 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; - if (_issue.format === "ends_with") - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: "${_issue.suffix}" \u092E\u093E \u0938\u092E\u093E\u092A\u094D\u0924 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; - if (_issue.format === "includes") - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: "${_issue.includes}" \u0938\u092E\u093E\u0935\u0947\u0936 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; - if (_issue.format === "regex") - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: \u0922\u093E\u0901\u091A\u093E ${_issue.pattern} \u0938\u0901\u0917 \u092E\u0947\u0932 \u0916\u093E\u0928\u0941\u092A\u0930\u094D\u091B`; - return `\u0905\u092E\u093E\u0928\u094D\u092F ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u0902\u0916\u094D\u092F\u093E: ${issue2.divisor} \u0915\u094B \u0917\u0941\u0923\u091C \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; - case "unrecognized_keys": - return `\u0905\u092A\u0930\u093F\u091A\u093F\u0924 \u0915\u0941\u091E\u094D\u091C\u0940${issue2.keys.length > 1 ? "\u0939\u0930\u0942" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0915\u0941\u091E\u094D\u091C\u0940: ${issue2.origin} \u092E\u093E`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0921\u093F\u0938\u094D\u0915\u094D\u0930\u093F\u092E\u093F\u0928\u0947\u091F\u0930 \u092E\u093E\u0928: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${opts}`; - } - return "\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F"; - case "invalid_element": - return `\u0905\u092E\u093E\u0928\u094D\u092F \u092E\u093E\u0928: ${issue2.origin} \u092E\u093E`; - default: - return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F`; - } - }; -}; -function ne_default() { - return { - localeError: error36() - }; +// @__NO_SIDE_EFFECTS__ +function _int(Class2, params) { + return new Class2({ + type: "number", + check: "number_format", + abort: false, + format: "safeint", + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/nl.js -var error37 = () => { - const Sizable = { - string: { unit: "tekens", verb: "heeft" }, - file: { unit: "bytes", verb: "heeft" }, - array: { unit: "elementen", verb: "heeft" }, - set: { unit: "elementen", verb: "heeft" }, - map: { unit: "elementen", verb: "heeft" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "invoer", - email: "emailadres", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO datum en tijd", - date: "ISO datum", - time: "ISO tijd", - duration: "ISO duur", - ipv4: "IPv4-adres", - ipv6: "IPv6-adres", - mac: "MAC-adres", - cidrv4: "IPv4-bereik", - cidrv6: "IPv6-bereik", - base64: "base64-gecodeerde tekst", - base64url: "base64 URL-gecodeerde tekst", - json_string: "JSON string", - e164: "E.164-nummer", - credit_card: "creditcardnummer", - currency_code: "valutacode", - iban: "IBAN", - jwt: "JWT", - template_literal: "invoer" - }; - const TypeDictionary = { - nan: "NaN", - number: "getal" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Ongeldige invoer: verwacht instanceof ${issue2.expected}, ontving ${received}`; - } - return `Ongeldige invoer: verwacht ${expected}, ontving ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Ongeldige invoer: verwacht ${stringifyPrimitive(issue2.values[0])}`; - return `Ongeldige optie: verwacht \xE9\xE9n van ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - const longName = issue2.origin === "date" ? "laat" : issue2.origin === "string" ? "lang" : "groot"; - if (sizing) - return `Te ${longName}: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementen"} ${sizing.verb}`; - return `Te ${longName}: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} is`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - const shortName = issue2.origin === "date" ? "vroeg" : issue2.origin === "string" ? "kort" : "klein"; - if (sizing) { - return `Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; - } - return `Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} is`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `Ongeldige tekst: moet met "${_issue.prefix}" beginnen`; - } - if (_issue.format === "ends_with") - return `Ongeldige tekst: moet op "${_issue.suffix}" eindigen`; - if (_issue.format === "includes") - return `Ongeldige tekst: moet "${_issue.includes}" bevatten`; - if (_issue.format === "regex") - return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`; - return `Ongeldig: ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Ongeldig getal: moet een veelvoud van ${issue2.divisor} zijn`; - case "unrecognized_keys": - return `Onbekende key${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Ongeldige key in ${issue2.origin}`; - case "invalid_union": - return "Ongeldige invoer"; - case "invalid_element": - return `Ongeldige waarde in ${issue2.origin}`; - default: - return `Ongeldige invoer`; - } - }; -}; -function nl_default() { - return { - localeError: error37() - }; +// @__NO_SIDE_EFFECTS__ +function _boolean(Class2, params) { + return new Class2({ + type: "boolean", + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/nn.js -var error38 = () => { - const Sizable = { - string: { unit: "teikn", verb: "\xE5 ha" }, - file: { unit: "bytes", verb: "\xE5 ha" }, - array: { unit: "element", verb: "\xE5 innehalde" }, - set: { unit: "element", verb: "\xE5 innehalde" }, - map: { unit: "element", verb: "\xE5 innehalde" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "input", - email: "e-postadresse", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO dato- og klokkeslett", - date: "ISO-dato", - time: "ISO-klokkeslett", - duration: "ISO-varigheit", - ipv4: "IPv4-adresse", - ipv6: "IPv6-adresse", - mac: "MAC-adresse", - cidrv4: "IPv4-spekter", - cidrv6: "IPv6-spekter", - base64: "base64-enkoda streng", - base64url: "base64url-enkoda streng", - json_string: "JSON-streng", - e164: "E.164-nummer", - credit_card: "kredittkortnummer", - currency_code: "valutakode", - iban: "IBAN", - jwt: "JWT", - template_literal: "input" - }; - const TypeDictionary = { - nan: "NaN", - number: "tal", - array: "liste" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Ugyldig input: forventa instanceof ${issue2.expected}, fekk ${received}`; - } - return `Ugyldig input: forventa ${expected}, fekk ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Ugyldig verdi: forventa ${stringifyPrimitive(issue2.values[0])}`; - return `Ugyldig val: forventa eitt av ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `For stor(t): forventa ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`; - return `For stor(t): forventa ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `For lite(n): forventa ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `For lite(n): forventa ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Ugyldig streng: m\xE5 starte med "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Ugyldig streng: m\xE5 slutte med "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Ugyldig streng: m\xE5 innehalde "${_issue.includes}"`; - if (_issue.format === "regex") - return `Ugyldig streng: m\xE5 matche m\xF8nsteret ${_issue.pattern}`; - return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Ugyldig tal: m\xE5 vere eit multiplum av ${issue2.divisor}`; - case "unrecognized_keys": - return `${issue2.keys.length > 1 ? "Ukjende n\xF8klar" : "Ukjend n\xF8kkel"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Ugyldig n\xF8kkel i ${issue2.origin}`; - case "invalid_union": - return "Ugyldig input"; - case "invalid_element": - return `Ugyldig verdi i ${issue2.origin}`; - default: - return `Ugyldig input`; - } - }; -}; -function nn_default() { - return { - localeError: error38() - }; +// @__NO_SIDE_EFFECTS__ +function _unknown(Class2) { + return new Class2({ + type: "unknown" + }); } - -// ../../../node_modules/zod/v4/locales/no.js -var error39 = () => { - const Sizable = { - string: { unit: "tegn", verb: "\xE5 ha" }, - file: { unit: "bytes", verb: "\xE5 ha" }, - array: { unit: "elementer", verb: "\xE5 inneholde" }, - set: { unit: "elementer", verb: "\xE5 inneholde" }, - map: { unit: "elementer", verb: "\xE5 inneholde" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "input", - email: "e-postadresse", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO dato- og klokkeslett", - date: "ISO-dato", - time: "ISO-klokkeslett", - duration: "ISO-varighet", - ipv4: "IPv4-adresse", - ipv6: "IPv6-adresse", - mac: "MAC-adresse", - cidrv4: "IPv4-spekter", - cidrv6: "IPv6-spekter", - base64: "base64-enkodet streng", - base64url: "base64url-enkodet streng", - json_string: "JSON-streng", - e164: "E.164-nummer", - credit_card: "kredittkortnummer", - currency_code: "valutakode", - iban: "IBAN", - jwt: "JWT", - template_literal: "input" - }; - const TypeDictionary = { - nan: "NaN", - number: "tall", - array: "liste" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Ugyldig input: forventet instanceof ${issue2.expected}, fikk ${received}`; - } - return `Ugyldig input: forventet ${expected}, fikk ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Ugyldig verdi: forventet ${stringifyPrimitive(issue2.values[0])}`; - return `Ugyldig valg: forventet en av ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `For stor(t): forventet ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementer"}`; - return `For stor(t): forventet ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `For lite(n): forventet ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `For lite(n): forventet ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Ugyldig streng: m\xE5 starte med "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Ugyldig streng: m\xE5 ende med "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Ugyldig streng: m\xE5 inneholde "${_issue.includes}"`; - if (_issue.format === "regex") - return `Ugyldig streng: m\xE5 matche m\xF8nsteret ${_issue.pattern}`; - return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Ugyldig tall: m\xE5 v\xE6re et multiplum av ${issue2.divisor}`; - case "unrecognized_keys": - return `${issue2.keys.length > 1 ? "Ukjente n\xF8kler" : "Ukjent n\xF8kkel"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Ugyldig n\xF8kkel i ${issue2.origin}`; - case "invalid_union": - return "Ugyldig input"; - case "invalid_element": - return `Ugyldig verdi i ${issue2.origin}`; - default: - return `Ugyldig input`; - } - }; -}; -function no_default() { - return { - localeError: error39() - }; +// @__NO_SIDE_EFFECTS__ +function _never(Class2, params) { + return new Class2({ + type: "never", + ...normalizeParams(params) + }); } - -// ../../../node_modules/zod/v4/locales/ota.js -var error40 = () => { - const Sizable = { - string: { unit: "harf", verb: "olmal\u0131d\u0131r" }, - file: { unit: "bayt", verb: "olmal\u0131d\u0131r" }, - array: { unit: "unsur", verb: "olmal\u0131d\u0131r" }, - set: { unit: "unsur", verb: "olmal\u0131d\u0131r" }, - map: { unit: "unsur", verb: "olmal\u0131d\u0131r" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "giren", - email: "epostag\xE2h", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO heng\xE2m\u0131", - date: "ISO tarihi", - time: "ISO zaman\u0131", - duration: "ISO m\xFCddeti", - ipv4: "IPv4 ni\u015F\xE2n\u0131", - ipv6: "IPv6 ni\u015F\xE2n\u0131", - mac: "MAC ni\u015F\xE2n\u0131", - cidrv4: "IPv4 menzili", - cidrv6: "IPv6 menzili", - base64: "base64-\u015Fifreli metin", - base64url: "base64url-\u015Fifreli metin", - json_string: "JSON metin", - e164: "E.164 say\u0131s\u0131", - credit_card: "i'tib\xE2r kart\u0131 numaras\u0131", - currency_code: "para birimi kodu", - iban: "IBAN", - jwt: "JWT", - template_literal: "giren" - }; - const TypeDictionary = { - nan: "NaN", - number: "numara", - array: "saf", - null: "gayb" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `F\xE2sit giren: umulan instanceof ${issue2.expected}, al\u0131nan ${received}`; - } - return `F\xE2sit giren: umulan ${expected}, al\u0131nan ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `F\xE2sit giren: umulan ${stringifyPrimitive(issue2.values[0])}`; - return `F\xE2sit tercih: m\xFBteberler ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Fazla b\xFCy\xFCk: ${issue2.origin ?? "value"}, ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"} sahip olmal\u0131yd\u0131.`; - return `Fazla b\xFCy\xFCk: ${issue2.origin ?? "value"}, ${adj}${issue2.maximum.toString()} olmal\u0131yd\u0131.`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Fazla k\xFC\xE7\xFCk: ${issue2.origin}, ${adj}${issue2.minimum.toString()} ${sizing.unit} sahip olmal\u0131yd\u0131.`; - } - return `Fazla k\xFC\xE7\xFCk: ${issue2.origin}, ${adj}${issue2.minimum.toString()} olmal\u0131yd\u0131.`; - } - case "invalid_format": { +// @__NO_SIDE_EFFECTS__ +function _lt(value, params) { + return new $ZodCheckLessThan({ + check: "less_than", + ...normalizeParams(params), + value, + inclusive: false + }); +} +// @__NO_SIDE_EFFECTS__ +function _lte(value, params) { + return new $ZodCheckLessThan({ + check: "less_than", + ...normalizeParams(params), + value, + inclusive: true + }); +} +// @__NO_SIDE_EFFECTS__ +function _gt(value, params) { + return new $ZodCheckGreaterThan({ + check: "greater_than", + ...normalizeParams(params), + value, + inclusive: false + }); +} +// @__NO_SIDE_EFFECTS__ +function _gte(value, params) { + return new $ZodCheckGreaterThan({ + check: "greater_than", + ...normalizeParams(params), + value, + inclusive: true + }); +} +// @__NO_SIDE_EFFECTS__ +function _multipleOf(value, params) { + return new $ZodCheckMultipleOf({ + check: "multiple_of", + ...normalizeParams(params), + value + }); +} +// @__NO_SIDE_EFFECTS__ +function _maxLength(maximum, params) { + const ch = new $ZodCheckMaxLength({ + check: "max_length", + ...normalizeParams(params), + maximum + }); + return ch; +} +// @__NO_SIDE_EFFECTS__ +function _minLength(minimum, params) { + return new $ZodCheckMinLength({ + check: "min_length", + ...normalizeParams(params), + minimum + }); +} +// @__NO_SIDE_EFFECTS__ +function _length(length, params) { + return new $ZodCheckLengthEquals({ + check: "length_equals", + ...normalizeParams(params), + length + }); +} +// @__NO_SIDE_EFFECTS__ +function _regex(pattern, params) { + return new $ZodCheckRegex({ + check: "string_format", + format: "regex", + ...normalizeParams(params), + pattern + }); +} +// @__NO_SIDE_EFFECTS__ +function _lowercase(params) { + return new $ZodCheckLowerCase({ + check: "string_format", + format: "lowercase", + ...normalizeParams(params) + }); +} +// @__NO_SIDE_EFFECTS__ +function _uppercase(params) { + return new $ZodCheckUpperCase({ + check: "string_format", + format: "uppercase", + ...normalizeParams(params) + }); +} +// @__NO_SIDE_EFFECTS__ +function _includes(includes, params) { + return new $ZodCheckIncludes({ + check: "string_format", + format: "includes", + ...normalizeParams(params), + includes + }); +} +// @__NO_SIDE_EFFECTS__ +function _startsWith(prefix, params) { + return new $ZodCheckStartsWith({ + check: "string_format", + format: "starts_with", + ...normalizeParams(params), + prefix + }); +} +// @__NO_SIDE_EFFECTS__ +function _endsWith(suffix, params) { + return new $ZodCheckEndsWith({ + check: "string_format", + format: "ends_with", + ...normalizeParams(params), + suffix + }); +} +// @__NO_SIDE_EFFECTS__ +function _overwrite(tx) { + return new $ZodCheckOverwrite({ + check: "overwrite", + tx + }); +} +// @__NO_SIDE_EFFECTS__ +function _normalize(form) { + return /* @__PURE__ */ _overwrite((input2) => input2.normalize(form)); +} +// @__NO_SIDE_EFFECTS__ +function _trim() { + return /* @__PURE__ */ _overwrite((input2) => input2.trim()); +} +// @__NO_SIDE_EFFECTS__ +function _toLowerCase() { + return /* @__PURE__ */ _overwrite((input2) => input2.toLowerCase()); +} +// @__NO_SIDE_EFFECTS__ +function _toUpperCase() { + return /* @__PURE__ */ _overwrite((input2) => input2.toUpperCase()); +} +// @__NO_SIDE_EFFECTS__ +function _slugify() { + return /* @__PURE__ */ _overwrite((input2) => slugify(input2)); +} +// @__NO_SIDE_EFFECTS__ +function _array(Class2, element, params) { + return new Class2({ + type: "array", + element, + // get element() { + // return element; + // }, + ...normalizeParams(params) + }); +} +// @__NO_SIDE_EFFECTS__ +function _refine(Class2, fn, _params) { + const schema = new Class2({ + type: "custom", + check: "custom", + fn, + ...normalizeParams(_params) + }); + return schema; +} +// @__NO_SIDE_EFFECTS__ +function _superRefine(fn, params) { + const ch = /* @__PURE__ */ _check((payload) => { + payload.addIssue = (issue2) => { + if (typeof issue2 === "string") { + payload.issues.push(issue(issue2, payload.value, ch._zod.def)); + } else { const _issue = issue2; - if (_issue.format === "starts_with") - return `F\xE2sit metin: "${_issue.prefix}" ile ba\u015Flamal\u0131.`; - if (_issue.format === "ends_with") - return `F\xE2sit metin: "${_issue.suffix}" ile bitmeli.`; - if (_issue.format === "includes") - return `F\xE2sit metin: "${_issue.includes}" ihtiv\xE2 etmeli.`; - if (_issue.format === "regex") - return `F\xE2sit metin: ${_issue.pattern} nak\u015F\u0131na uymal\u0131.`; - return `F\xE2sit ${FormatDictionary[_issue.format] ?? issue2.format}`; + if (_issue.fatal) + _issue.continue = false; + _issue.code ?? (_issue.code = "custom"); + if (!("input" in _issue)) + _issue.input = payload.value; + _issue.inst ?? (_issue.inst = ch); + _issue.continue ?? (_issue.continue = !ch._zod.def.abort); + payload.issues.push(issue(_issue)); + } + }; + return fn(payload.value, payload); + }, params); + return ch; +} +// @__NO_SIDE_EFFECTS__ +function _check(fn, params) { + const ch = new $ZodCheck({ + check: "custom", + ...normalizeParams(params) + }); + ch._zod.check = fn; + return ch; +} + +// ../../../node_modules/zod/v4/core/to-json-schema.js +function assignProps(target, ...sources) { + for (const source2 of sources) { + for (const key of Reflect.ownKeys(source2)) { + if (Object.prototype.propertyIsEnumerable.call(source2, key)) { + assignProp(target, key, source2[key]); } - case "not_multiple_of": - return `F\xE2sit say\u0131: ${issue2.divisor} kat\u0131 olmal\u0131yd\u0131.`; - case "unrecognized_keys": - return `Tan\u0131nmayan anahtar ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `${issue2.origin} i\xE7in tan\u0131nmayan anahtar var.`; - case "invalid_union": - return "Giren tan\u0131namad\u0131."; - case "invalid_element": - return `${issue2.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`; - default: - return `K\u0131ymet tan\u0131namad\u0131.`; } - }; -}; -function ota_default() { + } + return target; +} +function initializeContext(params) { + let target = params?.target ?? "draft-2020-12"; + if (target === "draft-4") + target = "draft-04"; + if (target === "draft-7") + target = "draft-07"; return { - localeError: error40() + processors: params.processors ?? {}, + metadataRegistry: params?.metadata ?? globalRegistry, + target, + unrepresentable: params?.unrepresentable ?? "throw", + override: params?.override ?? (() => { + }), + io: params?.io ?? "output", + counter: 0, + seen: /* @__PURE__ */ new Map(), + sharedDefsExtractedFor: void 0, + sharedEmitDoneFor: void 0, + cycles: params?.cycles ?? "ref", + reused: params?.reused ?? "inline", + intersections: [], + deferred: [], + external: params?.external ?? void 0 }; } - -// ../../../node_modules/zod/v4/locales/ps.js -var error41 = () => { - const Sizable = { - string: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" }, - file: { unit: "\u0628\u0627\u06CC\u067C\u0633", verb: "\u0648\u0644\u0631\u064A" }, - array: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" }, - set: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" }, - map: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0648\u0631\u0648\u062F\u064A", - email: "\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9", - url: "\u06CC\u0648 \u0622\u0631 \u0627\u0644", - emoji: "\u0627\u06CC\u0645\u0648\u062C\u064A", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A", - date: "\u0646\u06D0\u067C\u0647", - time: "\u0648\u062E\u062A", - duration: "\u0645\u0648\u062F\u0647", - ipv4: "\u062F IPv4 \u067E\u062A\u0647", - ipv6: "\u062F IPv6 \u067E\u062A\u0647", - mac: "\u062F MAC \u067E\u062A\u0647", - cidrv4: "\u062F IPv4 \u0633\u0627\u062D\u0647", - cidrv6: "\u062F IPv6 \u0633\u0627\u062D\u0647", - base64: "base64-encoded \u0645\u062A\u0646", - base64url: "base64url-encoded \u0645\u062A\u0646", - json_string: "JSON \u0645\u062A\u0646", - e164: "\u062F E.164 \u0634\u0645\u06D0\u0631\u0647", - credit_card: "\u062F \u06A9\u0631\u06CC\u0689\u06CC\u067C \u06A9\u0627\u0631\u062A \u0634\u0645\u06CC\u0631\u0647", - currency_code: "\u062F \u0627\u0633\u0639\u0627\u0631\u0648 \u06A9\u0648\u0689", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0648\u0631\u0648\u062F\u064A" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0639\u062F\u062F", - array: "\u0627\u0631\u06D0" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${issue2.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`; - } - return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`; - } - case "invalid_value": - if (issue2.values.length === 1) { - return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${stringifyPrimitive(issue2.values[0])} \u0648\u0627\u06CC`; - } - return `\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${joinValues(issue2.values, "|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue2.origin ?? "\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`; - } - return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue2.origin ?? "\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} \u0648\u064A`; +function handleUnrepresentable(schema, ctx, json, params, message) { + const result = typeof ctx.unrepresentable === "function" ? ctx.unrepresentable({ zodSchema: schema, path: params.path, message }) : ctx.unrepresentable; + if (result === "any") + return false; + if (result === void 0 || result === "throw") + throw new Error(message); + Object.assign(json, result); + return true; +} +function processSchema(schema, ctx, _params = { path: [], schemaPath: [] }) { + var _a3; + const def = schema._zod.def; + const seen2 = ctx.seen.get(schema); + if (seen2) { + seen2.count++; + const isCycle = _params.schemaPath.includes(schema); + if (isCycle) { + seen2.cycle = _params.path; + } + return seen2.schema; + } + const result = { schema: {}, count: 1, cycle: void 0, path: _params.path }; + ctx.seen.set(schema, result); + ctx.sharedDefsExtractedFor = void 0; + ctx.sharedEmitDoneFor = void 0; + const overrideSchema = schema._zod.toJSONSchema?.(); + if (overrideSchema) { + result.schema = overrideSchema; + } else { + const params = { + ..._params, + schemaPath: [..._params.schemaPath, schema], + path: _params.path + }; + if (schema._zod.processJSONSchema) { + schema._zod.processJSONSchema(ctx, result.schema, params); + } else { + const _json = result.schema; + const processor = ctx.processors[def.type]; + if (!processor) { + throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`); } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0648\u0644\u0631\u064A`; - } - return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} \u0648\u064A`; + processor(schema, ctx, _json, params); + } + const parent = schema._zod.parent; + if (parent) { + if (!result.ref) + result.ref = parent; + processSchema(parent, ctx, params); + ctx.seen.get(parent).isParent = true; + } + } + const meta2 = ctx.metadataRegistry.get(schema); + if (meta2) + assignProps(result.schema, meta2); + if (ctx.io === "input" && isTransforming(schema)) { + delete result.schema.examples; + delete result.schema.default; + } + if (ctx.io === "input" && "_prefault" in result.schema) + (_a3 = result.schema).default ?? (_a3.default = result.schema._prefault); + delete result.schema._prefault; + const _result = ctx.seen.get(schema); + return _result.schema; +} +function encodeJSONPointerSegment(segment) { + return segment.replace(/~/g, "~0").replace(/\//g, "~1"); +} +function extractDefs(ctx, schema) { + const root = ctx.seen.get(schema); + if (!root) + throw new Error("Unprocessed schema. This is a bug in Zod."); + if (ctx.external && ctx.sharedDefsExtractedFor === ctx.external) + return; + const idToSchema = /* @__PURE__ */ new Map(); + for (const entry of ctx.seen.entries()) { + const id = ctx.metadataRegistry.get(entry[0])?.id; + if (id) { + const existing = idToSchema.get(id); + if (existing && existing !== entry[0]) { + throw new Error(`Duplicate schema id "${id}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`); } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${_issue.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`; - } - if (_issue.format === "ends_with") { - return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${_issue.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`; - } - if (_issue.format === "includes") { - return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${_issue.includes}" \u0648\u0644\u0631\u064A`; - } - if (_issue.format === "regex") { - return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${_issue.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`; - } - return `${FormatDictionary[_issue.format] ?? issue2.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`; + idToSchema.set(id, entry[0]); + } + } + const makeURI = (entry) => { + const defsSegment = ctx.target === "draft-2020-12" ? "$defs" : "definitions"; + if (ctx.external) { + const externalId = ctx.external.registry.get(entry[0])?.id; + const uriGenerator = ctx.external.uri ?? ((id2) => id2); + if (externalId) { + return { ref: uriGenerator(externalId) }; } - case "not_multiple_of": - return `\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${issue2.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`; - case "unrecognized_keys": - return `\u0646\u0627\u0633\u0645 ${issue2.keys.length > 1 ? "\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647" : "\u06A9\u0644\u06CC\u0689"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${issue2.origin} \u06A9\u06D0`; - case "invalid_union": - return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`; - case "invalid_element": - return `\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${issue2.origin} \u06A9\u06D0`; - default: - return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`; + const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`; + entry[1].defId = id; + return { defId: id, ref: `${uriGenerator("__shared")}#/${defsSegment}/${encodeJSONPointerSegment(id)}` }; } + const uriPrefix = `#`; + const defUriPrefix = `${uriPrefix}/${defsSegment}/`; + if (entry[1] === root && !entry[1].schema.id) { + return { ref: uriPrefix }; + } + const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`; + return { defId, ref: defUriPrefix + encodeJSONPointerSegment(defId) }; }; -}; -function ps_default() { - return { - localeError: error41() + const extractToDef = (entry) => { + if (entry[1].schema.$ref) { + return; + } + const seen2 = entry[1]; + const { ref, defId } = makeURI(entry); + seen2.def = { ...seen2.schema }; + if (defId) + seen2.defId = defId; + const schema2 = seen2.schema; + for (const key in schema2) { + delete schema2[key]; + } + schema2.$ref = ref; }; -} + if (ctx.cycles === "throw") { + for (const entry of ctx.seen.entries()) { + const seen2 = entry[1]; + if (seen2.cycle) { + throw new Error(`Cycle detected: #/${seen2.cycle?.join("/")}/ -// ../../../node_modules/zod/v4/locales/pl.js -var error42 = () => { - const Sizable = { - string: { unit: "znak\xF3w", verb: "mie\u0107" }, - file: { unit: "bajt\xF3w", verb: "mie\u0107" }, - array: { unit: "element\xF3w", verb: "mie\u0107" }, - set: { unit: "element\xF3w", verb: "mie\u0107" }, - map: { unit: "element\xF3w", verb: "mie\u0107" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "wyra\u017Cenie", - email: "adres email", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "data i godzina w formacie ISO", - date: "data w formacie ISO", - time: "godzina w formacie ISO", - duration: "czas trwania ISO", - ipv4: "adres IPv4", - ipv6: "adres IPv6", - mac: "adres MAC", - cidrv4: "zakres IPv4", - cidrv6: "zakres IPv6", - base64: "ci\u0105g znak\xF3w zakodowany w formacie base64", - base64url: "ci\u0105g znak\xF3w zakodowany w formacie base64url", - json_string: "ci\u0105g znak\xF3w w formacie JSON", - e164: "liczba E.164", - credit_card: "numer karty kredytowej", - currency_code: "kod waluty", - iban: "IBAN", - jwt: "JWT", - template_literal: "wej\u015Bcie" - }; - const TypeDictionary = { - nan: "NaN", - number: "liczba", - array: "tablica" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${issue2.expected}, otrzymano ${received}`; - } - return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${expected}, otrzymano ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${stringifyPrimitive(issue2.values[0])}`; - return `Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie mie\u0107 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element\xF3w"}`; - } - return `Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${adj}${issue2.maximum.toString()}`; +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`); } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie mie\u0107 ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "element\xF3w"}`; - } - return `Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${adj}${issue2.minimum.toString()}`; + } + } + for (const entry of ctx.seen.entries()) { + const seen2 = entry[1]; + if (schema === entry[0]) { + extractToDef(entry); + continue; + } + if (ctx.external) { + const ext = ctx.external.registry.get(entry[0])?.id; + if (schema !== entry[0] && ext) { + extractToDef(entry); + continue; } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${_issue.includes}"`; - if (_issue.format === "regex") - return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${_issue.pattern}`; - return `Nieprawid\u0142ow(y/a/e) ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + const id = ctx.metadataRegistry.get(entry[0])?.id; + if (id) { + extractToDef(entry); + continue; + } + if (seen2.cycle) { + extractToDef(entry); + continue; + } + if (seen2.count > 1) { + if (ctx.reused === "ref") { + extractToDef(entry); } - case "not_multiple_of": - return `Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${issue2.divisor}`; - case "unrecognized_keys": - return `Nierozpoznane klucze${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Nieprawid\u0142owy klucz w ${issue2.origin}`; - case "invalid_union": - return "Nieprawid\u0142owe dane wej\u015Bciowe"; - case "invalid_element": - return `Nieprawid\u0142owa warto\u015B\u0107 w ${issue2.origin}`; - default: - return `Nieprawid\u0142owe dane wej\u015Bciowe`; } - }; -}; -function pl_default() { - return { - localeError: error42() - }; -} - -// ../../../node_modules/zod/v4/locales/pt.js -var error43 = () => { - const Sizable = { - string: { unit: "caracteres" }, - file: { unit: "bytes" }, - array: { unit: "elementos" }, - set: { unit: "elementos" }, - map: { unit: "entradas" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "a entrada", - email: "o endere\xE7o de e-mail", - url: "o URL", - emoji: "o emoji", - uuid: "o UUID", - uuidv4: "o UUIDv4", - uuidv6: "o UUIDv6", - nanoid: "o nanoid", - guid: "o GUID", - cuid: "o cuid", - cuid2: "o cuid2", - ulid: "o ULID", - xid: "o XID", - ksuid: "o KSUID", - datetime: "a data e hora ISO", - date: "a data ISO", - time: "a hora ISO", - duration: "a dura\xE7\xE3o ISO", - ipv4: "o endere\xE7o IPv4", - ipv6: "o endere\xE7o IPv6", - mac: "o endere\xE7o MAC", - cidrv4: "o intervalo de endere\xE7os IPv4", - cidrv6: "o intervalo de endere\xE7os IPv6", - base64: "o texto codificado em base64", - base64url: "o texto codificado em base64url", - json_string: "o texto JSON", - e164: "o n\xFAmero E.164", - credit_card: "o n\xFAmero de cart\xE3o de cr\xE9dito", - currency_code: "o c\xF3digo de moeda", - iban: "o IBAN", - jwt: "o JWT", - template_literal: "a entrada" - }; - const Gender = { - masculine: { definite: "o", indefinite: "um" }, - feminine: { definite: "a", indefinite: "uma" } - }; - const TypeDictionary = { - string: { name: "texto", articles: Gender.masculine }, - number: { name: "n\xFAmero", articles: Gender.masculine }, - int: { name: "n\xFAmero inteiro", articles: Gender.masculine }, - boolean: { name: "valor booleano", articles: Gender.masculine }, - bigint: { name: "n\xFAmero bigint", articles: Gender.masculine }, - symbol: { name: "s\xEDmbolo", articles: Gender.masculine }, - undefined: { name: 'valor "undefined"', articles: Gender.masculine }, - null: { name: 'valor "nulo"', articles: Gender.masculine }, - never: { name: 'valor "never"', articles: Gender.masculine }, - void: { name: 'valor "void"', articles: Gender.masculine }, - date: { name: "data", articles: Gender.feminine }, - array: { name: "vetor", articles: Gender.masculine }, - object: { name: "objeto", articles: Gender.masculine }, - tuple: { name: "tuplo", articles: Gender.masculine }, - record: { name: "registo", articles: Gender.masculine }, - map: { name: "mapa", articles: Gender.masculine }, - set: { name: "conjunto", articles: Gender.masculine }, - file: { name: "ficheiro", articles: Gender.masculine }, - nonoptional: { name: "valor n\xE3o opcional", articles: Gender.masculine }, - nan: { name: 'valor "NaN"', articles: Gender.masculine }, - // Compatibility: "nan" -> "NaN" for display - function: { name: "fun\xE7\xE3o", articles: Gender.feminine } - }; - function translateOriginWithArticle(type, articleType) { - const translatedValue = TypeDictionary[type] ?? { name: `valor "${type}"`, articles: Gender.masculine }; - return `${translatedValue.articles[articleType]} ${translatedValue.name}`; } - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = translateOriginWithArticle(issue2.expected, "indefinite"); - const receivedType = parsedType(issue2.input); - const received = translateOriginWithArticle(receivedType, "indefinite"); - return `Entrada inv\xE1lida: esperava ${expected}, recebeu ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Entrada inv\xE1lida: esperava ${stringifyPrimitive(issue2.values[0])}`; - return `Op\xE7\xE3o inv\xE1lida: esperava uma das seguintes op\xE7\xF5es: ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Demasiado grande: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`; - return `Demasiado grande: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Demasiado pequeno: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.minimum.toString()} ${sizing.unit ?? "elementos"}`; - } - return `Demasiado pequeno: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Texto inv\xE1lido: deve come\xE7ar por "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Texto inv\xE1lido: deve terminar em "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Texto inv\xE1lido: deve incluir "${_issue.includes}"`; - if (_issue.format === "regex") - return `Texto inv\xE1lido: deve corresponder ao padr\xE3o ${_issue.pattern}`; - return `Formato d${FormatDictionary[_issue.format] ?? issue2.format} inv\xE1lido`; - } - case "not_multiple_of": - return `N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${issue2.divisor}`; - case "unrecognized_keys": { - const plural2 = issue2.keys.length > 1 ? "s" : ""; - return `Chave${plural2} inv\xE1lida${plural2}: ${joinValues(issue2.keys, ", ")}`; - } - case "invalid_key": - return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `Valor de discrimina\xE7\xE3o inv\xE1lido. Esperava ${opts}`; - } - return "Entrada inv\xE1lida"; - case "invalid_element": - return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`; - default: - return `Entrada inv\xE1lida`; + if (ctx.external) + ctx.sharedDefsExtractedFor = ctx.external; +} +function compactTypeUnion(schema) { + const options = schema.anyOf; + if (!Array.isArray(options) || options.length === 0 || schema.type !== void 0) + return; + const types = []; + for (const option of options) { + if (!option || typeof option !== "object") + return; + compactTypeUnion(option); + const keys = Object.keys(option); + if (keys.length !== 1 || keys[0] !== "type") + return; + const type = option.type; + for (const member of Array.isArray(type) ? type : [type]) { + if (typeof member !== "string") + return; + if (!types.includes(member)) + types.push(member); } - }; -}; -function pt_default() { - return { - localeError: error43() - }; + } + delete schema.anyOf; + schema.type = types.length === 1 ? types[0] : types; } - -// ../../../node_modules/zod/v4/locales/pt-BR.js -var error44 = () => { - const Sizable = { - string: { unit: "caracteres" }, - file: { unit: "bytes" }, - array: { unit: "elementos" }, - set: { unit: "elementos" }, - map: { unit: "entradas" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; +var FOLDABLE_KEYS = /* @__PURE__ */ new Set(["type", "properties", "required", "additionalProperties"]); +var UNION_KEYS = ["oneOf", "anyOf"]; +function undeclaredConstraint(member) { + const extra = member.additionalProperties; + if (extra === void 0 || extra === false || typeof extra !== "object" || extra === null) + return null; + return Object.keys(extra).length ? extra : null; +} +function foldObjects(members2) { + const objects = []; + for (const member of members2) { + if (typeof member !== "object" || member.type !== "object") + return null; + for (const key in member) { + if (!FOLDABLE_KEYS.has(key)) + return null; + } + objects.push(member); } - const FormatDictionary = { - regex: "a entrada", - email: "o endere\xE7o de e-mail", - url: "o URL", - emoji: "o emoji", - uuid: "o UUID", - uuidv4: "o UUIDv4", - uuidv6: "o UUIDv6", - nanoid: "o nanoid", - guid: "o GUID", - cuid: "o cuid", - cuid2: "o cuid2", - ulid: "o ULID", - xid: "o XID", - ksuid: "o KSUID", - datetime: "a data e hora ISO", - date: "a data ISO", - time: "a hora ISO", - duration: "a dura\xE7\xE3o ISO", - ipv4: "o endere\xE7o IPv4", - ipv6: "o endere\xE7o IPv6", - mac: "o endere\xE7o MAC", - cidrv4: "a faixa de endere\xE7os IPv4", - cidrv6: "a faixa de endere\xE7os IPv6", - base64: "o texto codificado em base64", - base64url: "o texto codificado em base64url", - json_string: "o texto JSON", - e164: "o n\xFAmero E.164", - credit_card: "o n\xFAmero de cart\xE3o de cr\xE9dito", - currency_code: "o c\xF3digo de moeda", - iban: "o IBAN", - jwt: "o JWT", - template_literal: "a entrada" - }; - const Gender = { - masculine: { definite: "o", indefinite: "um" }, - feminine: { definite: "a", indefinite: "uma" } - }; - const TypeDictionary = { - string: { name: "texto", articles: Gender.masculine }, - number: { name: "n\xFAmero", articles: Gender.masculine }, - int: { name: "n\xFAmero inteiro", articles: Gender.masculine }, - boolean: { name: "valor booleano", articles: Gender.masculine }, - bigint: { name: "n\xFAmero bigint", articles: Gender.masculine }, - symbol: { name: "s\xEDmbolo", articles: Gender.masculine }, - undefined: { name: 'valor "undefined"', articles: Gender.masculine }, - null: { name: 'valor "nulo"', articles: Gender.masculine }, - never: { name: 'valor "never"', articles: Gender.masculine }, - void: { name: 'valor "void"', articles: Gender.masculine }, - date: { name: "data", articles: Gender.feminine }, - array: { name: "vetor", articles: Gender.masculine }, - object: { name: "objeto", articles: Gender.masculine }, - tuple: { name: "tupla", articles: Gender.feminine }, - record: { name: "registro", articles: Gender.masculine }, - map: { name: "mapa", articles: Gender.masculine }, - set: { name: "conjunto", articles: Gender.masculine }, - file: { name: "arquivo", articles: Gender.masculine }, - nonoptional: { name: "valor n\xE3o opcional", articles: Gender.masculine }, - nan: { name: 'valor "NaN"', articles: Gender.masculine }, - // Compatibility: "nan" -> "NaN" for display - function: { name: "fun\xE7\xE3o", articles: Gender.feminine } - }; - function translateOriginWithArticle(type, articleType) { - const translatedValue = TypeDictionary[type] ?? { name: `valor "${type}"`, articles: Gender.masculine }; - return `${translatedValue.articles[articleType]} ${translatedValue.name}`; + const properties = {}; + const required2 = /* @__PURE__ */ new Set(); + for (const object2 of objects) { + for (const key in object2.properties) { + if (Object.prototype.hasOwnProperty.call(properties, key)) + continue; + const parts = []; + for (const other of objects) { + const part = other.properties?.[key] ?? undeclaredConstraint(other); + if (part === null || part === void 0) + continue; + if (!parts.some((seen2) => JSON.stringify(seen2) === JSON.stringify(part))) + parts.push(part); + } + const merged = parts.length === 1 ? parts[0] : foldObjects(parts) ?? { allOf: parts }; + assignProp(properties, key, merged); + } + for (const key of object2.required ?? []) + required2.add(key); } - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = translateOriginWithArticle(issue2.expected, "indefinite"); - const receivedType = parsedType(issue2.input); - const received = translateOriginWithArticle(receivedType, "indefinite"); - return `Entrada inv\xE1lida: esperava ${expected}, recebeu ${received}`; + const folded = { type: "object", properties }; + if (required2.size) + folded.required = [...required2]; + if (objects.every((object2) => object2.additionalProperties === false)) { + folded.additionalProperties = false; + } else { + const constraints = []; + for (const object2 of objects) { + const constraint = undeclaredConstraint(object2); + if (constraint && !constraints.some((seen2) => JSON.stringify(seen2) === JSON.stringify(constraint))) + constraints.push(constraint); + } + if (constraints.length === 1) + folded.additionalProperties = constraints[0]; + else if (constraints.length > 1) + folded.additionalProperties = { allOf: constraints }; + } + return folded; +} +function foldIntersection(json) { + const allOf = json.allOf; + if (!Array.isArray(allOf) || allOf.length < 2) + return; + for (const key of FOLDABLE_KEYS) + if (key in json) + return; + const unions = allOf.filter((m) => UNION_KEYS.some((k) => Array.isArray(m[k]))); + let folded = null; + if (!unions.length) { + folded = foldObjects(allOf); + } else { + const union2 = unions[0]; + const keyword = UNION_KEYS.find((k) => Array.isArray(union2[k])); + if (Object.keys(union2).length !== 1) + return; + const rest = allOf.filter((m) => m !== union2); + const branches = union2[keyword].map((branch) => foldObjects([...rest, branch])); + if (branches.some((b) => !b)) + return; + folded = { [keyword]: branches }; + } + if (!folded) + return; + delete json.allOf; + assignProps(json, folded); +} +function finalize(ctx, schema) { + const root = ctx.seen.get(schema); + if (!root) + throw new Error("Unprocessed schema. This is a bug in Zod."); + const flattenRef = (zodSchema) => { + const seen2 = ctx.seen.get(zodSchema); + if (seen2.ref === null) + return; + const schema2 = seen2.def ?? seen2.schema; + const _cached = { ...schema2 }; + const ref = seen2.ref; + seen2.ref = null; + if (ref) { + flattenRef(ref); + const refSeen = ctx.seen.get(ref); + const refSchema = refSeen.schema; + if (refSchema.$ref && (ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0")) { + schema2.allOf = schema2.allOf ?? []; + schema2.allOf.push(refSchema); + } else { + assignProps(schema2, refSchema); } - case "invalid_value": - if (issue2.values.length === 1) - return `Entrada inv\xE1lida: esperava ${stringifyPrimitive(issue2.values[0])}`; - return `Op\xE7\xE3o inv\xE1lida: esperava uma das seguintes op\xE7\xF5es: ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Grande demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`; - return `Grande demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.maximum.toString()}`; + assignProps(schema2, _cached); + const isParentRef = zodSchema._zod.parent === ref; + if (isParentRef) { + for (const key in schema2) { + if (key === "$ref" || key === "allOf") + continue; + if (!(key in _cached)) { + delete schema2[key]; + } + } } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Pequeno demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.minimum.toString()} ${sizing.unit ?? "elementos"}`; + if (refSchema.$ref && refSeen.def) { + for (const key in schema2) { + if (key === "$ref" || key === "allOf") + continue; + if (key in refSeen.def && JSON.stringify(schema2[key]) === JSON.stringify(refSeen.def[key])) { + delete schema2[key]; + } } - return `Pequeno demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.minimum.toString()}`; } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `Texto inv\xE1lido: deve come\xE7ar com "${_issue.prefix}"`; + } + const parent = zodSchema._zod.parent; + if (parent && parent !== ref) { + flattenRef(parent); + const parentSeen = ctx.seen.get(parent); + if (parentSeen?.schema.$ref) { + schema2.$ref = parentSeen.schema.$ref; + if (parentSeen.def) { + for (const key in schema2) { + if (key === "$ref" || key === "allOf") + continue; + if (key in parentSeen.def && JSON.stringify(schema2[key]) === JSON.stringify(parentSeen.def[key])) { + delete schema2[key]; + } + } } - if (_issue.format === "ends_with") - return `Texto inv\xE1lido: deve terminar com "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Texto inv\xE1lido: deve incluir "${_issue.includes}"`; - if (_issue.format === "regex") - return `Texto inv\xE1lido: deve corresponder ao padr\xE3o ${_issue.pattern}`; - return `Formato d${FormatDictionary[_issue.format] ?? issue2.format} inv\xE1lido`; } - case "not_multiple_of": - return `N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${issue2.divisor}`; - case "unrecognized_keys": { - const plural2 = issue2.keys.length > 1 ? "s" : ""; - return `Chave${plural2} inv\xE1lida${plural2}: ${joinValues(issue2.keys, ", ")}`; + } + ctx.override({ + zodSchema, + jsonSchema: schema2, + path: seen2.path ?? [] + }); + }; + if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) { + for (const entry of [...ctx.seen.entries()].reverse()) { + flattenRef(entry[0]); + } + if (ctx.target !== "openapi-3.0") { + for (const entry of ctx.seen.entries()) { + compactTypeUnion(entry[1].def ?? entry[1].schema); } - case "invalid_key": - return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `Valor de discrimina\xE7\xE3o inv\xE1lido. Esperava ${opts}`; + } + for (const rewrite of ctx.deferred) + rewrite(); + if (ctx.intersections.length) { + const carriers = /* @__PURE__ */ new Map(); + for (const seen2 of ctx.seen.values()) { + for (const json of [seen2.schema, seen2.def]) { + const allOf = json?.allOf; + if (!Array.isArray(allOf)) + continue; + const existing = carriers.get(allOf); + if (existing) + existing.push(json); + else + carriers.set(allOf, [json]); } - return "Entrada inv\xE1lida"; - case "invalid_element": - return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`; - default: - return `Entrada inv\xE1lida`; + } + for (const allOf of ctx.intersections) { + for (const json of carriers.get(allOf) ?? []) + foldIntersection(json); + } } - }; -}; -function pt_BR_default() { - return { - localeError: error44() - }; -} - -// ../../../node_modules/zod/v4/locales/ro.js -var error45 = () => { - const Sizable = { - string: { unit: "caractere", verb: "s\u0103 aib\u0103" }, - file: { unit: "octe\u021Bi", verb: "s\u0103 aib\u0103" }, - array: { unit: "elemente", verb: "s\u0103 aib\u0103" }, - set: { unit: "elemente", verb: "s\u0103 aib\u0103" }, - map: { unit: "intr\u0103ri", verb: "s\u0103 aib\u0103" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; } - const FormatDictionary = { - regex: "intrare", - email: "adres\u0103 de email", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "dat\u0103 \u0219i or\u0103 ISO", - date: "dat\u0103 ISO", - time: "or\u0103 ISO", - duration: "durat\u0103 ISO", - ipv4: "adres\u0103 IPv4", - ipv6: "adres\u0103 IPv6", - mac: "adres\u0103 MAC", - cidrv4: "interval IPv4", - cidrv6: "interval IPv6", - base64: "\u0219ir codat base64", - base64url: "\u0219ir codat base64url", - json_string: "\u0219ir JSON", - e164: "num\u0103r E.164", - credit_card: "num\u0103r de card de credit", - currency_code: "cod valutar", - iban: "IBAN", - jwt: "JWT", - template_literal: "intrare" - }; - const TypeDictionary = { - nan: "NaN", - string: "\u0219ir", - number: "num\u0103r", - boolean: "boolean", - function: "func\u021Bie", - array: "matrice", - object: "obiect", - undefined: "nedefinit", - symbol: "simbol", - bigint: "num\u0103r mare", - void: "void", - never: "never", - map: "hart\u0103", - set: "set" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - return `Intrare invalid\u0103: a\u0219teptat ${expected}, primit ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Intrare invalid\u0103: a\u0219teptat ${stringifyPrimitive(issue2.values[0])}`; - return `Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Prea mare: a\u0219teptat ca ${issue2.origin ?? "valoarea"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemente"}`; - return `Prea mare: a\u0219teptat ca ${issue2.origin ?? "valoarea"} s\u0103 fie ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Prea mic: a\u0219teptat ca ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Prea mic: a\u0219teptat ca ${issue2.origin} s\u0103 fie ${adj}${issue2.minimum.toString()}`; + const result = {}; + if (ctx.target === "draft-2020-12") { + result.$schema = "https://json-schema.org/draft/2020-12/schema"; + } else if (ctx.target === "draft-07") { + result.$schema = "http://json-schema.org/draft-07/schema#"; + } else if (ctx.target === "draft-04") { + result.$schema = "http://json-schema.org/draft-04/schema#"; + } else if (ctx.target === "openapi-3.0") { + } else { + } + if (ctx.external?.uri) { + const id = ctx.external.registry.get(schema)?.id; + if (!id) + throw new Error("Schema is missing an `id` property"); + result.$id = ctx.external.uri(id); + } + assignProps(result, root.defId ? root.schema : root.def ?? root.schema); + const rootMetaId = ctx.metadataRegistry.get(schema)?.id; + if (rootMetaId !== void 0 && result.id === rootMetaId) + delete result.id; + const defs = ctx.external?.defs ?? {}; + if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) { + for (const entry of ctx.seen.entries()) { + const seen2 = entry[1]; + if (seen2.def && seen2.defId) { + if (seen2.def.id === seen2.defId) + delete seen2.def.id; + assignProp(defs, seen2.defId, seen2.def); } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `\u0218ir invalid: trebuie s\u0103 se termine cu "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u0218ir invalid: trebuie s\u0103 includ\u0103 "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${_issue.pattern}`; - return `Format invalid: ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + } + if (ctx.external) + ctx.sharedEmitDoneFor = ctx.external; + if (ctx.external) { + } else { + if (Object.keys(defs).length > 0) { + if (ctx.target === "draft-2020-12") { + result.$defs = defs; + } else { + result.definitions = defs; } - case "not_multiple_of": - return `Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${issue2.divisor}`; - case "unrecognized_keys": - return `Chei nerecunoscute: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Cheie invalid\u0103 \xEEn ${issue2.origin}`; - case "invalid_union": - return "Intrare invalid\u0103"; - case "invalid_element": - return `Valoare invalid\u0103 \xEEn ${issue2.origin}`; - default: - return `Intrare invalid\u0103`; } - }; -}; -function ro_default() { - return { - localeError: error45() - }; + } + try { + const finalized = JSON.parse(JSON.stringify(result)); + Object.defineProperty(finalized, "~standard", { + value: { + ...schema["~standard"], + jsonSchema: { + input: createStandardJSONSchemaMethod(schema, "input", ctx.processors), + output: createStandardJSONSchemaMethod(schema, "output", ctx.processors) + } + }, + enumerable: false, + writable: false + }); + return finalized; + } catch (_err) { + throw new Error("Error converting schema to JSON."); + } } - -// ../../../node_modules/zod/v4/locales/ru.js -function getRussianPlural(count, one, few, many) { - const absCount = Math.abs(count); - const lastDigit = absCount % 10; - const lastTwoDigits = absCount % 100; - if (lastTwoDigits >= 11 && lastTwoDigits <= 19) { - return many; +function isTransforming(_schema, _ctx) { + const ctx = _ctx ?? { seen: /* @__PURE__ */ new Set() }; + if (ctx.seen.has(_schema)) + return false; + ctx.seen.add(_schema); + const def = _schema._zod.def; + if (def.type === "transform") + return true; + if (def.type === "array") + return isTransforming(def.element, ctx); + if (def.type === "set") + return isTransforming(def.valueType, ctx); + if (def.type === "lazy") + return isTransforming(def.getter(), ctx); + if (def.type === "promise" || def.type === "optional" || def.type === "nonoptional" || def.type === "nullable" || def.type === "readonly" || def.type === "default" || def.type === "prefault" || def.type === "catch") { + return isTransforming(def.innerType, ctx); + } + if (def.type === "intersection") { + return isTransforming(def.left, ctx) || isTransforming(def.right, ctx); } - if (lastDigit === 1) { - return one; + if (def.type === "record" || def.type === "map") { + return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx); } - if (lastDigit >= 2 && lastDigit <= 4) { - return few; + if (def.type === "pipe") { + if (_schema._zod.traits.has("$ZodCodec")) + return true; + return isTransforming(def.in, ctx) || isTransforming(def.out, ctx); } - return many; -} -var error46 = () => { - const Sizable = { - string: { - unit: { - one: "\u0441\u0438\u043C\u0432\u043E\u043B", - few: "\u0441\u0438\u043C\u0432\u043E\u043B\u0430", - many: "\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432" - }, - verb: "\u0438\u043C\u0435\u0442\u044C" - }, - file: { - unit: { - one: "\u0431\u0430\u0439\u0442", - few: "\u0431\u0430\u0439\u0442\u0430", - many: "\u0431\u0430\u0439\u0442" - }, - verb: "\u0438\u043C\u0435\u0442\u044C" - }, - array: { - unit: { - one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", - few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430", - many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432" - }, - verb: "\u0438\u043C\u0435\u0442\u044C" - }, - set: { - unit: { - one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", - few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430", - many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432" - }, - verb: "\u0438\u043C\u0435\u0442\u044C" - }, - map: { - unit: { - one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", - few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430", - many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432" - }, - verb: "\u0438\u043C\u0435\u0442\u044C" + if (def.type === "object") { + for (const key in def.shape) { + if (isTransforming(def.shape[key], ctx)) + return true; } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; + return false; } - const FormatDictionary = { - regex: "\u0432\u0432\u043E\u0434", - email: "email \u0430\u0434\u0440\u0435\u0441", - url: "URL", - emoji: "\u044D\u043C\u043E\u0434\u0437\u0438", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F", - date: "ISO \u0434\u0430\u0442\u0430", - time: "ISO \u0432\u0440\u0435\u043C\u044F", - duration: "ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C", - ipv4: "IPv4 \u0430\u0434\u0440\u0435\u0441", - ipv6: "IPv6 \u0430\u0434\u0440\u0435\u0441", - mac: "MAC \u0430\u0434\u0440\u0435\u0441", - cidrv4: "IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D", - cidrv6: "IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D", - base64: "\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64", - base64url: "\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url", - json_string: "JSON \u0441\u0442\u0440\u043E\u043A\u0430", - e164: "\u043D\u043E\u043C\u0435\u0440 E.164", - credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0439 \u043A\u0430\u0440\u0442\u044B", - currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0432\u0432\u043E\u0434" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0447\u0438\u0441\u043B\u043E", - array: "\u043C\u0430\u0441\u0441\u0438\u0432" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${issue2.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`; - } - return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${stringifyPrimitive(issue2.values[0])}`; - return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - const maxValue = Number(issue2.maximum); - const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many); - return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue2.maximum.toString()} ${unit}`; - } - return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - const minValue = Number(issue2.minimum); - const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many); - return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue2.minimum.toString()} ${unit}`; - } - return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`; - return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue2.divisor}`; - case "unrecognized_keys": - return `\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${issue2.keys.length > 1 ? "\u044B\u0435" : "\u044B\u0439"} \u043A\u043B\u044E\u0447${issue2.keys.length > 1 ? "\u0438" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${issue2.origin}`; - case "invalid_union": - return "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"; - case "invalid_element": - return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${issue2.origin}`; - default: - return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435`; + if (def.type === "union") { + for (const option of def.options) { + if (isTransforming(option, ctx)) + return true; } - }; -}; -function ru_default() { - return { - localeError: error46() - }; + return false; + } + if (def.type === "tuple") { + for (const item of def.items) { + if (isTransforming(item, ctx)) + return true; + } + if (def.rest && isTransforming(def.rest, ctx)) + return true; + return false; + } + return false; } +var createToJSONSchemaMethod = (schema, processors = {}) => (params) => { + const ctx = initializeContext({ ...params, processors }); + processSchema(schema, ctx); + extractDefs(ctx, schema); + return finalize(ctx, schema); +}; +var createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => { + const { libraryOptions, target } = params ?? {}; + const ctx = initializeContext({ ...libraryOptions ?? {}, target, io, processors }); + processSchema(schema, ctx); + extractDefs(ctx, schema); + return finalize(ctx, schema); +}; -// ../../../node_modules/zod/v4/locales/sk.js -var error47 = () => { - const Sizable = { - string: { unit: "znakov", verb: "ma\u0165" }, - file: { unit: "bajtov", verb: "ma\u0165" }, - array: { unit: "prvkov", verb: "ma\u0165" }, - set: { unit: "prvkov", verb: "ma\u0165" }, - map: { unit: "polo\u017Eiek", verb: "ma\u0165" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "regul\xE1rny v\xFDraz", - email: "e-mailov\xE1 adresa", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "d\xE1tum a \u010Das vo form\xE1te ISO", - date: "d\xE1tum vo form\xE1te ISO", - time: "\u010Das vo form\xE1te ISO", - duration: "doba trvania ISO", - ipv4: "IPv4 adresa", - ipv6: "IPv6 adresa", - mac: "MAC adresa", - cidrv4: "rozsah IPv4", - cidrv6: "rozsah IPv6", - base64: "re\u0165azec zak\xF3dovan\xFD vo form\xE1te base64", - base64url: "re\u0165azec zak\xF3dovan\xFD vo form\xE1te base64url", - json_string: "re\u0165azec vo form\xE1te JSON", - e164: "\u010D\xEDslo E.164", - credit_card: "\u010D\xEDslo kreditnej karty", - currency_code: "k\xF3d meny", - iban: "IBAN", - jwt: "JWT", - template_literal: "vstup" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u010D\xEDslo", - string: "re\u0165azec", - function: "funkcia", - array: "pole" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE9 instanceof ${issue2.expected}, obdr\u017Ean\xE9 ${received}`; - } - return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE9 ${expected}, obdr\u017Ean\xE9 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE9 ${stringifyPrimitive(issue2.values[0])}`; - return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE1 jedna z hodn\xF4t ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Hodnota je pr\xEDli\u0161 ve\u013Ek\xE1: ${issue2.origin ?? "hodnota"} mus\xED ma\u0165 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "prvkov"}`; - } - return `Hodnota je pr\xEDli\u0161 ve\u013Ek\xE1: ${issue2.origin ?? "hodnota"} mus\xED by\u0165 ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Hodnota je pr\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED ma\u0165 ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "prvkov"}`; - } - return `Hodnota je pr\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED by\u0165 ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Neplatn\xFD re\u0165azec: mus\xED za\u010D\xEDna\u0165 na "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Neplatn\xFD re\u0165azec: mus\xED kon\u010Di\u0165 na "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Neplatn\xFD re\u0165azec: mus\xED obsahova\u0165 "${_issue.includes}"`; - if (_issue.format === "regex") - return `Neplatn\xFD re\u0165azec: mus\xED zodpoveda\u0165 vzoru ${_issue.pattern}`; - return `Neplatn\xFD form\xE1t ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Neplatn\xE9 \u010D\xEDslo: mus\xED by\u0165 n\xE1sobkom ${issue2.divisor}`; - case "unrecognized_keys": - return `Nezn\xE1me kl\xFA\u010De: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Neplatn\xFD kl\xFA\u010D v ${issue2.origin}`; - case "invalid_union": - return "Neplatn\xFD vstup"; - case "invalid_element": - return `Neplatn\xE1 hodnota v ${issue2.origin}`; - default: - return `Neplatn\xFD vstup`; - } - }; +// ../../../node_modules/zod/v4/core/json-schema-processors.js +var narrowMin = (agg, key, value) => { + if (agg[key] === void 0 || value > agg[key]) + agg[key] = value; }; -function sk_default() { - return { - localeError: error47() - }; +var narrowMax = (agg, key, value) => { + if (agg[key] === void 0 || value < agg[key]) + agg[key] = value; +}; +var narrowBoth = (agg, value) => { + narrowMin(agg, "minimum", value); + narrowMax(agg, "maximum", value); +}; +var addDivisor = (agg, value) => { + agg.multipleOf ?? (agg.multipleOf = []); + if (!agg.multipleOf.includes(value)) + agg.multipleOf.push(value); +}; +var addPattern = (agg, pattern) => { + agg.patterns ?? (agg.patterns = /* @__PURE__ */ new Set()); + agg.patterns.add(pattern); +}; +var intersectMime = (agg, mime) => { + agg.mime = agg.mime ? agg.mime.filter((m) => mime.includes(m)) : [...mime]; +}; +var setFormat = (agg, format) => { + agg.format = format; + if (format.includes("int")) + agg.isInt = true; +}; +var minContributor = (agg, def) => narrowMin(agg, "minimum", def.minimum); +var maxContributor = (agg, def) => narrowMax(agg, "maximum", def.maximum); +var formatContributor = (ranges) => (agg, def) => { + setFormat(agg, def.format); + const [minimum, maximum] = ranges[def.format]; + narrowMin(agg, "minimum", minimum); + narrowMax(agg, "maximum", maximum); +}; +var contributors = { + greater_than: (agg, def) => narrowMin(agg, def.inclusive ? "minimum" : "exclusiveMinimum", def.value), + less_than: (agg, def) => narrowMax(agg, def.inclusive ? "maximum" : "exclusiveMaximum", def.value), + multiple_of: (agg, def) => addDivisor(agg, def.value), + number_format: formatContributor(NUMBER_FORMAT_RANGES), + bigint_format: formatContributor(BIGINT_FORMAT_RANGES), + min_length: minContributor, + max_length: maxContributor, + length_equals: (agg, def) => narrowBoth(agg, def.length), + min_size: minContributor, + max_size: maxContributor, + size_equals: (agg, def) => narrowBoth(agg, def.size), + string_format: (agg, def) => { + setFormat(agg, def.format); + if (def.pattern) + addPattern(agg, def.pattern); + if (def.format === "base64" || def.format === "base64url") + agg.contentEncoding = def.format; + if (def.local || def.precision === -1) + agg.laxFormat = true; + }, + mime_type: (agg, def) => intersectMime(agg, def.mime) +}; +function aggregateChecks(schema) { + const agg = {}; + const def = schema._zod.def; + const list = schema._zod.traits.has("$ZodCheck") ? [schema, ...def.checks ?? []] : def.checks ?? []; + for (const ch of list) + contributors[ch._zod.def.check]?.(agg, ch._zod.def); + const bag = schema._zod.bag; + if (bag.minimum !== void 0) + narrowMin(agg, "minimum", bag.minimum); + if (bag.exclusiveMinimum !== void 0) + narrowMin(agg, "exclusiveMinimum", bag.exclusiveMinimum); + if (bag.maximum !== void 0) + narrowMax(agg, "maximum", bag.maximum); + if (bag.exclusiveMaximum !== void 0) + narrowMax(agg, "exclusiveMaximum", bag.exclusiveMaximum); + if (bag.multipleOf !== void 0) + addDivisor(agg, bag.multipleOf); + if (bag.format !== void 0) { + agg.format ?? (agg.format = bag.format); + if (bag.format.includes("int")) + agg.isInt = true; + } + if (bag.mime) + intersectMime(agg, bag.mime); + for (const pattern of bag.patterns ?? []) + addPattern(agg, pattern); + return agg; } - -// ../../../node_modules/zod/v4/locales/sl.js -var error48 = () => { - const Sizable = { - string: { unit: "znakov", verb: "imeti" }, - file: { unit: "bajtov", verb: "imeti" }, - array: { unit: "elementov", verb: "imeti" }, - set: { unit: "elementov", verb: "imeti" }, - map: { unit: "elementov", verb: "imeti" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; +var formatMap = { + guid: "uuid", + url: "uri", + datetime: "date-time", + json_string: "json-string", + regex: "" + // do not set +}; +var exactPatterns = /* @__PURE__ */ new Map([ + [base64Charset, base64], + [base64urlCharset, base64url] +]); +var exactPattern = (p) => exactPatterns.get(p) ?? p; +var stringProcessor = (schema, ctx, _json, _params) => { + const json = _json; + json.type = "string"; + const { minimum, maximum, format, patterns, contentEncoding, laxFormat } = aggregateChecks(schema); + if (typeof minimum === "number") + json.minLength = minimum; + if (typeof maximum === "number") + json.maxLength = maximum; + if (format) { + json.format = formatMap[format] ?? format; + if (json.format === "") + delete json.format; + if (format === "time" || laxFormat) { + delete json.format; + } } - const FormatDictionary = { - regex: "vnos", - email: "e-po\u0161tni naslov", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO datum in \u010Das", - date: "ISO datum", - time: "ISO \u010Das", - duration: "ISO trajanje", - ipv4: "IPv4 naslov", - ipv6: "IPv6 naslov", - mac: "MAC naslov", - cidrv4: "obseg IPv4", - cidrv6: "obseg IPv6", - base64: "base64 kodiran niz", - base64url: "base64url kodiran niz", - json_string: "JSON niz", - e164: "E.164 \u0161tevilka", - credit_card: "\u0161tevilka kreditne kartice", - currency_code: "koda valute", - iban: "IBAN", - jwt: "JWT", - template_literal: "vnos" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0161tevilo", - array: "tabela" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Neveljaven vnos: pri\u010Dakovano instanceof ${issue2.expected}, prejeto ${received}`; - } - return `Neveljaven vnos: pri\u010Dakovano ${expected}, prejeto ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Neveljaven vnos: pri\u010Dakovano ${stringifyPrimitive(issue2.values[0])}`; - return `Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Preveliko: pri\u010Dakovano, da bo ${issue2.origin ?? "vrednost"} imelo ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementov"}`; - return `Preveliko: pri\u010Dakovano, da bo ${issue2.origin ?? "vrednost"} ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Premajhno: pri\u010Dakovano, da bo ${issue2.origin} imelo ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Premajhno: pri\u010Dakovano, da bo ${issue2.origin} ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `Neveljaven niz: mora se za\u010Deti z "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `Neveljaven niz: mora se kon\u010Dati z "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Neveljaven niz: mora vsebovati "${_issue.includes}"`; - if (_issue.format === "regex") - return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`; - return `Neveljaven ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${issue2.divisor}`; - case "unrecognized_keys": - return `Neprepoznan${issue2.keys.length > 1 ? "i klju\u010Di" : " klju\u010D"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Neveljaven klju\u010D v ${issue2.origin}`; - case "invalid_union": - return "Neveljaven vnos"; - case "invalid_element": - return `Neveljavna vrednost v ${issue2.origin}`; - default: - return "Neveljaven vnos"; + if (contentEncoding) + json.contentEncoding = contentEncoding; + if (patterns && patterns.size > 0) { + const patternList = [...patterns].map(exactPattern); + if (patternList.length === 1) + json.pattern = patternList[0].source; + else if (patternList.length > 1) { + json.allOf = [ + ...patternList.map((regex2) => ({ + ...ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0" ? { type: "string" } : {}, + pattern: regex2.source + })) + ]; } - }; + } }; -function sl_default() { - return { - localeError: error48() - }; -} - -// ../../../node_modules/zod/v4/locales/sv.js -var error49 = () => { - const Sizable = { - string: { unit: "tecken", verb: "att ha" }, - file: { unit: "bytes", verb: "att ha" }, - array: { unit: "objekt", verb: "att inneh\xE5lla" }, - set: { unit: "objekt", verb: "att inneh\xE5lla" }, - map: { unit: "objekt", verb: "att inneh\xE5lla" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; +var numberProcessor = (schema, ctx, _json, params) => { + const json = _json; + const { minimum, maximum, multipleOf, exclusiveMaximum, exclusiveMinimum, isInt } = aggregateChecks(schema); + json.type = isInt ? "integer" : "number"; + const exMin = typeof exclusiveMinimum === "number" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY); + const exMax = typeof exclusiveMaximum === "number" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY); + const legacy = ctx.target === "draft-04" || ctx.target === "openapi-3.0"; + if (exMin) { + if (legacy) { + json.minimum = exclusiveMinimum; + json.exclusiveMinimum = true; + } else { + json.exclusiveMinimum = exclusiveMinimum; + } + } else if (typeof minimum === "number") { + json.minimum = minimum; } - const FormatDictionary = { - regex: "regulj\xE4rt uttryck", - email: "e-postadress", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO-datum och tid", - date: "ISO-datum", - time: "ISO-tid", - duration: "ISO-varaktighet", - ipv4: "IPv4-adress", - ipv6: "IPv6-adress", - mac: "MAC-adress", - cidrv4: "IPv4-spektrum", - cidrv6: "IPv6-spektrum", - base64: "base64-kodad str\xE4ng", - base64url: "base64url-kodad str\xE4ng", - json_string: "JSON-str\xE4ng", - e164: "E.164-nummer", - credit_card: "kreditkortsnummer", - currency_code: "valutakod", - iban: "IBAN", - jwt: "JWT", - template_literal: "mall-literal" - }; - const TypeDictionary = { - nan: "NaN", - number: "antal", - array: "lista" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${issue2.expected}, fick ${received}`; - } - return `Ogiltig inmatning: f\xF6rv\xE4ntat ${expected}, fick ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Ogiltig inmatning: f\xF6rv\xE4ntat ${stringifyPrimitive(issue2.values[0])}`; - return `Ogiltigt val: f\xF6rv\xE4ntade en av ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `F\xF6r stor(t): f\xF6rv\xE4ntade ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`; - } - return `F\xF6r stor(t): f\xF6rv\xE4ntat ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `F\xF6r lite(t): f\xF6rv\xE4ntade ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `F\xF6r lite(t): f\xF6rv\xE4ntade ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `Ogiltig str\xE4ng: m\xE5ste sluta med "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${_issue.includes}"`; - if (_issue.format === "regex") - return `Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${_issue.pattern}"`; - return `Ogiltig(t) ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Ogiltigt tal: m\xE5ste vara en multipel av ${issue2.divisor}`; - case "unrecognized_keys": - return `${issue2.keys.length > 1 ? "Ok\xE4nda nycklar" : "Ok\xE4nd nyckel"}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Ogiltig nyckel i ${issue2.origin ?? "v\xE4rdet"}`; - case "invalid_union": - return "Ogiltig input"; - case "invalid_element": - return `Ogiltigt v\xE4rde i ${issue2.origin ?? "v\xE4rdet"}`; - default: - return `Ogiltig input`; + if (exMax) { + if (legacy) { + json.maximum = exclusiveMaximum; + json.exclusiveMaximum = true; + } else { + json.exclusiveMaximum = exclusiveMaximum; } - }; + } else if (typeof maximum === "number") { + json.maximum = maximum; + } + if (multipleOf) { + const divisors = /* @__PURE__ */ new Set(); + for (const divisor of multipleOf) { + if (Number.isFinite(divisor) && divisor !== 0) + divisors.add(Math.abs(divisor)); + else + handleUnrepresentable(schema, ctx, json, params, `A multipleOf divisor of ${divisor} cannot be represented in JSON Schema`); + } + const [first, ...rest] = divisors; + if (first !== void 0) + json.multipleOf = first; + if (rest.length) + json.allOf = [...json.allOf ?? [], ...rest.map((m) => ({ multipleOf: m }))]; + } }; -function sv_default() { - return { - localeError: error49() - }; -} - -// ../../../node_modules/zod/v4/locales/ta.js -var error50 = () => { - const Sizable = { - string: { unit: "\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" }, - file: { unit: "\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" }, - array: { unit: "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" }, - set: { unit: "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" }, - map: { unit: "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; +var booleanProcessor = (_schema, _ctx, json, _params) => { + json.type = "boolean"; +}; +var neverProcessor = (_schema, _ctx, json, _params) => { + json.not = {}; +}; +var unknownProcessor = (_schema, _ctx, _json, _params) => { +}; +var enumProcessor = (schema, _ctx, json, _params) => { + const def = schema._zod.def; + const values = getEnumValues(def.entries); + if (values.length === 0) { + json.not = {}; + return; } - const FormatDictionary = { - regex: "\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1", - email: "\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD", - date: "ISO \u0BA4\u0BC7\u0BA4\u0BBF", - time: "ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD", - duration: "ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1", - ipv4: "IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF", - ipv6: "IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF", - mac: "MAC \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF", - cidrv4: "IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1", - cidrv6: "IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1", - base64: "base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD", - base64url: "base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD", - json_string: "JSON \u0B9A\u0BB0\u0BAE\u0BCD", - e164: "E.164 \u0B8E\u0BA3\u0BCD", - credit_card: "\u0B95\u0B9F\u0BA9\u0BCD \u0B85\u0B9F\u0BCD\u0B9F\u0BC8 \u0B8E\u0BA3\u0BCD", - currency_code: "\u0BA8\u0BBE\u0BA3\u0BAF\u0B95\u0BCD \u0B95\u0BC1\u0BB1\u0BBF\u0BAF\u0BC0\u0B9F\u0BC1", - iban: "IBAN", - jwt: "JWT", - template_literal: "input" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0B8E\u0BA3\u0BCD", - array: "\u0B85\u0BA3\u0BBF", - null: "\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${issue2.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`; - } - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${stringifyPrimitive(issue2.values[0])}`; - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${joinValues(issue2.values, "|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin ?? "\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; - } - return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin ?? "\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${adj}${issue2.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; - } - return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin} ${adj}${issue2.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_issue.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; - if (_issue.format === "ends_with") - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_issue.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; - if (_issue.format === "includes") - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_issue.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; - if (_issue.format === "regex") - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${_issue.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${issue2.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; - case "unrecognized_keys": - return `\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${issue2.keys.length > 1 ? "\u0B95\u0BB3\u0BCD" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `${issue2.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`; - case "invalid_union": - return "\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"; - case "invalid_element": - return `${issue2.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`; - default: - return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1`; + if (values.every((v) => typeof v === "number")) + json.type = "number"; + if (values.every((v) => typeof v === "string")) + json.type = "string"; + json.enum = values; +}; +var literalProcessor = (schema, ctx, json, params) => { + const def = schema._zod.def; + if (def.values.length === 0) { + json.not = {}; + return; + } + const vals = []; + for (const val of def.values) { + if (val === void 0) { + if (handleUnrepresentable(schema, ctx, json, params, "Literal `undefined` cannot be represented in JSON Schema")) + return; + } else if (typeof val === "bigint") { + if (handleUnrepresentable(schema, ctx, json, params, "BigInt literals cannot be represented in JSON Schema")) + return; + vals.push(Number(val)); + } else { + vals.push(val); } - }; + } + if (vals.length === 0) { + } else if (vals.length === 1) { + const val = vals[0]; + json.type = val === null ? "null" : typeof val; + if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") { + json.enum = [val]; + } else { + json.const = val; + } + } else { + if (vals.every((v) => typeof v === "number")) + json.type = "number"; + if (vals.every((v) => typeof v === "string")) + json.type = "string"; + if (vals.every((v) => typeof v === "boolean")) + json.type = "boolean"; + if (vals.every((v) => v === null)) + json.type = "null"; + json.enum = vals; + } }; -function ta_default() { - return { - localeError: error50() - }; +var customProcessor = (schema, ctx, json, params) => { + handleUnrepresentable(schema, ctx, json, params, "Custom types cannot be represented in JSON Schema"); +}; +var transformProcessor = (schema, ctx, json, params) => { + handleUnrepresentable(schema, ctx, json, params, "Transforms cannot be represented in JSON Schema"); +}; +var arrayProcessor = (schema, ctx, _json, params) => { + const json = _json; + const def = schema._zod.def; + const { minimum, maximum } = aggregateChecks(schema); + if (typeof minimum === "number") + json.minItems = minimum; + if (typeof maximum === "number") + json.maxItems = maximum; + json.type = "array"; + json.items = processSchema(def.element, ctx, { + ...params, + path: [...params.path, "items"] + }); +}; +function inputOptin(schema) { + const def = schema._zod.def; + if (def.type === "pipe" && def.in._zod.traits.has("$ZodTransform")) { + return inputOptin(def.out); + } + if (def.type === "catch") { + return inputOptin(def.innerType); + } + return schema._zod.optin; } - -// ../../../node_modules/zod/v4/locales/tg.js -var error51 = () => { - const Sizable = { - string: { unit: "\u0430\u043B\u043E\u043C\u0430\u0442", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" }, - file: { unit: "\u0431\u0430\u0439\u0442", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" }, - array: { unit: "\u0443\u043D\u0441\u0443\u0440", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" }, - set: { unit: "\u0443\u043D\u0441\u0443\u0440", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" }, - map: { unit: "\u0441\u0430\u0431\u0442", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; +var objectProcessor = (schema, ctx, _json, params) => { + const json = _json; + const def = schema._zod.def; + const shape = def.shape; + const symbolKeys = Object.getOwnPropertySymbols(shape); + if (symbolKeys.length && handleUnrepresentable(schema, ctx, json, params, "Symbol keys cannot be represented in JSON Schema")) { + return; } - const FormatDictionary = { - regex: "\u0432\u0443\u0440\u0443\u0434", - email: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 email", - url: "URL", - emoji: "\u044D\u043C\u043E\u04B7\u0438", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\u0441\u0430\u043D\u0430\u0432\u0443 \u0432\u0430\u049B\u0442\u0438 ISO", - date: "\u0441\u0430\u043D\u0430\u0438 ISO", - time: "\u0432\u0430\u049B\u0442\u0438 ISO", - duration: "\u0434\u0430\u0432\u043E\u043C\u043D\u043E\u043A\u0438\u0438 ISO", - ipv4: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 IPv4", - ipv6: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 IPv6", - mac: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 MAC", - cidrv4: "\u043C\u0430\u04B3\u0434\u0443\u0434\u0430\u0438 IPv4", - cidrv6: "\u043C\u0430\u04B3\u0434\u0443\u0434\u0430\u0438 IPv6", - base64: "\u0441\u0430\u0442\u0440\u0438 \u0434\u0430\u0440 \u0444\u043E\u0440\u043C\u0430\u0442\u0438 base64", - base64url: "\u0441\u0430\u0442\u0440\u0438 \u0434\u0430\u0440 \u0444\u043E\u0440\u043C\u0430\u0442\u0438 base64url", - json_string: "\u0441\u0430\u0442\u0440\u0438 JSON", - e164: "\u0440\u0430\u049B\u0430\u043C\u0438 E.164", - credit_card: "\u0440\u0430\u049B\u0430\u043C\u0438 \u043A\u043E\u0440\u0442\u0438 \u043A\u0440\u0435\u0434\u0438\u0442\u04E3", - currency_code: "\u0440\u0430\u043C\u0437\u0438 \u0430\u0441\u044A\u043E\u0440", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0432\u0443\u0440\u0443\u0434" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0440\u0430\u049B\u0430\u043C", - string: "\u0441\u0430\u0442\u0440", - array: "\u043C\u0430\u0441\u0441\u0438\u0432", - object: "\u043E\u0431\u044A\u0435\u043A\u0442", - date: "\u0441\u0430\u043D\u0430" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: ${expected} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442, ${received} \u0433\u0438\u0440\u0438\u0444\u0442\u0430 \u0448\u0443\u0434`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: ${stringifyPrimitive(issue2.values[0])} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`; - return `\u0418\u043D\u0442\u0438\u0445\u043E\u0431\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u044F\u043A\u0435 \u0430\u0437 ${joinValues(issue2.values, "|")} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0425\u0435\u043B\u0435 \u043A\u0430\u043B\u043E\u043D: ${issue2.origin ?? "\u049B\u0438\u043C\u0430\u0442"} \u0431\u043E\u044F\u0434 ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`; - return `\u0425\u0435\u043B\u0435 \u043A\u0430\u043B\u043E\u043D: ${issue2.origin ?? "\u049B\u0438\u043C\u0430\u0442"} \u0431\u043E\u044F\u0434 ${adj}${issue2.maximum.toString()} \u0431\u043E\u0448\u0430\u0434`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0425\u0435\u043B\u0435 \u0445\u0443\u0440\u0434: ${issue2.origin} \u0431\u043E\u044F\u0434 ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; - return `\u0425\u0435\u043B\u0435 \u0445\u0443\u0440\u0434: ${issue2.origin} \u0431\u043E\u044F\u0434 ${adj}${issue2.minimum.toString()} \u0431\u043E\u0448\u0430\u0434`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u043E "${_issue.prefix}" \u043E\u0493\u043E\u0437 \u0448\u0430\u0432\u0430\u0434`; - if (_issue.format === "ends_with") - return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u043E "${_issue.suffix}" \u0430\u043D\u04B7\u043E\u043C \u0451\u0431\u0430\u0434`; - if (_issue.format === "includes") - return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 "${_issue.includes}"-\u0440\u043E \u0434\u0430\u0440 \u0431\u0430\u0440 \u0433\u0438\u0440\u0430\u0434`; - if (_issue.format === "regex") - return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u0430 \u043D\u0430\u043C\u0443\u043D\u0430\u0438 ${_issue.pattern} \u043C\u0443\u0432\u043E\u0444\u0438\u049B\u0430\u0442 \u043A\u0443\u043D\u0430\u0434`; - return `${FormatDictionary[_issue.format] ?? issue2.format}-\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442`; - } - case "not_multiple_of": - return `\u0420\u0430\u049B\u0430\u043C\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u0430 ${issue2.divisor} \u0431\u0435 \u0431\u0430\u049B\u0438\u044F \u0442\u0430\u049B\u0441\u0438\u043C \u0448\u0430\u0432\u0430\u0434`; - case "unrecognized_keys": - return `\u041A\u0430\u043B\u0438\u0434${issue2.keys.length > 1 ? "\u04B3\u043E\u0438" : "\u0438"} \u043D\u043E\u043C\u0430\u044A\u043B\u0443\u043C: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u041A\u0430\u043B\u0438\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442 \u0434\u0430\u0440 ${issue2.origin}`; - case "invalid_union": - if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { - const opts = issue2.options.map((o) => `'${o}'`).join(" | "); - return `\u049A\u0438\u043C\u0430\u0442\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442\u0438 \u0434\u0438\u0441\u043A\u0440\u0438\u043C\u0438\u043D\u0430\u0442\u043E\u0440: ${opts} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`; - } - return "\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442"; - case "invalid_element": - return `\u049A\u0438\u043C\u0430\u0442\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442 \u0434\u0430\u0440 ${issue2.origin}`; - default: - return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442`; + json.type = "object"; + json.properties = {}; + for (const key in shape) { + assignProp(json.properties, key, processSchema(shape[key], ctx, { + ...params, + path: [...params.path, "properties", key] + })); + } + const requiredKeys = []; + for (const key of Object.keys(shape)) { + const field = def.shape[key]; + if (ctx.io === "input" ? inputOptin(field) === void 0 : field._zod.optout === void 0) { + requiredKeys.push(key); } - }; + } + if (requiredKeys.length > 0) { + json.required = requiredKeys; + } + if (def.catchall?._zod.def.type === "never") { + json.additionalProperties = false; + } else if (!def.catchall) { + if (ctx.io === "output") + json.additionalProperties = false; + } else if (def.catchall) { + json.additionalProperties = processSchema(def.catchall, ctx, { + ...params, + path: [...params.path, "additionalProperties"] + }); + } }; -function tg_default() { - return { - localeError: error51() - }; -} - -// ../../../node_modules/zod/v4/locales/th.js -var error52 = () => { - const Sizable = { - string: { unit: "\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" }, - file: { unit: "\u0E44\u0E1A\u0E15\u0E4C", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" }, - array: { unit: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" }, - set: { unit: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" }, - map: { unit: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; +var unionProcessor = (schema, ctx, json, params) => { + const def = schema._zod.def; + const isExclusive = def.inclusive === false; + const options = def.options.map((x, i) => processSchema(x, ctx, { + ...params, + path: [...params.path, isExclusive ? "oneOf" : "anyOf", i] + })); + if (isExclusive) { + json.oneOf = options; + } else { + json.anyOf = options; } - const FormatDictionary = { - regex: "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19", - email: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25", - url: "URL", - emoji: "\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO", - date: "\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO", - time: "\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO", - duration: "\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO", - ipv4: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4", - ipv6: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6", - mac: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 MAC", - cidrv4: "\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4", - cidrv6: "\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6", - base64: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64", - base64url: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL", - json_string: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON", - e164: "\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)", - credit_card: "\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E1A\u0E31\u0E15\u0E23\u0E40\u0E04\u0E23\u0E14\u0E34\u0E15", - currency_code: "\u0E23\u0E2B\u0E31\u0E2A\u0E2A\u0E01\u0E38\u0E25\u0E40\u0E07\u0E34\u0E19", - iban: "IBAN", - jwt: "\u0E42\u0E17\u0E40\u0E04\u0E19 JWT", - template_literal: "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02", - array: "\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)", - null: "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${issue2.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`; - } - return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${stringifyPrimitive(issue2.values[0])}`; - return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19" : "\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin ?? "\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`; - return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin ?? "\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? "\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22" : "\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 "${_issue.prefix}"`; - } - if (_issue.format === "ends_with") - return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 "${_issue.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`; - if (_issue.format === "regex") - return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${_issue.pattern}`; - return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${issue2.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`; - case "unrecognized_keys": - return `\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue2.origin}`; - case "invalid_union": - return "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49"; - case "invalid_element": - return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue2.origin}`; - default: - return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07`; - } - }; }; -function th_default() { - return { - localeError: error52() - }; -} - -// ../../../node_modules/zod/v4/locales/tk.js -var error53 = () => { - const Sizable = { - string: { unit: "simwol", verb: "bolmaly" }, - file: { unit: "ba\xFDt", verb: "bolmaly" }, - array: { unit: "elementler", verb: "bolmaly" }, - set: { unit: "elementler", verb: "bolmaly" }, - map: { unit: "elementler", verb: "bolmaly" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "giri\u015F", - email: "e-po\xE7ta salgysy", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO sene we wagt", - date: "ISO sene", - time: "ISO wagt", - duration: "ISO wagt aralygy", - ipv4: "IPv4 salgysy", - ipv6: "IPv6 salgysy", - mac: "MAC salgysy", - cidrv4: "IPv4 aralygy", - cidrv6: "IPv6 aralygy", - base64: "base64 bilen \u015Fifrlenen setir", - base64url: "base64url bilen \u015Fifrlenen setir", - json_string: "JSON setiri", - e164: "E.164 nomeri", - credit_card: "kredit kartyny\u0148 nomeri", - currency_code: "wal\xFDuta kody", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u015Fablon" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - return `N\xE4dogry baha: gara\u015Fylan ${expected} \xFDerine ${received} alyndy`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `N\xE4dogry baha: ${stringifyPrimitive(issue2.values[0])} bolmaly`; - return `N\xE4dogry sa\xFDlaw: a\u015Fakdakylardan biri bolmaly: ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Has uly: gara\u015Fyl\xFDan ${issue2.origin ?? "baha"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "element"}`; - return `Has uly: gara\u015Fyl\xFDan ${issue2.origin ?? "baha"} ${adj} ${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Has ki\xE7i: gara\u015Fyl\xFDan ${issue2.origin} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; - return `Has ki\xE7i: gara\u015Fyl\xFDan ${issue2.origin} ${adj} ${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `N\xE4dogry setir: "${_issue.prefix}" bilen ba\u015Flamaly`; - if (_issue.format === "ends_with") - return `N\xE4dogry setir: "${_issue.suffix}" bilen gutarmaly`; - if (_issue.format === "includes") - return `N\xE4dogry setir: "${_issue.includes}" saklamaly`; - if (_issue.format === "regex") - return `N\xE4dogry setir: ${_issue.pattern} nusga la\xFDyk bolmaly`; - return `N\xE4dogry ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `N\xE4dogry san: ${issue2.divisor} bilen galyndysyz b\xF6l\xFCnmeli`; - case "unrecognized_keys": - return `Tanalma\xFDan a\xE7ar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `${issue2.origin} i\xE7inde n\xE4dogry a\xE7ar`; - case "invalid_union": - return "N\xE4dogry baha"; - case "invalid_element": - return `${issue2.origin} i\xE7inde n\xE4dogry baha`; - default: - return `N\xE4dogry baha`; - } - }; +var intersectionProcessor = (schema, ctx, json, params) => { + const def = schema._zod.def; + const a = processSchema(def.left, ctx, { + ...params, + path: [...params.path, "allOf", 0] + }); + const b = processSchema(def.right, ctx, { + ...params, + path: [...params.path, "allOf", 1] + }); + const isSimpleIntersection = (val) => "allOf" in val && Object.keys(val).length === 1; + const allOf = [ + ...isSimpleIntersection(a) ? a.allOf : [a], + ...isSimpleIntersection(b) ? b.allOf : [b] + ]; + json.allOf = allOf; + ctx.intersections.push(allOf); }; -function tk_default() { - return { - localeError: error53() - }; -} - -// ../../../node_modules/zod/v4/locales/tr.js -var error54 = () => { - const Sizable = { - string: { unit: "karakter", verb: "olmal\u0131" }, - file: { unit: "bayt", verb: "olmal\u0131" }, - array: { unit: "\xF6\u011Fe", verb: "olmal\u0131" }, - set: { unit: "\xF6\u011Fe", verb: "olmal\u0131" }, - map: { unit: "\xF6\u011Fe", verb: "olmal\u0131" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; +var tupleProcessor = (schema, ctx, _json, params) => { + const json = _json; + const def = schema._zod.def; + json.type = "array"; + const prefixPath = ctx.target === "draft-2020-12" ? "prefixItems" : "items"; + const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems"; + const prefixItems = def.items.map((x, i) => processSchema(x, ctx, { + ...params, + path: [...params.path, prefixPath, i] + })); + const rest = def.rest ? processSchema(def.rest, ctx, { + ...params, + path: [...params.path, restPath, ...ctx.target === "openapi-3.0" ? [def.items.length] : []] + }) : null; + let minItems = def.items.length; + while (minItems > 0) { + const item = def.items[minItems - 1]; + const optional2 = ctx.io === "input" ? inputOptin(item) !== void 0 : item._zod.optout === "optional"; + if (!optional2) + break; + minItems--; } - const FormatDictionary = { - regex: "girdi", - email: "e-posta adresi", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO tarih ve saat", - date: "ISO tarih", - time: "ISO saat", - duration: "ISO s\xFCre", - ipv4: "IPv4 adresi", - ipv6: "IPv6 adresi", - mac: "MAC adresi", - cidrv4: "IPv4 aral\u0131\u011F\u0131", - cidrv6: "IPv6 aral\u0131\u011F\u0131", - base64: "base64 ile \u015Fifrelenmi\u015F metin", - base64url: "base64url ile \u015Fifrelenmi\u015F metin", - json_string: "JSON dizesi", - e164: "E.164 say\u0131s\u0131", - credit_card: "kredi kart\u0131 numaras\u0131", - currency_code: "para birimi kodu", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u015Eablon dizesi" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Ge\xE7ersiz de\u011Fer: beklenen instanceof ${issue2.expected}, al\u0131nan ${received}`; - } - return `Ge\xE7ersiz de\u011Fer: beklenen ${expected}, al\u0131nan ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Ge\xE7ersiz de\u011Fer: beklenen ${stringifyPrimitive(issue2.values[0])}`; - return `Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\xC7ok b\xFCy\xFCk: beklenen ${issue2.origin ?? "de\u011Fer"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\xF6\u011Fe"}`; - return `\xC7ok b\xFCy\xFCk: beklenen ${issue2.origin ?? "de\u011Fer"} ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\xC7ok k\xFC\xE7\xFCk: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - return `\xC7ok k\xFC\xE7\xFCk: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Ge\xE7ersiz metin: "${_issue.prefix}" ile ba\u015Flamal\u0131`; - if (_issue.format === "ends_with") - return `Ge\xE7ersiz metin: "${_issue.suffix}" ile bitmeli`; - if (_issue.format === "includes") - return `Ge\xE7ersiz metin: "${_issue.includes}" i\xE7ermeli`; - if (_issue.format === "regex") - return `Ge\xE7ersiz metin: ${_issue.pattern} desenine uymal\u0131`; - return `Ge\xE7ersiz ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Ge\xE7ersiz say\u0131: ${issue2.divisor} ile tam b\xF6l\xFCnebilmeli`; - case "unrecognized_keys": - return `Tan\u0131nmayan anahtar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `${issue2.origin} i\xE7inde ge\xE7ersiz anahtar`; - case "invalid_union": - return "Ge\xE7ersiz de\u011Fer"; - case "invalid_element": - return `${issue2.origin} i\xE7inde ge\xE7ersiz de\u011Fer`; - default: - return `Ge\xE7ersiz de\u011Fer`; + const maxItems = def.items.length; + const isClosed = !def.rest; + if (ctx.target === "draft-2020-12") { + json.prefixItems = prefixItems; + if (isClosed) { + json.items = false; + } else if (rest) { + json.items = rest; } - }; -}; -function tr_default() { - return { - localeError: error54() - }; -} - -// ../../../node_modules/zod/v4/locales/uk.js -var error55 = () => { - const Sizable = { - string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" }, - file: { unit: "\u0431\u0430\u0439\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" }, - array: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" }, - set: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" }, - map: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; + if (minItems > 0) + json.minItems = minItems; + if (isClosed) + json.maxItems = maxItems; + } else if (ctx.target === "openapi-3.0") { + json.items = { + anyOf: prefixItems + }; + if (rest) { + json.items.anyOf.push(rest); + } + if (minItems > 0) + json.minItems = minItems; + if (isClosed) + json.maxItems = maxItems; + } else { + json.items = prefixItems; + if (isClosed) { + json.additionalItems = false; + } else if (rest) { + json.additionalItems = rest; + } + if (minItems > 0) + json.minItems = minItems; + if (isClosed) + json.maxItems = maxItems; } - const FormatDictionary = { - regex: "\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456", - email: "\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438", - url: "URL", - emoji: "\u0435\u043C\u043E\u0434\u0437\u0456", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO", - date: "\u0434\u0430\u0442\u0430 ISO", - time: "\u0447\u0430\u0441 ISO", - duration: "\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO", - ipv4: "\u0430\u0434\u0440\u0435\u0441\u0430 IPv4", - ipv6: "\u0430\u0434\u0440\u0435\u0441\u0430 IPv6", - mac: "\u0430\u0434\u0440\u0435\u0441\u0430 MAC", - cidrv4: "\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4", - cidrv6: "\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6", - base64: "\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64", - base64url: "\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url", - json_string: "\u0440\u044F\u0434\u043E\u043A JSON", - e164: "\u043D\u043E\u043C\u0435\u0440 E.164", - credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0457 \u043A\u0430\u0440\u0442\u043A\u0438", - currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u0438", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0447\u0438\u0441\u043B\u043E", - array: "\u043C\u0430\u0441\u0438\u0432" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${issue2.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`; - } - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${stringifyPrimitive(issue2.values[0])}`; - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`; - return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin} \u0431\u0443\u0434\u0435 ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`; - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${issue2.divisor}`; - case "unrecognized_keys": - return `\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${issue2.keys.length > 1 ? "\u0456" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${issue2.origin}`; - case "invalid_union": - return "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"; - case "invalid_element": - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${issue2.origin}`; - default: - return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456`; - } - }; -}; -function uk_default() { - return { - localeError: error55() - }; -} - -// ../../../node_modules/zod/v4/locales/ua.js -function ua_default() { - return uk_default(); -} - -// ../../../node_modules/zod/v4/locales/ur.js -var error56 = () => { - const Sizable = { - string: { unit: "\u062D\u0631\u0648\u0641", verb: "\u06C1\u0648\u0646\u0627" }, - file: { unit: "\u0628\u0627\u0626\u0679\u0633", verb: "\u06C1\u0648\u0646\u0627" }, - array: { unit: "\u0622\u0626\u0679\u0645\u0632", verb: "\u06C1\u0648\u0646\u0627" }, - set: { unit: "\u0622\u0626\u0679\u0645\u0632", verb: "\u06C1\u0648\u0646\u0627" }, - map: { unit: "\u0622\u0626\u0679\u0645\u0632", verb: "\u06C1\u0648\u0646\u0627" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0627\u0646 \u067E\u0679", - email: "\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633", - url: "\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644", - emoji: "\u0627\u06CC\u0645\u0648\u062C\u06CC", - uuid: "\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC", - uuidv4: "\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4", - uuidv6: "\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6", - nanoid: "\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC", - guid: "\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC", - cuid: "\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC", - cuid2: "\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2", - ulid: "\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC", - xid: "\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC", - ksuid: "\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC", - datetime: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645", - date: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E", - time: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A", - duration: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A", - ipv4: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633", - ipv6: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633", - mac: "\u0627\u06CC\u0645 \u0627\u06D2 \u0633\u06CC \u0627\u06CC\u0688\u0631\u06CC\u0633", - cidrv4: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C", - cidrv6: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C", - base64: "\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF", - base64url: "\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF", - json_string: "\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF", - e164: "\u0627\u06CC 164 \u0646\u0645\u0628\u0631", - credit_card: "\u06A9\u0631\u06CC\u0688\u0679 \u06A9\u0627\u0631\u0688 \u0646\u0645\u0628\u0631", - currency_code: "\u06A9\u0631\u0646\u0633\u06CC \u06A9\u0648\u0688", - iban: "IBAN", - jwt: "\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC", - template_literal: "\u0627\u0646 \u067E\u0679" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u0646\u0645\u0628\u0631", - array: "\u0622\u0631\u06D2", - null: "\u0646\u0644" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${issue2.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`; - } - return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${stringifyPrimitive(issue2.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`; - return `\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${joinValues(issue2.values, "|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue2.origin ?? "\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`; - return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue2.origin ?? "\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${adj}${issue2.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue2.origin} \u06A9\u06D2 ${adj}${issue2.minimum.toString()} ${sizing.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`; - } - return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue2.origin} \u06A9\u0627 ${adj}${issue2.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_issue.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; - } - if (_issue.format === "ends_with") - return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_issue.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; - if (_issue.format === "includes") - return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_issue.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; - if (_issue.format === "regex") - return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${_issue.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; - return `\u063A\u0644\u0637 ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${issue2.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; - case "unrecognized_keys": - return `\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${issue2.keys.length > 1 ? "\u0632" : ""}: ${joinValues(issue2.keys, "\u060C ")}`; - case "invalid_key": - return `${issue2.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`; - case "invalid_union": - return "\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"; - case "invalid_element": - return `${issue2.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`; - default: - return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679`; - } - }; -}; -function ur_default() { - return { - localeError: error56() - }; -} - -// ../../../node_modules/zod/v4/locales/uz.js -var error57 = () => { - const Sizable = { - string: { unit: "belgi", verb: "bo\u2018lishi kerak" }, - file: { unit: "bayt", verb: "bo\u2018lishi kerak" }, - array: { unit: "element", verb: "bo\u2018lishi kerak" }, - set: { unit: "element", verb: "bo\u2018lishi kerak" }, - map: { unit: "yozuv", verb: "bo\u2018lishi kerak" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "kirish", - email: "elektron pochta manzili", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO sana va vaqti", - date: "ISO sana", - time: "ISO vaqt", - duration: "ISO davomiylik", - ipv4: "IPv4 manzil", - ipv6: "IPv6 manzil", - mac: "MAC manzil", - cidrv4: "IPv4 diapazon", - cidrv6: "IPv6 diapazon", - base64: "base64 kodlangan satr", - base64url: "base64url kodlangan satr", - json_string: "JSON satr", - e164: "E.164 raqam", - credit_card: "kredit karta raqami", - currency_code: "valyuta kodi", - iban: "IBAN", - jwt: "JWT", - template_literal: "kirish" - }; - const TypeDictionary = { - nan: "NaN", - number: "raqam", - array: "massiv" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `Noto\u2018g\u2018ri kirish: kutilgan instanceof ${issue2.expected}, qabul qilingan ${received}`; - } - return `Noto\u2018g\u2018ri kirish: kutilgan ${expected}, qabul qilingan ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `Noto\u2018g\u2018ri kirish: kutilgan ${stringifyPrimitive(issue2.values[0])}`; - return `Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Juda katta: kutilgan ${issue2.origin ?? "qiymat"} ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`; - return `Juda katta: kutilgan ${issue2.origin ?? "qiymat"} ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; - } - return `Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Noto\u2018g\u2018ri satr: "${_issue.prefix}" bilan boshlanishi kerak`; - if (_issue.format === "ends_with") - return `Noto\u2018g\u2018ri satr: "${_issue.suffix}" bilan tugashi kerak`; - if (_issue.format === "includes") - return `Noto\u2018g\u2018ri satr: "${_issue.includes}" ni o\u2018z ichiga olishi kerak`; - if (_issue.format === "regex") - return `Noto\u2018g\u2018ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`; - return `Noto\u2018g\u2018ri ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `Noto\u2018g\u2018ri raqam: ${issue2.divisor} ning karralisi bo\u2018lishi kerak`; - case "unrecognized_keys": - return `Noma\u2019lum kalit${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `${issue2.origin} dagi kalit noto\u2018g\u2018ri`; - case "invalid_union": - return "Noto\u2018g\u2018ri kirish"; - case "invalid_element": - return `${issue2.origin} da noto\u2018g\u2018ri qiymat`; - default: - return `Noto\u2018g\u2018ri kirish`; - } - }; -}; -function uz_default() { - return { - localeError: error57() - }; -} - -// ../../../node_modules/zod/v4/locales/vi.js -var error58 = () => { - const Sizable = { - string: { unit: "k\xFD t\u1EF1", verb: "c\xF3" }, - file: { unit: "byte", verb: "c\xF3" }, - array: { unit: "ph\u1EA7n t\u1EED", verb: "c\xF3" }, - set: { unit: "ph\u1EA7n t\u1EED", verb: "c\xF3" }, - map: { unit: "ph\u1EA7n t\u1EED", verb: "c\xF3" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u0111\u1EA7u v\xE0o", - email: "\u0111\u1ECBa ch\u1EC9 email", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ng\xE0y gi\u1EDD ISO", - date: "ng\xE0y ISO", - time: "gi\u1EDD ISO", - duration: "kho\u1EA3ng th\u1EDDi gian ISO", - ipv4: "\u0111\u1ECBa ch\u1EC9 IPv4", - ipv6: "\u0111\u1ECBa ch\u1EC9 IPv6", - mac: "\u0111\u1ECBa ch\u1EC9 MAC", - cidrv4: "d\u1EA3i IPv4", - cidrv6: "d\u1EA3i IPv6", - base64: "chu\u1ED7i m\xE3 h\xF3a base64", - base64url: "chu\u1ED7i m\xE3 h\xF3a base64url", - json_string: "chu\u1ED7i JSON", - e164: "s\u1ED1 E.164", - credit_card: "s\u1ED1 th\u1EBB t\xEDn d\u1EE5ng", - currency_code: "m\xE3 ti\u1EC1n t\u1EC7", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u0111\u1EA7u v\xE0o" - }; - const TypeDictionary = { - nan: "NaN", - number: "s\u1ED1", - array: "m\u1EA3ng" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${issue2.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`; - } - return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${stringifyPrimitive(issue2.values[0])}`; - return `T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${issue2.origin ?? "gi\xE1 tr\u1ECB"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "ph\u1EA7n t\u1EED"}`; - return `Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${issue2.origin ?? "gi\xE1 tr\u1ECB"} ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${issue2.origin} ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${_issue.suffix}"`; - if (_issue.format === "includes") - return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${_issue.includes}"`; - if (_issue.format === "regex") - return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${_issue.pattern}`; - return `${FormatDictionary[_issue.format] ?? issue2.format} kh\xF4ng h\u1EE3p l\u1EC7`; - } - case "not_multiple_of": - return `S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${issue2.divisor}`; - case "unrecognized_keys": - return `Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${issue2.origin}`; - case "invalid_union": - return "\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"; - case "invalid_element": - return `Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${issue2.origin}`; - default: - return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7`; - } - }; -}; -function vi_default() { - return { - localeError: error58() - }; -} - -// ../../../node_modules/zod/v4/locales/zh-CN.js -var error59 = () => { - const Sizable = { - string: { unit: "\u5B57\u7B26", verb: "\u5305\u542B" }, - file: { unit: "\u5B57\u8282", verb: "\u5305\u542B" }, - array: { unit: "\u9879", verb: "\u5305\u542B" }, - set: { unit: "\u9879", verb: "\u5305\u542B" }, - map: { unit: "\u9879", verb: "\u5305\u542B" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u8F93\u5165", - email: "\u7535\u5B50\u90AE\u4EF6", - url: "URL", - emoji: "\u8868\u60C5\u7B26\u53F7", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO\u65E5\u671F\u65F6\u95F4", - date: "ISO\u65E5\u671F", - time: "ISO\u65F6\u95F4", - duration: "ISO\u65F6\u957F", - ipv4: "IPv4\u5730\u5740", - ipv6: "IPv6\u5730\u5740", - mac: "MAC\u5730\u5740", - cidrv4: "IPv4\u7F51\u6BB5", - cidrv6: "IPv6\u7F51\u6BB5", - base64: "base64\u7F16\u7801\u5B57\u7B26\u4E32", - base64url: "base64url\u7F16\u7801\u5B57\u7B26\u4E32", - json_string: "JSON\u5B57\u7B26\u4E32", - e164: "E.164\u53F7\u7801", - credit_card: "\u4FE1\u7528\u5361\u53F7", - currency_code: "\u8D27\u5E01\u4EE3\u7801", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u8F93\u5165" - }; - const TypeDictionary = { - nan: "NaN", - number: "\u6570\u5B57", - array: "\u6570\u7EC4", - null: "\u7A7A\u503C(null)" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${issue2.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`; - } - return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${stringifyPrimitive(issue2.values[0])}`; - return `\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue2.origin ?? "\u503C"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u4E2A\u5143\u7D20"}`; - return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue2.origin ?? "\u503C"} ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue2.origin} ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${_issue.prefix}" \u5F00\u5934`; - if (_issue.format === "ends_with") - return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${_issue.suffix}" \u7ED3\u5C3E`; - if (_issue.format === "includes") - return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${_issue.pattern}`; - return `\u65E0\u6548${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${issue2.divisor} \u7684\u500D\u6570`; - case "unrecognized_keys": - return `\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `${issue2.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`; - case "invalid_union": - return "\u65E0\u6548\u8F93\u5165"; - case "invalid_element": - return `${issue2.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`; - default: - return `\u65E0\u6548\u8F93\u5165`; - } - }; -}; -function zh_CN_default() { - return { - localeError: error59() - }; -} - -// ../../../node_modules/zod/v4/locales/zh-TW.js -var error60 = () => { - const Sizable = { - string: { unit: "\u5B57\u5143", verb: "\u64C1\u6709" }, - file: { unit: "\u4F4D\u5143\u7D44", verb: "\u64C1\u6709" }, - array: { unit: "\u9805\u76EE", verb: "\u64C1\u6709" }, - set: { unit: "\u9805\u76EE", verb: "\u64C1\u6709" }, - map: { unit: "\u9805\u76EE", verb: "\u64C1\u6709" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u8F38\u5165", - email: "\u90F5\u4EF6\u5730\u5740", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO \u65E5\u671F\u6642\u9593", - date: "ISO \u65E5\u671F", - time: "ISO \u6642\u9593", - duration: "ISO \u671F\u9593", - ipv4: "IPv4 \u4F4D\u5740", - ipv6: "IPv6 \u4F4D\u5740", - mac: "MAC \u4F4D\u5740", - cidrv4: "IPv4 \u7BC4\u570D", - cidrv6: "IPv6 \u7BC4\u570D", - base64: "base64 \u7DE8\u78BC\u5B57\u4E32", - base64url: "base64url \u7DE8\u78BC\u5B57\u4E32", - json_string: "JSON \u5B57\u4E32", - e164: "E.164 \u6578\u503C", - credit_card: "\u4FE1\u7528\u5361\u865F", - currency_code: "\u8CA8\u5E63\u4EE3\u78BC", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u8F38\u5165" - }; - const TypeDictionary = { - nan: "NaN" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${issue2.expected}\uFF0C\u4F46\u6536\u5230 ${received}`; - } - return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${expected}\uFF0C\u4F46\u6536\u5230 ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${stringifyPrimitive(issue2.values[0])}`; - return `\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue2.origin ?? "\u503C"} \u61C9\u70BA ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u500B\u5143\u7D20"}`; - return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue2.origin ?? "\u503C"} \u61C9\u70BA ${adj}${issue2.maximum.toString()}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) { - return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue2.origin} \u61C9\u70BA ${adj}${issue2.minimum.toString()} ${sizing.unit}`; - } - return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue2.origin} \u61C9\u70BA ${adj}${issue2.minimum.toString()}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") { - return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${_issue.prefix}" \u958B\u982D`; - } - if (_issue.format === "ends_with") - return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${_issue.suffix}" \u7D50\u5C3E`; - if (_issue.format === "includes") - return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${_issue.pattern}`; - return `\u7121\u6548\u7684 ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${issue2.divisor} \u7684\u500D\u6578`; - case "unrecognized_keys": - return `\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${issue2.keys.length > 1 ? "\u5011" : ""}\uFF1A${joinValues(issue2.keys, "\u3001")}`; - case "invalid_key": - return `${issue2.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`; - case "invalid_union": - return "\u7121\u6548\u7684\u8F38\u5165\u503C"; - case "invalid_element": - return `${issue2.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`; - default: - return `\u7121\u6548\u7684\u8F38\u5165\u503C`; - } - }; -}; -function zh_TW_default() { - return { - localeError: error60() - }; -} - -// ../../../node_modules/zod/v4/locales/yo.js -var error61 = () => { - const Sizable = { - string: { unit: "\xE0mi", verb: "n\xED" }, - file: { unit: "bytes", verb: "n\xED" }, - array: { unit: "nkan", verb: "n\xED" }, - set: { unit: "nkan", verb: "n\xED" }, - map: { unit: "nkan", verb: "n\xED" } - }; - function getSizing(origin) { - return Sizable[origin] ?? null; - } - const FormatDictionary = { - regex: "\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9", - email: "\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "\xE0k\xF3k\xF2 ISO", - date: "\u1ECDj\u1ECD\u0301 ISO", - time: "\xE0k\xF3k\xF2 ISO", - duration: "\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO", - ipv4: "\xE0d\xEDr\u1EB9\u0301s\xEC IPv4", - ipv6: "\xE0d\xEDr\u1EB9\u0301s\xEC IPv6", - mac: "\xE0d\xEDr\u1EB9\u0301s\xEC MAC", - cidrv4: "\xE0gb\xE8gb\xE8 IPv4", - cidrv6: "\xE0gb\xE8gb\xE8 IPv6", - base64: "\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64", - base64url: "\u1ECD\u0300r\u1ECD\u0300 base64url", - json_string: "\u1ECD\u0300r\u1ECD\u0300 JSON", - e164: "n\u1ECD\u0301mb\xE0 E.164", - credit_card: "n\u1ECDmba kaadi gbese", - currency_code: "koodu ow\xF3", - iban: "IBAN", - jwt: "JWT", - template_literal: "\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9" - }; - const TypeDictionary = { - nan: "NaN", - number: "n\u1ECD\u0301mb\xE0", - array: "akop\u1ECD" - }; - return (issue2) => { - switch (issue2.code) { - case "invalid_type": { - const expected = TypeDictionary[issue2.expected] ?? issue2.expected; - const receivedType = parsedType(issue2.input); - const received = TypeDictionary[receivedType] ?? receivedType; - if (/^[A-Z]/.test(issue2.expected)) { - return `\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${issue2.expected}, \xE0m\u1ECD\u0300 a r\xED ${received}`; - } - return `\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${expected}, \xE0m\u1ECD\u0300 a r\xED ${received}`; - } - case "invalid_value": - if (issue2.values.length === 1) - return `\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${stringifyPrimitive(issue2.values[0])}`; - return `\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${joinValues(issue2.values, "|")}`; - case "too_big": { - const adj = issue2.inclusive ? "<=" : "<"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${issue2.origin ?? "iye"} ${sizing.verb} ${adj}${issue2.maximum} ${sizing.unit}`; - return `T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${adj}${issue2.maximum}`; - } - case "too_small": { - const adj = issue2.inclusive ? ">=" : ">"; - const sizing = getSizing(issue2.origin); - if (sizing) - return `K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum} ${sizing.unit}`; - return `K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${adj}${issue2.minimum}`; - } - case "invalid_format": { - const _issue = issue2; - if (_issue.format === "starts_with") - return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${_issue.prefix}"`; - if (_issue.format === "ends_with") - return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${_issue.suffix}"`; - if (_issue.format === "includes") - return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${_issue.includes}"`; - if (_issue.format === "regex") - return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${_issue.pattern}`; - return `A\u1E63\xEC\u1E63e: ${FormatDictionary[_issue.format] ?? issue2.format}`; - } - case "not_multiple_of": - return `N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${issue2.divisor}`; - case "unrecognized_keys": - return `B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${joinValues(issue2.keys, ", ")}`; - case "invalid_key": - return `B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${issue2.origin}`; - case "invalid_union": - return "\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"; - case "invalid_element": - return `Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${issue2.origin}`; - default: - return "\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"; - } - }; -}; -function yo_default() { - return { - localeError: error61() - }; -} - -// ../../../node_modules/zod/v4/core/registries.js -var _a2; -var $output = /* @__PURE__ */ Symbol("ZodOutput"); -var $input = /* @__PURE__ */ Symbol("ZodInput"); -var $ZodRegistry = class { - constructor() { - this._map = /* @__PURE__ */ new WeakMap(); - this._idmap = /* @__PURE__ */ new Map(); - } - add(schema, ..._meta) { - const meta3 = _meta[0]; - this._map.set(schema, meta3); - if (meta3 && typeof meta3 === "object" && "id" in meta3) { - this._idmap.set(meta3.id, schema); - } - return this; - } - clear() { - this._map = /* @__PURE__ */ new WeakMap(); - this._idmap = /* @__PURE__ */ new Map(); - return this; - } - remove(schema) { - const meta3 = this._map.get(schema); - if (meta3 && typeof meta3 === "object" && "id" in meta3) { - this._idmap.delete(meta3.id); - } - this._map.delete(schema); - return this; - } - get(schema) { - const p = schema._zod.parent; - if (p) { - const pm = { ...this.get(p) ?? {} }; - delete pm.id; - const f = { ...pm, ...this._map.get(schema) }; - return Object.keys(f).length ? f : void 0; - } - return this._map.get(schema); - } - has(schema) { - return this._map.has(schema); - } -}; -function registry() { - return new $ZodRegistry(); -} -(_a2 = globalThis).__zod_globalRegistry ?? (_a2.__zod_globalRegistry = registry()); -var globalRegistry = globalThis.__zod_globalRegistry; - -// ../../../node_modules/zod/v4/core/compile.js -var INVALID = /* @__PURE__ */ Symbol.for("zod.compile.invalid"); -var FALLBACK_FLAG = /* @__PURE__ */ Symbol.for("zod.compile.fallback"); -var ZodCompileAsyncError = class extends Error { - constructor(message = "z.compile does not support async refinements, transforms, or checks") { - super(message); - this.name = "ZodCompileAsyncError"; - } -}; -var ZodCompileUnsupportedError = class extends Error { - constructor(feature, islandable = true) { - super(`z.compile does not support ${feature}; this schema must use the runtime parser`); - this.name = "ZodCompileUnsupportedError"; - this.islandable = islandable; - } -}; -function compileValidator(schema, parser) { - try { - return compileFn(schema, { assertOnly: true }); - } catch { - return parser; - } -} -function compile(schema, options) { - try { - const parser = compileFn(schema); - const clone2 = withParser(schema, parser); - clone2._zod.bag.validator = compileValidator(schema, parser); - return clone2; - } catch (err) { - if (options?.strict) - throw err; - return schema; - } -} -function withParser(schema, parser) { - if (isRecursiveSchema(schema)) { - throw new ZodCompileUnsupportedError("a schema whose subtree contains a reference cycle"); - } - const clone2 = clone(schema); - const liveRun = schema._zod.run; - const originalRun = liveRun.__originalRun ?? liveRun; - const wrapped = (payload, ctx) => { - if (ctx?.async || ctx?.direction === "backward" || ctx?.skipChecks || ctx?.[FALLBACK_FLAG]) { - return originalRun(payload, ctx); - } - if (ctx && isBackEdge(ctx, payload.value)) { - return originalRun(payload, ctx); - } - const out = parser(payload.value); - if (out !== INVALID) { - payload.value = out; - return payload; - } - if (ctx) - ctx[FALLBACK_FLAG] = true; - return originalRun(payload, ctx); - }; - wrapped.__originalRun = originalRun; - clone2._zod.bag.fallbackRun = originalRun; - clone2._zod.bag.validator = parser; - clone2._zod.run = wrapped; - if (!liveRun.__originalRun) - installCompiledUserMethods(clone2, schema, parser); - return clone2; -} -function installCompiledUserMethods(target, source2, parser) { - const targetAny = target; - const sourceAny = source2; - if (typeof sourceAny.safeParse === "function") { - const originalSafeParse = sourceAny.safeParse; - targetAny.safeParse = (data, params) => { - const out = parser(data); - if (out !== INVALID) { - return { success: true, data: out }; - } - return originalSafeParse(data, params); - }; - } - if (typeof sourceAny.parse === "function") { - const originalParse = sourceAny.parse; - targetAny.parse = (data, params) => { - const out = parser(data); - if (out !== INVALID) { - return out; - } - return originalParse(data, params); - }; - } -} -function compileFn(schema, options) { - let recursive2 = true; - try { - recursive2 = isRecursiveSchema(schema); - } catch { - } - if (recursive2) { - throw new ZodCompileUnsupportedError("a schema whose subtree contains a reference cycle"); - } - const ctx = { - constants: /* @__PURE__ */ new Map(), - constantCounter: 0, - varCounter: 0, - definite: true - }; - const doc = new Doc(["input"]); - const outputAccessor = generateCheck(doc, ctx, schema, "input", !options?.assertOnly); - doc.write(outputAccessor === null ? `return true;` : `return ${outputAccessor};`); - const constantNames = ["INVALID", ...ctx.constants.keys()]; - const constantValues = [INVALID, ...ctx.constants.values()]; - const code = doc.content.join("\n"); - const fullCode = options?.debug ? constantNames.length > 0 ? `// Constants: ${constantNames.join(", ")} -${code}` : code : ""; - const F = Function; - const factoryCode = `return (input) => { -${code} -}`; - let fn; - try { - const factory = new F(...constantNames, factoryCode); - fn = factory(...constantValues); - } catch (err) { - throw new ZodCompileUnsupportedError(`this schema (generated code failed to evaluate: ${err.message})`); - } - if (options?.debug) { - fn.code = fullCode; - } - fn.definite = ctx.definite; - return fn; -} -function addConstant(ctx, value) { - for (const [name2, v] of ctx.constants) { - if (v === value) - return name2; - } - const name = `c${ctx.constantCounter++}`; - ctx.constants.set(name, value); - return name; -} -function addUserConstant(ctx, fn) { - ctx.definite = false; - return addConstant(ctx, fn); -} -function newVar(ctx) { - return `v${ctx.varCounter++}`; -} -function runtimeRun(schema, value) { - const result = schema._zod.run({ value, issues: [] }, {}); - if (result && typeof result.then === "function") - return INVALID; - const r = result; - return r.issues.length === 0 ? r.value : INVALID; -} -function compileChild(doc, ctx, schema, accessor, needsValue = true) { - const contentLen = doc.content.length; - const constantCount = ctx.constants.size; - const constantCounter = ctx.constantCounter; - const varCounter = ctx.varCounter; - try { - return generateCheck(doc, ctx, schema, accessor, needsValue); - } catch (err) { - if (!(err instanceof ZodCompileUnsupportedError) || !err.islandable) - throw err; - doc.content.length = contentLen; - if (ctx.constants.size > constantCount) { - const trailing = Array.from(ctx.constants.keys()).slice(constantCount); - for (const k of trailing) - ctx.constants.delete(k); - } - ctx.constantCounter = constantCounter; - ctx.varCounter = varCounter; - return emitRuntimeIsland(doc, ctx, schema, accessor); - } -} -function emitRuntimeIsland(doc, ctx, schema, accessor) { - ctx.definite = false; - const schemaConst = addConstant(ctx, schema); - const runConst = addConstant(ctx, runtimeRun); - const outVar = newVar(ctx); - doc.write(`const ${outVar} = ${runConst}(${schemaConst}, ${accessor});`); - doc.write(`if (${outVar} === INVALID) return INVALID;`); - return outVar; -} -var WHEN_DEFAULTED_CHECKS = /* @__PURE__ */ new Set([ - "max_size", - "min_size", - "size_equals", - "max_length", - "min_length", - "length_equals" -]); -function generateChecks(doc, ctx, schema, accessor) { - const schemaChecks = schema._zod.def.checks; - if (!schemaChecks || schemaChecks.length === 0) - return accessor; - let currentAccessor = accessor; - for (const check3 of schemaChecks) { - const def = check3._zod.def; - if (def.when && !WHEN_DEFAULTED_CHECKS.has(def.check)) { - throw new ZodCompileUnsupportedError(`check with a custom "when" condition`); - } - switch (def.check) { - case "greater_than": - generateGreaterThanCheck(doc, ctx, def, currentAccessor); - break; - case "less_than": - generateLessThanCheck(doc, ctx, def, currentAccessor); - break; - case "multiple_of": - generateMultipleOfCheck(doc, ctx, def, currentAccessor); - break; - case "number_format": - generateNumberFormatCheck(doc, def, currentAccessor); - break; - case "min_length": { - const min = numericOperand(def.minimum, "min_length"); - const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length >= ${min} && ${currentAccessor}.length < ${def.minimum * 2}`); - doc.write(`if (${len} < ${min}) return INVALID;`); - break; - } - case "max_length": { - const max = numericOperand(def.maximum, "max_length"); - const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length > ${max}`); - doc.write(`if (${len} > ${max}) return INVALID;`); - break; - } - case "length_equals": { - const exact = numericOperand(def.length, "length_equals"); - const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length >= ${exact} && ${currentAccessor}.length <= ${def.length * 2}`); - doc.write(`if (${len} !== ${exact}) return INVALID;`); - break; - } - case "min_size": - doc.write(`if (${currentAccessor}.size < ${numericOperand(def.minimum, "min_size")}) return INVALID;`); - break; - case "max_size": - doc.write(`if (${currentAccessor}.size > ${numericOperand(def.maximum, "max_size")}) return INVALID;`); - break; - case "size_equals": - doc.write(`if (${currentAccessor}.size !== ${numericOperand(def.size, "size_equals")}) return INVALID;`); - break; - case "string_format": - currentAccessor = generateStringFormatCheck(doc, ctx, def, currentAccessor); - break; - case "custom": - currentAccessor = generateCustomRefineCheck(doc, ctx, check3, currentAccessor); - break; - case "bigint_format": - generateBigIntFormatCheck(doc, def, currentAccessor); - break; - case "mime_type": - generateMimeTypeCheck(doc, ctx, def, currentAccessor); - break; - case "property": - generatePropertyCheck(doc, ctx, def, currentAccessor); - break; - case "properties": - generatePropertiesChecks(doc, ctx, def, currentAccessor); - break; - case "overwrite": { - const newAccessor = newVar(ctx); - generateOverwriteCheck(doc, ctx, check3, currentAccessor, newAccessor); - currentAccessor = newAccessor; - break; - } - default: { - void def; - throw new ZodCompileUnsupportedError(`check type ${def.check}`); - } - } - } - return currentAccessor; -} -function codePointLengthVar(doc, ctx, accessor, inDoubt) { - const cpLen = addConstant(ctx, codePointLength); - const v = newVar(ctx); - doc.write(`const ${v} = typeof ${accessor} === "string" && ${inDoubt} ? ${cpLen}(${accessor}) : ${accessor}.length;`); - return v; -} -function numericOperand(value, label) { - if (typeof value !== "number" || !Number.isFinite(value)) { - throw new ZodCompileUnsupportedError(`${label} bound of type ${typeof value}`); - } - return `${value}`; -} -function comparisonOperand(ctx, value) { - if (typeof value === "bigint") - return `${value}n`; - if (typeof value === "number") { - if (Number.isNaN(value)) - throw new ZodCompileUnsupportedError("comparison check with NaN bound"); - return `${value}`; - } - if (value instanceof Date) { - if (Number.isNaN(value.getTime())) { - throw new ZodCompileUnsupportedError("comparison check with Invalid Date bound"); - } - return addConstant(ctx, value); - } - throw new ZodCompileUnsupportedError(`comparison check bound of type ${typeof value}`); -} -function generateGreaterThanCheck(doc, ctx, def, accessor) { - const op = def.inclusive ? "<" : "<="; - doc.write(`if (${accessor} ${op} ${comparisonOperand(ctx, def.value)}) return INVALID;`); -} -function generateLessThanCheck(doc, ctx, def, accessor) { - const op = def.inclusive ? ">" : ">="; - doc.write(`if (${accessor} ${op} ${comparisonOperand(ctx, def.value)}) return INVALID;`); -} -function generateMultipleOfCheck(doc, ctx, def, accessor) { - if (typeof def.value === "bigint") { - if (def.value === BigInt(0)) - throw new ZodCompileUnsupportedError("multiple_of check with a zero divisor"); - doc.write(`if (${accessor} % ${def.value}n !== 0n) return INVALID;`); - } else { - const remainder = addConstant(ctx, floatSafeRemainder); - doc.write(`if (${remainder}(${accessor}, ${numericOperand(def.value, "multiple_of")}) !== 0) return INVALID;`); - } -} -function generateNumberFormatCheck(doc, def, accessor) { - const format = def.format; - switch (format) { - case "safeint": - doc.write(`if (!Number.isSafeInteger(${accessor})) return INVALID;`); - break; - case "int32": - doc.write(`if (!Number.isInteger(${accessor}) || ${accessor} < -2147483648 || ${accessor} > 2147483647) return INVALID;`); - break; - case "uint32": - doc.write(`if (!Number.isInteger(${accessor}) || ${accessor} < 0 || ${accessor} > 4294967295) return INVALID;`); - break; - case "float32": - doc.write(`if (!Number.isFinite(${accessor}) || ${accessor} < -3.4028234663852886e38 || ${accessor} > 3.4028234663852886e38) return INVALID;`); - break; - case "float64": - doc.write(`if (!Number.isFinite(${accessor})) return INVALID;`); - break; - default: { - void format; - throw new ZodCompileUnsupportedError(`number format ${format}`); - } - } -} -function generateBigIntFormatCheck(doc, def, accessor) { - const format = def.format; - if (!format) - return; - switch (format) { - case "int64": - doc.write(`if (${accessor} < -9223372036854775808n || ${accessor} > 9223372036854775807n) return INVALID;`); - break; - case "uint64": - doc.write(`if (${accessor} < 0n || ${accessor} > 18446744073709551615n) return INVALID;`); - break; - default: { - void format; - throw new ZodCompileUnsupportedError(`bigint format ${format}`); - } - } -} -function generateMimeTypeCheck(doc, ctx, def, accessor) { - const mimeTypes = def.mime; - if (mimeTypes && mimeTypes.length > 0) { - const mimeSet = addConstant(ctx, new Set(mimeTypes)); - doc.write(`if (!${mimeSet}.has(${accessor}.type)) return INVALID;`); - } -} -function generatePropertiesChecks(doc, ctx, def, accessor) { - if (def.when) { - throw new ZodCompileUnsupportedError(`check with a custom "when" condition`); - } - doc.write(`if (${accessor} == null) return INVALID;`); - const shape = def.shape; - for (const key of Reflect.ownKeys(shape)) { - const keyExpr = typeof key === "symbol" ? addConstant(ctx, key) : esc(key); - const inputVar = newVar(ctx); - doc.write(`const ${inputVar} = ${accessor}[${keyExpr}];`); - compileChild(doc, ctx, shape[key], inputVar, false); - } -} -function generatePropertyCheck(doc, ctx, def, accessor) { - const propAccessor = `${accessor}[${JSON.stringify(def.property)}]`; - generateCheck(doc, ctx, def.schema, propAccessor); -} -function generateOverwriteCheck(doc, ctx, check3, currentAccessor, newAccessor) { - const tx = check3._zod.def.tx; - if (!tx) { - throw new ZodCompileUnsupportedError("overwrite check without a transform function"); - } - if (isAsyncFunction(tx)) { - throw new ZodCompileAsyncError("z.compile: async overwrite transforms are not supported"); - } - const txConst = addConstant(ctx, tx); - doc.write(`const ${newAccessor} = ${txConst}(${currentAccessor});`); -} -function throwAsync() { - throw new $ZodAsyncError(); -} -function pushIssue(issue2) { - this.issues.push(issue2); -} -function generateCustomRefineCheck(doc, ctx, check3, accessor) { - const def = check3._zod.def; - if (def.fn) { - if (isAsyncFunction(def.fn)) { - throw new ZodCompileAsyncError("z.compile: async .refine() predicates are not supported"); - } - const fnConst = addUserConstant(ctx, def.fn); - const throwAsyncConst = addConstant(ctx, throwAsync); - const resVar = newVar(ctx); - doc.write(`const ${resVar} = ${fnConst}(${accessor});`); - doc.write(`if (${resVar} instanceof Promise) ${throwAsyncConst}();`); - doc.write(`if (!${resVar}) return INVALID;`); - return accessor; - } - if (check3._zod.check) { - if (isAsyncFunction(check3._zod.check)) { - throw new ZodCompileAsyncError("z.compile: async .superRefine() / check functions are not supported"); - } - const checkFn = check3._zod.check; - const helperFn = (value) => { - const fakePayload = { value, issues: [], addIssue: pushIssue }; - const result = checkFn(fakePayload); - if (result instanceof Promise) - throwAsync(); - return fakePayload.issues.length === 0 ? fakePayload.value : INVALID; - }; - const helperConst = addUserConstant(ctx, helperFn); - const outVar = newVar(ctx); - doc.write(`const ${outVar} = ${helperConst}(${accessor});`); - doc.write(`if (${outVar} === INVALID) return INVALID;`); - return outVar; - } - throw new ZodCompileUnsupportedError("custom check without a predicate or check function"); -} -var PATTERN_IS_COMPLETE = /* @__PURE__ */ new Set([ - "cidrv4", - "cuid", - "cuid2", - "date", - "datetime", - "duration", - "e164", - "email", - "emoji", - "ends_with", - "guid", - "includes", - "ipv4", - "ksuid", - "lowercase", - "mac", - "nanoid", - "regex", - "starts_with", - "time", - "ulid", - "uppercase", - "uuid", - "xid" -]); -function generateStringFormatCheck(doc, ctx, def, accessor, needsValue = true) { - const fmt = def.format; - if (fmt === "base64") { - const validator = addConstant(ctx, isValidBase64); - doc.write(`if (!${validator}(${accessor})) return INVALID;`); - return accessor; - } - if (fmt === "base64url") { - const validator = addConstant(ctx, isValidBase64URL); - doc.write(`if (!${validator}(${accessor})) return INVALID;`); - return accessor; - } - if (fmt === "jwt") { - const validator = addConstant(ctx, isValidJWT); - const alg = addConstant(ctx, def.alg ?? null); - doc.write(`if (!${validator}(${accessor}, ${alg})) return INVALID;`); - return accessor; - } - if (fmt === "ipv6") { - const validator = addConstant(ctx, isValidIPv6); - doc.write(`if (!${validator}(${accessor})) return INVALID;`); - return accessor; - } - if (fmt === "cidrv6") { - const validator = addConstant(ctx, isValidCIDRv6); - doc.write(`if (!${validator}(${accessor})) return INVALID;`); - return accessor; - } - if (fmt === "credit_card") { - const validator = addConstant(ctx, isValidCreditCard); - doc.write(`if (!${validator}(${accessor})) return INVALID;`); - return accessor; - } - if (fmt === "iban") { - const validator = addConstant(ctx, isValidIBAN); - doc.write(`if (!${validator}(${accessor})) return INVALID;`); - return accessor; - } - const formatDef = def; - if (fmt === "url" || fmt === "httpurl" || formatDef.normalize || formatDef.hostname !== void 0 || formatDef.protocol !== void 0) { - const parseConst = addConstant(ctx, validateURL); - const defConst = addConstant(ctx, def); - const trimVar = newVar(ctx); - const urlVar = newVar(ctx); - doc.write(`const ${trimVar} = ${accessor}.trim();`); - doc.write(`const ${urlVar} = ${parseConst}(${trimVar}, ${defConst});`); - doc.write(`if (typeof ${urlVar} === "number") return INVALID;`); - if (formatDef.hostname !== void 0) { - const hostnameConst = addConstant(ctx, urlHostnameOk); - doc.write(`if (!${hostnameConst}(${urlVar}, ${defConst}.hostname)) return INVALID;`); - } - if (formatDef.protocol !== void 0) { - const protocolConst = addConstant(ctx, urlProtocolOk); - doc.write(`if (!${protocolConst}(${urlVar}, ${defConst}.protocol)) return INVALID;`); - } - if (!needsValue) - return null; - const outputVar = newVar(ctx); - const outputExpr = formatDef.normalize ? `${urlVar}.href` : `${addConstant(ctx, stripTabAndNewline)}(${trimVar})`; - doc.write(`const ${outputVar} = ${outputExpr};`); - return outputVar; - } - const customFn = def.fn; - if (customFn) { - if (isAsyncFunction(customFn)) - throw new ZodCompileUnsupportedError(`async string format ${fmt}`); - const fnConst = addConstant(ctx, customFn); - doc.write(`if (!${fnConst}(${accessor})) return INVALID;`); - return accessor; - } - if (PATTERN_IS_COMPLETE.has(fmt) && def.pattern) { - const patternConst = addConstant(ctx, def.pattern); - doc.write(`${patternConst}.lastIndex = 0;`); - doc.write(`if (!${patternConst}.test(${accessor})) return INVALID;`); - return accessor; - } - const format = def.format; - switch (format) { - case "regex": - throw new ZodCompileUnsupportedError("regex format without a pattern"); - case "lowercase": - doc.write(`if (${accessor} !== ${accessor}.toLowerCase()) return INVALID;`); - break; - case "uppercase": - doc.write(`if (${accessor} !== ${accessor}.toUpperCase()) return INVALID;`); - break; - case "includes": - doc.write(`if (!${accessor}.includes(${esc(def.includes)})) return INVALID;`); - break; - case "starts_with": { - const prefix = def.prefix; - doc.write(`if (${accessor}.slice(0, ${prefix.length}) !== ${esc(prefix)}) return INVALID;`); - break; - } - case "ends_with": { - const suffix = def.suffix; - doc.write(`if (${accessor}.slice(-${suffix.length}) !== ${esc(suffix)}) return INVALID;`); - break; - } - default: { - void format; - throw new ZodCompileUnsupportedError(`string format ${format}`); - } - } - return accessor; -} -function generateCheck(doc, ctx, schema, accessor, needsValue = true) { - const def = schema._zod.def; - const type = def.type; - if (def.coerce) { - throw new ZodCompileUnsupportedError(`coercion (z.coerce.${type}())`); - } - const buildsValue = needsValue || !!def.checks?.length; - let typeAccessor; - switch (type) { - case "string": - typeAccessor = generateStringCheck(doc, ctx, schema, accessor, buildsValue); - break; - case "number": - typeAccessor = generateNumberCheck(doc, schema, accessor); - break; - case "boolean": - typeAccessor = generateBooleanCheck(doc, accessor); - break; - case "bigint": - typeAccessor = generateBigIntCheck(doc, schema, accessor); - break; - case "symbol": - typeAccessor = generateSymbolCheck(doc, accessor); - break; - case "undefined": - typeAccessor = generateUndefinedCheck(doc, accessor); - break; - case "null": - typeAccessor = generateNullCheck(doc, accessor); - break; - case "any": - case "unknown": - typeAccessor = accessor; - break; - case "never": - doc.write("return INVALID;"); - typeAccessor = accessor; - break; - case "void": - typeAccessor = generateVoidCheck(doc, accessor); - break; - case "nan": - typeAccessor = generateNaNCheck(doc, accessor); - break; - case "date": - typeAccessor = generateDateCheck(doc, accessor); - break; - case "object": - typeAccessor = generateObjectCheck(doc, ctx, schema, accessor, buildsValue); - break; - case "optional": - typeAccessor = generateOptionalCheck(doc, ctx, schema, accessor, buildsValue); - break; - case "nullable": - typeAccessor = generateNullableCheck(doc, ctx, schema, accessor, buildsValue); - break; - case "array": - typeAccessor = generateArrayCheck(doc, ctx, schema, accessor, buildsValue); - break; - case "literal": - typeAccessor = generateLiteralCheck(doc, ctx, schema, accessor); - break; - case "enum": - typeAccessor = generateEnumCheck(doc, ctx, schema, accessor); - break; - case "readonly": { - const innerOut = generateWrapperCheck(doc, ctx, schema, accessor); - const frozenVar = newVar(ctx); - doc.write(`const ${frozenVar} = Object.freeze(${innerOut});`); - typeAccessor = frozenVar; - break; - } - case "success": - generateWrapperCheck(doc, ctx, schema, accessor); - typeAccessor = "true"; - break; - case "default": - case "prefault": - typeAccessor = generateDefaultCheck(doc, ctx, schema, accessor); - break; - case "nonoptional": - typeAccessor = generateNonOptionalCheck(doc, ctx, schema, accessor); - break; - case "tuple": - typeAccessor = generateTupleCheck(doc, ctx, schema, accessor); - break; - case "union": - typeAccessor = generateUnionCheck(doc, ctx, schema, accessor); - break; - case "intersection": - typeAccessor = generateIntersectionCheck(doc, ctx, schema, accessor); - break; - case "record": - typeAccessor = generateRecordCheck(doc, ctx, schema, accessor); - break; - case "map": - typeAccessor = generateMapCheck(doc, ctx, schema, accessor); - break; - case "set": - typeAccessor = generateSetCheck(doc, ctx, schema, accessor); - break; - case "file": - typeAccessor = generateFileCheck(doc, accessor); - break; - case "template_literal": - typeAccessor = generateTemplateLiteralCheck(doc, ctx, schema, accessor); - break; - case "lazy": - typeAccessor = generateLazyCheck(doc, ctx, schema, accessor); - break; - case "pipe": - typeAccessor = generatePipeCheck(doc, ctx, schema, accessor); - break; - case "custom": - typeAccessor = generateCustomCheck(doc, ctx, schema, accessor); - break; - case "transform": - typeAccessor = generateTransformCheck(doc, ctx, schema, accessor); - break; - case "catch": - typeAccessor = generateCatchCheck(doc, ctx, schema, accessor); - break; - default: { - void type; - throw new ZodCompileUnsupportedError(`schema type ${type}`); - } - } - if (typeAccessor === null) - return null; - return generateChecks(doc, ctx, schema, typeAccessor); -} -function generateStringCheck(doc, ctx, schema, accessor, needsValue = true) { - doc.write(`if (typeof ${accessor} !== "string") return INVALID;`); - const def = schema._zod.def; - if (def.format === void 0) - return accessor; - return generateStringFormatCheck(doc, ctx, def, accessor, needsValue); -} -function generateNumberCheck(doc, schema, accessor) { - doc.write(`if (typeof ${accessor} !== "number" || !Number.isFinite(${accessor})) return INVALID;`); - const def = schema._zod.def; - if (def.check === "number_format" && def.format) { - generateNumberFormatCheck(doc, { format: def.format }, accessor); - } - return accessor; -} -function generateBooleanCheck(doc, accessor) { - doc.write(`if (typeof ${accessor} !== "boolean") return INVALID;`); - return accessor; -} -function generateBigIntCheck(doc, schema, accessor) { - doc.write(`if (typeof ${accessor} !== "bigint") return INVALID;`); - const def = schema._zod.def; - if (def.format) { - switch (def.format) { - case "int64": - doc.write(`if (${accessor} < -9223372036854775808n || ${accessor} > 9223372036854775807n) return INVALID;`); - break; - case "uint64": - doc.write(`if (${accessor} < 0n || ${accessor} > 18446744073709551615n) return INVALID;`); - break; - } - } - return accessor; -} -function generateSymbolCheck(doc, accessor) { - doc.write(`if (typeof ${accessor} !== "symbol") return INVALID;`); - return accessor; -} -function generateUndefinedCheck(doc, accessor) { - doc.write(`if (${accessor} !== undefined) return INVALID;`); - return accessor; -} -function generateNullCheck(doc, accessor) { - doc.write(`if (${accessor} !== null) return INVALID;`); - return accessor; -} -function generateVoidCheck(doc, accessor) { - doc.write(`if (${accessor} !== undefined) return INVALID;`); - return accessor; -} -function generateNaNCheck(doc, accessor) { - doc.write(`if (typeof ${accessor} !== "number" || !Number.isNaN(${accessor})) return INVALID;`); - return accessor; -} -function generateDateCheck(doc, accessor) { - doc.write(`if (!(${accessor} instanceof Date) || Number.isNaN(${accessor}.getTime())) return INVALID;`); - return accessor; -} -function generateObjectCheck(doc, ctx, schema, accessor, buildsValue = true) { - const def = schema._zod.def; - doc.write(`if (typeof ${accessor} !== "object" || ${accessor} === null || Array.isArray(${accessor})) return INVALID;`); - const shape = def.shape; - const keys = Object.keys(shape); - const symbolKeys = Object.getOwnPropertySymbols(shape); - const allKeys = symbolKeys.length ? [...keys, ...symbolKeys] : keys; - const keyExpr = (k) => typeof k === "symbol" ? addConstant(ctx, k) : esc(k); - const propKey = (k) => typeof k === "symbol" ? `[${keyExpr(k)}]` : esc(k); - const propShape = shape; - if (keys.includes("__proto__")) { - throw new ZodCompileUnsupportedError('object shape key "__proto__"'); - } - const propOutputs = /* @__PURE__ */ new Map(); - for (const key of allKeys) { - const propSchema = propShape[key]; - const kx = keyExpr(key); - const inputVar = newVar(ctx); - doc.write(`const ${inputVar} = ${accessor}[${kx}];`); - if (propSchema._zod.optin !== void 0) { - const outputVar2 = newVar(ctx); - doc.write(`let ${outputVar2} = (() => {`); - doc.indented((d) => { - const outputAccessor = compileChild(d, ctx, propSchema, inputVar); - d.write(`return ${outputAccessor};`); - }); - doc.write(`})();`); - if (propSchema._zod.optout === "optional") { - doc.write(`if (${outputVar2} === INVALID) {`); - doc.indented((d) => { - d.write(`if (${kx} in ${accessor}) return INVALID;`); - d.write(`${outputVar2} = undefined;`); - }); - doc.write(`}`); - } else { - doc.write(`if (${outputVar2} === INVALID) return INVALID;`); - } - propOutputs.set(key, outputVar2); - } else { - if (requiresPresenceCheck(propSchema)) { - doc.write(`if (!(${kx} in ${accessor})) return INVALID;`); - } - const outputAccessor = compileChild(doc, ctx, propSchema, inputVar, buildsValue); - if (outputAccessor !== null) - propOutputs.set(key, outputAccessor); - } - } - const catchall = def.catchall; - let unknownKeysMode = "none"; - if (catchall) { - const catchallType = catchall._zod.def.type; - if (catchallType === "never") { - const condition = keys.map((k) => `k !== ${esc(k)}`).join(" && ") || "true"; - doc.write(`for (const k in ${accessor}) {`); - doc.indented((d) => { - d.write(`if (${condition}) return INVALID;`); - }); - doc.write(`}`); - } else if ((catchallType === "unknown" || catchallType === "any") && !catchall._zod.def.checks?.length) { - unknownKeysMode = "passthrough"; - } else { - unknownKeysMode = "schema"; - } - } - const outputVar = newVar(ctx); - const hasConditionalKeys = allKeys.some((k) => mayOmitUndefined(propShape[k]) || dropsWhenAbsent(propShape[k])); - if (!buildsValue) { - if (unknownKeysMode === "schema") { - const knownSet = keys.length > 0 ? addConstant(ctx, new Set(keys)) : null; - doc.write(`for (const k in ${accessor}) {`); - doc.indented((d) => { - d.write(`if (k === "__proto__") continue;`); - if (knownSet) - d.write(`if (${knownSet}.has(k)) continue;`); - const valVar = newVar(ctx); - d.write(`const ${valVar} = ${accessor}[k];`); - compileChild(d, ctx, catchall, valVar, false); - }); - doc.write(`}`); - } - return null; - } - if (!hasConditionalKeys) { - const propLiterals = allKeys.map((k) => `${propKey(k)}: ${propOutputs.get(k)}`).join(", "); - doc.write(`const ${outputVar} = { ${propLiterals} };`); - } else { - doc.write(`const ${outputVar} = {};`); - for (const k of allKeys) { - const kx = keyExpr(k); - const out = propOutputs.get(k); - if (dropsWhenAbsent(propShape[k])) { - doc.write(`if (${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`); - } else if (mayOmitUndefined(propShape[k])) { - doc.write(`if (${out} !== undefined || ${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`); - } else { - doc.write(`${outputVar}[${kx}] = ${out};`); - } - } - } - if (unknownKeysMode !== "none") { - const knownSet = keys.length > 0 ? addConstant(ctx, new Set(keys)) : null; - doc.write(`for (const k in ${accessor}) {`); - doc.indented((d) => { - d.write(`if (k === "__proto__") continue;`); - if (knownSet) - d.write(`if (${knownSet}.has(k)) continue;`); - if (unknownKeysMode === "passthrough") { - d.write(`${outputVar}[k] = ${accessor}[k];`); - } else { - const valVar = newVar(ctx); - d.write(`const ${valVar} = ${accessor}[k];`); - const catchallOut = compileChild(d, ctx, catchall, valVar); - d.write(`${outputVar}[k] = ${catchallOut};`); - } - }); - doc.write(`}`); - } - return outputVar; -} -function generateOptionalCheck(doc, ctx, schema, accessor, buildsValue = true) { - const def = schema._zod.def; - if (isExactOptional(schema)) { - return generateCheck(doc, ctx, def.innerType, accessor, buildsValue); - } - if (def.innerType._zod.optin === "defaulted") { - const outputVar2 = newVar(ctx); - const branchVar = newVar(ctx); - doc.write(`let ${outputVar2};`); - doc.write(`if (${accessor} === undefined) {`); - doc.indented((d) => { - d.write(`const ${branchVar} = (() => {`); - d.indented((d2) => { - const innerOutput = generateCheck(d2, ctx, def.innerType, accessor); - d2.write(`return ${innerOutput};`); - }); - d.write(`})();`); - d.write(`if (${branchVar} !== INVALID) ${outputVar2} = ${branchVar};`); - }); - doc.write(`} else {`); - doc.indented((d) => { - const innerOutput = generateCheck(d, ctx, def.innerType, accessor); - d.write(`${outputVar2} = ${innerOutput};`); - }); - doc.write(`}`); - return outputVar2; - } - const outputVar = buildsValue ? newVar(ctx) : null; - if (outputVar) - doc.write(`let ${outputVar};`); - doc.write(`if (${accessor} !== undefined) {`); - doc.indented((d) => { - const innerOutput = generateCheck(d, ctx, def.innerType, accessor, buildsValue); - if (outputVar && innerOutput !== null) - d.write(`${outputVar} = ${innerOutput};`); - }); - doc.write(`}`); - return outputVar; -} -function isExactOptional(schema) { - return schema._zod.traits?.has("$ZodExactOptional") === true; -} -function requiresPresenceCheck(schema) { - return schema._zod.optin === void 0 && fastPathAcceptsAbsence(schema); -} -function fastPathAcceptsAbsence(schema) { - if (schema._zod.def.coerce) - return true; - const def = schema._zod.def; - switch (def.type) { - case "any": - case "unknown": - case "undefined": - case "void": - case "default": - case "prefault": - case "transform": - case "custom": - case "lazy": - return true; - case "string": - case "number": - case "boolean": - case "bigint": - case "symbol": - case "null": - case "never": - case "nan": - case "date": - case "object": - case "array": - case "tuple": - case "record": - case "map": - case "set": - case "file": - case "template_literal": - return false; - case "nonoptional": - return def.innerType ? fastPathAcceptsAbsence(def.innerType) : false; - case "literal": - return !!def.values?.includes(void 0); - case "enum": - return !!schema._zod.values?.has(void 0); - case "optional": - case "nullable": - case "readonly": - case "success": - return def.innerType ? fastPathAcceptsAbsence(def.innerType) : true; - case "catch": - return true; - case "union": - return def.options ? def.options.some(fastPathAcceptsAbsence) : true; - case "intersection": - if (!def.left || !def.right) - return true; - return fastPathAcceptsAbsence(def.left) && fastPathAcceptsAbsence(def.right); - case "pipe": - return def.in ? fastPathAcceptsAbsence(def.in) : true; - default: - return true; - } -} -function dropsWhenAbsent(schema) { - return schema._zod.optin === "optional" && schema._zod.optout === "optional"; -} -function mayOmitUndefined(schema) { - return (schema._zod.optin !== "defaulted" || schema._zod.optout === "optional") && mayOutputUndefined(schema); -} -function mayOutputUndefined(schema) { - const def = schema._zod.def; - switch (def.type) { - case "string": - case "number": - case "boolean": - case "bigint": - case "symbol": - case "null": - case "nan": - case "date": - case "object": - case "array": - case "tuple": - case "record": - case "map": - case "set": - case "file": - case "template_literal": - case "never": - case "success": - return false; - case "literal": - return !!def.values?.includes(void 0); - case "enum": - return !!schema._zod.values?.has(void 0); - case "optional": - return true; - case "nullable": - case "readonly": - case "nonoptional": - return def.innerType ? mayOutputUndefined(def.innerType) : true; - case "union": - return def.options ? def.options.some(mayOutputUndefined) : true; - case "intersection": - return !def.left || !def.right || mayOutputUndefined(def.left) || mayOutputUndefined(def.right); - case "pipe": - return def.out ? mayOutputUndefined(def.out) : true; - default: - return true; - } -} -function generateNullableCheck(doc, ctx, schema, accessor, buildsValue = true) { - const def = schema._zod.def; - const outputVar = buildsValue ? newVar(ctx) : null; - if (outputVar) - doc.write(`let ${outputVar} = null;`); - doc.write(`if (${accessor} !== null) {`); - doc.indented((d) => { - const innerOutput = generateCheck(d, ctx, def.innerType, accessor, buildsValue); - if (outputVar && innerOutput !== null) - d.write(`${outputVar} = ${innerOutput};`); - }); - doc.write(`}`); - return outputVar; -} -function generateSizeGate(doc, schema, size) { - for (const [max, check3] of sizeCaps(schema._zod.def.checks)) { - doc.write(`if (${size} > ${numericOperand(max, check3._zod.def.check)}) return INVALID;`); - } -} -function generateArrayCheck(doc, ctx, schema, accessor, buildsValue = true) { - const def = schema._zod.def; - doc.write(`if (!Array.isArray(${accessor})) return INVALID;`); - generateSizeGate(doc, schema, `${accessor}.length`); - const outputVar = buildsValue ? newVar(ctx) : null; - const iVar = newVar(ctx); - const elemVar = newVar(ctx); - if (outputVar) - doc.write(`const ${outputVar} = new Array(${accessor}.length);`); - doc.write(`for (let ${iVar} = 0; ${iVar} < ${accessor}.length; ${iVar}++) {`); - doc.indented((d) => { - d.write(`const ${elemVar} = ${accessor}[${iVar}];`); - const elemOutput = compileChild(d, ctx, def.element, elemVar, buildsValue); - if (outputVar && elemOutput !== null) - d.write(`${outputVar}[${iVar}] = ${elemOutput};`); - }); - doc.write(`}`); - return outputVar; -} -function generateLiteralCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - const values = def.values; - if (values.length !== 1) { - const literalSet = addConstant(ctx, new Set(values)); - doc.write(`if (!${literalSet}.has(${accessor})) return INVALID;`); - return accessor; - } - const value = values[0]; - if (typeof value === "number" && Number.isNaN(value)) { - const literalSet = addConstant(ctx, new Set(values)); - doc.write(`if (!${literalSet}.has(${accessor})) return INVALID;`); - return accessor; - } - if (typeof value === "string") { - doc.write(`if (${accessor} !== ${esc(value)}) return INVALID;`); - } else if (typeof value === "number" || typeof value === "boolean") { - doc.write(`if (${accessor} !== ${value}) return INVALID;`); - } else if (value === null) { - doc.write(`if (${accessor} !== null) return INVALID;`); - } else if (value === void 0) { - doc.write(`if (${accessor} !== undefined) return INVALID;`); - } else if (typeof value === "bigint") { - doc.write(`if (${accessor} !== ${value}n) return INVALID;`); - } else { - throw new ZodCompileUnsupportedError(`literal type ${typeof value}`); - } - return accessor; -} -function generateEnumCheck(doc, ctx, schema, accessor) { - const values = schema._zod.values; - if (!values) { - throw new ZodCompileUnsupportedError("enum schema without enumerated values"); - } - const enumSet = addConstant(ctx, values); - doc.write(`if (!${enumSet}.has(${accessor})) return INVALID;`); - return accessor; -} -function generateWrapperCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - return generateCheck(doc, ctx, def.innerType, accessor); -} -function generateDefaultCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - const descriptor = Object.getOwnPropertyDescriptor(schema._zod.def, "defaultValue"); - const defaultGetter = descriptor ? () => schema._zod.def.defaultValue : void 0; - if (schema._zod.def.type === "prefault") { - if (!defaultGetter) { - return generateCheck(doc, ctx, def.innerType, accessor); - } - const defaultFn = addConstant(ctx, defaultGetter); - const inputVar = newVar(ctx); - doc.write(`let ${inputVar} = ${accessor};`); - doc.write(`if (${accessor} === undefined) ${inputVar} = ${defaultFn}();`); - return generateCheck(doc, ctx, def.innerType, inputVar); - } - const outputVar = newVar(ctx); - if (defaultGetter) { - const defaultFn = addConstant(ctx, defaultGetter); - const cloneFn = addConstant(ctx, shallowClone); - doc.write(`let ${outputVar};`); - doc.write(`if (${accessor} === undefined) {`); - doc.indented((d) => { - d.write(`${outputVar} = ${cloneFn}(${defaultFn}());`); - }); - doc.write(`} else {`); - doc.indented((d) => { - const innerOutput = generateCheck(d, ctx, def.innerType, accessor); - d.write(`${outputVar} = ${innerOutput} === undefined ? ${cloneFn}(${defaultFn}()) : ${innerOutput};`); - }); - doc.write(`}`); - } else { - doc.write(`let ${outputVar};`); - doc.write(`if (${accessor} !== undefined) {`); - doc.indented((d) => { - const innerOutput = generateCheck(d, ctx, def.innerType, accessor); - d.write(`${outputVar} = ${innerOutput};`); - }); - doc.write(`}`); - } - return outputVar; -} -function generateNonOptionalCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - const innerOutput = generateCheck(doc, ctx, def.innerType, accessor); - const outputVar = newVar(ctx); - doc.write(`const ${outputVar} = ${innerOutput};`); - doc.write(`if (${outputVar} === undefined) return INVALID;`); - return outputVar; -} -function generateTupleCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - const items = def.items; - const rest = def.rest; - doc.write(`if (!Array.isArray(${accessor})) return INVALID;`); - const optinStart = getTupleOptStart2(items, "optin"); - const optoutStart = getTupleOptStart2(items, "optout"); - if (rest) { - doc.write(`if (${accessor}.length < ${optinStart}) return INVALID;`); - } else { - doc.write(`if (${accessor}.length < ${optinStart} || ${accessor}.length > ${items.length}) return INVALID;`); - } - const outputVar = newVar(ctx); - doc.write(`const ${outputVar} = [];`); - for (let i = 0; i < items.length; i++) { - const itemSchema = items[i]; - if (i >= optoutStart) { - doc.write(`if (${outputVar}.length === ${i}) {`); - doc.indented((d) => { - d.write(`if (${i} < ${accessor}.length) {`); - d.indented((d2) => { - const elemVar = newVar(ctx); - d2.write(`const ${elemVar} = ${accessor}[${i}];`); - const elemOutput = compileChild(d2, ctx, itemSchema, elemVar); - d2.write(`${outputVar}[${i}] = ${elemOutput};`); - }); - d.write(`} else {`); - d.indented((d2) => { - if (dropsWhenAbsent(itemSchema)) { - d2.write(`${outputVar}.length = ${i};`); - return; - } - const elemVar = newVar(ctx); - const branchVar = newVar(ctx); - d2.write(`const ${elemVar} = undefined;`); - d2.write(`const ${branchVar} = (() => {`); - d2.indented((d3) => { - const elemOutput = compileChild(d3, ctx, itemSchema, elemVar); - d3.write(`return ${elemOutput};`); - }); - d2.write(`})();`); - d2.write(`if (${branchVar} === INVALID || ${branchVar} === undefined) ${outputVar}.length = ${i};`); - d2.write(`else ${outputVar}[${i}] = ${branchVar};`); - }); - d.write(`}`); - }); - doc.write(`}`); - } else { - const elemVar = newVar(ctx); - doc.write(`const ${elemVar} = ${accessor}[${i}];`); - const elemOutput = compileChild(doc, ctx, itemSchema, elemVar); - doc.write(`${outputVar}[${i}] = ${elemOutput};`); - } - } - if (rest) { - const iVar = newVar(ctx); - const elemVar = newVar(ctx); - doc.write(`for (let ${iVar} = ${items.length}; ${iVar} < ${accessor}.length; ${iVar}++) {`); - doc.indented((d) => { - d.write(`const ${elemVar} = ${accessor}[${iVar}];`); - const elemOutput = compileChild(d, ctx, rest, elemVar); - d.write(`${outputVar}[${iVar}] = ${elemOutput};`); - }); - doc.write(`}`); - } - return outputVar; -} -function getTupleOptStart2(items, key) { - for (let i = items.length - 1; i >= 0; i--) { - const omittable = key === "optin" ? items[i]._zod.optin !== void 0 : items[i]._zod.optout === "optional"; - if (!omittable) - return i + 1; - } - return 0; -} -function generateUnionCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - const options = def.options; - if (def.discriminator) { - return generateDiscriminatedUnionCheck(doc, ctx, def, accessor); - } - if (def.inclusive === false) { - throw new ZodCompileUnsupportedError("exclusive unions (z.xor)"); - } - if (options.length === 0) { - doc.write("return INVALID;"); - return accessor; - } - if (options.length === 1) { - return generateCheck(doc, ctx, options[0], accessor); - } - const allLiterals = options.every((opt) => opt._zod.def.type === "literal" && !opt._zod.def.checks?.length); - if (allLiterals) { - const values = new Set(options.flatMap((opt) => opt._zod.def.values)); - const valuesConst = addConstant(ctx, values); - doc.write(`if (!${valuesConst}.has(${accessor})) return INVALID;`); - return accessor; - } - const outputVar = newVar(ctx); - doc.write(`let ${outputVar};`); - for (let i = 0; i < options.length; i++) { - const opt = options[i]; - if (i === 0) { - doc.write(`${outputVar} = (() => {`); - } else { - doc.write(`if (${outputVar} === INVALID) ${outputVar} = (() => {`); - } - doc.indented((d) => { - const branchOutput = generateCheck(d, ctx, opt, accessor); - d.write(`return ${branchOutput};`); - }); - doc.write(`})();`); - } - doc.write(`if (${outputVar} === INVALID) return INVALID;`); - return outputVar; -} -function generateDiscriminatedUnionCheck(doc, ctx, def, accessor) { - if (def.unionFallback) { - throw new ZodCompileUnsupportedError("discriminated union with unionFallback"); - } - if (def.options.length === 0) { - doc.write("return INVALID;"); - return accessor; - } - const discVar = newVar(ctx); - const outputVar = newVar(ctx); - doc.write(`const ${discVar} = ${accessor}?.[${esc(def.discriminator)}];`); - doc.write(`let ${outputVar};`); - let firstBranch = true; - const claimed = /* @__PURE__ */ new Set(); - for (const option of def.options) { - const values = option._zod.propValues?.[def.discriminator]; - if (!values || values.size === 0) { - throw new ZodCompileUnsupportedError("discriminated union option without static discriminator values"); - } - for (const value of values) { - if (claimed.has(value)) { - throw new ZodCompileUnsupportedError(`duplicate discriminator value ${String(value)}`); - } - claimed.add(value); - } - const conditions = Array.from(values, (value) => literalEquality(ctx, discVar, value)); - const prefix = firstBranch ? "if" : "else if"; - doc.write(`${prefix} (${conditions.join(" || ")}) {`); - doc.indented((d) => { - const branchOutput = generateCheck(d, ctx, option, accessor); - d.write(`${outputVar} = ${branchOutput};`); - }); - doc.write(`}`); - firstBranch = false; - } - doc.write(`else { return INVALID; }`); - return outputVar; -} -function literalEquality(ctx, accessor, value) { - if (typeof value === "string") - return `${accessor} === ${esc(value)}`; - if (typeof value === "number") { - if (Number.isNaN(value)) - return `Number.isNaN(${accessor})`; - return `${accessor} === ${value}`; - } - if (typeof value === "boolean") - return `${accessor} === ${value}`; - if (value === null) - return `${accessor} === null`; - if (value === void 0) - return `${accessor} === undefined`; - if (typeof value === "bigint") - return `${accessor} === ${value}n`; - if (typeof value === "symbol") { - const symbolConst = addConstant(ctx, value); - return `${accessor} === ${symbolConst}`; - } - throw new ZodCompileUnsupportedError(`literal discriminator value ${String(value)}`); -} -function generateIntersectionCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - ctx.definite = false; - const leftOutput = compileChild(doc, ctx, def.left, accessor); - const rightOutput = compileChild(doc, ctx, def.right, accessor); - const mergeConst = addConstant(ctx, mergeValues); - const mergedVar = newVar(ctx); - doc.write(`const ${mergedVar} = ${mergeConst}(${leftOutput}, ${rightOutput});`); - doc.write(`if (!${mergedVar}.valid) return INVALID;`); - return `${mergedVar}.data`; -} -function generateRecordCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - const isPlainObjectConst = addConstant(ctx, isPlainObject); - doc.write(`if (!${isPlainObjectConst}(${accessor})) return INVALID;`); - const outputVar = newVar(ctx); - const kVar = newVar(ctx); - const valVar = newVar(ctx); - doc.write(`const ${outputVar} = {};`); - const recordDef = def; - const keyValues = recordDef.partial ? void 0 : def.keyType._zod.values; - if (keyValues) { - const inputKeys = []; - for (const key of keyValues) { - if (!(typeof key === "string" || typeof key === "number" || typeof key === "symbol")) { - throw new ZodCompileUnsupportedError(`record key value ${String(key)}`); - } - const inputKey = typeof key === "number" ? key.toString() : key; - if (inputKey === "__proto__") { - throw new ZodCompileUnsupportedError('record key "__proto__"'); - } - inputKeys.push(inputKey); - const keyConst = addConstant(ctx, key); - const outKey = generateCheck(doc, ctx, def.keyType, keyConst); - const valueVar = newVar(ctx); - doc.write(`const ${valueVar} = ${accessor}[${literalPropertyKey(ctx, inputKey)}];`); - const valOutput = compileChild(doc, ctx, def.valueType, valueVar); - doc.write(`${outputVar}[${outKey}] = ${valOutput};`); - } - const knownKeysConst = addConstant(ctx, new Set(inputKeys)); - doc.write(`for (const ${kVar} in ${accessor}) {`); - doc.indented((d) => { - d.write(`if (${knownKeysConst}.has(${kVar})) continue;`); - if (recordDef.mode === "loose") { - d.write(`if (${kVar} !== "__proto__") ${outputVar}[${kVar}] = ${accessor}[${kVar}];`); - } else { - d.write(`return INVALID;`); - } - }); - doc.write(`}`); - return outputVar; - } - const keyDef = def.keyType._zod.def; - const keyIsBareString = keyDef.type === "string" && keyDef.format === void 0 && !keyDef.coerce && (keyDef.checks?.length ?? 0) === 0; - if (!keyIsBareString) { - const isLoose = def.mode === "loose"; - const keyFn = compileFn(def.keyType); - if (keyFn.definite === false) - ctx.definite = false; - const keyFast = addConstant(ctx, keyFn); - const numericConst = addConstant(ctx, number); - const outKeyVar = newVar(ctx); - emitOwnKeys(doc, ctx, accessor, kVar, (d) => { - d.write(`let ${outKeyVar} = ${keyFast}(${kVar});`); - d.write(`if (${outKeyVar} === INVALID && typeof ${kVar} === "string" && ${numericConst}.test(${kVar})) ${outKeyVar} = ${keyFast}(Number(${kVar}));`); - if (isLoose) { - d.write(`if (${outKeyVar} === INVALID) { ${outputVar}[${kVar}] = ${accessor}[${kVar}]; continue; }`); - } else { - d.write(`if (${outKeyVar} === INVALID) return INVALID;`); - } - d.write(`if (${outKeyVar} === "__proto__") continue;`); - const valueVar = newVar(ctx); - d.write(`const ${valueVar} = ${accessor}[${kVar}];`); - const valOutput = compileChild(d, ctx, def.valueType, valueVar); - d.write(`${outputVar}[${outKeyVar}] = ${valOutput};`); - }); - return outputVar; - } - emitOwnKeys(doc, ctx, accessor, kVar, (d) => { - d.write(`const ${valVar} = ${accessor}[${kVar}];`); - const valOutput = compileChild(d, ctx, def.valueType, valVar); - d.write(`${outputVar}[${kVar}] = ${valOutput};`); - }, `return INVALID;`); - return outputVar; -} -function emitOwnKeys(doc, ctx, accessor, kVar, body, onSymbol) { - const propIsEnumerableConst = addConstant(ctx, Object.prototype.propertyIsEnumerable); - const symsVar = newVar(ctx); - const keysVar = newVar(ctx); - const iVar = newVar(ctx); - doc.write(`const ${symsVar} = Object.getOwnPropertySymbols(${accessor});`); - doc.write(`const ${keysVar} = Object.getOwnPropertyNames(${accessor});`); - doc.write(`for (let ${iVar} = 0; ${iVar} < ${keysVar}.length; ${iVar}++) {`); - doc.indented((d) => { - d.write(`const ${kVar} = ${keysVar}[${iVar}];`); - d.write(`if (${kVar} === "__proto__" || !${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`); - body(d); - }); - doc.write(`}`); - doc.write(`for (let ${iVar} = 0; ${iVar} < ${symsVar}.length; ${iVar}++) {`); - doc.indented((d) => { - d.write(`const ${kVar} = ${symsVar}[${iVar}];`); - d.write(`if (!${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`); - if (onSymbol) - d.write(onSymbol); - else - body(d); - }); - doc.write(`}`); -} -function literalPropertyKey(ctx, key) { - if (typeof key === "string") - return esc(key); - return addConstant(ctx, key); -} -function generateMapCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - doc.write(`if (!(${accessor} instanceof Map)) return INVALID;`); - generateSizeGate(doc, schema, `${accessor}.size`); - const outputVar = newVar(ctx); - const kVar = newVar(ctx); - const valVar = newVar(ctx); - doc.write(`const ${outputVar} = new Map();`); - doc.write(`for (const [${kVar}, ${valVar}] of ${accessor}) {`); - doc.indented((d) => { - const keyOutput = generateCheck(d, ctx, def.keyType, kVar); - const valOutput = generateCheck(d, ctx, def.valueType, valVar); - d.write(`${outputVar}.set(${keyOutput}, ${valOutput});`); - }); - doc.write(`}`); - return outputVar; -} -function generateSetCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - doc.write(`if (!(${accessor} instanceof Set)) return INVALID;`); - generateSizeGate(doc, schema, `${accessor}.size`); - const outputVar = newVar(ctx); - const valVar = newVar(ctx); - doc.write(`const ${outputVar} = new Set();`); - doc.write(`for (const ${valVar} of ${accessor}) {`); - doc.indented((d) => { - const valOutput = generateCheck(d, ctx, def.valueType, valVar); - d.write(`${outputVar}.add(${valOutput});`); - }); - doc.write(`}`); - return outputVar; -} -function generateFileCheck(doc, accessor) { - doc.write(`if (!(${accessor} instanceof File)) return INVALID;`); - return accessor; -} -function generateTemplateLiteralCheck(doc, ctx, schema, accessor) { - doc.write(`if (typeof ${accessor} !== "string") return INVALID;`); - const pattern = schema._zod.pattern; - if (pattern) { - const patternConst = addConstant(ctx, pattern); - doc.write(`${patternConst}.lastIndex = 0;`); - doc.write(`if (!${patternConst}.test(${accessor})) return INVALID;`); - } - return accessor; -} -function generateLazyCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - const getterConst = addUserConstant(ctx, def.getter); - const cacheConst = addConstant(ctx, { parser: null }); - doc.write(`if (!${cacheConst}.parser) {`); - doc.indented((d) => { - d.write(`const inner = ${getterConst}();`); - d.write(`${cacheConst}.parser = function(input) {`); - d.indented((d2) => { - d2.write(`const result = inner._zod.run({ value: input, issues: [] }, {});`); - d2.write(`return result.issues.length === 0 ? result.value : INVALID;`); - }); - d.write(`};`); - }); - doc.write(`}`); - const outputVar = newVar(ctx); - doc.write(`const ${outputVar} = ${cacheConst}.parser(${accessor});`); - doc.write(`if (${outputVar} === INVALID) return INVALID;`); - return outputVar; -} -function generatePipeCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - const inputOutput = generateCheck(doc, ctx, def.in, accessor); - if (def.transform) { - if (isAsyncFunction(def.transform)) { - throw new ZodCompileAsyncError("z.compile: async transforms in pipes are not supported"); - } - const transformFn = def.transform; - const helperFn = (value) => { - const fakePayload = { value, issues: [], addIssue: pushIssue }; - const result = transformFn(value, fakePayload); - if (result instanceof Promise) - return INVALID; - return fakePayload.issues.length === 0 ? result : INVALID; - }; - const helperConst = addUserConstant(ctx, helperFn); - const transformedVar = newVar(ctx); - doc.write(`const ${transformedVar} = ${helperConst}(${inputOutput});`); - doc.write(`if (${transformedVar} === INVALID) return INVALID;`); - return generateCheck(doc, ctx, def.out, transformedVar); - } else { - return generateCheck(doc, ctx, def.out, inputOutput); - } -} -function isAsyncFunction(fn) { - return typeof fn === "function" && (fn.constructor.name === "AsyncFunction" || fn[Symbol.toStringTag] === "AsyncFunction"); -} -function generateCustomCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - if (def.fn) { - if (isAsyncFunction(def.fn)) { - throw new ZodCompileAsyncError("z.compile: async custom predicates are not supported"); - } - const fnConst = addUserConstant(ctx, def.fn); - const throwAsyncConst = addConstant(ctx, throwAsync); - const resVar = newVar(ctx); - doc.write(`const ${resVar} = ${fnConst}(${accessor});`); - doc.write(`if (${resVar} instanceof Promise) ${throwAsyncConst}();`); - doc.write(`if (!${resVar}) return INVALID;`); - } else { - throw new ZodCompileUnsupportedError("custom schema without a predicate function"); - } - return accessor; -} -function runtimeCatch(innerSchema, catchValue, value) { - const result = innerSchema._zod.run({ value, issues: [] }, {}); - if (result && typeof result.then === "function") - return INVALID; - const r = result; - if (r.issues.length === 0) - return r.value; - return catchValue(); -} -function generateCatchCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - if (!def.catchValue[CONSTANT_CATCH]) { - throw new ZodCompileUnsupportedError("catch with a callback (only a constant catch value compiles)", false); - } - const outputVar = newVar(ctx); - doc.write(`let ${outputVar} = (() => {`); - doc.indented((d) => { - const innerOut = compileChild(d, ctx, def.innerType, accessor); - d.write(`return ${innerOut};`); - }); - doc.write(`})();`); - const innerConst = addConstant(ctx, def.innerType); - const catchConst = addUserConstant(ctx, def.catchValue); - const catchHelperConst = addConstant(ctx, runtimeCatch); - doc.write(`if (${outputVar} === INVALID) {`); - doc.indented((d) => { - d.write(`${outputVar} = ${catchHelperConst}(${innerConst}, ${catchConst}, ${accessor});`); - d.write(`if (${outputVar} === INVALID) return INVALID;`); - }); - doc.write(`}`); - return outputVar; -} -function generateTransformCheck(doc, ctx, schema, accessor) { - const def = schema._zod.def; - if (def.transform) { - if (isAsyncFunction(def.transform)) { - throw new ZodCompileAsyncError("z.compile: async transforms are not supported"); - } - const transformFn = def.transform; - const helperFn = (value) => { - const fakePayload = { value, issues: [], addIssue: pushIssue }; - const result = transformFn(value, fakePayload); - if (result instanceof Promise) - return INVALID; - return fakePayload.issues.length === 0 ? result : INVALID; - }; - const helperConst = addUserConstant(ctx, helperFn); - const outputVar = newVar(ctx); - doc.write(`const ${outputVar} = ${helperConst}(${accessor});`); - doc.write(`if (${outputVar} === INVALID) return INVALID;`); - return outputVar; - } - return accessor; -} - -// ../../../node_modules/zod/v4/core/api.js -function snapshotChecks(def) { - if (def.checks) - def.checks = [...def.checks]; - return def; -} -// @__NO_SIDE_EFFECTS__ -function _string(Class2, params) { - return new Class2(snapshotChecks({ type: "string", ...normalizeParams(params) })); -} -// @__NO_SIDE_EFFECTS__ -function _coercedString(Class2, params) { - return new Class2(snapshotChecks({ type: "string", coerce: true, ...normalizeParams(params) })); -} -// @__NO_SIDE_EFFECTS__ -function _email(Class2, params) { - return new Class2({ - type: "string", - format: "email", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _guid(Class2, params) { - return new Class2({ - type: "string", - format: "guid", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _uuid(Class2, params) { - return new Class2({ - type: "string", - format: "uuid", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _uuidv4(Class2, params) { - return new Class2({ - type: "string", - format: "uuid", - check: "string_format", - abort: false, - version: "v4", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _uuidv6(Class2, params) { - return new Class2({ - type: "string", - format: "uuid", - check: "string_format", - abort: false, - version: "v6", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _uuidv7(Class2, params) { - return new Class2({ - type: "string", - format: "uuid", - check: "string_format", - abort: false, - version: "v7", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _url(Class2, params) { - return new Class2({ - type: "string", - format: "url", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _emoji2(Class2, params) { - return new Class2({ - type: "string", - format: "emoji", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _nanoid(Class2, params) { - return new Class2({ - type: "string", - format: "nanoid", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _cuid(Class2, params) { - return new Class2({ - type: "string", - format: "cuid", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _cuid2(Class2, params) { - return new Class2({ - type: "string", - format: "cuid2", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _ulid(Class2, params) { - return new Class2({ - type: "string", - format: "ulid", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _xid(Class2, params) { - return new Class2({ - type: "string", - format: "xid", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _ksuid(Class2, params) { - return new Class2({ - type: "string", - format: "ksuid", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _ipv4(Class2, params) { - return new Class2({ - type: "string", - format: "ipv4", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _ipv6(Class2, params) { - return new Class2({ - type: "string", - format: "ipv6", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _mac(Class2, params) { - return new Class2({ - type: "string", - format: "mac", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _cidrv4(Class2, params) { - return new Class2({ - type: "string", - format: "cidrv4", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _cidrv6(Class2, params) { - return new Class2({ - type: "string", - format: "cidrv6", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _base64(Class2, params) { - return new Class2({ - type: "string", - format: "base64", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _base64url(Class2, params) { - return new Class2({ - type: "string", - format: "base64url", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _e164(Class2, params) { - return new Class2({ - type: "string", - format: "e164", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _creditCard(Class2, params) { - return new Class2({ - type: "string", - format: "credit_card", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _iban(Class2, params) { - return new Class2({ - type: "string", - format: "iban", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _jwt(Class2, params) { - return new Class2({ - type: "string", - format: "jwt", - check: "string_format", - abort: false, - ...normalizeParams(params) - }); -} -var TimePrecision = { - Any: null, - Minute: -1, - Second: 0, - Millisecond: 3, - Microsecond: 6 -}; -// @__NO_SIDE_EFFECTS__ -function _isoDateTime(Class2, params) { - return new Class2({ - type: "string", - format: "datetime", - check: "string_format", - offset: false, - local: false, - precision: null, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _isoDate(Class2, params) { - return new Class2({ - type: "string", - format: "date", - check: "string_format", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _isoTime(Class2, params) { - return new Class2({ - type: "string", - format: "time", - check: "string_format", - precision: null, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _isoDuration(Class2, params) { - return new Class2({ - type: "string", - format: "duration", - check: "string_format", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _number(Class2, params) { - return new Class2(snapshotChecks({ type: "number", checks: [], ...normalizeParams(params) })); -} -// @__NO_SIDE_EFFECTS__ -function _coercedNumber(Class2, params) { - return new Class2(snapshotChecks({ type: "number", coerce: true, checks: [], ...normalizeParams(params) })); -} -// @__NO_SIDE_EFFECTS__ -function _int(Class2, params) { - return new Class2({ - type: "number", - check: "number_format", - abort: false, - format: "safeint", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _float32(Class2, params) { - return new Class2({ - type: "number", - check: "number_format", - abort: false, - format: "float32", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _float64(Class2, params) { - return new Class2({ - type: "number", - check: "number_format", - abort: false, - format: "float64", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _int32(Class2, params) { - return new Class2({ - type: "number", - check: "number_format", - abort: false, - format: "int32", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _uint32(Class2, params) { - return new Class2({ - type: "number", - check: "number_format", - abort: false, - format: "uint32", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _boolean(Class2, params) { - return new Class2({ - type: "boolean", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _coercedBoolean(Class2, params) { - return new Class2({ - type: "boolean", - coerce: true, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _bigint(Class2, params) { - return new Class2({ - type: "bigint", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _coercedBigint(Class2, params) { - return new Class2({ - type: "bigint", - coerce: true, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _int64(Class2, params) { - return new Class2({ - type: "bigint", - check: "bigint_format", - abort: false, - format: "int64", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _uint64(Class2, params) { - return new Class2({ - type: "bigint", - check: "bigint_format", - abort: false, - format: "uint64", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _symbol(Class2, params) { - return new Class2({ - type: "symbol", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _undefined2(Class2, params) { - return new Class2({ - type: "undefined", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _null2(Class2, params) { - return new Class2({ - type: "null", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _any(Class2) { - return new Class2({ - type: "any" - }); -} -// @__NO_SIDE_EFFECTS__ -function _unknown(Class2) { - return new Class2({ - type: "unknown" - }); -} -// @__NO_SIDE_EFFECTS__ -function _never(Class2, params) { - return new Class2({ - type: "never", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _void(Class2, params) { - return new Class2({ - type: "void", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _date(Class2, params) { - return new Class2({ - type: "date", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _coercedDate(Class2, params) { - return new Class2({ - type: "date", - coerce: true, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _nan(Class2, params) { - return new Class2({ - type: "nan", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _lt(value, params) { - return new $ZodCheckLessThan({ - check: "less_than", - ...normalizeParams(params), - value, - inclusive: false - }); -} -// @__NO_SIDE_EFFECTS__ -function _lte(value, params) { - return new $ZodCheckLessThan({ - check: "less_than", - ...normalizeParams(params), - value, - inclusive: true - }); -} -// @__NO_SIDE_EFFECTS__ -function _gt(value, params) { - return new $ZodCheckGreaterThan({ - check: "greater_than", - ...normalizeParams(params), - value, - inclusive: false - }); -} -// @__NO_SIDE_EFFECTS__ -function _gte(value, params) { - return new $ZodCheckGreaterThan({ - check: "greater_than", - ...normalizeParams(params), - value, - inclusive: true - }); -} -// @__NO_SIDE_EFFECTS__ -function _positive(params) { - return /* @__PURE__ */ _gt(0, params); -} -// @__NO_SIDE_EFFECTS__ -function _negative(params) { - return /* @__PURE__ */ _lt(0, params); -} -// @__NO_SIDE_EFFECTS__ -function _nonpositive(params) { - return /* @__PURE__ */ _lte(0, params); -} -// @__NO_SIDE_EFFECTS__ -function _nonnegative(params) { - return /* @__PURE__ */ _gte(0, params); -} -// @__NO_SIDE_EFFECTS__ -function _multipleOf(value, params) { - return new $ZodCheckMultipleOf({ - check: "multiple_of", - ...normalizeParams(params), - value - }); -} -// @__NO_SIDE_EFFECTS__ -function _maxSize(maximum, params) { - return new $ZodCheckMaxSize({ - check: "max_size", - ...normalizeParams(params), - maximum - }); -} -// @__NO_SIDE_EFFECTS__ -function _minSize(minimum, params) { - return new $ZodCheckMinSize({ - check: "min_size", - ...normalizeParams(params), - minimum - }); -} -// @__NO_SIDE_EFFECTS__ -function _size(size, params) { - return new $ZodCheckSizeEquals({ - check: "size_equals", - ...normalizeParams(params), - size - }); -} -// @__NO_SIDE_EFFECTS__ -function _maxLength(maximum, params) { - const ch = new $ZodCheckMaxLength({ - check: "max_length", - ...normalizeParams(params), - maximum - }); - return ch; -} -// @__NO_SIDE_EFFECTS__ -function _minLength(minimum, params) { - return new $ZodCheckMinLength({ - check: "min_length", - ...normalizeParams(params), - minimum - }); -} -// @__NO_SIDE_EFFECTS__ -function _length(length, params) { - return new $ZodCheckLengthEquals({ - check: "length_equals", - ...normalizeParams(params), - length - }); -} -// @__NO_SIDE_EFFECTS__ -function _regex(pattern, params) { - return new $ZodCheckRegex({ - check: "string_format", - format: "regex", - ...normalizeParams(params), - pattern - }); -} -// @__NO_SIDE_EFFECTS__ -function _lowercase(params) { - return new $ZodCheckLowerCase({ - check: "string_format", - format: "lowercase", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _uppercase(params) { - return new $ZodCheckUpperCase({ - check: "string_format", - format: "uppercase", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _includes(includes, params) { - return new $ZodCheckIncludes({ - check: "string_format", - format: "includes", - ...normalizeParams(params), - includes - }); -} -// @__NO_SIDE_EFFECTS__ -function _startsWith(prefix, params) { - return new $ZodCheckStartsWith({ - check: "string_format", - format: "starts_with", - ...normalizeParams(params), - prefix - }); -} -// @__NO_SIDE_EFFECTS__ -function _endsWith(suffix, params) { - return new $ZodCheckEndsWith({ - check: "string_format", - format: "ends_with", - ...normalizeParams(params), - suffix - }); -} -// @__NO_SIDE_EFFECTS__ -function _property(property, schema, params) { - return new $ZodCheckProperty({ - check: "property", - property, - schema, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _properties(shape, params) { - return new $ZodCheckProperties({ - check: "properties", - shape, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _mime(types, params) { - return new $ZodCheckMimeType({ - check: "mime_type", - mime: types, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _overwrite(tx) { - return new $ZodCheckOverwrite({ - check: "overwrite", - tx - }); -} -// @__NO_SIDE_EFFECTS__ -function _normalize(form) { - return /* @__PURE__ */ _overwrite((input3) => input3.normalize(form)); -} -// @__NO_SIDE_EFFECTS__ -function _trim() { - return /* @__PURE__ */ _overwrite((input3) => input3.trim()); -} -// @__NO_SIDE_EFFECTS__ -function _toLowerCase() { - return /* @__PURE__ */ _overwrite((input3) => input3.toLowerCase()); -} -// @__NO_SIDE_EFFECTS__ -function _toUpperCase() { - return /* @__PURE__ */ _overwrite((input3) => input3.toUpperCase()); -} -// @__NO_SIDE_EFFECTS__ -function _slugify() { - return /* @__PURE__ */ _overwrite((input3) => slugify(input3)); -} -// @__NO_SIDE_EFFECTS__ -function _array(Class2, element, params) { - return new Class2({ - type: "array", - element, - // get element() { - // return element; - // }, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _union(Class2, options, params) { - return new Class2({ - type: "union", - options, - ...normalizeParams(params) - }); -} -function _xor(Class2, options, params) { - return new Class2({ - type: "union", - options, - inclusive: false, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _discriminatedUnion(Class2, discriminator, options, params) { - return new Class2({ - type: "union", - options, - discriminator, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _intersection(Class2, left, right) { - return new Class2({ - type: "intersection", - left, - right - }); -} -// @__NO_SIDE_EFFECTS__ -function _tuple(Class2, items, _paramsOrRest, _params) { - const hasRest = _paramsOrRest instanceof $ZodType; - const params = hasRest ? _params : _paramsOrRest; - const rest = hasRest ? _paramsOrRest : null; - return new Class2({ - type: "tuple", - items, - rest, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _record(Class2, keyType, valueType, params) { - return new Class2({ - type: "record", - keyType, - valueType, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _map(Class2, keyType, valueType, params) { - return new Class2({ - type: "map", - keyType, - valueType, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _set(Class2, valueType, params) { - return new Class2({ - type: "set", - valueType, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _enum(Class2, values, params) { - const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values; - return new Class2({ - type: "enum", - entries, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _nativeEnum(Class2, entries, params) { - return new Class2({ - type: "enum", - entries, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _literal(Class2, value, params) { - return new Class2({ - type: "literal", - values: Array.isArray(value) ? value : [value], - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _file(Class2, params) { - return new Class2({ - type: "file", - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _transform(Class2, fn) { - return new Class2({ - type: "transform", - transform: fn - }); -} -// @__NO_SIDE_EFFECTS__ -function _optional(Class2, innerType) { - return new Class2({ - type: "optional", - innerType - }); -} -// @__NO_SIDE_EFFECTS__ -function _nullable(Class2, innerType) { - return new Class2({ - type: "nullable", - innerType - }); -} -// @__NO_SIDE_EFFECTS__ -function _default(Class2, innerType, defaultValue) { - return new Class2({ - type: "default", - innerType, - get defaultValue() { - return typeof defaultValue === "function" ? defaultValue() : shallowClone(defaultValue); - } - }); -} -// @__NO_SIDE_EFFECTS__ -function _nonoptional(Class2, innerType, params) { - return new Class2({ - type: "nonoptional", - innerType, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _success(Class2, innerType) { - return new Class2({ - type: "success", - innerType - }); -} -// @__NO_SIDE_EFFECTS__ -function _catch(Class2, innerType, catchValue) { - return new Class2({ - type: "catch", - innerType, - catchValue: typeof catchValue === "function" ? catchValue : constantCatch(catchValue) - }); -} -// @__NO_SIDE_EFFECTS__ -function _pipe(Class2, in_, out) { - return new Class2({ - type: "pipe", - in: in_, - out - }); -} -// @__NO_SIDE_EFFECTS__ -function _readonly(Class2, innerType) { - return new Class2({ - type: "readonly", - innerType - }); -} -// @__NO_SIDE_EFFECTS__ -function _templateLiteral(Class2, parts, params) { - return new Class2({ - type: "template_literal", - parts, - ...normalizeParams(params) - }); -} -// @__NO_SIDE_EFFECTS__ -function _lazy(Class2, getter) { - return new Class2({ - type: "lazy", - getter - }); -} -// @__NO_SIDE_EFFECTS__ -function _promise(Class2, innerType) { - return new Class2({ - type: "promise", - innerType - }); -} -// @__NO_SIDE_EFFECTS__ -function _custom(Class2, fn, _params) { - const norm = normalizeParams(_params); - norm.abort ?? (norm.abort = true); - const schema = new Class2({ - type: "custom", - check: "custom", - fn, - ...norm - }); - return schema; -} -// @__NO_SIDE_EFFECTS__ -function _refine(Class2, fn, _params) { - const schema = new Class2({ - type: "custom", - check: "custom", - fn, - ...normalizeParams(_params) - }); - return schema; -} -// @__NO_SIDE_EFFECTS__ -function _superRefine(fn, params) { - const ch = /* @__PURE__ */ _check((payload) => { - payload.addIssue = (issue2) => { - if (typeof issue2 === "string") { - payload.issues.push(issue(issue2, payload.value, ch._zod.def)); - } else { - const _issue = issue2; - if (_issue.fatal) - _issue.continue = false; - _issue.code ?? (_issue.code = "custom"); - if (!("input" in _issue)) - _issue.input = payload.value; - _issue.inst ?? (_issue.inst = ch); - _issue.continue ?? (_issue.continue = !ch._zod.def.abort); - payload.issues.push(issue(_issue)); - } - }; - return fn(payload.value, payload); - }, params); - return ch; -} -// @__NO_SIDE_EFFECTS__ -function _check(fn, params) { - const ch = new $ZodCheck({ - check: "custom", - ...normalizeParams(params) - }); - ch._zod.check = fn; - return ch; -} -// @__NO_SIDE_EFFECTS__ -function describe(description) { - const ch = new $ZodCheck({ check: "describe" }); - ch._zod.onattach = [ - (inst) => { - const existing = globalRegistry.get(inst) ?? {}; - globalRegistry.add(inst, { ...existing, description }); - } - ]; - ch._zod.check = () => { - }; - return ch; -} -// @__NO_SIDE_EFFECTS__ -function meta(metadata) { - const ch = new $ZodCheck({ check: "meta" }); - ch._zod.onattach = [ - (inst) => { - const existing = globalRegistry.get(inst) ?? {}; - globalRegistry.add(inst, { ...existing, ...metadata }); - } - ]; - ch._zod.check = () => { - }; - return ch; -} -// @__NO_SIDE_EFFECTS__ -function _stringbool(Classes, _params) { - const params = normalizeParams(_params); - let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"]; - let falsyArray = params.falsy ?? ["false", "0", "no", "off", "n", "disabled"]; - if (params.case !== "sensitive") { - truthyArray = truthyArray.map((v) => typeof v === "string" ? v.toLowerCase() : v); - falsyArray = falsyArray.map((v) => typeof v === "string" ? v.toLowerCase() : v); - } - const truthySet = new Set(truthyArray); - const falsySet = new Set(falsyArray); - const _Codec = Classes.Codec ?? $ZodCodec; - const _Boolean = Classes.Boolean ?? $ZodBoolean; - const _String = Classes.String ?? $ZodString; - const stringSchema = new _String({ type: "string", error: params.error }); - const booleanSchema = new _Boolean({ type: "boolean", error: params.error }); - const codec2 = new _Codec({ - type: "pipe", - in: stringSchema, - out: booleanSchema, - transform: ((input3, payload) => { - let data = input3; - if (params.case !== "sensitive") - data = data.toLowerCase(); - if (truthySet.has(data)) { - return true; - } else if (falsySet.has(data)) { - return false; - } else { - payload.issues.push({ - code: "invalid_value", - expected: "stringbool", - values: [...truthySet, ...falsySet], - input: payload.value, - inst: codec2, - continue: false - }); - return {}; - } - }), - reverseTransform: ((input3, _payload) => { - if (input3 === true) { - return truthyArray[0] || "true"; - } else { - return falsyArray[0] || "false"; - } - }), - error: params.error - }); - codec2._zod.bag.truthy = truthyArray; - codec2._zod.bag.falsy = falsyArray; - codec2._zod.bag.case = params.case ?? "insensitive"; - return codec2; -} -// @__NO_SIDE_EFFECTS__ -function _stringFormat(Class2, format, fnOrRegex, _params = {}) { - const params = normalizeParams(_params); - const def = { - check: "string_format", - type: "string", - format, - fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val), - ...params - }; - if (fnOrRegex instanceof RegExp) { - def.pattern = fnOrRegex; - } - const inst = new Class2(def); - return inst; -} - -// ../../../node_modules/zod/v4/core/to-json-schema.js -function assignProps(target, ...sources) { - for (const source2 of sources) { - for (const key of Reflect.ownKeys(source2)) { - if (Object.prototype.propertyIsEnumerable.call(source2, key)) { - assignProp(target, key, source2[key]); - } - } - } - return target; -} -function initializeContext(params) { - let target = params?.target ?? "draft-2020-12"; - if (target === "draft-4") - target = "draft-04"; - if (target === "draft-7") - target = "draft-07"; - return { - processors: params.processors ?? {}, - metadataRegistry: params?.metadata ?? globalRegistry, - target, - unrepresentable: params?.unrepresentable ?? "throw", - override: params?.override ?? (() => { - }), - io: params?.io ?? "output", - counter: 0, - seen: /* @__PURE__ */ new Map(), - sharedDefsExtractedFor: void 0, - sharedEmitDoneFor: void 0, - cycles: params?.cycles ?? "ref", - reused: params?.reused ?? "inline", - intersections: [], - deferred: [], - external: params?.external ?? void 0 - }; -} -function handleUnrepresentable(schema, ctx, json2, params, message) { - const result = typeof ctx.unrepresentable === "function" ? ctx.unrepresentable({ zodSchema: schema, path: params.path, message }) : ctx.unrepresentable; - if (result === "any") - return false; - if (result === void 0 || result === "throw") - throw new Error(message); - Object.assign(json2, result); - return true; -} -function processSchema(schema, ctx, _params = { path: [], schemaPath: [] }) { - var _a3; - const def = schema._zod.def; - const seen2 = ctx.seen.get(schema); - if (seen2) { - seen2.count++; - const isCycle = _params.schemaPath.includes(schema); - if (isCycle) { - seen2.cycle = _params.path; - } - return seen2.schema; - } - const result = { schema: {}, count: 1, cycle: void 0, path: _params.path }; - ctx.seen.set(schema, result); - ctx.sharedDefsExtractedFor = void 0; - ctx.sharedEmitDoneFor = void 0; - const overrideSchema = schema._zod.toJSONSchema?.(); - if (overrideSchema) { - result.schema = overrideSchema; - } else { - const params = { - ..._params, - schemaPath: [..._params.schemaPath, schema], - path: _params.path - }; - if (schema._zod.processJSONSchema) { - schema._zod.processJSONSchema(ctx, result.schema, params); - } else { - const _json = result.schema; - const processor = ctx.processors[def.type]; - if (!processor) { - throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`); - } - processor(schema, ctx, _json, params); - } - const parent = schema._zod.parent; - if (parent) { - if (!result.ref) - result.ref = parent; - processSchema(parent, ctx, params); - ctx.seen.get(parent).isParent = true; - } - } - const meta3 = ctx.metadataRegistry.get(schema); - if (meta3) - assignProps(result.schema, meta3); - if (ctx.io === "input" && isTransforming(schema)) { - delete result.schema.examples; - delete result.schema.default; - } - if (ctx.io === "input" && "_prefault" in result.schema) - (_a3 = result.schema).default ?? (_a3.default = result.schema._prefault); - delete result.schema._prefault; - const _result = ctx.seen.get(schema); - return _result.schema; -} -function encodeJSONPointerSegment(segment) { - return segment.replace(/~/g, "~0").replace(/\//g, "~1"); -} -function extractDefs(ctx, schema) { - const root = ctx.seen.get(schema); - if (!root) - throw new Error("Unprocessed schema. This is a bug in Zod."); - if (ctx.external && ctx.sharedDefsExtractedFor === ctx.external) - return; - const idToSchema = /* @__PURE__ */ new Map(); - for (const entry of ctx.seen.entries()) { - const id = ctx.metadataRegistry.get(entry[0])?.id; - if (id) { - const existing = idToSchema.get(id); - if (existing && existing !== entry[0]) { - throw new Error(`Duplicate schema id "${id}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`); - } - idToSchema.set(id, entry[0]); - } - } - const makeURI = (entry) => { - const defsSegment = ctx.target === "draft-2020-12" ? "$defs" : "definitions"; - if (ctx.external) { - const externalId = ctx.external.registry.get(entry[0])?.id; - const uriGenerator = ctx.external.uri ?? ((id2) => id2); - if (externalId) { - return { ref: uriGenerator(externalId) }; - } - const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`; - entry[1].defId = id; - return { defId: id, ref: `${uriGenerator("__shared")}#/${defsSegment}/${encodeJSONPointerSegment(id)}` }; - } - const uriPrefix = `#`; - const defUriPrefix = `${uriPrefix}/${defsSegment}/`; - if (entry[1] === root && !entry[1].schema.id) { - return { ref: uriPrefix }; - } - const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`; - return { defId, ref: defUriPrefix + encodeJSONPointerSegment(defId) }; - }; - const extractToDef = (entry) => { - if (entry[1].schema.$ref) { - return; - } - const seen2 = entry[1]; - const { ref, defId } = makeURI(entry); - seen2.def = { ...seen2.schema }; - if (defId) - seen2.defId = defId; - const schema2 = seen2.schema; - for (const key in schema2) { - delete schema2[key]; - } - schema2.$ref = ref; - }; - if (ctx.cycles === "throw") { - for (const entry of ctx.seen.entries()) { - const seen2 = entry[1]; - if (seen2.cycle) { - throw new Error(`Cycle detected: #/${seen2.cycle?.join("/")}/ - -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`); - } - } - } - for (const entry of ctx.seen.entries()) { - const seen2 = entry[1]; - if (schema === entry[0]) { - extractToDef(entry); - continue; - } - if (ctx.external) { - const ext = ctx.external.registry.get(entry[0])?.id; - if (schema !== entry[0] && ext) { - extractToDef(entry); - continue; - } - } - const id = ctx.metadataRegistry.get(entry[0])?.id; - if (id) { - extractToDef(entry); - continue; - } - if (seen2.cycle) { - extractToDef(entry); - continue; - } - if (seen2.count > 1) { - if (ctx.reused === "ref") { - extractToDef(entry); - } - } - } - if (ctx.external) - ctx.sharedDefsExtractedFor = ctx.external; -} -function compactTypeUnion(schema) { - const options = schema.anyOf; - if (!Array.isArray(options) || options.length === 0 || schema.type !== void 0) - return; - const types = []; - for (const option of options) { - if (!option || typeof option !== "object") - return; - compactTypeUnion(option); - const keys = Object.keys(option); - if (keys.length !== 1 || keys[0] !== "type") - return; - const type = option.type; - for (const member of Array.isArray(type) ? type : [type]) { - if (typeof member !== "string") - return; - if (!types.includes(member)) - types.push(member); - } - } - delete schema.anyOf; - schema.type = types.length === 1 ? types[0] : types; -} -var FOLDABLE_KEYS = /* @__PURE__ */ new Set(["type", "properties", "required", "additionalProperties"]); -var UNION_KEYS = ["oneOf", "anyOf"]; -function undeclaredConstraint(member) { - const extra = member.additionalProperties; - if (extra === void 0 || extra === false || typeof extra !== "object" || extra === null) - return null; - return Object.keys(extra).length ? extra : null; -} -function foldObjects(members2) { - const objects = []; - for (const member of members2) { - if (typeof member !== "object" || member.type !== "object") - return null; - for (const key in member) { - if (!FOLDABLE_KEYS.has(key)) - return null; - } - objects.push(member); - } - const properties = {}; - const required2 = /* @__PURE__ */ new Set(); - for (const object2 of objects) { - for (const key in object2.properties) { - if (Object.prototype.hasOwnProperty.call(properties, key)) - continue; - const parts = []; - for (const other of objects) { - const part = other.properties?.[key] ?? undeclaredConstraint(other); - if (part === null || part === void 0) - continue; - if (!parts.some((seen2) => JSON.stringify(seen2) === JSON.stringify(part))) - parts.push(part); - } - const merged = parts.length === 1 ? parts[0] : foldObjects(parts) ?? { allOf: parts }; - assignProp(properties, key, merged); - } - for (const key of object2.required ?? []) - required2.add(key); - } - const folded = { type: "object", properties }; - if (required2.size) - folded.required = [...required2]; - if (objects.every((object2) => object2.additionalProperties === false)) { - folded.additionalProperties = false; - } else { - const constraints = []; - for (const object2 of objects) { - const constraint = undeclaredConstraint(object2); - if (constraint && !constraints.some((seen2) => JSON.stringify(seen2) === JSON.stringify(constraint))) - constraints.push(constraint); - } - if (constraints.length === 1) - folded.additionalProperties = constraints[0]; - else if (constraints.length > 1) - folded.additionalProperties = { allOf: constraints }; - } - return folded; -} -function foldIntersection(json2) { - const allOf = json2.allOf; - if (!Array.isArray(allOf) || allOf.length < 2) - return; - for (const key of FOLDABLE_KEYS) - if (key in json2) - return; - const unions = allOf.filter((m) => UNION_KEYS.some((k) => Array.isArray(m[k]))); - let folded = null; - if (!unions.length) { - folded = foldObjects(allOf); - } else { - const union2 = unions[0]; - const keyword = UNION_KEYS.find((k) => Array.isArray(union2[k])); - if (Object.keys(union2).length !== 1) - return; - const rest = allOf.filter((m) => m !== union2); - const branches = union2[keyword].map((branch) => foldObjects([...rest, branch])); - if (branches.some((b) => !b)) - return; - folded = { [keyword]: branches }; - } - if (!folded) - return; - delete json2.allOf; - assignProps(json2, folded); -} -function finalize(ctx, schema) { - const root = ctx.seen.get(schema); - if (!root) - throw new Error("Unprocessed schema. This is a bug in Zod."); - const flattenRef = (zodSchema) => { - const seen2 = ctx.seen.get(zodSchema); - if (seen2.ref === null) - return; - const schema2 = seen2.def ?? seen2.schema; - const _cached = { ...schema2 }; - const ref = seen2.ref; - seen2.ref = null; - if (ref) { - flattenRef(ref); - const refSeen = ctx.seen.get(ref); - const refSchema = refSeen.schema; - if (refSchema.$ref && (ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0")) { - schema2.allOf = schema2.allOf ?? []; - schema2.allOf.push(refSchema); - } else { - assignProps(schema2, refSchema); - } - assignProps(schema2, _cached); - const isParentRef = zodSchema._zod.parent === ref; - if (isParentRef) { - for (const key in schema2) { - if (key === "$ref" || key === "allOf") - continue; - if (!(key in _cached)) { - delete schema2[key]; - } - } - } - if (refSchema.$ref && refSeen.def) { - for (const key in schema2) { - if (key === "$ref" || key === "allOf") - continue; - if (key in refSeen.def && JSON.stringify(schema2[key]) === JSON.stringify(refSeen.def[key])) { - delete schema2[key]; - } - } - } - } - const parent = zodSchema._zod.parent; - if (parent && parent !== ref) { - flattenRef(parent); - const parentSeen = ctx.seen.get(parent); - if (parentSeen?.schema.$ref) { - schema2.$ref = parentSeen.schema.$ref; - if (parentSeen.def) { - for (const key in schema2) { - if (key === "$ref" || key === "allOf") - continue; - if (key in parentSeen.def && JSON.stringify(schema2[key]) === JSON.stringify(parentSeen.def[key])) { - delete schema2[key]; - } - } - } - } - } - ctx.override({ - zodSchema, - jsonSchema: schema2, - path: seen2.path ?? [] - }); - }; - if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) { - for (const entry of [...ctx.seen.entries()].reverse()) { - flattenRef(entry[0]); - } - if (ctx.target !== "openapi-3.0") { - for (const entry of ctx.seen.entries()) { - compactTypeUnion(entry[1].def ?? entry[1].schema); - } - } - for (const rewrite of ctx.deferred) - rewrite(); - if (ctx.intersections.length) { - const carriers = /* @__PURE__ */ new Map(); - for (const seen2 of ctx.seen.values()) { - for (const json2 of [seen2.schema, seen2.def]) { - const allOf = json2?.allOf; - if (!Array.isArray(allOf)) - continue; - const existing = carriers.get(allOf); - if (existing) - existing.push(json2); - else - carriers.set(allOf, [json2]); - } - } - for (const allOf of ctx.intersections) { - for (const json2 of carriers.get(allOf) ?? []) - foldIntersection(json2); - } - } - } - const result = {}; - if (ctx.target === "draft-2020-12") { - result.$schema = "https://json-schema.org/draft/2020-12/schema"; - } else if (ctx.target === "draft-07") { - result.$schema = "http://json-schema.org/draft-07/schema#"; - } else if (ctx.target === "draft-04") { - result.$schema = "http://json-schema.org/draft-04/schema#"; - } else if (ctx.target === "openapi-3.0") { - } else { - } - if (ctx.external?.uri) { - const id = ctx.external.registry.get(schema)?.id; - if (!id) - throw new Error("Schema is missing an `id` property"); - result.$id = ctx.external.uri(id); - } - assignProps(result, root.defId ? root.schema : root.def ?? root.schema); - const rootMetaId = ctx.metadataRegistry.get(schema)?.id; - if (rootMetaId !== void 0 && result.id === rootMetaId) - delete result.id; - const defs = ctx.external?.defs ?? {}; - if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) { - for (const entry of ctx.seen.entries()) { - const seen2 = entry[1]; - if (seen2.def && seen2.defId) { - if (seen2.def.id === seen2.defId) - delete seen2.def.id; - assignProp(defs, seen2.defId, seen2.def); - } - } - } - if (ctx.external) - ctx.sharedEmitDoneFor = ctx.external; - if (ctx.external) { - } else { - if (Object.keys(defs).length > 0) { - if (ctx.target === "draft-2020-12") { - result.$defs = defs; - } else { - result.definitions = defs; - } - } - } - try { - const finalized = JSON.parse(JSON.stringify(result)); - Object.defineProperty(finalized, "~standard", { - value: { - ...schema["~standard"], - jsonSchema: { - input: createStandardJSONSchemaMethod(schema, "input", ctx.processors), - output: createStandardJSONSchemaMethod(schema, "output", ctx.processors) - } - }, - enumerable: false, - writable: false - }); - return finalized; - } catch (_err) { - throw new Error("Error converting schema to JSON."); - } -} -function isTransforming(_schema, _ctx) { - const ctx = _ctx ?? { seen: /* @__PURE__ */ new Set() }; - if (ctx.seen.has(_schema)) - return false; - ctx.seen.add(_schema); - const def = _schema._zod.def; - if (def.type === "transform") - return true; - if (def.type === "array") - return isTransforming(def.element, ctx); - if (def.type === "set") - return isTransforming(def.valueType, ctx); - if (def.type === "lazy") - return isTransforming(def.getter(), ctx); - if (def.type === "promise" || def.type === "optional" || def.type === "nonoptional" || def.type === "nullable" || def.type === "readonly" || def.type === "default" || def.type === "prefault" || def.type === "catch") { - return isTransforming(def.innerType, ctx); - } - if (def.type === "intersection") { - return isTransforming(def.left, ctx) || isTransforming(def.right, ctx); - } - if (def.type === "record" || def.type === "map") { - return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx); - } - if (def.type === "pipe") { - if (_schema._zod.traits.has("$ZodCodec")) - return true; - return isTransforming(def.in, ctx) || isTransforming(def.out, ctx); - } - if (def.type === "object") { - for (const key in def.shape) { - if (isTransforming(def.shape[key], ctx)) - return true; - } - return false; - } - if (def.type === "union") { - for (const option of def.options) { - if (isTransforming(option, ctx)) - return true; - } - return false; - } - if (def.type === "tuple") { - for (const item of def.items) { - if (isTransforming(item, ctx)) - return true; - } - if (def.rest && isTransforming(def.rest, ctx)) - return true; - return false; - } - return false; -} -var createToJSONSchemaMethod = (schema, processors = {}) => (params) => { - const ctx = initializeContext({ ...params, processors }); - processSchema(schema, ctx); - extractDefs(ctx, schema); - return finalize(ctx, schema); -}; -var createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => { - const { libraryOptions, target } = params ?? {}; - const ctx = initializeContext({ ...libraryOptions ?? {}, target, io, processors }); - processSchema(schema, ctx); - extractDefs(ctx, schema); - return finalize(ctx, schema); -}; - -// ../../../node_modules/zod/v4/core/json-schema-processors.js -var narrowMin = (agg, key, value) => { - if (agg[key] === void 0 || value > agg[key]) - agg[key] = value; -}; -var narrowMax = (agg, key, value) => { - if (agg[key] === void 0 || value < agg[key]) - agg[key] = value; -}; -var narrowBoth = (agg, value) => { - narrowMin(agg, "minimum", value); - narrowMax(agg, "maximum", value); -}; -var addDivisor = (agg, value) => { - agg.multipleOf ?? (agg.multipleOf = []); - if (!agg.multipleOf.includes(value)) - agg.multipleOf.push(value); -}; -var addPattern = (agg, pattern) => { - agg.patterns ?? (agg.patterns = /* @__PURE__ */ new Set()); - agg.patterns.add(pattern); -}; -var intersectMime = (agg, mime) => { - agg.mime = agg.mime ? agg.mime.filter((m) => mime.includes(m)) : [...mime]; -}; -var setFormat = (agg, format) => { - agg.format = format; - if (format.includes("int")) - agg.isInt = true; -}; -var minContributor = (agg, def) => narrowMin(agg, "minimum", def.minimum); -var maxContributor = (agg, def) => narrowMax(agg, "maximum", def.maximum); -var formatContributor = (ranges) => (agg, def) => { - setFormat(agg, def.format); - const [minimum, maximum] = ranges[def.format]; - narrowMin(agg, "minimum", minimum); - narrowMax(agg, "maximum", maximum); -}; -var contributors = { - greater_than: (agg, def) => narrowMin(agg, def.inclusive ? "minimum" : "exclusiveMinimum", def.value), - less_than: (agg, def) => narrowMax(agg, def.inclusive ? "maximum" : "exclusiveMaximum", def.value), - multiple_of: (agg, def) => addDivisor(agg, def.value), - number_format: formatContributor(NUMBER_FORMAT_RANGES), - bigint_format: formatContributor(BIGINT_FORMAT_RANGES), - min_length: minContributor, - max_length: maxContributor, - length_equals: (agg, def) => narrowBoth(agg, def.length), - min_size: minContributor, - max_size: maxContributor, - size_equals: (agg, def) => narrowBoth(agg, def.size), - string_format: (agg, def) => { - setFormat(agg, def.format); - if (def.pattern) - addPattern(agg, def.pattern); - if (def.format === "base64" || def.format === "base64url") - agg.contentEncoding = def.format; - if (def.local || def.precision === -1) - agg.laxFormat = true; - }, - mime_type: (agg, def) => intersectMime(agg, def.mime) -}; -function aggregateChecks(schema) { - const agg = {}; - const def = schema._zod.def; - const list = schema._zod.traits.has("$ZodCheck") ? [schema, ...def.checks ?? []] : def.checks ?? []; - for (const ch of list) - contributors[ch._zod.def.check]?.(agg, ch._zod.def); - const bag = schema._zod.bag; - if (bag.minimum !== void 0) - narrowMin(agg, "minimum", bag.minimum); - if (bag.exclusiveMinimum !== void 0) - narrowMin(agg, "exclusiveMinimum", bag.exclusiveMinimum); - if (bag.maximum !== void 0) - narrowMax(agg, "maximum", bag.maximum); - if (bag.exclusiveMaximum !== void 0) - narrowMax(agg, "exclusiveMaximum", bag.exclusiveMaximum); - if (bag.multipleOf !== void 0) - addDivisor(agg, bag.multipleOf); - if (bag.format !== void 0) { - agg.format ?? (agg.format = bag.format); - if (bag.format.includes("int")) - agg.isInt = true; - } - if (bag.mime) - intersectMime(agg, bag.mime); - for (const pattern of bag.patterns ?? []) - addPattern(agg, pattern); - return agg; -} -var formatMap = { - guid: "uuid", - url: "uri", - datetime: "date-time", - json_string: "json-string", - regex: "" - // do not set -}; -var exactPatterns = /* @__PURE__ */ new Map([ - [base64Charset, base64], - [base64urlCharset, base64url] -]); -var exactPattern = (p) => exactPatterns.get(p) ?? p; -var stringProcessor = (schema, ctx, _json, _params) => { - const json2 = _json; - json2.type = "string"; - const { minimum, maximum, format, patterns, contentEncoding, laxFormat } = aggregateChecks(schema); - if (typeof minimum === "number") - json2.minLength = minimum; - if (typeof maximum === "number") - json2.maxLength = maximum; - if (format) { - json2.format = formatMap[format] ?? format; - if (json2.format === "") - delete json2.format; - if (format === "time" || laxFormat) { - delete json2.format; - } - } - if (contentEncoding) - json2.contentEncoding = contentEncoding; - if (patterns && patterns.size > 0) { - const patternList = [...patterns].map(exactPattern); - if (patternList.length === 1) - json2.pattern = patternList[0].source; - else if (patternList.length > 1) { - json2.allOf = [ - ...patternList.map((regex2) => ({ - ...ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0" ? { type: "string" } : {}, - pattern: regex2.source - })) - ]; - } - } -}; -var numberProcessor = (schema, ctx, _json, params) => { - const json2 = _json; - const { minimum, maximum, multipleOf, exclusiveMaximum, exclusiveMinimum, isInt } = aggregateChecks(schema); - json2.type = isInt ? "integer" : "number"; - const exMin = typeof exclusiveMinimum === "number" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY); - const exMax = typeof exclusiveMaximum === "number" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY); - const legacy = ctx.target === "draft-04" || ctx.target === "openapi-3.0"; - if (exMin) { - if (legacy) { - json2.minimum = exclusiveMinimum; - json2.exclusiveMinimum = true; - } else { - json2.exclusiveMinimum = exclusiveMinimum; - } - } else if (typeof minimum === "number") { - json2.minimum = minimum; - } - if (exMax) { - if (legacy) { - json2.maximum = exclusiveMaximum; - json2.exclusiveMaximum = true; - } else { - json2.exclusiveMaximum = exclusiveMaximum; - } - } else if (typeof maximum === "number") { - json2.maximum = maximum; - } - if (multipleOf) { - const divisors = /* @__PURE__ */ new Set(); - for (const divisor of multipleOf) { - if (Number.isFinite(divisor) && divisor !== 0) - divisors.add(Math.abs(divisor)); - else - handleUnrepresentable(schema, ctx, json2, params, `A multipleOf divisor of ${divisor} cannot be represented in JSON Schema`); - } - const [first, ...rest] = divisors; - if (first !== void 0) - json2.multipleOf = first; - if (rest.length) - json2.allOf = [...json2.allOf ?? [], ...rest.map((m) => ({ multipleOf: m }))]; - } -}; -var booleanProcessor = (_schema, _ctx, json2, _params) => { - json2.type = "boolean"; -}; -var bigintProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "BigInt cannot be represented in JSON Schema"); -}; -var symbolProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "Symbols cannot be represented in JSON Schema"); -}; -var nullProcessor = (_schema, ctx, json2, _params) => { - if (ctx.target === "openapi-3.0") { - json2.type = "string"; - json2.nullable = true; - json2.enum = [null]; - } else { - json2.type = "null"; - } -}; -var undefinedProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "Undefined cannot be represented in JSON Schema"); -}; -var voidProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "Void cannot be represented in JSON Schema"); -}; -var neverProcessor = (_schema, _ctx, json2, _params) => { - json2.not = {}; -}; -var anyProcessor = (_schema, _ctx, _json, _params) => { -}; -var unknownProcessor = (_schema, _ctx, _json, _params) => { -}; -var dateProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "Date cannot be represented in JSON Schema"); -}; -var enumProcessor = (schema, _ctx, json2, _params) => { - const def = schema._zod.def; - const values = getEnumValues(def.entries); - if (values.length === 0) { - json2.not = {}; - return; - } - if (values.every((v) => typeof v === "number")) - json2.type = "number"; - if (values.every((v) => typeof v === "string")) - json2.type = "string"; - json2.enum = values; -}; -var literalProcessor = (schema, ctx, json2, params) => { - const def = schema._zod.def; - if (def.values.length === 0) { - json2.not = {}; - return; - } - const vals = []; - for (const val of def.values) { - if (val === void 0) { - if (handleUnrepresentable(schema, ctx, json2, params, "Literal `undefined` cannot be represented in JSON Schema")) - return; - } else if (typeof val === "bigint") { - if (handleUnrepresentable(schema, ctx, json2, params, "BigInt literals cannot be represented in JSON Schema")) - return; - vals.push(Number(val)); - } else { - vals.push(val); - } - } - if (vals.length === 0) { - } else if (vals.length === 1) { - const val = vals[0]; - json2.type = val === null ? "null" : typeof val; - if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") { - json2.enum = [val]; - } else { - json2.const = val; - } - } else { - if (vals.every((v) => typeof v === "number")) - json2.type = "number"; - if (vals.every((v) => typeof v === "string")) - json2.type = "string"; - if (vals.every((v) => typeof v === "boolean")) - json2.type = "boolean"; - if (vals.every((v) => v === null)) - json2.type = "null"; - json2.enum = vals; - } -}; -var nanProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "NaN cannot be represented in JSON Schema"); -}; -var templateLiteralProcessor = (schema, _ctx, json2, _params) => { - const _json = json2; - const pattern = schema._zod.pattern; - if (!pattern) - throw new Error("Pattern not found in template literal"); - _json.type = "string"; - _json.pattern = pattern.source; -}; -var fileProcessor = (schema, _ctx, json2, _params) => { - const _json = json2; - _json.type = "string"; - _json.format = "binary"; - _json.contentEncoding = "binary"; - const { minimum, maximum, mime } = aggregateChecks(schema); - if (minimum !== void 0) - _json.minLength = minimum; - if (maximum !== void 0) - _json.maxLength = maximum; - if (!mime) - return; - if (mime.length === 0) - _json.not = {}; - else if (mime.length === 1) - _json.contentMediaType = mime[0]; - else - _json.anyOf = mime.map((m) => ({ contentMediaType: m })); -}; -var successProcessor = (_schema, _ctx, json2, _params) => { - json2.type = "boolean"; -}; -var customProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "Custom types cannot be represented in JSON Schema"); -}; -var functionProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "Function types cannot be represented in JSON Schema"); -}; -var transformProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "Transforms cannot be represented in JSON Schema"); -}; -var mapProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "Map cannot be represented in JSON Schema"); -}; -var setProcessor = (schema, ctx, json2, params) => { - handleUnrepresentable(schema, ctx, json2, params, "Set cannot be represented in JSON Schema"); -}; -var arrayProcessor = (schema, ctx, _json, params) => { - const json2 = _json; - const def = schema._zod.def; - const { minimum, maximum } = aggregateChecks(schema); - if (typeof minimum === "number") - json2.minItems = minimum; - if (typeof maximum === "number") - json2.maxItems = maximum; - json2.type = "array"; - json2.items = processSchema(def.element, ctx, { - ...params, - path: [...params.path, "items"] - }); -}; -function inputOptin(schema) { - const def = schema._zod.def; - if (def.type === "pipe" && def.in._zod.traits.has("$ZodTransform")) { - return inputOptin(def.out); - } - if (def.type === "catch") { - return inputOptin(def.innerType); - } - return schema._zod.optin; -} -var objectProcessor = (schema, ctx, _json, params) => { - const json2 = _json; - const def = schema._zod.def; - const shape = def.shape; - const symbolKeys = Object.getOwnPropertySymbols(shape); - if (symbolKeys.length && handleUnrepresentable(schema, ctx, json2, params, "Symbol keys cannot be represented in JSON Schema")) { - return; - } - json2.type = "object"; - json2.properties = {}; - for (const key in shape) { - assignProp(json2.properties, key, processSchema(shape[key], ctx, { - ...params, - path: [...params.path, "properties", key] - })); - } - const requiredKeys = []; - for (const key of Object.keys(shape)) { - const field = def.shape[key]; - if (ctx.io === "input" ? inputOptin(field) === void 0 : field._zod.optout === void 0) { - requiredKeys.push(key); - } - } - if (requiredKeys.length > 0) { - json2.required = requiredKeys; - } - if (def.catchall?._zod.def.type === "never") { - json2.additionalProperties = false; - } else if (!def.catchall) { - if (ctx.io === "output") - json2.additionalProperties = false; - } else if (def.catchall) { - json2.additionalProperties = processSchema(def.catchall, ctx, { - ...params, - path: [...params.path, "additionalProperties"] - }); - } -}; -var unionProcessor = (schema, ctx, json2, params) => { - const def = schema._zod.def; - const isExclusive = def.inclusive === false; - const options = def.options.map((x, i) => processSchema(x, ctx, { - ...params, - path: [...params.path, isExclusive ? "oneOf" : "anyOf", i] - })); - if (isExclusive) { - json2.oneOf = options; - } else { - json2.anyOf = options; - } -}; -var intersectionProcessor = (schema, ctx, json2, params) => { - const def = schema._zod.def; - const a = processSchema(def.left, ctx, { - ...params, - path: [...params.path, "allOf", 0] - }); - const b = processSchema(def.right, ctx, { - ...params, - path: [...params.path, "allOf", 1] - }); - const isSimpleIntersection = (val) => "allOf" in val && Object.keys(val).length === 1; - const allOf = [ - ...isSimpleIntersection(a) ? a.allOf : [a], - ...isSimpleIntersection(b) ? b.allOf : [b] - ]; - json2.allOf = allOf; - ctx.intersections.push(allOf); -}; -var tupleProcessor = (schema, ctx, _json, params) => { - const json2 = _json; - const def = schema._zod.def; - json2.type = "array"; - const prefixPath = ctx.target === "draft-2020-12" ? "prefixItems" : "items"; - const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems"; - const prefixItems = def.items.map((x, i) => processSchema(x, ctx, { - ...params, - path: [...params.path, prefixPath, i] - })); - const rest = def.rest ? processSchema(def.rest, ctx, { - ...params, - path: [...params.path, restPath, ...ctx.target === "openapi-3.0" ? [def.items.length] : []] - }) : null; - let minItems = def.items.length; - while (minItems > 0) { - const item = def.items[minItems - 1]; - const optional2 = ctx.io === "input" ? inputOptin(item) !== void 0 : item._zod.optout === "optional"; - if (!optional2) - break; - minItems--; - } - const maxItems = def.items.length; - const isClosed = !def.rest; - if (ctx.target === "draft-2020-12") { - json2.prefixItems = prefixItems; - if (isClosed) { - json2.items = false; - } else if (rest) { - json2.items = rest; - } - if (minItems > 0) - json2.minItems = minItems; - if (isClosed) - json2.maxItems = maxItems; - } else if (ctx.target === "openapi-3.0") { - json2.items = { - anyOf: prefixItems - }; - if (rest) { - json2.items.anyOf.push(rest); - } - if (minItems > 0) - json2.minItems = minItems; - if (isClosed) - json2.maxItems = maxItems; - } else { - json2.items = prefixItems; - if (isClosed) { - json2.additionalItems = false; - } else if (rest) { - json2.additionalItems = rest; - } - if (minItems > 0) - json2.minItems = minItems; - if (isClosed) - json2.maxItems = maxItems; - } - const { minimum, maximum } = aggregateChecks(schema); - if (typeof minimum === "number") - json2.minItems = minimum; - if (typeof maximum === "number") - json2.maxItems = maximum; -}; -function stringifyKeyNames(bySchema, json2, visited) { - if (json2.$ref) { - if (visited.has(json2)) - return json2; - visited.add(json2); - const def = bySchema.get(json2)?.def; - if (!def) - return json2; - const inlined = stringifyKeyNames(bySchema, def, visited); - return inlined === def ? json2 : inlined; - } - for (const keyword of ["anyOf", "oneOf"]) { - const branches = json2[keyword]; - if (!Array.isArray(branches)) - continue; - const mapped = branches.map((branch) => stringifyKeyNames(bySchema, branch, visited)); - if (mapped.some((branch, i) => branch !== branches[i])) - json2 = { ...json2, [keyword]: mapped }; - } - const types = Array.isArray(json2.type) ? json2.type : [json2.type]; - const numericType = !types.includes("string") && types.some((t) => t === "number" || t === "integer"); - const values = json2.enum ?? (json2.const !== void 0 ? [json2.const] : void 0); - if (!numericType && !values?.some((v) => typeof v === "number")) - return json2; - const { minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, format, id, ...rest } = json2; - if (rest.enum) - rest.enum = rest.enum.map((v) => typeof v === "number" ? String(v) : v); - else if (typeof rest.const === "number") - rest.const = String(rest.const); - if (!numericType) - return rest; - rest.type = "string"; - if (!values) - rest.pattern = (types.includes("number") ? number : integer).source; - return rest; -} -var pendingRecords = /* @__PURE__ */ new WeakMap(); -function rewriteKeyNames(ctx) { - const bySchema = /* @__PURE__ */ new Map(); - for (const entry of ctx.seen.values()) { - if (entry.def && !bySchema.has(entry.schema)) - bySchema.set(entry.schema, entry); - } - const rewrites = /* @__PURE__ */ new Map(); - for (const record2 of pendingRecords.get(ctx) ?? []) { - const seen2 = ctx.seen.get(record2); - const names = (seen2?.def ?? seen2?.schema)?.propertyNames; - if (!names || names === true || rewrites.has(names)) - continue; - const rewritten = stringifyKeyNames(bySchema, names, /* @__PURE__ */ new Set()); - if (rewritten !== names) - rewrites.set(names, rewritten); - } - if (!rewrites.size) - return; - for (const entry of ctx.seen.values()) { - for (const carrier of [entry.schema, entry.def]) { - const rewritten = carrier && rewrites.get(carrier.propertyNames); - if (rewritten) - carrier.propertyNames = rewritten; - } - } -} -var recordProcessor = (schema, ctx, _json, params) => { - const json2 = _json; - const def = schema._zod.def; - json2.type = "object"; - const keyType = def.keyType; - const patterns = aggregateChecks(keyType).patterns; - if (def.mode === "loose" && patterns && patterns.size > 0) { - const valueSchema = processSchema(def.valueType, ctx, { - ...params, - path: [...params.path, "patternProperties", "*"] - }); - json2.patternProperties = {}; - for (const pattern of patterns) { - assignProp(json2.patternProperties, exactPattern(pattern).source, valueSchema); - } - } else { - if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") { - json2.propertyNames = processSchema(def.keyType, ctx, { - ...params, - path: [...params.path, "propertyNames"] - }); - let pending = pendingRecords.get(ctx); - if (!pending) { - pending = []; - pendingRecords.set(ctx, pending); - ctx.deferred.push(() => rewriteKeyNames(ctx)); - } - pending.push(schema); - } - json2.additionalProperties = processSchema(def.valueType, ctx, { - ...params, - path: [...params.path, "additionalProperties"] - }); - } - const keyValues = keyType._zod.values; - const omittableOnInput = ctx.io === "input" && inputOptin(def.valueType) !== void 0; - if (keyValues && !def.partial && !omittableOnInput) { - const validKeyValues = [...keyValues].filter((v) => typeof v === "string" || typeof v === "number"); - if (validKeyValues.length > 0) { - json2.required = validKeyValues.map(String); - } - } -}; -var nullableProcessor = (schema, ctx, json2, params) => { - const def = schema._zod.def; - const inner = processSchema(def.innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - if (ctx.target === "openapi-3.0") { - seen2.ref = def.innerType; - json2.nullable = true; - } else { - json2.anyOf = [inner, { type: "null" }]; - } -}; -var nonoptionalProcessor = (schema, ctx, _json, params) => { - const def = schema._zod.def; - processSchema(def.innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - seen2.ref = def.innerType; -}; -var UNREPRESENTABLE_DEFAULT = /* @__PURE__ */ Symbol(); -function serializeDefaultValue(value, schema, ctx, json2, params) { - let unrepresentable = false; - const serialized = JSON.stringify(value, (_, val) => { - if (typeof val !== "bigint") - return val; - unrepresentable = true; - return null; - }); - if (!unrepresentable) - return JSON.parse(serialized); - handleUnrepresentable(schema, ctx, json2, params, "BigInt defaults cannot be represented in JSON Schema"); - return UNREPRESENTABLE_DEFAULT; -} -var defaultProcessor = (schema, ctx, json2, params) => { - const def = schema._zod.def; - processSchema(def.innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - seen2.ref = def.innerType; - const value = serializeDefaultValue(def.defaultValue, schema, ctx, json2, params); - if (value !== UNREPRESENTABLE_DEFAULT) - json2.default = value; -}; -var prefaultProcessor = (schema, ctx, json2, params) => { - const def = schema._zod.def; - processSchema(def.innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - seen2.ref = def.innerType; - if (ctx.io !== "input") - return; - const value = serializeDefaultValue(def.defaultValue, schema, ctx, json2, params); - if (value !== UNREPRESENTABLE_DEFAULT) - json2._prefault = value; -}; -var catchProcessor = (schema, ctx, json2, params) => { - const def = schema._zod.def; - processSchema(def.innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - seen2.ref = def.innerType; - let catchValue; - try { - catchValue = def.catchValue(void 0); - } catch { - handleUnrepresentable(schema, ctx, json2, params, "Dynamic catch values are not supported in JSON Schema"); - return; - } - json2.default = catchValue; -}; -var pipeProcessor = (schema, ctx, _json, params) => { - const def = schema._zod.def; - const inIsTransform = def.in._zod.traits.has("$ZodTransform"); - const innerType = ctx.io === "input" ? inIsTransform ? def.out : def.in : def.out; - processSchema(innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - seen2.ref = innerType; -}; -var readonlyProcessor = (schema, ctx, json2, params) => { - const def = schema._zod.def; - processSchema(def.innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - seen2.ref = def.innerType; - json2.readOnly = true; -}; -var promiseProcessor = (schema, ctx, _json, params) => { - const def = schema._zod.def; - processSchema(def.innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - seen2.ref = def.innerType; -}; -var optionalProcessor = (schema, ctx, _json, params) => { - const def = schema._zod.def; - processSchema(def.innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - seen2.ref = def.innerType; -}; -var lazyProcessor = (schema, ctx, _json, params) => { - const innerType = schema._zod.innerType; - processSchema(innerType, ctx, params); - const seen2 = ctx.seen.get(schema); - seen2.ref = innerType; -}; -var allProcessors = { - string: stringProcessor, - number: numberProcessor, - boolean: booleanProcessor, - bigint: bigintProcessor, - symbol: symbolProcessor, - null: nullProcessor, - undefined: undefinedProcessor, - void: voidProcessor, - never: neverProcessor, - any: anyProcessor, - unknown: unknownProcessor, - date: dateProcessor, - enum: enumProcessor, - literal: literalProcessor, - nan: nanProcessor, - template_literal: templateLiteralProcessor, - file: fileProcessor, - success: successProcessor, - custom: customProcessor, - function: functionProcessor, - transform: transformProcessor, - map: mapProcessor, - set: setProcessor, - array: arrayProcessor, - object: objectProcessor, - union: unionProcessor, - intersection: intersectionProcessor, - tuple: tupleProcessor, - record: recordProcessor, - nullable: nullableProcessor, - nonoptional: nonoptionalProcessor, - default: defaultProcessor, - prefault: prefaultProcessor, - catch: catchProcessor, - pipe: pipeProcessor, - readonly: readonlyProcessor, - promise: promiseProcessor, - optional: optionalProcessor, - lazy: lazyProcessor -}; -function toJSONSchema(input3, params) { - if ("_idmap" in input3) { - const registry2 = input3; - const ctx2 = initializeContext({ ...params, processors: allProcessors }); - const defs = {}; - for (const entry of registry2._idmap.entries()) { - const [_, schema] = entry; - processSchema(schema, ctx2); - } - const schemas = {}; - const external = { - registry: registry2, - uri: params?.uri, - defs - }; - ctx2.external = external; - for (const entry of registry2._idmap.entries()) { - const [key, schema] = entry; - extractDefs(ctx2, schema); - assignProp(schemas, key, finalize(ctx2, schema)); - } - if (Object.keys(defs).length > 0) { - const defsSegment = ctx2.target === "draft-2020-12" ? "$defs" : "definitions"; - schemas.__shared = { - [defsSegment]: defs - }; - } - return { schemas }; - } - const ctx = initializeContext({ ...params, processors: allProcessors }); - processSchema(input3, ctx); - extractDefs(ctx, input3); - return finalize(ctx, input3); -} - -// ../../../node_modules/zod/v4/core/json-schema-generator.js -var JSONSchemaGenerator = class { - /** @deprecated Access via ctx instead */ - get metadataRegistry() { - return this.ctx.metadataRegistry; - } - /** @deprecated Access via ctx instead */ - get target() { - return this.ctx.target; - } - // annotated so the .d.cts emits an indexed access rather than an inline `import()` of an ESM path - /** @deprecated Access via ctx instead */ - get unrepresentable() { - return this.ctx.unrepresentable; - } - /** @deprecated Access via ctx instead */ - get override() { - return this.ctx.override; - } - /** @deprecated Access via ctx instead */ - get io() { - return this.ctx.io; - } - /** @deprecated Access via ctx instead */ - get counter() { - return this.ctx.counter; - } - set counter(value) { - this.ctx.counter = value; - } - /** @deprecated Access via ctx instead */ - get seen() { - return this.ctx.seen; - } - constructor(params) { - let normalizedTarget = params?.target ?? "draft-2020-12"; - if (normalizedTarget === "draft-4") - normalizedTarget = "draft-04"; - if (normalizedTarget === "draft-7") - normalizedTarget = "draft-07"; - this.ctx = initializeContext({ - processors: allProcessors, - target: normalizedTarget, - ...params?.metadata && { metadata: params.metadata }, - ...params?.unrepresentable && { unrepresentable: params.unrepresentable }, - ...params?.override && { override: params.override }, - ...params?.io && { io: params.io } - }); - } - /** - * Process a schema to prepare it for JSON Schema generation. - * This must be called before emit(). - */ - process(schema, _params = { path: [], schemaPath: [] }) { - return processSchema(schema, this.ctx, _params); - } - /** - * Emit the final JSON Schema after processing. - * Must call process() first. - */ - emit(schema, _params) { - if (_params) { - if (_params.cycles) - this.ctx.cycles = _params.cycles; - if (_params.reused) - this.ctx.reused = _params.reused; - if (_params.external) - this.ctx.external = _params.external; - } - this.ctx.sharedDefsExtractedFor = void 0; - this.ctx.sharedEmitDoneFor = void 0; - extractDefs(this.ctx, schema); - const result = finalize(this.ctx, schema); - const { "~standard": _, ...plainResult } = result; - return plainResult; - } -}; - -// ../../../node_modules/zod/v4/core/json-schema.js -var json_schema_exports = {}; - -// ../../../node_modules/zod/v4/classic/schemas.js -var schemas_exports2 = {}; -__export(schemas_exports2, { - ZodAny: () => ZodAny, - ZodArray: () => ZodArray, - ZodBase64: () => ZodBase64, - ZodBase64URL: () => ZodBase64URL, - ZodBigInt: () => ZodBigInt, - ZodBigIntFormat: () => ZodBigIntFormat, - ZodBoolean: () => ZodBoolean, - ZodCIDRv4: () => ZodCIDRv4, - ZodCIDRv6: () => ZodCIDRv6, - ZodCUID: () => ZodCUID, - ZodCUID2: () => ZodCUID2, - ZodCatch: () => ZodCatch, - ZodCodec: () => ZodCodec, - ZodCreditCard: () => ZodCreditCard, - ZodCustom: () => ZodCustom, - ZodCustomStringFormat: () => ZodCustomStringFormat, - ZodDate: () => ZodDate, - ZodDefault: () => ZodDefault, - ZodDiscriminatedUnion: () => ZodDiscriminatedUnion, - ZodE164: () => ZodE164, - ZodEmail: () => ZodEmail, - ZodEmoji: () => ZodEmoji, - ZodEnum: () => ZodEnum, - ZodExactOptional: () => ZodExactOptional, - ZodFile: () => ZodFile, - ZodFunction: () => ZodFunction, - ZodGUID: () => ZodGUID, - ZodIBAN: () => ZodIBAN, - ZodIPv4: () => ZodIPv4, - ZodIPv6: () => ZodIPv6, - ZodISODate: () => ZodISODate, - ZodISODateTime: () => ZodISODateTime, - ZodISODuration: () => ZodISODuration, - ZodISOTime: () => ZodISOTime, - ZodInstanceOf: () => ZodInstanceOf, - ZodIntersection: () => ZodIntersection, - ZodJWT: () => ZodJWT, - ZodKSUID: () => ZodKSUID, - ZodLazy: () => ZodLazy, - ZodLiteral: () => ZodLiteral, - ZodMAC: () => ZodMAC, - ZodMap: () => ZodMap, - ZodNaN: () => ZodNaN, - ZodNanoID: () => ZodNanoID, - ZodNever: () => ZodNever, - ZodNonOptional: () => ZodNonOptional, - ZodNull: () => ZodNull, - ZodNullable: () => ZodNullable, - ZodNumber: () => ZodNumber, - ZodNumberFormat: () => ZodNumberFormat, - ZodObject: () => ZodObject, - ZodOptional: () => ZodOptional, - ZodPipe: () => ZodPipe, - ZodPrefault: () => ZodPrefault, - ZodPreprocess: () => ZodPreprocess, - ZodPromise: () => ZodPromise, - ZodReadonly: () => ZodReadonly, - ZodRecord: () => ZodRecord, - ZodSet: () => ZodSet, - ZodString: () => ZodString, - ZodStringFormat: () => ZodStringFormat, - ZodSuccess: () => ZodSuccess, - ZodSymbol: () => ZodSymbol, - ZodTemplateLiteral: () => ZodTemplateLiteral, - ZodTransform: () => ZodTransform, - ZodTuple: () => ZodTuple, - ZodType: () => ZodType, - ZodULID: () => ZodULID, - ZodURL: () => ZodURL, - ZodUUID: () => ZodUUID, - ZodUndefined: () => ZodUndefined, - ZodUnion: () => ZodUnion, - ZodUnknown: () => ZodUnknown, - ZodVoid: () => ZodVoid, - ZodXID: () => ZodXID, - ZodXor: () => ZodXor, - _ZodString: () => _ZodString, - _default: () => _default2, - _function: () => _function, - any: () => any, - array: () => array, - base64: () => base642, - base64url: () => base64url2, - bigint: () => bigint2, - boolean: () => boolean2, - catch: () => _catch2, - check: () => check, - cidrv4: () => cidrv42, - cidrv6: () => cidrv62, - codec: () => codec, - creditCard: () => creditCard2, - cuid: () => cuid3, - cuid2: () => cuid22, - currencyCode: () => currencyCode2, - custom: () => custom, - date: () => date2, - describe: () => describe2, - discriminatedUnion: () => discriminatedUnion, - e164: () => e1642, - email: () => email2, - emoji: () => emoji2, - enum: () => _enum2, - exactOptional: () => exactOptional, - file: () => file, - float32: () => float32, - float64: () => float64, - function: () => _function, - guid: () => guid2, - hash: () => hash, - hex: () => hex2, - hostname: () => hostname2, - httpUrl: () => httpUrl, - iban: () => iban2, - instanceof: () => _instanceof, - int: () => int, - int32: () => int32, - int64: () => int64, - intersection: () => intersection, - invertCodec: () => invertCodec, - ipv4: () => ipv42, - ipv6: () => ipv62, - json: () => json, - jwt: () => jwt, - keyof: () => keyof, - ksuid: () => ksuid2, - lazy: () => lazy, - literal: () => literal, - looseObject: () => looseObject, - looseRecord: () => looseRecord, - mac: () => mac2, - map: () => map, - meta: () => meta2, - nan: () => nan, - nanoid: () => nanoid2, - nativeEnum: () => nativeEnum, - never: () => never, - nonoptional: () => nonoptional, - null: () => _null3, - nullable: () => nullable, - nullish: () => nullish2, - number: () => number2, - object: () => object, - optional: () => optional, - partialRecord: () => partialRecord, - pipe: () => pipe, - prefault: () => prefault, - preprocess: () => preprocess, - promise: () => promise, - readonly: () => readonly, - record: () => record, - refine: () => refine, - set: () => set, - strictObject: () => strictObject, - string: () => string2, - stringFormat: () => stringFormat, - stringbool: () => stringbool, - success: () => success, - superRefine: () => superRefine, - symbol: () => symbol, - templateLiteral: () => templateLiteral, - transform: () => transform, - tuple: () => tuple, - uint32: () => uint32, - uint64: () => uint64, - ulid: () => ulid2, - undefined: () => _undefined3, - union: () => union, - unknown: () => unknown, - url: () => url, - uuid: () => uuid2, - uuidv4: () => uuidv4, - uuidv6: () => uuidv6, - uuidv7: () => uuidv7, - void: () => _void2, - xid: () => xid2, - xor: () => xor -}); - -// ../../../node_modules/zod/v4/classic/checks.js -var checks_exports2 = {}; -__export(checks_exports2, { - endsWith: () => _endsWith, - gt: () => _gt, - gte: () => _gte, - includes: () => _includes, - length: () => _length, - lowercase: () => _lowercase, - lt: () => _lt, - lte: () => _lte, - maxLength: () => _maxLength, - maxSize: () => _maxSize, - mime: () => _mime, - minLength: () => _minLength, - minSize: () => _minSize, - multipleOf: () => _multipleOf, - negative: () => _negative, - nonnegative: () => _nonnegative, - nonpositive: () => _nonpositive, - normalize: () => _normalize, - overwrite: () => _overwrite, - positive: () => _positive, - properties: () => _properties, - property: () => _property, - regex: () => _regex, - size: () => _size, - slugify: () => _slugify, - startsWith: () => _startsWith, - toLowerCase: () => _toLowerCase, - toUpperCase: () => _toUpperCase, - trim: () => _trim, - uppercase: () => _uppercase -}); - -// ../../../node_modules/zod/v4/classic/errors.js -var _installedErrorProtos = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]); -function _lazyMethod(proto, key, make) { - Object.defineProperty(proto, key, { - configurable: true, - enumerable: false, - get() { - const value = make(this); - Object.defineProperty(this, key, { value, configurable: true, writable: true }); - return value; - }, - set(value) { - Object.defineProperty(this, key, { value, configurable: true, writable: true }); - } - }); -} -var initializer2 = (inst, issues) => { - $ZodError.init(inst, issues); - inst.name = "ZodError"; - const proto = Object.getPrototypeOf(inst); - if (_installedErrorProtos.has(proto)) - return; - _installedErrorProtos.add(proto); - _lazyMethod(proto, "format", (self) => (mapper) => formatError(self, mapper)); - _lazyMethod(proto, "flatten", (self) => (mapper) => flattenError(self, mapper)); - _lazyMethod(proto, "addIssue", (self) => (issue2) => { - self.issues.push(issue2); - self.message = JSON.stringify(self.issues, jsonStringifyReplacer, 2); - }); - _lazyMethod(proto, "addIssues", (self) => (issues2) => { - self.issues.push(...issues2); - self.message = JSON.stringify(self.issues, jsonStringifyReplacer, 2); - }); - Object.defineProperty(proto, "isEmpty", { - configurable: true, - enumerable: false, - get() { - return this.issues.length === 0; - } - }); -}; -var ZodError = /* @__PURE__ */ $constructor("ZodError", initializer2); -var ZodRealError = /* @__PURE__ */ $constructor("ZodError", initializer2, void 0, { - Parent: Error -}); - -// ../../../node_modules/zod/v4/classic/parse.js -var parse3 = /* @__PURE__ */ _parse(ZodRealError); -var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError); -var safeParse2 = /* @__PURE__ */ _safeParse(ZodRealError); -var safeParseAsync2 = /* @__PURE__ */ _safeParseAsync(ZodRealError); -var encode2 = /* @__PURE__ */ _encode(ZodRealError); -var decode2 = /* @__PURE__ */ _decode(ZodRealError); -var encodeAsync2 = /* @__PURE__ */ _encodeAsync(ZodRealError); -var decodeAsync2 = /* @__PURE__ */ _decodeAsync(ZodRealError); -var safeEncode2 = /* @__PURE__ */ _safeEncode(ZodRealError); -var safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError); -var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError); -var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError); - -// ../../../node_modules/zod/v4/classic/schemas.js -function _ensureDefaultLocale() { - if (!globalConfig.localeError) - config(en_default()); -} -function _ensureDefaultMemoizer() { - if (!globalConfig.memoizer) - config({ memoizer: memoizer() }); -} -var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => { - _ensureDefaultLocale(); - $ZodType.init(inst, def); - inst.def = def; - inst.type = def.type; - return inst; -}, { - check(...chks) { - const def = this.def; - return this.clone(util_exports.mergeDefs(def, { - checks: [ - ...def.checks ?? [], - ...chks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch) - ] - }), { parent: true }); - }, - with(...chks) { - return this.check(...chks); - }, - clone(def, params) { - return clone(this, def, params); - }, - brand() { - return this; - }, - register(reg, meta3) { - reg.add(this, meta3); - return this; - }, - refine(check3, params) { - return this.check(refine(check3, params)); - }, - superRefine(refinement, params) { - return this.check(superRefine(refinement, params)); - }, - overwrite(fn) { - return this.check(_overwrite(fn)); - }, - optional() { - return optional(this); - }, - exactOptional() { - return exactOptional(this); - }, - nullable() { - return nullable(this); - }, - nullish() { - return optional(nullable(this)); - }, - nonoptional(params) { - return nonoptional(this, params); - }, - array() { - return array(this); - }, - or(arg) { - return union([this, arg]); - }, - and(arg) { - return intersection(this, arg); - }, - transform(tx) { - return pipe(this, transform(tx)); - }, - default(d) { - return _default2(this, d); - }, - prefault(d) { - return prefault(this, d); - }, - catch(params) { - return _catch2(this, params); - }, - pipe(target) { - return pipe(this, target); - }, - readonly() { - return readonly(this); - }, - describe(description) { - const cl = this.clone(); - globalRegistry.add(cl, { description }); - return cl; - }, - meta(...args) { - if (args.length === 0) - return globalRegistry.get(this); - const cl = this.clone(); - globalRegistry.add(cl, args[0]); - return cl; - }, - isOptional() { - return this.safeParse(void 0).success; - }, - isNullable() { - return this.safeParse(null).success; - }, - apply(fn, ...args) { - return args.length === 0 ? fn(this) : fn(this, ...args); - }, - // Overrides core's `~standard` to add `jsonSchema`. Must stay a prototype entry: redefining it per instance demotes instances to dictionary mode. - get "~standard"() { - return util_exports.hide(this, "~standard", { - ...standardProps(this), - jsonSchema: { - input: createStandardJSONSchemaMethod(this, "input"), - output: createStandardJSONSchemaMethod(this, "output") - } - }); - }, - set "~standard"(value) { - util_exports.own(this, "~standard", value); - }, - parse: function _parse2(data, params) { - return parse3(this, data, params, { callee: _parse2 }); - }, - parseAsync: async function _parseAsync2(data, params) { - return await parseAsync2(this, data, params, { callee: _parseAsync2 }); - }, - safeParse(data, params) { - return safeParse2(this, data, params); - }, - async safeParseAsync(data, params) { - return safeParseAsync2(this, data, params); - }, - // `spa` is an alias: same function object as `safeParseAsync`, as before. - get spa() { - return this?.safeParseAsync; - }, - set spa(value) { - util_exports.own(this, "spa", value); - }, - validate(data, params) { - return validate(this, data, params); - }, - validateAsync(data, params) { - return validateAsync(this, data, params); - }, - encode: function _encode2(data, params) { - return encode2(this, data, params, { callee: _encode2 }); - }, - decode: function _decode2(data, params) { - return decode2(this, data, params, { callee: _decode2 }); - }, - encodeAsync: async function _encodeAsync2(data, params) { - return await encodeAsync2(this, data, params, { callee: _encodeAsync2 }); - }, - decodeAsync: async function _decodeAsync2(data, params) { - return await decodeAsync2(this, data, params, { callee: _decodeAsync2 }); - }, - safeEncode(data, params) { - return safeEncode2(this, data, params); - }, - safeDecode(data, params) { - return safeDecode2(this, data, params); - }, - async safeEncodeAsync(data, params) { - return safeEncodeAsync2(this, data, params); - }, - async safeDecodeAsync(data, params) { - return safeDecodeAsync2(this, data, params); - }, - toJSONSchema(params) { - return createToJSONSchemaMethod(this, {})(params); - }, - // Reads through to the registry on every access, so it must not cache. - get description() { - return globalRegistry.get(this)?.description; - }, - // No setter: `schema._def = x` throws, as it did when `_def` was a non-writable own property. - get _def() { - return this._zod.def; - } -}); -var _ZodString = /* @__PURE__ */ $constructor( - "_ZodString", - (inst, def) => { - $ZodString.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => stringProcessor(inst, ctx, json2, params); - }, - /* @__PURE__ */ util_exports.derived({ - format: (inst) => aggregateChecks(inst).format ?? null, - minLength: (inst) => aggregateChecks(inst).minimum ?? null, - maxLength: (inst) => aggregateChecks(inst).maximum ?? null - }, { - regex(...args) { - return this.check(_regex(...args)); - }, - includes(...args) { - return this.check(_includes(...args)); - }, - startsWith(...args) { - return this.check(_startsWith(...args)); - }, - endsWith(...args) { - return this.check(_endsWith(...args)); - }, - min(...args) { - return this.check(_minLength(...args)); - }, - max(...args) { - return this.check(_maxLength(...args)); - }, - length(...args) { - return this.check(_length(...args)); - }, - nonempty(...args) { - return this.check(_minLength(1, ...args)); - }, - lowercase(params) { - return this.check(_lowercase(params)); - }, - uppercase(params) { - return this.check(_uppercase(params)); - }, - trim() { - return this.check(_trim()); - }, - normalize(...args) { - return this.check(_normalize(...args)); - }, - toLowerCase() { - return this.check(_toLowerCase()); - }, - toUpperCase() { - return this.check(_toUpperCase()); - }, - slugify() { - return this.check(_slugify()); - } - }) -); -var ZodString = /* @__PURE__ */ $constructor("ZodString", (inst, def) => { - $ZodString.init(inst, def); - _ZodString.init(inst, def); -}, { - email(params) { - return this.check(_email(ZodEmail, params)); - }, - url(params) { - return this.check(_url(ZodURL, params)); - }, - jwt(params) { - return this.check(_jwt(ZodJWT, params)); - }, - emoji(params) { - return this.check(_emoji2(ZodEmoji, params)); - }, - guid(params) { - return this.check(_guid(ZodGUID, params)); - }, - uuid(params) { - return this.check(_uuid(ZodUUID, params)); - }, - uuidv4(params) { - return this.check(_uuidv4(ZodUUID, params)); - }, - uuidv6(params) { - return this.check(_uuidv6(ZodUUID, params)); - }, - uuidv7(params) { - return this.check(_uuidv7(ZodUUID, params)); - }, - nanoid(params) { - return this.check(_nanoid(ZodNanoID, params)); - }, - cuid(params) { - return this.check(_cuid(ZodCUID, params)); - }, - cuid2(params) { - return this.check(_cuid2(ZodCUID2, params)); - }, - ulid(params) { - return this.check(_ulid(ZodULID, params)); - }, - base64(params) { - return this.check(_base64(ZodBase64, params)); - }, - base64url(params) { - return this.check(_base64url(ZodBase64URL, params)); - }, - xid(params) { - return this.check(_xid(ZodXID, params)); - }, - ksuid(params) { - return this.check(_ksuid(ZodKSUID, params)); - }, - ipv4(params) { - return this.check(_ipv4(ZodIPv4, params)); - }, - ipv6(params) { - return this.check(_ipv6(ZodIPv6, params)); - }, - cidrv4(params) { - return this.check(_cidrv4(ZodCIDRv4, params)); - }, - cidrv6(params) { - return this.check(_cidrv6(ZodCIDRv6, params)); - }, - e164(params) { - return this.check(_e164(ZodE164, params)); - }, - datetime(params) { - return this.check(_isoDateTime(ZodISODateTime, params)); - }, - date(params) { - return this.check(_isoDate(ZodISODate, params)); - }, - time(params) { - return this.check(_isoTime(ZodISOTime, params)); - }, - duration(params) { - return this.check(_isoDuration(ZodISODuration, params)); + const { minimum, maximum } = aggregateChecks(schema); + if (typeof minimum === "number") + json.minItems = minimum; + if (typeof maximum === "number") + json.maxItems = maximum; +}; +var nullableProcessor = (schema, ctx, json, params) => { + const def = schema._zod.def; + const inner = processSchema(def.innerType, ctx, params); + const seen2 = ctx.seen.get(schema); + if (ctx.target === "openapi-3.0") { + seen2.ref = def.innerType; + json.nullable = true; + } else { + json.anyOf = [inner, { type: "null" }]; } -}); -function string2(params) { - return _string(ZodString, params); -} -var ZodStringFormat = /* @__PURE__ */ $constructor("ZodStringFormat", (inst, def) => { - $ZodStringFormat.init(inst, def); - _ZodString.init(inst, def); -}); -var ZodISODateTime = /* @__PURE__ */ $constructor("ZodISODateTime", (inst, def) => { - $ZodISODateTime.init(inst, def); - ZodStringFormat.init(inst, def); -}); -var ZodISODate = /* @__PURE__ */ $constructor("ZodISODate", (inst, def) => { - $ZodISODate.init(inst, def); - ZodStringFormat.init(inst, def); -}); -var ZodISOTime = /* @__PURE__ */ $constructor("ZodISOTime", (inst, def) => { - $ZodISOTime.init(inst, def); - ZodStringFormat.init(inst, def); -}); -var ZodISODuration = /* @__PURE__ */ $constructor("ZodISODuration", (inst, def) => { - $ZodISODuration.init(inst, def); - ZodStringFormat.init(inst, def); -}); -var ZodEmail = /* @__PURE__ */ $constructor("ZodEmail", (inst, def) => { - $ZodEmail.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function email2(params) { - return _email(ZodEmail, params); -} -var ZodGUID = /* @__PURE__ */ $constructor("ZodGUID", (inst, def) => { - $ZodGUID.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function guid2(params) { - return _guid(ZodGUID, params); -} -var ZodUUID = /* @__PURE__ */ $constructor("ZodUUID", (inst, def) => { - $ZodUUID.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function uuid2(params) { - return _uuid(ZodUUID, params); -} -function uuidv4(params) { - return _uuidv4(ZodUUID, params); -} -function uuidv6(params) { - return _uuidv6(ZodUUID, params); -} -function uuidv7(params) { - return _uuidv7(ZodUUID, params); -} -var ZodURL = /* @__PURE__ */ $constructor("ZodURL", (inst, def) => { - $ZodURL.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function url(params) { - return _url(ZodURL, params); -} -function httpUrl(params) { - return _url(ZodURL, { - protocol: httpProtocol, - hostname: domain, - ...util_exports.normalizeParams(params) +}; +var nonoptionalProcessor = (schema, ctx, _json, params) => { + const def = schema._zod.def; + processSchema(def.innerType, ctx, params); + const seen2 = ctx.seen.get(schema); + seen2.ref = def.innerType; +}; +var UNREPRESENTABLE_DEFAULT = /* @__PURE__ */ Symbol(); +function serializeDefaultValue(value, schema, ctx, json, params) { + let unrepresentable = false; + const serialized = JSON.stringify(value, (_, val) => { + if (typeof val !== "bigint") + return val; + unrepresentable = true; + return null; }); + if (!unrepresentable) + return JSON.parse(serialized); + handleUnrepresentable(schema, ctx, json, params, "BigInt defaults cannot be represented in JSON Schema"); + return UNREPRESENTABLE_DEFAULT; } -var ZodEmoji = /* @__PURE__ */ $constructor("ZodEmoji", (inst, def) => { - $ZodEmoji.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function emoji2(params) { - return _emoji2(ZodEmoji, params); -} -var ZodNanoID = /* @__PURE__ */ $constructor("ZodNanoID", (inst, def) => { - $ZodNanoID.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function nanoid2(params) { - return _nanoid(ZodNanoID, params); -} -var ZodCUID = /* @__PURE__ */ $constructor("ZodCUID", (inst, def) => { - $ZodCUID.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function cuid3(params) { - return _cuid(ZodCUID, params); -} -var ZodCUID2 = /* @__PURE__ */ $constructor("ZodCUID2", (inst, def) => { - $ZodCUID2.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function cuid22(params) { - return _cuid2(ZodCUID2, params); -} -var ZodULID = /* @__PURE__ */ $constructor("ZodULID", (inst, def) => { - $ZodULID.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function ulid2(params) { - return _ulid(ZodULID, params); -} -var ZodXID = /* @__PURE__ */ $constructor("ZodXID", (inst, def) => { - $ZodXID.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function xid2(params) { - return _xid(ZodXID, params); -} -var ZodKSUID = /* @__PURE__ */ $constructor("ZodKSUID", (inst, def) => { - $ZodKSUID.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function ksuid2(params) { - return _ksuid(ZodKSUID, params); -} -var ZodIPv4 = /* @__PURE__ */ $constructor("ZodIPv4", (inst, def) => { - $ZodIPv4.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function ipv42(params) { - return _ipv4(ZodIPv4, params); -} -var ZodMAC = /* @__PURE__ */ $constructor("ZodMAC", (inst, def) => { - $ZodMAC.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function mac2(params) { - return _mac(ZodMAC, params); -} -var ZodIPv6 = /* @__PURE__ */ $constructor("ZodIPv6", (inst, def) => { - $ZodIPv6.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function ipv62(params) { - return _ipv6(ZodIPv6, params); -} -var ZodCIDRv4 = /* @__PURE__ */ $constructor("ZodCIDRv4", (inst, def) => { - $ZodCIDRv4.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function cidrv42(params) { - return _cidrv4(ZodCIDRv4, params); -} -var ZodCIDRv6 = /* @__PURE__ */ $constructor("ZodCIDRv6", (inst, def) => { - $ZodCIDRv6.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function cidrv62(params) { - return _cidrv6(ZodCIDRv6, params); -} -var ZodBase64 = /* @__PURE__ */ $constructor("ZodBase64", (inst, def) => { - $ZodBase64.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function base642(params) { - return _base64(ZodBase64, params); -} -var ZodBase64URL = /* @__PURE__ */ $constructor("ZodBase64URL", (inst, def) => { - $ZodBase64URL.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function base64url2(params) { - return _base64url(ZodBase64URL, params); -} -var ZodE164 = /* @__PURE__ */ $constructor("ZodE164", (inst, def) => { - $ZodE164.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function e1642(params) { - return _e164(ZodE164, params); -} -var ZodCreditCard = /* @__PURE__ */ $constructor("ZodCreditCard", (inst, def) => { - $ZodCreditCard.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function creditCard2(params) { - return _creditCard(ZodCreditCard, params); -} -var ZodIBAN = /* @__PURE__ */ $constructor("ZodIBAN", (inst, def) => { - $ZodIBAN.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function iban2(params) { - return _iban(ZodIBAN, params); -} -var ZodJWT = /* @__PURE__ */ $constructor("ZodJWT", (inst, def) => { - $ZodJWT.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function jwt(params) { - return _jwt(ZodJWT, params); -} -var ZodCustomStringFormat = /* @__PURE__ */ $constructor("ZodCustomStringFormat", (inst, def) => { - $ZodCustomStringFormat.init(inst, def); - ZodStringFormat.init(inst, def); -}); -function stringFormat(format, fnOrRegex, _params = {}) { - return _stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params); -} -function hostname2(_params) { - return _stringFormat(ZodCustomStringFormat, "hostname", hostname, _params); -} -function hex2(_params) { - return _stringFormat(ZodCustomStringFormat, "hex", hex, _params); -} -function currencyCode2(_params) { - return _stringFormat(ZodCustomStringFormat, "currency_code", currencyCode, _params); -} -function hash(alg, params) { - const enc = params?.enc ?? "hex"; - const format = `${alg}_${enc}`; - const regex2 = regexes_exports[format]; - if (!regex2) - throw new Error(`Unrecognized hash format: ${format}`); - return _stringFormat(ZodCustomStringFormat, format, regex2, params); -} -var ZodNumber = /* @__PURE__ */ $constructor( - "ZodNumber", - (inst, def) => { - $ZodNumber.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => numberProcessor(inst, ctx, json2, params); - inst.isFinite = true; - }, - /* @__PURE__ */ util_exports.derived({ - minValue: (inst) => { - const { minimum, exclusiveMinimum } = aggregateChecks(inst); - return Math.max(minimum ?? Number.NEGATIVE_INFINITY, exclusiveMinimum ?? Number.NEGATIVE_INFINITY); - }, - maxValue: (inst) => { - const { maximum, exclusiveMaximum } = aggregateChecks(inst); - return Math.min(maximum ?? Number.POSITIVE_INFINITY, exclusiveMaximum ?? Number.POSITIVE_INFINITY); - }, - isInt: (inst) => { - const { isInt, multipleOf } = aggregateChecks(inst); - return !!isInt || !!multipleOf?.some(Number.isSafeInteger); - }, - format: (inst) => aggregateChecks(inst).format ?? null - }, { - gt(value, params) { - return this.check(_gt(value, params)); - }, - gte(value, params) { - return this.check(_gte(value, params)); - }, - min(value, params) { - return this.check(_gte(value, params)); - }, - lt(value, params) { - return this.check(_lt(value, params)); - }, - lte(value, params) { - return this.check(_lte(value, params)); - }, - max(value, params) { - return this.check(_lte(value, params)); - }, - int(params) { - return this.check(int(params)); - }, - safe(params) { - return this.check(int(params)); - }, - positive(params) { - return this.check(_gt(0, params)); - }, - nonnegative(params) { - return this.check(_gte(0, params)); - }, - negative(params) { - return this.check(_lt(0, params)); - }, - nonpositive(params) { - return this.check(_lte(0, params)); - }, - multipleOf(value, params) { - return this.check(_multipleOf(value, params)); - }, - step(value, params) { - return this.check(_multipleOf(value, params)); +var defaultProcessor = (schema, ctx, json, params) => { + const def = schema._zod.def; + processSchema(def.innerType, ctx, params); + const seen2 = ctx.seen.get(schema); + seen2.ref = def.innerType; + const value = serializeDefaultValue(def.defaultValue, schema, ctx, json, params); + if (value !== UNREPRESENTABLE_DEFAULT) + json.default = value; +}; +var prefaultProcessor = (schema, ctx, json, params) => { + const def = schema._zod.def; + processSchema(def.innerType, ctx, params); + const seen2 = ctx.seen.get(schema); + seen2.ref = def.innerType; + if (ctx.io !== "input") + return; + const value = serializeDefaultValue(def.defaultValue, schema, ctx, json, params); + if (value !== UNREPRESENTABLE_DEFAULT) + json._prefault = value; +}; +var catchProcessor = (schema, ctx, json, params) => { + const def = schema._zod.def; + processSchema(def.innerType, ctx, params); + const seen2 = ctx.seen.get(schema); + seen2.ref = def.innerType; + let catchValue; + try { + catchValue = def.catchValue(void 0); + } catch { + handleUnrepresentable(schema, ctx, json, params, "Dynamic catch values are not supported in JSON Schema"); + return; + } + json.default = catchValue; +}; +var pipeProcessor = (schema, ctx, _json, params) => { + const def = schema._zod.def; + const inIsTransform = def.in._zod.traits.has("$ZodTransform"); + const innerType = ctx.io === "input" ? inIsTransform ? def.out : def.in : def.out; + processSchema(innerType, ctx, params); + const seen2 = ctx.seen.get(schema); + seen2.ref = innerType; +}; +var readonlyProcessor = (schema, ctx, json, params) => { + const def = schema._zod.def; + processSchema(def.innerType, ctx, params); + const seen2 = ctx.seen.get(schema); + seen2.ref = def.innerType; + json.readOnly = true; +}; +var optionalProcessor = (schema, ctx, _json, params) => { + const def = schema._zod.def; + processSchema(def.innerType, ctx, params); + const seen2 = ctx.seen.get(schema); + seen2.ref = def.innerType; +}; +var lazyProcessor = (schema, ctx, _json, params) => { + const innerType = schema._zod.innerType; + processSchema(innerType, ctx, params); + const seen2 = ctx.seen.get(schema); + seen2.ref = innerType; +}; + +// ../../../node_modules/zod/v4/classic/errors.js +var _installedErrorProtos = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]); +function _lazyMethod(proto, key, make) { + Object.defineProperty(proto, key, { + configurable: true, + enumerable: false, + get() { + const value = make(this); + Object.defineProperty(this, key, { value, configurable: true, writable: true }); + return value; }, - finite() { - return this; + set(value) { + Object.defineProperty(this, key, { value, configurable: true, writable: true }); } - }) -); -function number2(params) { - return _number(ZodNumber, params); + }); } -var ZodNumberFormat = /* @__PURE__ */ $constructor("ZodNumberFormat", (inst, def) => { - $ZodNumberFormat.init(inst, def); - ZodNumber.init(inst, def); +var initializer2 = (inst, issues) => { + $ZodError.init(inst, issues); + inst.name = "ZodError"; + const proto = Object.getPrototypeOf(inst); + if (_installedErrorProtos.has(proto)) + return; + _installedErrorProtos.add(proto); + _lazyMethod(proto, "format", (self) => (mapper) => formatError(self, mapper)); + _lazyMethod(proto, "flatten", (self) => (mapper) => flattenError(self, mapper)); + _lazyMethod(proto, "addIssue", (self) => (issue2) => { + self.issues.push(issue2); + self.message = JSON.stringify(self.issues, jsonStringifyReplacer, 2); + }); + _lazyMethod(proto, "addIssues", (self) => (issues2) => { + self.issues.push(...issues2); + self.message = JSON.stringify(self.issues, jsonStringifyReplacer, 2); + }); + Object.defineProperty(proto, "isEmpty", { + configurable: true, + enumerable: false, + get() { + return this.issues.length === 0; + } + }); +}; +var ZodRealError = /* @__PURE__ */ $constructor("ZodError", initializer2, void 0, { + Parent: Error }); -function int(params) { - return _int(ZodNumberFormat, params); -} -function float32(params) { - return _float32(ZodNumberFormat, params); -} -function float64(params) { - return _float64(ZodNumberFormat, params); -} -function int32(params) { - return _int32(ZodNumberFormat, params); + +// ../../../node_modules/zod/v4/classic/parse.js +var parse2 = /* @__PURE__ */ _parse(ZodRealError); +var parseAsync = /* @__PURE__ */ _parseAsync(ZodRealError); +var safeParse = /* @__PURE__ */ _safeParse(ZodRealError); +var safeParseAsync = /* @__PURE__ */ _safeParseAsync(ZodRealError); +var encode = /* @__PURE__ */ _encode(ZodRealError); +var decode = /* @__PURE__ */ _decode(ZodRealError); +var encodeAsync = /* @__PURE__ */ _encodeAsync(ZodRealError); +var decodeAsync = /* @__PURE__ */ _decodeAsync(ZodRealError); +var safeEncode = /* @__PURE__ */ _safeEncode(ZodRealError); +var safeDecode = /* @__PURE__ */ _safeDecode(ZodRealError); +var safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync(ZodRealError); +var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync(ZodRealError); + +// ../../../node_modules/zod/v4/classic/schemas.js +function _ensureDefaultLocale() { + if (!globalConfig.localeError) + config(en_default()); } -function uint32(params) { - return _uint32(ZodNumberFormat, params); +function _ensureDefaultMemoizer() { + if (!globalConfig.memoizer) + config({ memoizer: memoizer() }); } -var ZodBoolean = /* @__PURE__ */ $constructor("ZodBoolean", (inst, def) => { - $ZodBoolean.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => booleanProcessor(inst, ctx, json2, params); +var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => { + _ensureDefaultLocale(); + $ZodType.init(inst, def); + inst.def = def; + inst.type = def.type; + return inst; +}, { + check(...chks) { + const def = this.def; + return this.clone(util_exports.mergeDefs(def, { + checks: [ + ...def.checks ?? [], + ...chks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch) + ] + }), { parent: true }); + }, + with(...chks) { + return this.check(...chks); + }, + clone(def, params) { + return clone(this, def, params); + }, + brand() { + return this; + }, + register(reg, meta2) { + reg.add(this, meta2); + return this; + }, + refine(check2, params) { + return this.check(refine(check2, params)); + }, + superRefine(refinement, params) { + return this.check(superRefine(refinement, params)); + }, + overwrite(fn) { + return this.check(_overwrite(fn)); + }, + optional() { + return optional(this); + }, + exactOptional() { + return exactOptional(this); + }, + nullable() { + return nullable(this); + }, + nullish() { + return optional(nullable(this)); + }, + nonoptional(params) { + return nonoptional(this, params); + }, + array() { + return array(this); + }, + or(arg) { + return union([this, arg]); + }, + and(arg) { + return intersection(this, arg); + }, + transform(tx) { + return pipe(this, transform(tx)); + }, + default(d) { + return _default(this, d); + }, + prefault(d) { + return prefault(this, d); + }, + catch(params) { + return _catch(this, params); + }, + pipe(target) { + return pipe(this, target); + }, + readonly() { + return readonly(this); + }, + describe(description) { + const cl = this.clone(); + globalRegistry.add(cl, { description }); + return cl; + }, + meta(...args) { + if (args.length === 0) + return globalRegistry.get(this); + const cl = this.clone(); + globalRegistry.add(cl, args[0]); + return cl; + }, + isOptional() { + return this.safeParse(void 0).success; + }, + isNullable() { + return this.safeParse(null).success; + }, + apply(fn, ...args) { + return args.length === 0 ? fn(this) : fn(this, ...args); + }, + // Overrides core's `~standard` to add `jsonSchema`. Must stay a prototype entry: redefining it per instance demotes instances to dictionary mode. + get "~standard"() { + return util_exports.hide(this, "~standard", { + ...standardProps(this), + jsonSchema: { + input: createStandardJSONSchemaMethod(this, "input"), + output: createStandardJSONSchemaMethod(this, "output") + } + }); + }, + set "~standard"(value) { + util_exports.own(this, "~standard", value); + }, + parse: function _parse2(data, params) { + return parse2(this, data, params, { callee: _parse2 }); + }, + parseAsync: async function _parseAsync2(data, params) { + return await parseAsync(this, data, params, { callee: _parseAsync2 }); + }, + safeParse(data, params) { + return safeParse(this, data, params); + }, + async safeParseAsync(data, params) { + return safeParseAsync(this, data, params); + }, + // `spa` is an alias: same function object as `safeParseAsync`, as before. + get spa() { + return this?.safeParseAsync; + }, + set spa(value) { + util_exports.own(this, "spa", value); + }, + validate(data, params) { + return validate(this, data, params); + }, + validateAsync(data, params) { + return validateAsync(this, data, params); + }, + encode: function _encode2(data, params) { + return encode(this, data, params, { callee: _encode2 }); + }, + decode: function _decode2(data, params) { + return decode(this, data, params, { callee: _decode2 }); + }, + encodeAsync: async function _encodeAsync2(data, params) { + return await encodeAsync(this, data, params, { callee: _encodeAsync2 }); + }, + decodeAsync: async function _decodeAsync2(data, params) { + return await decodeAsync(this, data, params, { callee: _decodeAsync2 }); + }, + safeEncode(data, params) { + return safeEncode(this, data, params); + }, + safeDecode(data, params) { + return safeDecode(this, data, params); + }, + async safeEncodeAsync(data, params) { + return safeEncodeAsync(this, data, params); + }, + async safeDecodeAsync(data, params) { + return safeDecodeAsync(this, data, params); + }, + toJSONSchema(params) { + return createToJSONSchemaMethod(this, {})(params); + }, + // Reads through to the registry on every access, so it must not cache. + get description() { + return globalRegistry.get(this)?.description; + }, + // No setter: `schema._def = x` throws, as it did when `_def` was a non-writable own property. + get _def() { + return this._zod.def; + } }); -function boolean2(params) { - return _boolean(ZodBoolean, params); -} -var ZodBigInt = /* @__PURE__ */ $constructor( - "ZodBigInt", +var _ZodString = /* @__PURE__ */ $constructor( + "_ZodString", (inst, def) => { - $ZodBigInt.init(inst, def); + $ZodString.init(inst, def); ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => bigintProcessor(inst, ctx, json2, params); + inst._zod.processJSONSchema = (ctx, json, params) => stringProcessor(inst, ctx, json, params); }, /* @__PURE__ */ util_exports.derived({ - minValue: (inst) => aggregateChecks(inst).minimum ?? null, - maxValue: (inst) => aggregateChecks(inst).maximum ?? null, - format: (inst) => aggregateChecks(inst).format ?? null + format: (inst) => aggregateChecks(inst).format ?? null, + minLength: (inst) => aggregateChecks(inst).minimum ?? null, + maxLength: (inst) => aggregateChecks(inst).maximum ?? null }, { - gte(value, params) { - return this.check(_gte(value, params)); + regex(...args) { + return this.check(_regex(...args)); }, - min(value, params) { - return this.check(_gte(value, params)); + includes(...args) { + return this.check(_includes(...args)); }, - gt(value, params) { - return this.check(_gt(value, params)); + startsWith(...args) { + return this.check(_startsWith(...args)); }, - lt(value, params) { - return this.check(_lt(value, params)); + endsWith(...args) { + return this.check(_endsWith(...args)); }, - lte(value, params) { - return this.check(_lte(value, params)); + min(...args) { + return this.check(_minLength(...args)); }, - max(value, params) { - return this.check(_lte(value, params)); + max(...args) { + return this.check(_maxLength(...args)); }, - positive(params) { - return this.check(_gt(BigInt(0), params)); + length(...args) { + return this.check(_length(...args)); }, - negative(params) { - return this.check(_lt(BigInt(0), params)); + nonempty(...args) { + return this.check(_minLength(1, ...args)); }, - nonpositive(params) { - return this.check(_lte(BigInt(0), params)); + lowercase(params) { + return this.check(_lowercase(params)); }, - nonnegative(params) { - return this.check(_gte(BigInt(0), params)); + uppercase(params) { + return this.check(_uppercase(params)); }, - multipleOf(value, params) { - return this.check(_multipleOf(value, params)); - } - }) -); -function bigint2(params) { - return _bigint(ZodBigInt, params); -} -var ZodBigIntFormat = /* @__PURE__ */ $constructor("ZodBigIntFormat", (inst, def) => { - $ZodBigIntFormat.init(inst, def); - ZodBigInt.init(inst, def); -}); -function int64(params) { - return _int64(ZodBigIntFormat, params); -} -function uint64(params) { - return _uint64(ZodBigIntFormat, params); -} -var ZodSymbol = /* @__PURE__ */ $constructor("ZodSymbol", (inst, def) => { - $ZodSymbol.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => symbolProcessor(inst, ctx, json2, params); -}); -function symbol(params) { - return _symbol(ZodSymbol, params); -} -var ZodUndefined = /* @__PURE__ */ $constructor("ZodUndefined", (inst, def) => { - $ZodUndefined.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => undefinedProcessor(inst, ctx, json2, params); -}); -function _undefined3(params) { - return _undefined2(ZodUndefined, params); -} -var ZodNull = /* @__PURE__ */ $constructor("ZodNull", (inst, def) => { - $ZodNull.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => nullProcessor(inst, ctx, json2, params); -}); -function _null3(params) { - return _null2(ZodNull, params); -} -var ZodAny = /* @__PURE__ */ $constructor("ZodAny", (inst, def) => { - $ZodAny.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => anyProcessor(inst, ctx, json2, params); -}); -function any() { - return _any(ZodAny); -} -var ZodUnknown = /* @__PURE__ */ $constructor("ZodUnknown", (inst, def) => { - $ZodUnknown.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => unknownProcessor(inst, ctx, json2, params); -}); -function unknown() { - return _unknown(ZodUnknown); -} -var ZodNever = /* @__PURE__ */ $constructor("ZodNever", (inst, def) => { - $ZodNever.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => neverProcessor(inst, ctx, json2, params); -}); -function never(params) { - return _never(ZodNever, params); -} -var ZodVoid = /* @__PURE__ */ $constructor("ZodVoid", (inst, def) => { - $ZodVoid.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => voidProcessor(inst, ctx, json2, params); -}); -function _void2(params) { - return _void(ZodVoid, params); -} -var ZodDate = /* @__PURE__ */ $constructor( - "ZodDate", - (inst, def) => { - $ZodDate.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => dateProcessor(inst, ctx, json2, params); - inst.min = (value, params) => inst.check(_gte(value, params)); - inst.max = (value, params) => inst.check(_lte(value, params)); - }, - /* @__PURE__ */ util_exports.derived({ - minDate: (inst) => { - const { minimum } = aggregateChecks(inst); - return minimum ? new Date(minimum) : null; + trim() { + return this.check(_trim()); + }, + normalize(...args) { + return this.check(_normalize(...args)); + }, + toLowerCase() { + return this.check(_toLowerCase()); }, - maxDate: (inst) => { - const { maximum } = aggregateChecks(inst); - return maximum ? new Date(maximum) : null; + toUpperCase() { + return this.check(_toUpperCase()); + }, + slugify() { + return this.check(_slugify()); } - }, {}) + }) ); -function date2(params) { - return _date(ZodDate, params); -} -var ZodArray = /* @__PURE__ */ $constructor("ZodArray", (inst, def) => { - _ensureDefaultMemoizer(); - $ZodArray.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => arrayProcessor(inst, ctx, json2, params); - inst.element = def.element; +var ZodString = /* @__PURE__ */ $constructor("ZodString", (inst, def) => { + $ZodString.init(inst, def); + _ZodString.init(inst, def); }, { - min(n, params) { - return this.check(_minLength(n, params)); + email(params) { + return this.check(_email(ZodEmail, params)); }, - nonempty(params) { - return this.check(_minLength(1, params)); + url(params) { + return this.check(_url(ZodURL, params)); }, - max(n, params) { - return this.check(_maxLength(n, params)); + jwt(params) { + return this.check(_jwt(ZodJWT, params)); }, - length(n, params) { - return this.check(_length(n, params)); + emoji(params) { + return this.check(_emoji2(ZodEmoji, params)); }, - unwrap() { - return this.element; - } -}); -function array(element, params) { - return _array(ZodArray, element, params); -} -function keyof(schema) { - const shape = schema._zod.def.shape; - return _enum2(Object.keys(shape)); -} -var ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => { - _ensureDefaultMemoizer(); - $ZodObjectJIT.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => objectProcessor(inst, ctx, json2, params); - util_exports.installLazyProp(inst, "shape", (self) => self._zod.def.shape, false); -}, { - keyof() { - return _enum2(Object.keys(this._zod.def.shape)); + guid(params) { + return this.check(_guid(ZodGUID, params)); }, - catchall(catchall) { - return this.clone(util_exports.mergeDefs(this._zod.def, { catchall })); + uuid(params) { + return this.check(_uuid(ZodUUID, params)); }, - passthrough() { - return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: unknown() })); + uuidv4(params) { + return this.check(_uuidv4(ZodUUID, params)); }, - loose() { - return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: unknown() })); + uuidv6(params) { + return this.check(_uuidv6(ZodUUID, params)); }, - strict() { - return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: never() })); + uuidv7(params) { + return this.check(_uuidv7(ZodUUID, params)); }, - strip() { - return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: void 0 })); + nanoid(params) { + return this.check(_nanoid(ZodNanoID, params)); }, - extend(incoming) { - return util_exports.extend(this, incoming); + cuid(params) { + return this.check(_cuid(ZodCUID, params)); }, - safeExtend(incoming) { - return util_exports.safeExtend(this, incoming); + cuid2(params) { + return this.check(_cuid2(ZodCUID2, params)); }, - merge(other) { - return util_exports.merge(this, other); + ulid(params) { + return this.check(_ulid(ZodULID, params)); }, - pick(mask) { - return util_exports.pick(this, mask); + base64(params) { + return this.check(_base64(ZodBase64, params)); }, - omit(mask) { - return util_exports.omit(this, mask); + base64url(params) { + return this.check(_base64url(ZodBase64URL, params)); }, - partial(...args) { - return util_exports.partial(ZodOptional, this, args[0]); + xid(params) { + return this.check(_xid(ZodXID, params)); }, - exactPartial(...args) { - return util_exports.partial(ZodExactOptional, this, args[0], "exactPartial"); + ksuid(params) { + return this.check(_ksuid(ZodKSUID, params)); }, - required(...args) { - return util_exports.required(ZodNonOptional, this, args[0]); + ipv4(params) { + return this.check(_ipv4(ZodIPv4, params)); + }, + ipv6(params) { + return this.check(_ipv6(ZodIPv6, params)); + }, + cidrv4(params) { + return this.check(_cidrv4(ZodCIDRv4, params)); + }, + cidrv6(params) { + return this.check(_cidrv6(ZodCIDRv6, params)); + }, + e164(params) { + return this.check(_e164(ZodE164, params)); + }, + datetime(params) { + return this.check(_isoDateTime(ZodISODateTime, params)); + }, + date(params) { + return this.check(_isoDate(ZodISODate, params)); + }, + time(params) { + return this.check(_isoTime(ZodISOTime, params)); + }, + duration(params) { + return this.check(_isoDuration(ZodISODuration, params)); } }); -function object(shape, params) { - const def = { - type: "object", - shape: shape ?? {}, - ...util_exports.normalizeParams(params) - }; - return new ZodObject(def); -} -function strictObject(shape, params) { - return new ZodObject({ - type: "object", - shape, - catchall: never(), - ...util_exports.normalizeParams(params) - }); -} -function looseObject(shape, params) { - return new ZodObject({ - type: "object", - shape, - catchall: unknown(), - ...util_exports.normalizeParams(params) - }); +function string2(params) { + return _string(ZodString, params); } -var ZodUnion = /* @__PURE__ */ $constructor("ZodUnion", (inst, def) => { - $ZodUnion.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => unionProcessor(inst, ctx, json2, params); - inst.options = def.options; +var ZodStringFormat = /* @__PURE__ */ $constructor("ZodStringFormat", (inst, def) => { + $ZodStringFormat.init(inst, def); + _ZodString.init(inst, def); +}); +var ZodISODateTime = /* @__PURE__ */ $constructor("ZodISODateTime", (inst, def) => { + $ZodISODateTime.init(inst, def); + ZodStringFormat.init(inst, def); +}); +var ZodISODate = /* @__PURE__ */ $constructor("ZodISODate", (inst, def) => { + $ZodISODate.init(inst, def); + ZodStringFormat.init(inst, def); +}); +var ZodISOTime = /* @__PURE__ */ $constructor("ZodISOTime", (inst, def) => { + $ZodISOTime.init(inst, def); + ZodStringFormat.init(inst, def); +}); +var ZodISODuration = /* @__PURE__ */ $constructor("ZodISODuration", (inst, def) => { + $ZodISODuration.init(inst, def); + ZodStringFormat.init(inst, def); +}); +var ZodEmail = /* @__PURE__ */ $constructor("ZodEmail", (inst, def) => { + $ZodEmail.init(inst, def); + ZodStringFormat.init(inst, def); }); -function union(options, params) { - return new ZodUnion({ - type: "union", - options, - ...util_exports.normalizeParams(params) - }); -} -var ZodXor = /* @__PURE__ */ $constructor("ZodXor", (inst, def) => { - ZodUnion.init(inst, def); - $ZodXor.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => unionProcessor(inst, ctx, json2, params); - inst.options = def.options; +var ZodGUID = /* @__PURE__ */ $constructor("ZodGUID", (inst, def) => { + $ZodGUID.init(inst, def); + ZodStringFormat.init(inst, def); }); -function xor(options, params) { - return new ZodXor({ - type: "union", - options, - inclusive: false, - ...util_exports.normalizeParams(params) - }); -} -var ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("ZodDiscriminatedUnion", (inst, def) => { - ZodUnion.init(inst, def); - $ZodDiscriminatedUnion.init(inst, def); +var ZodUUID = /* @__PURE__ */ $constructor("ZodUUID", (inst, def) => { + $ZodUUID.init(inst, def); + ZodStringFormat.init(inst, def); }); -function discriminatedUnion(discriminator, options, params) { - return new ZodDiscriminatedUnion({ - type: "union", - options, - discriminator, - ...util_exports.normalizeParams(params) - }); -} -var ZodIntersection = /* @__PURE__ */ $constructor("ZodIntersection", (inst, def) => { - $ZodIntersection.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => intersectionProcessor(inst, ctx, json2, params); +var ZodURL = /* @__PURE__ */ $constructor("ZodURL", (inst, def) => { + $ZodURL.init(inst, def); + ZodStringFormat.init(inst, def); }); -function intersection(left, right) { - return new ZodIntersection({ - type: "intersection", - left, - right - }); -} -var ZodTuple = /* @__PURE__ */ $constructor("ZodTuple", (inst, def) => { - _ensureDefaultMemoizer(); - $ZodTuple.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => tupleProcessor(inst, ctx, json2, params); -}, { - rest(rest) { - return this.clone({ - ...this._zod.def, - rest - }); - }, - partial() { - const def = this._zod.def; - if (def.checks?.length) - throw new Error(".partial() cannot be used on tuple schemas containing refinements"); - return this.clone({ - ...def, - items: def.items.map((item) => new ZodOptional({ type: "optional", innerType: item })) - }); - } +var ZodEmoji = /* @__PURE__ */ $constructor("ZodEmoji", (inst, def) => { + $ZodEmoji.init(inst, def); + ZodStringFormat.init(inst, def); }); -function tuple(items, _paramsOrRest, _params) { - const hasRest = _paramsOrRest instanceof $ZodType; - const params = hasRest ? _params : _paramsOrRest; - const rest = hasRest ? _paramsOrRest : null; - return new ZodTuple({ - type: "tuple", - items, - rest, - ...util_exports.normalizeParams(params) - }); -} -var ZodRecord = /* @__PURE__ */ $constructor("ZodRecord", (inst, def) => { - _ensureDefaultMemoizer(); - $ZodRecord.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => recordProcessor(inst, ctx, json2, params); - inst.keyType = def.keyType; - inst.valueType = def.valueType; +var ZodNanoID = /* @__PURE__ */ $constructor("ZodNanoID", (inst, def) => { + $ZodNanoID.init(inst, def); + ZodStringFormat.init(inst, def); }); -function record(keyType, valueType, params) { - if (!valueType || !valueType._zod) { - return new ZodRecord({ - type: "record", - keyType: string2(), - valueType: keyType, - ...util_exports.normalizeParams(valueType) - }); - } - return new ZodRecord({ - type: "record", - keyType, - valueType, - ...util_exports.normalizeParams(params) - }); -} -function partialRecord(keyType, valueType, params) { - return new ZodRecord({ - type: "record", - keyType, - valueType, - ...util_exports.normalizeParams(params), - partial: true - }); -} -function looseRecord(keyType, valueType, params) { - return new ZodRecord({ - type: "record", - keyType, - valueType, - mode: "loose", - ...util_exports.normalizeParams(params) - }); -} -var ZodMap = /* @__PURE__ */ $constructor("ZodMap", (inst, def) => { - _ensureDefaultMemoizer(); - $ZodMap.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => mapProcessor(inst, ctx, json2, params); - inst.keyType = def.keyType; - inst.valueType = def.valueType; - inst.min = (...args) => inst.check(_minSize(...args)); - inst.nonempty = (params) => inst.check(_minSize(1, params)); - inst.max = (...args) => inst.check(_maxSize(...args)); - inst.size = (...args) => inst.check(_size(...args)); +var ZodCUID = /* @__PURE__ */ $constructor("ZodCUID", (inst, def) => { + $ZodCUID.init(inst, def); + ZodStringFormat.init(inst, def); }); -function map(keyType, valueType, params) { - return new ZodMap({ - type: "map", - keyType, - valueType, - ...util_exports.normalizeParams(params) - }); -} -var ZodSet = /* @__PURE__ */ $constructor("ZodSet", (inst, def) => { - _ensureDefaultMemoizer(); - $ZodSet.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => setProcessor(inst, ctx, json2, params); - inst.min = (...args) => inst.check(_minSize(...args)); - inst.nonempty = (params) => inst.check(_minSize(1, params)); - inst.max = (...args) => inst.check(_maxSize(...args)); - inst.size = (...args) => inst.check(_size(...args)); +var ZodCUID2 = /* @__PURE__ */ $constructor("ZodCUID2", (inst, def) => { + $ZodCUID2.init(inst, def); + ZodStringFormat.init(inst, def); }); -function set(valueType, params) { - return new ZodSet({ - type: "set", - valueType, - ...util_exports.normalizeParams(params) - }); -} -var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => { - $ZodEnum.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => enumProcessor(inst, ctx, json2, params); - inst.enum = def.entries; - inst.options = [...inst._zod.values]; - const keys = new Set(Object.keys(def.entries)); - inst.extract = (values, params) => { - const newEntries = {}; - for (const value of values) { - if (keys.has(value)) { - newEntries[value] = def.entries[value]; - } else - throw new Error(`Key ${value} not found in enum`); - } - return new ZodEnum({ - ...def, - checks: [], - ...util_exports.normalizeParams(params), - entries: newEntries - }); - }; - inst.exclude = (values, params) => { - const newEntries = { ...def.entries }; - for (const value of values) { - if (keys.has(value)) { - delete newEntries[value]; - } else - throw new Error(`Key ${value} not found in enum`); - } - return new ZodEnum({ - ...def, - checks: [], - ...util_exports.normalizeParams(params), - entries: newEntries - }); - }; +var ZodULID = /* @__PURE__ */ $constructor("ZodULID", (inst, def) => { + $ZodULID.init(inst, def); + ZodStringFormat.init(inst, def); }); -function _enum2(values, params) { - const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values; - return new ZodEnum({ - type: "enum", - entries, - ...util_exports.normalizeParams(params) - }); -} -function nativeEnum(entries, params) { - return new ZodEnum({ - type: "enum", - entries, - ...util_exports.normalizeParams(params) - }); -} -var ZodLiteral = /* @__PURE__ */ $constructor("ZodLiteral", (inst, def) => { - $ZodLiteral.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => literalProcessor(inst, ctx, json2, params); - inst.values = new Set(def.values); - Object.defineProperty(inst, "value", { - get() { - if (def.values.length > 1) { - throw new Error("This schema contains multiple valid literal values. Use `.values` instead."); - } - return def.values[0]; - } - }); +var ZodXID = /* @__PURE__ */ $constructor("ZodXID", (inst, def) => { + $ZodXID.init(inst, def); + ZodStringFormat.init(inst, def); }); -function literal(value, params) { - return new ZodLiteral({ - type: "literal", - values: Array.isArray(value) ? value : [value], - ...util_exports.normalizeParams(params) - }); -} -var ZodFile = /* @__PURE__ */ $constructor("ZodFile", (inst, def) => { - $ZodFile.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => fileProcessor(inst, ctx, json2, params); - inst.min = (size, params) => inst.check(_minSize(size, params)); - inst.max = (size, params) => inst.check(_maxSize(size, params)); - inst.mime = (types, params) => inst.check(_mime(Array.isArray(types) ? types : [types], params)); +var ZodKSUID = /* @__PURE__ */ $constructor("ZodKSUID", (inst, def) => { + $ZodKSUID.init(inst, def); + ZodStringFormat.init(inst, def); }); -function file(params) { - return _file(ZodFile, params); -} -var ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => { - _ensureDefaultMemoizer(); - $ZodTransform.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => transformProcessor(inst, ctx, json2, params); - inst._zod.parse = (payload, _ctx) => { - if (_ctx.direction === "backward") { - throw new $ZodEncodeError(inst.constructor.name); - } - payload.addIssue = (issue2) => { - if (typeof issue2 === "string") { - payload.issues.push(util_exports.issue(issue2, payload.value, def)); - } else { - const _issue = issue2; - if (_issue.fatal) - _issue.continue = false; - _issue.code ?? (_issue.code = "custom"); - if (!("input" in _issue)) - _issue.input = payload.value; - _issue.inst ?? (_issue.inst = inst); - payload.issues.push(util_exports.issue(_issue)); - } - }; - const output2 = def.transform(payload.value, payload); - if (output2 instanceof Promise) { - return output2.then((output3) => { - payload.value = output3; - return payload; - }); - } - payload.value = output2; - return payload; - }; +var ZodIPv4 = /* @__PURE__ */ $constructor("ZodIPv4", (inst, def) => { + $ZodIPv4.init(inst, def); + ZodStringFormat.init(inst, def); }); -function transform(fn) { - return new ZodTransform({ - type: "transform", - transform: fn - }); -} -var ZodOptional = /* @__PURE__ */ $constructor("ZodOptional", (inst, def) => { - $ZodOptional.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => optionalProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; +var ZodIPv6 = /* @__PURE__ */ $constructor("ZodIPv6", (inst, def) => { + $ZodIPv6.init(inst, def); + ZodStringFormat.init(inst, def); }); -function optional(innerType) { - return new ZodOptional({ - type: "optional", - innerType - }); -} -var ZodExactOptional = /* @__PURE__ */ $constructor("ZodExactOptional", (inst, def) => { - $ZodExactOptional.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => optionalProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; +var ZodCIDRv4 = /* @__PURE__ */ $constructor("ZodCIDRv4", (inst, def) => { + $ZodCIDRv4.init(inst, def); + ZodStringFormat.init(inst, def); }); -function exactOptional(innerType) { - return new ZodExactOptional({ - type: "optional", - innerType - }); -} -var ZodNullable = /* @__PURE__ */ $constructor("ZodNullable", (inst, def) => { - $ZodNullable.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => nullableProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; +var ZodCIDRv6 = /* @__PURE__ */ $constructor("ZodCIDRv6", (inst, def) => { + $ZodCIDRv6.init(inst, def); + ZodStringFormat.init(inst, def); }); -function nullable(innerType) { - return new ZodNullable({ - type: "nullable", - innerType - }); -} -function nullish2(innerType) { - return optional(nullable(innerType)); -} -var ZodDefault = /* @__PURE__ */ $constructor("ZodDefault", (inst, def) => { - $ZodDefault.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => defaultProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; - inst.removeDefault = inst.unwrap; +var ZodBase64 = /* @__PURE__ */ $constructor("ZodBase64", (inst, def) => { + $ZodBase64.init(inst, def); + ZodStringFormat.init(inst, def); }); -function _default2(innerType, defaultValue) { - return new ZodDefault({ - type: "default", - innerType, - get defaultValue() { - return typeof defaultValue === "function" ? defaultValue() : util_exports.shallowClone(defaultValue); - } - }); -} -var ZodPrefault = /* @__PURE__ */ $constructor("ZodPrefault", (inst, def) => { - $ZodPrefault.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => prefaultProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; +var ZodBase64URL = /* @__PURE__ */ $constructor("ZodBase64URL", (inst, def) => { + $ZodBase64URL.init(inst, def); + ZodStringFormat.init(inst, def); }); -function prefault(innerType, defaultValue) { - return new ZodPrefault({ - type: "prefault", - innerType, - get defaultValue() { - return typeof defaultValue === "function" ? defaultValue() : util_exports.shallowClone(defaultValue); - } - }); -} -var ZodNonOptional = /* @__PURE__ */ $constructor("ZodNonOptional", (inst, def) => { - $ZodNonOptional.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => nonoptionalProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; +var ZodE164 = /* @__PURE__ */ $constructor("ZodE164", (inst, def) => { + $ZodE164.init(inst, def); + ZodStringFormat.init(inst, def); }); -function nonoptional(innerType, params) { - return new ZodNonOptional({ - type: "nonoptional", - innerType, - ...util_exports.normalizeParams(params) - }); -} -var ZodSuccess = /* @__PURE__ */ $constructor("ZodSuccess", (inst, def) => { - $ZodSuccess.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => successProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; +var ZodJWT = /* @__PURE__ */ $constructor("ZodJWT", (inst, def) => { + $ZodJWT.init(inst, def); + ZodStringFormat.init(inst, def); }); -function success(innerType) { - return new ZodSuccess({ - type: "success", - innerType - }); +var ZodNumber = /* @__PURE__ */ $constructor( + "ZodNumber", + (inst, def) => { + $ZodNumber.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => numberProcessor(inst, ctx, json, params); + inst.isFinite = true; + }, + /* @__PURE__ */ util_exports.derived({ + minValue: (inst) => { + const { minimum, exclusiveMinimum } = aggregateChecks(inst); + return Math.max(minimum ?? Number.NEGATIVE_INFINITY, exclusiveMinimum ?? Number.NEGATIVE_INFINITY); + }, + maxValue: (inst) => { + const { maximum, exclusiveMaximum } = aggregateChecks(inst); + return Math.min(maximum ?? Number.POSITIVE_INFINITY, exclusiveMaximum ?? Number.POSITIVE_INFINITY); + }, + isInt: (inst) => { + const { isInt, multipleOf } = aggregateChecks(inst); + return !!isInt || !!multipleOf?.some(Number.isSafeInteger); + }, + format: (inst) => aggregateChecks(inst).format ?? null + }, { + gt(value, params) { + return this.check(_gt(value, params)); + }, + gte(value, params) { + return this.check(_gte(value, params)); + }, + min(value, params) { + return this.check(_gte(value, params)); + }, + lt(value, params) { + return this.check(_lt(value, params)); + }, + lte(value, params) { + return this.check(_lte(value, params)); + }, + max(value, params) { + return this.check(_lte(value, params)); + }, + int(params) { + return this.check(int(params)); + }, + safe(params) { + return this.check(int(params)); + }, + positive(params) { + return this.check(_gt(0, params)); + }, + nonnegative(params) { + return this.check(_gte(0, params)); + }, + negative(params) { + return this.check(_lt(0, params)); + }, + nonpositive(params) { + return this.check(_lte(0, params)); + }, + multipleOf(value, params) { + return this.check(_multipleOf(value, params)); + }, + step(value, params) { + return this.check(_multipleOf(value, params)); + }, + finite() { + return this; + } + }) +); +function number2(params) { + return _number(ZodNumber, params); } -var ZodCatch = /* @__PURE__ */ $constructor("ZodCatch", (inst, def) => { - $ZodCatch.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => catchProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; - inst.removeCatch = inst.unwrap; +var ZodNumberFormat = /* @__PURE__ */ $constructor("ZodNumberFormat", (inst, def) => { + $ZodNumberFormat.init(inst, def); + ZodNumber.init(inst, def); }); -function _catch2(innerType, catchValue) { - return new ZodCatch({ - type: "catch", - innerType, - catchValue: typeof catchValue === "function" ? catchValue : util_exports.constantCatch(catchValue) - }); +function int(params) { + return _int(ZodNumberFormat, params); } -var ZodNaN = /* @__PURE__ */ $constructor("ZodNaN", (inst, def) => { - $ZodNaN.init(inst, def); +var ZodBoolean = /* @__PURE__ */ $constructor("ZodBoolean", (inst, def) => { + $ZodBoolean.init(inst, def); ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => nanProcessor(inst, ctx, json2, params); + inst._zod.processJSONSchema = (ctx, json, params) => booleanProcessor(inst, ctx, json, params); }); -function nan(params) { - return _nan(ZodNaN, params); +function boolean2(params) { + return _boolean(ZodBoolean, params); } -var ZodPipe = /* @__PURE__ */ $constructor("ZodPipe", (inst, def) => { - $ZodPipe.init(inst, def); +var ZodUnknown = /* @__PURE__ */ $constructor("ZodUnknown", (inst, def) => { + $ZodUnknown.init(inst, def); ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => pipeProcessor(inst, ctx, json2, params); - inst.in = def.in; - inst.out = def.out; + inst._zod.processJSONSchema = (ctx, json, params) => unknownProcessor(inst, ctx, json, params); }); -function pipe(in_, out) { - return new ZodPipe({ - type: "pipe", - in: in_, - out - // ...util.normalizeParams(params), - }); +function unknown() { + return _unknown(ZodUnknown); } -var ZodCodec = /* @__PURE__ */ $constructor("ZodCodec", (inst, def) => { - ZodPipe.init(inst, def); - $ZodCodec.init(inst, def); +var ZodNever = /* @__PURE__ */ $constructor("ZodNever", (inst, def) => { + $ZodNever.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => neverProcessor(inst, ctx, json, params); }); -function codec(in_, out, params) { - return new ZodCodec({ - type: "pipe", - in: in_, - out, - transform: params.decode, - reverseTransform: params.encode - }); -} -function invertCodec(codec2) { - const def = codec2._zod.def; - return new ZodCodec({ - type: "pipe", - in: def.out, - out: def.in, - transform: def.reverseTransform, - reverseTransform: def.transform - }); +function never(params) { + return _never(ZodNever, params); } -var ZodPreprocess = /* @__PURE__ */ $constructor("ZodPreprocess", (inst, def) => { - ZodPipe.init(inst, def); - $ZodPreprocess.init(inst, def); -}); -var ZodReadonly = /* @__PURE__ */ $constructor("ZodReadonly", (inst, def) => { - $ZodReadonly.init(inst, def); +var ZodArray = /* @__PURE__ */ $constructor("ZodArray", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodArray.init(inst, def); ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => readonlyProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; + inst._zod.processJSONSchema = (ctx, json, params) => arrayProcessor(inst, ctx, json, params); + inst.element = def.element; +}, { + min(n, params) { + return this.check(_minLength(n, params)); + }, + nonempty(params) { + return this.check(_minLength(1, params)); + }, + max(n, params) { + return this.check(_maxLength(n, params)); + }, + length(n, params) { + return this.check(_length(n, params)); + }, + unwrap() { + return this.element; + } }); -function readonly(innerType) { - return new ZodReadonly({ - type: "readonly", - innerType - }); +function array(element, params) { + return _array(ZodArray, element, params); } -var ZodTemplateLiteral = /* @__PURE__ */ $constructor("ZodTemplateLiteral", (inst, def) => { - $ZodTemplateLiteral.init(inst, def); +var ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodObjectJIT.init(inst, def); ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => templateLiteralProcessor(inst, ctx, json2, params); + inst._zod.processJSONSchema = (ctx, json, params) => objectProcessor(inst, ctx, json, params); + util_exports.installLazyProp(inst, "shape", (self) => self._zod.def.shape, false); +}, { + keyof() { + return _enum(Object.keys(this._zod.def.shape)); + }, + catchall(catchall) { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall })); + }, + passthrough() { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: unknown() })); + }, + loose() { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: unknown() })); + }, + strict() { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: never() })); + }, + strip() { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: void 0 })); + }, + extend(incoming) { + return util_exports.extend(this, incoming); + }, + safeExtend(incoming) { + return util_exports.safeExtend(this, incoming); + }, + merge(other) { + return util_exports.merge(this, other); + }, + pick(mask) { + return util_exports.pick(this, mask); + }, + omit(mask) { + return util_exports.omit(this, mask); + }, + partial(...args) { + return util_exports.partial(ZodOptional, this, args[0]); + }, + exactPartial(...args) { + return util_exports.partial(ZodExactOptional, this, args[0], "exactPartial"); + }, + required(...args) { + return util_exports.required(ZodNonOptional, this, args[0]); + } }); -function templateLiteral(parts, params) { - return new ZodTemplateLiteral({ - type: "template_literal", - parts, +function object(shape, params) { + const def = { + type: "object", + shape: shape ?? {}, ...util_exports.normalizeParams(params) - }); + }; + return new ZodObject(def); } -var ZodLazy = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => { - $ZodLazy.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => lazyProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.getter(); -}); -function lazy(getter) { - return new ZodLazy({ - type: "lazy", - getter +function strictObject(shape, params) { + return new ZodObject({ + type: "object", + shape, + catchall: never(), + ...util_exports.normalizeParams(params) }); } -var ZodPromise = /* @__PURE__ */ $constructor("ZodPromise", (inst, def) => { - $ZodPromise.init(inst, def); +var ZodUnion = /* @__PURE__ */ $constructor("ZodUnion", (inst, def) => { + $ZodUnion.init(inst, def); ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => promiseProcessor(inst, ctx, json2, params); - inst.unwrap = () => inst._zod.def.innerType; + inst._zod.processJSONSchema = (ctx, json, params) => unionProcessor(inst, ctx, json, params); + inst.options = def.options; }); -function promise(innerType) { - return new ZodPromise({ - type: "promise", - innerType +function union(options, params) { + return new ZodUnion({ + type: "union", + options, + ...util_exports.normalizeParams(params) }); } -var ZodFunction = /* @__PURE__ */ $constructor("ZodFunction", (inst, def) => { - $ZodFunction.init(inst, def); - ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => functionProcessor(inst, ctx, json2, params); +var ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("ZodDiscriminatedUnion", (inst, def) => { + ZodUnion.init(inst, def); + $ZodDiscriminatedUnion.init(inst, def); }); -function _function(params) { - return new ZodFunction({ - type: "function", - input: Array.isArray(params?.input) ? tuple(params?.input) : params?.input ?? array(unknown()), - output: params?.output ?? unknown() +function discriminatedUnion(discriminator, options, params) { + return new ZodDiscriminatedUnion({ + type: "union", + options, + discriminator, + ...util_exports.normalizeParams(params) }); } -var ZodCustom = /* @__PURE__ */ $constructor("ZodCustom", (inst, def) => { - $ZodCustom.init(inst, def); +var ZodIntersection = /* @__PURE__ */ $constructor("ZodIntersection", (inst, def) => { + $ZodIntersection.init(inst, def); ZodType.init(inst, def); - inst._zod.processJSONSchema = (ctx, json2, params) => customProcessor(inst, ctx, json2, params); + inst._zod.processJSONSchema = (ctx, json, params) => intersectionProcessor(inst, ctx, json, params); }); -function check(fn) { - const ch = new $ZodCheck({ - check: "custom" - // ...util.normalizeParams(params), +function intersection(left, right) { + return new ZodIntersection({ + type: "intersection", + left, + right }); - ch._zod.check = fn; - return ch; -} -function custom(fn, _params) { - return _custom(ZodCustom, fn ?? (() => true), _params); } -function refine(fn, _params = {}) { - return _refine(ZodCustom, fn, _params); -} -function superRefine(fn, params) { - return _superRefine(fn, params); -} -var describe2 = describe; -var meta2 = meta; -var ZodInstanceOf = /* @__PURE__ */ $constructor("ZodInstanceOf", (inst, def) => { - ZodCustom.init(inst, def); +var ZodTuple = /* @__PURE__ */ $constructor("ZodTuple", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodTuple.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => tupleProcessor(inst, ctx, json, params); }, { - properties(shape, params) { - return this.check(_properties(shape, params)); + rest(rest) { + return this.clone({ + ...this._zod.def, + rest + }); + }, + partial() { + const def = this._zod.def; + if (def.checks?.length) + throw new Error(".partial() cannot be used on tuple schemas containing refinements"); + return this.clone({ + ...def, + items: def.items.map((item) => new ZodOptional({ type: "optional", innerType: item })) + }); } }); -function _instanceof(cls, params = {}) { - const inst = new ZodInstanceOf({ - type: "custom", - check: "custom", - fn: (data) => data instanceof cls, - abort: true, +function tuple(items, _paramsOrRest, _params) { + const hasRest = _paramsOrRest instanceof $ZodType; + const params = hasRest ? _params : _paramsOrRest; + const rest = hasRest ? _paramsOrRest : null; + return new ZodTuple({ + type: "tuple", + items, + rest, ...util_exports.normalizeParams(params) }); - inst._zod.bag.Class = cls; - inst._zod.check = (payload) => { - if (!(payload.value instanceof cls)) { - payload.issues.push({ - code: "invalid_type", - expected: cls.name, - input: payload.value, - inst, - path: [...inst._zod.def.path ?? []] - }); - } - }; - return inst; -} -var stringbool = (...args) => _stringbool({ - Codec: ZodCodec, - Boolean: ZodBoolean, - String: ZodString -}, ...args); -function json(params) { - const jsonSchema = lazy(() => { - return union([string2(params), number2(), boolean2(), _null3(), array(jsonSchema), record(string2(), jsonSchema)]); - }); - return jsonSchema; -} -function preprocess(fn, schema) { - return new ZodPreprocess({ - type: "pipe", - in: transform(fn), - out: schema - }); -} - -// ../../../node_modules/zod/v4/classic/compat.js -var ZodIssueCode = { - invalid_type: "invalid_type", - too_big: "too_big", - too_small: "too_small", - invalid_format: "invalid_format", - not_multiple_of: "not_multiple_of", - unrecognized_keys: "unrecognized_keys", - invalid_union: "invalid_union", - invalid_key: "invalid_key", - invalid_element: "invalid_element", - invalid_value: "invalid_value", - custom: "custom" -}; -function setErrorMap(map2) { - config({ - customError: map2 - }); -} -function getErrorMap() { - return config().customError; -} -var ZodFirstPartyTypeKind; -/* @__PURE__ */ (function(ZodFirstPartyTypeKind2) { -})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {})); - -// ../../../node_modules/zod/v4/classic/iso.js -var iso_exports = {}; -__export(iso_exports, { - ZodISODate: () => ZodISODate, - ZodISODateTime: () => ZodISODateTime, - ZodISODuration: () => ZodISODuration, - ZodISOTime: () => ZodISOTime, - date: () => date3, - datetime: () => datetime2, - duration: () => duration2, - time: () => time2 -}); -function datetime2(params) { - return _isoDateTime(ZodISODateTime, params); -} -function date3(params) { - return _isoDate(ZodISODate, params); -} -function time2(params) { - return _isoTime(ZodISOTime, params); -} -function duration2(params) { - return _isoDuration(ZodISODuration, params); -} - -// ../../../node_modules/zod/v4/classic/from-json-schema.js -var z = { - ...schemas_exports2, - ...checks_exports2, - iso: iso_exports -}; -var RECOGNIZED_KEYS = /* @__PURE__ */ new Set([ - // Schema identification - "$schema", - "$ref", - "$defs", - "definitions", - // Core schema keywords - "$id", - "id", - "$comment", - "$anchor", - "$vocabulary", - "$dynamicRef", - "$dynamicAnchor", - // Type - "type", - "enum", - "const", - // Composition - "anyOf", - "oneOf", - "allOf", - "not", - // Object - "properties", - "required", - "additionalProperties", - "patternProperties", - "propertyNames", - "minProperties", - "maxProperties", - // Array - "items", - "prefixItems", - "additionalItems", - "minItems", - "maxItems", - "uniqueItems", - "contains", - "minContains", - "maxContains", - // String - "minLength", - "maxLength", - "pattern", - "format", - // Number - "minimum", - "maximum", - "exclusiveMinimum", - "exclusiveMaximum", - "multipleOf", - // Already handled metadata - "description", - "default", - // Content - "contentEncoding", - "contentMediaType", - "contentSchema", - // Unsupported (error-throwing) - "unevaluatedItems", - "unevaluatedProperties", - "if", - "then", - "else", - "dependentSchemas", - "dependentRequired", - // OpenAPI - "nullable", - "readOnly" -]); -function detectVersion(schema, defaultTarget) { - const $schema = schema.$schema; - if ($schema === "https://json-schema.org/draft/2020-12/schema") { - return "draft-2020-12"; - } - if ($schema === "http://json-schema.org/draft-07/schema#") { - return "draft-7"; - } - if ($schema === "http://json-schema.org/draft-04/schema#") { - return "draft-4"; - } - return defaultTarget ?? "draft-2020-12"; -} -function applyMinItems(items, minItems) { - return items.map((item, index) => index < minItems ? item : item.optional()); -} -function decodeJSONPointerSegment(segment) { - return segment.replace(/~1/g, "/").replace(/~0/g, "~"); -} -function resolveRef(ref, ctx) { - if (!ref.startsWith("#")) { - throw new Error("External $ref is not supported, only local refs (#/...) are allowed"); - } - const path = ref.slice(1).split("/").filter(Boolean); - if (path.length === 0) { - return ctx.rootSchema; - } - const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions"; - if (path[0] === defsKey) { - const key = path[1] === void 0 ? void 0 : decodeJSONPointerSegment(path[1]); - if (!key || !ctx.defs[key]) { - throw new Error(`Reference not found: ${ref}`); - } - return ctx.defs[key]; - } - throw new Error(`Reference not found: ${ref}`); -} -function checkObjectGuards(objectSchema, guards) { - const guard = z.transform((value) => value).check((payload) => { - const value = payload.value; - if (typeof value !== "object" || value === null || Array.isArray(value)) - return; - const keys = Object.getOwnPropertyNames(value); - if (guards.minProperties !== void 0 && keys.length < guards.minProperties) { - payload.issues.push({ - origin: "object", - code: "too_small", - minimum: guards.minProperties, - inclusive: true, - message: `Too small: expected object to have >=${guards.minProperties} properties`, - input: value, - inst: objectSchema, - continue: true - }); - } - if (guards.maxProperties !== void 0 && keys.length > guards.maxProperties) { - payload.issues.push({ - origin: "object", - code: "too_big", - maximum: guards.maxProperties, - inclusive: true, - message: `Too big: expected object to have <=${guards.maxProperties} properties`, - input: value, - inst: objectSchema, - continue: true - }); - } - if (guards.keySchema) { - for (const key of keys) { - const result = guards.keySchema.safeParse(key); - if (result.success) - continue; - payload.issues.push({ - code: "invalid_key", - origin: "record", - issues: result.error.issues, - input: key, - path: [key], - continue: true - }); - } - } - }); - return guard.pipe(objectSchema); -} -function canonicalKey(value, seen2) { - if (value === null) - return "z"; - const type = typeof value; - if (type !== "object") { - if (type === "number" && Number.isNaN(value)) - return null; - const raw = String(value); - return `${type[0]}${raw.length}:${raw}`; - } - if (seen2.has(value)) - return null; - seen2.add(value); - try { - if (Array.isArray(value)) { - const parts2 = []; - for (const item of value) { - const key = canonicalKey(item, seen2); - if (key === null) - return null; - parts2.push(key); - } - return `a${parts2.length}:[${parts2.join(",")}]`; - } - const keys = Object.keys(value).sort(); - const parts = []; - for (const k of keys) { - const key = canonicalKey(value[k], seen2); - if (key === null) - return null; - parts.push(`${k.length}:${k}=${key}`); - } - return `o${parts.length}:{${parts.join(",")}}`; - } finally { - seen2.delete(value); - } -} -var SCHEMA_KEYWORDS = /* @__PURE__ */ new Set([ - "items", - "prefixItems", - "additionalItems", - "additionalProperties", - "contains", - "propertyNames", - "not", - "if", - "then", - "else", - "allOf", - "anyOf", - "oneOf", - "unevaluatedItems", - "unevaluatedProperties", - "contentSchema" -]); -var SCHEMA_MAP_KEYWORDS = /* @__PURE__ */ new Set([ - "properties", - "patternProperties", - "dependentSchemas", - "dependencies", - "$defs", - "definitions" -]); -function containsRef(value) { - if (typeof value !== "object" || value === null) - return false; - if (Array.isArray(value)) - return value.some(containsRef); - if (typeof value.$ref === "string") - return true; - return Object.entries(value).some(([key, sub]) => { - if (SCHEMA_KEYWORDS.has(key)) - return containsRef(sub); - if (!SCHEMA_MAP_KEYWORDS.has(key) || typeof sub !== "object" || sub === null) - return false; - return Object.values(sub).some(containsRef); - }); -} -function plural(n) { - return n === 1 ? "element" : "elements"; -} -function checkArrayGuards(arraySchema, guards) { - const guard = z.transform((value) => value).check((payload) => { - const items = payload.value; - if (!Array.isArray(items)) - return; - if (guards.uniqueItems === true) { - const firstSeen = /* @__PURE__ */ new Map(); - for (let i = 0; i < items.length; i++) { - const key = canonicalKey(items[i], /* @__PURE__ */ new Set()); - if (key === null) - continue; - const first = firstSeen.get(key); - if (first === void 0) { - firstSeen.set(key, i); - continue; - } - payload.issues.push({ - code: "custom", - message: `Array items must be unique: element at index ${i} duplicates the one at index ${first}`, - input: items, - path: [i], - continue: true - }); - } - } - if (guards.containsSchema) { - const minContains = guards.minContains ?? 1; - const ceiling = guards.maxContains !== void 0 ? guards.maxContains + 1 : Number.POSITIVE_INFINITY; - let matches = 0; - for (const item of items) { - if (guards.containsSchema.safeParse(item).success && ++matches >= ceiling) - break; - } - if (matches < minContains) { - payload.issues.push({ - code: "custom", - message: `Array must contain at least ${minContains} matching ${plural(minContains)}; found ${matches}`, - input: items, - continue: true - }); - } - if (guards.maxContains !== void 0 && matches > guards.maxContains) { - payload.issues.push({ - code: "custom", - message: `Array must contain at most ${guards.maxContains} matching ${plural(guards.maxContains)}`, - input: items, - continue: true - }); - } - } - }); - return guard.pipe(arraySchema); -} -function getTupleRest(restSchema, ctx) { - if (restSchema === false) { - return void 0; - } - if (restSchema === void 0 || restSchema === true) { - return z.any(); - } - return convertSchema(restSchema, ctx); } -var fullTime = /^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/; -function convertBaseSchema(schema, ctx) { - if (schema.not !== void 0) { - if (typeof schema.not === "object" && Object.keys(schema.not).length === 0) { - return z.never(); - } - throw new Error("not is not supported in Zod (except { not: {} } for never)"); - } - if (schema.unevaluatedItems !== void 0) { - throw new Error("unevaluatedItems is not supported"); - } - if (schema.unevaluatedProperties !== void 0) { - throw new Error("unevaluatedProperties is not supported"); - } - if (schema.if !== void 0 || schema.then !== void 0 || schema.else !== void 0) { - throw new Error("Conditional schemas (if/then/else) are not supported"); - } - if (schema.dependentSchemas !== void 0 || schema.dependentRequired !== void 0) { - throw new Error("dependentSchemas and dependentRequired are not supported"); - } - if (schema.$ref) { - const refPath = schema.$ref; - if (ctx.refs.has(refPath)) { - return ctx.refs.get(refPath); - } - if (ctx.processing.has(refPath)) { - return z.lazy(() => { - if (!ctx.refs.has(refPath)) { - throw new Error(`Circular reference not resolved: ${refPath}`); - } - return ctx.refs.get(refPath); - }); - } - ctx.processing.add(refPath); - const resolved = resolveRef(refPath, ctx); - const zodSchema2 = convertSchema(resolved, ctx); - ctx.refs.set(refPath, zodSchema2); - ctx.processing.delete(refPath); - return zodSchema2; - } - if (schema.enum !== void 0) { - const enumValues = schema.enum; - if (ctx.version === "openapi-3.0" && schema.nullable === true && enumValues.length === 1 && enumValues[0] === null) { - return z.null(); - } - if (enumValues.length === 0) { - return z.never(); - } - if (enumValues.length === 1) { - return z.literal(enumValues[0]); - } - if (enumValues.every((v) => typeof v === "string")) { - return z.enum(enumValues); - } - const literalSchemas = enumValues.map((v) => z.literal(v)); - if (literalSchemas.length < 2) { - return literalSchemas[0]; - } - return z.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]); - } - if (schema.const !== void 0) { - return z.literal(schema.const); - } - const type = schema.type; - if (Array.isArray(type)) { - const typeSchemas = type.map((t) => { - const typeSchema = { ...schema, type: t }; - return convertBaseSchema(typeSchema, ctx); - }); - if (typeSchemas.length === 0) { - return z.never(); - } - if (typeSchemas.length === 1) { - return typeSchemas[0]; - } - return z.union(typeSchemas); - } - if (!type) { - return z.any(); - } - let zodSchema; - switch (type) { - case "string": { - let stringSchema = z.string(); - if (schema.format) { - const format = schema.format; - if (format === "email") { - stringSchema = stringSchema.check(z.email()); - } else if (format === "uri" || format === "uri-reference") { - stringSchema = stringSchema.check(z.url()); - } else if (format === "uuid" || format === "guid") { - stringSchema = stringSchema.check(z.uuid()); - } else if (format === "date-time") { - stringSchema = stringSchema.check(z.iso.datetime({ offset: true })); - } else if (format === "date") { - stringSchema = stringSchema.check(z.iso.date()); - } else if (format === "time") { - stringSchema = stringSchema.check(z.regex(fullTime)); - } else if (format === "duration") { - stringSchema = stringSchema.check(z.iso.duration()); - } else if (format === "hostname") { - stringSchema = stringSchema.check(z.hostname()); - } else if (format === "ipv4") { - stringSchema = stringSchema.check(z.ipv4()); - } else if (format === "ipv6") { - stringSchema = stringSchema.check(z.ipv6()); - } else if (format === "mac") { - stringSchema = stringSchema.check(z.mac()); - } else if (format === "cidr") { - stringSchema = stringSchema.check(z.cidrv4()); - } else if (format === "cidr-v6") { - stringSchema = stringSchema.check(z.cidrv6()); - } else if (format === "base64") { - stringSchema = stringSchema.check(z.base64()); - } else if (format === "base64url") { - stringSchema = stringSchema.check(z.base64url()); - } else if (format === "e164") { - stringSchema = stringSchema.check(z.e164()); - } else if (format === "credit_card") { - stringSchema = stringSchema.check(z.creditCard()); - } else if (format === "iban") { - stringSchema = stringSchema.check(z.iban()); - } else if (format === "jwt") { - stringSchema = stringSchema.check(z.jwt()); - } else if (format === "emoji") { - stringSchema = stringSchema.check(z.emoji()); - } else if (format === "nanoid") { - stringSchema = stringSchema.check(z.nanoid()); - } else if (format === "cuid") { - stringSchema = stringSchema.check(z.cuid()); - } else if (format === "cuid2") { - stringSchema = stringSchema.check(z.cuid2()); - } else if (format === "ulid") { - stringSchema = stringSchema.check(z.ulid()); - } else if (format === "xid") { - stringSchema = stringSchema.check(z.xid()); - } else if (format === "ksuid") { - stringSchema = stringSchema.check(z.ksuid()); - } - } - if (typeof schema.minLength === "number") { - stringSchema = stringSchema.min(schema.minLength); - } - if (typeof schema.maxLength === "number") { - stringSchema = stringSchema.max(schema.maxLength); - } - if (schema.pattern) { - stringSchema = stringSchema.regex(new RegExp(schema.pattern)); - } - zodSchema = stringSchema; - break; - } - case "number": - case "integer": { - let numberSchema = type === "integer" ? z.number().int() : z.number(); - if (typeof schema.minimum === "number" && schema.exclusiveMinimum !== true) { - numberSchema = numberSchema.min(schema.minimum); - } - if (typeof schema.maximum === "number" && schema.exclusiveMaximum !== true) { - numberSchema = numberSchema.max(schema.maximum); - } - if (typeof schema.exclusiveMinimum === "number") { - numberSchema = numberSchema.gt(schema.exclusiveMinimum); - } else if (schema.exclusiveMinimum === true && typeof schema.minimum === "number") { - numberSchema = numberSchema.gt(schema.minimum); - } - if (typeof schema.exclusiveMaximum === "number") { - numberSchema = numberSchema.lt(schema.exclusiveMaximum); - } else if (schema.exclusiveMaximum === true && typeof schema.maximum === "number") { - numberSchema = numberSchema.lt(schema.maximum); - } - if (typeof schema.multipleOf === "number") { - numberSchema = numberSchema.multipleOf(schema.multipleOf); - } - zodSchema = numberSchema; - break; - } - case "boolean": { - zodSchema = z.boolean(); - break; - } - case "null": { - zodSchema = z.null(); - break; - } - case "object": { - const shape = {}; - const properties = schema.properties || {}; - const requiredSet = new Set(schema.required || []); - const additionalSchema = typeof schema.additionalProperties === "object" ? convertSchema(schema.additionalProperties, ctx) : void 0; - for (const [key, propSchema] of Object.entries(properties)) { - const propZodSchema = convertSchema(propSchema, ctx); - assignProp(shape, key, requiredSet.has(key) ? propZodSchema : propZodSchema.optional()); - } - if (schema.patternProperties) { - const patternProps = schema.patternProperties; - const patternKeys = Object.keys(patternProps); - const looseRecords = []; - for (const pattern of patternKeys) { - const patternValue = convertSchema(patternProps[pattern], ctx); - const keySchema = z.string().regex(new RegExp(pattern)); - looseRecords.push(z.looseRecord(keySchema, patternValue)); - } - const schemasToIntersect = []; - if (Object.keys(shape).length > 0) { - schemasToIntersect.push(z.object(shape).passthrough()); - } - schemasToIntersect.push(...looseRecords); - if (schemasToIntersect.length === 0) { - zodSchema = z.object({}).passthrough(); - } else if (schemasToIntersect.length === 1) { - zodSchema = schemasToIntersect[0]; - } else { - let result = z.intersection(schemasToIntersect[0], schemasToIntersect[1]); - for (let i = 2; i < schemasToIntersect.length; i++) { - result = z.intersection(result, schemasToIntersect[i]); - } - zodSchema = result; - } - if (schema.additionalProperties === false) { - const propertyKeys = Object.keys(shape); - const patterns = patternKeys.map((p) => new RegExp(p)); - const basePatternSchema = zodSchema; - zodSchema = zodSchema.check((payload) => { - if (!isPlainObject(payload.value)) - return; - const unrecognized = []; - for (const key of Object.keys(payload.value)) { - if (propertyKeys.includes(key)) - continue; - if (patterns.some((regex2) => regex2.test(key))) - continue; - unrecognized.push(key); - } - if (unrecognized.length) { - payload.issues.push({ - code: "unrecognized_keys", - keys: unrecognized, - input: payload.value, - inst: basePatternSchema - }); - } - }); - } - } else { - const objectSchema = z.object(shape); - if (schema.additionalProperties === false) { - zodSchema = objectSchema.strict(); - } else if (additionalSchema) { - zodSchema = objectSchema.catchall(additionalSchema); - } else { - zodSchema = objectSchema.passthrough(); - } - } - const hasKeyGuard = schema.propertyNames !== void 0 && schema.propertyNames !== true; - const minProperties = typeof schema.minProperties === "number" ? schema.minProperties : void 0; - const maxProperties = typeof schema.maxProperties === "number" ? schema.maxProperties : void 0; - if (hasKeyGuard || minProperties !== void 0 || maxProperties !== void 0) { - let keySchema; - if (hasKeyGuard) { - const keyJSONSchema = typeof schema.propertyNames === "object" && schema.propertyNames.type === void 0 ? { type: "string", ...schema.propertyNames } : schema.propertyNames; - keySchema = convertSchema(keyJSONSchema, ctx); - } - zodSchema = checkObjectGuards(zodSchema, { keySchema, minProperties, maxProperties }); - } - break; +var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => { + $ZodEnum.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => enumProcessor(inst, ctx, json, params); + inst.enum = def.entries; + inst.options = [...inst._zod.values]; + const keys = new Set(Object.keys(def.entries)); + inst.extract = (values, params) => { + const newEntries = {}; + for (const value of values) { + if (keys.has(value)) { + newEntries[value] = def.entries[value]; + } else + throw new Error(`Key ${value} not found in enum`); } - case "array": { - const prefixItems = schema.prefixItems; - const items = schema.items; - if (prefixItems && Array.isArray(prefixItems)) { - const minItems = typeof schema.minItems === "number" ? schema.minItems : 0; - const tupleItems = prefixItems.map((item) => convertSchema(item, ctx)); - const positionalItems = applyMinItems(tupleItems, minItems); - const rest = !Array.isArray(items) ? getTupleRest(items, ctx) : void 0; - const tupleSchema = z.tuple(positionalItems); - zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema; - if (typeof schema.minItems === "number") { - zodSchema = zodSchema.check(z.minLength(schema.minItems)); - } - if (typeof schema.maxItems === "number") { - zodSchema = zodSchema.check(z.maxLength(schema.maxItems)); - } - } else if (Array.isArray(items)) { - const minItems = typeof schema.minItems === "number" ? schema.minItems : 0; - const tupleItems = items.map((item) => convertSchema(item, ctx)); - const positionalItems = applyMinItems(tupleItems, minItems); - const rest = getTupleRest(schema.additionalItems, ctx); - const tupleSchema = z.tuple(positionalItems); - zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema; - if (typeof schema.minItems === "number") { - zodSchema = zodSchema.check(z.minLength(schema.minItems)); - } - if (typeof schema.maxItems === "number") { - zodSchema = zodSchema.check(z.maxLength(schema.maxItems)); - } - } else if (items !== void 0) { - const element = convertSchema(items, ctx); - let arraySchema = z.array(element); - if (typeof schema.minItems === "number") { - arraySchema = arraySchema.min(schema.minItems); - } - if (typeof schema.maxItems === "number") { - arraySchema = arraySchema.max(schema.maxItems); - } - zodSchema = arraySchema; - } else { - zodSchema = z.array(z.any()); - } - if (schema.uniqueItems === true || schema.contains !== void 0) { - zodSchema = checkArrayGuards(zodSchema, { - uniqueItems: schema.uniqueItems === true, - containsSchema: schema.contains !== void 0 ? convertSchema(schema.contains, ctx) : void 0, - minContains: typeof schema.minContains === "number" ? schema.minContains : void 0, - maxContains: typeof schema.maxContains === "number" ? schema.maxContains : void 0 - }); - } - break; + return new ZodEnum({ + ...def, + checks: [], + ...util_exports.normalizeParams(params), + entries: newEntries + }); + }; + inst.exclude = (values, params) => { + const newEntries = { ...def.entries }; + for (const value of values) { + if (keys.has(value)) { + delete newEntries[value]; + } else + throw new Error(`Key ${value} not found in enum`); } - default: - throw new Error(`Unsupported type: ${type}`); - } - return zodSchema; + return new ZodEnum({ + ...def, + checks: [], + ...util_exports.normalizeParams(params), + entries: newEntries + }); + }; +}); +function _enum(values, params) { + const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values; + return new ZodEnum({ + type: "enum", + entries, + ...util_exports.normalizeParams(params) + }); } -function convertSchema(schema, ctx) { - if (typeof schema === "boolean") { - return schema ? z.any() : z.never(); - } - let baseSchema = convertBaseSchema(schema, ctx); - const hasExplicitType = schema.type || schema.enum !== void 0 || schema.const !== void 0; - if (schema.anyOf && Array.isArray(schema.anyOf)) { - const options = schema.anyOf.map((s) => convertSchema(s, ctx)); - const anyOfUnion = z.union(options); - baseSchema = hasExplicitType ? z.intersection(baseSchema, anyOfUnion) : anyOfUnion; - } - if (schema.oneOf && Array.isArray(schema.oneOf)) { - const options = schema.oneOf.map((s) => convertSchema(s, ctx)); - const oneOfUnion = z.xor(options); - baseSchema = hasExplicitType ? z.intersection(baseSchema, oneOfUnion) : oneOfUnion; - } - if (schema.allOf && Array.isArray(schema.allOf)) { - if (schema.allOf.length === 0) { - baseSchema = hasExplicitType ? baseSchema : z.any(); - } else { - let result = hasExplicitType ? baseSchema : convertSchema(schema.allOf[0], ctx); - const startIdx = hasExplicitType ? 0 : 1; - for (let i = startIdx; i < schema.allOf.length; i++) { - result = z.intersection(result, convertSchema(schema.allOf[i], ctx)); +var ZodLiteral = /* @__PURE__ */ $constructor("ZodLiteral", (inst, def) => { + $ZodLiteral.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => literalProcessor(inst, ctx, json, params); + inst.values = new Set(def.values); + Object.defineProperty(inst, "value", { + get() { + if (def.values.length > 1) { + throw new Error("This schema contains multiple valid literal values. Use `.values` instead."); } - baseSchema = result; - } - } - if (schema.nullable === true && ctx.version === "openapi-3.0") { - baseSchema = z.nullable(baseSchema); - } - if (schema.readOnly === true) { - baseSchema = z.readonly(baseSchema); - } - if (schema.default !== void 0) { - baseSchema = baseSchema.default(schema.default); - } - const extraMeta = {}; - const coreMetadataKeys = ["$id", "id", "$comment", "$anchor", "$vocabulary", "$dynamicRef", "$dynamicAnchor"]; - for (const key of coreMetadataKeys) { - if (key in schema) { - extraMeta[key] = schema[key]; - } - } - const contentMetadataKeys = ["contentEncoding", "contentMediaType", "contentSchema"]; - for (const key of contentMetadataKeys) { - if (key in schema) { - extraMeta[key] = schema[key]; - } - } - if (schema.type === "object" && schema.$ref === void 0) { - if (schema.propertyNames !== void 0 && !containsRef(schema.propertyNames)) { - extraMeta.propertyNames = schema.propertyNames; - } - for (const key of ["minProperties", "maxProperties"]) { - if (schema[key] !== void 0) - extraMeta[key] = schema[key]; - } - } - if (schema.type === "array" && schema.$ref === void 0) { - if (schema.contains !== void 0 && !containsRef(schema.contains)) { - extraMeta.contains = schema.contains; + return def.values[0]; } - for (const key of ["uniqueItems", "minContains", "maxContains"]) { - if (schema[key] !== void 0) - extraMeta[key] = schema[key]; + }); +}); +function literal(value, params) { + return new ZodLiteral({ + type: "literal", + values: Array.isArray(value) ? value : [value], + ...util_exports.normalizeParams(params) + }); +} +var ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodTransform.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => transformProcessor(inst, ctx, json, params); + inst._zod.parse = (payload, _ctx) => { + if (_ctx.direction === "backward") { + throw new $ZodEncodeError(inst.constructor.name); } - } - for (const key of Object.keys(schema)) { - if (!RECOGNIZED_KEYS.has(key)) { - assignProp(extraMeta, key, schema[key]); + payload.addIssue = (issue2) => { + if (typeof issue2 === "string") { + payload.issues.push(util_exports.issue(issue2, payload.value, def)); + } else { + const _issue = issue2; + if (_issue.fatal) + _issue.continue = false; + _issue.code ?? (_issue.code = "custom"); + if (!("input" in _issue)) + _issue.input = payload.value; + _issue.inst ?? (_issue.inst = inst); + payload.issues.push(util_exports.issue(_issue)); + } + }; + const output = def.transform(payload.value, payload); + if (output instanceof Promise) { + return output.then((output2) => { + payload.value = output2; + return payload; + }); } - } - if (Object.keys(extraMeta).length > 0) { - ctx.registry.add(baseSchema, extraMeta); - } - if (schema.description) { - baseSchema = baseSchema.describe(schema.description); - } - return baseSchema; -} -function fromJSONSchema(schema, params) { - if (typeof schema === "boolean") { - return schema ? z.any() : z.never(); - } - let normalized; - try { - normalized = JSON.parse(JSON.stringify(schema)); - } catch { - throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas"); - } - const version2 = detectVersion(normalized, params?.defaultTarget); - const defs = normalized.$defs || normalized.definitions || {}; - const ctx = { - version: version2, - defs, - refs: /* @__PURE__ */ new Map(), - processing: /* @__PURE__ */ new Set(), - rootSchema: normalized, - registry: params?.registry ?? globalRegistry + payload.value = output; + return payload; }; - return convertSchema(normalized, ctx); +}); +function transform(fn) { + return new ZodTransform({ + type: "transform", + transform: fn + }); } - -// ../../../node_modules/zod/v4/core/visit.js -var RESOLVING = /* @__PURE__ */ Symbol("z.visit/resolving"); -function visit(schema, fnOrHandlers) { - const fn = typeof fnOrHandlers === "function" ? fnOrHandlers : (node2, rewritten) => { - const h2 = fnOrHandlers[node2._zod.def.type]; - return h2 ? h2(node2, rewritten) : node2; - }; - const cache = /* @__PURE__ */ new Map(); - function run(s) { - const cached2 = cache.get(s); - if (cached2 === RESOLVING) { - return new $ZodLazy({ - type: "lazy", - getter: () => cache.get(s) - }); - } - if (cached2 !== void 0) - return cached2; - cache.set(s, RESOLVING); - const inner = mapInner(s); - const mapped = fn(inner, inner !== s); - cache.set(s, mapped); - return mapped; - } - function mapInner(s) { - const def = s._zod.def; - const kind = def.type; - switch (kind) { - case "object": { - const oldShape = def.shape; - const keys = Object.keys(oldShape); - let changed = false; - const newShape = {}; - for (const k of keys) { - const mapped = run(oldShape[k]); - if (mapped !== oldShape[k]) - changed = true; - newShape[k] = mapped; - } - let newCatchall = def.catchall; - if (def.catchall) { - newCatchall = run(def.catchall); - if (newCatchall !== def.catchall) - changed = true; - } - return changed ? clone(s, { ...def, shape: newShape, catchall: newCatchall }) : s; - } - case "array": { - const mapped = run(def.element); - return mapped === def.element ? s : clone(s, { ...def, element: mapped }); - } - case "tuple": { - const oldItems = def.items; - let changed = false; - const newItems = []; - for (const item of oldItems) { - const mapped = run(item); - if (mapped !== item) - changed = true; - newItems.push(mapped); - } - let newRest = def.rest; - if (def.rest) { - newRest = run(def.rest); - if (newRest !== def.rest) - changed = true; - } - return changed ? clone(s, { ...def, items: newItems, rest: newRest }) : s; - } - case "record": - case "map": { - const newKey = run(def.keyType); - const newVal = run(def.valueType); - return newKey === def.keyType && newVal === def.valueType ? s : clone(s, { ...def, keyType: newKey, valueType: newVal }); - } - case "set": { - const newVal = run(def.valueType); - return newVal === def.valueType ? s : clone(s, { ...def, valueType: newVal }); - } - case "union": { - const oldOptions = def.options; - let changed = false; - const newOptions = []; - for (const opt of oldOptions) { - const mapped = run(opt); - if (mapped !== opt) - changed = true; - newOptions.push(mapped); - } - return changed ? clone(s, { ...def, options: newOptions }) : s; - } - case "intersection": { - const newLeft = run(def.left); - const newRight = run(def.right); - return newLeft === def.left && newRight === def.right ? s : clone(s, { ...def, left: newLeft, right: newRight }); - } - case "optional": - case "nullable": - case "default": - case "prefault": - case "catch": - case "readonly": - case "nonoptional": - case "promise": - case "success": { - const newInner = run(def.innerType); - return newInner === def.innerType ? s : clone(s, { ...def, innerType: newInner }); - } - case "pipe": { - const newIn = run(def.in); - const newOut = run(def.out); - return newIn === def.in && newOut === def.out ? s : clone(s, { ...def, in: newIn, out: newOut }); - } - case "function": { - const newInput = run(def.input); - const newOutput = run(def.output); - return newInput === def.input && newOutput === def.output ? s : clone(s, { ...def, input: newInput, output: newOutput }); - } - case "lazy": { - const original = def.getter; - const { _cachedInner, ...rest } = def; - return clone(s, { ...rest, getter: () => run(original()) }); - } - // A leaf by choice: `parts` are regex fragments, not data positions. - case "template_literal": - // Leaves. - case "string": - case "number": - case "int": - case "boolean": - case "bigint": - case "symbol": - case "undefined": - case "null": - case "void": - case "never": - case "any": - case "unknown": - case "date": - case "nan": - case "enum": - case "literal": - case "file": - case "transform": - case "custom": - return s; - default: { - kind; - return s; - } +var ZodOptional = /* @__PURE__ */ $constructor("ZodOptional", (inst, def) => { + $ZodOptional.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => optionalProcessor(inst, ctx, json, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function optional(innerType) { + return new ZodOptional({ + type: "optional", + innerType + }); +} +var ZodExactOptional = /* @__PURE__ */ $constructor("ZodExactOptional", (inst, def) => { + $ZodExactOptional.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => optionalProcessor(inst, ctx, json, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function exactOptional(innerType) { + return new ZodExactOptional({ + type: "optional", + innerType + }); +} +var ZodNullable = /* @__PURE__ */ $constructor("ZodNullable", (inst, def) => { + $ZodNullable.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => nullableProcessor(inst, ctx, json, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function nullable(innerType) { + return new ZodNullable({ + type: "nullable", + innerType + }); +} +var ZodDefault = /* @__PURE__ */ $constructor("ZodDefault", (inst, def) => { + $ZodDefault.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => defaultProcessor(inst, ctx, json, params); + inst.unwrap = () => inst._zod.def.innerType; + inst.removeDefault = inst.unwrap; +}); +function _default(innerType, defaultValue) { + return new ZodDefault({ + type: "default", + innerType, + get defaultValue() { + return typeof defaultValue === "function" ? defaultValue() : util_exports.shallowClone(defaultValue); } - } - return run(schema); + }); } - -// ../../../node_modules/zod/v4/classic/deep-partial.js -function deepPartial(schema) { - return visit(schema, { - object: (s) => s.partial(), - // Every partialed option now admits `undefined`, which the constructor rejects as a duplicate. - union: (s) => { - const def = s._zod.def; - return def.discriminator === void 0 ? s : union(def.options); +var ZodPrefault = /* @__PURE__ */ $constructor("ZodPrefault", (inst, def) => { + $ZodPrefault.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => prefaultProcessor(inst, ctx, json, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function prefault(innerType, defaultValue) { + return new ZodPrefault({ + type: "prefault", + innerType, + get defaultValue() { + return typeof defaultValue === "function" ? defaultValue() : util_exports.shallowClone(defaultValue); } }); } - -// ../../../node_modules/zod/v4/classic/in-out.js -function withChecks(side, checks) { - if (!checks?.length) - return side; - const def = side._zod.def; - return clone(side, mergeDefs(def, { checks: [...def.checks ?? [], ...checks] }), { parent: true }); -} -function outSide(def) { - return withChecks(def.out, def.checks); -} -function inSide(def) { - return def.in._zod.traits.has("$ZodTransform") ? outSide(def) : def.in; -} -function input(schema) { - return visit(schema, { - pipe: (s) => inSide(s._zod.def), - // A default value belongs to the output side, so a rewritten inner type leaves it stranded. `.default()` widens the declared input type with `undefined`, and `optional` is what carries that across. - default: (s, rewritten) => rewritten ? optional(s._zod.def.innerType) : s, - // A catch value is output-side too, but `.catch()` leaves the declared input type alone, so the inner schema stands on its own. - catch: (s, rewritten) => rewritten ? s._zod.def.innerType : s +var ZodNonOptional = /* @__PURE__ */ $constructor("ZodNonOptional", (inst, def) => { + $ZodNonOptional.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => nonoptionalProcessor(inst, ctx, json, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function nonoptional(innerType, params) { + return new ZodNonOptional({ + type: "nonoptional", + innerType, + ...util_exports.normalizeParams(params) }); } -function output(schema) { - return visit(schema, { - pipe: (s) => outSide(s._zod.def), - // A prefault value is fed through the schema, which makes it input-side, so a rewritten inner type leaves it stranded. - prefault: (s, rewritten) => rewritten ? s._zod.def.innerType : s +var ZodCatch = /* @__PURE__ */ $constructor("ZodCatch", (inst, def) => { + $ZodCatch.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => catchProcessor(inst, ctx, json, params); + inst.unwrap = () => inst._zod.def.innerType; + inst.removeCatch = inst.unwrap; +}); +function _catch(innerType, catchValue) { + return new ZodCatch({ + type: "catch", + innerType, + catchValue: typeof catchValue === "function" ? catchValue : util_exports.constantCatch(catchValue) }); } - -// ../../../node_modules/zod/v4/classic/coerce.js -var coerce_exports = {}; -__export(coerce_exports, { - bigint: () => bigint3, - boolean: () => boolean3, - date: () => date4, - number: () => number3, - string: () => string3 +var ZodPipe = /* @__PURE__ */ $constructor("ZodPipe", (inst, def) => { + $ZodPipe.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => pipeProcessor(inst, ctx, json, params); + inst.in = def.in; + inst.out = def.out; }); -function string3(params) { - return _coercedString(ZodString, params); +function pipe(in_, out) { + return new ZodPipe({ + type: "pipe", + in: in_, + out + // ...util.normalizeParams(params), + }); } -function number3(params) { - return _coercedNumber(ZodNumber, params); +var ZodReadonly = /* @__PURE__ */ $constructor("ZodReadonly", (inst, def) => { + $ZodReadonly.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => readonlyProcessor(inst, ctx, json, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function readonly(innerType) { + return new ZodReadonly({ + type: "readonly", + innerType + }); } -function boolean3(params) { - return _coercedBoolean(ZodBoolean, params); +var ZodLazy = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => { + $ZodLazy.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => lazyProcessor(inst, ctx, json, params); + inst.unwrap = () => inst._zod.def.getter(); +}); +function lazy(getter) { + return new ZodLazy({ + type: "lazy", + getter + }); } -function bigint3(params) { - return _coercedBigint(ZodBigInt, params); +var ZodCustom = /* @__PURE__ */ $constructor("ZodCustom", (inst, def) => { + $ZodCustom.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json, params) => customProcessor(inst, ctx, json, params); +}); +function refine(fn, _params = {}) { + return _refine(ZodCustom, fn, _params); } -function date4(params) { - return _coercedDate(ZodDate, params); +function superRefine(fn, params) { + return _superRefine(fn, params); } // ../viewer/src/protocol/wire.ts -var uint = external_exports.number().int().nonnegative(); +var uint = number2().int().nonnegative(); function pairing(item) { - return external_exports.object({ lhs: item.optional(), rhs: item.optional() }); + return object({ lhs: item.optional(), rhs: item.optional() }); } -var fileRef = external_exports.object({ path: external_exports.string(), oid: external_exports.string(), mode: external_exports.string() }); -var visibility = external_exports.object({ - collapsed: external_exports.boolean().default(false), - label: external_exports.string().default("") +var fileRef = object({ path: string2(), oid: string2(), mode: string2() }); +var visibility = object({ + collapsed: boolean2().default(false), + label: string2().default("") }); -var problem = external_exports.object({ code: external_exports.string(), message: external_exports.string() }); -var fileChange = external_exports.object({ +var problem = object({ code: string2(), message: string2() }); +var fileChange = object({ file: pairing(fileRef), - status: external_exports.enum(["added", "deleted", "modified", "renamed", "copied", "type_changed"]), + status: _enum(["added", "deleted", "modified", "renamed", "copied", "type_changed"]), /** What the file is (`generated`, `vendored`, `docs`, `test`, or a `diffr-tags` attribute), sorted. */ - tags: external_exports.array(external_exports.string()).default([]) -}); -var snapshot = external_exports.discriminatedUnion("type", [ - external_exports.object({ type: external_exports.literal("revision"), rev: external_exports.string() }), - external_exports.object({ type: external_exports.literal("index") }), - external_exports.object({ type: external_exports.literal("working_tree") }), - external_exports.object({ type: external_exports.literal("empty_tree") }), - external_exports.object({ type: external_exports.literal("path"), path: external_exports.string() }) + tags: array(string2()).default([]) +}); +var snapshot = discriminatedUnion("type", [ + object({ type: literal("revision"), rev: string2() }), + object({ type: literal("index") }), + object({ type: literal("working_tree") }), + object({ type: literal("empty_tree") }), + object({ type: literal("path"), path: string2() }) ]); -var sourcePos = external_exports.object({ line: uint, column: uint }); -var span = external_exports.object({ line: uint, start_column: uint, end_column: uint }); -var syntaxSpan = span.extend({ capture: external_exports.string() }); -var regionBase = external_exports.object({ +var sourcePos = object({ line: uint, column: uint }); +var span = object({ line: uint, start_column: uint, end_column: uint }); +var syntaxSpan = span.extend({ capture: string2() }); +var regionBase = object({ id: uint, fold_state_id: uint, start: sourcePos, end: sourcePos, - tags: external_exports.array(external_exports.string()).default([]), + tags: array(string2()).default([]), visibility: visibility.default({ collapsed: false, label: "" }) }); -var region = external_exports.lazy( - () => external_exports.discriminatedUnion("kind", [ - regionBase.extend({ kind: external_exports.literal("leaf"), alignment_id: uint, pair: uint.optional(), changed: external_exports.array(span).default([]) }).transform((leaf) => ({ ...leaf, children: [] })), +var region = lazy( + () => discriminatedUnion("kind", [ + regionBase.extend({ kind: literal("leaf"), alignment_id: uint, pair: uint.optional(), changed: array(span).default([]) }).transform((leaf) => ({ ...leaf, children: [] })), regionBase.extend({ - kind: external_exports.literal("fold"), - children: external_exports.array(region), + kind: literal("fold"), + children: array(region), indent: sourcePos, - syntax: external_exports.object({ start: sourcePos, end: sourcePos }).optional() + syntax: object({ start: sourcePos, end: sourcePos }).optional() }).transform((fold) => ({ ...fold, changed: [] })) ]) ); -var source = external_exports.object({ - text: external_exports.string(), - syntax: external_exports.array(syntaxSpan).default([]), +var source = object({ + text: string2(), + syntax: array(syntaxSpan).default([]), /** The whole file, as one fold. Both sides' roots share a fold_state_id; its visibility is the file's. */ root: region }); -var lineCounts = external_exports.object({ added: uint, removed: uint }); -var stats = external_exports.object({ +var lineCounts = object({ added: uint, removed: uint }); +var stats = object({ textual: lineCounts, /** Changed lines shown under diffr's default fold state; the frontend adjusts it as folds toggle. */ visible: lineCounts, /** Present when tree-sitter did not run and this is a line diff. */ fallback: problem.optional() }); -var diff = external_exports.discriminatedUnion("type", [ - external_exports.object({ type: external_exports.literal("text"), lhs: source.optional(), rhs: source.optional(), stats }), - external_exports.object({ - type: external_exports.literal("binary"), - lhs: external_exports.object({ size: uint }).optional(), - rhs: external_exports.object({ size: uint }).optional() +var diff = discriminatedUnion("type", [ + object({ type: literal("text"), lhs: source.optional(), rhs: source.optional(), stats }), + object({ + type: literal("binary"), + lhs: object({ size: uint }).optional(), + rhs: object({ size: uint }).optional() }) ]); -var fileEvent = external_exports.object({ - type: external_exports.literal("file"), +var fileEvent = object({ + type: literal("file"), file: pairing(fileRef), diff: diff.optional(), error: problem.optional() }); -var eventSchema = external_exports.discriminatedUnion("type", [ - external_exports.object({ - type: external_exports.literal("start"), - version: external_exports.literal(3), +var eventSchema = discriminatedUnion("type", [ + object({ + type: literal("start"), + version: literal(3), lhs: snapshot, rhs: snapshot, - files: external_exports.array(fileChange) + files: array(fileChange) }), fileEvent, - external_exports.object({ type: external_exports.literal("complete"), succeeded: uint, failed: uint, aborted: problem.optional() }) + object({ type: literal("complete"), succeeded: uint, failed: uint, aborted: problem.optional() }) ]); -var fileIdentity = (file2) => JSON.stringify([file2.lhs?.path ?? null, file2.rhs?.path ?? null]); -var filePath = (file2) => file2.rhs?.path ?? file2.lhs?.path ?? ""; -function fileVisibility(file2) { - return file2.diff?.type === "text" ? (file2.diff.rhs ?? file2.diff.lhs).root.visibility : { collapsed: false, label: "" }; +var fileIdentity = (file) => JSON.stringify([file.lhs?.path ?? null, file.rhs?.path ?? null]); +var filePath = (file) => file.rhs?.path ?? file.lhs?.path ?? ""; +function fileVisibility(file) { + return file.diff?.type === "text" ? (file.diff.rhs ?? file.diff.lhs).root.visibility : { collapsed: false, label: "" }; } // ../viewer/src/protocol/store.ts @@ -20950,11 +7507,11 @@ var DiffStore = class { }; this.notify(); } - fail(error62) { + fail(error2) { this.value = { ...this.value, complete: true, - errors: [...this.value.errors, String(error62)] + errors: [...this.value.errors, String(error2)] }; this.notify(); } @@ -20963,7 +7520,7 @@ var DiffStore = class { // ../viewer/src/protocol/events.ts async function* parseDiffEvents(texts) { let buffer = "", complete = false; - function parse4(line) { + function parse3(line) { if (line.length > 128 * 1024 * 1024) throw new Error("diffr event exceeds 128 MiB"); const event = eventSchema.parse(JSON.parse(line)); @@ -20976,12 +7533,12 @@ async function* parseDiffEvents(texts) { while ((end = buffer.indexOf("\n")) >= 0) { const line = buffer.slice(0, end); buffer = buffer.slice(end + 1); - if (line.trim()) yield parse4(line); + if (line.trim()) yield parse3(line); } if (buffer.length > 128 * 1024 * 1024) throw new Error("diffr event exceeds 128 MiB"); } - if (buffer.trim()) yield parse4(buffer); + if (buffer.trim()) yield parse3(buffer); if (!complete) throw new Error("Incomplete diffr stream"); } @@ -21011,44 +7568,44 @@ function splitArgs(text) { } // src/protocol.ts -var action = external_exports.union([ - external_exports.strictObject({ fold: external_exports.number().int(), file: external_exports.number().int() }), +var action = union([ + strictObject({ fold: number2().int(), file: number2().int() }), /** A file header's viewed box. */ - external_exports.strictObject({ viewedFile: external_exports.number().int() }), - external_exports.strictObject({ file: external_exports.number().int() }), - external_exports.strictObject({ jump: external_exports.number().int() }), - external_exports.strictObject({ dir: external_exports.string() }), + strictObject({ viewedFile: number2().int() }), + strictObject({ file: number2().int() }), + strictObject({ jump: number2().int() }), + strictObject({ dir: string2() }), /** A scrollbar row. */ - external_exports.strictObject({ scrub: external_exports.number().int() }), - external_exports.strictObject({ layout: external_exports.literal(true) }), + strictObject({ scrub: number2().int() }), + strictObject({ layout: literal(true) }), /** The status line's ? keys, or any click on the key list: show or hide the list. */ - external_exports.strictObject({ help: external_exports.literal(true) }), + strictObject({ help: literal(true) }), /** A file in the Ctrl-P picker. */ - external_exports.strictObject({ pick: external_exports.number().int() }), + strictObject({ pick: number2().int() }), /** The title bar's files button: the tree, as a sidebar or in place of the diff. */ - external_exports.strictObject({ files: external_exports.literal(true) }), + strictObject({ files: literal(true) }), /** The selection bar's Add to chat button. */ - external_exports.strictObject({ chat: external_exports.literal(true) }) + strictObject({ chat: literal(true) }) ]); -var hover = external_exports.union([ - external_exports.strictObject({ file: external_exports.number().int(), id: external_exports.number().int(), armed: external_exports.boolean() }), - external_exports.strictObject({ file: external_exports.number().int(), header: external_exports.literal(true) }) +var hover = union([ + strictObject({ file: number2().int(), id: number2().int(), armed: boolean2() }), + strictObject({ file: number2().int(), header: literal(true) }) ]); -var keyPress = external_exports.object({ - key: external_exports.string(), - ctrl: external_exports.literal(true).optional(), - shift: external_exports.literal(true).optional(), - meta: external_exports.literal(true).optional() -}); -var input2 = external_exports.union([ - external_exports.strictObject({ act: action, alt: external_exports.literal(true).optional() }), - external_exports.strictObject({ press: keyPress }), +var keyPress = object({ + key: string2(), + ctrl: literal(true).optional(), + shift: literal(true).optional(), + meta: literal(true).optional() +}); +var input = union([ + strictObject({ act: action, alt: literal(true).optional() }), + strictObject({ press: keyPress }), /** A left press (or, with `extend`, a drag) at a pane cell: `y` counts from the frame's first line. */ - external_exports.strictObject({ select: external_exports.strictObject({ x: external_exports.number().int(), y: external_exports.number().int(), extend: external_exports.literal(true).optional() }) }) + strictObject({ select: strictObject({ x: number2().int(), y: number2().int(), extend: literal(true).optional() }) }) ]); -var post = external_exports.strictObject({ - instance: external_exports.string(), - inputs: external_exports.array(external_exports.tuple([external_exports.number().int(), input2])), +var post = strictObject({ + instance: string2(), + inputs: array(tuple([number2().int(), input])), hover: hover.nullable().optional() }); var parsePost = (data) => post.parse(data); @@ -21093,8 +7650,8 @@ var comparisonLabel = (lhs, rhs) => `${snapshotLabel(lhs)}\u2026${snapshotLabel( function buildFileTree(files) { const roots = []; const directories = /* @__PURE__ */ new Map(); - files.forEach((file2, fileIndex) => { - const path = filePath(file2.file); + files.forEach((file, fileIndex) => { + const path = filePath(file.file); const parts = path.split("/").filter(Boolean); let children = roots, prefix = ""; parts.forEach((name, i) => { @@ -21125,13 +7682,13 @@ function flattenFileTree(nodes, closed, depth = 0) { ...node2.fileIndex === void 0 && !closed.has(node2.key) ? flattenFileTree(node2.children, closed, depth + 1) : [] ]); } -function parentDirectories(file2) { - const parts = filePath(file2.file).split("/").filter(Boolean); +function parentDirectories(file) { + const parts = filePath(file.file).split("/").filter(Boolean); return parts.slice(0, -1).map((_, i) => "/" + parts.slice(0, i + 1).join("/")); } -function lineCounts2(file2) { - if (file2.diff.type === "binary") return { textual: { added: 0, removed: 0 }, visible: { added: 0, removed: 0 } }; - return { textual: file2.diff.stats.textual, visible: file2.diff.stats.visible, fallback: file2.diff.stats.fallback }; +function lineCounts2(file) { + if (file.diff.type === "binary") return { textual: { added: 0, removed: 0 }, visible: { added: 0, removed: 0 } }; + return { textual: file.diff.stats.textual, visible: file.diff.stats.visible, fallback: file.diff.stats.fallback }; } // ../viewer/src/terminal/sanitize.ts @@ -21199,14 +7756,14 @@ function ansiRegex({ onlyFirst = false } = {}) { // ../../../node_modules/strip-ansi/index.js var regex = ansiRegex(); -function stripAnsi(string4) { - if (typeof string4 !== "string") { - throw new TypeError(`Expected a \`string\`, got \`${typeof string4}\``); +function stripAnsi(string3) { + if (typeof string3 !== "string") { + throw new TypeError(`Expected a \`string\`, got \`${typeof string3}\``); } - if (!string4.includes("\x1B") && !string4.includes("\x9B")) { - return string4; + if (!string3.includes("\x1B") && !string3.includes("\x9B")) { + return string3; } - return string4.replace(regex, ""); + return string3.replace(regex, ""); } // ../viewer/node_modules/string-width/index.js @@ -21231,24 +7788,24 @@ function trailingHalfwidthWidth(segment, eastAsianWidthOptions) { } return extra; } -function stringWidth(input3, options = {}) { - if (typeof input3 !== "string" || input3.length === 0) { +function stringWidth(input2, options = {}) { + if (typeof input2 !== "string" || input2.length === 0) { return 0; } const { ambiguousIsNarrow = true, countAnsiEscapeCodes = false } = options; - let string4 = input3; + let string3 = input2; if (!countAnsiEscapeCodes) { - string4 = stripAnsi(string4); + string3 = stripAnsi(string3); } - if (string4.length === 0) { + if (string3.length === 0) { return 0; } let width = 0; const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow }; - for (const { segment } of segmenter.segment(string4)) { + for (const { segment } of segmenter.segment(string3)) { if (isZeroWidthCluster(segment)) { continue; } @@ -21598,7 +8155,7 @@ function flattenSide(source2, side) { const lines = sourceLines(source2.text); const leaves = []; const folds = []; - const visit2 = (region2, ancestors, parentColumn) => { + const visit = (region2, ancestors, parentColumn) => { if (region2.kind === "leaf") { const [startLine, endLine] = leafLines(region2); const changed = /* @__PURE__ */ new Map(); @@ -21637,9 +8194,9 @@ function flattenSide(source2, side) { folds.push(fold); const indent = lines[region2.indent.line]; if (indent === void 0) throw new Error(`Fold ${region2.id} indents past the end of its file`); - for (const child of region2.children) visit2(child, [...ancestors, fold], byteColumn(indent, region2.indent.column)); + for (const child of region2.children) visit(child, [...ancestors, fold], byteColumn(indent, region2.indent.column)); }; - for (const region2 of source2.root.children) visit2(region2, [], 0); + for (const region2 of source2.root.children) visit(region2, [], 0); return { leaves, folds }; } function flatten(diff2) { @@ -21647,20 +8204,20 @@ function flatten(diff2) { const rhs = diff2.rhs ? flattenSide(diff2.rhs, 1) : { leaves: [], folds: [] }; return { leaves: [lhs.leaves, rhs.leaves], folds: [lhs.folds, rhs.folds] }; } -function zipLeaves(leaves, visit2) { +function zipLeaves(leaves, visit) { const rightIndex = new Map(leaves[1].map((leaf, index) => [leaf.alignmentId, index])); let cursor = 0; const flushRight = (until) => { - for (; cursor < until; cursor++) visit2(null, leaves[1][cursor]); + for (; cursor < until; cursor++) visit(null, leaves[1][cursor]); }; for (const left of leaves[0]) { const partner = rightIndex.get(left.alignmentId); if (partner === void 0) { - visit2(left, null); + visit(left, null); continue; } flushRight(partner); - visit2(left, leaves[1][partner]); + visit(left, leaves[1][partner]); cursor = partner + 1; } flushRight(leaves[1].length); @@ -21730,10 +8287,10 @@ function nestedIds(diff2, id) { } function gapIds(diff2) { const sides = [diff2.lhs?.root.children ?? [], diff2.rhs?.root.children ?? []]; - const walk = (regions, visit2) => { + const walk = (regions, visit) => { for (const region2 of regions) { - visit2(region2); - walk(region2.children, visit2); + visit(region2); + walk(region2.children, visit); } }; const paired = pairedIds(diff2); @@ -21887,7 +8444,7 @@ function highlight(result, open2 = "", close = "", threshold = 0.5) { let raw = result._indexes; let indexes = raw === void 0 ? result.indexes : raw.slice(0, raw.len ?? raw.length).sort((a, b) => a - b); if (!indexes.length) return callback ? [target] : target; - let output2 = callback ? [] : ""; + let output = callback ? [] : ""; let lastIndex = 0; let matchI = 0; for (let i = 0; i < indexes.length; ) { @@ -21899,13 +8456,13 @@ function highlight(result, open2 = "", close = "", threshold = 0.5) { } let before = target.slice(lastIndex, start); let match = target.slice(start, end); - if (callback) output2.push(before, callback(match, matchI++)); - else output2 += before + open2 + match + close; + if (callback) output.push(before, callback(match, matchI++)); + else output += before + open2 + match + close; lastIndex = end; } - if (callback) output2.push(target.slice(lastIndex)); - else output2 += target.slice(lastIndex); - return output2; + if (callback) output.push(target.slice(lastIndex)); + else output += target.slice(lastIndex); + return output; } function score(result) { let value = result.score; @@ -22022,9 +8579,9 @@ function goSnapshot(search, snapshot3, options) { snapshot3._endSearch(query); snapshot3._remember(query, results, options); return results; - } catch (error62) { + } catch (error2) { snapshot3._resetSearch(); - throw error62; + throw error2; } } function goKeys(query, objects, options, snapshot3) { @@ -22670,8 +9227,8 @@ var SnapshotTargets = class { while (this._index < this._input.length && hasTime()); if (this._index === this._input.length) this._complete(); else this._schedule(); - } catch (error62) { - this._error = error62; + } catch (error2) { + this._error = error2; this._done = true; } } @@ -22815,10 +9372,10 @@ var SnapshotTargets = class { this._initialize(); while (this._index < this._input.length) this._prepareOne(); this._complete(); - } catch (error62) { - this._error = error62; + } catch (error2) { + this._error = error2; this._done = true; - throw error62; + throw error2; } } }; @@ -22874,7 +9431,7 @@ function getQuery(search) { } return prepared2; } -function scanBeginnings(prepared2, visit2) { +function scanBeginnings(prepared2, visit) { let target = remapChars(prepared2.target); let wasUpper = false; let wasAlnum = false; @@ -22888,7 +9445,7 @@ function scanBeginnings(prepared2, visit2) { wasAlnum = alnum; if (beginning) { count++; - visit2(i); + visit(i); } } prepared2._beginningsLen = count; @@ -23412,9 +9969,9 @@ function placeholderRows(fileIndex, label) { { key: `${fileIndex}:why`, fileIndex, label: label || "Hidden by default" } ]; } -function rowsForFile(file2, fileIndex, layout, theme, collapsed = /* @__PURE__ */ new Set()) { - const d = file2.diff; - const rows = [{ key: `${fileIndex}:header`, fileIndex, label: filePath(file2.file) }]; +function rowsForFile(file, fileIndex, layout, theme, collapsed = /* @__PURE__ */ new Set()) { + const d = file.diff; + const rows = [{ key: `${fileIndex}:header`, fileIndex, label: filePath(file.file) }]; if (d.type === "binary") return [...rows, { key: `${fileIndex}:binary`, fileIndex, label: "Binary file" }]; const texts = [sourceLines(d.lhs?.text ?? ""), sourceLines(d.rhs?.text ?? "")]; @@ -23751,8 +10308,8 @@ function planCell(value, spans, width, unified, { theme, geometry, visualLine, f const bg = selected ? theme.selection : value.kind === "addition" ? read ? theme.readAddition : theme.addition : value.kind === "deletion" ? read ? theme.readDeletion : theme.deletion : washed ? theme.focusWash : theme.bg; if (read && changed) spans = spans.map((span3) => span3.lit ? span3 : { ...span3, fg: theme.muted, bg: void 0 }); const digits = geometry.gutter - 4; - const number4 = (n) => `${visualLine ? "" : n ?? ""}`.padStart(digits); - const numbers = unified ? ` ${number4(value.oldLineNumber)} ${number4(value.newLineNumber)} ` : ` ${number4("lineNumber" in value ? value.lineNumber : void 0)} `; + const number3 = (n) => `${visualLine ? "" : n ?? ""}`.padStart(digits); + const numbers = unified ? ` ${number3(value.oldLineNumber)} ${number3(value.newLineNumber)} ` : ` ${number3("lineNumber" in value ? value.lineNumber : void 0)} `; const gutterWidth = unified ? geometry.unifiedGutter : geometry.gutter; const available = Math.max(1, width - gutterWidth); const used = Math.min(available, spans.reduce((n, s) => n + measureTextWidth(s.text), 0)); @@ -23865,12 +10422,12 @@ function positionTop(geometry, position) { const at = (row) => row.top + Math.min(position.offset, row.height - 1); const same = geometry.rows.find((r) => r.row.key === position.key); if (same) return at(same); - const file2 = geometry.rows.filter((r) => r.row.fileIndex === position.fileIndex); - const folded = position.fold !== void 0 && file2.find((r) => [r.row.left?.fold?.id, r.row.right?.fold?.id, r.row.cell?.fold?.id].includes(position.fold)); + const file = geometry.rows.filter((r) => r.row.fileIndex === position.fileIndex); + const folded = position.fold !== void 0 && file.find((r) => [r.row.left?.fold?.id, r.row.right?.fold?.id, r.row.cell?.fold?.id].includes(position.fold)); if (folded) return at(folded); const line = position.line; - const next = line !== void 0 && file2.find((r) => (sourceLine(r.row, position.side) ?? -1) >= line); - return (next || file2[0]).top; + const next = line !== void 0 && file.find((r) => (sourceLine(r.row, position.side) ?? -1) >= line); + return (next || file[0]).top; } // ../viewer/src/viewer.ts @@ -23929,8 +10486,8 @@ var Viewer = class { get chording() { return this.pendingZ || this.pendingBracket !== null; } - isClosed(index, file2) { - return this.closed.get(index) ?? fileVisibility(file2).collapsed; + isClosed(index, file) { + return this.closed.get(index) ?? fileVisibility(file).collapsed; } foldsOf(index, diff2) { return this.collapsed.get(index) ?? defaultCollapsed(diff2); @@ -23941,8 +10498,8 @@ var Viewer = class { documentRows(snapshot3, layout) { const { inventory, files, failures } = snapshot3; const perFile = this.fileOrder(snapshot3).map((index) => { - const file2 = files[index]; - if (!file2) { + const file = files[index]; + if (!file) { const failure2 = failures[index]; const status = failure2 ?? (snapshot3.complete ? "File did not load" : "Computing diff\u2026"); return [ @@ -23955,15 +10512,15 @@ var Viewer = class { })) ]; } - const folds = file2.diff.type === "text" ? this.foldsOf(index, file2.diff) : /* @__PURE__ */ new Set(); + const folds = file.diff.type === "text" ? this.foldsOf(index, file.diff) : /* @__PURE__ */ new Set(); const key = `${index}:${layout}:${this.theme.name}:${[...folds].sort((a, b) => a - b).join(",")}`; - let cached2 = this.rowCache.get(file2); + let cached2 = this.rowCache.get(file); if (cached2?.key !== key) { - cached2 = { key, rows: rowsForFile(file2, index, layout, this.theme, folds) }; - this.rowCache.set(file2, cached2); + cached2 = { key, rows: rowsForFile(file, index, layout, this.theme, folds) }; + this.rowCache.set(file, cached2); } - if (!this.isClosed(index, file2)) return cached2.rows; - return fileVisibility(file2).collapsed ? [cached2.rows[0], ...placeholderRows(index, fileVisibility(file2).label)] : cached2.rows.slice(0, 1); + if (!this.isClosed(index, file)) return cached2.rows; + return fileVisibility(file).collapsed ? [cached2.rows[0], ...placeholderRows(index, fileVisibility(file).label)] : cached2.rows.slice(0, 1); }); const all2 = []; for (const fileRows of perFile) { @@ -23972,8 +10529,8 @@ var Viewer = class { all2.push({ key: `${last.fileIndex}:end`, fileIndex: last.fileIndex, label: "" }); for (const row of fileRows) all2.push(row); } - for (const [i, error62] of snapshot3.errors.entries()) - all2.push({ key: `error:${i}`, fileIndex: -1, label: error62 }); + for (const [i, error2] of snapshot3.errors.entries()) + all2.push({ key: `error:${i}`, fileIndex: -1, label: error2 }); return all2; } lay(size) { @@ -23985,7 +10542,7 @@ var Viewer = class { const key = `${this.revision}:${layout}:${contentWidth}:${this.wrap}:${this.horizontal}:${lit ? JSON.stringify(lit) : ""}`; if (this.measured?.key !== key || this.measured.snapshot !== snapshot3) { const rows2 = lit ? this.lightRows(this.documentRows(snapshot3, layout), lit) : this.documentRows(snapshot3, layout); - const maxLine = Math.max(1, ...snapshot3.files.flatMap((file2) => file2?.diff.type === "text" ? [file2.diff.lhs, file2.diff.rhs].map((source2) => source2 ? sourceLines(source2.text).length : 0) : [])); + const maxLine = Math.max(1, ...snapshot3.files.flatMap((file) => file?.diff.type === "text" ? [file.diff.lhs, file.diff.rhs].map((source2) => source2 ? sourceLines(source2.text).length : 0) : [])); this.measured = { key, snapshot: snapshot3, rows: rows2, geometry: measureRows(rows2, contentWidth, this.wrap, this.horizontal, maxLine) }; } const { rows, geometry } = this.measured; @@ -24038,9 +10595,9 @@ var Viewer = class { this.scrollTo(row.top); } toggleFile(index) { - const file2 = this.snapshot.files[index]; - if (!file2) return; - this.setClosed(index, !this.isClosed(index, file2)); + const file = this.snapshot.files[index]; + if (!file) return; + this.setClosed(index, !this.isClosed(index, file)); this.reshape(); } setClosed(index, closed) { @@ -24092,8 +10649,8 @@ var Viewer = class { } pickFile(index) { this.picker = null; - const file2 = this.snapshot.files[index]; - if (file2 && this.isClosed(index, file2)) { + const file = this.snapshot.files[index]; + if (file && this.isClosed(index, file)) { this.closed.set(index, false); this.revision++; } @@ -24158,11 +10715,11 @@ var Viewer = class { return left === row.left && right === row.right ? row : { ...row, left, right }; }); } - allOpenRows(index, file2, layout) { - let cached2 = this.openRows.get(file2); + allOpenRows(index, file, layout) { + let cached2 = this.openRows.get(file); if (cached2?.layout !== layout) { - cached2 = { layout, rows: rowsForFile(file2, index, layout, this.theme, /* @__PURE__ */ new Set()) }; - this.openRows.set(file2, cached2); + cached2 = { layout, rows: rowsForFile(file, index, layout, this.theme, /* @__PURE__ */ new Set()) }; + this.openRows.set(file, cached2); } return cached2.rows; } @@ -24172,9 +10729,9 @@ var Viewer = class { const matches = []; for (const index of this.fileOrder(this.snapshot)) { occurrences(filePath(inventory[index].file), pattern).forEach((_, nth) => matches.push({ fileIndex: index, key: `${index}:header`, side: "right", nth })); - const file2 = files[index]; - if (!file2) continue; - for (const row of this.allOpenRows(index, file2, layout)) { + const file = files[index]; + if (!file) continue; + for (const row of this.allOpenRows(index, file, layout)) { const cells = row.cell ? [[row.cell.newLineNumber === void 0 ? "left" : "right", row.cell, row.cell.newLineNumber ?? row.cell.oldLineNumber]] : [["left", row.left, row.left?.lineNumber], ["right", row.right, row.right?.lineNumber]]; for (const [side, cell, line] of cells) { if (!cell || line === void 0) continue; @@ -24185,8 +10742,8 @@ var Viewer = class { return matches; } placeOf(order, layout, fileIndex, key, side, line) { - const file2 = this.snapshot.files[fileIndex]; - const rows = file2 ? this.allOpenRows(fileIndex, file2, layout) : []; + const file = this.snapshot.files[fileIndex]; + const rows = file ? this.allOpenRows(fileIndex, file, layout) : []; const lineOf = (row2) => side === "left" ? row2.left?.lineNumber ?? row2.cell?.oldLineNumber : row2.right?.lineNumber ?? row2.cell?.newLineNumber; let row = rows.findIndex((r) => r.key === key); if (row < 0 && line !== void 0) row = rows.findIndex((r) => (lineOf(r) ?? -1) >= line); @@ -24221,12 +10778,12 @@ var Viewer = class { this.goTo(search.matches[search.at]); } goTo(match) { - const file2 = this.snapshot.files[match.fileIndex]; - if (file2 && match.line !== void 0) { - if (this.isClosed(match.fileIndex, file2)) this.closed.set(match.fileIndex, false); - if (file2.diff.type === "text") { - const hiding = hidingIds(file2.diff, match.side === "left" ? 0 : 1, match.line - 1, this.foldsOf(match.fileIndex, file2.diff)); - if (hiding.length) this.setFolds(match.fileIndex, file2.diff, hiding, false); + const file = this.snapshot.files[match.fileIndex]; + if (file && match.line !== void 0) { + if (this.isClosed(match.fileIndex, file)) this.closed.set(match.fileIndex, false); + if (file.diff.type === "text") { + const hiding = hidingIds(file.diff, match.side === "left" ? 0 : 1, match.line - 1, this.foldsOf(match.fileIndex, file.diff)); + if (hiding.length) this.setFolds(match.fileIndex, file.diff, hiding, false); } } this.position = { key: match.key, fileIndex: match.fileIndex, offset: 0, side: match.side, line: match.line }; @@ -24260,7 +10817,7 @@ var Viewer = class { this.reshape(); } textDiffs() { - return this.snapshot.files.flatMap((file2, index) => file2?.diff.type === "text" ? [{ index, diff: file2.diff }] : []); + return this.snapshot.files.flatMap((file, index) => file?.diff.type === "text" ? [{ index, diff: file.diff }] : []); } toggleContext() { const textDiffs = this.textDiffs(); @@ -24583,8 +11140,8 @@ function selectedRanges(files, rows, selection) { if (oneColumn) lines = [...numbers[oneColumn]].sort((x, y) => x - y).map((n) => oneColumn === "old" ? { old: n } : { new: n }); else { const order = orderOf(textDiff(files, fileIndex)); - const at = (map2, n) => { - const index = map2.get(n); + const at = (map, n) => { + const index = map.get(n); if (index === void 0) throw new Error(`Line ${n} of file ${fileIndex} is missing from its diff's order`); return index; }; @@ -24592,11 +11149,11 @@ function selectedRanges(files, rows, selection) { lines = [...indices].sort((x, y) => x - y).map((index) => order.lines[index]); } if (!lines.length) continue; - const file2 = files[fileIndex]; + const file = files[fileIndex]; ranges.push({ fileIndex, - oldPath: file2?.file.lhs?.path, - newPath: file2?.file.rhs?.path, + oldPath: file?.file.lhs?.path, + newPath: file?.file.rhs?.path, start: lines[0], end: lines.at(-1), side: oneColumn, @@ -24869,11 +11426,11 @@ var Pane = class { this.viewer.setHover(hover2); } /** What an input asks of the hooks module beyond a redraw: to close the pane, or to copy text. */ - input(input3) { - if ("act" in input3 && "chat" in input3.act) return this.chat(); - if ("act" in input3) this.act(input3.act, input3.alt === true); - else if ("select" in input3) this.select(input3.select); - else return this.press(input3.press); + input(input2) { + if ("act" in input2 && "chat" in input2.act) return this.chat(); + if ("act" in input2) this.act(input2.act, input2.alt === true); + else if ("select" in input2) this.select(input2.select); + else return this.press(input2.press); return {}; } /** @@ -25060,7 +11617,7 @@ var Pane = class { const spinner = SPINNER[Math.floor(Date.now() / 80) % SPINNER.length]; const statusGlyph = (index) => failures[index] || snapshot3.complete ? "!" : spinner; const treeMark = (index) => viewer.isViewed(index) ? "\u2713" : " "; - const counts = files.map((file2) => file2 && lineCounts2(file2)); + const counts = files.map((file) => file && lineCounts2(file)); const title = new LineBuilder(colors, theme.chrome); const loaded = counts.filter((c) => c !== void 0); const visible = loaded.reduce((sum, c) => add(sum, c.visible), zero); @@ -25083,9 +11640,9 @@ var Pane = class { this.treeFollows = currentFile; const treeTop = Math.min(this.treeScroll, Math.max(0, treeRows.length - viewportHeight)); const fileHeader = (line, fileIndex) => { - const file2 = files[fileIndex], count = counts[fileIndex]?.visible; + const file = files[fileIndex], count = counts[fileIndex]?.visible; const path = sanitizeTerminalLine(filePath(inventory[fileIndex].file)); - const shown = !!file2 && !!count; + const shown = !!file && !!count; const start = line.width; const state = shown ? viewer.isViewed(fileIndex) : void 0, viewed = state === true; const tally = shown && !viewed ? [` +${count.added}`, ` \u2212${count.removed}`] : []; @@ -25093,7 +11650,7 @@ var Pane = class { const hint = state !== void 0 && hover2 && "header" in hover2 && hover2.file === fileIndex ? viewedHint(state) : ""; const statsWidth = shown ? measureTextWidth(tally.join("") + (hint && ` ${hint}`) + box) + 1 : 0; const pathWidth = Math.max(1, contentWidth - statsWidth - 1); - const glyph = shown ? viewer.isClosed(fileIndex, file2) ? "\u25B8" : "\u25BE" : statusGlyph(fileIndex); + const glyph = shown ? viewer.isClosed(fileIndex, file) ? "\u25B8" : "\u25BE" : statusGlyph(fileIndex); const directory = fit(`${glyph} ${path.slice(0, path.lastIndexOf("/") + 1)}`, pathWidth); const name = fit(path.slice(path.lastIndexOf("/") + 1), Math.max(0, pathWidth - measureTextWidth(directory))); const lit = viewer.headerLit(fileIndex); @@ -25186,22 +11743,22 @@ var Pane = class { for (let y = 0; y < viewportHeight; y++) { const line = new LineBuilder(colors, theme.bg), index = this.treeScroll + y, entry = treeRows[index]; if (entry) { - const { node: node2, depth } = entry, file2 = node2.fileIndex; + const { node: node2, depth } = entry, file = node2.fileIndex; const cursor = index === this.treeCursor, bg = cursor ? theme.highlight : theme.bg; - const read2 = file2 !== void 0 && viewer.isViewed(file2) === true; - const count = file2 === void 0 || read2 ? void 0 : counts[file2]?.visible; + const read2 = file !== void 0 && viewer.isViewed(file) === true; + const count = file === void 0 || read2 ? void 0 : counts[file]?.visible; const tally = count ? [` +${count.added}`, ` \u2212${count.removed} `] : [" "]; - const label = " ".repeat(depth) + (file2 === void 0 ? this.closedDirectories.has(node2.key) ? "\u25B8 " : "\u25BE " : `${files[file2] ? treeMark(file2) : statusGlyph(file2)} `) + node2.name; + const label = " ".repeat(depth) + (file === void 0 ? this.closedDirectories.has(node2.key) ? "\u25B8 " : "\u25BE " : `${files[file] ? treeMark(file) : statusGlyph(file)} `) + node2.name; const width = size.columns - 2 - measureTextWidth(tally.join("")); line.text(cursor ? "\u25B8 " : " ", theme.accent, bg).text( fit(sanitizeTerminalLine(label), width), - file2 === currentFile ? theme.accent : file2 === void 0 || read2 ? theme.muted : theme.fg, + file === currentFile ? theme.accent : file === void 0 || read2 ? theme.muted : theme.fg, bg, - file2 === currentFile + file === currentFile ).fill(2 + width, bg); if (count) line.text(tally[0], theme.addedText, bg).text(tally[1], theme.removedText, bg); line.fill(size.columns, bg); - line.hit(0, size.columns, file2 === void 0 ? { dir: node2.key } : { jump: file2 }); + line.hit(0, size.columns, file === void 0 ? { dir: node2.key } : { jump: file }); } lines.push(line.line(size.columns)); } @@ -25298,8 +11855,8 @@ async function checkVersion($, binary) { let shown; try { shown = await $.process.run([binary, "--version"]); - } catch (error62) { - const reason = error62 instanceof Error ? error62.message : String(error62); + } catch (error2) { + const reason = error2 instanceof Error ? error2.message : String(error2); throw new Error(`${binary} could not run (${reason}). If diffr is installed, run \`diffr config init\` in a terminal so this plugin finds it; otherwise install diffr with: ${INSTALL}`); } if (shown.exitCode !== 0) throw new Error(shown.stderr || `${binary} --version exited with status ${shown.exitCode}`); @@ -25310,14 +11867,14 @@ async function checkVersion($, binary) { if (older >= 0 && version2[older] < MINIMUM[older]) throw new Error(`This plugin needs diffr ${MINIMUM.join(".")} or newer, not ${version2.join(".")}; update it with: diffr upgrade`); } -function check2($, binary, checked) { - return checked.promise ??= checkVersion($, binary).catch((error62) => { +function check($, binary, checked) { + return checked.promise ??= checkVersion($, binary).catch((error2) => { checked.promise = void 0; - throw error62; + throw error2; }); } -function toolArgs(input3) { - const args = input3.args ?? []; +function toolArgs(input2) { + const args = input2.args ?? []; if (!Array.isArray(args) || !args.every((arg) => typeof arg === "string")) throw new Error("args must be a list of strings: revisions or paths, as diffr takes them"); return args; @@ -25361,9 +11918,9 @@ async function pump(store, child) { } try { for await (const event of parseDiffEvents(stdout())) store.accept(event); - } catch (error62) { - store.fail(stderr ? `${error62} -${stderr}` : error62); + } catch (error2) { + store.fail(stderr ? `${error2} +${stderr}` : error2); } } function chipRuns(text, names, theme) { @@ -25405,10 +11962,10 @@ function register(on, options) { const args = splitArgs(e.args); let started; try { - await check2($, binary, version2); + await check($, binary, version2); started = await startDiffr($, binary, child, args); - } catch (error62) { - return { text: `diffr could not start: ${error62 instanceof Error ? error62.message : String(error62)}` }; + } catch (error2) { + return { text: `diffr could not start: ${error2 instanceof Error ? error2.message : String(error2)}` }; } ({ pane, child } = started); opened = { title: ["diffr", ...args].join(" "), columns: Math.floor(e.presentation.columns * 0.6) }; @@ -25416,14 +11973,14 @@ function register(on, options) { return { text: `Opened diffr ${e.args} in a pane.`.replace(" ", " ") }; }); on("tool.call", { tool: TOOL }, async ($, e) => { - const refuse = (error62) => ({ deny: error62 instanceof Error ? error62.message : String(error62) }); + const refuse = (error2) => ({ deny: error2 instanceof Error ? error2.message : String(error2) }); let args, started; try { args = toolArgs(e); - await check2($, binary, version2); + await check($, binary, version2); started = await startDiffr($, binary, child, args); - } catch (error62) { - return refuse(error62); + } catch (error2) { + return refuse(error2); } ({ pane, child } = started); opened = { title: ["diffr", ...args].join(" ") }; @@ -25431,8 +11988,8 @@ function register(on, options) { await named(started.store, started.streamed); try { return { result: summary(args, started.store) }; - } catch (error62) { - return refuse(error62); + } catch (error2) { + return refuse(error2); } }); on("ui.render", { component: "Pane", requestId: "diffr" }, async ($, e) => { @@ -25462,10 +12019,10 @@ function register(on, options) { if (e.requestId !== PANE || !pane) return {}; const post2 = parsePost(e.data); if (post2.hover !== void 0) pane.hover(post2.hover); - for (const [seq, input3] of post2.inputs) { + for (const [seq, input2] of post2.inputs) { if (seq <= (acks.get(post2.instance) ?? 0)) continue; acks.set(post2.instance, seq); - const outcome = pane.input(input3); + const outcome = pane.input(input2); if (outcome.close) { await $.ui.close({ id: PANE }); return {}; From f725b360fb6272d9810a94dc309d8df8e0ef4fbc Mon Sep 17 00:00:00 2001 From: thesiti92 Date: Thu, 12 Nov 2026 21:52:23 +0000 Subject: [PATCH 4/4] Pin the store upgrade test's clock before its fixtures' Trash purge --- packages/review/src/review-api/store-upgrade.test.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/review/src/review-api/store-upgrade.test.ts b/packages/review/src/review-api/store-upgrade.test.ts index 546630e348..5eea5f1c5a 100644 --- a/packages/review/src/review-api/store-upgrade.test.ts +++ b/packages/review/src/review-api/store-upgrade.test.ts @@ -6,7 +6,7 @@ import { DatabaseSync } from "node:sqlite"; import { fileURLToPath } from "node:url"; import { sourceReferences } from "@dev.fast/whiteboard-document"; -import { afterEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { CheckoutGroups, type CheckoutProbe } from "./checkout-groups.js"; import { @@ -33,8 +33,16 @@ const providers = { const opened: ReviewStore[] = []; +// The fixtures hold boards put in Trash when they were made, which a store +// purges once they are 30 days old. Their clock stays a day after the +// newest of them, so an upgrade keeps every board whenever the test runs. +beforeEach(() => { + vi.useFakeTimers({ toFake: ["Date"], now: new Date("2026-10-14T00:00:00Z") }); +}); + afterEach(async () => { await Promise.all(opened.splice(0).map((store) => store.close())); + vi.useRealTimers(); vi.restoreAllMocks(); });