@rgrove/parse-xml 4.0.1 → 4.1.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.
Files changed (51) hide show
  1. package/README.md +40 -25
  2. package/dist/browser.js +642 -223
  3. package/dist/browser.js.map +4 -4
  4. package/dist/global.min.js +9 -8
  5. package/dist/global.min.js.map +4 -4
  6. package/dist/index.d.ts +3 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +7 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/Parser.d.ts +49 -6
  11. package/dist/lib/Parser.d.ts.map +1 -1
  12. package/dist/lib/Parser.js +133 -102
  13. package/dist/lib/Parser.js.map +1 -1
  14. package/dist/lib/StringScanner.d.ts +5 -5
  15. package/dist/lib/StringScanner.d.ts.map +1 -1
  16. package/dist/lib/StringScanner.js +9 -9
  17. package/dist/lib/StringScanner.js.map +1 -1
  18. package/dist/lib/XmlDeclaration.d.ts +30 -0
  19. package/dist/lib/XmlDeclaration.d.ts.map +1 -0
  20. package/dist/lib/XmlDeclaration.js +36 -0
  21. package/dist/lib/XmlDeclaration.js.map +1 -0
  22. package/dist/lib/XmlDocument.d.ts +4 -2
  23. package/dist/lib/XmlDocument.d.ts.map +1 -1
  24. package/dist/lib/XmlDocument.js.map +1 -1
  25. package/dist/lib/XmlDocumentType.d.ts +37 -0
  26. package/dist/lib/XmlDocumentType.d.ts.map +1 -0
  27. package/dist/lib/XmlDocumentType.js +39 -0
  28. package/dist/lib/XmlDocumentType.js.map +1 -0
  29. package/dist/lib/XmlError.d.ts +24 -0
  30. package/dist/lib/XmlError.d.ts.map +1 -0
  31. package/dist/lib/XmlError.js +52 -0
  32. package/dist/lib/XmlError.js.map +1 -0
  33. package/dist/lib/XmlNode.d.ts +20 -1
  34. package/dist/lib/XmlNode.d.ts.map +1 -1
  35. package/dist/lib/XmlNode.js +28 -3
  36. package/dist/lib/XmlNode.js.map +1 -1
  37. package/dist/lib/syntax.d.ts.map +1 -1
  38. package/dist/lib/syntax.js +1 -1
  39. package/dist/lib/syntax.js.map +1 -1
  40. package/dist/lib/types.d.ts +2 -2
  41. package/dist/lib/types.d.ts.map +1 -1
  42. package/package.json +20 -18
  43. package/src/index.ts +3 -0
  44. package/src/lib/Parser.ts +195 -118
  45. package/src/lib/StringScanner.ts +10 -10
  46. package/src/lib/XmlDeclaration.ts +58 -0
  47. package/src/lib/XmlDocument.ts +4 -2
  48. package/src/lib/XmlDocumentType.ts +67 -0
  49. package/src/lib/XmlError.ts +80 -0
  50. package/src/lib/XmlNode.ts +33 -3
  51. package/src/lib/syntax.ts +1 -1
@@ -28,8 +28,12 @@ const StringScanner_js_1 = require("./StringScanner.js");
28
28
  const syntax = __importStar(require("./syntax.js"));
29
29
  const XmlCdata_js_1 = require("./XmlCdata.js");
30
30
  const XmlComment_js_1 = require("./XmlComment.js");
31
+ const XmlDeclaration_js_1 = require("./XmlDeclaration.js");
31
32
  const XmlDocument_js_1 = require("./XmlDocument.js");
33
+ const XmlDocumentType_js_1 = require("./XmlDocumentType.js");
32
34
  const XmlElement_js_1 = require("./XmlElement.js");
35
+ const XmlError_js_1 = require("./XmlError.js");
36
+ const XmlNode_js_1 = require("./XmlNode.js");
33
37
  const XmlProcessingInstruction_js_1 = require("./XmlProcessingInstruction.js");
34
38
  const XmlText_js_1 = require("./XmlText.js");
35
39
  const emptyString = '';
