/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * How pagination is implemented on this connector. Native mode means Apideck is using the pagination parameters of the connector. With virtual pagination, the connector does not support pagination, but Apideck emulates it. */ export const PaginationCoverageMode = { Native: "native", Virtual: "virtual", } as const; /** * How pagination is implemented on this connector. Native mode means Apideck is using the pagination parameters of the connector. With virtual pagination, the connector does not support pagination, but Apideck emulates it. */ export type PaginationCoverageMode = ClosedEnum; export type PaginationCoverage = { /** * How pagination is implemented on this connector. Native mode means Apideck is using the pagination parameters of the connector. With virtual pagination, the connector does not support pagination, but Apideck emulates it. */ mode?: PaginationCoverageMode | undefined; /** * Indicates whether the connector supports paging through results using the cursor parameter. */ pagingSupport?: boolean | undefined; /** * Indicates whether the connector supports changing the page size by using the limit parameter. */ limitSupport?: boolean | undefined; }; /** @internal */ export const PaginationCoverageMode$inboundSchema: z.ZodNativeEnum< typeof PaginationCoverageMode > = z.nativeEnum(PaginationCoverageMode); /** @internal */ export const PaginationCoverageMode$outboundSchema: z.ZodNativeEnum< typeof PaginationCoverageMode > = PaginationCoverageMode$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace PaginationCoverageMode$ { /** @deprecated use `PaginationCoverageMode$inboundSchema` instead. */ export const inboundSchema = PaginationCoverageMode$inboundSchema; /** @deprecated use `PaginationCoverageMode$outboundSchema` instead. */ export const outboundSchema = PaginationCoverageMode$outboundSchema; } /** @internal */ export const PaginationCoverage$inboundSchema: z.ZodType< PaginationCoverage, z.ZodTypeDef, unknown > = z.object({ mode: PaginationCoverageMode$inboundSchema.optional(), paging_support: z.boolean().optional(), limit_support: z.boolean().optional(), }).transform((v) => { return remap$(v, { "paging_support": "pagingSupport", "limit_support": "limitSupport", }); }); /** @internal */ export type PaginationCoverage$Outbound = { mode?: string | undefined; paging_support?: boolean | undefined; limit_support?: boolean | undefined; }; /** @internal */ export const PaginationCoverage$outboundSchema: z.ZodType< PaginationCoverage$Outbound, z.ZodTypeDef, PaginationCoverage > = z.object({ mode: PaginationCoverageMode$outboundSchema.optional(), pagingSupport: z.boolean().optional(), limitSupport: z.boolean().optional(), }).transform((v) => { return remap$(v, { pagingSupport: "paging_support", limitSupport: "limit_support", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace PaginationCoverage$ { /** @deprecated use `PaginationCoverage$inboundSchema` instead. */ export const inboundSchema = PaginationCoverage$inboundSchema; /** @deprecated use `PaginationCoverage$outboundSchema` instead. */ export const outboundSchema = PaginationCoverage$outboundSchema; /** @deprecated use `PaginationCoverage$Outbound` instead. */ export type Outbound = PaginationCoverage$Outbound; } export function paginationCoverageToJSON( paginationCoverage: PaginationCoverage, ): string { return JSON.stringify( PaginationCoverage$outboundSchema.parse(paginationCoverage), ); } export function paginationCoverageFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PaginationCoverage$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PaginationCoverage' from JSON`, ); }