@marcohefti/request-network-api-client 0.5.9 → 0.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/cjs/domains/client-ids/index.js +5 -5
- package/dist/cjs/domains/client-ids/index.js.map +1 -1
- package/dist/cjs/domains/currencies/index.js +19 -17
- package/dist/cjs/domains/currencies/index.js.map +1 -1
- package/dist/cjs/domains/payee-destination/index.js +276 -0
- package/dist/cjs/domains/payee-destination/index.js.map +1 -0
- package/dist/cjs/domains/payouts/index.js +2 -2
- package/dist/cjs/domains/payouts/index.js.map +1 -1
- package/dist/cjs/domains/requests/index.js +3 -1
- package/dist/cjs/domains/requests/index.js.map +1 -1
- package/dist/cjs/index.js +342 -108
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/domains/client-ids/index.d.mts +2 -2
- package/dist/esm/domains/client-ids/index.js +5 -5
- package/dist/esm/domains/client-ids/index.js.map +1 -1
- package/dist/esm/domains/currencies/index.d.mts +2 -2
- package/dist/esm/domains/currencies/index.js +19 -17
- package/dist/esm/domains/currencies/index.js.map +1 -1
- package/dist/esm/domains/payee-destination/index.d.mts +2 -0
- package/dist/esm/domains/payee-destination/index.js +274 -0
- package/dist/esm/domains/payee-destination/index.js.map +1 -0
- package/dist/esm/domains/payer/index.d.mts +2 -2
- package/dist/esm/domains/payouts/index.d.mts +2 -2
- package/dist/esm/domains/payouts/index.js +2 -2
- package/dist/esm/domains/payouts/index.js.map +1 -1
- package/dist/esm/domains/requests/index.d.mts +2 -2
- package/dist/esm/domains/requests/index.js +3 -1
- package/dist/esm/domains/requests/index.js.map +1 -1
- package/dist/esm/{index-BmWmfcnn.d.mts → index-B5uZTITr.d.mts} +1 -1
- package/dist/esm/index-BDVvifym.d.mts +31 -0
- package/dist/esm/{index-CNK36ZX5.d.mts → index-CTQxsAHa.d.mts} +1 -1
- package/dist/esm/{index-Q2g0D7V8.d.mts → index-CvPDycgF.d.mts} +1 -1
- package/dist/esm/{index-Cd7x0Hv-.d.mts → index-DzdJCXFj.d.mts} +1 -1
- package/dist/esm/{index-ziziGrHN.d.mts → index-y-zLkaVo.d.mts} +17 -16
- package/dist/esm/index.d.mts +88 -84
- package/dist/esm/index.js +342 -109
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{openapi-types-CtUFCrk4.d.mts → openapi-types-D-zUdw-r.d.mts} +301 -42
- package/package.json +8 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { d as ClientIdCreateBody, b as ClientIdListResponse, a as ClientIdResponse, e as ClientIdUpdateBody, C as ClientIdsApi, c as createClientIdsApi } from '../../index-
|
|
2
|
-
import '../../openapi-types-
|
|
1
|
+
export { d as ClientIdCreateBody, b as ClientIdListResponse, a as ClientIdResponse, e as ClientIdUpdateBody, C as ClientIdsApi, c as createClientIdsApi } from '../../index-CTQxsAHa.mjs';
|
|
2
|
+
import '../../openapi-types-D-zUdw-r.mjs';
|
|
@@ -263,9 +263,9 @@ var ClientIdV2Controller_findAll_v2_401 = ErrorEnvelopeSchema;
|
|
|
263
263
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findAll_v2", kind: "response", status: 401 }, schema: ClientIdV2Controller_findAll_v2_401 });
|
|
264
264
|
var ClientIdV2Controller_findAll_v2_429 = ErrorEnvelopeSchema;
|
|
265
265
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findAll_v2", kind: "response", status: 429 }, schema: ClientIdV2Controller_findAll_v2_429 });
|
|
266
|
-
var ClientIdV2Controller_create_v2_Request = z.object({ "label": z.string(), "allowedDomains": z.array(z.string()), "feePercentage": z.string().optional(), "feeAddress": z.string().optional() }).passthrough();
|
|
266
|
+
var ClientIdV2Controller_create_v2_Request = z.object({ "label": z.string(), "allowedDomains": z.array(z.string()), "feePercentage": z.string().optional(), "feeAddress": z.string().optional(), "operatorWalletAddress": z.string().optional(), "defaultPreApprovalExpiry": z.number().optional(), "defaultAuthorizationExpiry": z.number().optional() }).passthrough();
|
|
267
267
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "request", variant: "application/json" }, schema: ClientIdV2Controller_create_v2_Request });
|
|
268
|
-
var ClientIdV2Controller_create_v2_201 = z.object({ "id": z.string().optional(), "clientId": z.string().optional(), "label": z.string().optional(), "allowedDomains": z.array(z.string()).optional(), "feePercentage": z.string().nullable().optional(), "feeAddress": z.string().nullable().optional(), "status": z.string().optional(), "createdAt": z.string().optional() }).passthrough();
|
|
268
|
+
var ClientIdV2Controller_create_v2_201 = z.object({ "id": z.string().optional(), "clientId": z.string().optional(), "label": z.string().optional(), "allowedDomains": z.array(z.string()).optional(), "feePercentage": z.string().nullable().optional(), "feeAddress": z.string().nullable().optional(), "operatorWalletAddress": z.string().nullable().optional(), "defaultPreApprovalExpiry": z.number().nullable().optional(), "defaultAuthorizationExpiry": z.number().nullable().optional(), "status": z.string().optional(), "createdAt": z.string().optional() }).passthrough();
|
|
269
269
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "response", status: 201 }, schema: ClientIdV2Controller_create_v2_201 });
|
|
270
270
|
var ClientIdV2Controller_create_v2_400 = ErrorEnvelopeSchema;
|
|
271
271
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "response", status: 400 }, schema: ClientIdV2Controller_create_v2_400 });
|
|
@@ -273,7 +273,7 @@ var ClientIdV2Controller_create_v2_401 = ErrorEnvelopeSchema;
|
|
|
273
273
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "response", status: 401 }, schema: ClientIdV2Controller_create_v2_401 });
|
|
274
274
|
var ClientIdV2Controller_create_v2_429 = ErrorEnvelopeSchema;
|
|
275
275
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "response", status: 429 }, schema: ClientIdV2Controller_create_v2_429 });
|
|
276
|
-
var ClientIdV2Controller_findOne_v2_200 = z.object({ "id": z.string().optional(), "clientId": z.string().optional(), "label": z.string().optional(), "allowedDomains": z.array(z.string()).optional(), "feePercentage": z.string().nullable().optional(), "feeAddress": z.string().nullable().optional(), "status": z.string().optional(), "createdAt": z.string().optional(), "updatedAt": z.string().optional(), "lastUsedAt": z.string().nullable().optional() }).passthrough();
|
|
276
|
+
var ClientIdV2Controller_findOne_v2_200 = z.object({ "id": z.string().optional(), "clientId": z.string().optional(), "label": z.string().optional(), "allowedDomains": z.array(z.string()).optional(), "feePercentage": z.string().nullable().optional(), "feeAddress": z.string().nullable().optional(), "operatorWalletAddress": z.string().nullable().optional(), "defaultPreApprovalExpiry": z.number().nullable().optional(), "defaultAuthorizationExpiry": z.number().nullable().optional(), "status": z.string().optional(), "createdAt": z.string().optional(), "updatedAt": z.string().optional(), "lastUsedAt": z.string().nullable().optional() }).passthrough();
|
|
277
277
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findOne_v2", kind: "response", status: 200 }, schema: ClientIdV2Controller_findOne_v2_200 });
|
|
278
278
|
var ClientIdV2Controller_findOne_v2_401 = ErrorEnvelopeSchema;
|
|
279
279
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findOne_v2", kind: "response", status: 401 }, schema: ClientIdV2Controller_findOne_v2_401 });
|
|
@@ -281,9 +281,9 @@ var ClientIdV2Controller_findOne_v2_404 = ErrorEnvelopeSchema;
|
|
|
281
281
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findOne_v2", kind: "response", status: 404 }, schema: ClientIdV2Controller_findOne_v2_404 });
|
|
282
282
|
var ClientIdV2Controller_findOne_v2_429 = ErrorEnvelopeSchema;
|
|
283
283
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findOne_v2", kind: "response", status: 429 }, schema: ClientIdV2Controller_findOne_v2_429 });
|
|
284
|
-
var ClientIdV2Controller_update_v2_Request = z.object({ "label": z.string().optional(), "allowedDomains": z.array(z.string()).optional(), "feePercentage": z.string().nullable().optional(), "feeAddress": z.string().nullable().optional(), "status": z.enum(["active", "inactive", "revoked"]).optional() }).passthrough();
|
|
284
|
+
var ClientIdV2Controller_update_v2_Request = z.object({ "label": z.string().optional(), "allowedDomains": z.array(z.string()).optional(), "feePercentage": z.string().nullable().optional(), "feeAddress": z.string().nullable().optional(), "operatorWalletAddress": z.string().nullable().optional(), "defaultPreApprovalExpiry": z.number().nullable().optional(), "defaultAuthorizationExpiry": z.number().nullable().optional(), "status": z.enum(["active", "inactive", "revoked"]).optional() }).passthrough();
|
|
285
285
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_update_v2", kind: "request", variant: "application/json" }, schema: ClientIdV2Controller_update_v2_Request });
|
|
286
|
-
var ClientIdV2Controller_update_v2_200 = z.object({ "id": z.string().optional(), "clientId": z.string().optional(), "label": z.string().optional(), "allowedDomains": z.array(z.string()).optional(), "feePercentage": z.string().nullable().optional(), "feeAddress": z.string().nullable().optional(), "status": z.string().optional(), "updatedAt": z.string().optional() }).passthrough();
|
|
286
|
+
var ClientIdV2Controller_update_v2_200 = z.object({ "id": z.string().optional(), "clientId": z.string().optional(), "label": z.string().optional(), "allowedDomains": z.array(z.string()).optional(), "feePercentage": z.string().nullable().optional(), "feeAddress": z.string().nullable().optional(), "operatorWalletAddress": z.string().nullable().optional(), "defaultPreApprovalExpiry": z.number().nullable().optional(), "defaultAuthorizationExpiry": z.number().nullable().optional(), "status": z.string().optional(), "updatedAt": z.string().optional() }).passthrough();
|
|
287
287
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_update_v2", kind: "response", status: 200 }, schema: ClientIdV2Controller_update_v2_200 });
|
|
288
288
|
var ClientIdV2Controller_update_v2_400 = ErrorEnvelopeSchema;
|
|
289
289
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_update_v2", kind: "response", status: 400 }, schema: ClientIdV2Controller_update_v2_400 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/core/http/validation.config.ts","../../../../src/validation/schema.registry.ts","../../../../src/validation/zod.helpers.ts","../../../../src/core/http/operation.helper.ts","../../../../src/core/http/path.builder.ts","../../../../src/domains/client-ids/client-ids.facade.ts","../../../../src/validation/generated/groups/client-ids.schemas.generated.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { RuntimeValidationConfig, RuntimeValidationOption } from \"./http.types\";\n\nconst DEFAULT_RUNTIME_VALIDATION: RuntimeValidationConfig = {\n requests: true,\n responses: true,\n errors: true,\n};\n\nfunction normaliseBoolean(flag: boolean | undefined, fallback: boolean): boolean {\n return typeof flag === \"boolean\" ? flag : fallback;\n}\n\nexport function normaliseRuntimeValidation(option?: RuntimeValidationOption): RuntimeValidationConfig {\n if (typeof option === \"boolean\") {\n return {\n requests: option,\n responses: option,\n errors: option,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(option?.requests, DEFAULT_RUNTIME_VALIDATION.requests),\n responses: normaliseBoolean(option?.responses, DEFAULT_RUNTIME_VALIDATION.responses),\n errors: normaliseBoolean(option?.errors, DEFAULT_RUNTIME_VALIDATION.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function mergeRuntimeValidation(base: RuntimeValidationConfig, override?: RuntimeValidationOption): RuntimeValidationConfig {\n if (override === undefined) {\n return base;\n }\n\n if (typeof override === \"boolean\") {\n return {\n requests: override,\n responses: override,\n errors: override,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(override.requests, base.requests),\n responses: normaliseBoolean(override.responses, base.responses),\n errors: normaliseBoolean(override.errors, base.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function cloneRuntimeValidation(config: RuntimeValidationConfig): RuntimeValidationConfig {\n return { ...config };\n}\n","import type { ZodTypeAny } from \"zod\";\n\nexport type SchemaKind = \"request\" | \"response\" | \"webhook\";\n\nexport interface SchemaKey {\n operationId: string;\n kind: SchemaKind;\n variant?: string;\n status?: number;\n}\n\nexport interface SchemaEntry<TSchema extends ZodTypeAny = ZodTypeAny> {\n key: SchemaKey;\n schema: TSchema;\n}\n\nfunction serialiseKey(key: SchemaKey): string {\n const variant = key.variant ?? \"default\";\n const status = key.status?.toString() ?? \"any\";\n return `${key.operationId}|${key.kind}|${variant}|${status}`;\n}\n\n/**\n * Lightweight registry that associates OpenAPI operation IDs with validation schemas.\n * Generators can populate this map while domain modules retrieve the schemas at runtime.\n */\nexport class SchemaRegistry {\n private readonly store = new Map<string, SchemaEntry>();\n\n register(entry: SchemaEntry): void {\n const id = serialiseKey(entry.key);\n this.store.set(id, entry);\n }\n\n get(key: SchemaKey): ZodTypeAny | undefined {\n const id = serialiseKey(key);\n return this.store.get(id)?.schema;\n }\n\n /**\n * Removes every registered schema — primarily useful in tests.\n */\n clear(): void {\n this.store.clear();\n }\n}\n\nexport const schemaRegistry = new SchemaRegistry();\n","import { type SafeParseReturnType, type ZodTypeAny } from \"zod\";\n\nimport type { SchemaKey } from \"./schema.registry\";\nimport { schemaRegistry } from \"./schema.registry\";\n\nexport type SchemaOutput<TSchema extends ZodTypeAny> = TSchema[\"_output\"];\n\nexport interface ParseWithSchemaOptions<TSchema extends ZodTypeAny> {\n schema: TSchema;\n value: unknown;\n description?: string;\n}\n\nexport interface ParseRegistryOptions {\n key: SchemaKey;\n value: unknown;\n description?: string;\n skipOnMissingSchema?: boolean;\n}\n\nexport interface ParseResult<T> {\n success: boolean;\n data?: T;\n error?: unknown;\n}\n\nexport class ValidationError extends Error {\n constructor(message: string, readonly cause?: unknown) {\n super(message, { cause });\n this.name = \"ClientValidationError\";\n }\n}\n\nexport function parseWithSchema<TSchema extends ZodTypeAny>(\n options: ParseWithSchemaOptions<TSchema>,\n): ParseResult<SchemaOutput<TSchema>> {\n const { schema, value, description } = options;\n const outcome: SafeParseReturnType<unknown, SchemaOutput<TSchema>> = schema.safeParse(value);\n if (outcome.success) {\n return { success: true, data: outcome.data };\n }\n\n const error = new ValidationError(description ?? \"Validation failed\", outcome.error);\n return { success: false, error };\n}\n\nexport function parseWithRegistry<TSchema extends ZodTypeAny>(options: ParseRegistryOptions): ParseResult<SchemaOutput<TSchema>> {\n const schema = schemaRegistry.get(options.key) as TSchema | undefined;\n if (!schema) {\n if (options.skipOnMissingSchema) {\n return { success: true, data: options.value as SchemaOutput<TSchema> };\n }\n return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };\n }\n\n return parseWithSchema({ schema, value: options.value, description: options.description });\n}\n","import type { HttpClient, HttpMethod, RequestOptions, RuntimeValidationOption } from \"./http.types\";\nimport { mergeRuntimeValidation } from \"./validation.config\";\nimport type { SchemaKey } from \"../../validation/schema.registry\";\nimport { parseWithRegistry } from \"../../validation/zod.helpers\";\n\ntype Query = NonNullable<RequestOptions[\"query\"]>;\n\nexport interface RequestJsonParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n schemaKey: SchemaKey;\n requestSchemaKey?: SchemaKey;\n description?: string;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestJson<T>(http: HttpClient, params: RequestJsonParams): Promise<T> {\n const {\n operationId,\n method,\n path,\n query,\n body,\n schemaKey,\n requestSchemaKey,\n description,\n querySerializer,\n signal,\n timeoutMs,\n validation,\n meta,\n } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${description ?? operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n const res = await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n\n if (!runtimeValidation.responses) {\n return res.data as T;\n }\n\n const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });\n if (!parsedResponse.success) throw parsedResponse.error;\n return parsedResponse.data as T;\n}\n\nexport interface RequestVoidParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n requestSchemaKey?: SchemaKey;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestVoid(http: HttpClient, params: RequestVoidParams): Promise<void> {\n const { operationId, method, path, query, body, querySerializer, signal, timeoutMs, requestSchemaKey, validation, meta } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n}\n","export function buildPath(template: string, params: Record<string, string | number>): string {\n return template.replace(/\\{(.*?)\\}/g, (_, key: string) => encodeURIComponent(String(params[key] ?? \"\")));\n}\n\n","import type { HttpClient } from \"../../core/http/http.types\";\nimport { requestJson, requestVoid } from \"../../core/http/operation.helper\";\nimport { buildPath } from \"../../core/http/path.builder\";\nimport type { operations } from \"../../generated/openapi-types\";\n\nexport type ClientIdListResponse = operations[\"ClientIdV2Controller_findAll_v2\"][\"responses\"][200][\"content\"][\"application/json\"]; // array\nexport type ClientIdCreateBody = operations[\"ClientIdV2Controller_create_v2\"][\"requestBody\"][\"content\"][\"application/json\"]; // input\nexport type ClientIdResponse = operations[\"ClientIdV2Controller_findOne_v2\"][\"responses\"][200][\"content\"][\"application/json\"]; // single\nexport type ClientIdUpdateBody = operations[\"ClientIdV2Controller_update_v2\"][\"requestBody\"][\"content\"][\"application/json\"]; // input\n\nexport interface ClientIdsApi {\n list(): Promise<ClientIdListResponse>;\n create(body: ClientIdCreateBody): Promise<ClientIdResponse>;\n findOne(id: string): Promise<ClientIdResponse>;\n update(id: string, body: ClientIdUpdateBody): Promise<ClientIdResponse>;\n revoke(id: string): Promise<void>;\n}\n\nexport function createClientIdsApi(http: HttpClient): ClientIdsApi {\n const PATH_BASE = \"/v2/client-ids\" as const;\n return {\n async list() {\n const OP = \"ClientIdV2Controller_findAll_v2\" as const;\n return requestJson<ClientIdListResponse>(http, {\n operationId: OP,\n method: \"GET\",\n path: PATH_BASE,\n schemaKey: { operationId: OP, kind: \"response\", status: 200 },\n description: \"List client IDs\",\n });\n },\n async create(body) {\n const OP = \"ClientIdV2Controller_create_v2\" as const;\n return requestJson<ClientIdResponse>(http, {\n operationId: OP,\n method: \"POST\",\n path: PATH_BASE,\n body,\n requestSchemaKey: { operationId: OP, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP, kind: \"response\", status: 201 },\n description: \"Create client ID\",\n });\n },\n async findOne(id) {\n const path = buildPath(`${PATH_BASE}/{id}`, { id });\n const OP = \"ClientIdV2Controller_findOne_v2\" as const;\n return requestJson<ClientIdResponse>(http, {\n operationId: OP,\n method: \"GET\",\n path,\n schemaKey: { operationId: OP, kind: \"response\", status: 200 },\n description: \"Get client ID\",\n });\n },\n async update(id, body) {\n const path = buildPath(`${PATH_BASE}/{id}`, { id });\n const OP = \"ClientIdV2Controller_update_v2\" as const;\n return requestJson<ClientIdResponse>(http, {\n operationId: OP,\n method: \"PUT\",\n path,\n body,\n requestSchemaKey: { operationId: OP, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP, kind: \"response\", status: 200 },\n description: \"Update client ID\",\n });\n },\n async revoke(id) {\n const path = buildPath(`${PATH_BASE}/{id}`, { id });\n const OP = \"ClientIdV2Controller_delete_v2\" as const;\n await requestVoid(http, {\n operationId: OP,\n method: \"DELETE\",\n path,\n });\n },\n };\n}\n","// Auto-generated by scripts/generate-zod.mjs. Do not edit.\nimport { z } from 'zod';\n\nimport { schemaRegistry } from '../../schema.registry';\n\nconst ErrorDetailSchema = z\n .object({\n message: z.string(),\n code: z.string().optional(),\n field: z.string().optional(),\n source: z\n .object({\n pointer: z.string().optional(),\n parameter: z.string().optional(),\n })\n .passthrough()\n .optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\nconst ErrorEnvelopeSchema = z\n .object({\n status: z.number().optional(),\n statusCode: z.number().optional(),\n code: z.string().optional(),\n error: z.string().optional(),\n message: z\n .union([\n z.string(),\n z.array(z.union([z.string(), ErrorDetailSchema])),\n ErrorDetailSchema,\n ])\n .optional(),\n detail: z.unknown().optional(),\n errors: z.array(ErrorDetailSchema).optional(),\n requestId: z.string().optional(),\n correlationId: z.string().optional(),\n retryAfter: z.union([z.number(), z.string()]).optional(),\n retryAfterMs: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\n// GET /v2/client-ids -> ClientIdV2Controller_findAll_v2 (200)\nexport const ClientIdV2Controller_findAll_v2_200 = z.array(z.object({ \"id\": (z.string()).optional(), \"clientId\": (z.string()).optional(), \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"status\": (z.string()).optional(), \"createdAt\": (z.string()).optional(), \"lastUsedAt\": (z.string().nullable()).optional() }).passthrough());\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findAll_v2', kind: 'response', status: 200 }, schema: ClientIdV2Controller_findAll_v2_200 });\n\n// GET /v2/client-ids -> ClientIdV2Controller_findAll_v2 (401)\nexport const ClientIdV2Controller_findAll_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findAll_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_findAll_v2_401 });\n\n// GET /v2/client-ids -> ClientIdV2Controller_findAll_v2 (429)\nexport const ClientIdV2Controller_findAll_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findAll_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_findAll_v2_429 });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 request (application/json)\nexport const ClientIdV2Controller_create_v2_Request = z.object({ \"label\": z.string(), \"allowedDomains\": z.array(z.string()), \"feePercentage\": (z.string()).optional(), \"feeAddress\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'request', variant: 'application/json' }, schema: ClientIdV2Controller_create_v2_Request });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 (201)\nexport const ClientIdV2Controller_create_v2_201 = z.object({ \"id\": (z.string()).optional(), \"clientId\": (z.string()).optional(), \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"feePercentage\": (z.string().nullable()).optional(), \"feeAddress\": (z.string().nullable()).optional(), \"status\": (z.string()).optional(), \"createdAt\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'response', status: 201 }, schema: ClientIdV2Controller_create_v2_201 });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 (400)\nexport const ClientIdV2Controller_create_v2_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'response', status: 400 }, schema: ClientIdV2Controller_create_v2_400 });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 (401)\nexport const ClientIdV2Controller_create_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_create_v2_401 });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 (429)\nexport const ClientIdV2Controller_create_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_create_v2_429 });\n\n// GET /v2/client-ids/{id} -> ClientIdV2Controller_findOne_v2 (200)\nexport const ClientIdV2Controller_findOne_v2_200 = z.object({ \"id\": (z.string()).optional(), \"clientId\": (z.string()).optional(), \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"feePercentage\": (z.string().nullable()).optional(), \"feeAddress\": (z.string().nullable()).optional(), \"status\": (z.string()).optional(), \"createdAt\": (z.string()).optional(), \"updatedAt\": (z.string()).optional(), \"lastUsedAt\": (z.string().nullable()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findOne_v2', kind: 'response', status: 200 }, schema: ClientIdV2Controller_findOne_v2_200 });\n\n// GET /v2/client-ids/{id} -> ClientIdV2Controller_findOne_v2 (401)\nexport const ClientIdV2Controller_findOne_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findOne_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_findOne_v2_401 });\n\n// GET /v2/client-ids/{id} -> ClientIdV2Controller_findOne_v2 (404)\nexport const ClientIdV2Controller_findOne_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findOne_v2', kind: 'response', status: 404 }, schema: ClientIdV2Controller_findOne_v2_404 });\n\n// GET /v2/client-ids/{id} -> ClientIdV2Controller_findOne_v2 (429)\nexport const ClientIdV2Controller_findOne_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findOne_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_findOne_v2_429 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 request (application/json)\nexport const ClientIdV2Controller_update_v2_Request = z.object({ \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"feePercentage\": (z.string().nullable()).optional(), \"feeAddress\": (z.string().nullable()).optional(), \"status\": (z.enum(['active', 'inactive', 'revoked'])).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'request', variant: 'application/json' }, schema: ClientIdV2Controller_update_v2_Request });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (200)\nexport const ClientIdV2Controller_update_v2_200 = z.object({ \"id\": (z.string()).optional(), \"clientId\": (z.string()).optional(), \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"feePercentage\": (z.string().nullable()).optional(), \"feeAddress\": (z.string().nullable()).optional(), \"status\": (z.string()).optional(), \"updatedAt\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 200 }, schema: ClientIdV2Controller_update_v2_200 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (400)\nexport const ClientIdV2Controller_update_v2_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 400 }, schema: ClientIdV2Controller_update_v2_400 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (401)\nexport const ClientIdV2Controller_update_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_update_v2_401 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (404)\nexport const ClientIdV2Controller_update_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 404 }, schema: ClientIdV2Controller_update_v2_404 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (429)\nexport const ClientIdV2Controller_update_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_update_v2_429 });\n\n// DELETE /v2/client-ids/{id} -> ClientIdV2Controller_delete_v2 (200)\nexport const ClientIdV2Controller_delete_v2_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_delete_v2', kind: 'response', status: 200 }, schema: ClientIdV2Controller_delete_v2_200 });\n\n// DELETE /v2/client-ids/{id} -> ClientIdV2Controller_delete_v2 (401)\nexport const ClientIdV2Controller_delete_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_delete_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_delete_v2_401 });\n\n// DELETE /v2/client-ids/{id} -> ClientIdV2Controller_delete_v2 (404)\nexport const ClientIdV2Controller_delete_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_delete_v2', kind: 'response', status: 404 }, schema: ClientIdV2Controller_delete_v2_404 });\n\n// DELETE /v2/client-ids/{id} -> ClientIdV2Controller_delete_v2 (429)\nexport const ClientIdV2Controller_delete_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_delete_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_delete_v2_429 });\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/http/validation.config.ts","../../../../src/validation/schema.registry.ts","../../../../src/validation/zod.helpers.ts","../../../../src/core/http/operation.helper.ts","../../../../src/core/http/path.builder.ts","../../../../src/domains/client-ids/client-ids.facade.ts","../../../../src/validation/generated/groups/client-ids.schemas.generated.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { RuntimeValidationConfig, RuntimeValidationOption } from \"./http.types\";\n\nconst DEFAULT_RUNTIME_VALIDATION: RuntimeValidationConfig = {\n requests: true,\n responses: true,\n errors: true,\n};\n\nfunction normaliseBoolean(flag: boolean | undefined, fallback: boolean): boolean {\n return typeof flag === \"boolean\" ? flag : fallback;\n}\n\nexport function normaliseRuntimeValidation(option?: RuntimeValidationOption): RuntimeValidationConfig {\n if (typeof option === \"boolean\") {\n return {\n requests: option,\n responses: option,\n errors: option,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(option?.requests, DEFAULT_RUNTIME_VALIDATION.requests),\n responses: normaliseBoolean(option?.responses, DEFAULT_RUNTIME_VALIDATION.responses),\n errors: normaliseBoolean(option?.errors, DEFAULT_RUNTIME_VALIDATION.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function mergeRuntimeValidation(base: RuntimeValidationConfig, override?: RuntimeValidationOption): RuntimeValidationConfig {\n if (override === undefined) {\n return base;\n }\n\n if (typeof override === \"boolean\") {\n return {\n requests: override,\n responses: override,\n errors: override,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(override.requests, base.requests),\n responses: normaliseBoolean(override.responses, base.responses),\n errors: normaliseBoolean(override.errors, base.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function cloneRuntimeValidation(config: RuntimeValidationConfig): RuntimeValidationConfig {\n return { ...config };\n}\n","import type { ZodTypeAny } from \"zod\";\n\nexport type SchemaKind = \"request\" | \"response\" | \"webhook\";\n\nexport interface SchemaKey {\n operationId: string;\n kind: SchemaKind;\n variant?: string;\n status?: number;\n}\n\nexport interface SchemaEntry<TSchema extends ZodTypeAny = ZodTypeAny> {\n key: SchemaKey;\n schema: TSchema;\n}\n\nfunction serialiseKey(key: SchemaKey): string {\n const variant = key.variant ?? \"default\";\n const status = key.status?.toString() ?? \"any\";\n return `${key.operationId}|${key.kind}|${variant}|${status}`;\n}\n\n/**\n * Lightweight registry that associates OpenAPI operation IDs with validation schemas.\n * Generators can populate this map while domain modules retrieve the schemas at runtime.\n */\nexport class SchemaRegistry {\n private readonly store = new Map<string, SchemaEntry>();\n\n register(entry: SchemaEntry): void {\n const id = serialiseKey(entry.key);\n this.store.set(id, entry);\n }\n\n get(key: SchemaKey): ZodTypeAny | undefined {\n const id = serialiseKey(key);\n return this.store.get(id)?.schema;\n }\n\n /**\n * Removes every registered schema — primarily useful in tests.\n */\n clear(): void {\n this.store.clear();\n }\n}\n\nexport const schemaRegistry = new SchemaRegistry();\n","import { type SafeParseReturnType, type ZodTypeAny } from \"zod\";\n\nimport type { SchemaKey } from \"./schema.registry\";\nimport { schemaRegistry } from \"./schema.registry\";\n\nexport type SchemaOutput<TSchema extends ZodTypeAny> = TSchema[\"_output\"];\n\nexport interface ParseWithSchemaOptions<TSchema extends ZodTypeAny> {\n schema: TSchema;\n value: unknown;\n description?: string;\n}\n\nexport interface ParseRegistryOptions {\n key: SchemaKey;\n value: unknown;\n description?: string;\n skipOnMissingSchema?: boolean;\n}\n\nexport interface ParseResult<T> {\n success: boolean;\n data?: T;\n error?: unknown;\n}\n\nexport class ValidationError extends Error {\n constructor(message: string, readonly cause?: unknown) {\n super(message, { cause });\n this.name = \"ClientValidationError\";\n }\n}\n\nexport function parseWithSchema<TSchema extends ZodTypeAny>(\n options: ParseWithSchemaOptions<TSchema>,\n): ParseResult<SchemaOutput<TSchema>> {\n const { schema, value, description } = options;\n const outcome: SafeParseReturnType<unknown, SchemaOutput<TSchema>> = schema.safeParse(value);\n if (outcome.success) {\n return { success: true, data: outcome.data };\n }\n\n const error = new ValidationError(description ?? \"Validation failed\", outcome.error);\n return { success: false, error };\n}\n\nexport function parseWithRegistry<TSchema extends ZodTypeAny>(options: ParseRegistryOptions): ParseResult<SchemaOutput<TSchema>> {\n const schema = schemaRegistry.get(options.key) as TSchema | undefined;\n if (!schema) {\n if (options.skipOnMissingSchema) {\n return { success: true, data: options.value as SchemaOutput<TSchema> };\n }\n return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };\n }\n\n return parseWithSchema({ schema, value: options.value, description: options.description });\n}\n","import type { HttpClient, HttpMethod, RequestOptions, RuntimeValidationOption } from \"./http.types\";\nimport { mergeRuntimeValidation } from \"./validation.config\";\nimport type { SchemaKey } from \"../../validation/schema.registry\";\nimport { parseWithRegistry } from \"../../validation/zod.helpers\";\n\ntype Query = NonNullable<RequestOptions[\"query\"]>;\n\nexport interface RequestJsonParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n schemaKey: SchemaKey;\n requestSchemaKey?: SchemaKey;\n description?: string;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestJson<T>(http: HttpClient, params: RequestJsonParams): Promise<T> {\n const {\n operationId,\n method,\n path,\n query,\n body,\n schemaKey,\n requestSchemaKey,\n description,\n querySerializer,\n signal,\n timeoutMs,\n validation,\n meta,\n } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${description ?? operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n const res = await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n\n if (!runtimeValidation.responses) {\n return res.data as T;\n }\n\n const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });\n if (!parsedResponse.success) throw parsedResponse.error;\n return parsedResponse.data as T;\n}\n\nexport interface RequestVoidParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n requestSchemaKey?: SchemaKey;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestVoid(http: HttpClient, params: RequestVoidParams): Promise<void> {\n const { operationId, method, path, query, body, querySerializer, signal, timeoutMs, requestSchemaKey, validation, meta } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n}\n","export function buildPath(template: string, params: Record<string, string | number>): string {\n return template.replace(/\\{(.*?)\\}/g, (_, key: string) => encodeURIComponent(String(params[key] ?? \"\")));\n}\n\n","import type { HttpClient } from \"../../core/http/http.types\";\nimport { requestJson, requestVoid } from \"../../core/http/operation.helper\";\nimport { buildPath } from \"../../core/http/path.builder\";\nimport type { operations } from \"../../generated/openapi-types\";\n\nexport type ClientIdListResponse = operations[\"ClientIdV2Controller_findAll_v2\"][\"responses\"][200][\"content\"][\"application/json\"]; // array\nexport type ClientIdCreateBody = operations[\"ClientIdV2Controller_create_v2\"][\"requestBody\"][\"content\"][\"application/json\"]; // input\nexport type ClientIdResponse = operations[\"ClientIdV2Controller_findOne_v2\"][\"responses\"][200][\"content\"][\"application/json\"]; // single\nexport type ClientIdUpdateBody = operations[\"ClientIdV2Controller_update_v2\"][\"requestBody\"][\"content\"][\"application/json\"]; // input\n\nexport interface ClientIdsApi {\n list(): Promise<ClientIdListResponse>;\n create(body: ClientIdCreateBody): Promise<ClientIdResponse>;\n findOne(id: string): Promise<ClientIdResponse>;\n update(id: string, body: ClientIdUpdateBody): Promise<ClientIdResponse>;\n revoke(id: string): Promise<void>;\n}\n\nexport function createClientIdsApi(http: HttpClient): ClientIdsApi {\n const PATH_BASE = \"/v2/client-ids\" as const;\n return {\n async list() {\n const OP = \"ClientIdV2Controller_findAll_v2\" as const;\n return requestJson<ClientIdListResponse>(http, {\n operationId: OP,\n method: \"GET\",\n path: PATH_BASE,\n schemaKey: { operationId: OP, kind: \"response\", status: 200 },\n description: \"List client IDs\",\n });\n },\n async create(body) {\n const OP = \"ClientIdV2Controller_create_v2\" as const;\n return requestJson<ClientIdResponse>(http, {\n operationId: OP,\n method: \"POST\",\n path: PATH_BASE,\n body,\n requestSchemaKey: { operationId: OP, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP, kind: \"response\", status: 201 },\n description: \"Create client ID\",\n });\n },\n async findOne(id) {\n const path = buildPath(`${PATH_BASE}/{id}`, { id });\n const OP = \"ClientIdV2Controller_findOne_v2\" as const;\n return requestJson<ClientIdResponse>(http, {\n operationId: OP,\n method: \"GET\",\n path,\n schemaKey: { operationId: OP, kind: \"response\", status: 200 },\n description: \"Get client ID\",\n });\n },\n async update(id, body) {\n const path = buildPath(`${PATH_BASE}/{id}`, { id });\n const OP = \"ClientIdV2Controller_update_v2\" as const;\n return requestJson<ClientIdResponse>(http, {\n operationId: OP,\n method: \"PUT\",\n path,\n body,\n requestSchemaKey: { operationId: OP, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP, kind: \"response\", status: 200 },\n description: \"Update client ID\",\n });\n },\n async revoke(id) {\n const path = buildPath(`${PATH_BASE}/{id}`, { id });\n const OP = \"ClientIdV2Controller_delete_v2\" as const;\n await requestVoid(http, {\n operationId: OP,\n method: \"DELETE\",\n path,\n });\n },\n };\n}\n","// Auto-generated by scripts/generate-zod.mjs. Do not edit.\nimport { z } from 'zod';\n\nimport { schemaRegistry } from '../../schema.registry';\n\nconst ErrorDetailSchema = z\n .object({\n message: z.string(),\n code: z.string().optional(),\n field: z.string().optional(),\n source: z\n .object({\n pointer: z.string().optional(),\n parameter: z.string().optional(),\n })\n .passthrough()\n .optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\nconst ErrorEnvelopeSchema = z\n .object({\n status: z.number().optional(),\n statusCode: z.number().optional(),\n code: z.string().optional(),\n error: z.string().optional(),\n message: z\n .union([\n z.string(),\n z.array(z.union([z.string(), ErrorDetailSchema])),\n ErrorDetailSchema,\n ])\n .optional(),\n detail: z.unknown().optional(),\n errors: z.array(ErrorDetailSchema).optional(),\n requestId: z.string().optional(),\n correlationId: z.string().optional(),\n retryAfter: z.union([z.number(), z.string()]).optional(),\n retryAfterMs: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\n// GET /v2/client-ids -> ClientIdV2Controller_findAll_v2 (200)\nexport const ClientIdV2Controller_findAll_v2_200 = z.array(z.object({ \"id\": (z.string()).optional(), \"clientId\": (z.string()).optional(), \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"status\": (z.string()).optional(), \"createdAt\": (z.string()).optional(), \"lastUsedAt\": (z.string().nullable()).optional() }).passthrough());\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findAll_v2', kind: 'response', status: 200 }, schema: ClientIdV2Controller_findAll_v2_200 });\n\n// GET /v2/client-ids -> ClientIdV2Controller_findAll_v2 (401)\nexport const ClientIdV2Controller_findAll_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findAll_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_findAll_v2_401 });\n\n// GET /v2/client-ids -> ClientIdV2Controller_findAll_v2 (429)\nexport const ClientIdV2Controller_findAll_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findAll_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_findAll_v2_429 });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 request (application/json)\nexport const ClientIdV2Controller_create_v2_Request = z.object({ \"label\": z.string(), \"allowedDomains\": z.array(z.string()), \"feePercentage\": (z.string()).optional(), \"feeAddress\": (z.string()).optional(), \"operatorWalletAddress\": (z.string()).optional(), \"defaultPreApprovalExpiry\": (z.number()).optional(), \"defaultAuthorizationExpiry\": (z.number()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'request', variant: 'application/json' }, schema: ClientIdV2Controller_create_v2_Request });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 (201)\nexport const ClientIdV2Controller_create_v2_201 = z.object({ \"id\": (z.string()).optional(), \"clientId\": (z.string()).optional(), \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"feePercentage\": (z.string().nullable()).optional(), \"feeAddress\": (z.string().nullable()).optional(), \"operatorWalletAddress\": (z.string().nullable()).optional(), \"defaultPreApprovalExpiry\": (z.number().nullable()).optional(), \"defaultAuthorizationExpiry\": (z.number().nullable()).optional(), \"status\": (z.string()).optional(), \"createdAt\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'response', status: 201 }, schema: ClientIdV2Controller_create_v2_201 });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 (400)\nexport const ClientIdV2Controller_create_v2_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'response', status: 400 }, schema: ClientIdV2Controller_create_v2_400 });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 (401)\nexport const ClientIdV2Controller_create_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_create_v2_401 });\n\n// POST /v2/client-ids -> ClientIdV2Controller_create_v2 (429)\nexport const ClientIdV2Controller_create_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_create_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_create_v2_429 });\n\n// GET /v2/client-ids/{id} -> ClientIdV2Controller_findOne_v2 (200)\nexport const ClientIdV2Controller_findOne_v2_200 = z.object({ \"id\": (z.string()).optional(), \"clientId\": (z.string()).optional(), \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"feePercentage\": (z.string().nullable()).optional(), \"feeAddress\": (z.string().nullable()).optional(), \"operatorWalletAddress\": (z.string().nullable()).optional(), \"defaultPreApprovalExpiry\": (z.number().nullable()).optional(), \"defaultAuthorizationExpiry\": (z.number().nullable()).optional(), \"status\": (z.string()).optional(), \"createdAt\": (z.string()).optional(), \"updatedAt\": (z.string()).optional(), \"lastUsedAt\": (z.string().nullable()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findOne_v2', kind: 'response', status: 200 }, schema: ClientIdV2Controller_findOne_v2_200 });\n\n// GET /v2/client-ids/{id} -> ClientIdV2Controller_findOne_v2 (401)\nexport const ClientIdV2Controller_findOne_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findOne_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_findOne_v2_401 });\n\n// GET /v2/client-ids/{id} -> ClientIdV2Controller_findOne_v2 (404)\nexport const ClientIdV2Controller_findOne_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findOne_v2', kind: 'response', status: 404 }, schema: ClientIdV2Controller_findOne_v2_404 });\n\n// GET /v2/client-ids/{id} -> ClientIdV2Controller_findOne_v2 (429)\nexport const ClientIdV2Controller_findOne_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_findOne_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_findOne_v2_429 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 request (application/json)\nexport const ClientIdV2Controller_update_v2_Request = z.object({ \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"feePercentage\": (z.string().nullable()).optional(), \"feeAddress\": (z.string().nullable()).optional(), \"operatorWalletAddress\": (z.string().nullable()).optional(), \"defaultPreApprovalExpiry\": (z.number().nullable()).optional(), \"defaultAuthorizationExpiry\": (z.number().nullable()).optional(), \"status\": (z.enum(['active', 'inactive', 'revoked'])).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'request', variant: 'application/json' }, schema: ClientIdV2Controller_update_v2_Request });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (200)\nexport const ClientIdV2Controller_update_v2_200 = z.object({ \"id\": (z.string()).optional(), \"clientId\": (z.string()).optional(), \"label\": (z.string()).optional(), \"allowedDomains\": (z.array(z.string())).optional(), \"feePercentage\": (z.string().nullable()).optional(), \"feeAddress\": (z.string().nullable()).optional(), \"operatorWalletAddress\": (z.string().nullable()).optional(), \"defaultPreApprovalExpiry\": (z.number().nullable()).optional(), \"defaultAuthorizationExpiry\": (z.number().nullable()).optional(), \"status\": (z.string()).optional(), \"updatedAt\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 200 }, schema: ClientIdV2Controller_update_v2_200 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (400)\nexport const ClientIdV2Controller_update_v2_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 400 }, schema: ClientIdV2Controller_update_v2_400 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (401)\nexport const ClientIdV2Controller_update_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_update_v2_401 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (404)\nexport const ClientIdV2Controller_update_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 404 }, schema: ClientIdV2Controller_update_v2_404 });\n\n// PUT /v2/client-ids/{id} -> ClientIdV2Controller_update_v2 (429)\nexport const ClientIdV2Controller_update_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_update_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_update_v2_429 });\n\n// DELETE /v2/client-ids/{id} -> ClientIdV2Controller_delete_v2 (200)\nexport const ClientIdV2Controller_delete_v2_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_delete_v2', kind: 'response', status: 200 }, schema: ClientIdV2Controller_delete_v2_200 });\n\n// DELETE /v2/client-ids/{id} -> ClientIdV2Controller_delete_v2 (401)\nexport const ClientIdV2Controller_delete_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_delete_v2', kind: 'response', status: 401 }, schema: ClientIdV2Controller_delete_v2_401 });\n\n// DELETE /v2/client-ids/{id} -> ClientIdV2Controller_delete_v2 (404)\nexport const ClientIdV2Controller_delete_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_delete_v2', kind: 'response', status: 404 }, schema: ClientIdV2Controller_delete_v2_404 });\n\n// DELETE /v2/client-ids/{id} -> ClientIdV2Controller_delete_v2 (429)\nexport const ClientIdV2Controller_delete_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'ClientIdV2Controller_delete_v2', kind: 'response', status: 429 }, schema: ClientIdV2Controller_delete_v2_429 });\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { k as ConversionRoutes, b as CurrenciesApi, C as CurrenciesV1Api, j as CurrencyList, h as CurrencyRequestOptions, d as CurrencyToken, a as CurrencyV1RequestOptions, g as GetConversionRoutesQuery, G as GetConversionRoutesV1Query, f as ListCurrenciesQuery, L as ListCurrenciesV1Query, e as createCurrenciesApi, c as createCurrenciesV1Api } from '../../index-
|
|
1
|
+
export { k as ConversionRoutes, b as CurrenciesApi, C as CurrenciesV1Api, j as CurrencyList, h as CurrencyRequestOptions, d as CurrencyToken, a as CurrencyV1RequestOptions, g as GetConversionRoutesQuery, G as GetConversionRoutesV1Query, f as ListCurrenciesQuery, L as ListCurrenciesV1Query, e as createCurrenciesApi, c as createCurrenciesV1Api } from '../../index-y-zLkaVo.mjs';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../../openapi-types-
|
|
3
|
+
import '../../openapi-types-D-zUdw-r.mjs';
|
|
@@ -90,7 +90,7 @@ var OP_LIST = "CurrenciesV2Controller_getNetworkTokens_v2";
|
|
|
90
90
|
var OP_CONVERSION_ROUTES = "CurrenciesV2Controller_getConversionRoutes_v2";
|
|
91
91
|
var CurrencyTokenSchema = z.object({
|
|
92
92
|
id: z.string(),
|
|
93
|
-
name: z.string(),
|
|
93
|
+
name: z.string().optional(),
|
|
94
94
|
symbol: z.string(),
|
|
95
95
|
decimals: z.number(),
|
|
96
96
|
address: z.string().optional(),
|
|
@@ -107,6 +107,20 @@ var ConversionRoutesSchema = z.object({
|
|
|
107
107
|
}).passthrough();
|
|
108
108
|
schemaRegistry.register({ key: { operationId: OP_LIST, kind: "response", status: 200 }, schema: CurrenciesListSchema });
|
|
109
109
|
schemaRegistry.register({ key: { operationId: OP_CONVERSION_ROUTES, kind: "response", status: 200 }, schema: ConversionRoutesSchema });
|
|
110
|
+
var OP_LIST_V1 = "CurrenciesV1Controller_getNetworkTokens_v1";
|
|
111
|
+
var OP_CONVERSION_ROUTES_V1 = "CurrenciesV1Controller_getConversionRoutes_v1";
|
|
112
|
+
var DESCRIPTION_LIST = "Legacy currencies list";
|
|
113
|
+
var DESCRIPTION_CONVERSION_ROUTES = "Legacy conversion routes";
|
|
114
|
+
var CurrenciesV1ListSchema = z.union([CurrenciesListSchema, CurrencyTokenSchema]);
|
|
115
|
+
schemaRegistry.register({ key: { operationId: OP_LIST_V1, kind: "response", status: 200 }, schema: CurrenciesV1ListSchema });
|
|
116
|
+
schemaRegistry.register({
|
|
117
|
+
key: { operationId: OP_CONVERSION_ROUTES_V1, kind: "response", status: 200 },
|
|
118
|
+
schema: ConversionRoutesSchema
|
|
119
|
+
});
|
|
120
|
+
var DESCRIPTIONS = {
|
|
121
|
+
list: DESCRIPTION_LIST,
|
|
122
|
+
conversionRoutes: DESCRIPTION_CONVERSION_ROUTES
|
|
123
|
+
};
|
|
110
124
|
|
|
111
125
|
// src/core/http/validation.config.ts
|
|
112
126
|
function normaliseBoolean(flag, fallback) {
|
|
@@ -212,20 +226,6 @@ async function requestJson(http, params) {
|
|
|
212
226
|
if (!parsedResponse.success) throw parsedResponse.error;
|
|
213
227
|
return parsedResponse.data;
|
|
214
228
|
}
|
|
215
|
-
var OP_LIST_V1 = "CurrenciesV1Controller_getNetworkTokens_v1";
|
|
216
|
-
var OP_CONVERSION_ROUTES_V1 = "CurrenciesV1Controller_getConversionRoutes_v1";
|
|
217
|
-
var DESCRIPTION_LIST = "Legacy currencies list";
|
|
218
|
-
var DESCRIPTION_CONVERSION_ROUTES = "Legacy conversion routes";
|
|
219
|
-
var CurrenciesV1ListSchema = z.union([CurrenciesListSchema, CurrencyTokenSchema]);
|
|
220
|
-
schemaRegistry.register({ key: { operationId: OP_LIST_V1, kind: "response", status: 200 }, schema: CurrenciesV1ListSchema });
|
|
221
|
-
schemaRegistry.register({
|
|
222
|
-
key: { operationId: OP_CONVERSION_ROUTES_V1, kind: "response", status: 200 },
|
|
223
|
-
schema: ConversionRoutesSchema
|
|
224
|
-
});
|
|
225
|
-
var DESCRIPTIONS = {
|
|
226
|
-
list: DESCRIPTION_LIST,
|
|
227
|
-
conversionRoutes: DESCRIPTION_CONVERSION_ROUTES
|
|
228
|
-
};
|
|
229
229
|
|
|
230
230
|
// src/domains/currencies/v1/currencies.v1.facade.ts
|
|
231
231
|
var CURRENCIES_V1_PATH = "/v1/currencies";
|
|
@@ -303,7 +303,8 @@ function createCurrenciesApi(http) {
|
|
|
303
303
|
description: DESCRIPTION_LIST2,
|
|
304
304
|
signal: options?.signal,
|
|
305
305
|
timeoutMs: options?.timeoutMs,
|
|
306
|
-
validation: options?.validation
|
|
306
|
+
validation: options?.validation,
|
|
307
|
+
meta: options?.meta
|
|
307
308
|
});
|
|
308
309
|
const parsed = parseWithSchema({
|
|
309
310
|
schema: CurrenciesListSchema,
|
|
@@ -325,7 +326,8 @@ function createCurrenciesApi(http) {
|
|
|
325
326
|
description: DESCRIPTION_CONVERSION_ROUTES2,
|
|
326
327
|
signal: options?.signal,
|
|
327
328
|
timeoutMs: options?.timeoutMs,
|
|
328
|
-
validation: options?.validation
|
|
329
|
+
validation: options?.validation,
|
|
330
|
+
meta: options?.meta
|
|
329
331
|
});
|
|
330
332
|
const parsed = parseWithSchema({
|
|
331
333
|
schema: ConversionRoutesSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/validation/schema.registry.ts","../../../../src/validation/generated/groups/currencies.schemas.generated.ts","../../../../src/domains/currencies/currencies.schemas.ts","../../../../src/core/http/validation.config.ts","../../../../src/validation/zod.helpers.ts","../../../../src/core/http/operation.helper.ts","../../../../src/domains/currencies/v1/currencies.v1.schemas.ts","../../../../src/domains/currencies/v1/currencies.v1.facade.ts","../../../../src/domains/currencies/currencies.facade.ts"],"names":["z","CONVERSION_ROUTES_SEGMENT","DESCRIPTION_LIST","DESCRIPTION_CONVERSION_ROUTES","toQuery"],"mappings":"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","file":"index.js","sourcesContent":["import type { ZodTypeAny } from \"zod\";\n\nexport type SchemaKind = \"request\" | \"response\" | \"webhook\";\n\nexport interface SchemaKey {\n operationId: string;\n kind: SchemaKind;\n variant?: string;\n status?: number;\n}\n\nexport interface SchemaEntry<TSchema extends ZodTypeAny = ZodTypeAny> {\n key: SchemaKey;\n schema: TSchema;\n}\n\nfunction serialiseKey(key: SchemaKey): string {\n const variant = key.variant ?? \"default\";\n const status = key.status?.toString() ?? \"any\";\n return `${key.operationId}|${key.kind}|${variant}|${status}`;\n}\n\n/**\n * Lightweight registry that associates OpenAPI operation IDs with validation schemas.\n * Generators can populate this map while domain modules retrieve the schemas at runtime.\n */\nexport class SchemaRegistry {\n private readonly store = new Map<string, SchemaEntry>();\n\n register(entry: SchemaEntry): void {\n const id = serialiseKey(entry.key);\n this.store.set(id, entry);\n }\n\n get(key: SchemaKey): ZodTypeAny | undefined {\n const id = serialiseKey(key);\n return this.store.get(id)?.schema;\n }\n\n /**\n * Removes every registered schema — primarily useful in tests.\n */\n clear(): void {\n this.store.clear();\n }\n}\n\nexport const schemaRegistry = new SchemaRegistry();\n","// Auto-generated by scripts/generate-zod.mjs. Do not edit.\nimport { z } from 'zod';\n\nimport { schemaRegistry } from '../../schema.registry';\n\nconst ErrorDetailSchema = z\n .object({\n message: z.string(),\n code: z.string().optional(),\n field: z.string().optional(),\n source: z\n .object({\n pointer: z.string().optional(),\n parameter: z.string().optional(),\n })\n .passthrough()\n .optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\nconst ErrorEnvelopeSchema = z\n .object({\n status: z.number().optional(),\n statusCode: z.number().optional(),\n code: z.string().optional(),\n error: z.string().optional(),\n message: z\n .union([\n z.string(),\n z.array(z.union([z.string(), ErrorDetailSchema])),\n ErrorDetailSchema,\n ])\n .optional(),\n detail: z.unknown().optional(),\n errors: z.array(ErrorDetailSchema).optional(),\n requestId: z.string().optional(),\n correlationId: z.string().optional(),\n retryAfter: z.union([z.number(), z.string()]).optional(),\n retryAfterMs: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (200)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 200 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_200 });\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (400)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 400 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_400 });\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (404)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 404 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_404 });\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (429)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 429 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_429 });\n\n// GET /v1/currencies/{currencyId}/conversion-routes -> CurrenciesV1Controller_getConversionRoutes_v1 (200)\nexport const CurrenciesV1Controller_getConversionRoutes_v1_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getConversionRoutes_v1', kind: 'response', status: 200 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_200 });\n\n// GET /v1/currencies/{currencyId}/conversion-routes -> CurrenciesV1Controller_getConversionRoutes_v1 (404)\nexport const CurrenciesV1Controller_getConversionRoutes_v1_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getConversionRoutes_v1', kind: 'response', status: 404 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_404 });\n\n// GET /v1/currencies/{currencyId}/conversion-routes -> CurrenciesV1Controller_getConversionRoutes_v1 (429)\nexport const CurrenciesV1Controller_getConversionRoutes_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getConversionRoutes_v1', kind: 'response', status: 429 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_429 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (200)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 200 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_200 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (400)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 400 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_400 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (404)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 404 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_404 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (429)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 429 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_429 });\n\n// GET /v2/currencies/{currencyId}/conversion-routes -> CurrenciesV2Controller_getConversionRoutes_v2 (200)\nexport const CurrenciesV2Controller_getConversionRoutes_v2_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getConversionRoutes_v2', kind: 'response', status: 200 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_200 });\n\n// GET /v2/currencies/{currencyId}/conversion-routes -> CurrenciesV2Controller_getConversionRoutes_v2 (404)\nexport const CurrenciesV2Controller_getConversionRoutes_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getConversionRoutes_v2', kind: 'response', status: 404 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_404 });\n\n// GET /v2/currencies/{currencyId}/conversion-routes -> CurrenciesV2Controller_getConversionRoutes_v2 (429)\nexport const CurrenciesV2Controller_getConversionRoutes_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getConversionRoutes_v2', kind: 'response', status: 429 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_429 });\n","import { z } from \"zod\";\n\nimport \"../../validation/generated/groups/currencies.schemas.generated\";\nimport { schemaRegistry } from \"../../validation/schema.registry\";\n\nexport const OP_LIST = \"CurrenciesV2Controller_getNetworkTokens_v2\";\nexport const OP_CONVERSION_ROUTES = \"CurrenciesV2Controller_getConversionRoutes_v2\";\n\nexport const CurrencyTokenSchema = z\n .object({\n id: z.string(),\n name: z.string(),\n symbol: z.string(),\n decimals: z.number(),\n address: z.string().optional(),\n network: z.string().optional(),\n type: z.string().optional(),\n hash: z.string().optional(),\n chainId: z.number().optional(),\n })\n .passthrough();\n\nexport const CurrenciesListSchema = z.array(CurrencyTokenSchema);\nexport type CurrencyToken = z.infer<typeof CurrencyTokenSchema>;\nexport type CurrencyList = z.infer<typeof CurrenciesListSchema>;\n\nexport const ConversionRoutesSchema = z\n .object({\n currencyId: z.string(),\n network: z.string().nullable().optional(),\n conversionRoutes: z.array(CurrencyTokenSchema),\n })\n .passthrough();\n\nexport type ConversionRoutes = z.infer<typeof ConversionRoutesSchema>;\n\nschemaRegistry.register({ key: { operationId: OP_LIST, kind: \"response\", status: 200 }, schema: CurrenciesListSchema });\nschemaRegistry.register({ key: { operationId: OP_CONVERSION_ROUTES, kind: \"response\", status: 200 }, schema: ConversionRoutesSchema });\n","import type { RuntimeValidationConfig, RuntimeValidationOption } from \"./http.types\";\n\nconst DEFAULT_RUNTIME_VALIDATION: RuntimeValidationConfig = {\n requests: true,\n responses: true,\n errors: true,\n};\n\nfunction normaliseBoolean(flag: boolean | undefined, fallback: boolean): boolean {\n return typeof flag === \"boolean\" ? flag : fallback;\n}\n\nexport function normaliseRuntimeValidation(option?: RuntimeValidationOption): RuntimeValidationConfig {\n if (typeof option === \"boolean\") {\n return {\n requests: option,\n responses: option,\n errors: option,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(option?.requests, DEFAULT_RUNTIME_VALIDATION.requests),\n responses: normaliseBoolean(option?.responses, DEFAULT_RUNTIME_VALIDATION.responses),\n errors: normaliseBoolean(option?.errors, DEFAULT_RUNTIME_VALIDATION.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function mergeRuntimeValidation(base: RuntimeValidationConfig, override?: RuntimeValidationOption): RuntimeValidationConfig {\n if (override === undefined) {\n return base;\n }\n\n if (typeof override === \"boolean\") {\n return {\n requests: override,\n responses: override,\n errors: override,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(override.requests, base.requests),\n responses: normaliseBoolean(override.responses, base.responses),\n errors: normaliseBoolean(override.errors, base.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function cloneRuntimeValidation(config: RuntimeValidationConfig): RuntimeValidationConfig {\n return { ...config };\n}\n","import { type SafeParseReturnType, type ZodTypeAny } from \"zod\";\n\nimport type { SchemaKey } from \"./schema.registry\";\nimport { schemaRegistry } from \"./schema.registry\";\n\nexport type SchemaOutput<TSchema extends ZodTypeAny> = TSchema[\"_output\"];\n\nexport interface ParseWithSchemaOptions<TSchema extends ZodTypeAny> {\n schema: TSchema;\n value: unknown;\n description?: string;\n}\n\nexport interface ParseRegistryOptions {\n key: SchemaKey;\n value: unknown;\n description?: string;\n skipOnMissingSchema?: boolean;\n}\n\nexport interface ParseResult<T> {\n success: boolean;\n data?: T;\n error?: unknown;\n}\n\nexport class ValidationError extends Error {\n constructor(message: string, readonly cause?: unknown) {\n super(message, { cause });\n this.name = \"ClientValidationError\";\n }\n}\n\nexport function parseWithSchema<TSchema extends ZodTypeAny>(\n options: ParseWithSchemaOptions<TSchema>,\n): ParseResult<SchemaOutput<TSchema>> {\n const { schema, value, description } = options;\n const outcome: SafeParseReturnType<unknown, SchemaOutput<TSchema>> = schema.safeParse(value);\n if (outcome.success) {\n return { success: true, data: outcome.data };\n }\n\n const error = new ValidationError(description ?? \"Validation failed\", outcome.error);\n return { success: false, error };\n}\n\nexport function parseWithRegistry<TSchema extends ZodTypeAny>(options: ParseRegistryOptions): ParseResult<SchemaOutput<TSchema>> {\n const schema = schemaRegistry.get(options.key) as TSchema | undefined;\n if (!schema) {\n if (options.skipOnMissingSchema) {\n return { success: true, data: options.value as SchemaOutput<TSchema> };\n }\n return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };\n }\n\n return parseWithSchema({ schema, value: options.value, description: options.description });\n}\n","import type { HttpClient, HttpMethod, RequestOptions, RuntimeValidationOption } from \"./http.types\";\nimport { mergeRuntimeValidation } from \"./validation.config\";\nimport type { SchemaKey } from \"../../validation/schema.registry\";\nimport { parseWithRegistry } from \"../../validation/zod.helpers\";\n\ntype Query = NonNullable<RequestOptions[\"query\"]>;\n\nexport interface RequestJsonParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n schemaKey: SchemaKey;\n requestSchemaKey?: SchemaKey;\n description?: string;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestJson<T>(http: HttpClient, params: RequestJsonParams): Promise<T> {\n const {\n operationId,\n method,\n path,\n query,\n body,\n schemaKey,\n requestSchemaKey,\n description,\n querySerializer,\n signal,\n timeoutMs,\n validation,\n meta,\n } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${description ?? operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n const res = await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n\n if (!runtimeValidation.responses) {\n return res.data as T;\n }\n\n const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });\n if (!parsedResponse.success) throw parsedResponse.error;\n return parsedResponse.data as T;\n}\n\nexport interface RequestVoidParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n requestSchemaKey?: SchemaKey;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestVoid(http: HttpClient, params: RequestVoidParams): Promise<void> {\n const { operationId, method, path, query, body, querySerializer, signal, timeoutMs, requestSchemaKey, validation, meta } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n}\n","import { z } from \"zod\";\n\nimport { schemaRegistry } from \"../../../validation/schema.registry\";\nimport {\n ConversionRoutesSchema,\n CurrencyTokenSchema,\n CurrenciesListSchema,\n type ConversionRoutes,\n type CurrencyList,\n} from \"../currencies.schemas\";\n\nexport const OP_LIST_V1 = \"CurrenciesV1Controller_getNetworkTokens_v1\";\nexport const OP_CONVERSION_ROUTES_V1 = \"CurrenciesV1Controller_getConversionRoutes_v1\";\n\nconst DESCRIPTION_LIST = \"Legacy currencies list\";\nconst DESCRIPTION_CONVERSION_ROUTES = \"Legacy conversion routes\";\n\nexport const CurrenciesV1ListSchema = z.union([CurrenciesListSchema, CurrencyTokenSchema]);\n\nexport type LegacyCurrencyList = CurrencyList;\nexport type LegacyConversionRoutes = ConversionRoutes;\n\nschemaRegistry.register({ key: { operationId: OP_LIST_V1, kind: \"response\", status: 200 }, schema: CurrenciesV1ListSchema });\nschemaRegistry.register({\n key: { operationId: OP_CONVERSION_ROUTES_V1, kind: \"response\", status: 200 },\n schema: ConversionRoutesSchema,\n});\n\nexport const DESCRIPTIONS = {\n list: DESCRIPTION_LIST,\n conversionRoutes: DESCRIPTION_CONVERSION_ROUTES,\n} as const;\n","import type { HttpClient, RuntimeValidationOption } from \"../../../core/http/http.types\";\nimport { requestJson } from \"../../../core/http/operation.helper\";\nimport type { operations } from \"../../../generated/openapi-types\";\nimport { parseWithSchema } from \"../../../validation/zod.helpers\";\nimport { type ConversionRoutes, type CurrencyList, ConversionRoutesSchema } from \"../currencies.schemas\";\nimport {\n CurrenciesV1ListSchema,\n DESCRIPTIONS,\n OP_CONVERSION_ROUTES_V1,\n OP_LIST_V1,\n} from \"./currencies.v1.schemas\";\n\nexport type ListCurrenciesV1Query = operations[typeof OP_LIST_V1][\"parameters\"][\"query\"];\nexport type GetConversionRoutesV1Query = operations[typeof OP_CONVERSION_ROUTES_V1][\"parameters\"][\"query\"];\n\nconst CURRENCIES_V1_PATH = \"/v1/currencies\";\nconst CONVERSION_ROUTES_SEGMENT = \"conversion-routes\";\n\nexport interface CurrencyV1RequestOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n validation?: RuntimeValidationOption;\n}\n\nexport interface CurrenciesV1Api {\n list(query?: ListCurrenciesV1Query, options?: CurrencyV1RequestOptions): Promise<CurrencyList>;\n getConversionRoutes(currencyId: string, query?: GetConversionRoutesV1Query, options?: CurrencyV1RequestOptions): Promise<ConversionRoutes>;\n}\n\nfunction toQuery(\n input?: Record<string, unknown>,\n): Record<string, string | number | boolean | (string | number | boolean)[] | undefined> | undefined {\n return input as Record<string, string | number | boolean | (string | number | boolean)[] | undefined> | undefined;\n}\n\nexport function createCurrenciesV1Api(http: HttpClient): CurrenciesV1Api {\n return {\n async list(query, options) {\n const data = await requestJson<unknown>(http, {\n operationId: OP_LIST_V1,\n method: \"GET\",\n path: CURRENCIES_V1_PATH,\n query: toQuery(query ?? undefined),\n schemaKey: { operationId: OP_LIST_V1, kind: \"response\", status: 200 },\n description: DESCRIPTIONS.list,\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n });\n\n const parsed = parseWithSchema({\n schema: CurrenciesV1ListSchema,\n value: data,\n description: DESCRIPTIONS.list,\n });\n if (!parsed.success) throw parsed.error;\n const payload = parsed.data;\n const tokens = Array.isArray(payload) ? payload : [payload];\n return tokens as CurrencyList;\n },\n\n async getConversionRoutes(currencyId, query, options) {\n const path = `${CURRENCIES_V1_PATH}/${encodeURIComponent(currencyId)}/${CONVERSION_ROUTES_SEGMENT}`;\n const data = await requestJson<unknown>(http, {\n operationId: OP_CONVERSION_ROUTES_V1,\n method: \"GET\",\n path,\n query: toQuery(query ?? undefined),\n schemaKey: { operationId: OP_CONVERSION_ROUTES_V1, kind: \"response\", status: 200 },\n description: DESCRIPTIONS.conversionRoutes,\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n });\n\n const parsed = parseWithSchema({\n schema: ConversionRoutesSchema,\n value: data,\n description: DESCRIPTIONS.conversionRoutes,\n });\n if (!parsed.success) throw parsed.error;\n return parsed.data as ConversionRoutes;\n },\n };\n}\n","import { OP_CONVERSION_ROUTES, OP_LIST, CurrenciesListSchema, ConversionRoutesSchema } from \"./currencies.schemas\";\nimport type { CurrencyList, ConversionRoutes } from \"./currencies.schemas\";\nimport { createCurrenciesV1Api, type CurrenciesV1Api } from \"./v1\";\nimport type { HttpClient, RuntimeValidationOption } from \"../../core/http/http.types\";\nimport { requestJson } from \"../../core/http/operation.helper\";\nimport type { operations } from \"../../generated/openapi-types\";\nimport { parseWithSchema } from \"../../validation/zod.helpers\";\n\nexport type ListCurrenciesQuery = operations[\"CurrenciesV2Controller_getNetworkTokens_v2\"][\"parameters\"][\"query\"];\nexport type GetConversionRoutesQuery = operations[\"CurrenciesV2Controller_getConversionRoutes_v2\"][\"parameters\"][\"query\"];\n\nconst CURRENCIES_PATH = \"/v2/currencies\";\nconst CONVERSION_ROUTES_SEGMENT = \"conversion-routes\";\nconst DESCRIPTION_LIST = \"Currencies list\";\nconst DESCRIPTION_CONVERSION_ROUTES = \"Conversion routes\";\n\nexport interface CurrencyRequestOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n validation?: RuntimeValidationOption;\n}\n\nexport interface CurrenciesApi {\n list(query?: ListCurrenciesQuery, options?: CurrencyRequestOptions): Promise<CurrencyList>;\n getConversionRoutes(currencyId: string, query?: GetConversionRoutesQuery, options?: CurrencyRequestOptions): Promise<ConversionRoutes>;\n legacy: CurrenciesV1Api;\n}\n\nexport function createCurrenciesApi(http: HttpClient): CurrenciesApi {\n const legacy = createCurrenciesV1Api(http);\n function toQuery(input?: Record<string, unknown>): Record<string, string | number | boolean | (string | number | boolean)[] | undefined> | undefined {\n return input as Record<string, string | number | boolean | (string | number | boolean)[] | undefined> | undefined;\n }\n\n return {\n legacy,\n async list(query, options) {\n const data = await requestJson<unknown>(http, {\n operationId: OP_LIST,\n method: \"GET\",\n path: CURRENCIES_PATH,\n query: toQuery(query ?? undefined),\n schemaKey: { operationId: OP_LIST, kind: \"response\", status: 200 },\n description: DESCRIPTION_LIST,\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n });\n\n const parsed = parseWithSchema({\n schema: CurrenciesListSchema,\n value: data,\n description: DESCRIPTION_LIST,\n });\n if (!parsed.success) throw parsed.error;\n const list = parsed.data as CurrencyList;\n return list;\n },\n async getConversionRoutes(currencyId, query, options) {\n const path = `${CURRENCIES_PATH}/${encodeURIComponent(currencyId)}/${CONVERSION_ROUTES_SEGMENT}`;\n const data = await requestJson<unknown>(http, {\n operationId: OP_CONVERSION_ROUTES,\n method: \"GET\",\n path,\n query: toQuery(query ?? undefined),\n schemaKey: { operationId: OP_CONVERSION_ROUTES, kind: \"response\", status: 200 },\n description: DESCRIPTION_CONVERSION_ROUTES,\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n });\n\n const parsed = parseWithSchema({\n schema: ConversionRoutesSchema,\n value: data,\n description: DESCRIPTION_CONVERSION_ROUTES,\n });\n if (!parsed.success) throw parsed.error;\n const routes = parsed.data as ConversionRoutes;\n return routes;\n },\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/validation/schema.registry.ts","../../../../src/validation/generated/groups/currencies.schemas.generated.ts","../../../../src/domains/currencies/currencies.schemas.ts","../../../../src/domains/currencies/v1/currencies.v1.schemas.ts","../../../../src/core/http/validation.config.ts","../../../../src/validation/zod.helpers.ts","../../../../src/core/http/operation.helper.ts","../../../../src/domains/currencies/v1/currencies.v1.facade.ts","../../../../src/domains/currencies/currencies.facade.ts"],"names":["z","CONVERSION_ROUTES_SEGMENT","DESCRIPTION_LIST","DESCRIPTION_CONVERSION_ROUTES","toQuery"],"mappings":";;;;;AAgBA,SAAS,aAAa,GAAA,EAAwB;AAC5C,EAAA,MAAM,OAAA,GAAU,IAAI,OAAA,IAAW,SAAA;AAC/B,EAAA,MAAM,MAAA,GAAS,GAAA,CAAI,MAAA,EAAQ,QAAA,EAAS,IAAK,KAAA;AACzC,EAAA,OAAO,CAAA,EAAG,IAAI,WAAW,CAAA,CAAA,EAAI,IAAI,IAAI,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAC5D;AAMO,IAAM,iBAAN,MAAqB;AAAA,EACT,KAAA,uBAAY,GAAA,EAAyB;AAAA,EAEtD,SAAS,KAAA,EAA0B;AACjC,IAAA,MAAM,EAAA,GAAK,YAAA,CAAa,KAAA,CAAM,GAAG,CAAA;AACjC,IAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,EAAA,EAAI,KAAK,CAAA;AAAA,EAC1B;AAAA,EAEA,IAAI,GAAA,EAAwC;AAC1C,IAAA,MAAM,EAAA,GAAK,aAAa,GAAG,CAAA;AAC3B,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,EAAE,CAAA,EAAG,MAAA;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA,GAAc;AACZ,IAAA,IAAA,CAAK,MAAM,KAAA,EAAM;AAAA,EACnB;AACF,CAAA;AAEO,IAAM,cAAA,GAAiB,IAAI,cAAA,EAAe;;;AC1CjD,IAAM,iBAAA,GAAoB,EACvB,MAAA,CAAO;AAAA,EACN,OAAA,EAAS,EAAE,MAAA,EAAO;AAAA,EAClB,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,MAAA,EAAQ,EACL,MAAA,CAAO;AAAA,IACN,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC7B,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAChC,CAAA,CACA,WAAA,EAAY,CACZ,QAAA,EAAS;AAAA,EACZ,MAAM,CAAA,CAAE,MAAA,CAAO,EAAE,OAAA,EAAS,EAAE,QAAA;AAC9B,CAAC,EACA,WAAA,EAAY;AAEf,IAAM,mBAAA,GAAsB,EACzB,MAAA,CAAO;AAAA,EACN,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,OAAA,EAAS,EACN,KAAA,CAAM;AAAA,IACL,EAAE,MAAA,EAAO;AAAA,IACT,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,KAAA,CAAM,CAAC,EAAE,MAAA,EAAO,EAAG,iBAAiB,CAAC,CAAC,CAAA;AAAA,IAChD;AAAA,GACD,EACA,QAAA,EAAS;AAAA,EACZ,MAAA,EAAQ,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC7B,MAAA,EAAQ,CAAA,CAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS;AAAA,EAC5C,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,aAAA,EAAe,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA,EAAO,EAAG,CAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACvD,YAAA,EAAc,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,MAAM,CAAA,CAAE,MAAA,CAAO,EAAE,OAAA,EAAS,EAAE,QAAA;AAC9B,CAAC,EACA,WAAA,EAAY;AAGR,IAAM,8CAAA,GAAiD,EAAE,OAAA,EAAQ;AACxE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,iDAAA,GAAoD,EAAE,OAAA,EAAQ;AAC3E,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,iDAAA,GAAoD,mBAAA;AACjE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,iDAAA,GAAoD,mBAAA;AACjE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,8CAAA,GAAiD,EAAE,OAAA,EAAQ;AACxE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,iDAAA,GAAoD,EAAE,OAAA,EAAQ;AAC3E,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,iDAAA,GAAoD,mBAAA;AACjE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,iDAAA,GAAoD,mBAAA;AACjE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;;;AC7FpL,IAAM,OAAA,GAAU,4CAAA;AAChB,IAAM,oBAAA,GAAuB,+CAAA;AAE7B,IAAM,mBAAA,GAAsBA,EAChC,MAAA,CAAO;AAAA,EACN,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,EACb,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC,EACA,WAAA,EAAY;AAER,IAAM,oBAAA,GAAuBA,CAAAA,CAAE,KAAA,CAAM,mBAAmB,CAAA;AAIxD,IAAM,sBAAA,GAAyBA,EACnC,MAAA,CAAO;AAAA,EACN,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,SAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACxC,gBAAA,EAAkBA,CAAAA,CAAE,KAAA,CAAM,mBAAmB;AAC/C,CAAC,EACA,WAAA,EAAY;AAIf,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,OAAA,EAAS,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,sBAAsB,CAAA;AACtH,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,oBAAA,EAAsB,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,wBAAwB,CAAA;AC1B9H,IAAM,UAAA,GAAa,4CAAA;AACnB,IAAM,uBAAA,GAA0B,+CAAA;AAEvC,IAAM,gBAAA,GAAmB,wBAAA;AACzB,IAAM,6BAAA,GAAgC,0BAAA;AAE/B,IAAM,yBAAyBA,CAAAA,CAAE,KAAA,CAAM,CAAC,oBAAA,EAAsB,mBAAmB,CAAC,CAAA;AAKzF,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,UAAA,EAAY,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,wBAAwB,CAAA;AAC3H,cAAA,CAAe,QAAA,CAAS;AAAA,EACtB,KAAK,EAAE,WAAA,EAAa,yBAAyB,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,EAC3E,MAAA,EAAQ;AACV,CAAC,CAAA;AAEM,IAAM,YAAA,GAAe;AAAA,EAC1B,IAAA,EAAM,gBAAA;AAAA,EACN,gBAAA,EAAkB;AACpB,CAAA;;;ACvBA,SAAS,gBAAA,CAAiB,MAA2B,QAAA,EAA4B;AAC/E,EAAA,OAAO,OAAO,IAAA,KAAS,SAAA,GAAY,IAAA,GAAO,QAAA;AAC5C;AAkBO,SAAS,sBAAA,CAAuB,MAA+B,QAAA,EAA6D;AACjI,EAAA,IAAI,aAAa,MAAA,EAAW;AAC1B,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,OAAO,aAAa,SAAA,EAAW;AACjC,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,QAAA;AAAA,MACX,MAAA,EAAQ;AAAA,KACV;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,QAAA,EAAU,gBAAA,CAAiB,QAAA,CAAS,QAAA,EAAU,KAAK,QAAQ,CAAA;AAAA,IAC3D,SAAA,EAAW,gBAAA,CAAiB,QAAA,CAAS,SAAA,EAAW,KAAK,SAAS,CAAA;AAAA,IAC9D,MAAA,EAAQ,gBAAA,CAAiB,QAAA,CAAS,MAAA,EAAQ,KAAK,MAAM;AAAA,GACvD;AACF;;;ACpBO,IAAM,eAAA,GAAN,cAA8B,KAAA,CAAM;AAAA,EACzC,WAAA,CAAY,SAA0B,KAAA,EAAiB;AACrD,IAAA,KAAA,CAAM,OAAA,EAAS,EAAE,KAAA,EAAO,CAAA;AADY,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA;AAEpC,IAAA,IAAA,CAAK,IAAA,GAAO,uBAAA;AAAA,EACd;AACF,CAAA;AAEO,SAAS,gBACd,OAAA,EACoC;AACpC,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAO,WAAA,EAAY,GAAI,OAAA;AACvC,EAAA,MAAM,OAAA,GAA+D,MAAA,CAAO,SAAA,CAAU,KAAK,CAAA;AAC3F,EAAA,IAAI,QAAQ,OAAA,EAAS;AACnB,IAAA,OAAO,EAAE,OAAA,EAAS,IAAA,EAAM,IAAA,EAAM,QAAQ,IAAA,EAAK;AAAA,EAC7C;AAEA,EAAA,MAAM,QAAQ,IAAI,eAAA,CAAgB,WAAA,IAAe,mBAAA,EAAqB,QAAQ,KAAK,CAAA;AACnF,EAAA,OAAO,EAAE,OAAA,EAAS,KAAA,EAAO,KAAA,EAAM;AACjC;AAEO,SAAS,kBAA8C,OAAA,EAAmE;AAC/H,EAAA,MAAM,MAAA,GAAS,cAAA,CAAe,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAC7C,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,IAAI,QAAQ,mBAAA,EAAqB;AAC/B,MAAA,OAAO,EAAE,OAAA,EAAS,IAAA,EAAM,IAAA,EAAM,QAAQ,KAAA,EAA+B;AAAA,IACvE;AACA,IAAA,OAAO,EAAE,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,IAAI,eAAA,CAAgB,CAAA,yBAAA,EAA4B,OAAA,CAAQ,GAAA,CAAI,WAAW,CAAA,CAAE,CAAA,EAAE;AAAA,EAC7G;AAEA,EAAA,OAAO,eAAA,CAAgB,EAAE,MAAA,EAAQ,KAAA,EAAO,QAAQ,KAAA,EAAO,WAAA,EAAa,OAAA,CAAQ,WAAA,EAAa,CAAA;AAC3F;;;ACjCA,eAAsB,WAAA,CAAe,MAAkB,MAAA,EAAuC;AAC5F,EAAA,MAAM;AAAA,IACJ,WAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF,GAAI,MAAA;AAEJ,EAAA,MAAM,iBAAA,GAAoB,sBAAA,CAAuB,IAAA,CAAK,0BAAA,IAA8B,UAAU,CAAA;AAE9F,EAAA,IAAI,WAAA,GAAc,IAAA;AAClB,EAAA,IAAI,iBAAA,CAAkB,QAAA,IAAY,gBAAA,IAAoB,IAAA,KAAS,MAAA,EAAW;AACxE,IAAA,MAAM,gBAAgB,iBAAA,CAAkB;AAAA,MACtC,GAAA,EAAK,gBAAA;AAAA,MACL,KAAA,EAAO,IAAA;AAAA,MACP,WAAA,EAAa,CAAA,EAAG,WAAA,IAAe,WAAW,CAAA,QAAA,CAAA;AAAA,MAC1C,mBAAA,EAAqB;AAAA,KACtB,CAAA;AACD,IAAA,IAAI,CAAC,cAAc,OAAA,EAAS;AAC1B,MAAA,MAAM,aAAA,CAAc,KAAA;AAAA,IACtB;AACA,IAAA,WAAA,GAAc,aAAA,CAAc,IAAA;AAAA,EAC9B;AAEA,EAAA,MAAM,cAAA,GAAiB,cAAc,IAAA,EAAM,UAAA;AAC3C,EAAA,MAAM,WAAA,GAAsC;AAAA,IAC1C,GAAI,QAAQ,EAAC;AAAA,IACb,WAAA;AAAA,IACA,UAAA,EAAY;AAAA,GACd;AAEA,EAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,OAAA,CAAQ;AAAA,IAC7B,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA,EAAM,WAAA;AAAA,IACN,eAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA,EAAM;AAAA,GACP,CAAA;AAED,EAAA,IAAI,CAAC,kBAAkB,SAAA,EAAW;AAChC,IAAA,OAAO,GAAA,CAAI,IAAA;AAAA,EACb;AAEA,EAAA,MAAM,cAAA,GAAiB,kBAAkB,EAAE,GAAA,EAAK,WAAW,KAAA,EAAO,GAAA,CAAI,IAAA,EAAM,WAAA,EAAa,CAAA;AACzF,EAAA,IAAI,CAAC,cAAA,CAAe,OAAA,EAAS,MAAM,cAAA,CAAe,KAAA;AAClD,EAAA,OAAO,cAAA,CAAe,IAAA;AACxB;;;AClEA,IAAM,kBAAA,GAAqB,gBAAA;AAC3B,IAAM,yBAAA,GAA4B,mBAAA;AAalC,SAAS,QACP,KAAA,EACmG;AACnG,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,sBAAsB,IAAA,EAAmC;AACvE,EAAA,OAAO;AAAA,IACL,MAAM,IAAA,CAAK,KAAA,EAAO,OAAA,EAAS;AACzB,MAAA,MAAM,IAAA,GAAO,MAAM,WAAA,CAAqB,IAAA,EAAM;AAAA,QAC5C,WAAA,EAAa,UAAA;AAAA,QACb,MAAA,EAAQ,KAAA;AAAA,QACR,IAAA,EAAM,kBAAA;AAAA,QACN,KAAA,EAAO,OAAA,CAAQ,KAAA,IAAS,MAAS,CAAA;AAAA,QACjC,WAAW,EAAE,WAAA,EAAa,YAAY,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,QACpE,aAAa,YAAA,CAAa,IAAA;AAAA,QAC1B,QAAQ,OAAA,EAAS,MAAA;AAAA,QACjB,WAAW,OAAA,EAAS,SAAA;AAAA,QACpB,YAAY,OAAA,EAAS;AAAA,OACtB,CAAA;AAED,MAAA,MAAM,SAAS,eAAA,CAAgB;AAAA,QAC7B,MAAA,EAAQ,sBAAA;AAAA,QACR,KAAA,EAAO,IAAA;AAAA,QACP,aAAa,YAAA,CAAa;AAAA,OAC3B,CAAA;AACD,MAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,MAAM,MAAA,CAAO,KAAA;AAClC,MAAA,MAAM,UAAU,MAAA,CAAO,IAAA;AACvB,MAAA,MAAM,SAAS,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAA,GAAI,OAAA,GAAU,CAAC,OAAO,CAAA;AAC1D,MAAA,OAAO,MAAA;AAAA,IACT,CAAA;AAAA,IAEA,MAAM,mBAAA,CAAoB,UAAA,EAAY,KAAA,EAAO,OAAA,EAAS;AACpD,MAAA,MAAM,IAAA,GAAO,GAAG,kBAAkB,CAAA,CAAA,EAAI,mBAAmB,UAAU,CAAC,IAAI,yBAAyB,CAAA,CAAA;AACjG,MAAA,MAAM,IAAA,GAAO,MAAM,WAAA,CAAqB,IAAA,EAAM;AAAA,QAC5C,WAAA,EAAa,uBAAA;AAAA,QACb,MAAA,EAAQ,KAAA;AAAA,QACR,IAAA;AAAA,QACA,KAAA,EAAO,OAAA,CAAQ,KAAA,IAAS,MAAS,CAAA;AAAA,QACjC,WAAW,EAAE,WAAA,EAAa,yBAAyB,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,QACjF,aAAa,YAAA,CAAa,gBAAA;AAAA,QAC1B,QAAQ,OAAA,EAAS,MAAA;AAAA,QACjB,WAAW,OAAA,EAAS,SAAA;AAAA,QACpB,YAAY,OAAA,EAAS;AAAA,OACtB,CAAA;AAED,MAAA,MAAM,SAAS,eAAA,CAAgB;AAAA,QAC7B,MAAA,EAAQ,sBAAA;AAAA,QACR,KAAA,EAAO,IAAA;AAAA,QACP,aAAa,YAAA,CAAa;AAAA,OAC3B,CAAA;AACD,MAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,MAAM,MAAA,CAAO,KAAA;AAClC,MAAA,OAAO,MAAA,CAAO,IAAA;AAAA,IAChB;AAAA,GACF;AACF;;;ACzEA,IAAM,eAAA,GAAkB,gBAAA;AACxB,IAAMC,0BAAAA,GAA4B,mBAAA;AAClC,IAAMC,iBAAAA,GAAmB,iBAAA;AACzB,IAAMC,8BAAAA,GAAgC,mBAAA;AAe/B,SAAS,oBAAoB,IAAA,EAAiC;AACnE,EAAA,MAAM,MAAA,GAAS,sBAAsB,IAAI,CAAA;AACzC,EAAA,SAASC,SAAQ,KAAA,EAAoI;AACnJ,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,OAAO;AAAA,IACL,MAAA;AAAA,IACA,MAAM,IAAA,CAAK,KAAA,EAAO,OAAA,EAAS;AACzB,MAAA,MAAM,IAAA,GAAO,MAAM,WAAA,CAAqB,IAAA,EAAM;AAAA,QAC5C,WAAA,EAAa,OAAA;AAAA,QACb,MAAA,EAAQ,KAAA;AAAA,QACR,IAAA,EAAM,eAAA;AAAA,QACN,KAAA,EAAOA,QAAAA,CAAQ,KAAA,IAAS,MAAS,CAAA;AAAA,QACjC,WAAW,EAAE,WAAA,EAAa,SAAS,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,QACjE,WAAA,EAAaF,iBAAAA;AAAA,QACb,QAAQ,OAAA,EAAS,MAAA;AAAA,QACjB,WAAW,OAAA,EAAS,SAAA;AAAA,QACpB,YAAY,OAAA,EAAS,UAAA;AAAA,QACrB,MAAM,OAAA,EAAS;AAAA,OAChB,CAAA;AAED,MAAA,MAAM,SAAS,eAAA,CAAgB;AAAA,QAC7B,MAAA,EAAQ,oBAAA;AAAA,QACR,KAAA,EAAO,IAAA;AAAA,QACP,WAAA,EAAaA;AAAA,OACd,CAAA;AACD,MAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,MAAM,MAAA,CAAO,KAAA;AAClC,MAAA,MAAM,OAAO,MAAA,CAAO,IAAA;AACpB,MAAA,OAAO,IAAA;AAAA,IACT,CAAA;AAAA,IACA,MAAM,mBAAA,CAAoB,UAAA,EAAY,KAAA,EAAO,OAAA,EAAS;AACpD,MAAA,MAAM,IAAA,GAAO,GAAG,eAAe,CAAA,CAAA,EAAI,mBAAmB,UAAU,CAAC,IAAID,0BAAyB,CAAA,CAAA;AAC9F,MAAA,MAAM,IAAA,GAAO,MAAM,WAAA,CAAqB,IAAA,EAAM;AAAA,QAC5C,WAAA,EAAa,oBAAA;AAAA,QACb,MAAA,EAAQ,KAAA;AAAA,QACR,IAAA;AAAA,QACA,KAAA,EAAOG,QAAAA,CAAQ,KAAA,IAAS,MAAS,CAAA;AAAA,QACjC,WAAW,EAAE,WAAA,EAAa,sBAAsB,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,QAC9E,WAAA,EAAaD,8BAAAA;AAAA,QACb,QAAQ,OAAA,EAAS,MAAA;AAAA,QACjB,WAAW,OAAA,EAAS,SAAA;AAAA,QACpB,YAAY,OAAA,EAAS,UAAA;AAAA,QACrB,MAAM,OAAA,EAAS;AAAA,OAChB,CAAA;AAED,MAAA,MAAM,SAAS,eAAA,CAAgB;AAAA,QAC7B,MAAA,EAAQ,sBAAA;AAAA,QACR,KAAA,EAAO,IAAA;AAAA,QACP,WAAA,EAAaA;AAAA,OACd,CAAA;AACD,MAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,MAAM,MAAA,CAAO,KAAA;AAClC,MAAA,MAAM,SAAS,MAAA,CAAO,IAAA;AACtB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,GACF;AACF","file":"index.js","sourcesContent":["import type { ZodTypeAny } from \"zod\";\n\nexport type SchemaKind = \"request\" | \"response\" | \"webhook\";\n\nexport interface SchemaKey {\n operationId: string;\n kind: SchemaKind;\n variant?: string;\n status?: number;\n}\n\nexport interface SchemaEntry<TSchema extends ZodTypeAny = ZodTypeAny> {\n key: SchemaKey;\n schema: TSchema;\n}\n\nfunction serialiseKey(key: SchemaKey): string {\n const variant = key.variant ?? \"default\";\n const status = key.status?.toString() ?? \"any\";\n return `${key.operationId}|${key.kind}|${variant}|${status}`;\n}\n\n/**\n * Lightweight registry that associates OpenAPI operation IDs with validation schemas.\n * Generators can populate this map while domain modules retrieve the schemas at runtime.\n */\nexport class SchemaRegistry {\n private readonly store = new Map<string, SchemaEntry>();\n\n register(entry: SchemaEntry): void {\n const id = serialiseKey(entry.key);\n this.store.set(id, entry);\n }\n\n get(key: SchemaKey): ZodTypeAny | undefined {\n const id = serialiseKey(key);\n return this.store.get(id)?.schema;\n }\n\n /**\n * Removes every registered schema — primarily useful in tests.\n */\n clear(): void {\n this.store.clear();\n }\n}\n\nexport const schemaRegistry = new SchemaRegistry();\n","// Auto-generated by scripts/generate-zod.mjs. Do not edit.\nimport { z } from 'zod';\n\nimport { schemaRegistry } from '../../schema.registry';\n\nconst ErrorDetailSchema = z\n .object({\n message: z.string(),\n code: z.string().optional(),\n field: z.string().optional(),\n source: z\n .object({\n pointer: z.string().optional(),\n parameter: z.string().optional(),\n })\n .passthrough()\n .optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\nconst ErrorEnvelopeSchema = z\n .object({\n status: z.number().optional(),\n statusCode: z.number().optional(),\n code: z.string().optional(),\n error: z.string().optional(),\n message: z\n .union([\n z.string(),\n z.array(z.union([z.string(), ErrorDetailSchema])),\n ErrorDetailSchema,\n ])\n .optional(),\n detail: z.unknown().optional(),\n errors: z.array(ErrorDetailSchema).optional(),\n requestId: z.string().optional(),\n correlationId: z.string().optional(),\n retryAfter: z.union([z.number(), z.string()]).optional(),\n retryAfterMs: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (200)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 200 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_200 });\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (400)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 400 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_400 });\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (404)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 404 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_404 });\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (429)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 429 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_429 });\n\n// GET /v1/currencies/{currencyId}/conversion-routes -> CurrenciesV1Controller_getConversionRoutes_v1 (200)\nexport const CurrenciesV1Controller_getConversionRoutes_v1_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getConversionRoutes_v1', kind: 'response', status: 200 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_200 });\n\n// GET /v1/currencies/{currencyId}/conversion-routes -> CurrenciesV1Controller_getConversionRoutes_v1 (404)\nexport const CurrenciesV1Controller_getConversionRoutes_v1_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getConversionRoutes_v1', kind: 'response', status: 404 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_404 });\n\n// GET /v1/currencies/{currencyId}/conversion-routes -> CurrenciesV1Controller_getConversionRoutes_v1 (429)\nexport const CurrenciesV1Controller_getConversionRoutes_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getConversionRoutes_v1', kind: 'response', status: 429 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_429 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (200)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 200 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_200 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (400)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 400 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_400 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (404)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 404 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_404 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (429)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 429 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_429 });\n\n// GET /v2/currencies/{currencyId}/conversion-routes -> CurrenciesV2Controller_getConversionRoutes_v2 (200)\nexport const CurrenciesV2Controller_getConversionRoutes_v2_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getConversionRoutes_v2', kind: 'response', status: 200 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_200 });\n\n// GET /v2/currencies/{currencyId}/conversion-routes -> CurrenciesV2Controller_getConversionRoutes_v2 (404)\nexport const CurrenciesV2Controller_getConversionRoutes_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getConversionRoutes_v2', kind: 'response', status: 404 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_404 });\n\n// GET /v2/currencies/{currencyId}/conversion-routes -> CurrenciesV2Controller_getConversionRoutes_v2 (429)\nexport const CurrenciesV2Controller_getConversionRoutes_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getConversionRoutes_v2', kind: 'response', status: 429 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_429 });\n","import { z } from \"zod\";\n\nimport \"../../validation/generated/groups/currencies.schemas.generated\";\nimport { schemaRegistry } from \"../../validation/schema.registry\";\n\nexport const OP_LIST = \"CurrenciesV2Controller_getNetworkTokens_v2\";\nexport const OP_CONVERSION_ROUTES = \"CurrenciesV2Controller_getConversionRoutes_v2\";\n\nexport const CurrencyTokenSchema = z\n .object({\n id: z.string(),\n name: z.string().optional(),\n symbol: z.string(),\n decimals: z.number(),\n address: z.string().optional(),\n network: z.string().optional(),\n type: z.string().optional(),\n hash: z.string().optional(),\n chainId: z.number().optional(),\n })\n .passthrough();\n\nexport const CurrenciesListSchema = z.array(CurrencyTokenSchema);\nexport type CurrencyToken = z.infer<typeof CurrencyTokenSchema>;\nexport type CurrencyList = z.infer<typeof CurrenciesListSchema>;\n\nexport const ConversionRoutesSchema = z\n .object({\n currencyId: z.string(),\n network: z.string().nullable().optional(),\n conversionRoutes: z.array(CurrencyTokenSchema),\n })\n .passthrough();\n\nexport type ConversionRoutes = z.infer<typeof ConversionRoutesSchema>;\n\nschemaRegistry.register({ key: { operationId: OP_LIST, kind: \"response\", status: 200 }, schema: CurrenciesListSchema });\nschemaRegistry.register({ key: { operationId: OP_CONVERSION_ROUTES, kind: \"response\", status: 200 }, schema: ConversionRoutesSchema });\n","import { z } from \"zod\";\n\nimport { schemaRegistry } from \"../../../validation/schema.registry\";\nimport {\n ConversionRoutesSchema,\n CurrencyTokenSchema,\n CurrenciesListSchema,\n type ConversionRoutes,\n type CurrencyList,\n} from \"../currencies.schemas\";\n\nexport const OP_LIST_V1 = \"CurrenciesV1Controller_getNetworkTokens_v1\";\nexport const OP_CONVERSION_ROUTES_V1 = \"CurrenciesV1Controller_getConversionRoutes_v1\";\n\nconst DESCRIPTION_LIST = \"Legacy currencies list\";\nconst DESCRIPTION_CONVERSION_ROUTES = \"Legacy conversion routes\";\n\nexport const CurrenciesV1ListSchema = z.union([CurrenciesListSchema, CurrencyTokenSchema]);\n\nexport type LegacyCurrencyList = CurrencyList;\nexport type LegacyConversionRoutes = ConversionRoutes;\n\nschemaRegistry.register({ key: { operationId: OP_LIST_V1, kind: \"response\", status: 200 }, schema: CurrenciesV1ListSchema });\nschemaRegistry.register({\n key: { operationId: OP_CONVERSION_ROUTES_V1, kind: \"response\", status: 200 },\n schema: ConversionRoutesSchema,\n});\n\nexport const DESCRIPTIONS = {\n list: DESCRIPTION_LIST,\n conversionRoutes: DESCRIPTION_CONVERSION_ROUTES,\n} as const;\n","import type { RuntimeValidationConfig, RuntimeValidationOption } from \"./http.types\";\n\nconst DEFAULT_RUNTIME_VALIDATION: RuntimeValidationConfig = {\n requests: true,\n responses: true,\n errors: true,\n};\n\nfunction normaliseBoolean(flag: boolean | undefined, fallback: boolean): boolean {\n return typeof flag === \"boolean\" ? flag : fallback;\n}\n\nexport function normaliseRuntimeValidation(option?: RuntimeValidationOption): RuntimeValidationConfig {\n if (typeof option === \"boolean\") {\n return {\n requests: option,\n responses: option,\n errors: option,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(option?.requests, DEFAULT_RUNTIME_VALIDATION.requests),\n responses: normaliseBoolean(option?.responses, DEFAULT_RUNTIME_VALIDATION.responses),\n errors: normaliseBoolean(option?.errors, DEFAULT_RUNTIME_VALIDATION.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function mergeRuntimeValidation(base: RuntimeValidationConfig, override?: RuntimeValidationOption): RuntimeValidationConfig {\n if (override === undefined) {\n return base;\n }\n\n if (typeof override === \"boolean\") {\n return {\n requests: override,\n responses: override,\n errors: override,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(override.requests, base.requests),\n responses: normaliseBoolean(override.responses, base.responses),\n errors: normaliseBoolean(override.errors, base.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function cloneRuntimeValidation(config: RuntimeValidationConfig): RuntimeValidationConfig {\n return { ...config };\n}\n","import { type SafeParseReturnType, type ZodTypeAny } from \"zod\";\n\nimport type { SchemaKey } from \"./schema.registry\";\nimport { schemaRegistry } from \"./schema.registry\";\n\nexport type SchemaOutput<TSchema extends ZodTypeAny> = TSchema[\"_output\"];\n\nexport interface ParseWithSchemaOptions<TSchema extends ZodTypeAny> {\n schema: TSchema;\n value: unknown;\n description?: string;\n}\n\nexport interface ParseRegistryOptions {\n key: SchemaKey;\n value: unknown;\n description?: string;\n skipOnMissingSchema?: boolean;\n}\n\nexport interface ParseResult<T> {\n success: boolean;\n data?: T;\n error?: unknown;\n}\n\nexport class ValidationError extends Error {\n constructor(message: string, readonly cause?: unknown) {\n super(message, { cause });\n this.name = \"ClientValidationError\";\n }\n}\n\nexport function parseWithSchema<TSchema extends ZodTypeAny>(\n options: ParseWithSchemaOptions<TSchema>,\n): ParseResult<SchemaOutput<TSchema>> {\n const { schema, value, description } = options;\n const outcome: SafeParseReturnType<unknown, SchemaOutput<TSchema>> = schema.safeParse(value);\n if (outcome.success) {\n return { success: true, data: outcome.data };\n }\n\n const error = new ValidationError(description ?? \"Validation failed\", outcome.error);\n return { success: false, error };\n}\n\nexport function parseWithRegistry<TSchema extends ZodTypeAny>(options: ParseRegistryOptions): ParseResult<SchemaOutput<TSchema>> {\n const schema = schemaRegistry.get(options.key) as TSchema | undefined;\n if (!schema) {\n if (options.skipOnMissingSchema) {\n return { success: true, data: options.value as SchemaOutput<TSchema> };\n }\n return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };\n }\n\n return parseWithSchema({ schema, value: options.value, description: options.description });\n}\n","import type { HttpClient, HttpMethod, RequestOptions, RuntimeValidationOption } from \"./http.types\";\nimport { mergeRuntimeValidation } from \"./validation.config\";\nimport type { SchemaKey } from \"../../validation/schema.registry\";\nimport { parseWithRegistry } from \"../../validation/zod.helpers\";\n\ntype Query = NonNullable<RequestOptions[\"query\"]>;\n\nexport interface RequestJsonParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n schemaKey: SchemaKey;\n requestSchemaKey?: SchemaKey;\n description?: string;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestJson<T>(http: HttpClient, params: RequestJsonParams): Promise<T> {\n const {\n operationId,\n method,\n path,\n query,\n body,\n schemaKey,\n requestSchemaKey,\n description,\n querySerializer,\n signal,\n timeoutMs,\n validation,\n meta,\n } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${description ?? operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n const res = await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n\n if (!runtimeValidation.responses) {\n return res.data as T;\n }\n\n const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });\n if (!parsedResponse.success) throw parsedResponse.error;\n return parsedResponse.data as T;\n}\n\nexport interface RequestVoidParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n requestSchemaKey?: SchemaKey;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestVoid(http: HttpClient, params: RequestVoidParams): Promise<void> {\n const { operationId, method, path, query, body, querySerializer, signal, timeoutMs, requestSchemaKey, validation, meta } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n}\n","import {\n CurrenciesV1ListSchema,\n DESCRIPTIONS,\n OP_CONVERSION_ROUTES_V1,\n OP_LIST_V1,\n} from \"./currencies.v1.schemas\";\nimport type { HttpClient, RuntimeValidationOption } from \"../../../core/http/http.types\";\nimport { requestJson } from \"../../../core/http/operation.helper\";\nimport type { operations } from \"../../../generated/openapi-types\";\nimport { parseWithSchema } from \"../../../validation/zod.helpers\";\nimport { type ConversionRoutes, type CurrencyList, ConversionRoutesSchema } from \"../currencies.schemas\";\n\nexport type ListCurrenciesV1Query = operations[typeof OP_LIST_V1][\"parameters\"][\"query\"];\nexport type GetConversionRoutesV1Query = operations[typeof OP_CONVERSION_ROUTES_V1][\"parameters\"][\"query\"];\n\nconst CURRENCIES_V1_PATH = \"/v1/currencies\";\nconst CONVERSION_ROUTES_SEGMENT = \"conversion-routes\";\n\nexport interface CurrencyV1RequestOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n validation?: RuntimeValidationOption;\n}\n\nexport interface CurrenciesV1Api {\n list(query?: ListCurrenciesV1Query, options?: CurrencyV1RequestOptions): Promise<CurrencyList>;\n getConversionRoutes(currencyId: string, query?: GetConversionRoutesV1Query, options?: CurrencyV1RequestOptions): Promise<ConversionRoutes>;\n}\n\nfunction toQuery(\n input?: Record<string, unknown>,\n): Record<string, string | number | boolean | (string | number | boolean)[] | undefined> | undefined {\n return input as Record<string, string | number | boolean | (string | number | boolean)[] | undefined> | undefined;\n}\n\nexport function createCurrenciesV1Api(http: HttpClient): CurrenciesV1Api {\n return {\n async list(query, options) {\n const data = await requestJson<unknown>(http, {\n operationId: OP_LIST_V1,\n method: \"GET\",\n path: CURRENCIES_V1_PATH,\n query: toQuery(query ?? undefined),\n schemaKey: { operationId: OP_LIST_V1, kind: \"response\", status: 200 },\n description: DESCRIPTIONS.list,\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n });\n\n const parsed = parseWithSchema({\n schema: CurrenciesV1ListSchema,\n value: data,\n description: DESCRIPTIONS.list,\n });\n if (!parsed.success) throw parsed.error;\n const payload = parsed.data;\n const tokens = Array.isArray(payload) ? payload : [payload];\n return tokens as CurrencyList;\n },\n\n async getConversionRoutes(currencyId, query, options) {\n const path = `${CURRENCIES_V1_PATH}/${encodeURIComponent(currencyId)}/${CONVERSION_ROUTES_SEGMENT}`;\n const data = await requestJson<unknown>(http, {\n operationId: OP_CONVERSION_ROUTES_V1,\n method: \"GET\",\n path,\n query: toQuery(query ?? undefined),\n schemaKey: { operationId: OP_CONVERSION_ROUTES_V1, kind: \"response\", status: 200 },\n description: DESCRIPTIONS.conversionRoutes,\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n });\n\n const parsed = parseWithSchema({\n schema: ConversionRoutesSchema,\n value: data,\n description: DESCRIPTIONS.conversionRoutes,\n });\n if (!parsed.success) throw parsed.error;\n return parsed.data as ConversionRoutes;\n },\n };\n}\n","import { OP_CONVERSION_ROUTES, OP_LIST, CurrenciesListSchema, ConversionRoutesSchema } from \"./currencies.schemas\";\nimport type { CurrencyList, ConversionRoutes } from \"./currencies.schemas\";\nimport { createCurrenciesV1Api, type CurrenciesV1Api } from \"./v1\";\nimport type { HttpClient, RequestOptions, RuntimeValidationOption } from \"../../core/http/http.types\";\nimport { requestJson } from \"../../core/http/operation.helper\";\nimport type { operations } from \"../../generated/openapi-types\";\nimport { parseWithSchema } from \"../../validation/zod.helpers\";\n\nexport type ListCurrenciesQuery = operations[\"CurrenciesV2Controller_getNetworkTokens_v2\"][\"parameters\"][\"query\"];\nexport type GetConversionRoutesQuery = operations[\"CurrenciesV2Controller_getConversionRoutes_v2\"][\"parameters\"][\"query\"];\n\nconst CURRENCIES_PATH = \"/v2/currencies\";\nconst CONVERSION_ROUTES_SEGMENT = \"conversion-routes\";\nconst DESCRIPTION_LIST = \"Currencies list\";\nconst DESCRIPTION_CONVERSION_ROUTES = \"Conversion routes\";\n\nexport interface CurrencyRequestOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport interface CurrenciesApi {\n list(query?: ListCurrenciesQuery, options?: CurrencyRequestOptions): Promise<CurrencyList>;\n getConversionRoutes(currencyId: string, query?: GetConversionRoutesQuery, options?: CurrencyRequestOptions): Promise<ConversionRoutes>;\n legacy: CurrenciesV1Api;\n}\n\nexport function createCurrenciesApi(http: HttpClient): CurrenciesApi {\n const legacy = createCurrenciesV1Api(http);\n function toQuery(input?: Record<string, unknown>): Record<string, string | number | boolean | (string | number | boolean)[] | undefined> | undefined {\n return input as Record<string, string | number | boolean | (string | number | boolean)[] | undefined> | undefined;\n }\n\n return {\n legacy,\n async list(query, options) {\n const data = await requestJson<unknown>(http, {\n operationId: OP_LIST,\n method: \"GET\",\n path: CURRENCIES_PATH,\n query: toQuery(query ?? undefined),\n schemaKey: { operationId: OP_LIST, kind: \"response\", status: 200 },\n description: DESCRIPTION_LIST,\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n\n const parsed = parseWithSchema({\n schema: CurrenciesListSchema,\n value: data,\n description: DESCRIPTION_LIST,\n });\n if (!parsed.success) throw parsed.error;\n const list = parsed.data as CurrencyList;\n return list;\n },\n async getConversionRoutes(currencyId, query, options) {\n const path = `${CURRENCIES_PATH}/${encodeURIComponent(currencyId)}/${CONVERSION_ROUTES_SEGMENT}`;\n const data = await requestJson<unknown>(http, {\n operationId: OP_CONVERSION_ROUTES,\n method: \"GET\",\n path,\n query: toQuery(query ?? undefined),\n schemaKey: { operationId: OP_CONVERSION_ROUTES, kind: \"response\", status: 200 },\n description: DESCRIPTION_CONVERSION_ROUTES,\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n\n const parsed = parseWithSchema({\n schema: ConversionRoutesSchema,\n value: data,\n description: DESCRIPTION_CONVERSION_ROUTES,\n });\n if (!parsed.success) throw parsed.error;\n const routes = parsed.data as ConversionRoutes;\n return routes;\n },\n };\n}\n"]}
|