@docusign/iam-sdk
Version:
Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@docusign/iam-sdk* API.
73 lines (67 loc) • 2.02 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 * as types from "../../types/primitives.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
* Identifies records in external systems which correlate with this agreement.
*/
export type LinkedData = {
applicationName?: string | undefined;
objectName?: string | undefined;
recordId?: string | undefined;
};
/** @internal */
export const LinkedData$inboundSchema: z.ZodType<
LinkedData,
z.ZodTypeDef,
unknown
> = z.object({
application_name: types.optional(types.string()),
object_name: types.optional(types.string()),
record_id: types.optional(types.string()),
}).transform((v) => {
return remap$(v, {
"application_name": "applicationName",
"object_name": "objectName",
"record_id": "recordId",
});
});
/** @internal */
export type LinkedData$Outbound = {
application_name?: string | undefined;
object_name?: string | undefined;
record_id?: string | undefined;
};
/** @internal */
export const LinkedData$outboundSchema: z.ZodType<
LinkedData$Outbound,
z.ZodTypeDef,
LinkedData
> = z.object({
applicationName: z.string().optional(),
objectName: z.string().optional(),
recordId: z.string().optional(),
}).transform((v) => {
return remap$(v, {
applicationName: "application_name",
objectName: "object_name",
recordId: "record_id",
});
});
export function linkedDataToJSON(linkedData: LinkedData): string {
return JSON.stringify(LinkedData$outboundSchema.parse(linkedData));
}
export function linkedDataFromJSON(
jsonString: string,
): SafeParseResult<LinkedData, SDKValidationError> {
return safeParse(
jsonString,
(x) => LinkedData$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'LinkedData' from JSON`,
);
}