UNPKG

isoxml

Version:

JavaScript library to parse and generate ISOXML (ISO11783-10) files

68 lines (67 loc) 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Time = exports.TimeTypeEnum = void 0; const constants_1 = require("./constants"); const classRegistry_1 = require("../classRegistry"); const utils_1 = require("../utils"); var TimeTypeEnum; (function (TimeTypeEnum) { TimeTypeEnum["Planned"] = "1"; TimeTypeEnum["Preliminary"] = "2"; TimeTypeEnum["Effective"] = "4"; TimeTypeEnum["Ineffective"] = "5"; TimeTypeEnum["Repair"] = "6"; TimeTypeEnum["Clearing"] = "7"; TimeTypeEnum["PoweredDown"] = "8"; })(TimeTypeEnum || (exports.TimeTypeEnum = TimeTypeEnum = {})); const ATTRIBUTES = { A: { name: 'Start', type: 'xs:dateTime', isPrimaryId: false, isOptional: false, isOnlyV4: false, }, B: { name: 'Stop', type: 'xs:dateTime', isPrimaryId: false, isOptional: true, isOnlyV4: false, }, C: { name: 'Duration', type: 'xs:unsignedLong', isPrimaryId: false, isOptional: true, isOnlyV4: false, minValue: 0, maxValue: 4294967294, }, D: { name: 'Type', type: 'xs:NMTOKEN', isPrimaryId: false, isOptional: false, isOnlyV4: false, }, }; const CHILD_TAGS = { PTN: { name: 'Position', isOnlyV4: false }, DLV: { name: 'DataLogValue', isOnlyV4: false }, }; class Time { constructor(attributes, isoxmlManager) { this.attributes = attributes; this.isoxmlManager = isoxmlManager; this.tag = constants_1.TAGS.Time; } static fromXML(xml, isoxmlManager, internalId, targetClass = Time) { return (0, utils_1.fromXML)(xml, isoxmlManager, targetClass, ATTRIBUTES, CHILD_TAGS, internalId); } toXML() { return (0, utils_1.toXML)(this, ATTRIBUTES, CHILD_TAGS); } } exports.Time = Time; (0, classRegistry_1.registerEntityClass)('main', constants_1.TAGS.Time, Time);