UNPKG

@docusign/iam-sdk

Version:

Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@docusign/iam-sdk* API.

115 lines (108 loc) 3.41 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import * as types from "../../types/primitives.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { TabConnectedFieldsData, TabConnectedFieldsData$inboundSchema, } from "./tabconnectedfieldsdata.js"; import { TabConnectionInstance, TabConnectionInstance$inboundSchema, } from "./tabconnectioninstance.js"; /** * Indicates if the field is required to sign the document */ export const ExtensionPolicy = { None: "None", } as const; /** * Indicates if the field is required to sign the document */ export type ExtensionPolicy = ClosedEnum<typeof ExtensionPolicy>; export type TabExtensionData = { /** * A unique UUID for each tab group. Tabs associated with the same model or concept will share the same extensionGroupId. */ extensionGroupId: string; /** * Determines input data key required for data verification. */ actionInputKey: string; /** * Indicates if the field is required to sign the document */ extensionPolicy?: ExtensionPolicy | undefined; /** * Publisher of the extension app. */ publisherName?: string | undefined; /** * Name of the extension app. */ applicationName?: string | undefined; /** * Name of an action in an extension app. */ actionName?: string | undefined; /** * Indicates the template that defines an extension. */ extensionContract?: string | undefined; /** * Indicates the template defining an action. */ actionContract?: string | undefined; /** * Name of the extension. */ extensionName?: string | undefined; /** * A boolean value that indicates if the field must pass verification to sign the document. */ requiredForExtension: boolean; /** * Array representing the extension app connection name and instance. */ connectionInstances?: Array<TabConnectionInstance> | undefined; connectedFieldsData?: TabConnectedFieldsData | undefined; }; /** @internal */ export const ExtensionPolicy$inboundSchema: z.ZodNativeEnum< typeof ExtensionPolicy > = z.nativeEnum(ExtensionPolicy); /** @internal */ export const TabExtensionData$inboundSchema: z.ZodType< TabExtensionData, z.ZodTypeDef, unknown > = z.object({ extensionGroupId: types.string(), actionInputKey: types.string(), extensionPolicy: types.optional(ExtensionPolicy$inboundSchema), publisherName: types.optional(types.string()), applicationName: types.optional(types.string()), actionName: types.optional(types.string()), extensionContract: types.optional(types.string()), actionContract: types.optional(types.string()), extensionName: types.optional(types.string()), requiredForExtension: types.boolean(), connectionInstances: types.optional( z.array(TabConnectionInstance$inboundSchema), ), connectedFieldsData: types.optional(TabConnectedFieldsData$inboundSchema), }); export function tabExtensionDataFromJSON( jsonString: string, ): SafeParseResult<TabExtensionData, SDKValidationError> { return safeParse( jsonString, (x) => TabExtensionData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'TabExtensionData' from JSON`, ); }