@marcohefti/request-network-api-client 0.5.11 → 0.6.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/README.md +4 -4
- package/dist/cjs/domains/currencies/v1/index.js +288 -0
- package/dist/cjs/domains/currencies/v1/index.js.map +1 -0
- package/dist/cjs/domains/pay/index.js +251 -0
- package/dist/cjs/domains/pay/index.js.map +1 -0
- package/dist/cjs/domains/pay/v1/index.js +241 -0
- package/dist/cjs/domains/pay/v1/index.js.map +1 -0
- package/dist/cjs/domains/payer/v1/index.js +355 -0
- package/dist/cjs/domains/payer/v1/index.js.map +1 -0
- package/dist/cjs/domains/payer/v2/index.js +355 -0
- package/dist/cjs/domains/payer/v2/index.js.map +1 -0
- package/dist/cjs/domains/payments/index.js +274 -0
- package/dist/cjs/domains/payments/index.js.map +1 -0
- package/dist/cjs/domains/requests/index.js +40 -12
- package/dist/cjs/domains/requests/index.js.map +1 -1
- package/dist/cjs/domains/requests/v1/index.js +499 -0
- package/dist/cjs/domains/requests/v1/index.js.map +1 -0
- package/dist/cjs/domains/secure-payments/index.js +248 -0
- package/dist/cjs/domains/secure-payments/index.js.map +1 -0
- package/dist/cjs/index.js +238 -246
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/{index-y-zLkaVo.d.mts → currencies.v1.facade-ROQlpyCp.d.mts} +2 -34
- package/dist/esm/domains/client-ids/index.d.mts +2 -2
- package/dist/esm/domains/currencies/index.d.mts +3 -2
- package/dist/esm/domains/currencies/v1/index.d.mts +3 -0
- package/dist/esm/domains/currencies/v1/index.js +286 -0
- package/dist/esm/domains/currencies/v1/index.js.map +1 -0
- package/dist/esm/domains/pay/index.d.mts +3 -0
- package/dist/esm/domains/pay/index.js +248 -0
- package/dist/esm/domains/pay/index.js.map +1 -0
- package/dist/esm/domains/pay/v1/index.d.mts +2 -0
- package/dist/esm/domains/pay/v1/index.js +239 -0
- package/dist/esm/domains/pay/v1/index.js.map +1 -0
- package/dist/esm/domains/payer/index.d.mts +4 -2
- package/dist/esm/domains/payer/v1/index.d.mts +2 -0
- package/dist/esm/domains/payer/v1/index.js +353 -0
- package/dist/esm/domains/payer/v1/index.js.map +1 -0
- package/dist/esm/domains/payer/v2/index.d.mts +2 -0
- package/dist/esm/domains/payer/v2/index.js +353 -0
- package/dist/esm/domains/payer/v2/index.js.map +1 -0
- package/dist/esm/domains/payments/index.d.mts +3 -0
- package/dist/esm/domains/payments/index.js +272 -0
- package/dist/esm/domains/payments/index.js.map +1 -0
- package/dist/esm/domains/payouts/index.d.mts +2 -2
- package/dist/esm/domains/requests/index.d.mts +3 -2
- package/dist/esm/domains/requests/index.js +40 -12
- package/dist/esm/domains/requests/index.js.map +1 -1
- package/dist/esm/domains/requests/v1/index.d.mts +3 -0
- package/dist/esm/domains/requests/v1/index.js +497 -0
- package/dist/esm/domains/requests/v1/index.js.map +1 -0
- package/dist/esm/domains/secure-payments/index.d.mts +2 -0
- package/dist/esm/domains/secure-payments/index.js +246 -0
- package/dist/esm/domains/secure-payments/index.js.map +1 -0
- package/dist/esm/index-4zmukpkJ.d.mts +12 -0
- package/dist/esm/index-BPikysYP.d.mts +10 -0
- package/dist/esm/index-BlEg0bI1.d.mts +25 -0
- package/dist/esm/{index-CTQxsAHa.d.mts → index-CBcZqEQp.d.mts} +1 -1
- package/dist/esm/index-CS9UrTd6.d.mts +10 -0
- package/dist/esm/index-CeMw0yOZ.d.mts +3393 -0
- package/dist/esm/index-DPVFRK3h.d.mts +36 -0
- package/dist/esm/{index-B5uZTITr.d.mts → index-DPx06HBi.d.mts} +18 -58
- package/dist/esm/index-DZ0iw_Xz.d.mts +10 -0
- package/dist/esm/index-DpFThmL3.d.mts +57 -0
- package/dist/esm/{index-DzdJCXFj.d.mts → index-DuMayMNI.d.mts} +1 -1
- package/dist/esm/index-Kx46FKbk.d.mts +38 -0
- package/dist/esm/index-srhKdWh7.d.mts +21 -0
- package/dist/esm/index.d.mts +31 -3520
- package/dist/esm/index.js +238 -246
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{openapi-types-D-zUdw-r.d.mts → openapi-types-JhYQOcil.d.mts} +263 -128
- package/dist/esm/pay.v1.facade-wxvuDX9t.d.mts +17 -0
- package/dist/esm/payer.v1.facade-Rcl1BBPl.d.mts +31 -0
- package/dist/esm/payer.v2.facade-BqcIOIBY.d.mts +31 -0
- package/dist/esm/request.helpers-DgzNANMt.d.mts +51 -0
- package/package.json +11 -10
- package/dist/cjs/domains/payee-destination/index.js +0 -276
- package/dist/cjs/domains/payee-destination/index.js.map +0 -1
- package/dist/esm/domains/payee-destination/index.d.mts +0 -2
- package/dist/esm/domains/payee-destination/index.js +0 -274
- package/dist/esm/domains/payee-destination/index.js.map +0 -1
- package/dist/esm/index-BDVvifym.d.mts +0 -31
- package/dist/esm/index-CvPDycgF.d.mts +0 -79
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,
|
|
11
|
+
TypeScript client for the Request Network hosted REST API. Provides typed, ergonomic helpers for requests, secure payments, payouts, payer/compliance, 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,
|
|
69
|
+
- **[Domains](docs/DOMAINS.md)** - API reference for all domains (requests, secure payments, payouts, payer, 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
|
|
@@ -234,7 +234,7 @@ If you're still stuck:
|
|
|
234
234
|
|
|
235
235
|
## Development
|
|
236
236
|
|
|
237
|
-
**Prerequisites**: Node 20/22/24, pnpm 10.27.0
|
|
237
|
+
**Prerequisites**: Node 20/22/24/25, pnpm 10.27.0
|
|
238
238
|
|
|
239
239
|
```bash
|
|
240
240
|
# Install dependencies
|
|
@@ -256,7 +256,7 @@ pnpm build
|
|
|
256
256
|
**Full validation** (before submitting PRs):
|
|
257
257
|
|
|
258
258
|
```bash
|
|
259
|
-
pnpm coverage:matrix # Node 20/22/24 coverage matrix
|
|
259
|
+
pnpm coverage:matrix # Node 20/22/24/25 coverage matrix
|
|
260
260
|
pnpm build # Verify packaging
|
|
261
261
|
```
|
|
262
262
|
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
|
|
5
|
+
// src/domains/currencies/v1/currencies.v1.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
|
+
var ErrorDetailSchema = zod.z.object({
|
|
32
|
+
message: zod.z.string(),
|
|
33
|
+
code: zod.z.string().optional(),
|
|
34
|
+
field: zod.z.string().optional(),
|
|
35
|
+
source: zod.z.object({
|
|
36
|
+
pointer: zod.z.string().optional(),
|
|
37
|
+
parameter: zod.z.string().optional()
|
|
38
|
+
}).passthrough().optional(),
|
|
39
|
+
meta: zod.z.record(zod.z.unknown()).optional()
|
|
40
|
+
}).passthrough();
|
|
41
|
+
var ErrorEnvelopeSchema = zod.z.object({
|
|
42
|
+
status: zod.z.number().optional(),
|
|
43
|
+
statusCode: zod.z.number().optional(),
|
|
44
|
+
code: zod.z.string().optional(),
|
|
45
|
+
error: zod.z.string().optional(),
|
|
46
|
+
message: zod.z.union([
|
|
47
|
+
zod.z.string(),
|
|
48
|
+
zod.z.array(zod.z.union([zod.z.string(), ErrorDetailSchema])),
|
|
49
|
+
ErrorDetailSchema
|
|
50
|
+
]).optional(),
|
|
51
|
+
detail: zod.z.unknown().optional(),
|
|
52
|
+
errors: zod.z.array(ErrorDetailSchema).optional(),
|
|
53
|
+
requestId: zod.z.string().optional(),
|
|
54
|
+
correlationId: zod.z.string().optional(),
|
|
55
|
+
retryAfter: zod.z.union([zod.z.number(), zod.z.string()]).optional(),
|
|
56
|
+
retryAfterMs: zod.z.number().optional(),
|
|
57
|
+
meta: zod.z.record(zod.z.unknown()).optional()
|
|
58
|
+
}).passthrough();
|
|
59
|
+
var CurrenciesV1Controller_getNetworkTokens_v1_200 = zod.z.unknown();
|
|
60
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getNetworkTokens_v1", kind: "response", status: 200 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_200 });
|
|
61
|
+
var CurrenciesV1Controller_getNetworkTokens_v1_400 = ErrorEnvelopeSchema;
|
|
62
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getNetworkTokens_v1", kind: "response", status: 400 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_400 });
|
|
63
|
+
var CurrenciesV1Controller_getNetworkTokens_v1_404 = ErrorEnvelopeSchema;
|
|
64
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getNetworkTokens_v1", kind: "response", status: 404 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_404 });
|
|
65
|
+
var CurrenciesV1Controller_getNetworkTokens_v1_429 = ErrorEnvelopeSchema;
|
|
66
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getNetworkTokens_v1", kind: "response", status: 429 }, schema: CurrenciesV1Controller_getNetworkTokens_v1_429 });
|
|
67
|
+
var CurrenciesV1Controller_getConversionRoutes_v1_200 = zod.z.unknown();
|
|
68
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getConversionRoutes_v1", kind: "response", status: 200 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_200 });
|
|
69
|
+
var CurrenciesV1Controller_getConversionRoutes_v1_404 = ErrorEnvelopeSchema;
|
|
70
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getConversionRoutes_v1", kind: "response", status: 404 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_404 });
|
|
71
|
+
var CurrenciesV1Controller_getConversionRoutes_v1_429 = ErrorEnvelopeSchema;
|
|
72
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV1Controller_getConversionRoutes_v1", kind: "response", status: 429 }, schema: CurrenciesV1Controller_getConversionRoutes_v1_429 });
|
|
73
|
+
var CurrenciesV2Controller_getNetworkTokens_v2_200 = zod.z.unknown();
|
|
74
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getNetworkTokens_v2", kind: "response", status: 200 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_200 });
|
|
75
|
+
var CurrenciesV2Controller_getNetworkTokens_v2_400 = ErrorEnvelopeSchema;
|
|
76
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getNetworkTokens_v2", kind: "response", status: 400 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_400 });
|
|
77
|
+
var CurrenciesV2Controller_getNetworkTokens_v2_404 = ErrorEnvelopeSchema;
|
|
78
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getNetworkTokens_v2", kind: "response", status: 404 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_404 });
|
|
79
|
+
var CurrenciesV2Controller_getNetworkTokens_v2_429 = ErrorEnvelopeSchema;
|
|
80
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getNetworkTokens_v2", kind: "response", status: 429 }, schema: CurrenciesV2Controller_getNetworkTokens_v2_429 });
|
|
81
|
+
var CurrenciesV2Controller_getConversionRoutes_v2_200 = zod.z.unknown();
|
|
82
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getConversionRoutes_v2", kind: "response", status: 200 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_200 });
|
|
83
|
+
var CurrenciesV2Controller_getConversionRoutes_v2_404 = ErrorEnvelopeSchema;
|
|
84
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getConversionRoutes_v2", kind: "response", status: 404 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_404 });
|
|
85
|
+
var CurrenciesV2Controller_getConversionRoutes_v2_429 = ErrorEnvelopeSchema;
|
|
86
|
+
schemaRegistry.register({ key: { operationId: "CurrenciesV2Controller_getConversionRoutes_v2", kind: "response", status: 429 }, schema: CurrenciesV2Controller_getConversionRoutes_v2_429 });
|
|
87
|
+
|
|
88
|
+
// src/domains/currencies/currencies.schemas.ts
|
|
89
|
+
var OP_LIST = "CurrenciesV2Controller_getNetworkTokens_v2";
|
|
90
|
+
var OP_CONVERSION_ROUTES = "CurrenciesV2Controller_getConversionRoutes_v2";
|
|
91
|
+
var CurrencyTokenSchema = zod.z.object({
|
|
92
|
+
id: zod.z.string(),
|
|
93
|
+
name: zod.z.string().optional(),
|
|
94
|
+
symbol: zod.z.string(),
|
|
95
|
+
decimals: zod.z.number(),
|
|
96
|
+
address: zod.z.string().optional(),
|
|
97
|
+
network: zod.z.string().optional(),
|
|
98
|
+
type: zod.z.string().optional(),
|
|
99
|
+
hash: zod.z.string().optional(),
|
|
100
|
+
chainId: zod.z.number().optional()
|
|
101
|
+
}).passthrough();
|
|
102
|
+
var CurrenciesListSchema = zod.z.array(CurrencyTokenSchema);
|
|
103
|
+
var ConversionRoutesSchema = zod.z.object({
|
|
104
|
+
currencyId: zod.z.string(),
|
|
105
|
+
network: zod.z.string().nullable().optional(),
|
|
106
|
+
conversionRoutes: zod.z.array(CurrencyTokenSchema)
|
|
107
|
+
}).passthrough();
|
|
108
|
+
schemaRegistry.register({ key: { operationId: OP_LIST, kind: "response", status: 200 }, schema: CurrenciesListSchema });
|
|
109
|
+
schemaRegistry.register({ key: { operationId: OP_CONVERSION_ROUTES, kind: "response", status: 200 }, schema: ConversionRoutesSchema });
|
|
110
|
+
|
|
111
|
+
// src/domains/currencies/v1/currencies.v1.schemas.ts
|
|
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
|
+
};
|
|
126
|
+
|
|
127
|
+
// src/core/http/validation.config.ts
|
|
128
|
+
function normaliseBoolean(flag, fallback) {
|
|
129
|
+
return typeof flag === "boolean" ? flag : fallback;
|
|
130
|
+
}
|
|
131
|
+
function mergeRuntimeValidation(base, override) {
|
|
132
|
+
if (override === void 0) {
|
|
133
|
+
return base;
|
|
134
|
+
}
|
|
135
|
+
if (typeof override === "boolean") {
|
|
136
|
+
return {
|
|
137
|
+
requests: override,
|
|
138
|
+
responses: override,
|
|
139
|
+
errors: override
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
143
|
+
requests: normaliseBoolean(override.requests, base.requests),
|
|
144
|
+
responses: normaliseBoolean(override.responses, base.responses),
|
|
145
|
+
errors: normaliseBoolean(override.errors, base.errors)
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// src/validation/zod.helpers.ts
|
|
150
|
+
var ValidationError = class extends Error {
|
|
151
|
+
constructor(message, cause) {
|
|
152
|
+
super(message, { cause });
|
|
153
|
+
this.cause = cause;
|
|
154
|
+
this.name = "ClientValidationError";
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
function parseWithSchema(options) {
|
|
158
|
+
const { schema, value, description } = options;
|
|
159
|
+
const outcome = schema.safeParse(value);
|
|
160
|
+
if (outcome.success) {
|
|
161
|
+
return { success: true, data: outcome.data };
|
|
162
|
+
}
|
|
163
|
+
const error = new ValidationError(description ?? "Validation failed", outcome.error);
|
|
164
|
+
return { success: false, error };
|
|
165
|
+
}
|
|
166
|
+
function parseWithRegistry(options) {
|
|
167
|
+
const schema = schemaRegistry.get(options.key);
|
|
168
|
+
if (!schema) {
|
|
169
|
+
if (options.skipOnMissingSchema) {
|
|
170
|
+
return { success: true, data: options.value };
|
|
171
|
+
}
|
|
172
|
+
return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };
|
|
173
|
+
}
|
|
174
|
+
return parseWithSchema({ schema, value: options.value, description: options.description });
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// src/core/http/operation.helper.ts
|
|
178
|
+
async function requestJson(http, params) {
|
|
179
|
+
const {
|
|
180
|
+
operationId,
|
|
181
|
+
method,
|
|
182
|
+
path,
|
|
183
|
+
query,
|
|
184
|
+
body,
|
|
185
|
+
schemaKey,
|
|
186
|
+
requestSchemaKey,
|
|
187
|
+
description,
|
|
188
|
+
querySerializer,
|
|
189
|
+
signal,
|
|
190
|
+
timeoutMs,
|
|
191
|
+
validation,
|
|
192
|
+
meta
|
|
193
|
+
} = params;
|
|
194
|
+
const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);
|
|
195
|
+
let requestBody = body;
|
|
196
|
+
if (runtimeValidation.requests && requestSchemaKey && body !== void 0) {
|
|
197
|
+
const parsedRequest = parseWithRegistry({
|
|
198
|
+
key: requestSchemaKey,
|
|
199
|
+
value: body,
|
|
200
|
+
description: `${description ?? operationId} request`,
|
|
201
|
+
skipOnMissingSchema: true
|
|
202
|
+
});
|
|
203
|
+
if (!parsedRequest.success) {
|
|
204
|
+
throw parsedRequest.error;
|
|
205
|
+
}
|
|
206
|
+
requestBody = parsedRequest.data;
|
|
207
|
+
}
|
|
208
|
+
const metaValidation = validation ?? meta?.validation;
|
|
209
|
+
const requestMeta = {
|
|
210
|
+
...meta ?? {},
|
|
211
|
+
operationId,
|
|
212
|
+
validation: metaValidation
|
|
213
|
+
};
|
|
214
|
+
const res = await http.request({
|
|
215
|
+
method,
|
|
216
|
+
path,
|
|
217
|
+
query,
|
|
218
|
+
body: requestBody,
|
|
219
|
+
querySerializer,
|
|
220
|
+
signal,
|
|
221
|
+
timeoutMs,
|
|
222
|
+
meta: requestMeta
|
|
223
|
+
});
|
|
224
|
+
if (!runtimeValidation.responses) {
|
|
225
|
+
return res.data;
|
|
226
|
+
}
|
|
227
|
+
const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });
|
|
228
|
+
if (!parsedResponse.success) throw parsedResponse.error;
|
|
229
|
+
return parsedResponse.data;
|
|
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
|
+
exports.createCurrenciesV1Api = createCurrenciesV1Api;
|
|
287
|
+
//# sourceMappingURL=index.js.map
|
|
288
|
+
//# 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/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"],"names":["z"],"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"]}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
|
|
5
|
+
// src/core/http/validation.config.ts
|
|
6
|
+
function normaliseBoolean(flag, fallback) {
|
|
7
|
+
return typeof flag === "boolean" ? flag : fallback;
|
|
8
|
+
}
|
|
9
|
+
function mergeRuntimeValidation(base, override) {
|
|
10
|
+
if (override === void 0) {
|
|
11
|
+
return base;
|
|
12
|
+
}
|
|
13
|
+
if (typeof override === "boolean") {
|
|
14
|
+
return {
|
|
15
|
+
requests: override,
|
|
16
|
+
responses: override,
|
|
17
|
+
errors: override
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
requests: normaliseBoolean(override.requests, base.requests),
|
|
22
|
+
responses: normaliseBoolean(override.responses, base.responses),
|
|
23
|
+
errors: normaliseBoolean(override.errors, base.errors)
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// src/validation/schema.registry.ts
|
|
28
|
+
function serialiseKey(key) {
|
|
29
|
+
const variant = key.variant ?? "default";
|
|
30
|
+
const status = key.status?.toString() ?? "any";
|
|
31
|
+
return `${key.operationId}|${key.kind}|${variant}|${status}`;
|
|
32
|
+
}
|
|
33
|
+
var SchemaRegistry = class {
|
|
34
|
+
store = /* @__PURE__ */ new Map();
|
|
35
|
+
register(entry) {
|
|
36
|
+
const id = serialiseKey(entry.key);
|
|
37
|
+
this.store.set(id, entry);
|
|
38
|
+
}
|
|
39
|
+
get(key) {
|
|
40
|
+
const id = serialiseKey(key);
|
|
41
|
+
return this.store.get(id)?.schema;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Removes every registered schema — primarily useful in tests.
|
|
45
|
+
*/
|
|
46
|
+
clear() {
|
|
47
|
+
this.store.clear();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var schemaRegistry = new SchemaRegistry();
|
|
51
|
+
|
|
52
|
+
// src/validation/zod.helpers.ts
|
|
53
|
+
var ValidationError = class extends Error {
|
|
54
|
+
constructor(message, cause) {
|
|
55
|
+
super(message, { cause });
|
|
56
|
+
this.cause = cause;
|
|
57
|
+
this.name = "ClientValidationError";
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
function parseWithSchema(options) {
|
|
61
|
+
const { schema, value, description } = options;
|
|
62
|
+
const outcome = schema.safeParse(value);
|
|
63
|
+
if (outcome.success) {
|
|
64
|
+
return { success: true, data: outcome.data };
|
|
65
|
+
}
|
|
66
|
+
const error = new ValidationError(description ?? "Validation failed", outcome.error);
|
|
67
|
+
return { success: false, error };
|
|
68
|
+
}
|
|
69
|
+
function parseWithRegistry(options) {
|
|
70
|
+
const schema = schemaRegistry.get(options.key);
|
|
71
|
+
if (!schema) {
|
|
72
|
+
if (options.skipOnMissingSchema) {
|
|
73
|
+
return { success: true, data: options.value };
|
|
74
|
+
}
|
|
75
|
+
return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };
|
|
76
|
+
}
|
|
77
|
+
return parseWithSchema({ schema, value: options.value, description: options.description });
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// src/core/http/operation.helper.ts
|
|
81
|
+
async function requestJson(http, params) {
|
|
82
|
+
const {
|
|
83
|
+
operationId,
|
|
84
|
+
method,
|
|
85
|
+
path,
|
|
86
|
+
query,
|
|
87
|
+
body,
|
|
88
|
+
schemaKey,
|
|
89
|
+
requestSchemaKey,
|
|
90
|
+
description,
|
|
91
|
+
querySerializer,
|
|
92
|
+
signal,
|
|
93
|
+
timeoutMs,
|
|
94
|
+
validation,
|
|
95
|
+
meta
|
|
96
|
+
} = params;
|
|
97
|
+
const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);
|
|
98
|
+
let requestBody = body;
|
|
99
|
+
if (runtimeValidation.requests && requestSchemaKey && body !== void 0) {
|
|
100
|
+
const parsedRequest = parseWithRegistry({
|
|
101
|
+
key: requestSchemaKey,
|
|
102
|
+
value: body,
|
|
103
|
+
description: `${description ?? operationId} request`,
|
|
104
|
+
skipOnMissingSchema: true
|
|
105
|
+
});
|
|
106
|
+
if (!parsedRequest.success) {
|
|
107
|
+
throw parsedRequest.error;
|
|
108
|
+
}
|
|
109
|
+
requestBody = parsedRequest.data;
|
|
110
|
+
}
|
|
111
|
+
const metaValidation = validation ?? meta?.validation;
|
|
112
|
+
const requestMeta = {
|
|
113
|
+
...meta ?? {},
|
|
114
|
+
operationId,
|
|
115
|
+
validation: metaValidation
|
|
116
|
+
};
|
|
117
|
+
const res = await http.request({
|
|
118
|
+
method,
|
|
119
|
+
path,
|
|
120
|
+
query,
|
|
121
|
+
body: requestBody,
|
|
122
|
+
querySerializer,
|
|
123
|
+
signal,
|
|
124
|
+
timeoutMs,
|
|
125
|
+
meta: requestMeta
|
|
126
|
+
});
|
|
127
|
+
if (!runtimeValidation.responses) {
|
|
128
|
+
return res.data;
|
|
129
|
+
}
|
|
130
|
+
const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });
|
|
131
|
+
if (!parsedResponse.success) throw parsedResponse.error;
|
|
132
|
+
return parsedResponse.data;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// src/domains/pay/v1/pay.v1.facade.ts
|
|
136
|
+
var OP_PAY_REQUEST = "PayV1Controller_payRequest_v1";
|
|
137
|
+
var PAY_PATH = "/v1/pay";
|
|
138
|
+
var DESCRIPTION_PAY_REQUEST = "Legacy pay request";
|
|
139
|
+
function createPayV1Api(http) {
|
|
140
|
+
return {
|
|
141
|
+
async payRequest(body, options) {
|
|
142
|
+
return requestJson(http, {
|
|
143
|
+
operationId: OP_PAY_REQUEST,
|
|
144
|
+
method: "POST",
|
|
145
|
+
path: PAY_PATH,
|
|
146
|
+
body,
|
|
147
|
+
requestSchemaKey: { operationId: OP_PAY_REQUEST, kind: "request", variant: "application/json" },
|
|
148
|
+
schemaKey: { operationId: OP_PAY_REQUEST, kind: "response", status: 201 },
|
|
149
|
+
description: DESCRIPTION_PAY_REQUEST,
|
|
150
|
+
signal: options?.signal,
|
|
151
|
+
timeoutMs: options?.timeoutMs,
|
|
152
|
+
validation: options?.validation,
|
|
153
|
+
meta: options?.meta
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
var ErrorDetailSchema = zod.z.object({
|
|
159
|
+
message: zod.z.string(),
|
|
160
|
+
code: zod.z.string().optional(),
|
|
161
|
+
field: zod.z.string().optional(),
|
|
162
|
+
source: zod.z.object({
|
|
163
|
+
pointer: zod.z.string().optional(),
|
|
164
|
+
parameter: zod.z.string().optional()
|
|
165
|
+
}).passthrough().optional(),
|
|
166
|
+
meta: zod.z.record(zod.z.unknown()).optional()
|
|
167
|
+
}).passthrough();
|
|
168
|
+
var ErrorEnvelopeSchema = zod.z.object({
|
|
169
|
+
status: zod.z.number().optional(),
|
|
170
|
+
statusCode: zod.z.number().optional(),
|
|
171
|
+
code: zod.z.string().optional(),
|
|
172
|
+
error: zod.z.string().optional(),
|
|
173
|
+
message: zod.z.union([
|
|
174
|
+
zod.z.string(),
|
|
175
|
+
zod.z.array(zod.z.union([zod.z.string(), ErrorDetailSchema])),
|
|
176
|
+
ErrorDetailSchema
|
|
177
|
+
]).optional(),
|
|
178
|
+
detail: zod.z.unknown().optional(),
|
|
179
|
+
errors: zod.z.array(ErrorDetailSchema).optional(),
|
|
180
|
+
requestId: zod.z.string().optional(),
|
|
181
|
+
correlationId: zod.z.string().optional(),
|
|
182
|
+
retryAfter: zod.z.union([zod.z.number(), zod.z.string()]).optional(),
|
|
183
|
+
retryAfterMs: zod.z.number().optional(),
|
|
184
|
+
meta: zod.z.record(zod.z.unknown()).optional()
|
|
185
|
+
}).passthrough();
|
|
186
|
+
var PayV1Controller_payRequest_v1_Request = zod.z.object({ "payee": zod.z.string(), "amount": zod.z.string(), "invoiceCurrency": zod.z.string(), "paymentCurrency": zod.z.string() }).passthrough();
|
|
187
|
+
schemaRegistry.register({ key: { operationId: "PayV1Controller_payRequest_v1", kind: "request", variant: "application/json" }, schema: PayV1Controller_payRequest_v1_Request });
|
|
188
|
+
var PayV1Controller_payRequest_v1_201 = zod.z.object({ "requestId": zod.z.string() }).passthrough();
|
|
189
|
+
schemaRegistry.register({ key: { operationId: "PayV1Controller_payRequest_v1", kind: "response", status: 201 }, schema: PayV1Controller_payRequest_v1_201 });
|
|
190
|
+
var PayV1Controller_payRequest_v1_401 = ErrorEnvelopeSchema;
|
|
191
|
+
schemaRegistry.register({ key: { operationId: "PayV1Controller_payRequest_v1", kind: "response", status: 401 }, schema: PayV1Controller_payRequest_v1_401 });
|
|
192
|
+
var PayV1Controller_payRequest_v1_404 = ErrorEnvelopeSchema;
|
|
193
|
+
schemaRegistry.register({ key: { operationId: "PayV1Controller_payRequest_v1", kind: "response", status: 404 }, schema: PayV1Controller_payRequest_v1_404 });
|
|
194
|
+
var PayV1Controller_payRequest_v1_429 = ErrorEnvelopeSchema;
|
|
195
|
+
schemaRegistry.register({ key: { operationId: "PayV1Controller_payRequest_v1", kind: "response", status: 429 }, schema: PayV1Controller_payRequest_v1_429 });
|
|
196
|
+
var PayoutV2Controller_payRequest_v2_Request = zod.z.object({ "payee": zod.z.string(), "amount": zod.z.string(), "invoiceCurrency": zod.z.string(), "paymentCurrency": zod.z.string(), "feePercentage": zod.z.string().optional(), "feeAddress": zod.z.string().optional(), "recurrence": zod.z.object({ "startDate": zod.z.string(), "frequency": zod.z.enum(["DAILY", "WEEKLY", "MONTHLY", "YEARLY"]), "totalPayments": zod.z.number(), "payer": zod.z.string() }).passthrough().optional(), "payerWallet": zod.z.string().optional(), "payerAddress": zod.z.string().optional(), "customerInfo": zod.z.object({ "firstName": zod.z.string().optional(), "lastName": zod.z.string().optional(), "email": zod.z.string().optional(), "address": zod.z.object({ "street": zod.z.string().optional(), "city": zod.z.string().optional(), "state": zod.z.string().optional(), "postalCode": zod.z.string().optional(), "country": zod.z.string().optional() }).passthrough().optional() }).passthrough().optional(), "reference": zod.z.string().optional() }).passthrough();
|
|
197
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_payRequest_v2", kind: "request", variant: "application/json" }, schema: PayoutV2Controller_payRequest_v2_Request });
|
|
198
|
+
var PayoutV2Controller_payRequest_v2_201 = zod.z.object({ "requestId": zod.z.string() }).passthrough();
|
|
199
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_payRequest_v2", kind: "response", status: 201 }, schema: PayoutV2Controller_payRequest_v2_201 });
|
|
200
|
+
var PayoutV2Controller_payRequest_v2_404 = ErrorEnvelopeSchema;
|
|
201
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_payRequest_v2", kind: "response", status: 404 }, schema: PayoutV2Controller_payRequest_v2_404 });
|
|
202
|
+
var PayoutV2Controller_payRequest_v2_429 = ErrorEnvelopeSchema;
|
|
203
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_payRequest_v2", kind: "response", status: 429 }, schema: PayoutV2Controller_payRequest_v2_429 });
|
|
204
|
+
var PayoutV2Controller_payBatchRequest_v2_Request = zod.z.object({ "requests": zod.z.array(zod.z.object({ "payee": zod.z.string(), "amount": zod.z.string(), "invoiceCurrency": zod.z.string(), "paymentCurrency": zod.z.string() }).passthrough()).optional(), "requestIds": zod.z.array(zod.z.string()).optional(), "payer": zod.z.string().optional(), "feePercentage": zod.z.string().optional(), "feeAddress": zod.z.string().optional() }).passthrough();
|
|
205
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_payBatchRequest_v2", kind: "request", variant: "application/json" }, schema: PayoutV2Controller_payBatchRequest_v2_Request });
|
|
206
|
+
var PayoutV2Controller_payBatchRequest_v2_201 = zod.z.object({ "ERC20ApprovalTransactions": zod.z.array(zod.z.object({ "data": zod.z.string(), "to": zod.z.string(), "value": zod.z.number() }).passthrough()).optional(), "ERC20BatchPaymentTransaction": zod.z.object({ "data": zod.z.string(), "to": zod.z.string(), "value": zod.z.object({ "type": zod.z.enum(["BigNumber"]), "hex": zod.z.string() }).passthrough() }).passthrough().optional(), "ETHBatchPaymentTransaction": zod.z.object({ "data": zod.z.string(), "to": zod.z.string(), "value": zod.z.object({ "type": zod.z.enum(["BigNumber"]), "hex": zod.z.string() }).passthrough() }).passthrough().optional() }).passthrough();
|
|
207
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_payBatchRequest_v2", kind: "response", status: 201 }, schema: PayoutV2Controller_payBatchRequest_v2_201 });
|
|
208
|
+
var PayoutV2Controller_payBatchRequest_v2_400 = ErrorEnvelopeSchema;
|
|
209
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_payBatchRequest_v2", kind: "response", status: 400 }, schema: PayoutV2Controller_payBatchRequest_v2_400 });
|
|
210
|
+
var PayoutV2Controller_payBatchRequest_v2_429 = ErrorEnvelopeSchema;
|
|
211
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_payBatchRequest_v2", kind: "response", status: 429 }, schema: PayoutV2Controller_payBatchRequest_v2_429 });
|
|
212
|
+
var PayoutV2Controller_getRecurringPaymentStatus_v2_200 = zod.z.unknown();
|
|
213
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_getRecurringPaymentStatus_v2", kind: "response", status: 200 }, schema: PayoutV2Controller_getRecurringPaymentStatus_v2_200 });
|
|
214
|
+
var PayoutV2Controller_getRecurringPaymentStatus_v2_404 = ErrorEnvelopeSchema;
|
|
215
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_getRecurringPaymentStatus_v2", kind: "response", status: 404 }, schema: PayoutV2Controller_getRecurringPaymentStatus_v2_404 });
|
|
216
|
+
var PayoutV2Controller_getRecurringPaymentStatus_v2_429 = ErrorEnvelopeSchema;
|
|
217
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_getRecurringPaymentStatus_v2", kind: "response", status: 429 }, schema: PayoutV2Controller_getRecurringPaymentStatus_v2_429 });
|
|
218
|
+
var PayoutV2Controller_submitRecurringPaymentSignature_v2_Request = zod.z.object({ "permitSignature": zod.z.string() }).passthrough();
|
|
219
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_submitRecurringPaymentSignature_v2", kind: "request", variant: "application/json" }, schema: PayoutV2Controller_submitRecurringPaymentSignature_v2_Request });
|
|
220
|
+
var PayoutV2Controller_submitRecurringPaymentSignature_v2_201 = zod.z.unknown();
|
|
221
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_submitRecurringPaymentSignature_v2", kind: "response", status: 201 }, schema: PayoutV2Controller_submitRecurringPaymentSignature_v2_201 });
|
|
222
|
+
var PayoutV2Controller_submitRecurringPaymentSignature_v2_400 = ErrorEnvelopeSchema;
|
|
223
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_submitRecurringPaymentSignature_v2", kind: "response", status: 400 }, schema: PayoutV2Controller_submitRecurringPaymentSignature_v2_400 });
|
|
224
|
+
var PayoutV2Controller_submitRecurringPaymentSignature_v2_404 = ErrorEnvelopeSchema;
|
|
225
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_submitRecurringPaymentSignature_v2", kind: "response", status: 404 }, schema: PayoutV2Controller_submitRecurringPaymentSignature_v2_404 });
|
|
226
|
+
var PayoutV2Controller_submitRecurringPaymentSignature_v2_429 = ErrorEnvelopeSchema;
|
|
227
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_submitRecurringPaymentSignature_v2", kind: "response", status: 429 }, schema: PayoutV2Controller_submitRecurringPaymentSignature_v2_429 });
|
|
228
|
+
var PayoutV2Controller_updateRecurringPayment_v2_Request = zod.z.object({ "action": zod.z.enum(["cancel", "unpause"]) }).passthrough();
|
|
229
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_updateRecurringPayment_v2", kind: "request", variant: "application/json" }, schema: PayoutV2Controller_updateRecurringPayment_v2_Request });
|
|
230
|
+
var PayoutV2Controller_updateRecurringPayment_v2_200 = zod.z.unknown();
|
|
231
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_updateRecurringPayment_v2", kind: "response", status: 200 }, schema: PayoutV2Controller_updateRecurringPayment_v2_200 });
|
|
232
|
+
var PayoutV2Controller_updateRecurringPayment_v2_400 = ErrorEnvelopeSchema;
|
|
233
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_updateRecurringPayment_v2", kind: "response", status: 400 }, schema: PayoutV2Controller_updateRecurringPayment_v2_400 });
|
|
234
|
+
var PayoutV2Controller_updateRecurringPayment_v2_404 = ErrorEnvelopeSchema;
|
|
235
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_updateRecurringPayment_v2", kind: "response", status: 404 }, schema: PayoutV2Controller_updateRecurringPayment_v2_404 });
|
|
236
|
+
var PayoutV2Controller_updateRecurringPayment_v2_429 = ErrorEnvelopeSchema;
|
|
237
|
+
schemaRegistry.register({ key: { operationId: "PayoutV2Controller_updateRecurringPayment_v2", kind: "response", status: 429 }, schema: PayoutV2Controller_updateRecurringPayment_v2_429 });
|
|
238
|
+
|
|
239
|
+
// src/domains/pay/pay.facade.ts
|
|
240
|
+
function createPayApi(http) {
|
|
241
|
+
const legacy = createPayV1Api(http);
|
|
242
|
+
return {
|
|
243
|
+
...legacy,
|
|
244
|
+
legacy
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
exports.createPayApi = createPayApi;
|
|
249
|
+
exports.createPayV1Api = createPayV1Api;
|
|
250
|
+
//# sourceMappingURL=index.js.map
|
|
251
|
+
//# sourceMappingURL=index.js.map
|