@jerp/xml-stream-ts 0.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.
@@ -0,0 +1,422 @@
1
+ const textEncoder = new TextEncoder();
2
+ const textDecoder = new TextDecoder();
3
+ import { createTextDecoder } from "./textDecoder.js";
4
+ export const wrapResolver = (resolverInstance) => {
5
+ return resolverInstance.resolve.bind(resolverInstance);
6
+ };
7
+ export class ValueDictionary {
8
+ textContent;
9
+ values;
10
+ options;
11
+ constructor(valuePairs, options) {
12
+ this.options = options ?? {};
13
+ this.textContent = [];
14
+ this.values = [];
15
+ //this.encode = options?.encode ?? textEncoder.encode.bind(textEncoder)
16
+ for (let i = 0; i < valuePairs.length; i++) {
17
+ const [text, value] = valuePairs[i];
18
+ this.addValue(text, value);
19
+ }
20
+ this.options.fallBack = options?.fallBack;
21
+ }
22
+ resolve(bs) {
23
+ if (!bs)
24
+ return this.options.fallBack;
25
+ if (!this.options.noTrim)
26
+ bs = this.trim(bs);
27
+ const index = this.indexOf(bs);
28
+ if (index >= 0) {
29
+ return this.values[index];
30
+ }
31
+ return this.fallBackFn(bs);
32
+ }
33
+ fallBackFn(_bytes) {
34
+ return this.options.fallBack;
35
+ }
36
+ indexOf(bs) {
37
+ for (let i = 0; i < this.textContent.length; i++) {
38
+ const tc = this.textContent[i];
39
+ if (tc.length === bs.length && tc.every((value, index) => value === bs[index])) {
40
+ return i;
41
+ }
42
+ }
43
+ return -1;
44
+ }
45
+ addValue(text, value) {
46
+ if (!this.options.noTrim)
47
+ text = this.trim(text);
48
+ const bs = text;
49
+ this.values.push(value ?? text);
50
+ this.textContent.push(bs);
51
+ }
52
+ trim(bs) {
53
+ let begin = 0;
54
+ let end = bs.length;
55
+ while (begin < end && bs[begin] <= 0x20 /* space */)
56
+ begin++;
57
+ while (end > begin && bs[end - 1] <= 0x20 /* space */)
58
+ end--;
59
+ return bs.subarray(begin, end);
60
+ }
61
+ }
62
+ export class TextDictionary extends ValueDictionary {
63
+ constructor(options) {
64
+ super([], options);
65
+ if (!this.options.encode)
66
+ this.options.encode = textEncoder.encode.bind(textEncoder);
67
+ }
68
+ fallBackFn(bs) {
69
+ const utf8 = utf8Resolver(bs);
70
+ const value = this.valueFromUtf8(utf8);
71
+ this.addValue(utf8, value);
72
+ return value;
73
+ }
74
+ addString(str) {
75
+ const escaped = str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&apos;');
76
+ const encoded = this.options.encode(escaped);
77
+ this.addValue(encoded, this.valueFromString(str));
78
+ // matching both escaped and unescaped for allowed unescaped chars: > or " or ' (in attribute value)
79
+ if (str.includes('>') || str.includes('"') || str.includes("'")) {
80
+ const relaxedText = str.replace(/&/g, '&amp;').replace(/</g, '&lt;');
81
+ const relaxedBytes = this.options.encode(relaxedText);
82
+ this.addValue(relaxedBytes, this.valueFromString(str));
83
+ }
84
+ }
85
+ addUtf8(bs) {
86
+ let needEscaping = false;
87
+ for (const b of bs) {
88
+ if (b === 0x26 /*&*/ || b === 0x3c /*<*/ || b === 0x3e /*>*/ || b === 0x22 /*"*/ || b === 0x27 /*'*/) {
89
+ needEscaping = true;
90
+ break;
91
+ }
92
+ }
93
+ if (needEscaping) {
94
+ const text = textDecoder.decode(bs);
95
+ this.addString(text);
96
+ }
97
+ else {
98
+ this.addValue(bs, this.valueFromUtf8(bs));
99
+ }
100
+ }
101
+ }
102
+ export class Utf8Dictionary extends TextDictionary {
103
+ constructor(options) {
104
+ super(options);
105
+ }
106
+ static create(values) {
107
+ const resolver = new Utf8Dictionary();
108
+ for (const value of values) {
109
+ resolver.addString(value);
110
+ }
111
+ return resolver;
112
+ }
113
+ valueFromString(text) {
114
+ return this.options.encode(text);
115
+ }
116
+ valueFromUtf8(value) {
117
+ return value;
118
+ }
119
+ }
120
+ export class StringDictionary extends TextDictionary {
121
+ constructor(options) {
122
+ super(options);
123
+ if (!this.options.decode)
124
+ this.options.decode = textDecoder.decode.bind(textDecoder);
125
+ }
126
+ static create(values) {
127
+ const dict = new StringDictionary();
128
+ for (const value of values) {
129
+ dict.addString(value);
130
+ }
131
+ return dict;
132
+ }
133
+ valueFromString(text) {
134
+ return text;
135
+ }
136
+ valueFromUtf8(value) {
137
+ return this.options.decode(value);
138
+ }
139
+ }
140
+ export const int = (bs) => {
141
+ if (!bs?.length)
142
+ return null;
143
+ let o = 0;
144
+ let b = bs[o];
145
+ while (b && b <= 0x20 /* space */)
146
+ b = bs[++o];
147
+ if (o === bs.length)
148
+ return b !== 0x30 ? null : 0;
149
+ let result = 0;
150
+ let sign = 1;
151
+ if (b === 0x2d /*-*/) {
152
+ sign = -1;
153
+ b = bs[++o];
154
+ }
155
+ else if (b === 0x2b /*+*/) {
156
+ b = bs[++o];
157
+ }
158
+ while (b && b >= 0x30 /*0*/ && b <= 0x39 /*9*/) {
159
+ result = result * 10 + (b - 0x30);
160
+ b = bs[++o];
161
+ }
162
+ return sign * result;
163
+ };
164
+ export const bigInt = (bs) => {
165
+ if (!bs?.length)
166
+ return null;
167
+ let o = 0;
168
+ let b = bs[o];
169
+ while (b && b <= 0x20 /* space */)
170
+ b = bs[++o];
171
+ if (o === bs.length)
172
+ return b !== 0x30 ? null : BigInt(0);
173
+ let result = '';
174
+ if (b === 0x2d /*-*/) {
175
+ result += '-';
176
+ b = bs[++o];
177
+ }
178
+ else if (b === 0x2b /*+*/) {
179
+ b = bs[++o];
180
+ }
181
+ while (b && b >= 0x30 /*0*/ && b <= 0x39 /*9*/) {
182
+ result += String.fromCharCode(b);
183
+ b = bs[++o];
184
+ }
185
+ return BigInt(result);
186
+ };
187
+ export const decimal = (bs) => {
188
+ if (!bs?.length)
189
+ return null;
190
+ // int part
191
+ let o = 0;
192
+ let b = bs[o];
193
+ const bytesLength = bs.length;
194
+ while (b && b <= 0x20 /* space */)
195
+ b = bs[++o];
196
+ let multiplier = 1;
197
+ if (b === 0x2d /*-*/ || b === 0x2b /*+*/) {
198
+ multiplier = b === 0x2d /*-*/ ? -1 : 1;
199
+ b = bs[++o];
200
+ }
201
+ if (o === bytesLength)
202
+ return b === 0x30 ? 0 : null;
203
+ let mant = 0;
204
+ while (b && b >= 0x30 /*0*/ && b <= 0x39 /*9*/) {
205
+ mant = mant * 10 + (b - 0x30);
206
+ b = bs[++o];
207
+ }
208
+ // decimal part
209
+ if (o === bytesLength)
210
+ return multiplier * mant;
211
+ if (b === 0x2e /*.*/) {
212
+ let decimalPart = 0;
213
+ let divisor = 1;
214
+ b = bs[++o];
215
+ while (b && b >= 0x30 /*0*/ && b <= 0x39 /*9*/) {
216
+ decimalPart = decimalPart * 10 + (b - 0x30);
217
+ divisor *= 10;
218
+ b = bs[++o];
219
+ }
220
+ mant += decimalPart / divisor;
221
+ }
222
+ if (o === bytesLength)
223
+ return multiplier * mant;
224
+ // exponent part
225
+ if ((b & 0x5f) !== 0x45 /*E*/)
226
+ return multiplier * mant;
227
+ b = bs[++o];
228
+ let exponentSign = 1;
229
+ if (b === 0x2d /*-*/ || b === 0x2b /*+*/) {
230
+ exponentSign = b === 0x2d /*-*/ ? -1 : 1;
231
+ b = bs[++o];
232
+ }
233
+ let exponentPart = 0;
234
+ while (b && b >= 0x30 /*0*/ && b <= 0x39 /*9*/) {
235
+ exponentPart = exponentPart * 10 + (b - 0x30);
236
+ b = bs[++o];
237
+ }
238
+ multiplier *= Math.pow(10, exponentSign * exponentPart);
239
+ return multiplier * mant;
240
+ };
241
+ export const isoDate = (bs) => {
242
+ if (!bs?.length)
243
+ return null;
244
+ let o = 0;
245
+ let b = bs[o];
246
+ while (b <= 0x20 /* space */)
247
+ b = bs[++o];
248
+ if (bs.length - o < 10)
249
+ return null;
250
+ const [b0, b1, b2, b3, b4, b5, b6, b7, b8, b9] = [bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++]];
251
+ if (b4 !== 0x2d /*-*/ || b7 !== 0x2d /*-*/)
252
+ return null;
253
+ const year = (b0 - 0x30) * 1000 + (b1 - 0x30) * 100 + (b2 - 0x30) * 10 + (b3 - 0x30);
254
+ const month = (b5 - 0x30) * 10 + (b6 - 0x30) - 1;
255
+ const day = (b8 - 0x30) * 10 + (b9 - 0x30);
256
+ b = bs[o + 10];
257
+ return Date.UTC(year, month, day);
258
+ };
259
+ export const isoDateTime = (bs) => {
260
+ if (!bs?.length)
261
+ return null;
262
+ let o = 0;
263
+ let b = bs[o];
264
+ while (b <= 0x20 /* space */)
265
+ b = bs[++o];
266
+ if (bs.length - o < 10)
267
+ return null;
268
+ const [b0, b1, b2, b3, b4, b5, b6, b7, b8, b9] = [bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++]];
269
+ if (b4 !== 0x2d /*-*/ || b7 !== 0x2d /*-*/)
270
+ return null;
271
+ const year = (b0 - 0x30) * 1000 + (b1 - 0x30) * 100 + (b2 - 0x30) * 10 + (b3 - 0x30);
272
+ const month = (b5 - 0x30) * 10 + (b6 - 0x30) - 1;
273
+ const day = (b8 - 0x30) * 10 + (b9 - 0x30);
274
+ b = bs[o + 10];
275
+ if ((b0 & 0x5f) === 0x54 /* T */)
276
+ return Date.UTC(year, month, day);
277
+ const [t0, t1, t2, t3, t4, t5, t6, t7] = [bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++], bs[o++]];
278
+ if (t2 !== 0x3a /*:*/ || t5 !== 0x3a /*:*/)
279
+ return null;
280
+ const hour = (t0 - 0x30) * 10 + (t1 - 0x30);
281
+ const minute = (t3 - 0x30) * 10 + (t4 - 0x30);
282
+ const second = (t6 - 0x30) * 10 + (t7 - 0x30);
283
+ if (bs[o++] !== 0x2e /*.*/)
284
+ return Date.UTC(year, month, day, hour, minute, second);
285
+ let millisecond = 0;
286
+ b = bs[++o];
287
+ if (b >= 0x30 /*0*/ && b <= 0x39 /*9*/) {
288
+ millisecond = (b - 0x30) * 100;
289
+ b = bs[++o];
290
+ }
291
+ if (b >= 0x30 /*0*/ && b <= 0x39 /*9*/) {
292
+ millisecond += (b - 0x30) * 10;
293
+ b = bs[++o];
294
+ }
295
+ if (b >= 0x30 /*0*/ && b <= 0x39 /*9*/) {
296
+ millisecond += (b - 0x30);
297
+ }
298
+ if (!b || (b & 0x5f) === 0x5a /* Z */) {
299
+ return Date.UTC(year, month, day, hour, minute, second, millisecond);
300
+ }
301
+ let offsetSign = 1;
302
+ if (b !== 0x2b /*+*/ && b !== 0x2d /*-*/) {
303
+ return Date.UTC(year, month, day, hour, minute, second, millisecond);
304
+ }
305
+ else {
306
+ offsetSign = b === 0x2b /*+*/ ? 1 : -1;
307
+ o++;
308
+ }
309
+ const [o0, o1, o2, o3] = [bs[o++], bs[o++], bs[o++], bs[o++]];
310
+ const oh = (o0 - 0x30) * 10 + (o1 - 0x30);
311
+ const om = (o2 - 0x30) * 10 + (o3 - 0x30);
312
+ const oms = offsetSign * (oh * 60 + om) * 60000;
313
+ return Date.UTC(year, month, day, hour, minute, second, millisecond) - oms;
314
+ };
315
+ export const boolean = (bs) => {
316
+ if (!bs?.length)
317
+ return null;
318
+ let o = 0;
319
+ let b = bs[o];
320
+ let end = bs.length;
321
+ while (b <= 0x20 /* space */)
322
+ b = bs[++o];
323
+ while (end > o && bs[end - 1] <= 0x20 /* space */)
324
+ end--;
325
+ if (end - o === 4) {
326
+ const [b0, b1, b2, b3] = [bs[o++], bs[o++], bs[o++], bs[o++]];
327
+ const isTrue = (b0 & 0x5f) === 0x54 /* T */ && (b1 & 0x5f) === 0x52 /* R */ && (b2 & 0x5f) === 0x55 /* U */ && (b3 & 0x5f) === 0x45; /* E */
328
+ return isTrue ? true : null;
329
+ }
330
+ else if (end - o === 5) {
331
+ const [b0, b1, b2, b3, b4] = [bs[o++], bs[o++], bs[o++], bs[o++], bs[o++]];
332
+ const isFalse = (b0 & 0x5f) === 0x46 /* F */ && (b1 & 0x5f) === 0x41 /* A */ && (b2 & 0x5f) === 0x4c /* L */ && (b3 & 0x5f) === 0x53 /* S */ && (b4 & 0x5f) === 0x45; /* E */
333
+ return isFalse ? false : null;
334
+ }
335
+ else {
336
+ return null;
337
+ }
338
+ };
339
+ export const isTrue = (bs) => {
340
+ if (!bs?.length)
341
+ return false;
342
+ let o = 0;
343
+ let b = bs[o];
344
+ let end = bs.length;
345
+ while (b <= 0x20 /* space */)
346
+ b = bs[++o];
347
+ while (end > o && bs[end - 1] <= 0x20 /* space */)
348
+ end--;
349
+ if (end - o === 4) {
350
+ const [b0, b1, b2, b3] = [bs[o++], bs[o++], bs[o++], bs[o++]];
351
+ return (b0 & 0x5f) === 0x54 /* T */ && (b1 & 0x5f) === 0x52 /* R */ && (b2 & 0x5f) === 0x55 /* U */ && (b3 & 0x5f) === 0x45; /* E */
352
+ }
353
+ else {
354
+ return false;
355
+ }
356
+ };
357
+ export const equals = (value, trim = true) => {
358
+ if (typeof value === 'string') {
359
+ value = textEncoder.encode(value);
360
+ }
361
+ return (bs) => {
362
+ if (!bs?.length)
363
+ return false;
364
+ let o = 0;
365
+ let b = bs[o];
366
+ let end = bs.length;
367
+ if (trim) {
368
+ while (b <= 0x20 /* space */)
369
+ b = bs[++o];
370
+ while (end > o && bs[end - 1] <= 0x20 /* space */)
371
+ end--;
372
+ }
373
+ if (end - o !== value.length)
374
+ return false;
375
+ for (let i = 0; i < value.length; i++) {
376
+ if (bs[o + i] !== value[i])
377
+ return false;
378
+ }
379
+ return true;
380
+ };
381
+ };
382
+ const DEFAULT_BUFFER_CAPACITY = 256;
383
+ let UTF8_BUFFER = new Uint8Array(DEFAULT_BUFFER_CAPACITY);
384
+ function growUtf8Buffer(bs, newCapacity) {
385
+ const next = new Uint8Array(newCapacity);
386
+ next.set(bs);
387
+ UTF8_BUFFER = next;
388
+ }
389
+ export const passThrough = (bs) => bs ?? null;
390
+ const utf8Resolver = (bs, preserveNl) => {
391
+ if (!bs?.length)
392
+ return new Uint8Array(0);
393
+ const decoder = createTextDecoder(bs, preserveNl);
394
+ const out = UTF8_BUFFER;
395
+ let o = 0;
396
+ for (const b of decoder) {
397
+ out[o++] = b;
398
+ if (o === out.length) {
399
+ growUtf8Buffer(out, out.length * 2);
400
+ }
401
+ }
402
+ return out.slice(0, o);
403
+ };
404
+ export const utf8Value = utf8Resolver;
405
+ export const utf8TextContent = (bs) => utf8Resolver(bs, true);
406
+ const stringResolver = (bs, preserveNl) => {
407
+ if (!bs?.length)
408
+ return null;
409
+ const decoder = createTextDecoder(bs, preserveNl);
410
+ const out = UTF8_BUFFER;
411
+ let o = 0;
412
+ for (const b of decoder) {
413
+ out[o++] = b;
414
+ if (o === out.length) {
415
+ growUtf8Buffer(out, out.length * 2);
416
+ }
417
+ }
418
+ return textDecoder.decode(out.subarray(0, o));
419
+ };
420
+ export const stringValue = stringResolver;
421
+ export const stringTextContent = (bs) => stringResolver(bs, true);
422
+ //# sourceMappingURL=valueResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valueResolver.js","sourceRoot":"","sources":["../src/valueResolver.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@jerp/xml-stream-ts",
3
+ "version": "0.1.0",
4
+ "description": "A small streaming XML parser for TypeScript.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "Jerome",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/jerp/xml-stream-ts.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/jerp/xml-stream-ts/issues"
14
+ },
15
+ "homepage": "https://github.com/jerp/xml-stream-ts#readme",
16
+ "sideEffects": false,
17
+ "files": [
18
+ "dist",
19
+ "README.md",
20
+ "LICENSE"
21
+ ],
22
+ "exports": {
23
+ ".": {
24
+ "types": "./dist/index.d.ts",
25
+ "import": "./dist/index.js"
26
+ }
27
+ },
28
+ "types": "./dist/index.d.ts",
29
+ "scripts": {
30
+ "build": "tsc -p tsconfig.json",
31
+ "test": "vitest run",
32
+ "prepublishOnly": "npm run build && npm test"
33
+ },
34
+ "devDependencies": {
35
+ "typescript": "~5.9.3",
36
+ "vitest": "^4.1.0"
37
+ },
38
+ "publishConfig": {
39
+ "access": "public"
40
+ },
41
+ "engines": {
42
+ "node": ">=20"
43
+ }
44
+ }