xml-tokenizer 0.0.26 → 0.0.27

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 (73) hide show
  1. package/dist/cjs/get-q-name.js +1 -7
  2. package/dist/cjs/index.js +1 -75
  3. package/dist/cjs/selector/TokenSelectState.js +1 -106
  4. package/dist/cjs/selector/TokenSelectStateMachine.js +1 -150
  5. package/dist/cjs/selector/TokenSelector.js +1 -139
  6. package/dist/cjs/selector/match-string.js +1 -21
  7. package/dist/cjs/selector/select.js +1 -19
  8. package/dist/cjs/token-to-xml.js +1 -44
  9. package/dist/cjs/tokenizer/XmlError.js +1 -96
  10. package/dist/cjs/tokenizer/XmlStream.js +1 -447
  11. package/dist/cjs/tokenizer/ascii-constants.js +1 -69
  12. package/dist/cjs/tokenizer/tokenize.js +1 -408
  13. package/dist/cjs/tokenizer/utils.js +1 -47
  14. package/dist/cjs/tokens-to-xml.js +1 -13
  15. package/dist/cjs/xml-to-object.js +1 -69
  16. package/dist/cjs/xml-to-simplified-object.js +1 -86
  17. package/dist/esm/get-q-name.js +1 -5
  18. package/dist/esm/index.js +1 -14
  19. package/dist/esm/selector/TokenSelectState.js +1 -102
  20. package/dist/esm/selector/TokenSelectStateMachine.js +1 -148
  21. package/dist/esm/selector/TokenSelector.js +1 -137
  22. package/dist/esm/selector/match-string.js +1 -19
  23. package/dist/esm/selector/select.js +1 -17
  24. package/dist/esm/token-to-xml.js +1 -42
  25. package/dist/esm/tokenizer/XmlError.js +1 -94
  26. package/dist/esm/tokenizer/XmlStream.js +1 -445
  27. package/dist/esm/tokenizer/ascii-constants.js +1 -35
  28. package/dist/esm/tokenizer/tokenize.js +1 -405
  29. package/dist/esm/tokenizer/utils.js +1 -40
  30. package/dist/esm/tokens-to-xml.js +1 -11
  31. package/dist/esm/xml-to-object.js +1 -66
  32. package/dist/esm/xml-to-simplified-object.js +1 -83
  33. package/dist/types/get-q-name.d.ts +0 -1
  34. package/dist/types/index.d.ts +0 -1
  35. package/dist/types/selector/TokenSelectState.d.ts +0 -1
  36. package/dist/types/selector/TokenSelectStateMachine.d.ts +0 -1
  37. package/dist/types/selector/TokenSelector.d.ts +0 -1
  38. package/dist/types/selector/index.d.ts +0 -1
  39. package/dist/types/selector/match-string.d.ts +0 -1
  40. package/dist/types/selector/select.d.ts +0 -1
  41. package/dist/types/selector/types.d.ts +0 -1
  42. package/dist/types/token-to-xml.d.ts +0 -1
  43. package/dist/types/tokenizer/XmlError.d.ts +0 -1
  44. package/dist/types/tokenizer/XmlStream.d.ts +20 -1
  45. package/dist/types/tokenizer/ascii-constants.d.ts +0 -1
  46. package/dist/types/tokenizer/index.d.ts +0 -1
  47. package/dist/types/tokenizer/tokenize.d.ts +0 -1
  48. package/dist/types/tokenizer/types.d.ts +3 -2
  49. package/dist/types/tokenizer/utils.d.ts +0 -1
  50. package/dist/types/tokens-to-xml.d.ts +0 -1
  51. package/dist/types/xml-to-object.d.ts +0 -1
  52. package/dist/types/xml-to-simplified-object.d.ts +0 -1
  53. package/package.json +1 -1
  54. package/dist/types/get-q-name.d.ts.map +0 -1
  55. package/dist/types/index.d.ts.map +0 -1
  56. package/dist/types/selector/TokenSelectState.d.ts.map +0 -1
  57. package/dist/types/selector/TokenSelectStateMachine.d.ts.map +0 -1
  58. package/dist/types/selector/TokenSelector.d.ts.map +0 -1
  59. package/dist/types/selector/index.d.ts.map +0 -1
  60. package/dist/types/selector/match-string.d.ts.map +0 -1
  61. package/dist/types/selector/select.d.ts.map +0 -1
  62. package/dist/types/selector/types.d.ts.map +0 -1
  63. package/dist/types/token-to-xml.d.ts.map +0 -1
  64. package/dist/types/tokenizer/XmlError.d.ts.map +0 -1
  65. package/dist/types/tokenizer/XmlStream.d.ts.map +0 -1
  66. package/dist/types/tokenizer/ascii-constants.d.ts.map +0 -1
  67. package/dist/types/tokenizer/index.d.ts.map +0 -1
  68. package/dist/types/tokenizer/tokenize.d.ts.map +0 -1
  69. package/dist/types/tokenizer/types.d.ts.map +0 -1
  70. package/dist/types/tokenizer/utils.d.ts.map +0 -1
  71. package/dist/types/tokens-to-xml.d.ts.map +0 -1
  72. package/dist/types/xml-to-object.d.ts.map +0 -1
  73. package/dist/types/xml-to-simplified-object.d.ts.map +0 -1
