UNPKG

@knora/api

Version:

JavaScript library that handles API requests to Knora

40 lines 1.92 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); var json2typescript_1 = require("json2typescript"); var Constants_1 = require("../Constants"); var utils_1 = require("../../../util/utils"); var DecimalConverter = /** @class */ (function () { function DecimalConverter() { } DecimalConverter.prototype.serialize = function (decimal) { return { "@type": Constants_1.Constants.XsdDecimal, "@value": decimal.toPrecision() }; }; DecimalConverter.prototype.deserialize = function (item) { if (Array.isArray(item)) throw new Error("Expected a single element"); if (!item.hasOwnProperty("@type") || item["@type"] !== Constants_1.Constants.XsdDecimal) throw new Error("Not of expected type xsd:decimal"); // xsd:decimal is encoded as a string if (item.hasOwnProperty("@value") && utils_1.CustomConverterUtils.isString(item["@value"])) { return Number(item["@value"]); } else { throw new Error("No @value given for decimal value"); } }; DecimalConverter = __decorate([ json2typescript_1.JsonConverter ], DecimalConverter); return DecimalConverter; }()); exports.DecimalConverter = DecimalConverter; //# sourceMappingURL=decimal-converter.js.map