UNPKG

microdata-rdf-streaming-parser

Version:
29 lines 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ItemPropertyHandlerNumber = void 0; const Util_1 = require("../Util"); /** * Handler for an item property with a number attribute. */ class ItemPropertyHandlerNumber { constructor(tagName, attributeName) { this.tagName = tagName; this.attributeName = attributeName; } canHandle(tagName, attributes) { return this.tagName === tagName && this.attributeName in attributes; } getObject(attributes, util, itemScope) { const value = attributes[this.attributeName]; let datatype; if (!Number.isNaN(Number.parseInt(value, 10)) && !value.includes('.')) { datatype = `${Util_1.Util.XSD}integer`; } else if (!Number.isNaN(Number.parseFloat(value))) { datatype = `${Util_1.Util.XSD}double`; } return util.dataFactory.literal(value, datatype && util.dataFactory.namedNode(datatype)); } } exports.ItemPropertyHandlerNumber = ItemPropertyHandlerNumber; //# sourceMappingURL=ItemPropertyHandlerNumber.js.map