@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
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
[](https://bundlephobia.com/package/@marcohefti/request-network-api-client)
|
|
9
9
|
[](https://www.typescriptlang.org/)
|
|
10
10
|
|
|
11
|
-
TypeScript client for the Request Network hosted REST API. Provides typed, ergonomic helpers for requests, payouts, payer/compliance, client IDs, currencies, and payments, with runtime validation and webhook utilities built in.
|
|
11
|
+
TypeScript client for the Request Network hosted REST API. Provides typed, ergonomic helpers for requests, payouts, payer/compliance, payee destination, client IDs, currencies, and payments, with runtime validation and webhook utilities built in.
|
|
12
12
|
|
|
13
13
|
**Note**: This targets the hosted REST API, not the protocol SDK. See [SCOPE.md](docs/SCOPE.md) for when to use which.
|
|
14
14
|
|
|
@@ -66,7 +66,7 @@ try {
|
|
|
66
66
|
## Documentation
|
|
67
67
|
|
|
68
68
|
- **[Quick Start](docs/QUICK-START.md)** - Installation, environment setup, common recipes
|
|
69
|
-
- **[Domains](docs/DOMAINS.md)** - API reference for all domains (requests, payouts, payer, payments, currencies, client IDs)
|
|
69
|
+
- **[Domains](docs/DOMAINS.md)** - API reference for all domains (requests, payouts, payer, payee destination, payments, currencies, client IDs)
|
|
70
70
|
- **[HTTP & Errors](docs/HTTP-AND-ERRORS.md)** - HTTP client configuration, error handling, retry behavior
|
|
71
71
|
- **[Webhooks](docs/WEBHOOKS.md)** - Signature verification, middleware, event handlers, local dev setup
|
|
72
72
|
- **[Scope](docs/SCOPE.md)** - When to use this client vs the protocol SDK
|
|
@@ -83,7 +83,7 @@ try {
|
|
|
83
83
|
| Browsers | Modern browsers with Fetch API |
|
|
84
84
|
| Edge Runtimes | Cloudflare Workers, Vercel Edge, Deno, Bun |
|
|
85
85
|
|
|
86
|
-
**Package Manager**: pnpm 10.
|
|
86
|
+
**Package Manager**: pnpm 10.27.0 recommended (`corepack enable pnpm@10.27.0`)
|
|
87
87
|
|
|
88
88
|
## Versioning
|
|
89
89
|
|
|
@@ -234,7 +234,7 @@ If you're still stuck:
|
|
|
234
234
|
|
|
235
235
|
## Development
|
|
236
236
|
|
|
237
|
-
**Prerequisites**: Node 20/22/24, pnpm 10.
|
|
237
|
+
**Prerequisites**: Node 20/22/24, pnpm 10.27.0
|
|
238
238
|
|
|
239
239
|
```bash
|
|
240
240
|
# Install dependencies
|
|
@@ -265,9 +265,9 @@ var ClientIdV2Controller_findAll_v2_401 = ErrorEnvelopeSchema;
|
|
|
265
265
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findAll_v2", kind: "response", status: 401 }, schema: ClientIdV2Controller_findAll_v2_401 });
|
|
266
266
|
var ClientIdV2Controller_findAll_v2_429 = ErrorEnvelopeSchema;
|
|
267
267
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findAll_v2", kind: "response", status: 429 }, schema: ClientIdV2Controller_findAll_v2_429 });
|
|
268
|
-
var ClientIdV2Controller_create_v2_Request = zod.z.object({ "label": zod.z.string(), "allowedDomains": zod.z.array(zod.z.string()), "feePercentage": zod.z.string().optional(), "feeAddress": zod.z.string().optional() }).passthrough();
|
|
268
|
+
var ClientIdV2Controller_create_v2_Request = zod.z.object({ "label": zod.z.string(), "allowedDomains": zod.z.array(zod.z.string()), "feePercentage": zod.z.string().optional(), "feeAddress": zod.z.string().optional(), "operatorWalletAddress": zod.z.string().optional(), "defaultPreApprovalExpiry": zod.z.number().optional(), "defaultAuthorizationExpiry": zod.z.number().optional() }).passthrough();
|
|
269
269
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "request", variant: "application/json" }, schema: ClientIdV2Controller_create_v2_Request });
|
|
270
|
-
var ClientIdV2Controller_create_v2_201 = zod.z.object({ "id": zod.z.string().optional(), "clientId": zod.z.string().optional(), "label": zod.z.string().optional(), "allowedDomains": zod.z.array(zod.z.string()).optional(), "feePercentage": zod.z.string().nullable().optional(), "feeAddress": zod.z.string().nullable().optional(), "status": zod.z.string().optional(), "createdAt": zod.z.string().optional() }).passthrough();
|
|
270
|
+
var ClientIdV2Controller_create_v2_201 = zod.z.object({ "id": zod.z.string().optional(), "clientId": zod.z.string().optional(), "label": zod.z.string().optional(), "allowedDomains": zod.z.array(zod.z.string()).optional(), "feePercentage": zod.z.string().nullable().optional(), "feeAddress": zod.z.string().nullable().optional(), "operatorWalletAddress": zod.z.string().nullable().optional(), "defaultPreApprovalExpiry": zod.z.number().nullable().optional(), "defaultAuthorizationExpiry": zod.z.number().nullable().optional(), "status": zod.z.string().optional(), "createdAt": zod.z.string().optional() }).passthrough();
|
|
271
271
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "response", status: 201 }, schema: ClientIdV2Controller_create_v2_201 });
|
|
272
272
|
var ClientIdV2Controller_create_v2_400 = ErrorEnvelopeSchema;
|
|
273
273
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "response", status: 400 }, schema: ClientIdV2Controller_create_v2_400 });
|
|
@@ -275,7 +275,7 @@ var ClientIdV2Controller_create_v2_401 = ErrorEnvelopeSchema;
|
|
|
275
275
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "response", status: 401 }, schema: ClientIdV2Controller_create_v2_401 });
|
|
276
276
|
var ClientIdV2Controller_create_v2_429 = ErrorEnvelopeSchema;
|
|
277
277
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_create_v2", kind: "response", status: 429 }, schema: ClientIdV2Controller_create_v2_429 });
|
|
278
|
-
var ClientIdV2Controller_findOne_v2_200 = zod.z.object({ "id": zod.z.string().optional(), "clientId": zod.z.string().optional(), "label": zod.z.string().optional(), "allowedDomains": zod.z.array(zod.z.string()).optional(), "feePercentage": zod.z.string().nullable().optional(), "feeAddress": zod.z.string().nullable().optional(), "status": zod.z.string().optional(), "createdAt": zod.z.string().optional(), "updatedAt": zod.z.string().optional(), "lastUsedAt": zod.z.string().nullable().optional() }).passthrough();
|
|
278
|
+
var ClientIdV2Controller_findOne_v2_200 = zod.z.object({ "id": zod.z.string().optional(), "clientId": zod.z.string().optional(), "label": zod.z.string().optional(), "allowedDomains": zod.z.array(zod.z.string()).optional(), "feePercentage": zod.z.string().nullable().optional(), "feeAddress": zod.z.string().nullable().optional(), "operatorWalletAddress": zod.z.string().nullable().optional(), "defaultPreApprovalExpiry": zod.z.number().nullable().optional(), "defaultAuthorizationExpiry": zod.z.number().nullable().optional(), "status": zod.z.string().optional(), "createdAt": zod.z.string().optional(), "updatedAt": zod.z.string().optional(), "lastUsedAt": zod.z.string().nullable().optional() }).passthrough();
|
|
279
279
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findOne_v2", kind: "response", status: 200 }, schema: ClientIdV2Controller_findOne_v2_200 });
|
|
280
280
|
var ClientIdV2Controller_findOne_v2_401 = ErrorEnvelopeSchema;
|
|
281
281
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findOne_v2", kind: "response", status: 401 }, schema: ClientIdV2Controller_findOne_v2_401 });
|
|
@@ -283,9 +283,9 @@ var ClientIdV2Controller_findOne_v2_404 = ErrorEnvelopeSchema;
|
|
|
283
283
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findOne_v2", kind: "response", status: 404 }, schema: ClientIdV2Controller_findOne_v2_404 });
|
|
284
284
|
var ClientIdV2Controller_findOne_v2_429 = ErrorEnvelopeSchema;
|
|
285
285
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_findOne_v2", kind: "response", status: 429 }, schema: ClientIdV2Controller_findOne_v2_429 });
|
|
286
|
-
var ClientIdV2Controller_update_v2_Request = zod.z.object({ "label": zod.z.string().optional(), "allowedDomains": zod.z.array(zod.z.string()).optional(), "feePercentage": zod.z.string().nullable().optional(), "feeAddress": zod.z.string().nullable().optional(), "status": zod.z.enum(["active", "inactive", "revoked"]).optional() }).passthrough();
|
|
286
|
+
var ClientIdV2Controller_update_v2_Request = zod.z.object({ "label": zod.z.string().optional(), "allowedDomains": zod.z.array(zod.z.string()).optional(), "feePercentage": zod.z.string().nullable().optional(), "feeAddress": zod.z.string().nullable().optional(), "operatorWalletAddress": zod.z.string().nullable().optional(), "defaultPreApprovalExpiry": zod.z.number().nullable().optional(), "defaultAuthorizationExpiry": zod.z.number().nullable().optional(), "status": zod.z.enum(["active", "inactive", "revoked"]).optional() }).passthrough();
|
|
287
287
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_update_v2", kind: "request", variant: "application/json" }, schema: ClientIdV2Controller_update_v2_Request });
|
|
288
|
-
var ClientIdV2Controller_update_v2_200 = zod.z.object({ "id": zod.z.string().optional(), "clientId": zod.z.string().optional(), "label": zod.z.string().optional(), "allowedDomains": zod.z.array(zod.z.string()).optional(), "feePercentage": zod.z.string().nullable().optional(), "feeAddress": zod.z.string().nullable().optional(), "status": zod.z.string().optional(), "updatedAt": zod.z.string().optional() }).passthrough();
|
|
288
|
+
var ClientIdV2Controller_update_v2_200 = zod.z.object({ "id": zod.z.string().optional(), "clientId": zod.z.string().optional(), "label": zod.z.string().optional(), "allowedDomains": zod.z.array(zod.z.string()).optional(), "feePercentage": zod.z.string().nullable().optional(), "feeAddress": zod.z.string().nullable().optional(), "operatorWalletAddress": zod.z.string().nullable().optional(), "defaultPreApprovalExpiry": zod.z.number().nullable().optional(), "defaultAuthorizationExpiry": zod.z.number().nullable().optional(), "status": zod.z.string().optional(), "updatedAt": zod.z.string().optional() }).passthrough();
|
|
289
289
|
schemaRegistry.register({ key: { operationId: "ClientIdV2Controller_update_v2", kind: "response", status: 200 }, schema: ClientIdV2Controller_update_v2_200 });
|
|
290
290
|
var ClientIdV2Controller_update_v2_400 = ErrorEnvelopeSchema;
|
|
291
291
|
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":["z"],"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":["z"],"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"]}
|
|
@@ -92,7 +92,7 @@ var OP_LIST = "CurrenciesV2Controller_getNetworkTokens_v2";
|
|
|
92
92
|
var OP_CONVERSION_ROUTES = "CurrenciesV2Controller_getConversionRoutes_v2";
|
|
93
93
|
var CurrencyTokenSchema = zod.z.object({
|
|
94
94
|
id: zod.z.string(),
|
|
95
|
-
name: zod.z.string(),
|
|
95
|
+
name: zod.z.string().optional(),
|
|
96
96
|
symbol: zod.z.string(),
|
|
97
97
|
decimals: zod.z.number(),
|
|
98
98
|
address: zod.z.string().optional(),
|
|
@@ -109,6 +109,20 @@ var ConversionRoutesSchema = zod.z.object({
|
|
|
109
109
|
}).passthrough();
|
|
110
110
|
schemaRegistry.register({ key: { operationId: OP_LIST, kind: "response", status: 200 }, schema: CurrenciesListSchema });
|
|
111
111
|
schemaRegistry.register({ key: { operationId: OP_CONVERSION_ROUTES, kind: "response", status: 200 }, schema: ConversionRoutesSchema });
|
|
112
|
+
var OP_LIST_V1 = "CurrenciesV1Controller_getNetworkTokens_v1";
|
|
113
|
+
var OP_CONVERSION_ROUTES_V1 = "CurrenciesV1Controller_getConversionRoutes_v1";
|
|
114
|
+
var DESCRIPTION_LIST = "Legacy currencies list";
|
|
115
|
+
var DESCRIPTION_CONVERSION_ROUTES = "Legacy conversion routes";
|
|
116
|
+
var CurrenciesV1ListSchema = zod.z.union([CurrenciesListSchema, CurrencyTokenSchema]);
|
|
117
|
+
schemaRegistry.register({ key: { operationId: OP_LIST_V1, kind: "response", status: 200 }, schema: CurrenciesV1ListSchema });
|
|
118
|
+
schemaRegistry.register({
|
|
119
|
+
key: { operationId: OP_CONVERSION_ROUTES_V1, kind: "response", status: 200 },
|
|
120
|
+
schema: ConversionRoutesSchema
|
|
121
|
+
});
|
|
122
|
+
var DESCRIPTIONS = {
|
|
123
|
+
list: DESCRIPTION_LIST,
|
|
124
|
+
conversionRoutes: DESCRIPTION_CONVERSION_ROUTES
|
|
125
|
+
};
|
|
112
126
|
|
|
113
127
|
// src/core/http/validation.config.ts
|
|
114
128
|
function normaliseBoolean(flag, fallback) {
|
|
@@ -214,20 +228,6 @@ async function requestJson(http, params) {
|
|
|
214
228
|
if (!parsedResponse.success) throw parsedResponse.error;
|
|
215
229
|
return parsedResponse.data;
|
|
216
230
|
}
|
|
217
|
-
var OP_LIST_V1 = "CurrenciesV1Controller_getNetworkTokens_v1";
|
|
218
|
-
var OP_CONVERSION_ROUTES_V1 = "CurrenciesV1Controller_getConversionRoutes_v1";
|
|
219
|
-
var DESCRIPTION_LIST = "Legacy currencies list";
|
|
220
|
-
var DESCRIPTION_CONVERSION_ROUTES = "Legacy conversion routes";
|
|
221
|
-
var CurrenciesV1ListSchema = zod.z.union([CurrenciesListSchema, CurrencyTokenSchema]);
|
|
222
|
-
schemaRegistry.register({ key: { operationId: OP_LIST_V1, kind: "response", status: 200 }, schema: CurrenciesV1ListSchema });
|
|
223
|
-
schemaRegistry.register({
|
|
224
|
-
key: { operationId: OP_CONVERSION_ROUTES_V1, kind: "response", status: 200 },
|
|
225
|
-
schema: ConversionRoutesSchema
|
|
226
|
-
});
|
|
227
|
-
var DESCRIPTIONS = {
|
|
228
|
-
list: DESCRIPTION_LIST,
|
|
229
|
-
conversionRoutes: DESCRIPTION_CONVERSION_ROUTES
|
|
230
|
-
};
|
|
231
231
|
|
|
232
232
|
// src/domains/currencies/v1/currencies.v1.facade.ts
|
|
233
233
|
var CURRENCIES_V1_PATH = "/v1/currencies";
|
|
@@ -305,7 +305,8 @@ function createCurrenciesApi(http) {
|
|
|
305
305
|
description: DESCRIPTION_LIST2,
|
|
306
306
|
signal: options?.signal,
|
|
307
307
|
timeoutMs: options?.timeoutMs,
|
|
308
|
-
validation: options?.validation
|
|
308
|
+
validation: options?.validation,
|
|
309
|
+
meta: options?.meta
|
|
309
310
|
});
|
|
310
311
|
const parsed = parseWithSchema({
|
|
311
312
|
schema: CurrenciesListSchema,
|
|
@@ -327,7 +328,8 @@ function createCurrenciesApi(http) {
|
|
|
327
328
|
description: DESCRIPTION_CONVERSION_ROUTES2,
|
|
328
329
|
signal: options?.signal,
|
|
329
330
|
timeoutMs: options?.timeoutMs,
|
|
330
|
-
validation: options?.validation
|
|
331
|
+
validation: options?.validation,
|
|
332
|
+
meta: options?.meta
|
|
331
333
|
});
|
|
332
334
|
const parsed = parseWithSchema({
|
|
333
335
|
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":"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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().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"]}
|