@vercel/sdk
Version:
<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p>
129 lines • 4.77 kB
JavaScript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v3";
import { remap as remap$ } from "../lib/primitives.js";
import { smartUnion } from "../types/smartUnion.js";
/**
* @remarks
* Type of the metric.
* - total: measured total value, such as Database size
* - interval: usage during the period, such as i/o or number of queries.
* - rate: rate of usage, such as queries per second.
*/
export const SubmitBillingDataType = {
Total: "total",
Interval: "interval",
Rate: "rate",
};
/** @internal */
export const Period$outboundSchema = z.object({
start: z.date().transform(v => v.toISOString()),
end: z.date().transform(v => v.toISOString()),
});
export function periodToJSON(period) {
return JSON.stringify(Period$outboundSchema.parse(period));
}
/** @internal */
export const BillingItems$outboundSchema = z.object({
billingPlanId: z.string(),
resourceId: z.string().optional(),
start: z.date().transform(v => v.toISOString()).optional(),
end: z.date().transform(v => v.toISOString()).optional(),
name: z.string(),
details: z.string().optional(),
price: z.string(),
quantity: z.number(),
units: z.string(),
total: z.string(),
});
export function billingItemsToJSON(billingItems) {
return JSON.stringify(BillingItems$outboundSchema.parse(billingItems));
}
/** @internal */
export const Discounts$outboundSchema = z.object({
billingPlanId: z.string(),
resourceId: z.string().optional(),
start: z.date().transform(v => v.toISOString()).optional(),
end: z.date().transform(v => v.toISOString()).optional(),
name: z.string(),
details: z.string().optional(),
amount: z.string(),
});
export function discountsToJSON(discounts) {
return JSON.stringify(Discounts$outboundSchema.parse(discounts));
}
/** @internal */
export const Billing2$outboundSchema = z.object({
items: z.array(z.lazy(() => BillingItems$outboundSchema)),
discounts: z.array(z.lazy(() => Discounts$outboundSchema)).optional(),
});
export function billing2ToJSON(billing2) {
return JSON.stringify(Billing2$outboundSchema.parse(billing2));
}
/** @internal */
export const Billing1$outboundSchema = z.object({
billingPlanId: z.string(),
resourceId: z.string().optional(),
start: z.date().transform(v => v.toISOString()).optional(),
end: z.date().transform(v => v.toISOString()).optional(),
name: z.string(),
details: z.string().optional(),
price: z.string(),
quantity: z.number(),
units: z.string(),
total: z.string(),
});
export function billing1ToJSON(billing1) {
return JSON.stringify(Billing1$outboundSchema.parse(billing1));
}
/** @internal */
export const SubmitBillingDataBilling$outboundSchema = smartUnion([
z.lazy(() => Billing2$outboundSchema),
z.array(z.lazy(() => Billing1$outboundSchema)),
]);
export function submitBillingDataBillingToJSON(submitBillingDataBilling) {
return JSON.stringify(SubmitBillingDataBilling$outboundSchema.parse(submitBillingDataBilling));
}
/** @internal */
export const SubmitBillingDataType$outboundSchema = z.nativeEnum(SubmitBillingDataType);
/** @internal */
export const Usage$outboundSchema = z.object({
resourceId: z.string().optional(),
name: z.string(),
type: SubmitBillingDataType$outboundSchema,
units: z.string(),
dayValue: z.number(),
periodValue: z.number(),
planValue: z.number().optional(),
});
export function usageToJSON(usage) {
return JSON.stringify(Usage$outboundSchema.parse(usage));
}
/** @internal */
export const SubmitBillingDataRequestBody$outboundSchema = z.object({
timestamp: z.date().transform(v => v.toISOString()),
eod: z.date().transform(v => v.toISOString()),
period: z.lazy(() => Period$outboundSchema),
billing: smartUnion([
z.lazy(() => Billing2$outboundSchema),
z.array(z.lazy(() => Billing1$outboundSchema)),
]),
usage: z.array(z.lazy(() => Usage$outboundSchema)),
});
export function submitBillingDataRequestBodyToJSON(submitBillingDataRequestBody) {
return JSON.stringify(SubmitBillingDataRequestBody$outboundSchema.parse(submitBillingDataRequestBody));
}
/** @internal */
export const SubmitBillingDataRequest$outboundSchema = z.object({
integrationConfigurationId: z.string(),
requestBody: z.lazy(() => SubmitBillingDataRequestBody$outboundSchema),
}).transform((v) => {
return remap$(v, {
requestBody: "RequestBody",
});
});
export function submitBillingDataRequestToJSON(submitBillingDataRequest) {
return JSON.stringify(SubmitBillingDataRequest$outboundSchema.parse(submitBillingDataRequest));
}
//# sourceMappingURL=submitbillingdataop.js.map