@@ -44,46 +48,61 @@ class Parser {
44
48
  * @param options Parser options.
45
49
  */
46
50
  constructor(xml, options = {}) {
47
- this.document = new XmlDocument_js_1.XmlDocument();
48
- this.currentNode = this.document;
51
+ let doc = this.document = new XmlDocument_js_1.XmlDocument();
52
+ let scanner = this.scanner = new StringScanner_js_1.StringScanner(xml);
53
+ this.currentNode = doc;
49
54
  this.options = options;
50
- this.scanner = new StringScanner_js_1.StringScanner(normalizeXmlString(xml));
55
+ if (this.options.includeOffsets) {
56
+ doc.start = 0;
57
+ doc.end = xml.length;
58
+ }
59
+ scanner.consumeStringFast('\uFEFF'); // byte order mark
51
60
  this.consumeProlog();
52
61
  if (!this.consumeElement()) {
53
62
  throw this.error('Root element is missing or invalid');
54
63
  }
55
64
  while (this.consumeMisc()) { } // eslint-disable-line no-empty
56
- if (!this.scanner.isEnd) {
65
+ if (!scanner.isEnd) {
57
66
  throw this.error('Extra content at the end of the document');
58
67
  }
59
68
  }
60
69
  /**
61
70
  * Adds the given `XmlNode` as a child of `this.currentNode`.
62
71
  */
63
- addNode(node) {
72
+ addNode(node, charIndex) {
64
73
  node.parent = this.currentNode;
74
+ if (this.options.includeOffsets) {
75
+ node.start = this.scanner.charIndexToByteIndex(charIndex);
76
+ node.end = this.scanner.charIndexToByteIndex();
77
+ }
65
78
  // @ts-expect-error: XmlDocument has a more limited set of possible children
66
79
  // than XmlElement so TypeScript is unhappy, but we always do the right
67
80
  // thing.
68
81
  this.currentNode.children.push(node);
82
+ return true;
69
83
  }
70
84
  /**
71
85
  * Adds the given _text_ to the document, either by appending it to a
72
86
  * preceding `XmlText` node (if possible) or by creating a new `XmlText` node.
73
87
  */
74
- addText(text) {
88
+ addText(text, charIndex) {
75
89
  let { children } = this.currentNode;
76
90
  let { length } = children;
91
+ text = normalizeLineBreaks(text);
77
92
  if (length > 0) {
78
93
  let prevNode = children[length - 1];
79
- if (prevNode instanceof XmlText_js_1.XmlText) {
94
+ if (prevNode?.type === XmlNode_js_1.XmlNode.TYPE_TEXT) {
95
+ let textNode = prevNode;
80
96
  // The previous node is a text node, so we can append to it and avoid
81
97
  // creating another node.
82
- prevNode.text += text;
83
- return;
98
+ textNode.text += text;
99
+ if (this.options.includeOffsets) {
100
+ textNode.end = this.scanner.charIndexToByteIndex();
101
+ }
102
+ return true;
84
103
  }
85
104
  }
86
- this.addNode(new XmlText_js_1.XmlText(text));
105
+ return this.addNode(new XmlText_js_1.XmlText(text), charIndex);
87
106
  }
88
107
  /**
89
108
  * Consumes element attributes.
@@ -178,6 +197,7 @@ class Parser {
178
197
  */
179
198
  consumeCdataSection() {
180
199
  let { scanner } = this;
200
+ let startIndex = scanner.charIndex;
181
201
  if (!scanner.consumeStringFast('<![CDATA[')) {
182
202
  return false;
183
203
  }
@@ -186,13 +206,9 @@ class Parser {
186
206
  if (!scanner.consumeStringFast(']]>')) {
187
207
  throw this.error('Unclosed CDATA section');
188
208
  }
189
- if (this.options.preserveCdata) {
190
- this.addNode(new XmlCdata_js_1.XmlCdata(text));
191
- }
192
- else {
193
- this.addText(text);
194
- }
195
- return true;
209
+ return this.options.preserveCdata
210
+ ? this.addNode(new XmlCdata_js_1.XmlCdata(normalizeLineBreaks(text)), startIndex)
211
+ : this.addText(text, startIndex);
196
212
  }
197
213
  /**
198
214
  * Consumes character data if possible.
@@ -202,6 +218,7 @@ class Parser {
202
218
  */
203
219
  consumeCharData() {
204
220
  let { scanner } = this;
221
+ let startIndex = scanner.charIndex;
205
222
  let charData = scanner.consumeUntilMatch(syntax.endCharData);
206
223
  if (!charData) {
207
224
  return false;
@@ -210,8 +227,7 @@ class Parser {
210
227
  if (scanner.peek(3) === ']]>') {
211
228
  throw this.error('Element content may not contain the CDATA section close delimiter `]]>`');
212
229
  }
213
- this.addText(charData);
214
- return true;
230
+ return this.addText(charData, startIndex);
215
231
  }
216
232
  /**
217
233
  * Consumes a comment if possible.
@@ -221,6 +237,7 @@ class Parser {
221
237
  */
222
238
  consumeComment() {
223
239
  let { scanner } = this;
240
+ let startIndex = scanner.charIndex;
224
241
  if (!scanner.consumeStringFast('<!--')) {
225
242
  return false;
226
243
  }
@@ -232,10 +249,9 @@ class Parser {
232
249
  }
233
250
  throw this.error('Unclosed comment');
234
251
  }
235
- if (this.options.preserveComments) {
236
- this.addNode(new XmlComment_js_1.XmlComment(content.trim()));
237
- }
238
- return true;
252
+ return this.options.preserveComments
253
+ ? this.addNode(new XmlComment_js_1.XmlComment(normalizeLineBreaks(content)), startIndex)
254
+ : true;
239
255
  }
240
256
  /**
241
257
  * Consumes a reference in a content context if possible.
@@ -247,12 +263,11 @@ class Parser {
247
263
  * @see https://www.w3.org/TR/2008/REC-xml-20081126/#entproc
248
264
  */
249
265
  consumeContentReference() {
266
+ let startIndex = this.scanner.charIndex;
250
267
  let ref = this.consumeReference();
251
- if (ref) {
252
- this.addText(ref);
253
- return true;
254
- }
255
- return false;
268
+ return ref
269
+ ? this.addText(ref, startIndex)
270
+ : false;
256
271
  }
257
272
  /**
258
273
  * Consumes a doctype declaration if possible.
@@ -265,18 +280,51 @@ class Parser {
265
280
  */
266
281
  consumeDoctypeDeclaration() {
267
282
  let { scanner } = this;
268
- if (!scanner.consumeStringFast('<!DOCTYPE')
269
- || !this.consumeWhitespace()) {
283
+ let startIndex = scanner.charIndex;
284
+ if (!scanner.consumeStringFast('<!DOCTYPE')) {
270
285
  return false;
271
286
  }
272
- scanner.consumeMatch(/[^[>]+/y);
273
- if (scanner.consumeMatch(/\[[\s\S]+?\][\x20\t\r\n]*>/y)) {
274
- return true;
287
+ let name = this.consumeWhitespace()
288
+ && this.consumeName();
289
+ if (!name) {
290
+ throw this.error('Expected a name');
291
+ }
292
+ let publicId;
293
+ let systemId;
294
+ if (this.consumeWhitespace()) {
295
+ if (scanner.consumeStringFast('PUBLIC')) {
296
+ publicId = this.consumeWhitespace()
297
+ && this.consumePubidLiteral();
298
+ if (publicId === false) {
299
+ throw this.error('Expected a public identifier');
300
+ }
301
+ this.consumeWhitespace();
302
+ }
303
+ if (publicId !== undefined || scanner.consumeStringFast('SYSTEM')) {
304
+ this.consumeWhitespace();
305
+ systemId = this.consumeSystemLiteral();
306
+ if (systemId === false) {
307
+ throw this.error('Expected a system identifier');
308
+ }
309
+ this.consumeWhitespace();
310
+ }
311
+ }
312
+ let internalSubset;
313
+ if (scanner.consumeStringFast('[')) {
314
+ // The internal subset may contain comments that contain `]` characters,
315
+ // so we can't use `consumeUntilString()` here.
316
+ internalSubset = scanner.consumeUntilMatch(/\][\x20\t\r\n]*>/);
317
+ if (!scanner.consumeStringFast(']')) {
318
+ throw this.error('Unclosed internal subset');
319
+ }
320
+ this.consumeWhitespace();
275
321
  }
276
322
  if (!scanner.consumeStringFast('>')) {
277
323
  throw this.error('Unclosed doctype declaration');
278
324
  }
279
- return true;
325
+ return this.options.preserveDocumentType
326
+ ? this.addNode(new XmlDocumentType_js_1.XmlDocumentType(name, publicId, systemId, internalSubset), startIndex)
327
+ : true;
280
328
  }
281
329
  /**
282
330
  * Consumes an element if possible.
@@ -286,17 +334,17 @@ class Parser {
286
334
  */
287
335
  consumeElement() {
288
336
  let { scanner } = this;
289
- let mark = scanner.charIndex;
337
+ let startIndex = scanner.charIndex;
290
338
  if (!scanner.consumeStringFast('<')) {
291
339
  return false;
292
340
  }
293
341
  let name = this.consumeName();
294
342
  if (!name) {
295
- scanner.reset(mark);
343
+ scanner.reset(startIndex);
296
344
  return false;
297
345
  }
298
346
  let attributes = this.consumeAttributes();
299
- let isEmpty = Boolean(scanner.consumeStringFast('/>'));
347
+ let isEmpty = !!scanner.consumeStringFast('/>');
300
348
  let element = new XmlElement_js_1.XmlElement(name, attributes);
301
349
  element.parent = this.currentNode;
302
350
  if (!isEmpty) {
@@ -325,8 +373,7 @@ class Parser {
325
373
  }
326
374
  this.currentNode = element.parent;
327
375
  }
328
- this.addNode(element);
329
- return true;
376
+ return this.addNode(element, startIndex);
330
377
  }
331
378
  /**
332
379
  * Consumes an `Eq` production if possible.
@@ -372,14 +419,14 @@ class Parser {
372
419
  */
373
420
  consumeProcessingInstruction() {
374
421
  let { scanner } = this;
375
- let mark = scanner.charIndex;
422
+ let startIndex = scanner.charIndex;
376
423
  if (!scanner.consumeStringFast('<?')) {
377
424
  return false;
378
425
  }
379
426
  let name = this.consumeName();
380
427
  if (name) {
381
428
  if (name.toLowerCase() === 'xml') {
382
- scanner.reset(mark);
429
+ scanner.reset(startIndex);
383
430
  throw this.error("XML declaration isn't allowed here");
384
431
  }
385
432
  }
@@ -388,8 +435,7 @@ class Parser {
388
435
  }
389
436
  if (!this.consumeWhitespace()) {
390
437
  if (scanner.consumeStringFast('?>')) {
391
- this.addNode(new XmlProcessingInstruction_js_1.XmlProcessingInstruction(name));
392
- return true;
438
+ return this.addNode(new XmlProcessingInstruction_js_1.XmlProcessingInstruction(name), startIndex);
393
439
  }
394
440
  throw this.error('Whitespace is required after a processing instruction name');
395
441
  }
@@ -398,8 +444,7 @@ class Parser {
398
444
  if (!scanner.consumeStringFast('?>')) {
399
445
  throw this.error('Unterminated processing instruction');
400
446
  }
401
- this.addNode(new XmlProcessingInstruction_js_1.XmlProcessingInstruction(name, content));
402
- return true;
447
+ return this.addNode(new XmlProcessingInstruction_js_1.XmlProcessingInstruction(name, normalizeLineBreaks(content)), startIndex);
403
448
  }
404
449
  /**
405
450
  * Consumes a prolog if possible.
@@ -409,13 +454,32 @@ class Parser {
409
454
  */
410
455
  consumeProlog() {
411
456
  let { scanner } = this;
412
- let mark = scanner.charIndex;
457
+ let startIndex = scanner.charIndex;
413
458
  this.consumeXmlDeclaration();
414
459
  while (this.consumeMisc()) { } // eslint-disable-line no-empty
415
460
  if (this.consumeDoctypeDeclaration()) {
416
461
  while (this.consumeMisc()) { } // eslint-disable-line no-empty
417
462
  }
418
- return mark < scanner.charIndex;
463
+ return startIndex < scanner.charIndex;
464
+ }
465
+ /**
466
+ * Consumes a public identifier literal if possible.
467
+ *
468
+ * @returns
469
+ * Value of the public identifier literal minus quotes, or `false` if
470
+ * nothing was consumed. An empty string indicates that a public id literal
471
+ * was consumed but was empty.
472
+ *
473
+ * @see https://www.w3.org/TR/2008/REC-xml-20081126/#NT-PubidLiteral
474
+ */
475
+ consumePubidLiteral() {
476
+ let startIndex = this.scanner.charIndex;
477
+ let value = this.consumeSystemLiteral();
478
+ if (value !== false && !/^[-\x20\r\na-zA-Z0-9'()+,./:=?;!*#@$_%]*$/.test(value)) {
479
+ this.scanner.reset(startIndex);
480
+ throw this.error('Invalid character in public identifier');
481
+ }
482
+ return value;
419
483
  }
420
484
  /**
421
485
  * Consumes a reference if possible.
@@ -510,7 +574,7 @@ class Parser {
510
574
  * @see https://www.w3.org/TR/2008/REC-xml-20081126/#white
511
575
  */
512
576
  consumeWhitespace() {
513
- return Boolean(this.scanner.consumeMatchFn(syntax.isWhitespace));
577
+ return !!this.scanner.consumeMatchFn(syntax.isWhitespace);
514
578
  }
515
579
  /**
516
580
  * Consumes an XML declaration if possible.
@@ -520,13 +584,14 @@ class Parser {
520
584
  */
521
585
  consumeXmlDeclaration() {
522
586
  let { scanner } = this;
587
+ let startIndex = scanner.charIndex;
523
588
  if (!scanner.consumeStringFast('<?xml')) {
524
589
  return false;
525
590
  }
526
591
  if (!this.consumeWhitespace()) {
527
592
  throw this.error('Invalid XML declaration');
528
593
  }
529
- let version = Boolean(scanner.consumeStringFast('version'))
594
+ let version = !!scanner.consumeStringFast('version')
530
595
  && this.consumeEqual()
531
596
  && this.consumeSystemLiteral();
532
597
  if (version === false) {
@@ -535,14 +600,16 @@ class Parser {
535
600
  else if (!/^1\.[0-9]+$/.test(version)) {
536
601
  throw this.error('Invalid character in version number');
537
602
  }
603
+ let encoding;
604
+ let standalone;
538
605
  if (this.consumeWhitespace()) {
539
- let encoding = Boolean(scanner.consumeStringFast('encoding'))
606
+ encoding = !!scanner.consumeStringFast('encoding')
540
607
  && this.consumeEqual()
541
608
  && this.consumeSystemLiteral();
542
609
  if (encoding) {
543
610
  this.consumeWhitespace();
544
611
  }
545
- let standalone = Boolean(scanner.consumeStringFast('standalone'))
612
+ standalone = !!scanner.consumeStringFast('standalone')
546
613
  && this.consumeEqual()
547
614
  && this.consumeSystemLiteral();
548
615
  if (standalone) {
@@ -555,55 +622,16 @@ class Parser {
555
622
  if (!scanner.consumeStringFast('?>')) {
556
623
  throw this.error('Invalid or unclosed XML declaration');
557
624
  }
558
- return true;
625
+ return this.options.preserveXmlDeclaration
626
+ ? this.addNode(new XmlDeclaration_js_1.XmlDeclaration(version, encoding || undefined, standalone || undefined), startIndex)
627
+ : true;
559
628
  }
560
629
  /**
561
- * Throws an error at the current scanner position.
630
+ * Returns an `XmlError` for the current scanner position.
562
631
  */
563
632
  error(message) {
564
- let { charIndex, string: xml } = this.scanner;
565
- let column = 1;
566
- let excerpt = '';
567
- let line = 1;
568
- // Find the line and column where the error occurred.
569
- for (let i = 0; i < charIndex; ++i) {
570
- let char = xml[i];
571
- if (char === '\n') {
572
- column = 1;
573
- excerpt = '';
574
- line += 1;
575
- }
576
- else {
577
- column += 1;
578
- excerpt += char;
579
- }
580
- }
581
- let eol = xml.indexOf('\n', charIndex);
582
- excerpt += eol === -1
583
- ? xml.slice(charIndex)
584
- : xml.slice(charIndex, eol);
585
- let excerptStart = 0;
586
- // Keep the excerpt below 50 chars, but always keep the error position in
587
- // view.
588
- if (excerpt.length > 50) {
589
- if (column < 40) {
590
- excerpt = excerpt.slice(0, 50);
591
- }
592
- else {
593
- excerptStart = column - 20;
594
- excerpt = excerpt.slice(excerptStart, column + 30);
595
- }
596
- }
597
- let err = new Error(`${message} (line ${line}, column ${column})\n`
598
- + ` ${excerpt}\n`
599
- + ' '.repeat(column - excerptStart + 1) + '^\n');
600
- Object.assign(err, {
601
- column,
602
- excerpt,
603
- line,
604
- pos: charIndex,
605
- });
606
- return err;
633
+ let { scanner } = this;
634
+ return new XmlError_js_1.XmlError(message, scanner.charIndex, scanner.string);
607
635
  }
608
636
  /**
609
637
  * Throws an invalid character error if any character in the given _string_
@@ -626,13 +654,16 @@ class Parser {
626
654
  exports.Parser = Parser;
627
655
  // -- Private Functions --------------------------------------------------------
628
656
  /**
629
- * Normalizes the given XML string by stripping a byte order mark (if present)
630
- * and replacing CRLF sequences and lone CR characters with LF characters.
657
+ * Normalizes line breaks in the given text by replacing CRLF sequences and lone
658
+ * CR characters with LF characters.
631
659
  */
632
- function normalizeXmlString(xml) {
633
- if (xml[0] === '\uFEFF') {
634
- xml = xml.slice(1);
660
+ function normalizeLineBreaks(text) {
661
+ let i = 0;
662
+ while ((i = text.indexOf('\r', i)) !== -1) {
663
+ text = text[i + 1] === '\n'
664
+ ? text.slice(0, i) + text.slice(i + 1)
665
+ : text.slice(0, i) + '\n' + text.slice(i + 1);
635
666
  }
636
- return xml.replace(/\r\n?/g, '\n');
667
+ return text;
637
668
  }
638
669
  //# sourceMappingURL=Parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/lib/Parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/lib/Parser.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,6 @@ export declare class StringScanner {
11
11
  * Whether the current character index is at the end of the input string.
12
12
  */
13
13
  get isEnd(): boolean;
14
- /**
15
- * Returns the byte index of the given character index in the string. The two
16
- * may differ in strings that contain multibyte characters.
17
- */
18
- protected charIndexToByteIndex(charIndex?: number): number;
19
14
  /**
20
15
  * Returns the number of characters in the given string, which may differ from
21
16
  * the byte length if the string contains multibyte characters.
@@ -26,6 +21,11 @@ export declare class StringScanner {
26
21
  * of the string is reached.
27
22
  */
28
23
  advance(count?: number): void;
24
+ /**
25
+ * Returns the byte index of the given character index in the string. The two
26
+ * may differ in strings that contain multibyte characters.
27
+ */
28
+ charIndexToByteIndex(charIndex?: number): number;
29
29
  /**
30
30
  * Consumes and returns the given number of characters if possible, advancing
31
31
  * the scanner and stopping if the end of the string is reached.
@@ -1 +1 @@
1
- {"version":3,"file":"StringScanner.d.ts","sourceRoot":"","sources":["../../src/lib/StringScanner.ts"],"names":[],"mappings":"AAGA,eAAe;AACf,qBAAa,aAAa;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAE5B,MAAM,EAAE,MAAM;IAsB1B;;OAEG;IACH,IAAI,KAAK,YAER;IAID;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,SAAS,GAAE,MAAuB,GAAG,MAAM;IAM1E;;;OAGG;IACH,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,UAAqB,GAAG,MAAM;IAWhF;;;OAGG;IACH,OAAO,CAAC,KAAK,SAAI;IAIjB;;;;;OAKG;IACH,OAAO,CAAC,KAAK,SAAI,GAAG,MAAM;IAM1B;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkBnC;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM;IAYrD;;;;;;OAMG;IACH,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAoB9C;;;;OAIG;IACH,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAWlD;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAaxC;;;;;;OAMG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAchD;;;;OAIG;IACH,IAAI,CAAC,KAAK,SAAI,GAAG,MAAM;IAmBvB;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,SAAI;CAKhB"}
1
+ {"version":3,"file":"StringScanner.d.ts","sourceRoot":"","sources":["../../src/lib/StringScanner.ts"],"names":[],"mappings":"AAGA,eAAe;AACf,qBAAa,aAAa;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAE5B,MAAM,EAAE,MAAM;IAsB1B;;OAEG;IACH,IAAI,KAAK,YAER;IAID;;;OAGG;IACH,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,UAAqB,GAAG,MAAM;IAWhF;;;OAGG;IACH,OAAO,CAAC,KAAK,SAAI;IAIjB;;;OAGG;IACH,oBAAoB,CAAC,SAAS,GAAE,MAAuB,GAAG,MAAM;IAMhE;;;;;OAKG;IACH,OAAO,CAAC,KAAK,SAAI,GAAG,MAAM;IAM1B;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkBnC;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM;IAYrD;;;;;;OAMG;IACH,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAoB9C;;;;OAIG;IACH,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAWlD;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAaxC;;;;;;OAMG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAchD;;;;OAIG;IACH,IAAI,CAAC,KAAK,SAAI,GAAG,MAAM;IAmBvB;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,SAAI;CAKhB"}
@@ -30,15 +30,6 @@ class StringScanner {
30
30
  return this.charIndex >= this.charCount;
31
31
  }
32
32
  // -- Protected Methods ------------------------------------------------------
33
- /**
34
- * Returns the byte index of the given character index in the string. The two
35
- * may differ in strings that contain multibyte characters.
36
- */
37
- charIndexToByteIndex(charIndex = this.charIndex) {
38
- return this.multiByteMode
39
- ? this.charsToBytes[charIndex] ?? Infinity
40
- : charIndex;
41
- }
42
33
  /**
43
34
  * Returns the number of characters in the given string, which may differ from
44
35
  * the byte length if the string contains multibyte characters.
@@ -59,6 +50,15 @@ class StringScanner {
59
50
  advance(count = 1) {
60
51
  this.charIndex = Math.min(this.charCount, this.charIndex + count);
61
52
  }
53
+ /**
54
+ * Returns the byte index of the given character index in the string. The two
55
+ * may differ in strings that contain multibyte characters.
56
+ */
57
+ charIndexToByteIndex(charIndex = this.charIndex) {
58
+ return this.multiByteMode
59
+ ? this.charsToBytes[charIndex] ?? Infinity
60
+ : charIndex;
61
+ }
62
62
  /**
63
63
  * Consumes and returns the given number of characters if possible, advancing
64
64
  * the scanner and stopping if the end of the string is reached.
@@ -1 +1 @@
1
- {"version":3,"file":"StringScanner.js","sourceRoot":"","sources":["../../src/lib/StringScanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StringScanner.js","sourceRoot":"","sources":["../../src/lib/StringScanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { XmlNode } from './XmlNode.js';
2
+ /**
3
+ * An XML declaration within an XML document.
4
+ *
5
+ * @example
6
+ *
7
+ * ```xml
8
+ * <?xml version="1.0" encoding="UTF-8"?>
9
+ * ```
10
+ */
11
+ export declare class XmlDeclaration extends XmlNode {
12
+ /**
13
+ * Value of the encoding declaration in this XML declaration, or `null` if no
14
+ * encoding declaration was present.
15
+ */
16
+ encoding: string | null;
17
+ /**
18
+ * Value of the standalone declaration in this XML declaration, or `null` if
19
+ * no standalone declaration was present.
20
+ */
21
+ standalone: 'yes' | 'no' | null;
22
+ /**
23
+ * Value of the version declaration in this XML declaration.
24
+ */
25
+ version: string;
26
+ constructor(version: string, encoding?: string, standalone?: typeof XmlDeclaration.prototype.standalone);
27
+ get type(): string;
28
+ toJSON(): import("./types.js").JsonObject;
29
+ }
30
+ //# sourceMappingURL=XmlDeclaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XmlDeclaration.d.ts","sourceRoot":"","sources":["../../src/lib/XmlDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,OAAO;IACzC;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;;OAGG;IACH,UAAU,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;gBAGd,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,OAAO,cAAc,CAAC,SAAS,CAAC,UAAU;IASzD,IAAa,IAAI,WAEhB;IAEQ,MAAM;CAYhB"}