UNPKG

@sap-cloud-sdk/odata-common

Version:

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

77 lines 2.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateGuid = validateGuid; exports.deserializeToBigNumber = deserializeToBigNumber; exports.serializeFromBigNumber = serializeFromBigNumber; exports.deserializeToNumber = deserializeToNumber; exports.serializeFromNumber = serializeFromNumber; const bignumber_js_1 = __importDefault(require("bignumber.js")); /** * @internal * Check if string is guid format and throws exception if not. * @param value - string to be checked * @returns string */ function validateGuid(value) { const guids = /[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}/.exec(value); if (!guids || !guids.length) { throw new Error(`Failed to parse GUID from '${value}'.`); } return guids[0]; } /** * @internal */ function deserializeToBigNumber(value) { return new bignumber_js_1.default(value); } /** * @internal */ function serializeFromBigNumber(value) { return value.toString(); } /** * @internal */ function deserializeToNumber(value) { if (typeof value === 'number') { return value; } if (value.toLowerCase() === 'inf') { return Number.POSITIVE_INFINITY; } if (value.toLowerCase() === '-inf') { return Number.NEGATIVE_INFINITY; } if (value.toLowerCase() === 'nan') { return Number.NaN; } const num = Number(value); if (Number.isNaN(num)) { throw new Error(`EDM->TS: Cannot create number from input "${value}"`); } return num; } /** * @internal */ function serializeFromNumber(value) { if (value === Number.POSITIVE_INFINITY) { return 'INF'; } if (value === Number.NEGATIVE_INFINITY) { return '-INF'; } if (Number.isNaN(value)) { return 'NaN'; } if (typeof value === 'number') { return value; } throw new Error(`TS->EDM: Cannot create number from input "${value}"`); } //# sourceMappingURL=payload-value-converter.js.map