@@ -1,408 +1 @@
1
- 'use strict';
2
-
3
- var getQName = require('../get-q-name.js');
4
- var asciiConstants = require('./ascii-constants.js');
5
- var utils = require('./utils.js');
6
- var XmlError = require('./XmlError.js');
7
- var XmlStream = require('./XmlStream.js');
8
-
9
- const BOM = "\uFEFF";
10
- const XML_DECLARATION_START = "<?xml ";
11
- const XML_DECLARATION_END = "?>";
12
- const ENTITY_DECLARATION_START = "<!ENTITY";
13
- const ELEMENT_DECLARATION_START = "<!ELEMENT";
14
- const ATTLIST_DECLARATION_START = "<!ATTLIST";
15
- const NOTATION_DECLARATION_START = "<!NOTATION";
16
- const DOCTYPE_START = "<!DOCTYPE";
17
- const PI_START = "<?";
18
- const PI_END = "?>";
19
- const COMMENT_START = "<!--";
20
- const COMMENT_END = "-->";
21
- const CDATA_START = "<![CDATA[";
22
- const CDATA_END = "]]>";
23
- const NDATA = "NDATA";
24
- const PUBLIC = "PUBLIC";
25
- const SYSTEM = "SYSTEM";
26
- const VERSION = "version";
27
- const ENCODING = "encoding";
28
- const STANDALONE = "standalone";
29
- function tokenize(xmlString, tokenCallback, options = {}) {
30
- tokenizeXmlStream(new XmlStream.XmlStream(xmlString, options), tokenCallback);
31
- }
32
- function tokenizeXmlStream(s, tokenCallback) {
33
- if (s.startsWith(BOM)) {
34
- s.advance(1);
35
- }
36
- if (s.startsWith(XML_DECLARATION_START)) {
37
- parseDeclaration(s);
38
- }
39
- parseMisc(s, tokenCallback);
40
- s.skipSpaces();
41
- if (s.startsWith(DOCTYPE_START) || s.startsWith(DOCTYPE_START.toLowerCase())) {
42
- if (!s.config.allowDtd) {
43
- throw new XmlError.XmlError({ type: "DtdDetected" });
44
- }
45
- parseDoctype(s, tokenCallback);
46
- parseMisc(s, tokenCallback);
47
- }
48
- s.skipSpaces();
49
- if (s.config.strictDocument) {
50
- if (!s.atEnd() && s.currCodeUnit() === asciiConstants.LESS_THAN) {
51
- parseElement(s, tokenCallback);
52
- }
53
- parseMisc(s, tokenCallback);
54
- if (!s.atEnd()) {
55
- throw new XmlError.XmlError({ type: "UnknownToken", message: "Not at end" }, s.genTextPos());
56
- }
57
- } else {
58
- while (!s.atEnd()) {
59
- if (s.currCodeUnit() === asciiConstants.LESS_THAN) {
60
- parseElement(s, tokenCallback);
61
- } else {
62
- parseText(s, tokenCallback);
63
- }
64
- parseMisc(s, tokenCallback);
65
- }
66
- }
67
- }
68
- function parseMisc(s, tokenCallback) {
69
- while (!s.atEnd()) {
70
- s.skipSpaces();
71
- if (s.startsWith(COMMENT_START)) {
72
- parseComment(s, tokenCallback);
73
- } else if (s.startsWith(PI_START)) {
74
- parsePi(s, tokenCallback);
75
- } else {
76
- break;
77
- }
78
- }
79
- }
80
- function parseDeclaration(s) {
81
- function consumeSpaces(_s) {
82
- if (_s.startsWithSpace()) {
83
- _s.skipSpaces();
84
- } else if (!_s.startsWith(XML_DECLARATION_END) && !_s.atEnd()) {
85
- throw new XmlError.XmlError(
86
- { type: "InvalidChar", expected: "a whitespace", actual: _s.currCodeUnitUnchecked() },
87
- _s.genTextPos()
88
- );
89
- }
90
- }
91
- s.advance(5);
92
- consumeSpaces(s);
93
- if (!s.startsWith(VERSION)) {
94
- throw new XmlError.XmlError({ type: "InvalidString", expected: "version" }, s.genTextPos());
95
- }
96
- parseAttribute(s);
97
- consumeSpaces(s);
98
- if (s.startsWith(ENCODING)) {
99
- parseAttribute(s);
100
- consumeSpaces(s);
101
- }
102
- if (s.startsWith(STANDALONE)) {
103
- parseAttribute(s);
104
- }
105
- s.skipSpaces();
106
- s.skipString(XML_DECLARATION_END);
107
- }
108
- function parseComment(s, tokenCallback) {
109
- const start = s.getPos();
110
- s.advance(4);
111
- const text = s.consumeCodeUnitsWhile((c, _s) => !(c === asciiConstants.HYPHEN && _s.startsWith(COMMENT_END)));
112
- s.skipString(COMMENT_END);
113
- if (text.includes("--") || text.endsWith("-")) {
114
- throw new XmlError.XmlError({ type: "InvalidComment" }, s.genTextPosFrom(start));
115
- }
116
- tokenCallback({ type: "Comment", text, range: s.rangeFrom(start) });
117
- }
118
- function parsePi(s, tokenCallback) {
119
- if (s.startsWith(XML_DECLARATION_START)) {
120
- throw new XmlError.XmlError({ type: "UnexpectedDeclaration" }, s.genTextPos());
121
- }
122
- const start = s.getPos();
123
- s.advance(2);
124
- const target = s.consumeName();
125
- s.skipSpaces();
126
- const content = s.consumeCodeUnitsWhile(
127
- (c, _s) => !(c === asciiConstants.QUESTION_MARK && _s.startsWith(PI_END))
128
- );
129
- s.skipString(PI_END);
130
- tokenCallback({
131
- type: "ProcessingInstruction",
132
- target,
133
- content: content.length === 0 ? void 0 : content,
134
- range: s.rangeFrom(start)
135
- });
136
- }
137
- function parseDoctype(s, tokenCallback) {
138
- const start = s.getPos();
139
- parseDoctypeStart(s);
140
- s.skipSpaces();
141
- if (s.currCodeUnit() === asciiConstants.GREATER_THAN) {
142
- s.advance(1);
143
- return;
144
- }
145
- s.advance(1);
146
- while (!s.atEnd()) {
147
- s.skipSpaces();
148
- if (s.startsWith(ENTITY_DECLARATION_START)) {
149
- parseEntityDecl(s, tokenCallback);
150
- } else if (s.startsWith(COMMENT_START)) {
151
- parseComment(s, tokenCallback);
152
- } else if (s.startsWith(PI_START)) {
153
- parsePi(s, tokenCallback);
154
- } else if (s.startsWith("]")) {
155
- s.advance(1);
156
- s.skipSpaces();
157
- if (s.currCodeUnit() === asciiConstants.GREATER_THAN) {
158
- s.advance(1);
159
- break;
160
- } else {
161
- throw new XmlError.XmlError(
162
- { type: "InvalidChar", expected: "'>'", actual: s.currCodeUnitUnchecked() },
163
- s.genTextPos()
164
- );
165
- }
166
- } else if (s.startsWith(ELEMENT_DECLARATION_START) || s.startsWith(ATTLIST_DECLARATION_START) || s.startsWith(NOTATION_DECLARATION_START)) {
167
- try {
168
- consumeDecl(s);
169
- } catch (e) {
170
- throw new XmlError.XmlError(
171
- { type: "UnknownToken", message: "Failed to consume declaration" },
172
- s.genTextPosFrom(start)
173
- );
174
- }
175
- } else {
176
- throw new XmlError.XmlError(
177
- { type: "UnknownToken", message: "Failed to parse doctype" },
178
- s.genTextPos()
179
- );
180
- }
181
- }
182
- }
183
- function parseDoctypeStart(s) {
184
- s.advance(9);
185
- s.consumeSpaces();
186
- s.skipName();
187
- s.skipSpaces();
188
- parseExternalId(s);
189
- s.skipSpaces();
190
- const currCodeUnit = s.currCodeUnit();
191
- if (currCodeUnit !== asciiConstants.OPEN_SQUARE_BRACKET && currCodeUnit !== asciiConstants.GREATER_THAN) {
192
- throw new XmlError.XmlError(
193
- { type: "InvalidChar", expected: "'[' or '>'", actual: currCodeUnit },
194
- s.genTextPos()
195
- );
196
- }
197
- }
198
- function parseExternalId(s) {
199
- if (s.startsWith(SYSTEM) || s.startsWith(PUBLIC)) {
200
- const start = s.getPos();
201
- s.advance(6);
202
- const id = s.sliceBack(start);
203
- s.consumeSpaces();
204
- const quote = s.consumeQuote();
205
- s.consumeCodeUnitsWhile((c) => c !== quote);
206
- s.consumeCodeUnit(quote);
207
- if (id === PUBLIC) {
208
- s.consumeSpaces();
209
- const _quote = s.consumeQuote();
210
- s.consumeCodeUnitsWhile((c) => c !== _quote);
211
- s.consumeCodeUnit(_quote);
212
- }
213
- return true;
214
- }
215
- return false;
216
- }
217
- function parseEntityDecl(s, tokenCallback) {
218
- s.advance(8);
219
- s.consumeSpaces();
220
- const isGe = !s.tryConsumeCodeUnit(asciiConstants.PERCENT);
221
- if (!isGe) {
222
- s.consumeSpaces();
223
- }
224
- const name = s.consumeName();
225
- s.consumeSpaces();
226
- const definition = parseEntityDef(s, isGe);
227
- if (definition !== null) {
228
- tokenCallback({ type: "EntityDeclaration", name, definition });
229
- }
230
- s.skipSpaces();
231
- s.consumeCodeUnit(asciiConstants.GREATER_THAN);
232
- }
233
- function parseEntityDef(s, isGe) {
234
- const currCodeUnit = s.currCodeUnit();
235
- if (currCodeUnit === asciiConstants.DOUBLE_QUOTE || currCodeUnit === asciiConstants.SINGLE_QUOTE) {
236
- const quote = s.consumeQuote();
237
- const start = s.getPos();
238
- s.skipCodeUnitsWhile((c) => c !== quote);
239
- const value = s.sliceBack(start);
240
- s.consumeCodeUnit(quote);
241
- return value;
242
- } else if (currCodeUnit === asciiConstants.UPPERCASE_S || currCodeUnit === asciiConstants.UPPERCASE_P) {
243
- if (parseExternalId(s)) {
244
- if (isGe) {
245
- s.skipSpaces();
246
- if (s.startsWith(NDATA)) {
247
- s.advance(5);
248
- s.consumeSpaces();
249
- s.skipName();
250
- }
251
- }
252
- return null;
253
- }
254
- throw new XmlError.XmlError({ type: "InvalidExternalID" }, s.genTextPos());
255
- } else {
256
- throw new XmlError.XmlError(
257
- { type: "InvalidChar", expected: "a quote, SYSTEM or PUBLIC", actual: currCodeUnit },
258
- s.genTextPos()
259
- );
260
- }
261
- }
262
- function consumeDecl(s) {
263
- s.skipCodeUnitsWhile((c) => c !== asciiConstants.GREATER_THAN);
264
- s.consumeCodeUnit(asciiConstants.GREATER_THAN);
265
- }
266
- function parseElement(s, tokenCallback) {
267
- const start = s.getPos();
268
- s.advance(1);
269
- const [prefix, local] = s.consumeQName();
270
- tokenCallback({ type: "ElementStart", prefix, local, start });
271
- let open = false;
272
- while (!s.atEnd()) {
273
- const hasSpace = s.startsWithSpace();
274
- s.skipSpaces();
275
- const _start = s.getPos();
276
- const currCodeUnit = s.currCodeUnit();
277
- if (currCodeUnit === asciiConstants.SLASH) {
278
- s.advance(1);
279
- s.consumeCodeUnit(asciiConstants.GREATER_THAN);
280
- const range = s.rangeFrom(_start);
281
- tokenCallback({ type: "ElementEnd", end: { type: "Empty" }, range });
282
- break;
283
- } else if (currCodeUnit === asciiConstants.GREATER_THAN) {
284
- s.advance(1);
285
- const range = s.rangeFrom(_start);
286
- tokenCallback({ type: "ElementEnd", end: { type: "Open" }, range });
287
- open = true;
288
- break;
289
- } else {
290
- if (!hasSpace) {
291
- throw new XmlError.XmlError(
292
- { type: "InvalidChar", expected: "a whitespace", actual: s.currCodeUnitUnchecked() },
293
- s.genTextPos()
294
- );
295
- }
296
- const [_prefix, _local, value] = parseAttribute(s);
297
- const end = s.getPos();
298
- tokenCallback({
299
- type: "Attribute",
300
- range: { start: _start, end },
301
- prefix: _prefix,
302
- local: _local,
303
- value
304
- });
305
- }
306
- }
307
- if (open) {
308
- if (s.config.rawTextElements != null) {
309
- const qName = getQName.getQName(local, prefix);
310
- if (s.config.rawTextElements.includes(qName)) {
311
- parseContent(s, tokenCallback, `</${qName}>`);
312
- return;
313
- }
314
- }
315
- parseContent(s, tokenCallback);
316
- }
317
- }
318
- function parseAttribute(s) {
319
- const [prefix, local] = s.consumeQName();
320
- let value;
321
- const start = s.getPos();
322
- s.skipSpaces();
323
- if (s.tryConsumeCodeUnit(asciiConstants.EQUALS)) {
324
- s.skipSpaces();
325
- const currCodeUnit = s.currCodeUnit();
326
- if (currCodeUnit === asciiConstants.SINGLE_QUOTE || currCodeUnit === asciiConstants.DOUBLE_QUOTE) {
327
- const quote = s.consumeQuote();
328
- value = s.consumeCodeUnitsWhile((c) => c !== quote && c !== asciiConstants.LESS_THAN);
329
- s.consumeCodeUnit(quote);
330
- } else if (!s.config.strictDocument) {
331
- value = s.consumeCodeUnitsWhile(
332
- (c) => !utils.isXmlSpaceByte(c) && c !== asciiConstants.GREATER_THAN && c !== asciiConstants.SLASH && c !== asciiConstants.LESS_THAN
333
- );
334
- } else {
335
- throw new XmlError.XmlError(
336
- { type: "InvalidChar", expected: "a quote", actual: currCodeUnit },
337
- s.genTextPos()
338
- );
339
- }
340
- } else if (!s.config.strictDocument) {
341
- s.goTo(start);
342
- value = "true";
343
- } else {
344
- throw new XmlError.XmlError(
345
- { type: "InvalidChar", expected: asciiConstants.EQUALS, actual: s.currCodeUnit() },
346
- s.genTextPos()
347
- );
348
- }
349
- return [prefix, local, value];
350
- }
351
- function parseContent(s, tokenCallback, parseContentUntil = asciiConstants.LESS_THAN) {
352
- while (!s.atEnd()) {
353
- if (typeof parseContentUntil === "number" ? s.currCodeUnit() === parseContentUntil : s.startsWith(parseContentUntil)) {
354
- const nextCodeUnit = s.nextCodeUnit();
355
- if (nextCodeUnit === asciiConstants.EXCLAMATION_MARK) {
356
- if (s.startsWith(COMMENT_START)) {
357
- parseComment(s, tokenCallback);
358
- } else if (s.startsWith(CDATA_START)) {
359
- parseCdata(s, tokenCallback);
360
- } else {
361
- throw new XmlError.XmlError(
362
- { type: "UnknownToken", message: "Failed to parse content" },
363
- s.genTextPos()
364
- );
365
- }
366
- } else if (nextCodeUnit === asciiConstants.QUESTION_MARK) {
367
- parsePi(s, tokenCallback);
368
- } else if (nextCodeUnit === asciiConstants.SLASH) {
369
- parseCloseElement(s, tokenCallback);
370
- break;
371
- } else {
372
- parseElement(s, tokenCallback);
373
- }
374
- } else {
375
- parseText(s, tokenCallback, parseContentUntil);
376
- }
377
- }
378
- }
379
- function parseCdata(s, tokenCallback) {
380
- const start = s.getPos();
381
- s.advance(9);
382
- const text = s.consumeCodeUnitsWhile(
383
- (c, _s) => !(c === asciiConstants.CLOSE_SQUARE_BRACKET && _s.startsWith(CDATA_END))
384
- );
385
- s.skipString(CDATA_END);
386
- const range = s.rangeFrom(start);
387
- tokenCallback({ type: "Cdata", text, range });
388
- }
389
- function parseCloseElement(s, tokenCallback) {
390
- const start = s.getPos();
391
- s.advance(2);
392
- const [prefix, local] = s.consumeQName();
393
- s.skipSpaces();
394
- s.consumeCodeUnit(asciiConstants.GREATER_THAN);
395
- const range = s.rangeFrom(start);
396
- tokenCallback({ type: "ElementEnd", end: { type: "Close", prefix, local }, range });
397
- }
398
- function parseText(s, tokenCallback, parseTextUntil = asciiConstants.LESS_THAN) {
399
- const start = s.getPos();
400
- const text = typeof parseTextUntil === "number" ? s.consumeCodeUnitsWhile((c) => c !== parseTextUntil) : s.consumeCodeUnitsWhile((_, _s) => !_s.startsWith(parseTextUntil));
401
- if (text.includes(CDATA_END)) {
402
- throw new XmlError.XmlError({ type: "InvalidCharacterData" }, s.genTextPos());
403
- }
404
- tokenCallback({ type: "Text", text, range: s.rangeFrom(start) });
405
- }
406
-
407
- exports.tokenize = tokenize;
408
- exports.tokenizeXmlStream = tokenizeXmlStream;
1
+ "use strict";var X=require("../get-q-name.js"),e=require("./ascii-constants.js"),I=require("./utils.js"),c=require("./XmlError.js"),L=require("./XmlStream.js");const H="\uFEFF",g="<?xml ",C="?>",Q="<!ENTITY",D="<!ELEMENT",O="<!ATTLIST",F="<!NOTATION",U="<!DOCTYPE",A="<?",k="?>",m="<!--",w="-->",G="<![CDATA[",E="]]>",B="NDATA",W="PUBLIC",b="SYSTEM",q="version",M="encoding",z="standalone";function K(t,n,s={}){P(new L.XmlStream(t,s),n)}function P(t,n){if(t.startsWith(H)&&t.advance(1),t.startsWith(g)&&Y(t),d(t,n),t.skipSpaces(),t.startsWith(U)||t.startsWith(U.toLowerCase())){if(!t.config.allowDtd)throw new c.XmlError({type:"DtdDetected"});$(t,n),d(t,n)}if(t.skipSpaces(),t.config.strictDocument){if(!t.atEnd()&&t.currCodeUnit()===e.LESS_THAN&&S(t,n),d(t,n),!t.atEnd())throw new c.XmlError({type:"UnknownToken",message:"Not at end"},t.genTextPos())}else for(;!t.atEnd();)t.currCodeUnit()===e.LESS_THAN?S(t,n):x(t,n),d(t,n)}function d(t,n){for(;!t.atEnd();)if(t.skipSpaces(),t.startsWith(m))f(t,n);else if(t.startsWith(A))h(t,n);else break}function Y(t){function n(s){if(s.startsWithSpace())s.skipSpaces();else if(!s.startsWith(C)&&!s.atEnd())throw new c.XmlError({type:"InvalidChar",expected:"a whitespace",actual:s.currCodeUnitUnchecked()},s.genTextPos())}if(t.advance(5),n(t),!t.startsWith(q))throw new c.XmlError({type:"InvalidString",expected:"version"},t.genTextPos());p(t),n(t),t.startsWith(M)&&(p(t),n(t)),t.startsWith(z)&&p(t),t.skipSpaces(),t.skipString(C)}function f(t,n){const s=t.getPos();t.advance(4);const o=t.consumeCodeUnitsWhile((r,i)=>!(r===e.HYPHEN&&i.startsWith(w)));if(t.skipString(w),o.includes("--")||o.endsWith("-"))throw new c.XmlError({type:"InvalidComment"},t.genTextPosFrom(s));n({type:"Comment",text:o,range:t.rangeFrom(s)},t)}function h(t,n){if(t.startsWith(g))throw new c.XmlError({type:"UnexpectedDeclaration"},t.genTextPos());const s=t.getPos();t.advance(2);const o=t.consumeName();t.skipSpaces();const r=t.consumeCodeUnitsWhile((i,a)=>!(i===e.QUESTION_MARK&&a.startsWith(k)));t.skipString(k),n({type:"ProcessingInstruction",target:o,content:r.length===0?void 0:r,range:t.rangeFrom(s)},t)}function $(t,n){const s=t.getPos();if(j(t),t.skipSpaces(),t.currCodeUnit()===e.GREATER_THAN){t.advance(1);return}for(t.advance(1);!t.atEnd();)if(t.skipSpaces(),t.startsWith(Q))J(t,n);else if(t.startsWith(m))f(t,n);else if(t.startsWith(A))h(t,n);else if(t.startsWith("]"))if(t.advance(1),t.skipSpaces(),t.currCodeUnit()===e.GREATER_THAN){t.advance(1);break}else throw new c.XmlError({type:"InvalidChar",expected:"'>'",actual:t.currCodeUnitUnchecked()},t.genTextPos());else if(t.startsWith(D)||t.startsWith(O)||t.startsWith(F))try{Z(t)}catch(o){throw new c.XmlError({type:"UnknownToken",message:"Failed to consume declaration"},t.genTextPosFrom(s))}else throw new c.XmlError({type:"UnknownToken",message:"Failed to parse doctype"},t.genTextPos())}function j(t){t.advance(9),t.consumeSpaces(),t.skipName(),t.skipSpaces(),y(t),t.skipSpaces();const n=t.currCodeUnit();if(n!==e.OPEN_SQUARE_BRACKET&&n!==e.GREATER_THAN)throw new c.XmlError({type:"InvalidChar",expected:"'[' or '>'",actual:n},t.genTextPos())}function y(t){if(t.startsWith(b)||t.startsWith(W)){const n=t.getPos();t.advance(6);const s=t.sliceBack(n);t.consumeSpaces();const o=t.consumeQuote();if(t.consumeCodeUnitsWhile(r=>r!==o),t.consumeCodeUnit(o),s===W){t.consumeSpaces();const r=t.consumeQuote();t.consumeCodeUnitsWhile(i=>i!==r),t.consumeCodeUnit(r)}return!0}return!1}function J(t,n){t.advance(8),t.consumeSpaces();const s=!t.tryConsumeCodeUnit(e.PERCENT);s||t.consumeSpaces();const o=t.consumeName();t.consumeSpaces();const r=V(t,s);r!==null&&n({type:"EntityDeclaration",name:o,definition:r},t),t.skipSpaces(),t.consumeCodeUnit(e.GREATER_THAN)}function V(t,n){const s=t.currCodeUnit();if(s===e.DOUBLE_QUOTE||s===e.SINGLE_QUOTE){const o=t.consumeQuote(),r=t.getPos();t.skipCodeUnitsWhile(a=>a!==o);const i=t.sliceBack(r);return t.consumeCodeUnit(o),i}else if(s===e.UPPERCASE_S||s===e.UPPERCASE_P){if(y(t))return n&&(t.skipSpaces(),t.startsWith(B)&&(t.advance(5),t.consumeSpaces(),t.skipName())),null;throw new c.XmlError({type:"InvalidExternalID"},t.genTextPos())}else throw new c.XmlError({type:"InvalidChar",expected:"a quote, SYSTEM or PUBLIC",actual:s},t.genTextPos())}function Z(t){t.skipCodeUnitsWhile(n=>n!==e.GREATER_THAN),t.consumeCodeUnit(e.GREATER_THAN)}function S(t,n){const s=t.getPos();t.advance(1);const[o,r]=t.consumeQName();n({type:"ElementStart",prefix:o,local:r,start:s},t);let i=!1;for(;!t.atEnd();){const a=t.startsWithSpace();t.skipSpaces();const l=t.getPos(),T=t.currCodeUnit();if(T===e.SLASH){t.advance(1),t.consumeCodeUnit(e.GREATER_THAN);const u=t.rangeFrom(l);n({type:"ElementEnd",end:{type:"Empty"},range:u},t);break}else if(T===e.GREATER_THAN){t.advance(1);const u=t.rangeFrom(l);n({type:"ElementEnd",end:{type:"Open"},range:u},t),i=!0;break}else{if(!a)throw new c.XmlError({type:"InvalidChar",expected:"a whitespace",actual:t.currCodeUnitUnchecked()},t.genTextPos());const[u,v,R]=p(t),_=t.getPos();n({type:"Attribute",range:{start:l,end:_},prefix:u,local:v,value:R},t)}}if(i){if(t.config.rawTextElements!=null){const a=X.getQName(r,o);if(t.config.rawTextElements.includes(a)){N(t,n,`</${a}>`);return}}N(t,n)}}function p(t){const[n,s]=t.consumeQName();let o;const r=t.getPos();if(t.skipSpaces(),t.tryConsumeCodeUnit(e.EQUALS)){t.skipSpaces();const i=t.currCodeUnit();if(i===e.SINGLE_QUOTE||i===e.DOUBLE_QUOTE){const a=t.consumeQuote();o=t.consumeCodeUnitsWhile(l=>l!==a&&l!==e.LESS_THAN),t.consumeCodeUnit(a)}else if(!t.config.strictDocument)o=t.consumeCodeUnitsWhile(a=>!I.isXmlSpaceByte(a)&&a!==e.GREATER_THAN&&a!==e.SLASH&&a!==e.LESS_THAN);else throw new c.XmlError({type:"InvalidChar",expected:"a quote",actual:i},t.genTextPos())}else if(!t.config.strictDocument)t.goTo(r),o="true";else throw new c.XmlError({type:"InvalidChar",expected:e.EQUALS,actual:t.currCodeUnit()},t.genTextPos());return[n,s,o]}function N(t,n,s=e.LESS_THAN){for(;!t.atEnd();)if(typeof s=="number"?t.currCodeUnit()===s:t.startsWith(s)){const o=t.nextCodeUnit();if(o===e.EXCLAMATION_MARK)if(t.startsWith(m))f(t,n);else if(t.startsWith(G))tt(t,n);else throw new c.XmlError({type:"UnknownToken",message:"Failed to parse content"},t.genTextPos());else if(o===e.QUESTION_MARK)h(t,n);else if(o===e.SLASH){nt(t,n);break}else S(t,n)}else x(t,n,s)}function tt(t,n){const s=t.getPos();t.advance(9);const o=t.consumeCodeUnitsWhile((i,a)=>!(i===e.CLOSE_SQUARE_BRACKET&&a.startsWith(E)));t.skipString(E);const r=t.rangeFrom(s);n({type:"Cdata",text:o,range:r},t)}function nt(t,n){const s=t.getPos();t.advance(2);const[o,r]=t.consumeQName();t.skipSpaces(),t.consumeCodeUnit(e.GREATER_THAN);const i=t.rangeFrom(s);n({type:"ElementEnd",end:{type:"Close",prefix:o,local:r},range:i},t)}function x(t,n,s=e.LESS_THAN){const o=t.getPos(),r=typeof s=="number"?t.consumeCodeUnitsWhile(i=>i!==s):t.consumeCodeUnitsWhile((i,a)=>!a.startsWith(s));if(r.includes(E))throw new c.XmlError({type:"InvalidCharacterData"},t.genTextPos());n({type:"Text",text:r,range:t.rangeFrom(o)},t)}exports.tokenize=K,exports.tokenizeXmlStream=P;
@@ -1,47 +1 @@
1
- 'use strict';
2
-
3
- var asciiConstants = require('./ascii-constants.js');
4
-
5
- function isAsciiDigit(byte) {
6
- return byte >= asciiConstants.ZERO && byte <= asciiConstants.NINE;
7
- }
8
- function isXmlNameStart(codePoint) {
9
- if (codePoint == null) {
10
- return false;
11
- }
12
- if (codePoint <= 128) {
13
- return codePoint >= asciiConstants.UPPERCASE_A && codePoint <= asciiConstants.UPPERCASE_Z || codePoint >= asciiConstants.LOWERCASE_A && codePoint <= asciiConstants.LOWERCASE_Z || codePoint === asciiConstants.COLON || codePoint === asciiConstants.UNDERSCORE;
14
- }
15
- return codePoint >= 192 && codePoint <= 214 || codePoint >= 216 && codePoint <= 246 || codePoint >= 248 && codePoint <= 767 || codePoint >= 880 && codePoint <= 893 || codePoint >= 895 && codePoint <= 8191 || codePoint >= 8204 && codePoint <= 8205 || codePoint >= 8304 && codePoint <= 8591 || codePoint >= 11264 && codePoint <= 12271 || codePoint >= 12289 && codePoint <= 55295 || codePoint >= 63744 && codePoint <= 64975 || codePoint >= 65008 && codePoint <= 65533 || codePoint >= 65536 && codePoint <= 983039;
16
- }
17
- function isXmlName(codePoint) {
18
- if (codePoint == null) {
19
- return false;
20
- }
21
- if (codePoint <= 128) {
22
- return isXmlNameByte(codePoint);
23
- }
24
- return codePoint === 183 || codePoint >= 192 && codePoint <= 214 || codePoint >= 216 && codePoint <= 246 || codePoint >= 248 && codePoint <= 767 || codePoint >= 768 && codePoint <= 879 || codePoint >= 880 && codePoint <= 893 || codePoint >= 895 && codePoint <= 8191 || codePoint >= 8204 && codePoint <= 8205 || codePoint >= 8255 && codePoint <= 8256 || codePoint >= 8304 && codePoint <= 8591 || codePoint >= 11264 && codePoint <= 12271 || codePoint >= 12289 && codePoint <= 55295 || codePoint >= 63744 && codePoint <= 64975 || codePoint >= 65008 && codePoint <= 65533 || codePoint >= 65536 && codePoint <= 983039;
25
- }
26
- function isXmlChar(codePoint) {
27
- if (codePoint == null) {
28
- return false;
29
- }
30
- if (codePoint < 32) {
31
- return isXmlSpaceByte(codePoint);
32
- }
33
- return codePoint !== 65535 && codePoint !== 65534;
34
- }
35
- function isXmlSpaceByte(byte) {
36
- return byte === asciiConstants.SPACE || byte === asciiConstants.HORIZONTAL_TAB || byte === asciiConstants.LINE_FEED || byte === asciiConstants.CARRIAGE_RETURN;
37
- }
38
- function isXmlNameByte(byte) {
39
- return byte >= asciiConstants.ZERO && byte <= asciiConstants.NINE || byte >= asciiConstants.UPPERCASE_A && byte <= asciiConstants.UPPERCASE_Z || byte >= asciiConstants.LOWERCASE_A && byte <= asciiConstants.LOWERCASE_Z || byte === asciiConstants.COLON || byte === asciiConstants.UNDERSCORE || byte === asciiConstants.HYPHEN || byte === asciiConstants.PERIOD;
40
- }
41
-
42
- exports.isAsciiDigit = isAsciiDigit;
43
- exports.isXmlChar = isXmlChar;
44
- exports.isXmlName = isXmlName;
45
- exports.isXmlNameByte = isXmlNameByte;
46
- exports.isXmlNameStart = isXmlNameStart;
47
- exports.isXmlSpaceByte = isXmlSpaceByte;
1
+ "use strict";var i=require("./ascii-constants.js");function n(E){return E>=i.ZERO&&E<=i.NINE}function s(E){return E==null?!1:E<=128?E>=i.UPPERCASE_A&&E<=i.UPPERCASE_Z||E>=i.LOWERCASE_A&&E<=i.LOWERCASE_Z||E===i.COLON||E===i.UNDERSCORE:E>=192&&E<=214||E>=216&&E<=246||E>=248&&E<=767||E>=880&&E<=893||E>=895&&E<=8191||E>=8204&&E<=8205||E>=8304&&E<=8591||E>=11264&&E<=12271||E>=12289&&E<=55295||E>=63744&&E<=64975||E>=65008&&E<=65533||E>=65536&&E<=983039}function r(E){return E==null?!1:E<=128?e(E):E===183||E>=192&&E<=214||E>=216&&E<=246||E>=248&&E<=767||E>=768&&E<=879||E>=880&&E<=893||E>=895&&E<=8191||E>=8204&&E<=8205||E>=8255&&E<=8256||E>=8304&&E<=8591||E>=11264&&E<=12271||E>=12289&&E<=55295||E>=63744&&E<=64975||E>=65008&&E<=65533||E>=65536&&E<=983039}function R(E){return E==null?!1:E<32?t(E):E!==65535&&E!==65534}function t(E){return E===i.SPACE||E===i.HORIZONTAL_TAB||E===i.LINE_FEED||E===i.CARRIAGE_RETURN}function e(E){return E>=i.ZERO&&E<=i.NINE||E>=i.UPPERCASE_A&&E<=i.UPPERCASE_Z||E>=i.LOWERCASE_A&&E<=i.LOWERCASE_Z||E===i.COLON||E===i.UNDERSCORE||E===i.HYPHEN||E===i.PERIOD}exports.isAsciiDigit=n,exports.isXmlChar=R,exports.isXmlName=r,exports.isXmlNameByte=e,exports.isXmlNameStart=s,exports.isXmlSpaceByte=t;
@@ -1,13 +1 @@
1
- 'use strict';
2
-
3
- var tokenToXml = require('./token-to-xml.js');
4
-
5
- function tokensToXml(tokens) {
6
- let xmlString = "";
7
- tokens.forEach((token) => {
8
- xmlString += tokenToXml.tokenToXml(token);
9
- });
10
- return xmlString;
11
- }
12
-
13
- exports.tokensToXml = tokensToXml;
1
+ "use strict";var n=require("./token-to-xml.js");function r(e){let o="";return e.forEach(t=>{o+=n.tokenToXml(t)}),o}exports.tokensToXml=r;
@@ -1,69 +1 @@
1
- 'use strict';
2
-
3
- var tokenize = require('./tokenizer/tokenize.js');
4
-
5
- function xmlToObject(xmlString, options = {}) {
6
- const root = {
7
- local: "root",
8
- attributes: [],
9
- content: []
10
- };
11
- const stack = [root];
12
- tokenize.tokenize(
13
- xmlString,
14
- (token) => {
15
- processTokenForObject(token, stack);
16
- },
17
- options
18
- );
19
- return root.content[0];
20
- }
21
- function processTokenForObject(token, stack) {
22
- switch (token.type) {
23
- case "ElementStart": {
24
- const newNode = {
25
- local: token.local,
26
- prefix: token.prefix.length > 0 ? token.prefix : void 0,
27
- attributes: [],
28
- content: []
29
- };
30
- const currentNode = stack[stack.length - 1];
31
- if (currentNode != null) {
32
- currentNode.content.push(newNode);
33
- }
34
- stack.push(newNode);
35
- break;
36
- }
37
- case "ElementEnd": {
38
- if (token.end.type === "Close" || token.end.type === "Empty") {
39
- stack.pop();
40
- }
41
- break;
42
- }
43
- case "Attribute": {
44
- const currentNode = stack[stack.length - 1];
45
- if (currentNode != null) {
46
- currentNode.attributes.push({
47
- local: token.local,
48
- prefix: token.prefix.length > 0 ? token.prefix : void 0,
49
- value: token.value
50
- });
51
- }
52
- break;
53
- }
54
- case "Text":
55
- case "Cdata": {
56
- const currentNode = stack[stack.length - 1];
57
- if (currentNode != null) {
58
- const trimmedText = token.text.trim();
59
- if (trimmedText.length > 0) {
60
- currentNode.content.push(token.text);
61
- }
62
- }
63
- break;
64
- }
65
- }
66
- }
67
-
68
- exports.processTokenForObject = processTokenForObject;
69
- exports.xmlToObject = xmlToObject;
1
+ "use strict";var r=require("./tokenizer/tokenize.js");function s(t,o={}){const e={local:"root",attributes:[],content:[]},n=[e];return r.tokenize(t,l=>{c(l,n)},o),e.content[0]}function c(t,o){switch(t.type){case"ElementStart":{const e={local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,attributes:[],content:[]},n=o[o.length-1];n!=null&&n.content.push(e),o.push(e);break}case"ElementEnd":{(t.end.type==="Close"||t.end.type==="Empty")&&o.pop();break}case"Attribute":{const e=o[o.length-1];e!=null&&e.attributes.push({local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,value:t.value});break}case"Text":case"Cdata":{const e=o[o.length-1];e!=null&&t.text.trim().length>0&&e.content.push(t.text);break}}}exports.processTokenForObject=c,exports.xmlToObject=s;
@@ -1,86 +1 @@
1
- 'use strict';
2
-
3
- var getQName = require('./get-q-name.js');
4
- var tokenize = require('./tokenizer/tokenize.js');
5
-
6
- function xmlToSimplifiedObject(xmlString, options = {}) {
7
- const result = {};
8
- const stack = [result];
9
- tokenize.tokenize(
10
- xmlString,
11
- (token) => {
12
- processTokenForSimplifiedObject(token, stack);
13
- },
14
- options
15
- );
16
- return result;
17
- }
18
- function processTokenForSimplifiedObject(token, stack) {
19
- switch (token.type) {
20
- case "ElementStart": {
21
- const tagName = getQName.getQName(token.local, token.prefix);
22
- const tagNameWithPrefix = `_${tagName}`;
23
- const newNode = {};
24
- const currentNode = stack[stack.length - 1];
25
- if (currentNode != null) {
26
- if (currentNode.content != null) {
27
- newNode.tag = tagName;
28
- currentNode.content.push(newNode);
29
- } else if (currentNode.text != null) {
30
- newNode.tag = tagName;
31
- currentNode.content = [currentNode.text, newNode];
32
- delete currentNode.text;
33
- } else if (currentNode[tagNameWithPrefix] == null) {
34
- currentNode[tagNameWithPrefix] = [newNode];
35
- } else if (Array.isArray(currentNode[tagNameWithPrefix])) {
36
- currentNode[tagNameWithPrefix].push(newNode);
37
- } else {
38
- currentNode[tagNameWithPrefix] = [currentNode[tagNameWithPrefix], newNode];
39
- }
40
- }
41
- stack.push(newNode);
42
- break;
43
- }
44
- case "ElementEnd": {
45
- if (token.end.type === "Close" || token.end.type === "Empty") {
46
- stack.pop();
47
- }
48
- break;
49
- }
50
- case "Attribute": {
51
- const currentNode = stack[stack.length - 1];
52
- if (currentNode != null) {
53
- const attrName = getQName.getQName(token.local, token.prefix);
54
- if (currentNode.attributes != null) {
55
- currentNode.attributes[attrName] = token.value;
56
- } else {
57
- currentNode.attributes = {
58
- [attrName]: token.value
59
- };
60
- }
61
- }
62
- break;
63
- }
64
- case "Text":
65
- case "Cdata": {
66
- const currentNode = stack[stack.length - 1];
67
- if (currentNode != null) {
68
- const trimmedText = token.text.trim();
69
- if (trimmedText.length > 0) {
70
- if (currentNode.content != null) {
71
- currentNode.content.push(trimmedText);
72
- } else if (currentNode.text != null) {
73
- currentNode.content = [currentNode.text, trimmedText];
74
- delete currentNode.text;
75
- } else {
76
- currentNode.text = trimmedText;
77
- }
78
- }
79
- }
80
- break;
81
- }
82
- }
83
- }
84
-
85
- exports.processTokenForSimplifiedObject = processTokenForSimplifiedObject;
86
- exports.xmlToSimplifiedObject = xmlToSimplifiedObject;
1
+ "use strict";var c=require("./get-q-name.js"),o=require("./tokenizer/tokenize.js");function s(i,l={}){const e={},t=[e];return o.tokenize(i,r=>{a(r,t)},l),e}function a(i,l){switch(i.type){case"ElementStart":{const e=c.getQName(i.local,i.prefix),t=`_${e}`,r={},n=l[l.length-1];n!=null&&(n.content!=null?(r.tag=e,n.content.push(r)):n.text!=null?(r.tag=e,n.content=[n.text,r],delete n.text):n[t]==null?n[t]=[r]:Array.isArray(n[t])?n[t].push(r):n[t]=[n[t],r]),l.push(r);break}case"ElementEnd":{(i.end.type==="Close"||i.end.type==="Empty")&&l.pop();break}case"Attribute":{const e=l[l.length-1];if(e!=null){const t=c.getQName(i.local,i.prefix);e.attributes!=null?e.attributes[t]=i.value:e.attributes={[t]:i.value}}break}case"Text":case"Cdata":{const e=l[l.length-1];if(e!=null){const t=i.text.trim();t.length>0&&(e.content!=null?e.content.push(t):e.text!=null?(e.content=[e.text,t],delete e.text):e.text=t)}break}}}exports.processTokenForSimplifiedObject=a,exports.xmlToSimplifiedObject=s;
@@ -1,5 +1 @@
1
- function getQName(local, prefix = null) {
2
- return prefix != null && prefix.length > 0 ? `${prefix}:${local}` : local;
3
- }
4
-
5
- export { getQName };
1
+ function n(l,e=null){return e!=null&&e.length>0?`${e}:${l}`:l}export{n as getQName};
package/dist/esm/index.js CHANGED
@@ -1,14 +1 @@
1
- export { getQName } from './get-q-name.js';
2
- export { select } from './selector/select.js';
3
- export { TokenSelector } from './selector/TokenSelector.js';
4
- export { EToCacheNodeProps, ETokenMatchCriteria, TokenSelectState } from './selector/TokenSelectState.js';
5
- export { TokenSelectStateMachine } from './selector/TokenSelectStateMachine.js';
6
- export { tokenToXml } from './token-to-xml.js';
7
- export { AMPERSAND, CARRIAGE_RETURN, CLOSE_SQUARE_BRACKET, COLON, DOUBLE_QUOTE, EQUALS, EXCLAMATION_MARK, GREATER_THAN, HASH, HORIZONTAL_TAB, HYPHEN, LESS_THAN, LINE_FEED, LOWERCASE_A, LOWERCASE_F, LOWERCASE_X, LOWERCASE_Z, NINE, OPEN_SQUARE_BRACKET, PERCENT, PERIOD, QUESTION_MARK, SEMICOLON, SINGLE_QUOTE, SLASH, SPACE, UNDERSCORE, UPPERCASE_A, UPPERCASE_F, UPPERCASE_P, UPPERCASE_S, UPPERCASE_Z, ZERO } from './tokenizer/ascii-constants.js';
8
- export { tokenize, tokenizeXmlStream } from './tokenizer/tokenize.js';
9
- export { isAsciiDigit, isXmlChar, isXmlName, isXmlNameByte, isXmlNameStart, isXmlSpaceByte } from './tokenizer/utils.js';
10
- export { XmlError } from './tokenizer/XmlError.js';
11
- export { XmlStream } from './tokenizer/XmlStream.js';
12
- export { tokensToXml } from './tokens-to-xml.js';
13
- export { processTokenForObject, xmlToObject } from './xml-to-object.js';
14
- export { processTokenForSimplifiedObject, xmlToSimplifiedObject } from './xml-to-simplified-object.js';
1
+ import{getQName as o}from"./get-q-name.js";import{select as t}from"./selector/select.js";import{TokenSelector as m}from"./selector/TokenSelector.js";import{EToCacheNodeProps as R,ETokenMatchCriteria as O,TokenSelectState as T}from"./selector/TokenSelectState.js";import{TokenSelectStateMachine as N}from"./selector/TokenSelectStateMachine.js";import{tokenToXml as i}from"./token-to-xml.js";import{AMPERSAND as l,CARRIAGE_RETURN as P,CLOSE_SQUARE_BRACKET as f,COLON as x,DOUBLE_QUOTE as a,EQUALS as c,EXCLAMATION_MARK as L,GREATER_THAN as s,HASH as U,HORIZONTAL_TAB as X,HYPHEN as n,LESS_THAN as k,LINE_FEED as I,LOWERCASE_A as H,LOWERCASE_F as M,LOWERCASE_X as Q,LOWERCASE_Z as B,NINE as D,OPEN_SQUARE_BRACKET as F,PERCENT as b,PERIOD as h,QUESTION_MARK as j,SEMICOLON as K,SINGLE_QUOTE as W,SLASH as Z,SPACE as d,UNDERSCORE as G,UPPERCASE_A as g,UPPERCASE_F as y,UPPERCASE_P as z,UPPERCASE_S as Y,UPPERCASE_Z as q,ZERO as u}from"./tokenizer/ascii-constants.js";import{tokenize as w,tokenizeXmlStream as J}from"./tokenizer/tokenize.js";import{isAsciiDigit as $,isXmlChar as ee,isXmlName as Ee,isXmlNameByte as oe,isXmlNameStart as re,isXmlSpaceByte as te}from"./tokenizer/utils.js";import{XmlError as me}from"./tokenizer/XmlError.js";import{XmlStream as Re}from"./tokenizer/XmlStream.js";import{tokensToXml as Te}from"./tokens-to-xml.js";import{processTokenForObject as Ne,xmlToObject as _e}from"./xml-to-object.js";import{processTokenForSimplifiedObject as pe,xmlToSimplifiedObject as le}from"./xml-to-simplified-object.js";export{l as AMPERSAND,P as CARRIAGE_RETURN,f as CLOSE_SQUARE_BRACKET,x as COLON,a as DOUBLE_QUOTE,c as EQUALS,R as EToCacheNodeProps,O as ETokenMatchCriteria,L as EXCLAMATION_MARK,s as GREATER_THAN,U as HASH,X as HORIZONTAL_TAB,n as HYPHEN,k as LESS_THAN,I as LINE_FEED,H as LOWERCASE_A,M as LOWERCASE_F,Q as LOWERCASE_X,B as LOWERCASE_Z,D as NINE,F as OPEN_SQUARE_BRACKET,b as PERCENT,h as PERIOD,j as QUESTION_MARK,K as SEMICOLON,W as SINGLE_QUOTE,Z as SLASH,d as SPACE,T as TokenSelectState,N as TokenSelectStateMachine,m as TokenSelector,G as UNDERSCORE,g as UPPERCASE_A,y as UPPERCASE_F,z as UPPERCASE_P,Y as UPPERCASE_S,q as UPPERCASE_Z,me as XmlError,Re as XmlStream,u as ZERO,o as getQName,$ as isAsciiDigit,ee as isXmlChar,Ee as isXmlName,oe as isXmlNameByte,re as isXmlNameStart,te as isXmlSpaceByte,Ne as processTokenForObject,pe as processTokenForSimplifiedObject,t as select,i as tokenToXml,w as tokenize,J as tokenizeXmlStream,Te as tokensToXml,_e as xmlToObject,le as xmlToSimplifiedObject};