@loaders.gl/xml 3.4.0-alpha.1 → 3.4.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +419 -196
- package/dist/es5/html-loader.js +57 -0
- package/dist/es5/html-loader.js.map +1 -0
- package/dist/es5/index.js +33 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/{parse-xml.js → parsers/parse-xml.js} +7 -7
- package/dist/es5/lib/parsers/parse-xml.js.map +1 -0
- package/dist/es5/lib/{parser/xml-parser.js → parsers/streaming-xml-parser.js} +10 -15
- package/dist/es5/lib/parsers/streaming-xml-parser.js.map +1 -0
- package/dist/es5/lib/xml-utils/uncapitalize.js +32 -0
- package/dist/es5/lib/xml-utils/uncapitalize.js.map +1 -0
- package/dist/es5/lib/xml-utils/xml-utils.js +23 -0
- package/dist/es5/lib/xml-utils/xml-utils.js.map +1 -0
- package/dist/es5/sax-ts/sax.js +1 -18
- package/dist/es5/sax-ts/sax.js.map +1 -1
- package/dist/es5/xml-loader.js +44 -12
- package/dist/es5/xml-loader.js.map +1 -1
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/html-loader.js +27 -0
- package/dist/esm/html-loader.js.map +1 -0
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/parsers/parse-xml.js +22 -0
- package/dist/esm/lib/parsers/parse-xml.js.map +1 -0
- package/dist/esm/lib/{parser/xml-parser.js → parsers/streaming-xml-parser.js} +3 -8
- package/dist/esm/lib/parsers/streaming-xml-parser.js.map +1 -0
- package/dist/esm/lib/xml-utils/uncapitalize.js +17 -0
- package/dist/esm/lib/xml-utils/uncapitalize.js.map +1 -0
- package/dist/esm/lib/xml-utils/xml-utils.js +14 -0
- package/dist/esm/lib/xml-utils/xml-utils.js.map +1 -0
- package/dist/esm/sax-ts/sax.js +1 -19
- package/dist/esm/sax-ts/sax.js.map +1 -1
- package/dist/esm/xml-loader.js +38 -6
- package/dist/esm/xml-loader.js.map +1 -1
- package/dist/html-loader.d.ts +11 -0
- package/dist/html-loader.d.ts.map +1 -0
- package/dist/html-loader.js +40 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/lib/parsers/parse-xml.d.ts +12 -0
- package/dist/lib/parsers/parse-xml.d.ts.map +1 -0
- package/dist/lib/{parse-xml.js → parsers/parse-xml.js} +7 -8
- package/dist/lib/{parser/xml-parser.d.ts → parsers/streaming-xml-parser.d.ts} +6 -2
- package/dist/lib/parsers/streaming-xml-parser.d.ts.map +1 -0
- package/dist/lib/{parser/xml-parser.js → parsers/streaming-xml-parser.js} +6 -6
- package/dist/lib/xml-utils/uncapitalize.d.ts +13 -0
- package/dist/lib/xml-utils/uncapitalize.d.ts.map +1 -0
- package/dist/lib/xml-utils/uncapitalize.js +32 -0
- package/dist/lib/xml-utils/xml-utils.d.ts +11 -0
- package/dist/lib/xml-utils/xml-utils.d.ts.map +1 -0
- package/dist/lib/xml-utils/xml-utils.js +30 -0
- package/dist/sax-ts/sax.js +1 -1
- package/dist/xml-loader.d.ts +21 -3
- package/dist/xml-loader.d.ts.map +1 -1
- package/dist/xml-loader.js +41 -5
- package/package.json +5 -5
- package/src/html-loader.ts +46 -0
- package/src/index.ts +16 -0
- package/src/lib/{parse-xml.ts → parsers/parse-xml.ts} +9 -6
- package/src/lib/{parser/xml-parser.ts → parsers/streaming-xml-parser.ts} +5 -3
- package/src/lib/xml-utils/uncapitalize.ts +31 -0
- package/src/lib/xml-utils/xml-utils.ts +27 -0
- package/src/xml-loader.ts +63 -6
- package/dist/es5/lib/parse-xml.js.map +0 -1
- package/dist/es5/lib/parser/xml-parser.js.map +0 -1
- package/dist/esm/lib/parse-xml.js +0 -24
- package/dist/esm/lib/parse-xml.js.map +0 -1
- package/dist/esm/lib/parser/xml-parser.js.map +0 -1
- package/dist/lib/parse-xml.d.ts +0 -9
- package/dist/lib/parse-xml.d.ts.map +0 -1
- package/dist/lib/parser/xml-parser.d.ts.map +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.HTMLLoader = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
12
|
+
var _xmlLoader = require("./xml-loader");
|
|
13
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
|
+
var HTMLLoader = _objectSpread(_objectSpread({}, _xmlLoader.XMLLoader), {}, {
|
|
16
|
+
name: 'HTML',
|
|
17
|
+
id: 'html',
|
|
18
|
+
extensions: ['html', 'htm'],
|
|
19
|
+
mimeTypes: ['text/html'],
|
|
20
|
+
testText: testHTMLFile,
|
|
21
|
+
parse: function () {
|
|
22
|
+
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
23
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
24
|
+
while (1) switch (_context.prev = _context.next) {
|
|
25
|
+
case 0:
|
|
26
|
+
return _context.abrupt("return", _parseTextSync(new TextDecoder().decode(arrayBuffer), options));
|
|
27
|
+
case 1:
|
|
28
|
+
case "end":
|
|
29
|
+
return _context.stop();
|
|
30
|
+
}
|
|
31
|
+
}, _callee);
|
|
32
|
+
}));
|
|
33
|
+
function parse(_x, _x2) {
|
|
34
|
+
return _parse.apply(this, arguments);
|
|
35
|
+
}
|
|
36
|
+
return parse;
|
|
37
|
+
}(),
|
|
38
|
+
parseTextSync: function parseTextSync(text, options) {
|
|
39
|
+
return _parseTextSync(text, options);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
exports.HTMLLoader = HTMLLoader;
|
|
43
|
+
function testHTMLFile(text) {
|
|
44
|
+
return text.startsWith('<html');
|
|
45
|
+
}
|
|
46
|
+
function _parseTextSync(text, options) {
|
|
47
|
+
options = (0, _loaderUtils.mergeLoaderOptions)(options, {
|
|
48
|
+
xml: {
|
|
49
|
+
parser: 'fast-xml-parser'
|
|
50
|
+
},
|
|
51
|
+
_fastXML: {
|
|
52
|
+
htmlEntities: true
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return _xmlLoader.XMLLoader.parseTextSync(text, options);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=html-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-loader.js","names":["_loaderUtils","require","_xmlLoader","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","HTMLLoader","XMLLoader","name","id","extensions","mimeTypes","testText","testHTMLFile","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","options","wrap","_callee$","_context","prev","next","abrupt","parseTextSync","TextDecoder","decode","stop","_x","_x2","text","exports","startsWith","mergeLoaderOptions","xml","parser","_fastXML","htmlEntities"],"sources":["../../src/html-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {mergeLoaderOptions} from '@loaders.gl/loader-utils';\nimport {XMLLoader, XMLLoaderOptions} from './xml-loader';\n\nexport type HTMLLoaderOptions = XMLLoaderOptions;\n\n/**\n * Loader for HTML files\n * Essentially a copy of the XMLLoader with different mime types, file extensions and content tests.\n * This split enables applications can control whether they want HTML responses to be parsed by the XML loader or not.\n * This loader does not have any additional understanding of the structure of HTML or the document.\n */\nexport const HTMLLoader: LoaderWithParser = {\n ...XMLLoader,\n name: 'HTML',\n id: 'html',\n extensions: ['html', 'htm'],\n mimeTypes: ['text/html'],\n testText: testHTMLFile,\n parse: async (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) =>\n parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: XMLLoaderOptions) => parseTextSync(text, options)\n};\n\nfunction testHTMLFile(text: string): boolean {\n // TODO - There could be space first.\n return text.startsWith('<html');\n}\n\nfunction parseTextSync(text: string, options?: XMLLoaderOptions): any {\n // fast-xml-parser can recognize HTML entities\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md#htmlentities\n // https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/5.Entities.md\n options = mergeLoaderOptions(options, {\n xml: {\n parser: 'fast-xml-parser'\n },\n _fastXML: {\n htmlEntities: true\n }\n });\n\n return XMLLoader.parseTextSync(text, options);\n}\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAAyD,SAAAE,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAUlD,IAAMY,UAA4B,GAAAb,aAAA,CAAAA,aAAA,KACpCc,oBAAS;EACZC,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,MAAM;EACVC,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;EAC3BC,SAAS,EAAE,CAAC,WAAW,CAAC;EACxBC,QAAQ,EAAEC,YAAY;EACtBC,KAAK;IAAA,IAAAC,MAAA,OAAAC,kBAAA,CAAAd,OAAA,EAAAe,YAAA,CAAAf,OAAA,CAAAgB,IAAA,CAAE,SAAAC,QAAOC,WAAwB,EAAEC,OAA0B;MAAA,OAAAJ,YAAA,CAAAf,OAAA,CAAAoB,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WAChEC,cAAa,CAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACV,WAAW,CAAC,EAAEC,OAAO,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAO,IAAA;QAAA;MAAA,GAAAZ,OAAA;IAAA;IAAA,SAAAL,MAAAkB,EAAA,EAAAC,GAAA;MAAA,OAAAlB,MAAA,CAAAvB,KAAA,OAAAI,SAAA;IAAA;IAAA,OAAAkB,KAAA;EAAA;EAC/Dc,aAAa,EAAE,SAAAA,cAACM,IAAY,EAAEb,OAA0B;IAAA,OAAKO,cAAa,CAACM,IAAI,EAAEb,OAAO,CAAC;EAAA;AAAA,EAC1F;AAACc,OAAA,CAAA7B,UAAA,GAAAA,UAAA;AAEF,SAASO,YAAYA,CAACqB,IAAY,EAAW;EAE3C,OAAOA,IAAI,CAACE,UAAU,CAAC,OAAO,CAAC;AACjC;AAEA,SAASR,cAAaA,CAACM,IAAY,EAAEb,OAA0B,EAAO;EAIpEA,OAAO,GAAG,IAAAgB,+BAAkB,EAAChB,OAAO,EAAE;IACpCiB,GAAG,EAAE;MACHC,MAAM,EAAE;IACV,CAAC;IACDC,QAAQ,EAAE;MACRC,YAAY,EAAE;IAChB;EACF,CAAC,CAAC;EAEF,OAAOlC,oBAAS,CAACqB,aAAa,CAACM,IAAI,EAAEb,OAAO,CAAC;AAC/C"}
|
package/dist/es5/index.js
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "HTMLLoader", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _htmlLoader.HTMLLoader;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "SAXParser", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function get() {
|
|
@@ -15,6 +21,33 @@ Object.defineProperty(exports, "XMLLoader", {
|
|
|
15
21
|
return _xmlLoader.XMLLoader;
|
|
16
22
|
}
|
|
17
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "_uncapitalize", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _uncapitalize.uncapitalize;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "_uncapitalizeKeys", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _uncapitalize.uncapitalizeKeys;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "convertXMLFieldToArrayInPlace", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _xmlUtils.convertXMLFieldToArrayInPlace;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "convertXMLValueToArray", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _xmlUtils.convertXMLValueToArray;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
18
48
|
var _xmlLoader = require("./xml-loader");
|
|
49
|
+
var _htmlLoader = require("./html-loader");
|
|
19
50
|
var _sax = require("./sax-ts/sax");
|
|
51
|
+
var _xmlUtils = require("./lib/xml-utils/xml-utils");
|
|
52
|
+
var _uncapitalize = require("./lib/xml-utils/uncapitalize");
|
|
20
53
|
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// XMLLoader\n\nexport type {XMLLoaderOptions} from './xml-loader';\nexport {XMLLoader} from './xml-loader';\n\n// SAX\n\nexport type {SAXParserOptions as SAXParserOptions} from './sax-ts/sax';\nexport {SAXParser as SAXParser} from './sax-ts/sax';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_xmlLoader","require","_htmlLoader","_sax","_xmlUtils","_uncapitalize"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// XMLLoader\n\nexport type {XMLLoaderOptions} from './xml-loader';\nexport {XMLLoader} from './xml-loader';\n\n// HTMLLoader\n\nexport type {HTMLLoaderOptions} from './html-loader';\nexport {HTMLLoader} from './html-loader';\n\n// SAX\n\nexport type {SAXParserOptions as SAXParserOptions} from './sax-ts/sax';\nexport {SAXParser as SAXParser} from './sax-ts/sax';\n\n// Utilities\n\nexport {convertXMLValueToArray, convertXMLFieldToArrayInPlace} from './lib/xml-utils/xml-utils';\n\n// Experimental\n\nexport {\n uncapitalize as _uncapitalize,\n uncapitalizeKeys as _uncapitalizeKeys\n} from './lib/xml-utils/uncapitalize';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAAA,UAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,IAAA,GAAAF,OAAA;AAIA,IAAAG,SAAA,GAAAH,OAAA;AAIA,IAAAI,aAAA,GAAAJ,OAAA"}
|
|
@@ -4,24 +4,24 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.fastParseXML = fastParseXML;
|
|
8
8
|
exports.parseXMLInBatches = parseXMLInBatches;
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var
|
|
10
|
+
var _streamingXmlParser = require("./streaming-xml-parser");
|
|
11
11
|
var _fastXmlParser = require("fast-xml-parser");
|
|
12
12
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
13
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
function
|
|
14
|
+
function fastParseXML(text, options) {
|
|
15
15
|
var parser = new _fastXmlParser.XMLParser(_objectSpread({
|
|
16
16
|
ignoreAttributes: false,
|
|
17
17
|
attributeNamePrefix: ''
|
|
18
|
-
}, options
|
|
18
|
+
}, options));
|
|
19
19
|
var parsedXML = parser.parse(text);
|
|
20
20
|
return parsedXML;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var parser = new
|
|
22
|
+
function parseXMLInBatches(text) {
|
|
23
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
24
|
+
var parser = new _streamingXmlParser.StreamingXMLParser(_objectSpread(_objectSpread({}, options), {}, {
|
|
25
25
|
strict: true
|
|
26
26
|
}));
|
|
27
27
|
parser.write(text);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-xml.js","names":["_streamingXmlParser","require","_fastXmlParser","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","fastParseXML","text","options","parser","FastXMLParser","ignoreAttributes","attributeNamePrefix","parsedXML","parse","parseXMLInBatches","undefined","StreamingXMLParser","strict","write","close","result"],"sources":["../../../../src/lib/parsers/parse-xml.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {StreamingXMLParser} from './streaming-xml-parser';\nimport {XMLParser as FastXMLParser} from 'fast-xml-parser';\nimport type {X2jOptions} from 'fast-xml-parser';\n\n/** Type for passing through fast-xml-parser options */\nexport type FastXMLParserOptions = Partial<X2jOptions>;\n\nexport function fastParseXML(text: string, options: FastXMLParserOptions): any {\n const parser = new FastXMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: '',\n ...options\n });\n\n const parsedXML = parser.parse(text);\n\n return parsedXML;\n}\n\n/**\n * @todo Build a streaming XML parser based on sax-js\n * @param text\n * @param options\n * @returns\n */\nexport function parseXMLInBatches(text: string, options = {}): any {\n const parser = new StreamingXMLParser({\n ...options,\n strict: true\n });\n\n parser.write(text);\n parser.close();\n\n return parser.result;\n}\n"],"mappings":";;;;;;;;;AAEA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAA2D,SAAAE,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAMpD,SAASY,YAAYA,CAACC,IAAY,EAAEC,OAA6B,EAAO;EAC7E,IAAMC,MAAM,GAAG,IAAIC,wBAAa,CAAAjB,aAAA;IAC9BkB,gBAAgB,EAAE,KAAK;IACvBC,mBAAmB,EAAE;EAAE,GACpBJ,OAAO,EACV;EAEF,IAAMK,SAAS,GAAGJ,MAAM,CAACK,KAAK,CAACP,IAAI,CAAC;EAEpC,OAAOM,SAAS;AAClB;AAQO,SAASE,iBAAiBA,CAACR,IAAY,EAAqB;EAAA,IAAnBC,OAAO,GAAAZ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAoB,SAAA,GAAApB,SAAA,MAAG,CAAC,CAAC;EAC1D,IAAMa,MAAM,GAAG,IAAIQ,sCAAkB,CAAAxB,aAAA,CAAAA,aAAA,KAChCe,OAAO;IACVU,MAAM,EAAE;EAAI,GACZ;EAEFT,MAAM,CAACU,KAAK,CAACZ,IAAI,CAAC;EAClBE,MAAM,CAACW,KAAK,EAAE;EAEd,OAAOX,MAAM,CAACY,MAAM;AACtB"}
|
|
@@ -4,18 +4,17 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.StreamingXMLParser = void 0;
|
|
8
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _sax = require("../../sax-ts/sax");
|
|
12
12
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
13
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
function XMLParser(options) {
|
|
14
|
+
var StreamingXMLParser = function () {
|
|
15
|
+
function StreamingXMLParser(options) {
|
|
17
16
|
var _this = this;
|
|
18
|
-
(0, _classCallCheck2.default)(this,
|
|
17
|
+
(0, _classCallCheck2.default)(this, StreamingXMLParser);
|
|
19
18
|
(0, _defineProperty2.default)(this, "parser", void 0);
|
|
20
19
|
(0, _defineProperty2.default)(this, "result", undefined);
|
|
21
20
|
(0, _defineProperty2.default)(this, "previousStates", []);
|
|
@@ -61,7 +60,7 @@ var XMLParser = function () {
|
|
|
61
60
|
}
|
|
62
61
|
}, options));
|
|
63
62
|
}
|
|
64
|
-
(0, _createClass2.default)(
|
|
63
|
+
(0, _createClass2.default)(StreamingXMLParser, [{
|
|
65
64
|
key: "reset",
|
|
66
65
|
value: function reset() {
|
|
67
66
|
this.result = undefined;
|
|
@@ -81,12 +80,9 @@ var XMLParser = function () {
|
|
|
81
80
|
value: function close() {
|
|
82
81
|
this.parser.close();
|
|
83
82
|
}
|
|
84
|
-
|
|
85
83
|
}, {
|
|
86
84
|
key: "_pushOrSet",
|
|
87
|
-
value:
|
|
88
|
-
|
|
89
|
-
function _pushOrSet(value) {
|
|
85
|
+
value: function _pushOrSet(value) {
|
|
90
86
|
var _this$currentState = this.currentState,
|
|
91
87
|
container = _this$currentState.container,
|
|
92
88
|
key = _this$currentState.key;
|
|
@@ -95,8 +91,7 @@ var XMLParser = function () {
|
|
|
95
91
|
this.currentState.key = null;
|
|
96
92
|
} else if (Array.isArray(container)) {
|
|
97
93
|
container.push(value);
|
|
98
|
-
} else if (container) {
|
|
99
|
-
}
|
|
94
|
+
} else if (container) {}
|
|
100
95
|
}
|
|
101
96
|
}, {
|
|
102
97
|
key: "_openArray",
|
|
@@ -133,7 +128,7 @@ var XMLParser = function () {
|
|
|
133
128
|
this.currentState = this.previousStates.pop();
|
|
134
129
|
}
|
|
135
130
|
}]);
|
|
136
|
-
return
|
|
131
|
+
return StreamingXMLParser;
|
|
137
132
|
}();
|
|
138
|
-
exports.
|
|
139
|
-
//# sourceMappingURL=xml-parser.js.map
|
|
133
|
+
exports.StreamingXMLParser = StreamingXMLParser;
|
|
134
|
+
//# sourceMappingURL=streaming-xml-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-xml-parser.js","names":["_sax","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","StreamingXMLParser","options","_this","_classCallCheck2","undefined","freeze","container","reset","parser","SAXParser","onready","previousStates","currentState","onopentag","_ref","name","attributes","isSelfClosing","_openObject","emit","onkey","onclosetag","_closeObject","onopenarray","_openArray","onclosearray","_closeArray","ontext","value","_pushOrSet","onerror","error","onend","result","pop","_createClass2","write","chunk","close","_this$currentState","Array","isArray","newContainer","exports"],"sources":["../../../../src/lib/parsers/streaming-xml-parser.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport {SAXParser, SAXParserOptions} from '../../sax-ts/sax';\n// import JSONPath from '../jsonpath/jsonpath';\n\nexport type StreamingXMLParserOptions = SAXParserOptions;\n\n/**\n * StreamingXMLParser builds a JSON object using the events emitted by the SAX parser\n */\nexport class StreamingXMLParser {\n readonly parser: SAXParser;\n result = undefined;\n previousStates = [];\n currentState = Object.freeze({container: [], key: null});\n // jsonpath: JSONPath = new JSONPath();\n\n constructor(options: SAXParserOptions) {\n this.reset();\n this.parser = new SAXParser({\n onready: () => {\n this.previousStates.length = 0;\n this.currentState.container.length = 0;\n },\n\n onopentag: ({name, attributes, isSelfClosing}) => {\n this._openObject({});\n if (typeof name !== 'undefined') {\n this.parser.emit('onkey', name);\n }\n },\n\n onkey: (name) => {\n this.currentState.key = name;\n },\n\n onclosetag: () => {\n this._closeObject();\n },\n\n onopenarray: () => {\n this._openArray();\n },\n\n onclosearray: () => {\n this._closeArray();\n },\n\n ontext: (value) => {\n this._pushOrSet(value);\n },\n\n onerror: (error) => {\n throw error;\n },\n\n onend: () => {\n this.result = this.currentState.container.pop();\n },\n\n ...options\n });\n }\n\n reset(): void {\n this.result = undefined;\n this.previousStates = [];\n this.currentState = Object.freeze({container: [], key: null});\n }\n\n write(chunk): void {\n this.parser.write(chunk);\n }\n\n close(): void {\n this.parser.close();\n }\n\n // PRIVATE METHODS\n\n _pushOrSet(value): void {\n const {container, key} = this.currentState;\n if (key !== null) {\n container[key] = value;\n this.currentState.key = null;\n } else if (Array.isArray(container)) {\n container.push(value);\n } else if (container) {\n // debugger\n }\n }\n\n _openArray(newContainer = []): void {\n // this.jsonpath.push(null);\n this._pushOrSet(newContainer);\n this.previousStates.push(this.currentState);\n this.currentState = {container: newContainer, isArray: true, key: null};\n }\n\n _closeArray(): void {\n // this.jsonpath.pop();\n this.currentState = this.previousStates.pop();\n }\n\n _openObject(newContainer = {}): void {\n // this.jsonpath.push(null);\n this._pushOrSet(newContainer);\n this.previousStates.push(this.currentState);\n this.currentState = {container: newContainer, isArray: false, key: null};\n }\n\n _closeObject(): void {\n // this.jsonpath.pop();\n this.currentState = this.previousStates.pop();\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.uncapitalize = uncapitalize;
|
|
8
|
+
exports.uncapitalizeKeys = uncapitalizeKeys;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
function uncapitalize(str) {
|
|
12
|
+
return typeof str === 'string' ? str.charAt(0).toLowerCase() + str.slice(1) : str;
|
|
13
|
+
}
|
|
14
|
+
function uncapitalizeKeys(object) {
|
|
15
|
+
if (Array.isArray(object)) {
|
|
16
|
+
return object.map(function (element) {
|
|
17
|
+
return uncapitalizeKeys(element);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
if (object && (0, _typeof2.default)(object) === 'object') {
|
|
21
|
+
var newObject = {};
|
|
22
|
+
for (var _i = 0, _Object$entries = Object.entries(object); _i < _Object$entries.length; _i++) {
|
|
23
|
+
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
24
|
+
key = _Object$entries$_i[0],
|
|
25
|
+
value = _Object$entries$_i[1];
|
|
26
|
+
newObject[uncapitalize(key)] = uncapitalizeKeys(value);
|
|
27
|
+
}
|
|
28
|
+
return newObject;
|
|
29
|
+
}
|
|
30
|
+
return object;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=uncapitalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uncapitalize.js","names":["uncapitalize","str","charAt","toLowerCase","slice","uncapitalizeKeys","object","Array","isArray","map","element","_typeof2","default","newObject","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray2","key","value"],"sources":["../../../../src/lib/xml-utils/uncapitalize.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/**\n * Uncapitalize first letter of a string\n * @param str\n * @returns\n */\nexport function uncapitalize(str: string): string {\n return typeof str === 'string' ? str.charAt(0).toLowerCase() + str.slice(1) : str;\n}\n\n/**\n * Recursively uncapitalize all keys in a nested object\n * @param object\n * @returns\n */\nexport function uncapitalizeKeys(object: any): any {\n if (Array.isArray(object)) {\n return object.map((element) => uncapitalizeKeys(element));\n }\n\n if (object && typeof object === 'object') {\n const newObject = {};\n for (const [key, value] of Object.entries(object)) {\n newObject[uncapitalize(key)] = uncapitalizeKeys(value);\n }\n return newObject;\n }\n\n return object;\n}\n"],"mappings":";;;;;;;;;;AAOO,SAASA,YAAYA,CAACC,GAAW,EAAU;EAChD,OAAO,OAAOA,GAAG,KAAK,QAAQ,GAAGA,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGF,GAAG,CAACG,KAAK,CAAC,CAAC,CAAC,GAAGH,GAAG;AACnF;AAOO,SAASI,gBAAgBA,CAACC,MAAW,EAAO;EACjD,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;IACzB,OAAOA,MAAM,CAACG,GAAG,CAAC,UAACC,OAAO;MAAA,OAAKL,gBAAgB,CAACK,OAAO,CAAC;IAAA,EAAC;EAC3D;EAEA,IAAIJ,MAAM,IAAI,IAAAK,QAAA,CAAAC,OAAA,EAAON,MAAM,MAAK,QAAQ,EAAE;IACxC,IAAMO,SAAS,GAAG,CAAC,CAAC;IACpB,SAAAC,EAAA,MAAAC,eAAA,GAA2BC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,EAAAQ,EAAA,GAAAC,eAAA,CAAAG,MAAA,EAAAJ,EAAA,IAAE;MAA9C,IAAAK,kBAAA,OAAAC,eAAA,CAAAR,OAAA,EAAAG,eAAA,CAAAD,EAAA;QAAOO,GAAG,GAAAF,kBAAA;QAAEG,KAAK,GAAAH,kBAAA;MACpBN,SAAS,CAACb,YAAY,CAACqB,GAAG,CAAC,CAAC,GAAGhB,gBAAgB,CAACiB,KAAK,CAAC;IACxD;IACA,OAAOT,SAAS;EAClB;EAEA,OAAOP,MAAM;AACf"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.convertXMLFieldToArrayInPlace = convertXMLFieldToArrayInPlace;
|
|
8
|
+
exports.convertXMLValueToArray = convertXMLValueToArray;
|
|
9
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
|
+
function convertXMLValueToArray(xmlValue) {
|
|
11
|
+
if (Array.isArray(xmlValue)) {
|
|
12
|
+
return xmlValue;
|
|
13
|
+
}
|
|
14
|
+
if (xmlValue && (0, _typeof2.default)(xmlValue) === 'object' && xmlValue['0']) {}
|
|
15
|
+
if (xmlValue) {
|
|
16
|
+
return [xmlValue];
|
|
17
|
+
}
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
function convertXMLFieldToArrayInPlace(xml, key) {
|
|
21
|
+
xml[key] = convertXMLValueToArray(xml[key]);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=xml-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml-utils.js","names":["convertXMLValueToArray","xmlValue","Array","isArray","_typeof2","default","convertXMLFieldToArrayInPlace","xml","key"],"sources":["../../../../src/lib/xml-utils/xml-utils.ts"],"sourcesContent":["// TODO - these utilities could be moved to the XML parser.\n// uncapitalizeKeys could be an XMLLoader option\n\n/**\n * Extracts a value or array and always return an array\n * Useful since XML parses to object instead of array when only a single value is provided\n */\nexport function convertXMLValueToArray(xmlValue: unknown): unknown[] {\n if (Array.isArray(xmlValue)) {\n return xmlValue;\n }\n if (xmlValue && typeof xmlValue === 'object' && xmlValue['0']) {\n // Error this is an objectified array\n }\n if (xmlValue) {\n return [xmlValue];\n }\n return [];\n}\n\n/**\n * Mutates a field in place, converting it to array\n * Useful since XML parses to object instead of array when only a single value is provided\n */\nexport function convertXMLFieldToArrayInPlace(xml: any, key: string): void {\n xml[key] = convertXMLValueToArray(xml[key]);\n}\n"],"mappings":";;;;;;;;;AAOO,SAASA,sBAAsBA,CAACC,QAAiB,EAAa;EACnE,IAAIC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;IAC3B,OAAOA,QAAQ;EACjB;EACA,IAAIA,QAAQ,IAAI,IAAAG,QAAA,CAAAC,OAAA,EAAOJ,QAAQ,MAAK,QAAQ,IAAIA,QAAQ,CAAC,GAAG,CAAC,EAAE,CAE/D;EACA,IAAIA,QAAQ,EAAE;IACZ,OAAO,CAACA,QAAQ,CAAC;EACnB;EACA,OAAO,EAAE;AACX;AAMO,SAASK,6BAA6BA,CAACC,GAAQ,EAAEC,GAAW,EAAQ;EACzED,GAAG,CAACC,GAAG,CAAC,GAAGR,sBAAsB,CAACO,GAAG,CAACC,GAAG,CAAC,CAAC;AAC7C"}
|
package/dist/es5/sax-ts/sax.js
CHANGED
|
@@ -17,7 +17,6 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
17
17
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
18
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
19
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
-
|
|
21
20
|
var DEFAULT_SAX_EVENTS = {
|
|
22
21
|
ontext: function ontext() {},
|
|
23
22
|
onprocessinginstruction: function onprocessinginstruction() {},
|
|
@@ -316,9 +315,7 @@ Object.keys(ENTITIES).forEach(function (key) {
|
|
|
316
315
|
var e = ENTITIES[key];
|
|
317
316
|
ENTITIES[key] = typeof e === 'number' ? String.fromCharCode(e) : e;
|
|
318
317
|
});
|
|
319
|
-
|
|
320
318
|
var SAX = function () {
|
|
321
|
-
|
|
322
319
|
function SAX() {
|
|
323
320
|
(0, _classCallCheck2.default)(this, SAX);
|
|
324
321
|
(0, _defineProperty2.default)(this, "EVENTS", EVENTS);
|
|
@@ -419,7 +416,6 @@ var SAX = function () {
|
|
|
419
416
|
this.STATE[this.STATE[s]] = s;
|
|
420
417
|
}
|
|
421
418
|
}
|
|
422
|
-
|
|
423
419
|
this.S = this.STATE;
|
|
424
420
|
}
|
|
425
421
|
(0, _createClass2.default)(SAX, [{
|
|
@@ -515,8 +511,7 @@ var SAX = function () {
|
|
|
515
511
|
if (c === '!') {
|
|
516
512
|
this.state = this.S.SGML_DECL;
|
|
517
513
|
this.sgmlDecl = '';
|
|
518
|
-
} else if (SAX.isWhitespace(c)) {
|
|
519
|
-
} else if (SAX.isMatch(nameStart, c)) {
|
|
514
|
+
} else if (SAX.isWhitespace(c)) {} else if (SAX.isMatch(nameStart, c)) {
|
|
520
515
|
this.state = this.S.OPEN_TAG;
|
|
521
516
|
this.tagName = c;
|
|
522
517
|
} else if (c === '/') {
|
|
@@ -914,7 +909,6 @@ var SAX = function () {
|
|
|
914
909
|
throw new Error("Unknown state: ".concat(this.state));
|
|
915
910
|
}
|
|
916
911
|
}
|
|
917
|
-
|
|
918
912
|
if (this.position >= this.bufferCheckPosition) {
|
|
919
913
|
this.checkBufferLength();
|
|
920
914
|
}
|
|
@@ -1001,7 +995,6 @@ var SAX = function () {
|
|
|
1001
995
|
tag.ns[local] = this.attribValue;
|
|
1002
996
|
}
|
|
1003
997
|
}
|
|
1004
|
-
|
|
1005
998
|
this.attribList.push([this.attribName, this.attribValue]);
|
|
1006
999
|
} else {
|
|
1007
1000
|
this.tag.attributes[this.attribName] = this.attribValue;
|
|
@@ -1021,7 +1014,6 @@ var SAX = function () {
|
|
|
1021
1014
|
name: this.tagName,
|
|
1022
1015
|
attributes: {}
|
|
1023
1016
|
};
|
|
1024
|
-
|
|
1025
1017
|
if (this.opt.xmlns) {
|
|
1026
1018
|
tag.ns = parent.ns;
|
|
1027
1019
|
}
|
|
@@ -1139,7 +1131,6 @@ var SAX = function () {
|
|
|
1139
1131
|
value: function openTag(selfClosing) {
|
|
1140
1132
|
if (this.opt.xmlns) {
|
|
1141
1133
|
var tag = this.tag;
|
|
1142
|
-
|
|
1143
1134
|
var qn = SAX.qname(this.tagName);
|
|
1144
1135
|
tag.prefix = qn.prefix;
|
|
1145
1136
|
tag.local = qn.local;
|
|
@@ -1158,7 +1149,6 @@ var SAX = function () {
|
|
|
1158
1149
|
});
|
|
1159
1150
|
});
|
|
1160
1151
|
}
|
|
1161
|
-
|
|
1162
1152
|
for (var i = 0, l = this.attribList.length; i < l; i++) {
|
|
1163
1153
|
var nv = this.attribList[i];
|
|
1164
1154
|
var name = nv[0];
|
|
@@ -1174,7 +1164,6 @@ var SAX = function () {
|
|
|
1174
1164
|
local: local,
|
|
1175
1165
|
uri: uri
|
|
1176
1166
|
};
|
|
1177
|
-
|
|
1178
1167
|
if (prefix && prefix !== 'xmlns' && !uri) {
|
|
1179
1168
|
this.strictFail("Unbound namespace prefix: ".concat(JSON.stringify(prefix)));
|
|
1180
1169
|
a.uri = prefix;
|
|
@@ -1185,7 +1174,6 @@ var SAX = function () {
|
|
|
1185
1174
|
this.attribList.length = 0;
|
|
1186
1175
|
}
|
|
1187
1176
|
this.tag.isSelfClosing = Boolean(selfClosing);
|
|
1188
|
-
|
|
1189
1177
|
this.sawRoot = true;
|
|
1190
1178
|
this.tags.push(this.tag);
|
|
1191
1179
|
this.emitNode('onopentag', this.tag);
|
|
@@ -1221,7 +1209,6 @@ var SAX = function () {
|
|
|
1221
1209
|
this.emitNode('onscript', this.script);
|
|
1222
1210
|
this.script = '';
|
|
1223
1211
|
}
|
|
1224
|
-
|
|
1225
1212
|
var t = this.tags.length;
|
|
1226
1213
|
var tagName = this.tagName;
|
|
1227
1214
|
if (!this.strict) {
|
|
@@ -1235,7 +1222,6 @@ var SAX = function () {
|
|
|
1235
1222
|
break;
|
|
1236
1223
|
}
|
|
1237
1224
|
}
|
|
1238
|
-
|
|
1239
1225
|
if (t < 0) {
|
|
1240
1226
|
this.strictFail("Unmatched closing tag: ".concat(this.tagName));
|
|
1241
1227
|
this.textNode += "</".concat(this.tagName, ">");
|
|
@@ -1315,7 +1301,6 @@ var SAX = function () {
|
|
|
1315
1301
|
var qualName = i < 0 ? ['', name] : name.split(':');
|
|
1316
1302
|
var prefix = qualName[0];
|
|
1317
1303
|
var local = qualName[1];
|
|
1318
|
-
|
|
1319
1304
|
if (attribute && name === 'xmlns') {
|
|
1320
1305
|
prefix = 'xmlns';
|
|
1321
1306
|
local = '';
|
|
@@ -1353,11 +1338,9 @@ var SAXParser = function (_SAX) {
|
|
|
1353
1338
|
_this2.strictEntities = _this2.opt.strictEntities;
|
|
1354
1339
|
_this2.ENTITIES = _this2.strictEntities ? Object.create(_this2.XML_ENTITIES) : Object.create(_this2.ENTITIES);
|
|
1355
1340
|
_this2.attribList = [];
|
|
1356
|
-
|
|
1357
1341
|
if (_this2.opt.xmlns) {
|
|
1358
1342
|
_this2.ns = Object.create(_this2.rootNS);
|
|
1359
1343
|
}
|
|
1360
|
-
|
|
1361
1344
|
_this2.trackPosition = _this2.opt.position !== false;
|
|
1362
1345
|
if (_this2.trackPosition) {
|
|
1363
1346
|
_this2.position = _this2.line = _this2.column = 0;
|