@dasch-swiss/dsp-js
Version:
TypeScript client library for DSP-API
33 lines • 1.12 kB
JavaScript
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