@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>
171 lines (154 loc) • 5.72 kB
text/typescript
/*
* 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 { safeParse } from "../lib/schemas.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { smartUnion } from "../types/smartUnion.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
import { Session, Session$inboundSchema } from "./session.js";
import { Snapshot, Snapshot$inboundSchema } from "./snapshot.js";
/**
* The number of milliseconds after which the snapshot will expire and be deleted. Defaults to 7 days when neither this field nor the sandbox configuration specifies an expiration. Use 0 for no expiration.
*/
export type CreateSandboxesSessionsBySessionIdSnapshotV3Expiration =
| any
| number;
export type CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody = {
/**
* The number of milliseconds after which the snapshot will expire and be deleted. Defaults to 7 days when neither this field nor the sandbox configuration specifies an expiration. Use 0 for no expiration.
*/
expiration?: any | number | undefined;
};
export type CreateSandboxesSessionsBySessionIdSnapshotV3Request = {
/**
* The unique identifier of the session to snapshot.
*/
sessionId: string;
/**
* The Team identifier to perform the request on behalf of.
*/
teamId?: string | undefined;
/**
* The Team slug to perform the request on behalf of.
*/
slug?: string | undefined;
requestBody?:
| CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody
| undefined;
};
export type CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody = {
/**
* This object contains information related to a Snapshot of a Vercel Sandbox session (v2 API).
*/
snapshot: Snapshot;
/**
* This object contains information related to a Vercel Sandbox Session. v2 endpoints return "session" instead of "sandbox" as the response wrapper key.
*/
session: Session;
};
/** @internal */
export type CreateSandboxesSessionsBySessionIdSnapshotV3Expiration$Outbound =
| any
| number;
/** @internal */
export const CreateSandboxesSessionsBySessionIdSnapshotV3Expiration$outboundSchema:
z.ZodType<
CreateSandboxesSessionsBySessionIdSnapshotV3Expiration$Outbound,
z.ZodTypeDef,
CreateSandboxesSessionsBySessionIdSnapshotV3Expiration
> = smartUnion([z.any(), z.number().int()]);
export function createSandboxesSessionsBySessionIdSnapshotV3ExpirationToJSON(
createSandboxesSessionsBySessionIdSnapshotV3Expiration:
CreateSandboxesSessionsBySessionIdSnapshotV3Expiration,
): string {
return JSON.stringify(
CreateSandboxesSessionsBySessionIdSnapshotV3Expiration$outboundSchema.parse(
createSandboxesSessionsBySessionIdSnapshotV3Expiration,
),
);
}
/** @internal */
export type CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$Outbound = {
expiration?: any | number | undefined;
};
/** @internal */
export const CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$outboundSchema:
z.ZodType<
CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$Outbound,
z.ZodTypeDef,
CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody
> = z.object({
expiration: smartUnion([z.any(), z.number().int()]).optional(),
});
export function createSandboxesSessionsBySessionIdSnapshotV3RequestBodyToJSON(
createSandboxesSessionsBySessionIdSnapshotV3RequestBody:
CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody,
): string {
return JSON.stringify(
CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$outboundSchema
.parse(createSandboxesSessionsBySessionIdSnapshotV3RequestBody),
);
}
/** @internal */
export type CreateSandboxesSessionsBySessionIdSnapshotV3Request$Outbound = {
sessionId: string;
teamId?: string | undefined;
slug?: string | undefined;
RequestBody?:
| CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$Outbound
| undefined;
};
/** @internal */
export const CreateSandboxesSessionsBySessionIdSnapshotV3Request$outboundSchema:
z.ZodType<
CreateSandboxesSessionsBySessionIdSnapshotV3Request$Outbound,
z.ZodTypeDef,
CreateSandboxesSessionsBySessionIdSnapshotV3Request
> = z.object({
sessionId: z.string(),
teamId: z.string().optional(),
slug: z.string().optional(),
requestBody: z.lazy(() =>
CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$outboundSchema
).optional(),
}).transform((v) => {
return remap$(v, {
requestBody: "RequestBody",
});
});
export function createSandboxesSessionsBySessionIdSnapshotV3RequestToJSON(
createSandboxesSessionsBySessionIdSnapshotV3Request:
CreateSandboxesSessionsBySessionIdSnapshotV3Request,
): string {
return JSON.stringify(
CreateSandboxesSessionsBySessionIdSnapshotV3Request$outboundSchema.parse(
createSandboxesSessionsBySessionIdSnapshotV3Request,
),
);
}
/** @internal */
export const CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody$inboundSchema:
z.ZodType<
CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody,
z.ZodTypeDef,
unknown
> = z.object({
snapshot: Snapshot$inboundSchema,
session: Session$inboundSchema,
});
export function createSandboxesSessionsBySessionIdSnapshotV3ResponseBodyFromJSON(
jsonString: string,
): SafeParseResult<
CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody,
SDKValidationError
> {
return safeParse(
jsonString,
(x) =>
CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody$inboundSchema
.parse(JSON.parse(x)),
`Failed to parse 'CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody' from JSON`,
);
}