UNPKG

@sap-cloud-sdk/odata-v4

Version:

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

59 lines 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultDeSerializers = void 0; const internal_1 = require("@sap-cloud-sdk/odata-common/internal"); const util_1 = require("@sap-cloud-sdk/util"); const converters_1 = require("./converters"); /** * Default (de-)serializers without `null` and `undefined` handling. */ const defaultDeSerializersRaw = { ...internal_1.defaultDeSerializersRaw, 'Edm.Date': { deserialize: converters_1.deserializeDateToMoment, serialize: converters_1.serializeToDate, serializeToUri: (value, serialize) => serialize(value) }, 'Edm.DateTimeOffset': { deserialize: converters_1.deserializeDateTimeOffsetToMoment, serialize: (value, precision) => (0, converters_1.serializeToDateTimeOffset)(value, precision), serializeToUri: (value, serialize) => serialize(value) }, 'Edm.Duration': { deserialize: converters_1.deserializeDurationToMoment, serialize: converters_1.serializeToDuration, serializeToUri: (value, serialize) => `duration'${serialize(value)}'` }, 'Edm.TimeOfDay': { deserialize: converters_1.deserializeToTime, serialize: converters_1.serializeToTime, serializeToUri: (value, serialize) => serialize(value) }, 'Edm.Enum': { deserialize: util_1.identity, serialize: util_1.identity, serializeToUri: (value, serialize) => (0, internal_1.convertToUriForEdmString)(serialize(value)) }, /* DeSerializers with v4 specific URI serializer defaults. */ 'Edm.Decimal': { deserialize: internal_1.defaultDeSerializersRaw['Edm.Decimal'].deserialize, serialize: value => { const primitiveNumber = typeof value === 'number' ? value : value.toNumber(); if (primitiveNumber <= Number.MAX_SAFE_INTEGER && primitiveNumber >= Number.MIN_SAFE_INTEGER) { return primitiveNumber; } return internal_1.defaultDeSerializersRaw['Edm.Decimal'].serialize(value); }, serializeToUri: (value, serialize) => String(serialize(value)) }, 'Edm.Guid': { ...internal_1.defaultDeSerializersRaw['Edm.Guid'], serializeToUri: (value, serialize) => serialize(value) } }; /** * The default (de-)serializers. */ exports.defaultDeSerializers = (0, internal_1.wrapDefaultDeSerializers)(defaultDeSerializersRaw); //# sourceMappingURL=default-de-serializers.js.map