@kodexa-ai/document-wasm-ts 8.0.0-20484695702

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 (39) hide show
  1. package/README.md +563 -0
  2. package/dist/ContentNode.d.ts +207 -0
  3. package/dist/ContentNode.d.ts.map +1 -0
  4. package/dist/ContentNode.js +633 -0
  5. package/dist/ContentNode.js.map +1 -0
  6. package/dist/ExtractionEngine.d.ts +65 -0
  7. package/dist/ExtractionEngine.d.ts.map +1 -0
  8. package/dist/ExtractionEngine.js +115 -0
  9. package/dist/ExtractionEngine.js.map +1 -0
  10. package/dist/KddbDocument.d.ts +193 -0
  11. package/dist/KddbDocument.d.ts.map +1 -0
  12. package/dist/KddbDocument.js +575 -0
  13. package/dist/KddbDocument.js.map +1 -0
  14. package/dist/index.d.ts +54 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +96 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/sqljs-bridge.bundle.js +330 -0
  19. package/dist/wasm/browser-bridge.d.ts +44 -0
  20. package/dist/wasm/browser-bridge.d.ts.map +1 -0
  21. package/dist/wasm/browser-bridge.js +104 -0
  22. package/dist/wasm/browser-bridge.js.map +1 -0
  23. package/dist/wasm/loader.d.ts +57 -0
  24. package/dist/wasm/loader.d.ts.map +1 -0
  25. package/dist/wasm/loader.js +193 -0
  26. package/dist/wasm/loader.js.map +1 -0
  27. package/dist/wasm/sqljs-bridge.d.ts +40 -0
  28. package/dist/wasm/sqljs-bridge.d.ts.map +1 -0
  29. package/dist/wasm/sqljs-bridge.js +98 -0
  30. package/dist/wasm/sqljs-bridge.js.map +1 -0
  31. package/dist/wasm/sqljs-core.d.ts +92 -0
  32. package/dist/wasm/sqljs-core.d.ts.map +1 -0
  33. package/dist/wasm/sqljs-core.js +372 -0
  34. package/dist/wasm/sqljs-core.js.map +1 -0
  35. package/dist/wasm/types.d.ts +179 -0
  36. package/dist/wasm/types.d.ts.map +1 -0
  37. package/dist/wasm/types.js +9 -0
  38. package/dist/wasm/types.js.map +1 -0
  39. package/package.json +62 -0
