@loaders.gl/xml 3.3.0-alpha.9 → 3.3.0

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.
@@ -0,0 +1,2 @@
1
+ declare const moduleExports: any;
2
+ //# sourceMappingURL=bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,aAAa,KAAqB,CAAC"}
package/dist/bundle.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // @ts-nocheck
3
+ const moduleExports = require('./index');
4
+ globalThis.loaders = globalThis.loaders || {};
5
+ module.exports = Object.assign(globalThis.loaders, moduleExports);
package/dist/dist.min.js CHANGED
@@ -2906,7 +2906,7 @@ Actual: ${this.attribValue}`);
2906
2906
  const parser = new import_fast_xml_parser.XMLParser({
2907
2907
  ignoreAttributes: false,
2908
2908
  attributeNamePrefix: "",
2909
- ...options
2909
+ ...options?.xml
2910
2910
  });
2911
2911
  const parsedXML = parser.parse(text);
2912
2912
  return parsedXML;
@@ -15,7 +15,7 @@ function parseXML(text, options) {
15
15
  var parser = new _fastXmlParser.XMLParser(_objectSpread({
16
16
  ignoreAttributes: false,
17
17
  attributeNamePrefix: ''
18
- }, options));
18
+ }, options === null || options === void 0 ? void 0 : options.xml));
19
19
  var parsedXML = parser.parse(text);
20
20
  return parsedXML;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-xml.js","names":["parseXML","text","options","parser","FastXMLParser","ignoreAttributes","attributeNamePrefix","parsedXML","parse","parseXMLInBatches","XMLParser","strict","write","close","result"],"sources":["../../../src/lib/parse-xml.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {XMLParser} from '../lib/parser/xml-parser';\nimport {XMLParser as FastXMLParser} from 'fast-xml-parser';\n\nexport function parseXML(text: string, options): any {\n const parser = new FastXMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: '',\n // parseAttributeValue: true,\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 XMLParser({\n ...options,\n strict: true\n });\n\n parser.write(text);\n parser.close();\n\n return parser.result;\n}\n"],"mappings":";;;;;;;;;AAEA;AACA;AAA2D;AAAA;AAEpD,SAASA,QAAQ,CAACC,IAAY,EAAEC,OAAO,EAAO;EACnD,IAAMC,MAAM,GAAG,IAAIC,wBAAa;IAC9BC,gBAAgB,EAAE,KAAK;IACvBC,mBAAmB,EAAE;EAAE,GAEpBJ,OAAO,EACV;EAEF,IAAMK,SAAS,GAAGJ,MAAM,CAACK,KAAK,CAACP,IAAI,CAAC;EAEpC,OAAOM,SAAS;AAClB;;AAQO,SAASE,iBAAiB,CAACR,IAAY,EAAEC,OAAO,EAAO;EAC5D,IAAMC,MAAM,GAAG,IAAIO,oBAAS,iCACvBR,OAAO;IACVS,MAAM,EAAE;EAAI,GACZ;EAEFR,MAAM,CAACS,KAAK,CAACX,IAAI,CAAC;EAClBE,MAAM,CAACU,KAAK,EAAE;EAEd,OAAOV,MAAM,CAACW,MAAM;AACtB"}
1
+ {"version":3,"file":"parse-xml.js","names":["parseXML","text","options","parser","FastXMLParser","ignoreAttributes","attributeNamePrefix","xml","parsedXML","parse","parseXMLInBatches","XMLParser","strict","write","close","result"],"sources":["../../../src/lib/parse-xml.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {XMLParser} from '../lib/parser/xml-parser';\nimport {XMLParser as FastXMLParser} from 'fast-xml-parser';\n\nexport function parseXML(text: string, options): any {\n const parser = new FastXMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: '',\n // parseAttributeValue: true,\n ...options?.xml\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 XMLParser({\n ...options,\n strict: true\n });\n\n parser.write(text);\n parser.close();\n\n return parser.result;\n}\n"],"mappings":";;;;;;;;;AAEA;AACA;AAA2D;AAAA;AAEpD,SAASA,QAAQ,CAACC,IAAY,EAAEC,OAAO,EAAO;EACnD,IAAMC,MAAM,GAAG,IAAIC,wBAAa;IAC9BC,gBAAgB,EAAE,KAAK;IACvBC,mBAAmB,EAAE;EAAE,GAEpBJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,GAAG,EACf;EAEF,IAAMC,SAAS,GAAGL,MAAM,CAACM,KAAK,CAACR,IAAI,CAAC;EAEpC,OAAOO,SAAS;AAClB;;AAQO,SAASE,iBAAiB,CAACT,IAAY,EAAEC,OAAO,EAAO;EAC5D,IAAMC,MAAM,GAAG,IAAIQ,oBAAS,iCACvBT,OAAO;IACVU,MAAM,EAAE;EAAI,GACZ;EAEFT,MAAM,CAACU,KAAK,CAACZ,IAAI,CAAC;EAClBE,MAAM,CAACW,KAAK,EAAE;EAEd,OAAOX,MAAM,CAACY,MAAM;AACtB"}
@@ -8,7 +8,7 @@ exports._typecheckXMLLoader = exports.XMLLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _parseXml = require("./lib/parse-xml");
11
- var VERSION = typeof "3.3.0-alpha.9" !== 'undefined' ? "3.3.0-alpha.9" : 'latest';
11
+ var VERSION = typeof "3.3.0" !== 'undefined' ? "3.3.0" : 'latest';
12
12
  var XMLLoader = {
13
13
  name: 'XML',
14
14
  id: 'xml',
@@ -1 +1 @@
1
- {"version":3,"file":"xml-loader.js","names":["VERSION","XMLLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","xml","parse","arrayBuffer","parseXML","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckXMLLoader"],"sources":["../../src/xml-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {SAXParserOptions} from './sax-ts/sax';\nimport {parseXML} from './lib/parse-xml';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type XMLLoaderOptions = LoaderOptions & {\n xml?: SAXParserOptions;\n};\n\n/**\n * Worker loader for the OBJ geometry format\n */\nexport const XMLLoader = {\n name: 'XML',\n id: 'xml',\n module: 'xml',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n xml: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) =>\n parseXML(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: XMLLoaderOptions) => parseXML(text, options)\n};\n\nfunction testXMLFile(text: string): boolean {\n // TODO - There could be space first.\n return text.startsWith('<?xml');\n}\n\nexport const _typecheckXMLLoader: LoaderWithParser = XMLLoader;\n"],"mappings":";;;;;;;;;AAEA;AAIA,IAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AASpE,IAAMC,SAAS,GAAG;EACvBC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC;EAC1CC,QAAQ,EAAEC,WAAW;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR,CAAC;EACDC,KAAK;IAAA,uEAAE,iBAAOC,WAAwB,EAAEH,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAI,kBAAQ,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEH,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EAC1DO,aAAa,EAAE,uBAACC,IAAY,EAAER,OAA0B;IAAA,OAAK,IAAAI,kBAAQ,EAACI,IAAI,EAAER,OAAO,CAAC;EAAA;AACtF,CAAC;AAAC;AAEF,SAASD,WAAW,CAACS,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEO,IAAMC,mBAAqC,GAAGpB,SAAS;AAAC"}
1
+ {"version":3,"file":"xml-loader.js","names":["VERSION","XMLLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","xml","parse","arrayBuffer","parseXML","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckXMLLoader"],"sources":["../../src/xml-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {SAXParserOptions} from './sax-ts/sax';\nimport {parseXML} from './lib/parse-xml';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type XMLLoaderOptions = LoaderOptions & {\n xml?: SAXParserOptions;\n};\n\n/**\n * Worker loader for the OBJ geometry format\n */\nexport const XMLLoader = {\n name: 'XML',\n id: 'xml',\n module: 'xml',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n xml: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) =>\n parseXML(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: XMLLoaderOptions) => parseXML(text, options)\n};\n\nfunction testXMLFile(text: string): boolean {\n // TODO - There could be space first.\n return text.startsWith('<?xml');\n}\n\nexport const _typecheckXMLLoader: LoaderWithParser = XMLLoader;\n"],"mappings":";;;;;;;;;AAEA;AAIA,IAAMA,OAAO,GAAG,cAAkB,KAAK,WAAW,aAAiB,QAAQ;AASpE,IAAMC,SAAS,GAAG;EACvBC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC;EAC1CC,QAAQ,EAAEC,WAAW;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR,CAAC;EACDC,KAAK;IAAA,uEAAE,iBAAOC,WAAwB,EAAEH,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAI,kBAAQ,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEH,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EAC1DO,aAAa,EAAE,uBAACC,IAAY,EAAER,OAA0B;IAAA,OAAK,IAAAI,kBAAQ,EAACI,IAAI,EAAER,OAAO,CAAC;EAAA;AACtF,CAAC;AAAC;AAEF,SAASD,WAAW,CAACS,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEO,IAAMC,mBAAqC,GAAGpB,SAAS;AAAC"}
@@ -6,7 +6,7 @@ export function parseXML(text, options) {
6
6
  const parser = new FastXMLParser({
7
7
  ignoreAttributes: false,
8
8
  attributeNamePrefix: '',
9
- ...options
9
+ ...(options === null || options === void 0 ? void 0 : options.xml)
10
10
  });
11
11
  const parsedXML = parser.parse(text);
12
12
  return parsedXML;
@@ -1 +1 @@
1
- {"version":3,"file":"parse-xml.js","names":["XMLParser","FastXMLParser","parseXML","text","options","parser","ignoreAttributes","attributeNamePrefix","parsedXML","parse","parseXMLInBatches","strict","write","close","result"],"sources":["../../../src/lib/parse-xml.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {XMLParser} from '../lib/parser/xml-parser';\nimport {XMLParser as FastXMLParser} from 'fast-xml-parser';\n\nexport function parseXML(text: string, options): any {\n const parser = new FastXMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: '',\n // parseAttributeValue: true,\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 XMLParser({\n ...options,\n strict: true\n });\n\n parser.write(text);\n parser.close();\n\n return parser.result;\n}\n"],"mappings":";;AAEA,SAAQA,SAAS,QAAO,0BAA0B;AAClD,SAAQA,SAAS,IAAIC,aAAa,QAAO,iBAAiB;AAE1D,OAAO,SAASC,QAAQ,CAACC,IAAY,EAAEC,OAAO,EAAO;EACnD,MAAMC,MAAM,GAAG,IAAIJ,aAAa,CAAC;IAC/BK,gBAAgB,EAAE,KAAK;IACvBC,mBAAmB,EAAE,EAAE;IAEvB,GAAGH;EACL,CAAC,CAAC;EAEF,MAAMI,SAAS,GAAGH,MAAM,CAACI,KAAK,CAACN,IAAI,CAAC;EAEpC,OAAOK,SAAS;AAClB;;AAQA,OAAO,SAASE,iBAAiB,CAACP,IAAY,EAAEC,OAAO,EAAO;EAC5D,MAAMC,MAAM,GAAG,IAAIL,SAAS,CAAC;IAC3B,GAAGI,OAAO;IACVO,MAAM,EAAE;EACV,CAAC,CAAC;EAEFN,MAAM,CAACO,KAAK,CAACT,IAAI,CAAC;EAClBE,MAAM,CAACQ,KAAK,EAAE;EAEd,OAAOR,MAAM,CAACS,MAAM;AACtB"}
1
+ {"version":3,"file":"parse-xml.js","names":["XMLParser","FastXMLParser","parseXML","text","options","parser","ignoreAttributes","attributeNamePrefix","xml","parsedXML","parse","parseXMLInBatches","strict","write","close","result"],"sources":["../../../src/lib/parse-xml.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {XMLParser} from '../lib/parser/xml-parser';\nimport {XMLParser as FastXMLParser} from 'fast-xml-parser';\n\nexport function parseXML(text: string, options): any {\n const parser = new FastXMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: '',\n // parseAttributeValue: true,\n ...options?.xml\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 XMLParser({\n ...options,\n strict: true\n });\n\n parser.write(text);\n parser.close();\n\n return parser.result;\n}\n"],"mappings":";;AAEA,SAAQA,SAAS,QAAO,0BAA0B;AAClD,SAAQA,SAAS,IAAIC,aAAa,QAAO,iBAAiB;AAE1D,OAAO,SAASC,QAAQ,CAACC,IAAY,EAAEC,OAAO,EAAO;EACnD,MAAMC,MAAM,GAAG,IAAIJ,aAAa,CAAC;IAC/BK,gBAAgB,EAAE,KAAK;IACvBC,mBAAmB,EAAE,EAAE;IAEvB,IAAGH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,GAAG;EACjB,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAGJ,MAAM,CAACK,KAAK,CAACP,IAAI,CAAC;EAEpC,OAAOM,SAAS;AAClB;;AAQA,OAAO,SAASE,iBAAiB,CAACR,IAAY,EAAEC,OAAO,EAAO;EAC5D,MAAMC,MAAM,GAAG,IAAIL,SAAS,CAAC;IAC3B,GAAGI,OAAO;IACVQ,MAAM,EAAE;EACV,CAAC,CAAC;EAEFP,MAAM,CAACQ,KAAK,CAACV,IAAI,CAAC;EAClBE,MAAM,CAACS,KAAK,EAAE;EAEd,OAAOT,MAAM,CAACU,MAAM;AACtB"}
@@ -1,6 +1,6 @@
1
1
  import { parseXML } from './lib/parse-xml';
2
2
 
3
- const VERSION = typeof "3.3.0-alpha.9" !== 'undefined' ? "3.3.0-alpha.9" : 'latest';
3
+ const VERSION = typeof "3.3.0" !== 'undefined' ? "3.3.0" : 'latest';
4
4
  export const XMLLoader = {
5
5
  name: 'XML',
6
6
  id: 'xml',
@@ -1 +1 @@
1
- {"version":3,"file":"xml-loader.js","names":["parseXML","VERSION","XMLLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","xml","parse","arrayBuffer","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckXMLLoader"],"sources":["../../src/xml-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {SAXParserOptions} from './sax-ts/sax';\nimport {parseXML} from './lib/parse-xml';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type XMLLoaderOptions = LoaderOptions & {\n xml?: SAXParserOptions;\n};\n\n/**\n * Worker loader for the OBJ geometry format\n */\nexport const XMLLoader = {\n name: 'XML',\n id: 'xml',\n module: 'xml',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n xml: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) =>\n parseXML(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: XMLLoaderOptions) => parseXML(text, options)\n};\n\nfunction testXMLFile(text: string): boolean {\n // TODO - There could be space first.\n return text.startsWith('<?xml');\n}\n\nexport const _typecheckXMLLoader: LoaderWithParser = XMLLoader;\n"],"mappings":"AAEA,SAAQA,QAAQ,QAAO,iBAAiB;;AAIxC,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAS3E,OAAO,MAAMC,SAAS,GAAG;EACvBC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC;EAC1CC,QAAQ,EAAEC,WAAW;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR,CAAC;EACDC,KAAK,EAAE,OAAOC,WAAwB,EAAEH,OAA0B,KAChEZ,QAAQ,CAAC,IAAIgB,WAAW,EAAE,CAACC,MAAM,CAACF,WAAW,CAAC,EAAEH,OAAO,CAAC;EAC1DM,aAAa,EAAE,CAACC,IAAY,EAAEP,OAA0B,KAAKZ,QAAQ,CAACmB,IAAI,EAAEP,OAAO;AACrF,CAAC;AAED,SAASD,WAAW,CAACQ,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEA,OAAO,MAAMC,mBAAqC,GAAGnB,SAAS"}
1
+ {"version":3,"file":"xml-loader.js","names":["parseXML","VERSION","XMLLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","xml","parse","arrayBuffer","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckXMLLoader"],"sources":["../../src/xml-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {SAXParserOptions} from './sax-ts/sax';\nimport {parseXML} from './lib/parse-xml';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type XMLLoaderOptions = LoaderOptions & {\n xml?: SAXParserOptions;\n};\n\n/**\n * Worker loader for the OBJ geometry format\n */\nexport const XMLLoader = {\n name: 'XML',\n id: 'xml',\n module: 'xml',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n xml: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) =>\n parseXML(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: XMLLoaderOptions) => parseXML(text, options)\n};\n\nfunction testXMLFile(text: string): boolean {\n // TODO - There could be space first.\n return text.startsWith('<?xml');\n}\n\nexport const _typecheckXMLLoader: LoaderWithParser = XMLLoader;\n"],"mappings":"AAEA,SAAQA,QAAQ,QAAO,iBAAiB;;AAIxC,MAAMC,OAAO,GAAG,cAAkB,KAAK,WAAW,aAAiB,QAAQ;AAS3E,OAAO,MAAMC,SAAS,GAAG;EACvBC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC;EAC1CC,QAAQ,EAAEC,WAAW;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR,CAAC;EACDC,KAAK,EAAE,OAAOC,WAAwB,EAAEH,OAA0B,KAChEZ,QAAQ,CAAC,IAAIgB,WAAW,EAAE,CAACC,MAAM,CAACF,WAAW,CAAC,EAAEH,OAAO,CAAC;EAC1DM,aAAa,EAAE,CAACC,IAAY,EAAEP,OAA0B,KAAKZ,QAAQ,CAACmB,IAAI,EAAEP,OAAO;AACrF,CAAC;AAED,SAASD,WAAW,CAACQ,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEA,OAAO,MAAMC,mBAAqC,GAAGnB,SAAS"}
@@ -0,0 +1,5 @@
1
+ export type { XMLLoaderOptions } from './xml-loader';
2
+ export { XMLLoader } from './xml-loader';
3
+ export type { SAXParserOptions as SAXParserOptions } from './sax-ts/sax';
4
+ export { SAXParser as SAXParser } from './sax-ts/sax';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAIvC,YAAY,EAAC,gBAAgB,IAAI,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACvE,OAAO,EAAC,SAAS,IAAI,SAAS,EAAC,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ // loaders.gl, MIT license
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SAXParser = exports.XMLLoader = void 0;
5
+ var xml_loader_1 = require("./xml-loader");
6
+ Object.defineProperty(exports, "XMLLoader", { enumerable: true, get: function () { return xml_loader_1.XMLLoader; } });
7
+ var sax_1 = require("./sax-ts/sax");
8
+ Object.defineProperty(exports, "SAXParser", { enumerable: true, get: function () { return sax_1.SAXParser; } });
@@ -0,0 +1,9 @@
1
+ export declare function parseXML(text: string, options: any): any;
2
+ /**
3
+ * @todo Build a streaming XML parser based on sax-js
4
+ * @param text
5
+ * @param options
6
+ * @returns
7
+ */
8
+ export declare function parseXMLInBatches(text: string, options: any): any;
9
+ //# sourceMappingURL=parse-xml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-xml.d.ts","sourceRoot":"","sources":["../../src/lib/parse-xml.ts"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAA,GAAG,GAAG,CAWnD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAA,GAAG,GAAG,CAU5D"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // loaders.gl, MIT license
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.parseXMLInBatches = exports.parseXML = void 0;
5
+ const xml_parser_1 = require("../lib/parser/xml-parser");
6
+ const fast_xml_parser_1 = require("fast-xml-parser");
7
+ function parseXML(text, options) {
8
+ const parser = new fast_xml_parser_1.XMLParser({
9
+ ignoreAttributes: false,
10
+ attributeNamePrefix: '',
11
+ // parseAttributeValue: true,
12
+ ...options?.xml
13
+ });
14
+ const parsedXML = parser.parse(text);
15
+ return parsedXML;
16
+ }
17
+ exports.parseXML = parseXML;
18
+ /**
19
+ * @todo Build a streaming XML parser based on sax-js
20
+ * @param text
21
+ * @param options
22
+ * @returns
23
+ */
24
+ function parseXMLInBatches(text, options) {
25
+ const parser = new xml_parser_1.XMLParser({
26
+ ...options,
27
+ strict: true
28
+ });
29
+ parser.write(text);
30
+ parser.close();
31
+ return parser.result;
32
+ }
33
+ exports.parseXMLInBatches = parseXMLInBatches;
@@ -0,0 +1,20 @@
1
+ import { SAXParser, SAXParserOptions } from '../../sax-ts/sax';
2
+ export declare class XMLParser {
3
+ readonly parser: SAXParser;
4
+ result: undefined;
5
+ previousStates: never[];
6
+ currentState: Readonly<{
7
+ container: never[];
8
+ key: null;
9
+ }>;
10
+ constructor(options: SAXParserOptions);
11
+ reset(): void;
12
+ write(chunk: any): void;
13
+ close(): void;
14
+ _pushOrSet(value: any): void;
15
+ _openArray(newContainer?: never[]): void;
16
+ _closeArray(): void;
17
+ _openObject(newContainer?: {}): void;
18
+ _closeObject(): void;
19
+ }
20
+ //# sourceMappingURL=xml-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../../src/lib/parser/xml-parser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAK7D,qBAAa,SAAS;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,MAAM,YAAa;IACnB,cAAc,UAAM;IACpB,YAAY;;;OAA6C;gBAG7C,OAAO,EAAE,gBAAgB;IA+CrC,KAAK,IAAI,IAAI;IAMb,KAAK,CAAC,KAAK,KAAA,GAAG,IAAI;IAIlB,KAAK,IAAI,IAAI;IAMb,UAAU,CAAC,KAAK,KAAA,GAAG,IAAI;IAYvB,UAAU,CAAC,YAAY,UAAK,GAAG,IAAI;IAOnC,WAAW,IAAI,IAAI;IAKnB,WAAW,CAAC,YAAY,KAAK,GAAG,IAAI;IAOpC,YAAY,IAAI,IAAI;CAIrB"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ // @ts-nocheck
3
+ /* eslint-disable */
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.XMLParser = void 0;
6
+ // import ClarinetParser, {ClarinetParserOptions} from '../clarinet/clarinet.js';
7
+ const sax_1 = require("../../sax-ts/sax");
8
+ // import JSONPath from '../jsonpath/jsonpath.js';
9
+ // XMLParser builds a JSON object using the events emitted by the Clarinet parser
10
+ class XMLParser {
11
+ // jsonpath: JSONPath = new JSONPath();
12
+ constructor(options) {
13
+ this.result = undefined;
14
+ this.previousStates = [];
15
+ this.currentState = Object.freeze({ container: [], key: null });
16
+ this.reset();
17
+ this.parser = new sax_1.SAXParser({
18
+ onready: () => {
19
+ this.previousStates.length = 0;
20
+ this.currentState.container.length = 0;
21
+ },
22
+ onopentag: ({ name, attributes, isSelfClosing }) => {
23
+ this._openObject({});
24
+ if (typeof name !== 'undefined') {
25
+ this.parser.emit('onkey', name);
26
+ }
27
+ },
28
+ onkey: (name) => {
29
+ this.currentState.key = name;
30
+ },
31
+ onclosetag: () => {
32
+ this._closeObject();
33
+ },
34
+ onopenarray: () => {
35
+ this._openArray();
36
+ },
37
+ onclosearray: () => {
38
+ this._closeArray();
39
+ },
40
+ ontext: (value) => {
41
+ this._pushOrSet(value);
42
+ },
43
+ onerror: (error) => {
44
+ throw error;
45
+ },
46
+ onend: () => {
47
+ this.result = this.currentState.container.pop();
48
+ },
49
+ ...options
50
+ });
51
+ }
52
+ reset() {
53
+ this.result = undefined;
54
+ this.previousStates = [];
55
+ this.currentState = Object.freeze({ container: [], key: null });
56
+ }
57
+ write(chunk) {
58
+ this.parser.write(chunk);
59
+ }
60
+ close() {
61
+ this.parser.close();
62
+ }
63
+ // PRIVATE METHODS
64
+ _pushOrSet(value) {
65
+ const { container, key } = this.currentState;
66
+ if (key !== null) {
67
+ container[key] = value;
68
+ this.currentState.key = null;
69
+ }
70
+ else if (Array.isArray(container)) {
71
+ container.push(value);
72
+ }
73
+ else if (container) {
74
+ // debugger
75
+ }
76
+ }
77
+ _openArray(newContainer = []) {
78
+ // this.jsonpath.push(null);
79
+ this._pushOrSet(newContainer);
80
+ this.previousStates.push(this.currentState);
81
+ this.currentState = { container: newContainer, isArray: true, key: null };
82
+ }
83
+ _closeArray() {
84
+ // this.jsonpath.pop();
85
+ this.currentState = this.previousStates.pop();
86
+ }
87
+ _openObject(newContainer = {}) {
88
+ // this.jsonpath.push(null);
89
+ this._pushOrSet(newContainer);
90
+ this.previousStates.push(this.currentState);
91
+ this.currentState = { container: newContainer, isArray: false, key: null };
92
+ }
93
+ _closeObject() {
94
+ // this.jsonpath.pop();
95
+ this.currentState = this.previousStates.pop();
96
+ }
97
+ }
98
+ exports.XMLParser = XMLParser;
@@ -0,0 +1,134 @@
1
+ export type SAXEventName = 'text' | 'processinginstruction' | 'sgmldeclaration' | 'doctype' | 'comment' | 'opentagstart' | 'attribute' | 'opentag' | 'closetag' | 'opencdata' | 'cdata' | 'closecdata' | 'error' | 'end' | 'ready' | 'script' | 'opennamespace' | 'closenamespace';
2
+ export type SAXEventCallback = (data: any, eventName: SAXEventName, SAXParser: any) => void;
3
+ export type SAXEvents = {
4
+ ontext?: SAXEventCallback;
5
+ onprocessinginstruction?: SAXEventCallback;
6
+ onsgmldeclaration?: SAXEventCallback;
7
+ ondoctype?: SAXEventCallback;
8
+ oncomment?: SAXEventCallback;
9
+ onopentagstart?: SAXEventCallback;
10
+ onattribute?: SAXEventCallback;
11
+ onopentag?: SAXEventCallback;
12
+ onclosetag?: SAXEventCallback;
13
+ onopencdata?: SAXEventCallback;
14
+ oncdata?: SAXEventCallback;
15
+ onclosecdata?: SAXEventCallback;
16
+ onerror?: SAXEventCallback;
17
+ onend?: SAXEventCallback;
18
+ onready?: SAXEventCallback;
19
+ onscript?: SAXEventCallback;
20
+ onopennamespace?: SAXEventCallback;
21
+ onclosenamespace?: SAXEventCallback;
22
+ };
23
+ export type SAXParserOptions = SAXEvents & {
24
+ strict?: boolean;
25
+ MAX_BUFFER_LENGTH?: number;
26
+ lowercase?: boolean;
27
+ lowercasetags?: boolean;
28
+ noscript?: boolean;
29
+ strictEntities?: boolean;
30
+ xmlns?: any;
31
+ position?: any;
32
+ trim?: any;
33
+ normalize?: any;
34
+ };
35
+ export declare const ENTITIES: {
36
+ [key: string]: number | string;
37
+ };
38
+ /**
39
+ * Internal helper class
40
+ */
41
+ declare abstract class SAX {
42
+ EVENTS: string[];
43
+ ENTITIES: {
44
+ [key: string]: number | string;
45
+ };
46
+ protected abstract events: SAXEvents;
47
+ protected XML_ENTITIES: {
48
+ [key: string]: string;
49
+ };
50
+ protected S: any;
51
+ protected opt: any;
52
+ protected trackPosition: boolean;
53
+ protected column: number;
54
+ protected line: number;
55
+ protected c: string;
56
+ protected error: any;
57
+ protected q: string;
58
+ protected bufferCheckPosition: any;
59
+ protected closed: boolean;
60
+ protected tags: any[];
61
+ protected looseCase: string;
62
+ protected closedRoot: boolean;
63
+ protected sawRoot: boolean;
64
+ protected strict: boolean;
65
+ protected tag: any;
66
+ protected strictEntities: any;
67
+ protected state: any;
68
+ protected noscript: boolean;
69
+ protected attribList: any[];
70
+ protected ns: any;
71
+ protected position: number;
72
+ private STATE;
73
+ private readonly BUFFERS;
74
+ private CDATA;
75
+ private DOCTYPE;
76
+ private XML_NAMESPACE;
77
+ private XMLNS_NAMESPACE;
78
+ protected rootNS: {};
79
+ private comment;
80
+ private sgmlDecl;
81
+ private textNode;
82
+ private tagName;
83
+ private doctype;
84
+ private procInstName;
85
+ private procInstBody;
86
+ private entity;
87
+ private attribName;
88
+ private attribValue;
89
+ private cdata;
90
+ private script;
91
+ private startTagPosition;
92
+ constructor();
93
+ private static charAt;
94
+ private static isWhitespace;
95
+ private static isQuote;
96
+ private static isAttribEnd;
97
+ private static isMatch;
98
+ private static notMatch;
99
+ private static qname;
100
+ write(chunk: null | object | string): this | SAXParser;
101
+ protected emit(event: string, data?: Error | {}): void;
102
+ protected clearBuffers(): void;
103
+ protected flushBuffers(): void;
104
+ protected end(): SAXParser;
105
+ protected errorFunction(er: string): this;
106
+ private attrib;
107
+ private newTag;
108
+ private parseEntity;
109
+ private beginWhiteSpace;
110
+ private strictFail;
111
+ private textApplyOptions;
112
+ private emitNode;
113
+ private closeText;
114
+ private checkBufferLength;
115
+ private openTag;
116
+ private closeTag;
117
+ }
118
+ /**
119
+ *
120
+ * @todo Weird inheritance, with some variables initialized in subclass
121
+ */
122
+ export declare class SAXParser extends SAX {
123
+ static ENTITIES: {
124
+ [key: string]: string | number;
125
+ };
126
+ opt: Required<SAXParserOptions>;
127
+ events: Required<SAXEvents>;
128
+ constructor(opt?: SAXParserOptions);
129
+ resume(): this;
130
+ close(): this | SAXParser;
131
+ flush(): void;
132
+ }
133
+ export {};
134
+ //# sourceMappingURL=sax.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sax.d.ts","sourceRoot":"","sources":["../../src/sax-ts/sax.ts"],"names":[],"mappings":"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"}