@flexprice/sdk 2.1.34 → 2.1.35
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 +39 -3
- package/docs/sdk/models/create-customer-request.md +1 -0
- package/docs/sdk/models/create-subscription-request.md +1 -0
- package/docs/sdk/models/customer-response.md +1 -0
- package/docs/sdk/models/customer.md +1 -0
- package/docs/sdk/models/fx-conversion-source.md +18 -0
- package/docs/sdk/models/fx-conversion.md +21 -0
- package/docs/sdk/models/inline-fx-rate.md +17 -0
- package/docs/sdk/models/invoice-line-item-response.md +1 -0
- package/docs/sdk/models/invoice-response.md +1 -0
- package/docs/sdk/models/update-customer-request.md +1 -0
- package/docs/sdk/models/update-subscription-line-item-request.md +20 -18
- package/docs/sdk/models/update-tenant-address.md +20 -0
- package/docs/sdk/models/update-tenant-billing-details.md +18 -0
- package/docs/sdk/models/update-tenant-request.md +5 -5
- package/esm/hooks/auth-headers.d.ts +4 -0
- package/esm/hooks/auth-headers.d.ts.map +1 -0
- package/esm/hooks/auth-headers.js +35 -0
- package/esm/hooks/auth-headers.js.map +1 -0
- package/esm/hooks/registration.d.ts +2 -3
- package/esm/hooks/registration.d.ts.map +1 -1
- package/esm/hooks/registration.js +4 -4
- package/esm/hooks/registration.js.map +1 -1
- package/esm/lib/config.d.ts +7 -3
- package/esm/lib/config.d.ts.map +1 -1
- package/esm/lib/config.js +3 -3
- package/esm/lib/config.js.map +1 -1
- package/esm/sdk/models/address.d.ts +0 -12
- package/esm/sdk/models/address.d.ts.map +1 -1
- package/esm/sdk/models/address.js +0 -21
- package/esm/sdk/models/address.js.map +1 -1
- package/esm/sdk/models/create-customer-request.d.ts +5 -0
- package/esm/sdk/models/create-customer-request.d.ts.map +1 -1
- package/esm/sdk/models/create-customer-request.js +2 -0
- package/esm/sdk/models/create-customer-request.js.map +1 -1
- package/esm/sdk/models/create-subscription-request.d.ts +9 -0
- package/esm/sdk/models/create-subscription-request.d.ts.map +1 -1
- package/esm/sdk/models/create-subscription-request.js +3 -0
- package/esm/sdk/models/create-subscription-request.js.map +1 -1
- package/esm/sdk/models/customer-response.d.ts +4 -0
- package/esm/sdk/models/customer-response.d.ts.map +1 -1
- package/esm/sdk/models/customer-response.js +2 -0
- package/esm/sdk/models/customer-response.js.map +1 -1
- package/esm/sdk/models/customer.d.ts +4 -0
- package/esm/sdk/models/customer.d.ts.map +1 -1
- package/esm/sdk/models/customer.js +2 -0
- package/esm/sdk/models/customer.js.map +1 -1
- package/esm/sdk/models/fx-conversion-source.d.ts +13 -0
- package/esm/sdk/models/fx-conversion-source.d.ts.map +1 -0
- package/esm/sdk/models/fx-conversion-source.js +23 -0
- package/esm/sdk/models/fx-conversion-source.js.map +1 -0
- package/esm/sdk/models/fx-conversion.d.ts +33 -0
- package/esm/sdk/models/fx-conversion.d.ts.map +1 -0
- package/esm/sdk/models/fx-conversion.js +30 -0
- package/esm/sdk/models/fx-conversion.js.map +1 -0
- package/esm/sdk/models/index.d.ts +5 -0
- package/esm/sdk/models/index.d.ts.map +1 -1
- package/esm/sdk/models/index.js +5 -0
- package/esm/sdk/models/index.js.map +1 -1
- package/esm/sdk/models/inline-fx-rate.d.ts +16 -0
- package/esm/sdk/models/inline-fx-rate.d.ts.map +1 -0
- package/esm/sdk/models/inline-fx-rate.js +20 -0
- package/esm/sdk/models/inline-fx-rate.js.map +1 -0
- package/esm/sdk/models/invoice-line-item-response.d.ts +2 -0
- package/esm/sdk/models/invoice-line-item-response.d.ts.map +1 -1
- package/esm/sdk/models/invoice-line-item-response.js +3 -0
- package/esm/sdk/models/invoice-line-item-response.js.map +1 -1
- package/esm/sdk/models/invoice-response.d.ts +2 -0
- package/esm/sdk/models/invoice-response.d.ts.map +1 -1
- package/esm/sdk/models/invoice-response.js +3 -0
- package/esm/sdk/models/invoice-response.js.map +1 -1
- package/esm/sdk/models/tenant-billing-details.d.ts +1 -11
- package/esm/sdk/models/tenant-billing-details.d.ts.map +1 -1
- package/esm/sdk/models/tenant-billing-details.js +1 -15
- package/esm/sdk/models/tenant-billing-details.js.map +1 -1
- package/esm/sdk/models/update-customer-request.d.ts +5 -0
- package/esm/sdk/models/update-customer-request.d.ts.map +1 -1
- package/esm/sdk/models/update-customer-request.js +2 -0
- package/esm/sdk/models/update-customer-request.js.map +1 -1
- package/esm/sdk/models/update-subscription-line-item-request.d.ts +10 -0
- package/esm/sdk/models/update-subscription-line-item-request.d.ts.map +1 -1
- package/esm/sdk/models/update-subscription-line-item-request.js +4 -0
- package/esm/sdk/models/update-subscription-line-item-request.js.map +1 -1
- package/esm/sdk/models/update-tenant-address.d.ts +22 -0
- package/esm/sdk/models/update-tenant-address.d.ts.map +1 -0
- package/esm/sdk/models/update-tenant-address.js +27 -0
- package/esm/sdk/models/update-tenant-address.js.map +1 -0
- package/esm/sdk/models/update-tenant-billing-details.d.ts +19 -0
- package/esm/sdk/models/update-tenant-billing-details.d.ts.map +1 -0
- package/esm/sdk/models/update-tenant-billing-details.js +21 -0
- package/esm/sdk/models/update-tenant-billing-details.js.map +1 -0
- package/esm/sdk/models/update-tenant-request.d.ts +3 -3
- package/esm/sdk/models/update-tenant-request.d.ts.map +1 -1
- package/esm/sdk/models/update-tenant-request.js +2 -2
- package/esm/sdk/models/update-tenant-request.js.map +1 -1
- package/esm/types/smart-union.d.ts.map +1 -1
- package/esm/types/smart-union.js +13 -8
- package/esm/types/smart-union.js.map +1 -1
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/src/hooks/auth-headers.ts +47 -0
- package/src/hooks/registration.ts +4 -4
- package/src/lib/config.ts +7 -3
- package/src/sdk/models/address.ts +0 -35
- package/src/sdk/models/create-customer-request.ts +7 -0
- package/src/sdk/models/create-subscription-request.ts +15 -0
- package/src/sdk/models/customer-response.ts +6 -0
- package/src/sdk/models/customer.ts +6 -0
- package/src/sdk/models/fx-conversion-source.ts +46 -0
- package/src/sdk/models/fx-conversion.ts +72 -0
- package/src/sdk/models/index.ts +5 -0
- package/src/sdk/models/inline-fx-rate.ts +41 -0
- package/src/sdk/models/invoice-line-item-response.ts +4 -0
- package/src/sdk/models/invoice-response.ts +4 -0
- package/src/sdk/models/tenant-billing-details.ts +1 -38
- package/src/sdk/models/update-customer-request.ts +7 -0
- package/src/sdk/models/update-subscription-line-item-request.ts +14 -0
- package/src/sdk/models/update-tenant-address.ts +58 -0
- package/src/sdk/models/update-tenant-billing-details.ts +52 -0
- package/src/sdk/models/update-tenant-request.ts +7 -7
- package/src/types/smart-union.ts +17 -8
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
import * as z from "zod/v4-mini";
|
|
5
|
+
import { remap as remap$ } from "../../lib/primitives.js";
|
|
6
|
+
import { UpdateTenantAddress$outboundSchema, } from "./update-tenant-address.js";
|
|
7
|
+
/** @internal */
|
|
8
|
+
export const UpdateTenantBillingDetails$outboundSchema = z.pipe(z.object({
|
|
9
|
+
address: z.optional(UpdateTenantAddress$outboundSchema),
|
|
10
|
+
email: z.optional(z.string()),
|
|
11
|
+
helpEmail: z.optional(z.string()),
|
|
12
|
+
phone: z.optional(z.string()),
|
|
13
|
+
}), z.transform((v) => {
|
|
14
|
+
return remap$(v, {
|
|
15
|
+
helpEmail: "help_email",
|
|
16
|
+
});
|
|
17
|
+
}));
|
|
18
|
+
export function updateTenantBillingDetailsToJSON(updateTenantBillingDetails) {
|
|
19
|
+
return JSON.stringify(UpdateTenantBillingDetails$outboundSchema.parse(updateTenantBillingDetails));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=update-tenant-billing-details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-tenant-billing-details.js","sourceRoot":"","sources":["../../../src/sdk/models/update-tenant-billing-details.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAGL,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AAiBpC,gBAAgB;AAChB,MAAM,CAAC,MAAM,yCAAyC,GAGlD,CAAC,CAAC,IAAI,CACR,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACvD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,EACF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,CAAC,EAAE;QACf,SAAS,EAAE,YAAY;KACxB,CAAC,CAAC;AAAA,CACJ,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,gCAAgC,CAC9C,0BAAsD,EAC9C;IACR,OAAO,IAAI,CAAC,SAAS,CACnB,yCAAyC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAC5E,CAAC;AAAA,CACH"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as z from "zod/v4-mini";
|
|
2
|
-
import {
|
|
2
|
+
import { UpdateTenantBillingDetails, UpdateTenantBillingDetails$Outbound } from "./update-tenant-billing-details.js";
|
|
3
3
|
export type UpdateTenantRequest = {
|
|
4
|
-
billingDetails?:
|
|
4
|
+
billingDetails?: UpdateTenantBillingDetails | undefined;
|
|
5
5
|
metadata?: {
|
|
6
6
|
[k: string]: string;
|
|
7
7
|
} | undefined;
|
|
@@ -9,7 +9,7 @@ export type UpdateTenantRequest = {
|
|
|
9
9
|
};
|
|
10
10
|
/** @internal */
|
|
11
11
|
export type UpdateTenantRequest$Outbound = {
|
|
12
|
-
billing_details?:
|
|
12
|
+
billing_details?: UpdateTenantBillingDetails$Outbound | undefined;
|
|
13
13
|
metadata?: {
|
|
14
14
|
[k: string]: string;
|
|
15
15
|
} | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-tenant-request.d.ts","sourceRoot":"","sources":["../../../src/sdk/models/update-tenant-request.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAEjC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"update-tenant-request.d.ts","sourceRoot":"","sources":["../../../src/sdk/models/update-tenant-request.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAEjC,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,EAEpC,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,CAAC,EAAE,mCAAmC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,kCAAkC,EAAE,CAAC,CAAC,WAAW,CAC5D,4BAA4B,EAC5B,mBAAmB,CAYpB,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,CAIR"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as z from "zod/v4-mini";
|
|
5
5
|
import { remap as remap$ } from "../../lib/primitives.js";
|
|
6
|
-
import {
|
|
6
|
+
import { UpdateTenantBillingDetails$outboundSchema, } from "./update-tenant-billing-details.js";
|
|
7
7
|
/** @internal */
|
|
8
8
|
export const UpdateTenantRequest$outboundSchema = z.pipe(z.object({
|
|
9
|
-
billingDetails: z.optional(
|
|
9
|
+
billingDetails: z.optional(UpdateTenantBillingDetails$outboundSchema),
|
|
10
10
|
metadata: z.optional(z.record(z.string(), z.string())),
|
|
11
11
|
name: z.optional(z.string()),
|
|
12
12
|
}), z.transform((v) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-tenant-request.js","sourceRoot":"","sources":["../../../src/sdk/models/update-tenant-request.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAGL,
|
|
1
|
+
{"version":3,"file":"update-tenant-request.js","sourceRoot":"","sources":["../../../src/sdk/models/update-tenant-request.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAGL,yCAAyC,GAC1C,MAAM,oCAAoC,CAAC;AAe5C,gBAAgB;AAChB,MAAM,CAAC,MAAM,kCAAkC,GAG3C,CAAC,CAAC,IAAI,CACR,CAAC,CAAC,MAAM,CAAC;IACP,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACrE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC7B,CAAC,EACF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,CAAC,EAAE;QACf,cAAc,EAAE,iBAAiB;KAClC,CAAC,CAAC;AAAA,CACJ,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,yBAAyB,CACvC,mBAAwC,EAChC;IACR,OAAO,IAAI,CAAC,SAAS,CACnB,kCAAkC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAC9D,CAAC;AAAA,CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-union.d.ts","sourceRoot":"","sources":["../../src/types/smart-union.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAejC;;;GAGG;AACH,wBAAgB,UAAU,CACxB,OAAO,SAAS,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,EAE3E,OAAO,EAAE,OAAO,GACf,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"smart-union.d.ts","sourceRoot":"","sources":["../../src/types/smart-union.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAejC;;;GAGG;AACH,wBAAgB,UAAU,CACxB,OAAO,SAAS,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,EAE3E,OAAO,EAAE,OAAO,GACf,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAoEpE"}
|
package/esm/types/smart-union.js
CHANGED
|
@@ -13,26 +13,31 @@ import { startCountingUnrecognized } from "./unrecognized.js";
|
|
|
13
13
|
export function smartUnion(options) {
|
|
14
14
|
return z.pipe(z.unknown(), z.transform((input, ctx) => {
|
|
15
15
|
const candidates = [];
|
|
16
|
-
const errors =
|
|
16
|
+
const errors = [];
|
|
17
17
|
const parentUnrecognizedCtr = startCountingUnrecognized();
|
|
18
18
|
const parentZeroDefaultCtr = startCountingDefaultToZeroValue();
|
|
19
19
|
// Filter out invalid options
|
|
20
|
-
for (const
|
|
20
|
+
for (const option of options) {
|
|
21
21
|
const unrecognizedCtr = startCountingUnrecognized();
|
|
22
22
|
const zeroDefaultCtr = startCountingDefaultToZeroValue();
|
|
23
|
-
const result = option.
|
|
23
|
+
const result = option._zod.run({ value: input, issues: [] }, {
|
|
24
|
+
async: false,
|
|
25
|
+
});
|
|
26
|
+
if (result instanceof Promise) {
|
|
27
|
+
throw new z.core.$ZodAsyncError();
|
|
28
|
+
}
|
|
24
29
|
const inexactCount = unrecognizedCtr.end();
|
|
25
30
|
const zeroDefaultCount = zeroDefaultCtr.end();
|
|
26
|
-
if (result.
|
|
31
|
+
if (result.issues.length === 0) {
|
|
27
32
|
candidates.push({
|
|
28
|
-
data: result.
|
|
33
|
+
data: result.value,
|
|
29
34
|
inexactCount,
|
|
30
35
|
zeroDefaultCount,
|
|
31
36
|
fieldCount: -1, // We'll count this later if needed
|
|
32
37
|
});
|
|
33
38
|
continue;
|
|
34
39
|
}
|
|
35
|
-
errors
|
|
40
|
+
errors.push(result.issues);
|
|
36
41
|
}
|
|
37
42
|
// No valid options
|
|
38
43
|
if (candidates.length === 0) {
|
|
@@ -41,9 +46,9 @@ export function smartUnion(options) {
|
|
|
41
46
|
ctx.issues.push({
|
|
42
47
|
input: input,
|
|
43
48
|
code: "invalid_union",
|
|
44
|
-
errors: errors,
|
|
49
|
+
errors: errors.map(issues => issues.map(issue => z.core.util.finalizeIssue(issue, {}, z.core.config()))),
|
|
45
50
|
});
|
|
46
|
-
return
|
|
51
|
+
return undefined;
|
|
47
52
|
}
|
|
48
53
|
let best = candidates[0];
|
|
49
54
|
// Find the best option
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-union.js","sourceRoot":"","sources":["../../src/types/smart-union.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,yBAAyB;AACzB,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAY9D;;;GAGG;AACH,MAAM,UAAU,UAAU,CAGxB,OAAgB,EACoD;IACpE,OAAO,CAAC,CAAC,IAAI,CACX,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"smart-union.js","sourceRoot":"","sources":["../../src/types/smart-union.ts"],"names":[],"mappings":"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"}
|
package/jsr.json
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { BeforeRequestContext, BeforeRequestHook } from "./types.js";
|
|
2
|
+
|
|
3
|
+
type Credential = string | (() => string | undefined | Promise<string | undefined>) | undefined;
|
|
4
|
+
|
|
5
|
+
// One environment per API call. Every attempt of a call gets the same context, so retries reuse it.
|
|
6
|
+
const environmentByCall = new WeakMap<BeforeRequestContext, string | undefined>();
|
|
7
|
+
|
|
8
|
+
async function resolveCredential(value: Credential): Promise<string | undefined> {
|
|
9
|
+
const resolved = typeof value === "function" ? await value() : value;
|
|
10
|
+
return resolved || undefined;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async function environmentFor(
|
|
14
|
+
hookCtx: BeforeRequestContext,
|
|
15
|
+
environmentId: Credential,
|
|
16
|
+
): Promise<string | undefined> {
|
|
17
|
+
if (!environmentByCall.has(hookCtx)) {
|
|
18
|
+
environmentByCall.set(hookCtx, await resolveCredential(environmentId));
|
|
19
|
+
}
|
|
20
|
+
return environmentByCall.get(hookCtx);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Sends bearerAuth and environmentId as headers. Headers passed on a call take precedence. */
|
|
24
|
+
export const authHeadersHook: BeforeRequestHook = {
|
|
25
|
+
async beforeRequest(hookCtx, request) {
|
|
26
|
+
const { apiKeyAuth, bearerAuth, environmentId } = hookCtx.options;
|
|
27
|
+
if (apiKeyAuth && bearerAuth) {
|
|
28
|
+
throw new Error("set either apiKeyAuth or bearerAuth, not both.");
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (!request.headers.has("Authorization")) {
|
|
32
|
+
const token = await resolveCredential(bearerAuth);
|
|
33
|
+
if (token) {
|
|
34
|
+
request.headers.set("Authorization", `Bearer ${token}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (!request.headers.has("X-Environment-ID")) {
|
|
39
|
+
const envId = await environmentFor(hookCtx, environmentId);
|
|
40
|
+
if (envId) {
|
|
41
|
+
request.headers.set("X-Environment-ID", envId);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return request;
|
|
46
|
+
},
|
|
47
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { authHeadersHook } from "./auth-headers.js";
|
|
1
2
|
import type { Hooks } from "./types.js";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
-
* Customize here only if you need to register debug or instrumentation hooks.
|
|
5
|
+
* Registers FlexPrice's custom hooks. The generated SDK calls initHooks(this) from hooks/hooks.ts.
|
|
6
6
|
*/
|
|
7
|
-
export function initHooks(
|
|
8
|
-
|
|
7
|
+
export function initHooks(hooks: Hooks): void {
|
|
8
|
+
hooks.registerBeforeRequestHook(authHeadersHook);
|
|
9
9
|
}
|
package/src/lib/config.ts
CHANGED
|
@@ -23,6 +23,10 @@ export const ServerList = [
|
|
|
23
23
|
|
|
24
24
|
export type SDKOptions = {
|
|
25
25
|
apiKeyAuth?: string | (() => Promise<string>) | undefined;
|
|
26
|
+
/** Signed-in user's JWT, sent as `Authorization: Bearer <token>`. Use instead of apiKeyAuth. */
|
|
27
|
+
bearerAuth?: string | (() => string | undefined | Promise<string | undefined>) | undefined;
|
|
28
|
+
/** Sent as `X-Environment-ID`. Needed with bearerAuth on environment-scoped endpoints. */
|
|
29
|
+
environmentId?: string | (() => string | undefined | Promise<string | undefined>) | undefined;
|
|
26
30
|
|
|
27
31
|
httpClient?: HTTPClient;
|
|
28
32
|
/**
|
|
@@ -65,7 +69,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
65
69
|
export const SDK_METADATA = {
|
|
66
70
|
language: "typescript",
|
|
67
71
|
openapiDocVersion: "1.0",
|
|
68
|
-
sdkVersion: "2.1.
|
|
69
|
-
genVersion: "2.
|
|
70
|
-
userAgent: "speakeasy-sdk/typescript 2.1.
|
|
72
|
+
sdkVersion: "2.1.35",
|
|
73
|
+
genVersion: "2.946.0",
|
|
74
|
+
userAgent: "speakeasy-sdk/typescript 2.1.35 2.946.0 1.0 @flexprice/sdk",
|
|
71
75
|
} as const;
|
|
@@ -39,42 +39,7 @@ export const Address$inboundSchema: z.ZodMiniType<Address, unknown> = z.pipe(
|
|
|
39
39
|
});
|
|
40
40
|
}),
|
|
41
41
|
);
|
|
42
|
-
/** @internal */
|
|
43
|
-
export type Address$Outbound = {
|
|
44
|
-
address_city?: string | undefined;
|
|
45
|
-
address_country?: string | undefined;
|
|
46
|
-
address_line1?: string | undefined;
|
|
47
|
-
address_line2?: string | undefined;
|
|
48
|
-
address_postal_code?: string | undefined;
|
|
49
|
-
address_state?: string | undefined;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
/** @internal */
|
|
53
|
-
export const Address$outboundSchema: z.ZodMiniType<Address$Outbound, Address> =
|
|
54
|
-
z.pipe(
|
|
55
|
-
z.object({
|
|
56
|
-
addressCity: z.optional(z.string()),
|
|
57
|
-
addressCountry: z.optional(z.string()),
|
|
58
|
-
addressLine1: z.optional(z.string()),
|
|
59
|
-
addressLine2: z.optional(z.string()),
|
|
60
|
-
addressPostalCode: z.optional(z.string()),
|
|
61
|
-
addressState: z.optional(z.string()),
|
|
62
|
-
}),
|
|
63
|
-
z.transform((v) => {
|
|
64
|
-
return remap$(v, {
|
|
65
|
-
addressCity: "address_city",
|
|
66
|
-
addressCountry: "address_country",
|
|
67
|
-
addressLine1: "address_line1",
|
|
68
|
-
addressLine2: "address_line2",
|
|
69
|
-
addressPostalCode: "address_postal_code",
|
|
70
|
-
addressState: "address_state",
|
|
71
|
-
});
|
|
72
|
-
}),
|
|
73
|
-
);
|
|
74
42
|
|
|
75
|
-
export function addressToJSON(address: Address): string {
|
|
76
|
-
return JSON.stringify(Address$outboundSchema.parse(address));
|
|
77
|
-
}
|
|
78
43
|
export function addressFromJSON(
|
|
79
44
|
jsonString: string,
|
|
80
45
|
): SafeParseResult<Address, SDKValidationError> {
|
|
@@ -44,6 +44,10 @@ export type CreateCustomerRequest = {
|
|
|
44
44
|
* address_state is the state, province, or region name with maximum 100 characters
|
|
45
45
|
*/
|
|
46
46
|
addressState?: string | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* billing_currency is the fiat currency invoices are issued in; empty means the charge currency is used as-is
|
|
49
|
+
*/
|
|
50
|
+
billingCurrency?: string | undefined;
|
|
47
51
|
/**
|
|
48
52
|
* contact is an optional contact number for the customer (e.g. phone)
|
|
49
53
|
*/
|
|
@@ -104,6 +108,7 @@ export type CreateCustomerRequest$Outbound = {
|
|
|
104
108
|
address_line2?: string | undefined;
|
|
105
109
|
address_postal_code?: string | undefined;
|
|
106
110
|
address_state?: string | undefined;
|
|
111
|
+
billing_currency?: string | undefined;
|
|
107
112
|
contact?: string | undefined;
|
|
108
113
|
email?: string | undefined;
|
|
109
114
|
external_id: string;
|
|
@@ -131,6 +136,7 @@ export const CreateCustomerRequest$outboundSchema: z.ZodMiniType<
|
|
|
131
136
|
addressLine2: z.optional(z.string()),
|
|
132
137
|
addressPostalCode: z.optional(z.string()),
|
|
133
138
|
addressState: z.optional(z.string()),
|
|
139
|
+
billingCurrency: z.optional(z.string()),
|
|
134
140
|
contact: z.optional(z.string()),
|
|
135
141
|
email: z.optional(z.string()),
|
|
136
142
|
externalId: z.string(),
|
|
@@ -153,6 +159,7 @@ export const CreateCustomerRequest$outboundSchema: z.ZodMiniType<
|
|
|
153
159
|
addressLine2: "address_line2",
|
|
154
160
|
addressPostalCode: "address_postal_code",
|
|
155
161
|
addressState: "address_state",
|
|
162
|
+
billingCurrency: "billing_currency",
|
|
156
163
|
externalId: "external_id",
|
|
157
164
|
integrationEntityMapping: "integration_entity_mapping",
|
|
158
165
|
onboardingWorkflowName: "onboarding_workflow_name",
|
|
@@ -33,6 +33,11 @@ import {
|
|
|
33
33
|
CreateSubscriptionLineItemRequest$Outbound,
|
|
34
34
|
CreateSubscriptionLineItemRequest$outboundSchema,
|
|
35
35
|
} from "./create-subscription-line-item-request.js";
|
|
36
|
+
import {
|
|
37
|
+
InlineFXRate,
|
|
38
|
+
InlineFXRate$Outbound,
|
|
39
|
+
InlineFXRate$outboundSchema,
|
|
40
|
+
} from "./inline-fx-rate.js";
|
|
36
41
|
import {
|
|
37
42
|
LineItemCommitmentConfig,
|
|
38
43
|
LineItemCommitmentConfig$Outbound,
|
|
@@ -122,6 +127,13 @@ export type CreateSubscriptionRequest = {
|
|
|
122
127
|
enableTrueUp?: boolean | undefined;
|
|
123
128
|
endDate?: Date | undefined;
|
|
124
129
|
externalCustomerId?: string | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* FxRates sets subscription-scope rates to the invoicing customer's billing currency, one per
|
|
132
|
+
*
|
|
133
|
+
* @remarks
|
|
134
|
+
* non-overlapping window. Rejected when nothing needs converting or the pair has no tenant rate.
|
|
135
|
+
*/
|
|
136
|
+
fxRates?: Array<InlineFXRate> | undefined;
|
|
125
137
|
gatewayPaymentMethodId?: string | undefined;
|
|
126
138
|
/**
|
|
127
139
|
* IncludePriceIDs selects which plan prices to attach. Nil/omitted attaches matching-cadence
|
|
@@ -200,6 +212,7 @@ export type CreateSubscriptionRequest$Outbound = {
|
|
|
200
212
|
enable_true_up?: boolean | undefined;
|
|
201
213
|
end_date?: string | undefined;
|
|
202
214
|
external_customer_id?: string | undefined;
|
|
215
|
+
fx_rates?: Array<InlineFXRate$Outbound> | undefined;
|
|
203
216
|
gateway_payment_method_id?: string | undefined;
|
|
204
217
|
include_price_ids?: Array<string> | undefined;
|
|
205
218
|
inheritance?: SubscriptionInheritanceConfig$Outbound | undefined;
|
|
@@ -254,6 +267,7 @@ export const CreateSubscriptionRequest$outboundSchema: z.ZodMiniType<
|
|
|
254
267
|
enableTrueUp: z.optional(z.boolean()),
|
|
255
268
|
endDate: z.optional(z.pipe(z.date(), z.transform(v => v.toISOString()))),
|
|
256
269
|
externalCustomerId: z.optional(z.string()),
|
|
270
|
+
fxRates: z.optional(z.array(InlineFXRate$outboundSchema)),
|
|
257
271
|
gatewayPaymentMethodId: z.optional(z.string()),
|
|
258
272
|
includePriceIds: z.optional(z.array(z.string())),
|
|
259
273
|
inheritance: z.optional(SubscriptionInheritanceConfig$outboundSchema),
|
|
@@ -303,6 +317,7 @@ export const CreateSubscriptionRequest$outboundSchema: z.ZodMiniType<
|
|
|
303
317
|
enableTrueUp: "enable_true_up",
|
|
304
318
|
endDate: "end_date",
|
|
305
319
|
externalCustomerId: "external_customer_id",
|
|
320
|
+
fxRates: "fx_rates",
|
|
306
321
|
gatewayPaymentMethodId: "gateway_payment_method_id",
|
|
307
322
|
includePriceIds: "include_price_ids",
|
|
308
323
|
lineItemCommitments: "line_item_commitments",
|
|
@@ -43,6 +43,10 @@ export type CustomerResponse = {
|
|
|
43
43
|
* AddressState is the state of the customer's address
|
|
44
44
|
*/
|
|
45
45
|
addressState?: string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* BillingCurrency is the fiat currency invoices are issued in; nil means charge currency is used as-is.
|
|
48
|
+
*/
|
|
49
|
+
billingCurrency?: string | undefined;
|
|
46
50
|
/**
|
|
47
51
|
* Contact is an optional contact number for the customer (e.g. phone)
|
|
48
52
|
*/
|
|
@@ -100,6 +104,7 @@ export const CustomerResponse$inboundSchema: z.ZodMiniType<
|
|
|
100
104
|
address_line2: types.optional(types.string()),
|
|
101
105
|
address_postal_code: types.optional(types.string()),
|
|
102
106
|
address_state: types.optional(types.string()),
|
|
107
|
+
billing_currency: types.optional(types.string()),
|
|
103
108
|
contact: types.optional(types.string()),
|
|
104
109
|
created_at: types.optional(types.date()),
|
|
105
110
|
created_by: types.optional(types.string()),
|
|
@@ -127,6 +132,7 @@ export const CustomerResponse$inboundSchema: z.ZodMiniType<
|
|
|
127
132
|
"address_line2": "addressLine2",
|
|
128
133
|
"address_postal_code": "addressPostalCode",
|
|
129
134
|
"address_state": "addressState",
|
|
135
|
+
"billing_currency": "billingCurrency",
|
|
130
136
|
"created_at": "createdAt",
|
|
131
137
|
"created_by": "createdBy",
|
|
132
138
|
"environment_id": "environmentId",
|
|
@@ -36,6 +36,10 @@ export type Customer = {
|
|
|
36
36
|
* AddressState is the state of the customer's address
|
|
37
37
|
*/
|
|
38
38
|
addressState?: string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* BillingCurrency is the fiat currency invoices are issued in; nil means charge currency is used as-is.
|
|
41
|
+
*/
|
|
42
|
+
billingCurrency?: string | undefined;
|
|
39
43
|
/**
|
|
40
44
|
* Contact is an optional contact number for the customer (e.g. phone)
|
|
41
45
|
*/
|
|
@@ -89,6 +93,7 @@ export const Customer$inboundSchema: z.ZodMiniType<Customer, unknown> = z.pipe(
|
|
|
89
93
|
address_line2: types.optional(types.string()),
|
|
90
94
|
address_postal_code: types.optional(types.string()),
|
|
91
95
|
address_state: types.optional(types.string()),
|
|
96
|
+
billing_currency: types.optional(types.string()),
|
|
92
97
|
contact: types.optional(types.string()),
|
|
93
98
|
created_at: types.optional(types.date()),
|
|
94
99
|
created_by: types.optional(types.string()),
|
|
@@ -113,6 +118,7 @@ export const Customer$inboundSchema: z.ZodMiniType<Customer, unknown> = z.pipe(
|
|
|
113
118
|
"address_line2": "addressLine2",
|
|
114
119
|
"address_postal_code": "addressPostalCode",
|
|
115
120
|
"address_state": "addressState",
|
|
121
|
+
"billing_currency": "billingCurrency",
|
|
116
122
|
"created_at": "createdAt",
|
|
117
123
|
"created_by": "createdBy",
|
|
118
124
|
"environment_id": "environmentId",
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import { remap as remap$ } from "../../lib/primitives.js";
|
|
7
|
+
import { safeParse } from "../../lib/schemas.js";
|
|
8
|
+
import { Result as SafeParseResult } from "../../types/fp.js";
|
|
9
|
+
import * as types from "../../types/primitives.js";
|
|
10
|
+
import { SDKValidationError } from "./sdk-validation-error.js";
|
|
11
|
+
|
|
12
|
+
export type FxConversionSource = {
|
|
13
|
+
net?: string | undefined;
|
|
14
|
+
subtotal?: string | undefined;
|
|
15
|
+
totalDiscount?: string | undefined;
|
|
16
|
+
totalPrepaidCreditsApplied?: string | undefined;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/** @internal */
|
|
20
|
+
export const FxConversionSource$inboundSchema: z.ZodMiniType<
|
|
21
|
+
FxConversionSource,
|
|
22
|
+
unknown
|
|
23
|
+
> = z.pipe(
|
|
24
|
+
z.object({
|
|
25
|
+
net: types.optional(types.string()),
|
|
26
|
+
subtotal: types.optional(types.string()),
|
|
27
|
+
total_discount: types.optional(types.string()),
|
|
28
|
+
total_prepaid_credits_applied: types.optional(types.string()),
|
|
29
|
+
}),
|
|
30
|
+
z.transform((v) => {
|
|
31
|
+
return remap$(v, {
|
|
32
|
+
"total_discount": "totalDiscount",
|
|
33
|
+
"total_prepaid_credits_applied": "totalPrepaidCreditsApplied",
|
|
34
|
+
});
|
|
35
|
+
}),
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
export function fxConversionSourceFromJSON(
|
|
39
|
+
jsonString: string,
|
|
40
|
+
): SafeParseResult<FxConversionSource, SDKValidationError> {
|
|
41
|
+
return safeParse(
|
|
42
|
+
jsonString,
|
|
43
|
+
(x) => FxConversionSource$inboundSchema.parse(JSON.parse(x)),
|
|
44
|
+
`Failed to parse 'FxConversionSource' from JSON`,
|
|
45
|
+
);
|
|
46
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import { remap as remap$ } from "../../lib/primitives.js";
|
|
7
|
+
import { safeParse } from "../../lib/schemas.js";
|
|
8
|
+
import { Result as SafeParseResult } from "../../types/fp.js";
|
|
9
|
+
import * as types from "../../types/primitives.js";
|
|
10
|
+
import {
|
|
11
|
+
FxConversionSource,
|
|
12
|
+
FxConversionSource$inboundSchema,
|
|
13
|
+
} from "./fx-conversion-source.js";
|
|
14
|
+
import { FXRateScope, FXRateScope$inboundSchema } from "./fx-rate-scope.js";
|
|
15
|
+
import { SDKValidationError } from "./sdk-validation-error.js";
|
|
16
|
+
|
|
17
|
+
export type FxConversion = {
|
|
18
|
+
/**
|
|
19
|
+
* BillingCurrency is the currency the invoice was issued in.
|
|
20
|
+
*/
|
|
21
|
+
billingCurrency?: string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* ChargeCurrency is the invoice's original (draft) currency.
|
|
24
|
+
*/
|
|
25
|
+
chargeCurrency?: string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* ConvertedAt is when the conversion ran.
|
|
28
|
+
*/
|
|
29
|
+
convertedAt?: Date | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Rate is the frozen rate: billing per 1 charge unit.
|
|
32
|
+
*/
|
|
33
|
+
rate?: string | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* RateID is the fx_rates row used, for reference only; never read again.
|
|
36
|
+
*/
|
|
37
|
+
rateId?: string | undefined;
|
|
38
|
+
scope?: FXRateScope | undefined;
|
|
39
|
+
source?: FxConversionSource | undefined;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/** @internal */
|
|
43
|
+
export const FxConversion$inboundSchema: z.ZodMiniType<FxConversion, unknown> =
|
|
44
|
+
z.pipe(
|
|
45
|
+
z.object({
|
|
46
|
+
billing_currency: types.optional(types.string()),
|
|
47
|
+
charge_currency: types.optional(types.string()),
|
|
48
|
+
converted_at: types.optional(types.date()),
|
|
49
|
+
rate: types.optional(types.string()),
|
|
50
|
+
rate_id: types.optional(types.string()),
|
|
51
|
+
scope: types.optional(FXRateScope$inboundSchema),
|
|
52
|
+
source: types.optional(FxConversionSource$inboundSchema),
|
|
53
|
+
}),
|
|
54
|
+
z.transform((v) => {
|
|
55
|
+
return remap$(v, {
|
|
56
|
+
"billing_currency": "billingCurrency",
|
|
57
|
+
"charge_currency": "chargeCurrency",
|
|
58
|
+
"converted_at": "convertedAt",
|
|
59
|
+
"rate_id": "rateId",
|
|
60
|
+
});
|
|
61
|
+
}),
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
export function fxConversionFromJSON(
|
|
65
|
+
jsonString: string,
|
|
66
|
+
): SafeParseResult<FxConversion, SDKValidationError> {
|
|
67
|
+
return safeParse(
|
|
68
|
+
jsonString,
|
|
69
|
+
(x) => FxConversion$inboundSchema.parse(JSON.parse(x)),
|
|
70
|
+
`Failed to parse 'FxConversion' from JSON`,
|
|
71
|
+
);
|
|
72
|
+
}
|
package/src/sdk/models/index.ts
CHANGED
|
@@ -262,6 +262,8 @@ export * from "./filter-operator-type.js";
|
|
|
262
262
|
export * from "./finalize-credit-note-request.js";
|
|
263
263
|
export * from "./finalize-invoice-op.js";
|
|
264
264
|
export * from "./flex-price-error.js";
|
|
265
|
+
export * from "./fx-conversion-source.js";
|
|
266
|
+
export * from "./fx-conversion.js";
|
|
265
267
|
export * from "./fx-rate-filter.js";
|
|
266
268
|
export * from "./fx-rate-response.js";
|
|
267
269
|
export * from "./fx-rate-scope.js";
|
|
@@ -350,6 +352,7 @@ export * from "./grouped-invoicing-child-request.js";
|
|
|
350
352
|
export * from "./http-client-errors.js";
|
|
351
353
|
export * from "./ingest-event-request.js";
|
|
352
354
|
export * from "./inheritance-action.js";
|
|
355
|
+
export * from "./inline-fx-rate.js";
|
|
353
356
|
export * from "./integration-config-entry.js";
|
|
354
357
|
export * from "./integration-config-response.js";
|
|
355
358
|
export * from "./integration-entity-type.js";
|
|
@@ -673,6 +676,8 @@ export * from "./update-task-status-request.js";
|
|
|
673
676
|
export * from "./update-tax-association-op.js";
|
|
674
677
|
export * from "./update-tax-rate-op.js";
|
|
675
678
|
export * from "./update-tax-rate-request.js";
|
|
679
|
+
export * from "./update-tenant-address.js";
|
|
680
|
+
export * from "./update-tenant-billing-details.js";
|
|
676
681
|
export * from "./update-tenant-request.js";
|
|
677
682
|
export * from "./update-user-request.js";
|
|
678
683
|
export * from "./update-user-response.js";
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import { remap as remap$ } from "../../lib/primitives.js";
|
|
7
|
+
|
|
8
|
+
export type InlineFXRate = {
|
|
9
|
+
endDate?: Date | undefined;
|
|
10
|
+
rate?: string | undefined;
|
|
11
|
+
startDate?: Date | undefined;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/** @internal */
|
|
15
|
+
export type InlineFXRate$Outbound = {
|
|
16
|
+
end_date?: string | undefined;
|
|
17
|
+
rate?: string | undefined;
|
|
18
|
+
start_date?: string | undefined;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/** @internal */
|
|
22
|
+
export const InlineFXRate$outboundSchema: z.ZodMiniType<
|
|
23
|
+
InlineFXRate$Outbound,
|
|
24
|
+
InlineFXRate
|
|
25
|
+
> = z.pipe(
|
|
26
|
+
z.object({
|
|
27
|
+
endDate: z.optional(z.pipe(z.date(), z.transform(v => v.toISOString()))),
|
|
28
|
+
rate: z.optional(z.string()),
|
|
29
|
+
startDate: z.optional(z.pipe(z.date(), z.transform(v => v.toISOString()))),
|
|
30
|
+
}),
|
|
31
|
+
z.transform((v) => {
|
|
32
|
+
return remap$(v, {
|
|
33
|
+
endDate: "end_date",
|
|
34
|
+
startDate: "start_date",
|
|
35
|
+
});
|
|
36
|
+
}),
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
export function inlineFXRateToJSON(inlineFXRate: InlineFXRate): string {
|
|
40
|
+
return JSON.stringify(InlineFXRate$outboundSchema.parse(inlineFXRate));
|
|
41
|
+
}
|