UNPKG

box-node-sdk

Version:

Official SDK for Box Platform APIs

186 lines (185 loc) 6.69 kB
import { BoxSdkError } from '../box/errors'; import { SerializedData } from '../serialization/json'; import { sdIsEmpty } from '../serialization/json'; import { sdIsBoolean } from '../serialization/json'; import { sdIsNumber } from '../serialization/json'; import { sdIsString } from '../serialization/json'; import { sdIsList } from '../serialization/json'; import { sdIsMap } from '../serialization/json'; export type SignRequestSignerInputCustomValidationValidationTypeField = | 'custom' | string; export class SignRequestSignerInputCustomValidation { /** * Defines the validation format for the text input as custom. * A custom regular expression is used for validation. */ readonly validationType: SignRequestSignerInputCustomValidationValidationTypeField = 'custom' as SignRequestSignerInputCustomValidationValidationTypeField; /** * Regular expression used for validation. */ readonly customRegex?: string | null; /** * Error message shown if input fails custom regular expression validation. */ readonly customErrorMessage?: string | null; readonly rawData?: SerializedData; constructor( fields: Omit<SignRequestSignerInputCustomValidation, 'validationType'> & Partial<Pick<SignRequestSignerInputCustomValidation, 'validationType'>>, ) { if (fields.validationType !== undefined) { this.validationType = fields.validationType; } if (fields.customRegex !== undefined) { this.customRegex = fields.customRegex; } if (fields.customErrorMessage !== undefined) { this.customErrorMessage = fields.customErrorMessage; } if (fields.rawData !== undefined) { this.rawData = fields.rawData; } } } export interface SignRequestSignerInputCustomValidationInput { /** * Defines the validation format for the text input as custom. * A custom regular expression is used for validation. */ readonly validationType?: SignRequestSignerInputCustomValidationValidationTypeField; /** * Regular expression used for validation. */ readonly customRegex?: string | null; /** * Error message shown if input fails custom regular expression validation. */ readonly customErrorMessage?: string | null; readonly rawData?: SerializedData; } export function serializeSignRequestSignerInputCustomValidationValidationTypeField( val: SignRequestSignerInputCustomValidationValidationTypeField, ): SerializedData { return val; } export function deserializeSignRequestSignerInputCustomValidationValidationTypeField( val: SerializedData, ): SignRequestSignerInputCustomValidationValidationTypeField { if (val == 'custom') { return val; } if (sdIsString(val)) { return val; } throw new BoxSdkError({ message: "Can't deserialize SignRequestSignerInputCustomValidationValidationTypeField", }); } export function serializeSignRequestSignerInputCustomValidation( val: SignRequestSignerInputCustomValidation, ): SerializedData { return { ['validation_type']: serializeSignRequestSignerInputCustomValidationValidationTypeField( val.validationType, ), ['custom_regex']: val.customRegex, ['custom_error_message']: val.customErrorMessage, }; } export function deserializeSignRequestSignerInputCustomValidation( val: SerializedData, ): SignRequestSignerInputCustomValidation { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "SignRequestSignerInputCustomValidation"', }); } if (val.validation_type == void 0) { throw new BoxSdkError({ message: 'Expecting "validation_type" of type "SignRequestSignerInputCustomValidation" to be defined', }); } const validationType: SignRequestSignerInputCustomValidationValidationTypeField = deserializeSignRequestSignerInputCustomValidationValidationTypeField( val.validation_type, ); if (!(val.custom_regex == void 0) && !sdIsString(val.custom_regex)) { throw new BoxSdkError({ message: 'Expecting string for "custom_regex" of type "SignRequestSignerInputCustomValidation"', }); } const customRegex: undefined | string = val.custom_regex == void 0 ? void 0 : val.custom_regex; if ( !(val.custom_error_message == void 0) && !sdIsString(val.custom_error_message) ) { throw new BoxSdkError({ message: 'Expecting string for "custom_error_message" of type "SignRequestSignerInputCustomValidation"', }); } const customErrorMessage: undefined | string = val.custom_error_message == void 0 ? void 0 : val.custom_error_message; return { validationType: validationType, customRegex: customRegex, customErrorMessage: customErrorMessage, } satisfies SignRequestSignerInputCustomValidation; } export function serializeSignRequestSignerInputCustomValidationInput( val: SignRequestSignerInputCustomValidationInput, ): SerializedData { return { ['validationType']: val.validationType == void 0 ? val.validationType : serializeSignRequestSignerInputCustomValidationValidationTypeField( val.validationType, ), ['custom_regex']: val.customRegex, ['custom_error_message']: val.customErrorMessage, }; } export function deserializeSignRequestSignerInputCustomValidationInput( val: SerializedData, ): SignRequestSignerInputCustomValidationInput { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "SignRequestSignerInputCustomValidationInput"', }); } const validationType: | undefined | SignRequestSignerInputCustomValidationValidationTypeField = val.validationType == void 0 ? void 0 : deserializeSignRequestSignerInputCustomValidationValidationTypeField( val.validationType, ); if (!(val.custom_regex == void 0) && !sdIsString(val.custom_regex)) { throw new BoxSdkError({ message: 'Expecting string for "custom_regex" of type "SignRequestSignerInputCustomValidationInput"', }); } const customRegex: undefined | string = val.custom_regex == void 0 ? void 0 : val.custom_regex; if ( !(val.custom_error_message == void 0) && !sdIsString(val.custom_error_message) ) { throw new BoxSdkError({ message: 'Expecting string for "custom_error_message" of type "SignRequestSignerInputCustomValidationInput"', }); } const customErrorMessage: undefined | string = val.custom_error_message == void 0 ? void 0 : val.custom_error_message; return { validationType: validationType, customRegex: customRegex, customErrorMessage: customErrorMessage, } satisfies SignRequestSignerInputCustomValidationInput; }