UNPKG

@unkey/api

Version:

Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@unkey/api* API.

67 lines (61 loc) 1.81 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { KeyCreditsRefill, KeyCreditsRefill$inboundSchema, KeyCreditsRefill$Outbound, KeyCreditsRefill$outboundSchema, } from "./keycreditsrefill.js"; /** * Credit configuration and remaining balance for this key. */ export type KeyCreditsData = { /** * Number of credits remaining (null for unlimited). */ remaining: number | null; /** * Configuration for automatic credit refill behavior. */ refill?: KeyCreditsRefill | undefined; }; /** @internal */ export const KeyCreditsData$inboundSchema: z.ZodType< KeyCreditsData, z.ZodTypeDef, unknown > = z.object({ remaining: z.nullable(z.number().int()), refill: KeyCreditsRefill$inboundSchema.optional(), }); /** @internal */ export type KeyCreditsData$Outbound = { remaining: number | null; refill?: KeyCreditsRefill$Outbound | undefined; }; /** @internal */ export const KeyCreditsData$outboundSchema: z.ZodType< KeyCreditsData$Outbound, z.ZodTypeDef, KeyCreditsData > = z.object({ remaining: z.nullable(z.number().int()), refill: KeyCreditsRefill$outboundSchema.optional(), }); export function keyCreditsDataToJSON(keyCreditsData: KeyCreditsData): string { return JSON.stringify(KeyCreditsData$outboundSchema.parse(keyCreditsData)); } export function keyCreditsDataFromJSON( jsonString: string, ): SafeParseResult<KeyCreditsData, SDKValidationError> { return safeParse( jsonString, (x) => KeyCreditsData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'KeyCreditsData' from JSON`, ); }