@wikipathways/cxml
Version:
Advanced schema-aware streaming XML parser
36 lines • 5.14 kB
JavaScript
;
// 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==