UNPKG

@dasch-swiss/dsp-js

Version:
33 lines 1.12 kB
import { __decorate } from "tslib"; import { JsonConverter } from 'json2typescript'; import { CustomConverterUtils } from '../../../util/utils'; import { Constants } from '../Constants'; /** * @category Internal */ let DecimalConverter = class DecimalConverter { serialize(decimal) { return { '@type': Constants.XsdDecimal, '@value': decimal.toPrecision(), }; } deserialize(item) { if (Array.isArray(item)) throw new Error('Expected a single element'); if (!item.hasOwnProperty('@type') || item['@type'] !== Constants.XsdDecimal) throw new Error('Not of expected type xsd:decimal'); // xsd:decimal is encoded as a string if (item.hasOwnProperty('@value') && CustomConverterUtils.isString(item['@value'])) { return Number(item['@value']); } else { throw new Error('No @value given for decimal value'); } } }; DecimalConverter = __decorate([ JsonConverter ], DecimalConverter); export { DecimalConverter }; //# sourceMappingURL=decimal-converter.js.map