UNPKG

@wikipathways/cxml

Version:

Advanced schema-aware streaming XML parser

29 lines 4.17 kB
"use strict"; // This file is part of cxml, copyright (c) 2016 BusFaster Ltd. // Released under the MIT license, see LICENSE. Object.defineProperty(exports, "__esModule", { value: true }); var MemberRef = /** @class */ (function () { function MemberRef(member, min, max) { this.member = member; this.min = min; this.max = max; } MemberRef.parseSpec = function (spec, namespace, proxy) { var flags = spec[1]; var member; if (typeof (spec[0]) == 'number') member = namespace.memberByNum(spec[0]); else member = spec[0]; var ref = new MemberRef(member, (flags & 1 /* optional */) ? 0 : 1, (flags & 2 /* array */) ? Infinity : 1); ref.safeName = spec[2] || member.safeName; if (member.isSubstituted) proxy = ref; if (proxy && ref.max > 1) ref.proxy = proxy; return (ref); }; return MemberRef; }()); exports.MemberRef = MemberRef; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtYmVyUmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3htbC9NZW1iZXJSZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUErRDtBQUMvRCwrQ0FBK0M7O0FBYS9DO0lBQ0MsbUJBQVksTUFBa0IsRUFBRSxHQUFXLEVBQUUsR0FBVztRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLENBQUM7SUFFTSxtQkFBUyxHQUFoQixVQUFpQixJQUFnQixFQUFFLFNBQW9CLEVBQUUsS0FBaUI7UUFDekUsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLElBQUksTUFBa0IsQ0FBQztRQUV2QixJQUFHLE9BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRO1lBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBVyxDQUFDLENBQUM7O1lBQzdFLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFlLENBQUM7UUFFcEMsSUFBTSxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQ3hCLE1BQU0sRUFDTixDQUFDLEtBQUssbUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3hDLENBQUMsS0FBSyxnQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDNUMsQ0FBQztRQUVGLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFFMUMsSUFBRyxNQUFNLENBQUMsYUFBYTtZQUFFLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDckMsSUFBRyxLQUFLLElBQUksR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQUUsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFM0MsT0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQVVGLGdCQUFDO0FBQUQsQ0FBQyxBQXBDRCxJQW9DQztBQXBDWSw4QkFBUyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGN4bWwsIGNvcHlyaWdodCAoYykgMjAxNiBCdXNGYXN0ZXIgTHRkLlxuLy8gUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLCBzZWUgTElDRU5TRS5cblxuaW1wb3J0IHtOYW1lc3BhY2V9IGZyb20gJy4vTmFtZXNwYWNlJztcbmltcG9ydCB7TWVtYmVyU3BlY30gZnJvbSAnLi9NZW1iZXJTcGVjJztcblxuLyoqIFR1cGxlOiBtZW1iZXIgSUQsIGZsYWdzLCBuYW1lICovXG5leHBvcnQgdHlwZSBSYXdSZWZTcGVjID0gWyBudW1iZXIgfCBNZW1iZXJTcGVjLCBudW1iZXIsIHN0cmluZyBdO1xuXG5leHBvcnQgY29uc3QgZW51bSBNZW1iZXJSZWZGbGFnIHtcblx0b3B0aW9uYWwgPSAxLFxuXHRhcnJheSA9IDJcbn1cblxuZXhwb3J0IGNsYXNzIE1lbWJlclJlZiB7XG5cdGNvbnN0cnVjdG9yKG1lbWJlcjogTWVtYmVyU3BlYywgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG5cdFx0dGhpcy5tZW1iZXIgPSBtZW1iZXI7XG5cdFx0dGhpcy5taW4gPSBtaW47XG5cdFx0dGhpcy5tYXggPSBtYXg7XG5cdH1cblxuXHRzdGF0aWMgcGFyc2VTcGVjKHNwZWM6IFJhd1JlZlNwZWMsIG5hbWVzcGFjZTogTmFtZXNwYWNlLCBwcm94eT86IE1lbWJlclJlZikge1xuXHRcdHZhciBmbGFncyA9IHNwZWNbMV07XG5cdFx0dmFyIG1lbWJlcjogTWVtYmVyU3BlYztcblxuXHRcdGlmKHR5cGVvZihzcGVjWzBdKSA9PSAnbnVtYmVyJykgbWVtYmVyID0gbmFtZXNwYWNlLm1lbWJlckJ5TnVtKHNwZWNbMF0gYXMgbnVtYmVyKTtcblx0XHRlbHNlIG1lbWJlciA9IHNwZWNbMF0gYXMgTWVtYmVyU3BlYztcblxuXHRcdGNvbnN0IHJlZiA9IG5ldyBNZW1iZXJSZWYoXG5cdFx0XHRtZW1iZXIsXG5cdFx0XHQoZmxhZ3MgJiBNZW1iZXJSZWZGbGFnLm9wdGlvbmFsKSA/IDAgOiAxLFxuXHRcdFx0KGZsYWdzICYgTWVtYmVyUmVmRmxhZy5hcnJheSkgPyBJbmZpbml0eSA6IDFcblx0XHQpO1xuXG5cdFx0cmVmLnNhZmVOYW1lID0gc3BlY1syXSB8fCBtZW1iZXIuc2FmZU5hbWU7XG5cblx0XHRpZihtZW1iZXIuaXNTdWJzdGl0dXRlZCkgcHJveHkgPSByZWY7XG5cdFx0aWYocHJveHkgJiYgcmVmLm1heCA+IDEpIHJlZi5wcm94eSA9IHByb3h5O1xuXG5cdFx0cmV0dXJuKHJlZik7XG5cdH1cblxuXHRtZW1iZXI6IE1lbWJlclNwZWM7XG5cdG1pbjogbnVtYmVyO1xuXHRtYXg6IG51bWJlcjtcblxuXHRwcmVmaXg6IHN0cmluZztcblx0c2FmZU5hbWU6IHN0cmluZztcblxuXHRwcm94eTogTWVtYmVyUmVmO1xufVxuIl19