@marcohefti/request-network-api-client 0.5.0
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/LICENSE +22 -0
- package/README.md +97 -0
- package/dist/cjs/domains/client-ids/index.js +309 -0
- package/dist/cjs/domains/client-ids/index.js.map +1 -0
- package/dist/cjs/domains/currencies/index.js +347 -0
- package/dist/cjs/domains/currencies/index.js.map +1 -0
- package/dist/cjs/domains/payer/index.js +450 -0
- package/dist/cjs/domains/payer/index.js.map +1 -0
- package/dist/cjs/domains/payouts/index.js +304 -0
- package/dist/cjs/domains/payouts/index.js.map +1 -0
- package/dist/cjs/domains/requests/index.js +544 -0
- package/dist/cjs/domains/requests/index.js.map +1 -0
- package/dist/cjs/index.js +3466 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/domains/client-ids/index.d.mts +2 -0
- package/dist/esm/domains/client-ids/index.js +307 -0
- package/dist/esm/domains/client-ids/index.js.map +1 -0
- package/dist/esm/domains/currencies/index.d.mts +3 -0
- package/dist/esm/domains/currencies/index.js +344 -0
- package/dist/esm/domains/currencies/index.js.map +1 -0
- package/dist/esm/domains/payer/index.d.mts +2 -0
- package/dist/esm/domains/payer/index.js +446 -0
- package/dist/esm/domains/payer/index.js.map +1 -0
- package/dist/esm/domains/payouts/index.d.mts +2 -0
- package/dist/esm/domains/payouts/index.js +302 -0
- package/dist/esm/domains/payouts/index.js.map +1 -0
- package/dist/esm/domains/requests/index.d.mts +2 -0
- package/dist/esm/domains/requests/index.js +542 -0
- package/dist/esm/domains/requests/index.js.map +1 -0
- package/dist/esm/index-BmWmfcnn.d.mts +113 -0
- package/dist/esm/index-CNK36ZX5.d.mts +26 -0
- package/dist/esm/index-Cd7x0Hv-.d.mts +39 -0
- package/dist/esm/index-Q2g0D7V8.d.mts +79 -0
- package/dist/esm/index-ziziGrHN.d.mts +220 -0
- package/dist/esm/index.d.mts +5478 -0
- package/dist/esm/index.js +3435 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/openapi-types-CtUFCrk4.d.mts +3368 -0
- package/package.json +168 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
|
|
5
|
+
// src/domains/currencies/currencies.schemas.ts
|
|
6
|
+
|
|
7
|
+
// src/validation/schema.registry.ts
|
|
8
|
+
function serialiseKey(key) {
|
|
9
|
+
const variant = key.variant ?? "default";
|
|
10
|
+
const status = key.status?.toString() ?? "any";
|
|
11
|
+
return `${key.operationId}|${key.kind}|${variant}|${status}`;
|
|
12
|
+
}
|
|
13
|
+
var SchemaRegistry = class {
|
|
14
|
+
store = /* @__PURE__ */ new Map();
|
|
15
|
+
register(entry) {
|
|
16
|
+
const id = serialiseKey(entry.key);
|
|
17
|
+
this.store.set(id, entry);
|
|
18
|
+
}
|
|
19
|
+
get(key) {
|
|
20
|
+
const id = serialiseKey(key);
|
|
21
|
+
return this.store.get(id)?.schema;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Removes every registered schema — primarily useful in tests.
|
|
25
|
+
*/
|
|
26
|
+
clear() {
|
|
27
|
+
this.store.clear();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var schemaRegistry = new SchemaRegistry();
|
|
31
|
+
|
|
32
|
+
// src/validation/generated/groups/currencies.schemas.generated.ts
|
|
33
|
+
var ErrorDetailSchema = zod.z.object({
|
|
34
|
+
message: zod.z.string(),
|
|
35
|
+
code: zod.z.string().optional(),
|
|
36
|
+
field: zod.z.string().optional(),
|
|
37
|
+
source: zod.z.object({
|
|
38
|
+
pointer: zod.z.string().optional(),
|
|
39
|
+
parameter: zod.z.string().optional()
|
|
40
|
+
}).passthrough().optional(),
|
|
41
|
+
meta: zod.z.record(zod.z.unknown()).optional()
|
|
42
|
+
}).passthrough();
|
|
43
|
+
var ErrorEnvelopeSchema = zod.z.object({
|
|
44
|
+
status: zod.z.number().optional(),
|
|
45
|
+
statusCode: zod.z.number().optional(),
|
|
46
|
+
code: zod.z.string().optional(),
|
|
47
|
+
error: zod.z.string().optional(),
|
|
48
|
+
message: zod.z.union([
|
|
49
|
+
zod.z.string(),
|
|
50
|
+
zod.z.array(zod.z.union([zod.z.string(), ErrorDetailSchema])),
|
|
51
|
+
ErrorDetailSchema
|
|
52
|
+
]).optional(),
|
|
53
|
+
detail: zod.z.unknown().optional(),
|
|
54
|
+
errors: zod.z.array(ErrorDetailSchema).optional(),
|
|
55
|
+
requestId: zod.z.string().optional(),
|
|
56
|
+
correlationId: zod.z.string().optional(),
|
|
57
|
+
retryAfter: zod.z.union([zod.z.number(), zod.z.string()]).optional(),
|
|
58
|
+
retryAfterMs: zod.z.number().optional(),
|
|
59
|
+
meta: zod.z.record(zod.z.unknown()).optional()
|
|
60
|
+
}).passthrough();
|
|
61
|
+
var CurrenciesV1Controller_getNetworkTokens_v1_200 = zod.z.unknown();
|
|
62
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getNetworkTokens_v1", kind: "response", status: 200 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_200 });
|
|
63
|
+
var CurrenciesV1Controller_getNetworkTokens_v1_400 = ErrorEnvelopeSchema;
|
|
64
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getNetworkTokens_v1", kind: "response", status: 400 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_400 });
|
|
65
|
+
var CurrenciesV1Controller_getNetworkTokens_v1_404 = ErrorEnvelopeSchema;
|
|
66
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getNetworkTokens_v1", kind: "response", status: 404 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_404 });
|
|
67
|
+
var CurrenciesV1Controller_getNetworkTokens_v1_429 = ErrorEnvelopeSchema;
|
|
68
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getNetworkTokens_v1", kind: "response", status: 429 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_429 });
|
|
69
|
+
var CurrenciesV1Controller_getConversionRoutes_v1_200 = zod.z.unknown();
|
|
70
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getConversionRoutes_v1", kind: "response", status: 200 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_200 });
|
|
71
|
+
var CurrenciesV1Controller_getConversionRoutes_v1_404 = ErrorEnvelopeSchema;
|
|
72
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getConversionRoutes_v1", kind: "response", status: 404 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_404 });
|
|
73
|
+
var CurrenciesV1Controller_getConversionRoutes_v1_429 = ErrorEnvelopeSchema;
|
|
74
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getConversionRoutes_v1", kind: "response", status: 429 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_429 });
|
|
75
|
+
var CurrenciesV2Controller_getNetworkTokens_v2_200 = zod.z.unknown();
|
|
76
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getNetworkTokens_v2", kind: "response", status: 200 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_200 });
|
|
77
|
+
var CurrenciesV2Controller_getNetworkTokens_v2_400 = ErrorEnvelopeSchema;
|
|
78
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getNetworkTokens_v2", kind: "response", status: 400 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_400 });
|
|
79
|
+
var CurrenciesV2Controller_getNetworkTokens_v2_404 = ErrorEnvelopeSchema;
|
|
80
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getNetworkTokens_v2", kind: "response", status: 404 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_404 });
|
|
81
|
+
var CurrenciesV2Controller_getNetworkTokens_v2_429 = ErrorEnvelopeSchema;
|
|
82
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getNetworkTokens_v2", kind: "response", status: 429 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_429 });
|
|
83
|
+
var CurrenciesV2Controller_getConversionRoutes_v2_200 = zod.z.unknown();
|
|
84
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getConversionRoutes_v2", kind: "response", status: 200 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_200 });
|
|
85
|
+
var CurrenciesV2Controller_getConversionRoutes_v2_404 = ErrorEnvelopeSchema;
|
|
86
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getConversionRoutes_v2", kind: "response", status: 404 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_404 });
|
|
87
|
+
var CurrenciesV2Controller_getConversionRoutes_v2_429 = ErrorEnvelopeSchema;
|
|
88
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getConversionRoutes_v2", kind: "response", status: 429 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_429 });
|
|
89
|
+
|
|
90
|
+
// src/domains/currencies/currencies.schemas.ts
|
|
91
|
+
var OP_LIST = "CurrenciesV2Controller_getNetworkTokens_v2";
|
|
92
|
+
var OP_CONVERSION_ROUTES = "CurrenciesV2Controller_getConversionRoutes_v2";
|
|
93
|
+
var CurrencyTokenSchema = zod.z.object({
|
|
94
|
+
id: zod.z.string(),
|
|
95
|
+
name: zod.z.string(),
|
|
96
|
+
symbol: zod.z.string(),
|
|
97
|
+
decimals: zod.z.number(),
|
|
98
|
+
address: zod.z.string().optional(),
|
|
99
|
+
network: zod.z.string().optional(),
|
|
100
|
+
type: zod.z.string().optional(),
|
|
101
|
+
hash: zod.z.string().optional(),
|
|
102
|
+
chainId: zod.z.number().optional()
|
|
103
|
+
}).passthrough();
|
|
104
|
+
var CurrenciesListSchema = zod.z.array(CurrencyTokenSchema);
|
|
105
|
+
var ConversionRoutesSchema = zod.z.object({
|
|
106
|
+
currencyId: zod.z.string(),
|
|
107
|
+
network: zod.z.string().nullable().optional(),
|
|
108
|
+
conversionRoutes: zod.z.array(CurrencyTokenSchema)
|
|
109
|
+
}).passthrough();
|
|
110
|
+
schemaRegistry.register({ key: { operationId: OP_LIST, kind: "response", status: 200 }, schema: CurrenciesListSchema });
|
|
111
|
+
schemaRegistry.register({ key: { operationId: OP_CONVERSION_ROUTES, kind: "response", status: 200 }, schema: ConversionRoutesSchema });
|
|
112
|
+
|
|
113
|
+
// src/core/http/validation.config.ts
|
|
114
|
+
function normaliseBoolean(flag, fallback) {
|
|
115
|
+
return typeof flag === "boolean" ? flag : fallback;
|
|
116
|
+
}
|
|
117
|
+
function mergeRuntimeValidation(base, override) {
|
|
118
|
+
if (override === void 0) {
|
|
119
|
+
return base;
|
|
120
|
+
}
|
|
121
|
+
if (typeof override === "boolean") {
|
|
122
|
+
return {
|
|
123
|
+
requests: override,
|
|
124
|
+
responses: override,
|
|
125
|
+
errors: override
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
requests: normaliseBoolean(override.requests, base.requests),
|
|
130
|
+
responses: normaliseBoolean(override.responses, base.responses),
|
|
131
|
+
errors: normaliseBoolean(override.errors, base.errors)
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// src/validation/zod.helpers.ts
|
|
136
|
+
var ValidationError = class extends Error {
|
|
137
|
+
constructor(message, cause) {
|
|
138
|
+
super(message, { cause });
|
|
139
|
+
this.cause = cause;
|
|
140
|
+
this.name = "ClientValidationError";
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
function parseWithSchema(options) {
|
|
144
|
+
const { schema, value, description } = options;
|
|
145
|
+
const outcome = schema.safeParse(value);
|
|
146
|
+
if (outcome.success) {
|
|
147
|
+
return { success: true, data: outcome.data };
|
|
148
|
+
}
|
|
149
|
+
const error = new ValidationError(description ?? "Validation failed", outcome.error);
|
|
150
|
+
return { success: false, error };
|
|
151
|
+
}
|
|
152
|
+
function parseWithRegistry(options) {
|
|
153
|
+
const schema = schemaRegistry.get(options.key);
|
|
154
|
+
if (!schema) {
|
|
155
|
+
if (options.skipOnMissingSchema) {
|
|
156
|
+
return { success: true, data: options.value };
|
|
157
|
+
}
|
|
158
|
+
return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };
|
|
159
|
+
}
|
|
160
|
+
return parseWithSchema({ schema, value: options.value, description: options.description });
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// src/core/http/operation.helper.ts
|
|
164
|
+
async function requestJson(http, params) {
|
|
165
|
+
const {
|
|
166
|
+
operationId,
|
|
167
|
+
method,
|
|
168
|
+
path,
|
|
169
|
+
query,
|
|
170
|
+
body,
|
|
171
|
+
schemaKey,
|
|
172
|
+
requestSchemaKey,
|
|
173
|
+
description,
|
|
174
|
+
querySerializer,
|
|
175
|
+
signal,
|
|
176
|
+
timeoutMs,
|
|
177
|
+
validation,
|
|
178
|
+
meta
|
|
179
|
+
} = params;
|
|
180
|
+
const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);
|
|
181
|
+
let requestBody = body;
|
|
182
|
+
if (runtimeValidation.requests && requestSchemaKey && body !== void 0) {
|
|
183
|
+
const parsedRequest = parseWithRegistry({
|
|
184
|
+
key: requestSchemaKey,
|
|
185
|
+
value: body,
|
|
186
|
+
description: `${description ?? operationId} request`,
|
|
187
|
+
skipOnMissingSchema: true
|
|
188
|
+
});
|
|
189
|
+
if (!parsedRequest.success) {
|
|
190
|
+
throw parsedRequest.error;
|
|
191
|
+
}
|
|
192
|
+
requestBody = parsedRequest.data;
|
|
193
|
+
}
|
|
194
|
+
const metaValidation = validation ?? meta?.validation;
|
|
195
|
+
const requestMeta = {
|
|
196
|
+
...meta ?? {},
|
|
197
|
+
operationId,
|
|
198
|
+
validation: metaValidation
|
|
199
|
+
};
|
|
200
|
+
const res = await http.request({
|
|
201
|
+
method,
|
|
202
|
+
path,
|
|
203
|
+
query,
|
|
204
|
+
body: requestBody,
|
|
205
|
+
querySerializer,
|
|
206
|
+
signal,
|
|
207
|
+
timeoutMs,
|
|
208
|
+
meta: requestMeta
|
|
209
|
+
});
|
|
210
|
+
if (!runtimeValidation.responses) {
|
|
211
|
+
return res.data;
|
|
212
|
+
}
|
|
213
|
+
const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });
|
|
214
|
+
if (!parsedResponse.success) throw parsedResponse.error;
|
|
215
|
+
return parsedResponse.data;
|
|
216
|
+
}
|
|
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
|
+
|
|
232
|
+
// src/domains/currencies/v1/currencies.v1.facade.ts
|
|
233
|
+
var CURRENCIES_V1_PATH = "/v1/currencies";
|
|
234
|
+
var CONVERSION_ROUTES_SEGMENT = "conversion-routes";
|
|
235
|
+
function toQuery(input) {
|
|
236
|
+
return input;
|
|
237
|
+
}
|
|
238
|
+
function createCurrenciesV1Api(http) {
|
|
239
|
+
return {
|
|
240
|
+
async list(query, options) {
|
|
241
|
+
const data = await requestJson(http, {
|
|
242
|
+
operationId: OP_LIST_V1,
|
|
243
|
+
method: "GET",
|
|
244
|
+
path: CURRENCIES_V1_PATH,
|
|
245
|
+
query: toQuery(query ?? void 0),
|
|
246
|
+
schemaKey: { operationId: OP_LIST_V1, kind: "response", status: 200 },
|
|
247
|
+
description: DESCRIPTIONS.list,
|
|
248
|
+
signal: options?.signal,
|
|
249
|
+
timeoutMs: options?.timeoutMs,
|
|
250
|
+
validation: options?.validation
|
|
251
|
+
});
|
|
252
|
+
const parsed = parseWithSchema({
|
|
253
|
+
schema: CurrenciesV1ListSchema,
|
|
254
|
+
value: data,
|
|
255
|
+
description: DESCRIPTIONS.list
|
|
256
|
+
});
|
|
257
|
+
if (!parsed.success) throw parsed.error;
|
|
258
|
+
const payload = parsed.data;
|
|
259
|
+
const tokens = Array.isArray(payload) ? payload : [payload];
|
|
260
|
+
return tokens;
|
|
261
|
+
},
|
|
262
|
+
async getConversionRoutes(currencyId, query, options) {
|
|
263
|
+
const path = `${CURRENCIES_V1_PATH}/${encodeURIComponent(currencyId)}/${CONVERSION_ROUTES_SEGMENT}`;
|
|
264
|
+
const data = await requestJson(http, {
|
|
265
|
+
operationId: OP_CONVERSION_ROUTES_V1,
|
|
266
|
+
method: "GET",
|
|
267
|
+
path,
|
|
268
|
+
query: toQuery(query ?? void 0),
|
|
269
|
+
schemaKey: { operationId: OP_CONVERSION_ROUTES_V1, kind: "response", status: 200 },
|
|
270
|
+
description: DESCRIPTIONS.conversionRoutes,
|
|
271
|
+
signal: options?.signal,
|
|
272
|
+
timeoutMs: options?.timeoutMs,
|
|
273
|
+
validation: options?.validation
|
|
274
|
+
});
|
|
275
|
+
const parsed = parseWithSchema({
|
|
276
|
+
schema: ConversionRoutesSchema,
|
|
277
|
+
value: data,
|
|
278
|
+
description: DESCRIPTIONS.conversionRoutes
|
|
279
|
+
});
|
|
280
|
+
if (!parsed.success) throw parsed.error;
|
|
281
|
+
return parsed.data;
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// src/domains/currencies/currencies.facade.ts
|
|
287
|
+
var CURRENCIES_PATH = "/v2/currencies";
|
|
288
|
+
var CONVERSION_ROUTES_SEGMENT2 = "conversion-routes";
|
|
289
|
+
var DESCRIPTION_LIST2 = "Currencies list";
|
|
290
|
+
var DESCRIPTION_CONVERSION_ROUTES2 = "Conversion routes";
|
|
291
|
+
function createCurrenciesApi(http) {
|
|
292
|
+
const legacy = createCurrenciesV1Api(http);
|
|
293
|
+
function toQuery2(input) {
|
|
294
|
+
return input;
|
|
295
|
+
}
|
|
296
|
+
return {
|
|
297
|
+
legacy,
|
|
298
|
+
async list(query, options) {
|
|
299
|
+
const data = await requestJson(http, {
|
|
300
|
+
operationId: OP_LIST,
|
|
301
|
+
method: "GET",
|
|
302
|
+
path: CURRENCIES_PATH,
|
|
303
|
+
query: toQuery2(query ?? void 0),
|
|
304
|
+
schemaKey: { operationId: OP_LIST, kind: "response", status: 200 },
|
|
305
|
+
description: DESCRIPTION_LIST2,
|
|
306
|
+
signal: options?.signal,
|
|
307
|
+
timeoutMs: options?.timeoutMs,
|
|
308
|
+
validation: options?.validation
|
|
309
|
+
});
|
|
310
|
+
const parsed = parseWithSchema({
|
|
311
|
+
schema: CurrenciesListSchema,
|
|
312
|
+
value: data,
|
|
313
|
+
description: DESCRIPTION_LIST2
|
|
314
|
+
});
|
|
315
|
+
if (!parsed.success) throw parsed.error;
|
|
316
|
+
const list = parsed.data;
|
|
317
|
+
return list;
|
|
318
|
+
},
|
|
319
|
+
async getConversionRoutes(currencyId, query, options) {
|
|
320
|
+
const path = `${CURRENCIES_PATH}/${encodeURIComponent(currencyId)}/${CONVERSION_ROUTES_SEGMENT2}`;
|
|
321
|
+
const data = await requestJson(http, {
|
|
322
|
+
operationId: OP_CONVERSION_ROUTES,
|
|
323
|
+
method: "GET",
|
|
324
|
+
path,
|
|
325
|
+
query: toQuery2(query ?? void 0),
|
|
326
|
+
schemaKey: { operationId: OP_CONVERSION_ROUTES, kind: "response", status: 200 },
|
|
327
|
+
description: DESCRIPTION_CONVERSION_ROUTES2,
|
|
328
|
+
signal: options?.signal,
|
|
329
|
+
timeoutMs: options?.timeoutMs,
|
|
330
|
+
validation: options?.validation
|
|
331
|
+
});
|
|
332
|
+
const parsed = parseWithSchema({
|
|
333
|
+
schema: ConversionRoutesSchema,
|
|
334
|
+
value: data,
|
|
335
|
+
description: DESCRIPTION_CONVERSION_ROUTES2
|
|
336
|
+
});
|
|
337
|
+
if (!parsed.success) throw parsed.error;
|
|
338
|
+
const routes = parsed.data;
|
|
339
|
+
return routes;
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
exports.createCurrenciesApi = createCurrenciesApi;
|
|
345
|
+
exports.createCurrenciesV1Api = createCurrenciesV1Api;
|
|
346
|
+
//# sourceMappingURL=index.js.map
|
|
347
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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":";;;;;;;AAgBA,SAAS,aAAa,GAAA,EAAwB;AAC5C,EAAA,MAAM,OAAA,GAAU,IAAI,OAAA,IAAW,SAAA;AAC/B,EAAA,MAAM,MAAA,GAAS,GAAA,CAAI,MAAA,EAAQ,QAAA,EAAS,IAAK,KAAA;AACzC,EAAA,OAAO,CAAA,EAAG,IAAI,WAAW,CAAA,CAAA,EAAI,IAAI,IAAI,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAC5D;AAMO,IAAM,iBAAN,MAAqB;AAAA,EACT,KAAA,uBAAY,GAAA,EAAyB;AAAA,EAEtD,SAAS,KAAA,EAA0B;AACjC,IAAA,MAAM,EAAA,GAAK,YAAA,CAAa,KAAA,CAAM,GAAG,CAAA;AACjC,IAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,EAAA,EAAI,KAAK,CAAA;AAAA,EAC1B;AAAA,EAEA,IAAI,GAAA,EAAwC;AAC1C,IAAA,MAAM,EAAA,GAAK,aAAa,GAAG,CAAA;AAC3B,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,EAAE,CAAA,EAAG,MAAA;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA,GAAc;AACZ,IAAA,IAAA,CAAK,MAAM,KAAA,EAAM;AAAA,EACnB;AACF,CAAA;AAEO,IAAM,cAAA,GAAiB,IAAI,cAAA,EAAe;;;AC1CjD,IAAM,iBAAA,GAAoBA,MACvB,MAAA,CAAO;AAAA,EACN,OAAA,EAASA,MAAE,MAAA,EAAO;AAAA,EAClB,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,MAAA,EAAQA,MACL,MAAA,CAAO;AAAA,IACN,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC7B,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAChC,CAAA,CACA,WAAA,EAAY,CACZ,QAAA,EAAS;AAAA,EACZ,MAAMA,KAAA,CAAE,MAAA,CAAOA,MAAE,OAAA,EAAS,EAAE,QAAA;AAC9B,CAAC,EACA,WAAA,EAAY;AAEf,IAAM,mBAAA,GAAsBA,MACzB,MAAA,CAAO;AAAA,EACN,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,UAAA,EAAYA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,OAAA,EAASA,MACN,KAAA,CAAM;AAAA,IACLA,MAAE,MAAA,EAAO;AAAA,IACTA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,KAAA,CAAM,CAACA,MAAE,MAAA,EAAO,EAAG,iBAAiB,CAAC,CAAC,CAAA;AAAA,IAChD;AAAA,GACD,EACA,QAAA,EAAS;AAAA,EACZ,MAAA,EAAQA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC7B,MAAA,EAAQA,KAAA,CAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS;AAAA,EAC5C,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,aAAA,EAAeA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,UAAA,EAAYA,KAAA,CAAE,KAAA,CAAM,CAACA,KAAA,CAAE,MAAA,EAAO,EAAGA,KAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACvD,YAAA,EAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,MAAMA,KAAA,CAAE,MAAA,CAAOA,MAAE,OAAA,EAAS,EAAE,QAAA;AAC9B,CAAC,EACA,WAAA,EAAY;AAGR,IAAM,8CAAA,GAAiDA,MAAE,OAAA,EAAQ;AACxE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,iDAAA,GAAoDA,MAAE,OAAA,EAAQ;AAC3E,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,iDAAA,GAAoD,mBAAA;AACjE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,iDAAA,GAAoD,mBAAA;AACjE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,8CAAA,GAAiDA,MAAE,OAAA,EAAQ;AACxE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,8CAAA,GAAiD,mBAAA;AAC9D,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,4CAAA,EAA8C,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,gDAAgD,CAAA;AAG9K,IAAM,iDAAA,GAAoDA,MAAE,OAAA,EAAQ;AAC3E,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,iDAAA,GAAoD,mBAAA;AACjE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;AAGpL,IAAM,iDAAA,GAAoD,mBAAA;AACjE,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,+CAAA,EAAiD,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,mDAAmD,CAAA;;;AC7FpL,IAAM,OAAA,GAAU,4CAAA;AAChB,IAAM,oBAAA,GAAuB,+CAAA;AAE7B,IAAM,mBAAA,GAAsBA,MAChC,MAAA,CAAO;AAAA,EACN,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,MAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC,EACA,WAAA,EAAY;AAER,IAAM,oBAAA,GAAuBA,KAAAA,CAAE,KAAA,CAAM,mBAAmB,CAAA;AAIxD,IAAM,sBAAA,GAAyBA,MACnC,MAAA,CAAO;AAAA,EACN,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,EACrB,SAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACxC,gBAAA,EAAkBA,KAAAA,CAAE,KAAA,CAAM,mBAAmB;AAC/C,CAAC,EACA,WAAA,EAAY;AAIf,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,OAAA,EAAS,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,sBAAsB,CAAA;AACtH,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,oBAAA,EAAsB,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,wBAAwB,CAAA;;;AC7BrI,SAAS,gBAAA,CAAiB,MAA2B,QAAA,EAA4B;AAC/E,EAAA,OAAO,OAAO,IAAA,KAAS,SAAA,GAAY,IAAA,GAAO,QAAA;AAC5C;AAkBO,SAAS,sBAAA,CAAuB,MAA+B,QAAA,EAA6D;AACjI,EAAA,IAAI,aAAa,MAAA,EAAW;AAC1B,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,OAAO,aAAa,SAAA,EAAW;AACjC,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,QAAA;AAAA,MACX,MAAA,EAAQ;AAAA,KACV;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,QAAA,EAAU,gBAAA,CAAiB,QAAA,CAAS,QAAA,EAAU,KAAK,QAAQ,CAAA;AAAA,IAC3D,SAAA,EAAW,gBAAA,CAAiB,QAAA,CAAS,SAAA,EAAW,KAAK,SAAS,CAAA;AAAA,IAC9D,MAAA,EAAQ,gBAAA,CAAiB,QAAA,CAAS,MAAA,EAAQ,KAAK,MAAM;AAAA,GACvD;AACF;;;ACpBO,IAAM,eAAA,GAAN,cAA8B,KAAA,CAAM;AAAA,EACzC,WAAA,CAAY,SAA0B,KAAA,EAAiB;AACrD,IAAA,KAAA,CAAM,OAAA,EAAS,EAAE,KAAA,EAAO,CAAA;AADY,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA;AAEpC,IAAA,IAAA,CAAK,IAAA,GAAO,uBAAA;AAAA,EACd;AACF,CAAA;AAEO,SAAS,gBACd,OAAA,EACoC;AACpC,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAO,WAAA,EAAY,GAAI,OAAA;AACvC,EAAA,MAAM,OAAA,GAA+D,MAAA,CAAO,SAAA,CAAU,KAAK,CAAA;AAC3F,EAAA,IAAI,QAAQ,OAAA,EAAS;AACnB,IAAA,OAAO,EAAE,OAAA,EAAS,IAAA,EAAM,IAAA,EAAM,QAAQ,IAAA,EAAK;AAAA,EAC7C;AAEA,EAAA,MAAM,QAAQ,IAAI,eAAA,CAAgB,WAAA,IAAe,mBAAA,EAAqB,QAAQ,KAAK,CAAA;AACnF,EAAA,OAAO,EAAE,OAAA,EAAS,KAAA,EAAO,KAAA,EAAM;AACjC;AAEO,SAAS,kBAA8C,OAAA,EAAmE;AAC/H,EAAA,MAAM,MAAA,GAAS,cAAA,CAAe,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAC7C,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,IAAI,QAAQ,mBAAA,EAAqB;AAC/B,MAAA,OAAO,EAAE,OAAA,EAAS,IAAA,EAAM,IAAA,EAAM,QAAQ,KAAA,EAA+B;AAAA,IACvE;AACA,IAAA,OAAO,EAAE,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,IAAI,eAAA,CAAgB,CAAA,yBAAA,EAA4B,OAAA,CAAQ,GAAA,CAAI,WAAW,CAAA,CAAE,CAAA,EAAE;AAAA,EAC7G;AAEA,EAAA,OAAO,eAAA,CAAgB,EAAE,MAAA,EAAQ,KAAA,EAAO,QAAQ,KAAA,EAAO,WAAA,EAAa,OAAA,CAAQ,WAAA,EAAa,CAAA;AAC3F;;;ACjCA,eAAsB,WAAA,CAAe,MAAkB,MAAA,EAAuC;AAC5F,EAAA,MAAM;AAAA,IACJ,WAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF,GAAI,MAAA;AAEJ,EAAA,MAAM,iBAAA,GAAoB,sBAAA,CAAuB,IAAA,CAAK,0BAAA,IAA8B,UAAU,CAAA;AAE9F,EAAA,IAAI,WAAA,GAAc,IAAA;AAClB,EAAA,IAAI,iBAAA,CAAkB,QAAA,IAAY,gBAAA,IAAoB,IAAA,KAAS,MAAA,EAAW;AACxE,IAAA,MAAM,gBAAgB,iBAAA,CAAkB;AAAA,MACtC,GAAA,EAAK,gBAAA;AAAA,MACL,KAAA,EAAO,IAAA;AAAA,MACP,WAAA,EAAa,CAAA,EAAG,WAAA,IAAe,WAAW,CAAA,QAAA,CAAA;AAAA,MAC1C,mBAAA,EAAqB;AAAA,KACtB,CAAA;AACD,IAAA,IAAI,CAAC,cAAc,OAAA,EAAS;AAC1B,MAAA,MAAM,aAAA,CAAc,KAAA;AAAA,IACtB;AACA,IAAA,WAAA,GAAc,aAAA,CAAc,IAAA;AAAA,EAC9B;AAEA,EAAA,MAAM,cAAA,GAAiB,cAAc,IAAA,EAAM,UAAA;AAC3C,EAAA,MAAM,WAAA,GAAsC;AAAA,IAC1C,GAAI,QAAQ,EAAC;AAAA,IACb,WAAA;AAAA,IACA,UAAA,EAAY;AAAA,GACd;AAEA,EAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,OAAA,CAAQ;AAAA,IAC7B,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA,EAAM,WAAA;AAAA,IACN,eAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA,EAAM;AAAA,GACP,CAAA;AAED,EAAA,IAAI,CAAC,kBAAkB,SAAA,EAAW;AAChC,IAAA,OAAO,GAAA,CAAI,IAAA;AAAA,EACb;AAEA,EAAA,MAAM,cAAA,GAAiB,kBAAkB,EAAE,GAAA,EAAK,WAAW,KAAA,EAAO,GAAA,CAAI,IAAA,EAAM,WAAA,EAAa,CAAA;AACzF,EAAA,IAAI,CAAC,cAAA,CAAe,OAAA,EAAS,MAAM,cAAA,CAAe,KAAA;AAClD,EAAA,OAAO,cAAA,CAAe,IAAA;AACxB;ACtEO,IAAM,UAAA,GAAa,4CAAA;AACnB,IAAM,uBAAA,GAA0B,+CAAA;AAEvC,IAAM,gBAAA,GAAmB,wBAAA;AACzB,IAAM,6BAAA,GAAgC,0BAAA;AAE/B,IAAM,yBAAyBA,KAAAA,CAAE,KAAA,CAAM,CAAC,oBAAA,EAAsB,mBAAmB,CAAC,CAAA;AAKzF,cAAA,CAAe,QAAA,CAAS,EAAE,GAAA,EAAK,EAAE,WAAA,EAAa,UAAA,EAAY,IAAA,EAAM,UAAA,EAAY,MAAA,EAAQ,GAAA,EAAI,EAAG,MAAA,EAAQ,wBAAwB,CAAA;AAC3H,cAAA,CAAe,QAAA,CAAS;AAAA,EACtB,KAAK,EAAE,WAAA,EAAa,yBAAyB,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,EAC3E,MAAA,EAAQ;AACV,CAAC,CAAA;AAEM,IAAM,YAAA,GAAe;AAAA,EAC1B,IAAA,EAAM,gBAAA;AAAA,EACN,gBAAA,EAAkB;AACpB,CAAA;;;AChBA,IAAM,kBAAA,GAAqB,gBAAA;AAC3B,IAAM,yBAAA,GAA4B,mBAAA;AAalC,SAAS,QACP,KAAA,EACmG;AACnG,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,sBAAsB,IAAA,EAAmC;AACvE,EAAA,OAAO;AAAA,IACL,MAAM,IAAA,CAAK,KAAA,EAAO,OAAA,EAAS;AACzB,MAAA,MAAM,IAAA,GAAO,MAAM,WAAA,CAAqB,IAAA,EAAM;AAAA,QAC5C,WAAA,EAAa,UAAA;AAAA,QACb,MAAA,EAAQ,KAAA;AAAA,QACR,IAAA,EAAM,kBAAA;AAAA,QACN,KAAA,EAAO,OAAA,CAAQ,KAAA,IAAS,MAAS,CAAA;AAAA,QACjC,WAAW,EAAE,WAAA,EAAa,YAAY,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,QACpE,aAAa,YAAA,CAAa,IAAA;AAAA,QAC1B,QAAQ,OAAA,EAAS,MAAA;AAAA,QACjB,WAAW,OAAA,EAAS,SAAA;AAAA,QACpB,YAAY,OAAA,EAAS;AAAA,OACtB,CAAA;AAED,MAAA,MAAM,SAAS,eAAA,CAAgB;AAAA,QAC7B,MAAA,EAAQ,sBAAA;AAAA,QACR,KAAA,EAAO,IAAA;AAAA,QACP,aAAa,YAAA,CAAa;AAAA,OAC3B,CAAA;AACD,MAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,MAAM,MAAA,CAAO,KAAA;AAClC,MAAA,MAAM,UAAU,MAAA,CAAO,IAAA;AACvB,MAAA,MAAM,SAAS,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAA,GAAI,OAAA,GAAU,CAAC,OAAO,CAAA;AAC1D,MAAA,OAAO,MAAA;AAAA,IACT,CAAA;AAAA,IAEA,MAAM,mBAAA,CAAoB,UAAA,EAAY,KAAA,EAAO,OAAA,EAAS;AACpD,MAAA,MAAM,IAAA,GAAO,GAAG,kBAAkB,CAAA,CAAA,EAAI,mBAAmB,UAAU,CAAC,IAAI,yBAAyB,CAAA,CAAA;AACjG,MAAA,MAAM,IAAA,GAAO,MAAM,WAAA,CAAqB,IAAA,EAAM;AAAA,QAC5C,WAAA,EAAa,uBAAA;AAAA,QACb,MAAA,EAAQ,KAAA;AAAA,QACR,IAAA;AAAA,QACA,KAAA,EAAO,OAAA,CAAQ,KAAA,IAAS,MAAS,CAAA;AAAA,QACjC,WAAW,EAAE,WAAA,EAAa,yBAAyB,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,QACjF,aAAa,YAAA,CAAa,gBAAA;AAAA,QAC1B,QAAQ,OAAA,EAAS,MAAA;AAAA,QACjB,WAAW,OAAA,EAAS,SAAA;AAAA,QACpB,YAAY,OAAA,EAAS;AAAA,OACtB,CAAA;AAED,MAAA,MAAM,SAAS,eAAA,CAAgB;AAAA,QAC7B,MAAA,EAAQ,sBAAA;AAAA,QACR,KAAA,EAAO,IAAA;AAAA,QACP,aAAa,YAAA,CAAa;AAAA,OAC3B,CAAA;AACD,MAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,MAAM,MAAA,CAAO,KAAA;AAClC,MAAA,OAAO,MAAA,CAAO,IAAA;AAAA,IAChB;AAAA,GACF;AACF;;;ACzEA,IAAM,eAAA,GAAkB,gBAAA;AACxB,IAAMC,0BAAAA,GAA4B,mBAAA;AAClC,IAAMC,iBAAAA,GAAmB,iBAAA;AACzB,IAAMC,8BAAAA,GAAgC,mBAAA;AAc/B,SAAS,oBAAoB,IAAA,EAAiC;AACnE,EAAA,MAAM,MAAA,GAAS,sBAAsB,IAAI,CAAA;AACzC,EAAA,SAASC,SAAQ,KAAA,EAAoI;AACnJ,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,OAAO;AAAA,IACL,MAAA;AAAA,IACA,MAAM,IAAA,CAAK,KAAA,EAAO,OAAA,EAAS;AACzB,MAAA,MAAM,IAAA,GAAO,MAAM,WAAA,CAAqB,IAAA,EAAM;AAAA,QAC5C,WAAA,EAAa,OAAA;AAAA,QACb,MAAA,EAAQ,KAAA;AAAA,QACR,IAAA,EAAM,eAAA;AAAA,QACN,KAAA,EAAOA,QAAAA,CAAQ,KAAA,IAAS,MAAS,CAAA;AAAA,QACjC,WAAW,EAAE,WAAA,EAAa,SAAS,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,QACjE,WAAA,EAAaF,iBAAAA;AAAA,QACb,QAAQ,OAAA,EAAS,MAAA;AAAA,QACjB,WAAW,OAAA,EAAS,SAAA;AAAA,QACpB,YAAY,OAAA,EAAS;AAAA,OACtB,CAAA;AAED,MAAA,MAAM,SAAS,eAAA,CAAgB;AAAA,QAC7B,MAAA,EAAQ,oBAAA;AAAA,QACR,KAAA,EAAO,IAAA;AAAA,QACP,WAAA,EAAaA;AAAA,OACd,CAAA;AACD,MAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,MAAM,MAAA,CAAO,KAAA;AAClC,MAAA,MAAM,OAAO,MAAA,CAAO,IAAA;AACpB,MAAA,OAAO,IAAA;AAAA,IACT,CAAA;AAAA,IACA,MAAM,mBAAA,CAAoB,UAAA,EAAY,KAAA,EAAO,OAAA,EAAS;AACpD,MAAA,MAAM,IAAA,GAAO,GAAG,eAAe,CAAA,CAAA,EAAI,mBAAmB,UAAU,CAAC,IAAID,0BAAyB,CAAA,CAAA;AAC9F,MAAA,MAAM,IAAA,GAAO,MAAM,WAAA,CAAqB,IAAA,EAAM;AAAA,QAC5C,WAAA,EAAa,oBAAA;AAAA,QACb,MAAA,EAAQ,KAAA;AAAA,QACR,IAAA;AAAA,QACA,KAAA,EAAOG,QAAAA,CAAQ,KAAA,IAAS,MAAS,CAAA;AAAA,QACjC,WAAW,EAAE,WAAA,EAAa,sBAAsB,IAAA,EAAM,UAAA,EAAY,QAAQ,GAAA,EAAI;AAAA,QAC9E,WAAA,EAAaD,8BAAAA;AAAA,QACb,QAAQ,OAAA,EAAS,MAAA;AAAA,QACjB,WAAW,OAAA,EAAS,SAAA;AAAA,QACpB,YAAY,OAAA,EAAS;AAAA,OACtB,CAAA;AAED,MAAA,MAAM,SAAS,eAAA,CAAgB;AAAA,QAC7B,MAAA,EAAQ,sBAAA;AAAA,QACR,KAAA,EAAO,IAAA;AAAA,QACP,WAAA,EAAaA;AAAA,OACd,CAAA;AACD,MAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,MAAM,MAAA,CAAO,KAAA;AAClC,MAAA,MAAM,SAAS,MAAA,CAAO,IAAA;AACtB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,GACF;AACF","file":"index.js","sourcesContent":["import type { ZodTypeAny } from \"zod\";\n\nexport type SchemaKind = \"request\" | \"response\" | \"webhook\";\n\nexport interface SchemaKey {\n operationId: string;\n kind: SchemaKind;\n variant?: string;\n status?: number;\n}\n\nexport interface SchemaEntry<TSchema extends ZodTypeAny = ZodTypeAny> {\n key: SchemaKey;\n schema: TSchema;\n}\n\nfunction serialiseKey(key: SchemaKey): string {\n const variant = key.variant ?? \"default\";\n const status = key.status?.toString() ?? \"any\";\n return `${key.operationId}|${key.kind}|${variant}|${status}`;\n}\n\n/**\n * Lightweight registry that associates OpenAPI operation IDs with validation schemas.\n * Generators can populate this map while domain modules retrieve the schemas at runtime.\n */\nexport class SchemaRegistry {\n private readonly store = new Map<string, SchemaEntry>();\n\n register(entry: SchemaEntry): void {\n const id = serialiseKey(entry.key);\n this.store.set(id, entry);\n }\n\n get(key: SchemaKey): ZodTypeAny | undefined {\n const id = serialiseKey(key);\n return this.store.get(id)?.schema;\n }\n\n /**\n * Removes every registered schema — primarily useful in tests.\n */\n clear(): void {\n this.store.clear();\n }\n}\n\nexport const schemaRegistry = new SchemaRegistry();\n","// Auto-generated by scripts/generate-zod.mjs. Do not edit.\nimport { z } from 'zod';\n\nimport { schemaRegistry } from '../../schema.registry';\n\nconst ErrorDetailSchema = z\n .object({\n message: z.string(),\n code: z.string().optional(),\n field: z.string().optional(),\n source: z\n .object({\n pointer: z.string().optional(),\n parameter: z.string().optional(),\n })\n .passthrough()\n .optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\nconst ErrorEnvelopeSchema = z\n .object({\n status: z.number().optional(),\n statusCode: z.number().optional(),\n code: z.string().optional(),\n error: z.string().optional(),\n message: z\n .union([\n z.string(),\n z.array(z.union([z.string(), ErrorDetailSchema])),\n ErrorDetailSchema,\n ])\n .optional(),\n detail: z.unknown().optional(),\n errors: z.array(ErrorDetailSchema).optional(),\n requestId: z.string().optional(),\n correlationId: z.string().optional(),\n retryAfter: z.union([z.number(), z.string()]).optional(),\n retryAfterMs: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (200)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 200 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_200 });\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (400)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 400 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_400 });\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (404)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 404 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_404 });\n\n// GET /v1/currencies -> CurrenciesV1Controller_getNetworkTokens_v1 (429)\nexport const CurrenciesV1Controller_getNetworkTokens_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getNetworkTokens_v1', kind: 'response', status: 429 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_429 });\n\n// GET /v1/currencies/{currencyId}/conversion-routes -> CurrenciesV1Controller_getConversionRoutes_v1 (200)\nexport const CurrenciesV1Controller_getConversionRoutes_v1_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getConversionRoutes_v1', kind: 'response', status: 200 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_200 });\n\n// GET /v1/currencies/{currencyId}/conversion-routes -> CurrenciesV1Controller_getConversionRoutes_v1 (404)\nexport const CurrenciesV1Controller_getConversionRoutes_v1_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getConversionRoutes_v1', kind: 'response', status: 404 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_404 });\n\n// GET /v1/currencies/{currencyId}/conversion-routes -> CurrenciesV1Controller_getConversionRoutes_v1 (429)\nexport const CurrenciesV1Controller_getConversionRoutes_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV1Controller_getConversionRoutes_v1', kind: 'response', status: 429 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_429 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (200)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 200 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_200 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (400)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_400 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 400 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_400 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (404)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 404 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_404 });\n\n// GET /v2/currencies -> CurrenciesV2Controller_getNetworkTokens_v2 (429)\nexport const CurrenciesV2Controller_getNetworkTokens_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getNetworkTokens_v2', kind: 'response', status: 429 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_429 });\n\n// GET /v2/currencies/{currencyId}/conversion-routes -> CurrenciesV2Controller_getConversionRoutes_v2 (200)\nexport const CurrenciesV2Controller_getConversionRoutes_v2_200 = z.unknown();\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getConversionRoutes_v2', kind: 'response', status: 200 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_200 });\n\n// GET /v2/currencies/{currencyId}/conversion-routes -> CurrenciesV2Controller_getConversionRoutes_v2 (404)\nexport const CurrenciesV2Controller_getConversionRoutes_v2_404 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getConversionRoutes_v2', kind: 'response', status: 404 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_404 });\n\n// GET /v2/currencies/{currencyId}/conversion-routes -> CurrenciesV2Controller_getConversionRoutes_v2 (429)\nexport const CurrenciesV2Controller_getConversionRoutes_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'CurrenciesV2Controller_getConversionRoutes_v2', kind: 'response', status: 429 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_429 });\n","import { z } from \"zod\";\n\nimport \"../../validation/generated/groups/currencies.schemas.generated\";\nimport { schemaRegistry } from \"../../validation/schema.registry\";\n\nexport const OP_LIST = \"CurrenciesV2Controller_getNetworkTokens_v2\";\nexport const OP_CONVERSION_ROUTES = \"CurrenciesV2Controller_getConversionRoutes_v2\";\n\nexport const CurrencyTokenSchema = z\n .object({\n id: z.string(),\n name: z.string(),\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"]}
|