UNPKG

isoxml

Version:

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

58 lines (57 loc) 1.65 kB
import { TAGS } from './constants'; import { registerEntityClass } from '../classRegistry'; import { fromXML, toXML } from '../utils'; export var AllocationStampTypeEnum; (function (AllocationStampTypeEnum) { AllocationStampTypeEnum["Planned"] = "1"; AllocationStampTypeEnum["EffectiveRealized"] = "4"; })(AllocationStampTypeEnum || (AllocationStampTypeEnum = {})); 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 }, }; export class AllocationStamp { constructor(attributes, isoxmlManager) { this.attributes = attributes; this.isoxmlManager = isoxmlManager; this.tag = TAGS.AllocationStamp; } static fromXML(xml, isoxmlManager, internalId, targetClass = AllocationStamp) { return fromXML(xml, isoxmlManager, targetClass, ATTRIBUTES, CHILD_TAGS, internalId); } toXML() { return toXML(this, ATTRIBUTES, CHILD_TAGS); } } registerEntityClass('main', TAGS.AllocationStamp, AllocationStamp);