@@ -0,0 +1,633 @@
1
+ /**
2
+ * ContentNode - TypeScript wrapper for Go WASM ContentNode functionality
3
+ *
4
+ * NOTE: Go WASM with syscall/js passes strings directly between JS and Go.
5
+ * No pointer-based memory management is needed.
6
+ */
7
+ import { getWasmInstance, getWasmHelper } from './wasm/loader';
8
+ export class ContentNode {
9
+ constructor(nodeRef) {
10
+ this.disposed = false;
11
+ this.nodeRef = nodeRef;
12
+ }
13
+ /**
14
+ * Get the node reference (for internal use)
15
+ */
16
+ getNodeRef() {
17
+ this.checkDisposed();
18
+ return this.nodeRef;
19
+ }
20
+ /**
21
+ * Get the node type (requires extended WASM exports)
22
+ */
23
+ async getNodeType() {
24
+ this.checkDisposed();
25
+ await getWasmInstance();
26
+ const g = globalThis;
27
+ if (typeof g.nodeGetNodeType !== 'function') {
28
+ throw new Error('nodeGetNodeType not available in WASM module');
29
+ }
30
+ return g.nodeGetNodeType(this.nodeRef);
31
+ }
32
+ /**
33
+ * Set the node type (requires extended WASM exports)
34
+ */
35
+ async setNodeType(nodeType) {
36
+ this.checkDisposed();
37
+ await getWasmInstance();
38
+ const g = globalThis;
39
+ if (typeof g.nodeSetNodeType !== 'function') {
40
+ throw new Error('nodeSetNodeType not available in WASM module');
41
+ }
42
+ g.nodeSetNodeType(this.nodeRef, nodeType);
43
+ }
44
+ /**
45
+ * Get the content of this node
46
+ */
47
+ async getContent() {
48
+ this.checkDisposed();
49
+ await getWasmInstance();
50
+ return nodeGetContent(this.nodeRef);
51
+ }
52
+ /**
53
+ * Set the content of this node
54
+ */
55
+ async setContent(content) {
56
+ this.checkDisposed();
57
+ await getWasmInstance();
58
+ nodeSetContent(this.nodeRef, content);
59
+ }
60
+ /**
61
+ * Get the index of this node (requires extended WASM exports)
62
+ */
63
+ async getIndex() {
64
+ this.checkDisposed();
65
+ await getWasmInstance();
66
+ const g = globalThis;
67
+ if (typeof g.nodeGetIndex !== 'function') {
68
+ throw new Error('nodeGetIndex not available in WASM module');
69
+ }
70
+ return g.nodeGetIndex(this.nodeRef);
71
+ }
72
+ /**
73
+ * Set the index of this node (requires extended WASM exports)
74
+ */
75
+ async setIndex(index) {
76
+ this.checkDisposed();
77
+ await getWasmInstance();
78
+ const g = globalThis;
79
+ if (typeof g.nodeSetIndex !== 'function') {
80
+ throw new Error('nodeSetIndex not available in WASM module');
81
+ }
82
+ g.nodeSetIndex(this.nodeRef, index);
83
+ }
84
+ /**
85
+ * Get the parent node (requires extended WASM exports)
86
+ */
87
+ async getParent() {
88
+ this.checkDisposed();
89
+ await getWasmInstance();
90
+ const g = globalThis;
91
+ if (typeof g.nodeGetParent !== 'function') {
92
+ throw new Error('nodeGetParent not available in WASM module');
93
+ }
94
+ const parentRef = g.nodeGetParent(this.nodeRef);
95
+ if (parentRef === 0)
96
+ return null;
97
+ return new ContentNode(parentRef);
98
+ }
99
+ /**
100
+ * Get child nodes
101
+ */
102
+ async getChildren() {
103
+ this.checkDisposed();
104
+ await getWasmInstance();
105
+ const childrenJson = nodeGetChildren(this.nodeRef);
106
+ const helper = await getWasmHelper();
107
+ const childrenData = helper.parseJsonResult(childrenJson);
108
+ if (!childrenData || !Array.isArray(childrenData)) {
109
+ return [];
110
+ }
111
+ return childrenData.map((childRef) => new ContentNode(childRef));
112
+ }
113
+ /**
114
+ * Get number of children (requires extended WASM exports)
115
+ */
116
+ async getChildCount() {
117
+ this.checkDisposed();
118
+ await getWasmInstance();
119
+ const g = globalThis;
120
+ if (typeof g.nodeGetChildCount !== 'function') {
121
+ throw new Error('nodeGetChildCount not available in WASM module');
122
+ }
123
+ return g.nodeGetChildCount(this.nodeRef);
124
+ }
125
+ /**
126
+ * Get child by index (requires extended WASM exports)
127
+ */
128
+ async getChild(index) {
129
+ this.checkDisposed();
130
+ await getWasmInstance();
131
+ const g = globalThis;
132
+ if (typeof g.nodeGetChild !== 'function') {
133
+ throw new Error('nodeGetChild not available in WASM module');
134
+ }
135
+ const childRef = g.nodeGetChild(this.nodeRef, index);
136
+ if (childRef === 0)
137
+ return null;
138
+ return new ContentNode(childRef);
139
+ }
140
+ /**
141
+ * Add a child node (requires extended WASM exports)
142
+ */
143
+ async addChild(child) {
144
+ this.checkDisposed();
145
+ await getWasmInstance();
146
+ const g = globalThis;
147
+ if (typeof g.nodeAddChild !== 'function') {
148
+ throw new Error('nodeAddChild not available in WASM module');
149
+ }
150
+ g.nodeAddChild(this.nodeRef, child.getNodeRef());
151
+ }
152
+ /**
153
+ * Select nodes using a selector (requires extended WASM exports)
154
+ */
155
+ async select(selector) {
156
+ this.checkDisposed();
157
+ await getWasmInstance();
158
+ const g = globalThis;
159
+ if (typeof g.nodeSelect !== 'function') {
160
+ throw new Error('nodeSelect not available in WASM module');
161
+ }
162
+ const resultJson = g.nodeSelect(this.nodeRef, selector);
163
+ const helper = await getWasmHelper();
164
+ const results = helper.parseJsonResult(resultJson);
165
+ if (!results || !Array.isArray(results)) {
166
+ return [];
167
+ }
168
+ return results.map((nodeRef) => new ContentNode(nodeRef));
169
+ }
170
+ /**
171
+ * Select first node using a selector (requires extended WASM exports)
172
+ */
173
+ async selectFirst(selector) {
174
+ this.checkDisposed();
175
+ await getWasmInstance();
176
+ const g = globalThis;
177
+ if (typeof g.nodeSelectFirst !== 'function') {
178
+ throw new Error('nodeSelectFirst not available in WASM module');
179
+ }
180
+ const nodeRef = g.nodeSelectFirst(this.nodeRef, selector);
181
+ if (nodeRef === 0)
182
+ return null;
183
+ return new ContentNode(nodeRef);
184
+ }
185
+ /**
186
+ * Check if this is a virtual node (requires extended WASM exports)
187
+ */
188
+ async isVirtual() {
189
+ this.checkDisposed();
190
+ await getWasmInstance();
191
+ const g = globalThis;
192
+ if (typeof g.nodeIsVirtual !== 'function') {
193
+ throw new Error('nodeIsVirtual not available in WASM module');
194
+ }
195
+ return g.nodeIsVirtual(this.nodeRef);
196
+ }
197
+ /**
198
+ * Set virtual flag (requires extended WASM exports)
199
+ */
200
+ async setVirtual(virtual) {
201
+ this.checkDisposed();
202
+ await getWasmInstance();
203
+ const g = globalThis;
204
+ if (typeof g.nodeSetVirtual !== 'function') {
205
+ throw new Error('nodeSetVirtual not available in WASM module');
206
+ }
207
+ g.nodeSetVirtual(this.nodeRef, virtual);
208
+ }
209
+ /**
210
+ * Get the UUID of this node (requires extended WASM exports)
211
+ */
212
+ async getUuid() {
213
+ this.checkDisposed();
214
+ await getWasmInstance();
215
+ const g = globalThis;
216
+ if (typeof g.nodeGetUUID !== 'function') {
217
+ throw new Error('nodeGetUUID not available in WASM module');
218
+ }
219
+ return g.nodeGetUUID(this.nodeRef);
220
+ }
221
+ /**
222
+ * Set the UUID of this node (requires extended WASM exports)
223
+ */
224
+ async setUuid(uuid) {
225
+ this.checkDisposed();
226
+ await getWasmInstance();
227
+ const g = globalThis;
228
+ if (typeof g.nodeSetUuid !== 'function') {
229
+ throw new Error('nodeSetUuid not available in WASM module');
230
+ }
231
+ g.nodeSetUuid(this.nodeRef, uuid);
232
+ }
233
+ // Tagging operations
234
+ /**
235
+ * Tag this node
236
+ */
237
+ async tag(tagName) {
238
+ this.checkDisposed();
239
+ await getWasmInstance();
240
+ nodeTag(this.nodeRef, tagName);
241
+ }
242
+ /**
243
+ * Tag this node with options (requires extended WASM exports)
244
+ */
245
+ async tagWithOptions(tagName, options) {
246
+ this.checkDisposed();
247
+ await getWasmInstance();
248
+ const g = globalThis;
249
+ if (typeof g.nodeTagWithOptions !== 'function') {
250
+ throw new Error('nodeTagWithOptions not available in WASM module');
251
+ }
252
+ g.nodeTagWithOptions(this.nodeRef, tagName, JSON.stringify(options));
253
+ }
254
+ /**
255
+ * Check if this node has a tag
256
+ */
257
+ async hasTag(tagName) {
258
+ this.checkDisposed();
259
+ await getWasmInstance();
260
+ return nodeHasTag(this.nodeRef, tagName);
261
+ }
262
+ /**
263
+ * Remove a tag from this node
264
+ */
265
+ async removeTag(tagName) {
266
+ this.checkDisposed();
267
+ await getWasmInstance();
268
+ nodeRemoveTag(this.nodeRef, tagName);
269
+ }
270
+ /**
271
+ * Get all tags for this node
272
+ */
273
+ async getTags() {
274
+ this.checkDisposed();
275
+ await getWasmInstance();
276
+ const tagsJson = nodeGetTags(this.nodeRef);
277
+ const helper = await getWasmHelper();
278
+ const tags = helper.parseJsonResult(tagsJson);
279
+ return Array.isArray(tags) ? tags : [];
280
+ }
281
+ // Feature operations (require extended WASM exports)
282
+ /**
283
+ * Set a feature on this node
284
+ */
285
+ async setFeature(featureType, name, value, config) {
286
+ this.checkDisposed();
287
+ await getWasmInstance();
288
+ const g = globalThis;
289
+ if (typeof g.nodeSetFeature !== 'function') {
290
+ throw new Error('nodeSetFeature not available in WASM module');
291
+ }
292
+ g.nodeSetFeature(this.nodeRef, featureType, name, JSON.stringify(value), config ? JSON.stringify(config) : '');
293
+ }
294
+ /**
295
+ * Get a feature from this node
296
+ */
297
+ async getFeature(featureType, name) {
298
+ this.checkDisposed();
299
+ await getWasmInstance();
300
+ const g = globalThis;
301
+ if (typeof g.nodeGetFeature !== 'function') {
302
+ throw new Error('nodeGetFeature not available in WASM module');
303
+ }
304
+ const featureJson = g.nodeGetFeature(this.nodeRef, featureType, name);
305
+ const helper = await getWasmHelper();
306
+ return helper.parseJsonResult(featureJson);
307
+ }
308
+ /**
309
+ * Get a feature value from this node
310
+ */
311
+ async getFeatureValue(featureType, name) {
312
+ this.checkDisposed();
313
+ await getWasmInstance();
314
+ const g = globalThis;
315
+ if (typeof g.nodeGetFeatureValue !== 'function') {
316
+ throw new Error('nodeGetFeatureValue not available in WASM module');
317
+ }
318
+ const valueJson = g.nodeGetFeatureValue(this.nodeRef, featureType, name);
319
+ const helper = await getWasmHelper();
320
+ return helper.parseJsonResult(valueJson);
321
+ }
322
+ /**
323
+ * Check if this node has a feature
324
+ */
325
+ async hasFeature(featureType, name) {
326
+ this.checkDisposed();
327
+ await getWasmInstance();
328
+ const g = globalThis;
329
+ if (typeof g.nodeHasFeature !== 'function') {
330
+ throw new Error('nodeHasFeature not available in WASM module');
331
+ }
332
+ return g.nodeHasFeature(this.nodeRef, featureType, name);
333
+ }
334
+ /**
335
+ * Get all features for this node
336
+ */
337
+ async getFeatures() {
338
+ this.checkDisposed();
339
+ await getWasmInstance();
340
+ const g = globalThis;
341
+ if (typeof g.nodeGetFeatures !== 'function') {
342
+ throw new Error('nodeGetFeatures not available in WASM module');
343
+ }
344
+ const featuresJson = g.nodeGetFeatures(this.nodeRef);
345
+ const helper = await getWasmHelper();
346
+ const features = helper.parseJsonResult(featuresJson);
347
+ return Array.isArray(features) ? features : [];
348
+ }
349
+ /**
350
+ * Get features of a specific type
351
+ */
352
+ async getFeaturesOfType(featureType) {
353
+ this.checkDisposed();
354
+ await getWasmInstance();
355
+ const g = globalThis;
356
+ if (typeof g.nodeGetFeaturesByType !== 'function') {
357
+ throw new Error('nodeGetFeaturesByType not available in WASM module');
358
+ }
359
+ const featuresJson = g.nodeGetFeaturesByType(this.nodeRef, featureType);
360
+ const helper = await getWasmHelper();
361
+ const features = helper.parseJsonResult(featuresJson);
362
+ return Array.isArray(features) ? features : [];
363
+ }
364
+ // Navigation operations (require extended WASM exports)
365
+ /**
366
+ * Get the next node
367
+ */
368
+ async nextNode() {
369
+ this.checkDisposed();
370
+ await getWasmInstance();
371
+ const g = globalThis;
372
+ if (typeof g.nodeNextNode !== 'function') {
373
+ throw new Error('nodeNextNode not available in WASM module');
374
+ }
375
+ const nextRef = g.nodeNextNode(this.nodeRef);
376
+ if (nextRef === 0)
377
+ return null;
378
+ return new ContentNode(nextRef);
379
+ }
380
+ /**
381
+ * Get the previous node
382
+ */
383
+ async previousNode() {
384
+ this.checkDisposed();
385
+ await getWasmInstance();
386
+ const g = globalThis;
387
+ if (typeof g.nodePreviousNode !== 'function') {
388
+ throw new Error('nodePreviousNode not available in WASM module');
389
+ }
390
+ const prevRef = g.nodePreviousNode(this.nodeRef);
391
+ if (prevRef === 0)
392
+ return null;
393
+ return new ContentNode(prevRef);
394
+ }
395
+ /**
396
+ * Check if this is the first child
397
+ */
398
+ async isFirstChild() {
399
+ this.checkDisposed();
400
+ await getWasmInstance();
401
+ const g = globalThis;
402
+ if (typeof g.nodeIsFirstChild !== 'function') {
403
+ throw new Error('nodeIsFirstChild not available in WASM module');
404
+ }
405
+ return g.nodeIsFirstChild(this.nodeRef);
406
+ }
407
+ /**
408
+ * Check if this is the last child
409
+ */
410
+ async isLastChild() {
411
+ this.checkDisposed();
412
+ await getWasmInstance();
413
+ const g = globalThis;
414
+ if (typeof g.nodeIsLastChild !== 'function') {
415
+ throw new Error('nodeIsLastChild not available in WASM module');
416
+ }
417
+ return g.nodeIsLastChild(this.nodeRef);
418
+ }
419
+ /**
420
+ * Get the depth of this node in the tree
421
+ */
422
+ async getDepth() {
423
+ this.checkDisposed();
424
+ await getWasmInstance();
425
+ const g = globalThis;
426
+ if (typeof g.nodeGetDepth !== 'function') {
427
+ throw new Error('nodeGetDepth not available in WASM module');
428
+ }
429
+ return g.nodeGetDepth(this.nodeRef);
430
+ }
431
+ /**
432
+ * Get the sibling index of this node
433
+ */
434
+ async getSiblingIndex() {
435
+ this.checkDisposed();
436
+ await getWasmInstance();
437
+ const g = globalThis;
438
+ if (typeof g.nodeGetSiblingIndex !== 'function') {
439
+ throw new Error('nodeGetSiblingIndex not available in WASM module');
440
+ }
441
+ return g.nodeGetSiblingIndex(this.nodeRef);
442
+ }
443
+ // Spatial operations (require extended WASM exports)
444
+ /**
445
+ * Set bounding box
446
+ */
447
+ async setBBox(x, y, width, height) {
448
+ this.checkDisposed();
449
+ await getWasmInstance();
450
+ const g = globalThis;
451
+ if (typeof g.nodeSetBBox !== 'function') {
452
+ throw new Error('nodeSetBBox not available in WASM module');
453
+ }
454
+ g.nodeSetBBox(this.nodeRef, x, y, width, height);
455
+ }
456
+ /**
457
+ * Get bounding box
458
+ */
459
+ async getBBox() {
460
+ this.checkDisposed();
461
+ await getWasmInstance();
462
+ const g = globalThis;
463
+ if (typeof g.nodeGetBBox !== 'function') {
464
+ throw new Error('nodeGetBBox not available in WASM module');
465
+ }
466
+ const bboxJson = g.nodeGetBBox(this.nodeRef);
467
+ const helper = await getWasmHelper();
468
+ return helper.parseJsonResult(bboxJson);
469
+ }
470
+ /**
471
+ * Get X coordinate
472
+ */
473
+ async getX() {
474
+ this.checkDisposed();
475
+ await getWasmInstance();
476
+ const g = globalThis;
477
+ if (typeof g.nodeGetX !== 'function') {
478
+ throw new Error('nodeGetX not available in WASM module');
479
+ }
480
+ return g.nodeGetX(this.nodeRef);
481
+ }
482
+ /**
483
+ * Get Y coordinate
484
+ */
485
+ async getY() {
486
+ this.checkDisposed();
487
+ await getWasmInstance();
488
+ const g = globalThis;
489
+ if (typeof g.nodeGetY !== 'function') {
490
+ throw new Error('nodeGetY not available in WASM module');
491
+ }
492
+ return g.nodeGetY(this.nodeRef);
493
+ }
494
+ /**
495
+ * Get width
496
+ */
497
+ async getWidth() {
498
+ this.checkDisposed();
499
+ await getWasmInstance();
500
+ const g = globalThis;
501
+ if (typeof g.nodeGetWidth !== 'function') {
502
+ throw new Error('nodeGetWidth not available in WASM module');
503
+ }
504
+ return g.nodeGetWidth(this.nodeRef);
505
+ }
506
+ /**
507
+ * Get height
508
+ */
509
+ async getHeight() {
510
+ this.checkDisposed();
511
+ await getWasmInstance();
512
+ const g = globalThis;
513
+ if (typeof g.nodeGetHeight !== 'function') {
514
+ throw new Error('nodeGetHeight not available in WASM module');
515
+ }
516
+ return g.nodeGetHeight(this.nodeRef);
517
+ }
518
+ /**
519
+ * Set rotation
520
+ */
521
+ async setRotate(rotate) {
522
+ this.checkDisposed();
523
+ await getWasmInstance();
524
+ const g = globalThis;
525
+ if (typeof g.nodeSetRotate !== 'function') {
526
+ throw new Error('nodeSetRotate not available in WASM module');
527
+ }
528
+ g.nodeSetRotate(this.nodeRef, rotate);
529
+ }
530
+ /**
531
+ * Get rotation
532
+ */
533
+ async getRotate() {
534
+ this.checkDisposed();
535
+ await getWasmInstance();
536
+ const g = globalThis;
537
+ if (typeof g.nodeGetRotate !== 'function') {
538
+ throw new Error('nodeGetRotate not available in WASM module');
539
+ }
540
+ return g.nodeGetRotate(this.nodeRef);
541
+ }
542
+ /**
543
+ * Get the page number this node is on (for page nodes, returns their index)
544
+ */
545
+ async getPage() {
546
+ this.checkDisposed();
547
+ await getWasmInstance();
548
+ const g = globalThis;
549
+ if (typeof g.nodeGetPage !== 'function') {
550
+ // Fallback: try to get index
551
+ if (typeof g.nodeGetIndex === 'function') {
552
+ return g.nodeGetIndex(this.nodeRef);
553
+ }
554
+ return 0;
555
+ }
556
+ return g.nodeGetPage(this.nodeRef);
557
+ }
558
+ /**
559
+ * Get tag features (features of type 'tag')
560
+ */
561
+ async getTagFeatures() {
562
+ return this.getFeaturesOfType('tag');
563
+ }
564
+ /**
565
+ * Get tag groups for this node
566
+ * @param tagMetadataMap Map of tag name to metadata
567
+ * @param document The parent document (needed for findNodesByTagUuid)
568
+ */
569
+ async getTagGroups(tagMetadataMap, document) {
570
+ this.checkDisposed();
571
+ const tagFeatures = await this.getTagFeatures();
572
+ const tagInstances = new Map();
573
+ for (const tag of tagFeatures) {
574
+ if (!tag.value || !Array.isArray(tag.value) || !tag.value[0]?.uuid) {
575
+ continue;
576
+ }
577
+ const tagInstance = `${tag.name}:${tag.value[0].uuid}`;
578
+ if (!tagInstances.has(tagInstance)) {
579
+ const nodes = await document.findNodesByTagUuid(tag.value[0].uuid);
580
+ const sortedNodes = await document.getSpatiallySortedNodes(nodes);
581
+ const pageNum = await this.getPage();
582
+ const newGroup = {
583
+ tag: tag.name,
584
+ page: pageNum,
585
+ tagUuid: tag.value[0].uuid,
586
+ nodes: sortedNodes,
587
+ metadata: undefined,
588
+ taxon: undefined,
589
+ text: '',
590
+ };
591
+ // Get text from sorted nodes
592
+ const texts = [];
593
+ for (const node of sortedNodes) {
594
+ texts.push(await node.getContent());
595
+ }
596
+ newGroup.text = texts.join(' ');
597
+ newGroup.metadata = tagMetadataMap.get(tag.name);
598
+ if (newGroup.metadata) {
599
+ newGroup.taxon = newGroup.metadata.taxon;
600
+ }
601
+ tagInstances.set(tagInstance, newGroup);
602
+ }
603
+ }
604
+ return Array.from(tagInstances.values());
605
+ }
606
+ // Resource management
607
+ /**
608
+ * Dispose of this node and free WASM resources
609
+ */
610
+ dispose() {
611
+ if (!this.disposed && this.nodeRef !== 0) {
612
+ try {
613
+ if (typeof freeNode === 'function') {
614
+ freeNode(this.nodeRef);
615
+ }
616
+ this.disposed = true;
617
+ this.nodeRef = 0;
618
+ }
619
+ catch (e) {
620
+ console.warn('Error disposing ContentNode:', e);
621
+ }
622
+ }
623
+ }
624
+ /**
625
+ * Check if this node has been disposed
626
+ */
627
+ checkDisposed() {
628
+ if (this.disposed) {
629
+ throw new Error('ContentNode has been disposed');
630
+ }
631
+ }
632
+ }
633
+ //# sourceMappingURL=ContentNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentNode.js","sourceRoot":"","sources":["../src/ContentNode.ts"],"names":[],"mappings":"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"}