UNPKG

box-node-sdk

Version:

Official SDK for Box Platform APIs

87 lines (86 loc) 3.09 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 interface RealtimeServer { /** * The value will always be `realtime_server`. */ readonly type?: string; /** * The URL for the server. */ readonly url?: string; /** * The time in minutes for which this server is available. */ readonly ttl?: string; /** * The maximum number of retries this server will * allow before a new long poll should be started by * getting a [new list of server](#options-events). */ readonly maxRetries?: string; /** * The maximum number of seconds without a response * after which you should retry the long poll connection. * * This helps to overcome network issues where the long * poll looks to be working but no packages are coming * through. */ readonly retryTimeout?: number; readonly rawData?: SerializedData; } export function serializeRealtimeServer(val: RealtimeServer): SerializedData { return { ['type']: val.type, ['url']: val.url, ['ttl']: val.ttl, ['max_retries']: val.maxRetries, ['retry_timeout']: val.retryTimeout, }; } export function deserializeRealtimeServer(val: SerializedData): RealtimeServer { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "RealtimeServer"' }); } if (!(val.type == void 0) && !sdIsString(val.type)) { throw new BoxSdkError({ message: 'Expecting string for "type" of type "RealtimeServer"', }); } const type: undefined | string = val.type == void 0 ? void 0 : val.type; if (!(val.url == void 0) && !sdIsString(val.url)) { throw new BoxSdkError({ message: 'Expecting string for "url" of type "RealtimeServer"', }); } const url: undefined | string = val.url == void 0 ? void 0 : val.url; if (!(val.ttl == void 0) && !sdIsString(val.ttl)) { throw new BoxSdkError({ message: 'Expecting string for "ttl" of type "RealtimeServer"', }); } const ttl: undefined | string = val.ttl == void 0 ? void 0 : val.ttl; if (!(val.max_retries == void 0) && !sdIsString(val.max_retries)) { throw new BoxSdkError({ message: 'Expecting string for "max_retries" of type "RealtimeServer"', }); } const maxRetries: undefined | string = val.max_retries == void 0 ? void 0 : val.max_retries; if (!(val.retry_timeout == void 0) && !sdIsNumber(val.retry_timeout)) { throw new BoxSdkError({ message: 'Expecting number for "retry_timeout" of type "RealtimeServer"', }); } const retryTimeout: undefined | number = val.retry_timeout == void 0 ? void 0 : val.retry_timeout; return { type: type, url: url, ttl: ttl, maxRetries: maxRetries, retryTimeout: retryTimeout, } satisfies RealtimeServer; }