UNPKG

@sap-cloud-sdk/odata-v4

Version:

SAP Cloud SDK for JavaScript common functions of OData client generator and OpenAPI clint generator.

25 lines (24 loc) 2.87 kB
import type { Time, CustomOrDefaultType as CustomOrDefaultTypeCommon } from '@sap-cloud-sdk/odata-common'; import type BigNumber from 'bignumber.js'; import type moment from 'moment'; import type { DeSerializers } from './de-serializers'; import type { DefaultDeSerializers } from './default-de-serializers'; /** * Get a complete set of (de-)serializers, that consists of the given partial custom (de-)serializers and default (de-)serializers (aka. default (de-)serializers merged with custom (de-)serializers). * The custom (de-)serializers are merged with the default (de-)serializers, while custom (de-)serializers take precedence. * @param customDeSerializers - Custom (de-)serialization functions. * @returns A full set of (de-)serialization functions, that combines custom and default (de-)serializers. */ export declare function mergeDefaultDeSerializersWith<BinaryT = string, BooleanT = boolean, ByteT = number, DecimalT = BigNumber, DoubleT = number, FloatT = number, Int16T = number, Int32T = number, Int64T = BigNumber, GuidT = string, SByteT = number, SingleT = number, StringT = string, AnyT = any, DateT = moment.Moment, DateTimeOffsetT = moment.Moment, DurationT = moment.Duration, TimeOfDayT = Time, EnumT = any>(customDeSerializers: Partial<DeSerializers<BinaryT, BooleanT, ByteT, DecimalT, DoubleT, FloatT, Int16T, Int32T, Int64T, GuidT, SByteT, SingleT, StringT, AnyT, DateT, DateTimeOffsetT, DurationT, TimeOfDayT, EnumT>>): CustomDeSerializers<typeof customDeSerializers>; /** * Infers the deserialized type for an EDM type, based on custom (de-)serializers. * If the custom (de-)serializers specify a type for the given EDM type, this type is inferred. * Otherwise the given DefaultType is used. * @typeParam CustomDeSerializerT - Type of the custom (de-)serializers. * @typeParam EdmT - The EDM type to infer the type for. */ export type CustomOrDefaultType<CustomDeSerializerT, EdmT> = CustomOrDefaultTypeCommon<CustomDeSerializerT, EdmT, DefaultDeSerializers>; /** * Type of the full set of (de-)serialization functions, that include custom (de-)serializers (aka. default (de-)serializers type merged with custom (de-)serializers type). */ export type CustomDeSerializers<T> = DeSerializers<CustomOrDefaultType<T, 'Edm.Binary'>, CustomOrDefaultType<T, 'Edm.Boolean'>, CustomOrDefaultType<T, 'Edm.Byte'>, CustomOrDefaultType<T, 'Edm.Decimal'>, CustomOrDefaultType<T, 'Edm.Double'>, CustomOrDefaultType<T, 'Edm.Float'>, CustomOrDefaultType<T, 'Edm.Int16'>, CustomOrDefaultType<T, 'Edm.Int32'>, CustomOrDefaultType<T, 'Edm.Int64'>, CustomOrDefaultType<T, 'Edm.Guid'>, CustomOrDefaultType<T, 'Edm.SByte'>, CustomOrDefaultType<T, 'Edm.Single'>, CustomOrDefaultType<T, 'Edm.String'>, CustomOrDefaultType<T, 'Edm.Any'>, CustomOrDefaultType<T, 'Edm.DateTime'>, CustomOrDefaultType<T, 'Edm.DateTimeOffset'>, CustomOrDefaultType<T, 'Edm.Time'>>;