UNPKG

@wikipathways/cxml

Version:

Advanced schema-aware streaming XML parser

36 lines 5.14 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 Context_1 = require("../xml/Context"); /** Context for namespaces defined by calling register(). */ exports.defaultContext = new Context_1.Context(); /** Mark a namespace as seen. */ function mark(exportObj, namespace) { if (!exportObj._cxml) { exportObj._cxml = [null]; exports.defaultContext.markNamespace(exportObj); } if (namespace) exportObj._cxml[0] = namespace; } /** Register a namespace. * This is called from JavaScript autogenerated by the cxsd compiler. */ function register(name, exportObject, importSpecList, exportTypeNameList, rawTypeSpecList, rawMemberSpecList) { var namespace = exports.defaultContext.registerNamespace(name).init(importSpecList); exports.defaultContext.registerTypes(namespace, exportTypeNameList, rawTypeSpecList); exports.defaultContext.registerMembers(namespace, rawMemberSpecList); mark(exportObject, namespace); for (var _i = 0, importSpecList_1 = importSpecList; _i < importSpecList_1.length; _i++) { var spec = importSpecList_1[_i]; mark(spec[0]); } exports.defaultContext.process(); } exports.register = register; /** Remove temporary structures needed to define new handlers and initialize the parser. */ function init(strict) { exports.defaultContext.cleanPlaceholders(strict); } exports.init = init; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSlMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0ZXIvSlMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUErRDtBQUMvRCwrQ0FBK0M7O0FBSy9DLDBDQUF1QztBQUV2Qyw0REFBNEQ7QUFDakQsUUFBQSxjQUFjLEdBQUcsSUFBSSxpQkFBTyxFQUFFLENBQUM7QUFFMUMsZ0NBQWdDO0FBRWhDLFNBQVMsSUFBSSxDQUFDLFNBQXdCLEVBQUUsU0FBcUI7SUFDNUQsSUFBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7UUFDcEIsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLHNCQUFjLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ3hDO0lBRUQsSUFBRyxTQUFTO1FBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7QUFDOUMsQ0FBQztBQUVEO3lFQUN5RTtBQUV6RSxTQUFnQixRQUFRLENBQ3ZCLElBQVksRUFDWixZQUEyQixFQUMzQixjQUE0QixFQUM1QixrQkFBNEIsRUFDNUIsZUFBOEIsRUFDOUIsaUJBQWtDO0lBRWxDLElBQUksU0FBUyxHQUFHLHNCQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTVFLHNCQUFjLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM3RSxzQkFBYyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUU3RCxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRTlCLEtBQWdCLFVBQWMsRUFBZCxpQ0FBYyxFQUFkLDRCQUFjLEVBQWQsSUFBYztRQUExQixJQUFJLElBQUksdUJBQUE7UUFBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQUE7SUFFOUMsc0JBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBbEJELDRCQWtCQztBQUVELDJGQUEyRjtBQUUzRixTQUFnQixJQUFJLENBQUMsTUFBZ0I7SUFDcEMsc0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRkQsb0JBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiBjeG1sLCBjb3B5cmlnaHQgKGMpIDIwMTYgQnVzRmFzdGVyIEx0ZC5cbi8vIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSwgc2VlIExJQ0VOU0UuXG5cbmltcG9ydCB7TmFtZXNwYWNlLCBNb2R1bGVFeHBvcnRzLCBJbXBvcnRTcGVjfSBmcm9tICcuLi94bWwvTmFtZXNwYWNlJztcbmltcG9ydCB7UmF3TWVtYmVyU3BlY30gZnJvbSAnLi4veG1sL01lbWJlclNwZWMnO1xuaW1wb3J0IHtSYXdUeXBlU3BlY30gZnJvbSAnLi4veG1sL1R5cGVTcGVjJztcbmltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4veG1sL0NvbnRleHQnO1xuXG4vKiogQ29udGV4dCBmb3IgbmFtZXNwYWNlcyBkZWZpbmVkIGJ5IGNhbGxpbmcgcmVnaXN0ZXIoKS4gKi9cbmV4cG9ydCB2YXIgZGVmYXVsdENvbnRleHQgPSBuZXcgQ29udGV4dCgpO1xuXG4vKiogTWFyayBhIG5hbWVzcGFjZSBhcyBzZWVuLiAqL1xuXG5mdW5jdGlvbiBtYXJrKGV4cG9ydE9iajogTW9kdWxlRXhwb3J0cywgbmFtZXNwYWNlPzogTmFtZXNwYWNlKSB7XG5cdGlmKCFleHBvcnRPYmouX2N4bWwpIHtcblx0XHRleHBvcnRPYmouX2N4bWwgPSBbbnVsbF07XG5cdFx0ZGVmYXVsdENvbnRleHQubWFya05hbWVzcGFjZShleHBvcnRPYmopO1xuXHR9XG5cblx0aWYobmFtZXNwYWNlKSBleHBvcnRPYmouX2N4bWxbMF0gPSBuYW1lc3BhY2U7XG59XG5cbi8qKiBSZWdpc3RlciBhIG5hbWVzcGFjZS5cbiAgKiBUaGlzIGlzIGNhbGxlZCBmcm9tIEphdmFTY3JpcHQgYXV0b2dlbmVyYXRlZCBieSB0aGUgY3hzZCBjb21waWxlci4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyKFxuXHRuYW1lOiBzdHJpbmcsXG5cdGV4cG9ydE9iamVjdDogTW9kdWxlRXhwb3J0cyxcblx0aW1wb3J0U3BlY0xpc3Q6IEltcG9ydFNwZWNbXSxcblx0ZXhwb3J0VHlwZU5hbWVMaXN0OiBzdHJpbmdbXSxcblx0cmF3VHlwZVNwZWNMaXN0OiBSYXdUeXBlU3BlY1tdLFxuXHRyYXdNZW1iZXJTcGVjTGlzdDogUmF3TWVtYmVyU3BlY1tdXG4pIHtcblx0dmFyIG5hbWVzcGFjZSA9IGRlZmF1bHRDb250ZXh0LnJlZ2lzdGVyTmFtZXNwYWNlKG5hbWUpLmluaXQoaW1wb3J0U3BlY0xpc3QpO1xuXG5cdGRlZmF1bHRDb250ZXh0LnJlZ2lzdGVyVHlwZXMobmFtZXNwYWNlLCBleHBvcnRUeXBlTmFtZUxpc3QsIHJhd1R5cGVTcGVjTGlzdCk7XG5cdGRlZmF1bHRDb250ZXh0LnJlZ2lzdGVyTWVtYmVycyhuYW1lc3BhY2UsIHJhd01lbWJlclNwZWNMaXN0KTtcblxuXHRtYXJrKGV4cG9ydE9iamVjdCwgbmFtZXNwYWNlKTtcblxuXHRmb3IodmFyIHNwZWMgb2YgaW1wb3J0U3BlY0xpc3QpIG1hcmsoc3BlY1swXSk7XG5cblx0ZGVmYXVsdENvbnRleHQucHJvY2VzcygpO1xufVxuXG4vKiogUmVtb3ZlIHRlbXBvcmFyeSBzdHJ1Y3R1cmVzIG5lZWRlZCB0byBkZWZpbmUgbmV3IGhhbmRsZXJzIGFuZCBpbml0aWFsaXplIHRoZSBwYXJzZXIuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0KHN0cmljdD86IGJvb2xlYW4pIHtcblx0ZGVmYXVsdENvbnRleHQuY2xlYW5QbGFjZWhvbGRlcnMoc3RyaWN0KTtcbn1cbiJdfQ==