@usejunior/docx-core 0.0.1 → 0.1.1

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 (252) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +86 -28
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/atomizer.d.ts +218 -0
  5. package/dist/atomizer.d.ts.map +1 -0
  6. package/dist/atomizer.js +856 -0
  7. package/dist/atomizer.js.map +1 -0
  8. package/dist/baselines/atomizer/atomLcs.d.ts +96 -0
  9. package/dist/baselines/atomizer/atomLcs.d.ts.map +1 -0
  10. package/dist/baselines/atomizer/atomLcs.js +347 -0
  11. package/dist/baselines/atomizer/atomLcs.js.map +1 -0
  12. package/dist/baselines/atomizer/debug.d.ts +41 -0
  13. package/dist/baselines/atomizer/debug.d.ts.map +1 -0
  14. package/dist/baselines/atomizer/debug.js +85 -0
  15. package/dist/baselines/atomizer/debug.js.map +1 -0
  16. package/dist/baselines/atomizer/documentReconstructor.d.ts +64 -0
  17. package/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -0
  18. package/dist/baselines/atomizer/documentReconstructor.js +939 -0
  19. package/dist/baselines/atomizer/documentReconstructor.js.map +1 -0
  20. package/dist/baselines/atomizer/hierarchicalLcs.d.ts +111 -0
  21. package/dist/baselines/atomizer/hierarchicalLcs.d.ts.map +1 -0
  22. package/dist/baselines/atomizer/hierarchicalLcs.js +469 -0
  23. package/dist/baselines/atomizer/hierarchicalLcs.js.map +1 -0
  24. package/dist/baselines/atomizer/inPlaceModifier.d.ts +183 -0
  25. package/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -0
  26. package/dist/baselines/atomizer/inPlaceModifier.js +1600 -0
  27. package/dist/baselines/atomizer/inPlaceModifier.js.map +1 -0
  28. package/dist/baselines/atomizer/numberingIntegration.d.ts +59 -0
  29. package/dist/baselines/atomizer/numberingIntegration.d.ts.map +1 -0
  30. package/dist/baselines/atomizer/numberingIntegration.js +209 -0
  31. package/dist/baselines/atomizer/numberingIntegration.js.map +1 -0
  32. package/dist/baselines/atomizer/pipeline.d.ts +65 -0
  33. package/dist/baselines/atomizer/pipeline.d.ts.map +1 -0
  34. package/dist/baselines/atomizer/pipeline.js +510 -0
  35. package/dist/baselines/atomizer/pipeline.js.map +1 -0
  36. package/dist/baselines/atomizer/premergeRuns.d.ts +26 -0
  37. package/dist/baselines/atomizer/premergeRuns.d.ts.map +1 -0
  38. package/dist/baselines/atomizer/premergeRuns.js +150 -0
  39. package/dist/baselines/atomizer/premergeRuns.js.map +1 -0
  40. package/dist/baselines/atomizer/trackChangesAcceptor.d.ts +63 -0
  41. package/dist/baselines/atomizer/trackChangesAcceptor.d.ts.map +1 -0
  42. package/dist/baselines/atomizer/trackChangesAcceptor.js +254 -0
  43. package/dist/baselines/atomizer/trackChangesAcceptor.js.map +1 -0
  44. package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts +64 -0
  45. package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -0
  46. package/dist/baselines/atomizer/trackChangesAcceptorAst.js +586 -0
  47. package/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -0
  48. package/dist/baselines/atomizer/xmlToWmlElement.d.ts +65 -0
  49. package/dist/baselines/atomizer/xmlToWmlElement.d.ts.map +1 -0
  50. package/dist/baselines/atomizer/xmlToWmlElement.js +95 -0
  51. package/dist/baselines/atomizer/xmlToWmlElement.js.map +1 -0
  52. package/dist/baselines/diffmatch/documentBuilder.d.ts +44 -0
  53. package/dist/baselines/diffmatch/documentBuilder.d.ts.map +1 -0
  54. package/dist/baselines/diffmatch/documentBuilder.js +227 -0
  55. package/dist/baselines/diffmatch/documentBuilder.js.map +1 -0
  56. package/dist/baselines/diffmatch/paragraphAlignment.d.ts +75 -0
  57. package/dist/baselines/diffmatch/paragraphAlignment.d.ts.map +1 -0
  58. package/dist/baselines/diffmatch/paragraphAlignment.js +206 -0
  59. package/dist/baselines/diffmatch/paragraphAlignment.js.map +1 -0
  60. package/dist/baselines/diffmatch/pipeline.d.ts +33 -0
  61. package/dist/baselines/diffmatch/pipeline.d.ts.map +1 -0
  62. package/dist/baselines/diffmatch/pipeline.js +84 -0
  63. package/dist/baselines/diffmatch/pipeline.js.map +1 -0
  64. package/dist/baselines/diffmatch/runDiff.d.ts +53 -0
  65. package/dist/baselines/diffmatch/runDiff.d.ts.map +1 -0
  66. package/dist/baselines/diffmatch/runDiff.js +253 -0
  67. package/dist/baselines/diffmatch/runDiff.js.map +1 -0
  68. package/dist/baselines/diffmatch/trackChangesRenderer.d.ts +64 -0
  69. package/dist/baselines/diffmatch/trackChangesRenderer.d.ts.map +1 -0
  70. package/dist/baselines/diffmatch/trackChangesRenderer.js +178 -0
  71. package/dist/baselines/diffmatch/trackChangesRenderer.js.map +1 -0
  72. package/dist/baselines/diffmatch/xmlParser.d.ts +45 -0
  73. package/dist/baselines/diffmatch/xmlParser.d.ts.map +1 -0
  74. package/dist/baselines/diffmatch/xmlParser.js +344 -0
  75. package/dist/baselines/diffmatch/xmlParser.js.map +1 -0
  76. package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts +51 -0
  77. package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts.map +1 -0
  78. package/dist/baselines/wmlcomparer/DocxodusWasm.js +83 -0
  79. package/dist/baselines/wmlcomparer/DocxodusWasm.js.map +1 -0
  80. package/dist/baselines/wmlcomparer/DotnetCli.d.ts +40 -0
  81. package/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -0
  82. package/dist/baselines/wmlcomparer/DotnetCli.js +135 -0
  83. package/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -0
  84. package/dist/benchmark/metrics.d.ts +72 -0
  85. package/dist/benchmark/metrics.d.ts.map +1 -0
  86. package/dist/benchmark/metrics.js +45 -0
  87. package/dist/benchmark/metrics.js.map +1 -0
  88. package/dist/benchmark/reporter.d.ts +23 -0
  89. package/dist/benchmark/reporter.d.ts.map +1 -0
  90. package/dist/benchmark/reporter.js +147 -0
  91. package/dist/benchmark/reporter.js.map +1 -0
  92. package/dist/benchmark/runner.d.ts +30 -0
  93. package/dist/benchmark/runner.d.ts.map +1 -0
  94. package/dist/benchmark/runner.js +233 -0
  95. package/dist/benchmark/runner.js.map +1 -0
  96. package/dist/cli/compare-two.d.ts +28 -0
  97. package/dist/cli/compare-two.d.ts.map +1 -0
  98. package/dist/cli/compare-two.js +110 -0
  99. package/dist/cli/compare-two.js.map +1 -0
  100. package/dist/cli/index.d.ts +3 -0
  101. package/dist/cli/index.d.ts.map +1 -0
  102. package/dist/cli/index.js +21 -0
  103. package/dist/cli/index.js.map +1 -0
  104. package/dist/core-types.d.ts +296 -0
  105. package/dist/core-types.d.ts.map +1 -0
  106. package/dist/core-types.js +122 -0
  107. package/dist/core-types.js.map +1 -0
  108. package/dist/footnotes.d.ts +144 -0
  109. package/dist/footnotes.d.ts.map +1 -0
  110. package/dist/footnotes.js +291 -0
  111. package/dist/footnotes.js.map +1 -0
  112. package/dist/format-detection.d.ts +120 -0
  113. package/dist/format-detection.d.ts.map +1 -0
  114. package/dist/format-detection.js +338 -0
  115. package/dist/format-detection.js.map +1 -0
  116. package/dist/index.d.ts +177 -0
  117. package/dist/index.d.ts.map +1 -0
  118. package/dist/index.js +55 -0
  119. package/dist/index.js.map +1 -0
  120. package/dist/integration/output-artifacts.d.ts +6 -0
  121. package/dist/integration/output-artifacts.d.ts.map +1 -0
  122. package/dist/integration/output-artifacts.js +30 -0
  123. package/dist/integration/output-artifacts.js.map +1 -0
  124. package/dist/move-detection.d.ts +211 -0
  125. package/dist/move-detection.d.ts.map +1 -0
  126. package/dist/move-detection.js +391 -0
  127. package/dist/move-detection.js.map +1 -0
  128. package/dist/numbering.d.ts +136 -0
  129. package/dist/numbering.d.ts.map +1 -0
  130. package/dist/numbering.js +446 -0
  131. package/dist/numbering.js.map +1 -0
  132. package/dist/primitives/accept_changes.d.ts +30 -0
  133. package/dist/primitives/accept_changes.d.ts.map +1 -0
  134. package/dist/primitives/accept_changes.js +241 -0
  135. package/dist/primitives/accept_changes.js.map +1 -0
  136. package/dist/primitives/bookmarks.d.ts +12 -0
  137. package/dist/primitives/bookmarks.d.ts.map +1 -0
  138. package/dist/primitives/bookmarks.js +248 -0
  139. package/dist/primitives/bookmarks.js.map +1 -0
  140. package/dist/primitives/comments.d.ts +88 -0
  141. package/dist/primitives/comments.d.ts.map +1 -0
  142. package/dist/primitives/comments.js +703 -0
  143. package/dist/primitives/comments.js.map +1 -0
  144. package/dist/primitives/document.d.ts +168 -0
  145. package/dist/primitives/document.d.ts.map +1 -0
  146. package/dist/primitives/document.js +532 -0
  147. package/dist/primitives/document.js.map +1 -0
  148. package/dist/primitives/document_view.d.ts +93 -0
  149. package/dist/primitives/document_view.d.ts.map +1 -0
  150. package/dist/primitives/document_view.js +722 -0
  151. package/dist/primitives/document_view.js.map +1 -0
  152. package/dist/primitives/dom-helpers.d.ts +94 -0
  153. package/dist/primitives/dom-helpers.d.ts.map +1 -0
  154. package/dist/primitives/dom-helpers.js +219 -0
  155. package/dist/primitives/dom-helpers.js.map +1 -0
  156. package/dist/primitives/errors.d.ts +7 -0
  157. package/dist/primitives/errors.d.ts.map +1 -0
  158. package/dist/primitives/errors.js +10 -0
  159. package/dist/primitives/errors.js.map +1 -0
  160. package/dist/primitives/extract_revisions.d.ts +50 -0
  161. package/dist/primitives/extract_revisions.d.ts.map +1 -0
  162. package/dist/primitives/extract_revisions.js +340 -0
  163. package/dist/primitives/extract_revisions.js.map +1 -0
  164. package/dist/primitives/footnotes.d.ts +37 -0
  165. package/dist/primitives/footnotes.d.ts.map +1 -0
  166. package/dist/primitives/footnotes.js +552 -0
  167. package/dist/primitives/footnotes.js.map +1 -0
  168. package/dist/primitives/formatting_tags.d.ts +30 -0
  169. package/dist/primitives/formatting_tags.d.ts.map +1 -0
  170. package/dist/primitives/formatting_tags.js +217 -0
  171. package/dist/primitives/formatting_tags.js.map +1 -0
  172. package/dist/primitives/index.d.ts +26 -0
  173. package/dist/primitives/index.d.ts.map +1 -0
  174. package/dist/primitives/index.js +26 -0
  175. package/dist/primitives/index.js.map +1 -0
  176. package/dist/primitives/layout.d.ts +53 -0
  177. package/dist/primitives/layout.d.ts.map +1 -0
  178. package/dist/primitives/layout.js +178 -0
  179. package/dist/primitives/layout.js.map +1 -0
  180. package/dist/primitives/list_labels.d.ts +19 -0
  181. package/dist/primitives/list_labels.d.ts.map +1 -0
  182. package/dist/primitives/list_labels.js +57 -0
  183. package/dist/primitives/list_labels.js.map +1 -0
  184. package/dist/primitives/matching.d.ts +17 -0
  185. package/dist/primitives/matching.d.ts.map +1 -0
  186. package/dist/primitives/matching.js +144 -0
  187. package/dist/primitives/matching.js.map +1 -0
  188. package/dist/primitives/merge_runs.d.ts +23 -0
  189. package/dist/primitives/merge_runs.d.ts.map +1 -0
  190. package/dist/primitives/merge_runs.js +195 -0
  191. package/dist/primitives/merge_runs.js.map +1 -0
  192. package/dist/primitives/namespaces.d.ts +90 -0
  193. package/dist/primitives/namespaces.d.ts.map +1 -0
  194. package/dist/primitives/namespaces.js +107 -0
  195. package/dist/primitives/namespaces.js.map +1 -0
  196. package/dist/primitives/numbering.d.ts +27 -0
  197. package/dist/primitives/numbering.d.ts.map +1 -0
  198. package/dist/primitives/numbering.js +182 -0
  199. package/dist/primitives/numbering.js.map +1 -0
  200. package/dist/primitives/prevent_double_elevation.d.ts +18 -0
  201. package/dist/primitives/prevent_double_elevation.d.ts.map +1 -0
  202. package/dist/primitives/prevent_double_elevation.js +190 -0
  203. package/dist/primitives/prevent_double_elevation.js.map +1 -0
  204. package/dist/primitives/reject_changes.d.ts +27 -0
  205. package/dist/primitives/reject_changes.d.ts.map +1 -0
  206. package/dist/primitives/reject_changes.js +371 -0
  207. package/dist/primitives/reject_changes.js.map +1 -0
  208. package/dist/primitives/relationships.d.ts +7 -0
  209. package/dist/primitives/relationships.d.ts.map +1 -0
  210. package/dist/primitives/relationships.js +24 -0
  211. package/dist/primitives/relationships.js.map +1 -0
  212. package/dist/primitives/semantic_tags.d.ts +32 -0
  213. package/dist/primitives/semantic_tags.d.ts.map +1 -0
  214. package/dist/primitives/semantic_tags.js +139 -0
  215. package/dist/primitives/semantic_tags.js.map +1 -0
  216. package/dist/primitives/simplify_redlines.d.ts +19 -0
  217. package/dist/primitives/simplify_redlines.d.ts.map +1 -0
  218. package/dist/primitives/simplify_redlines.js +94 -0
  219. package/dist/primitives/simplify_redlines.js.map +1 -0
  220. package/dist/primitives/styles.d.ts +36 -0
  221. package/dist/primitives/styles.d.ts.map +1 -0
  222. package/dist/primitives/styles.js +190 -0
  223. package/dist/primitives/styles.js.map +1 -0
  224. package/dist/primitives/text.d.ts +27 -0
  225. package/dist/primitives/text.d.ts.map +1 -0
  226. package/dist/primitives/text.js +416 -0
  227. package/dist/primitives/text.js.map +1 -0
  228. package/dist/primitives/validate_document.d.ts +24 -0
  229. package/dist/primitives/validate_document.d.ts.map +1 -0
  230. package/dist/primitives/validate_document.js +147 -0
  231. package/dist/primitives/validate_document.js.map +1 -0
  232. package/dist/primitives/xml.d.ts +5 -0
  233. package/dist/primitives/xml.d.ts.map +1 -0
  234. package/dist/primitives/xml.js +19 -0
  235. package/dist/primitives/xml.js.map +1 -0
  236. package/dist/primitives/zip.d.ts +25 -0
  237. package/dist/primitives/zip.d.ts.map +1 -0
  238. package/dist/primitives/zip.js +78 -0
  239. package/dist/primitives/zip.js.map +1 -0
  240. package/dist/shared/docx/DocxArchive.d.ts +94 -0
  241. package/dist/shared/docx/DocxArchive.d.ts.map +1 -0
  242. package/dist/shared/docx/DocxArchive.js +169 -0
  243. package/dist/shared/docx/DocxArchive.js.map +1 -0
  244. package/dist/shared/ooxml/namespaces.d.ts +149 -0
  245. package/dist/shared/ooxml/namespaces.d.ts.map +1 -0
  246. package/dist/shared/ooxml/namespaces.js +224 -0
  247. package/dist/shared/ooxml/namespaces.js.map +1 -0
  248. package/dist/shared/ooxml/types.d.ts +136 -0
  249. package/dist/shared/ooxml/types.d.ts.map +1 -0
  250. package/dist/shared/ooxml/types.js +7 -0
  251. package/dist/shared/ooxml/types.js.map +1 -0
  252. package/package.json +63 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document_view.js","sourceRoot":"","sources":["../../src/primitives/document_view.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * DOM Helper Layer
3
+ *
4
+ * Thin helpers that bridge xmldom's missing APIs and enforce the text semantics
5
+ * contract for OOXML processing. These helpers address:
6
+ *
7
+ * 1. Leaf text contract — getLeafText() returns direct text child value only,
8
+ * unlike DOM textContent which is recursive. Critical for hash/compare code.
9
+ * 2. Child element access — xmldom has no .children property, only .childNodes.
10
+ * 3. Tree manipulation — insertAfter, wrap, unwrap operations.
11
+ * 4. Namespace-safe element creation — always use createElementNS for OOXML.
12
+ */
13
+ export declare const NODE_TYPE: {
14
+ readonly ELEMENT: 1;
15
+ readonly TEXT: 3;
16
+ readonly PROCESSING_INSTRUCTION: 7;
17
+ readonly COMMENT: 8;
18
+ readonly DOCUMENT: 9;
19
+ };
20
+ /**
21
+ * Get direct text child value (leaf-only). Returns undefined if no text child.
22
+ *
23
+ * Use this instead of el.textContent in hash/compare code — DOM textContent
24
+ * is recursive and would silently break hashing on container elements.
25
+ */
26
+ export declare function getLeafText(el: Element): string | undefined;
27
+ /**
28
+ * Set the direct text content of a leaf element. Replaces or creates
29
+ * the first text child node.
30
+ */
31
+ export declare function setLeafText(el: Element, text: string): void;
32
+ /**
33
+ * Get element-only children. Filters out text nodes, comments, PIs.
34
+ */
35
+ export declare function childElements(el: Element | Node): Element[];
36
+ /**
37
+ * Get direct child elements with a specific tag name (prefix-qualified).
38
+ */
39
+ export declare function childElementsByTagName(el: Element, tagName: string): Element[];
40
+ /**
41
+ * Find the first direct child element with a specific tag name.
42
+ */
43
+ export declare function findChildByTagName(el: Element, tagName: string): Element | null;
44
+ /**
45
+ * Insert newEl after refEl in parent.
46
+ */
47
+ export declare function insertAfterElement(refEl: Node, newEl: Node): void;
48
+ /**
49
+ * Wrap target in wrapper (replace target with wrapper, wrapper contains target).
50
+ */
51
+ export declare function wrapElement(target: Node, wrapper: Element): void;
52
+ /**
53
+ * Unwrap element — replace it with its children in parent.
54
+ */
55
+ export declare function unwrapElement(el: Element): void;
56
+ /**
57
+ * Remove all descendant elements matching a tag name.
58
+ * Returns the number of elements removed.
59
+ */
60
+ export declare function removeAllByTagName(root: Element, tagName: string): number;
61
+ /**
62
+ * Unwrap all elements matching a tag name throughout the tree.
63
+ * Returns the number of elements unwrapped.
64
+ */
65
+ export declare function unwrapAllByTagName(root: Element, tagName: string): number;
66
+ /**
67
+ * Find all descendant elements with a specific tag name.
68
+ * Returns a static array (unlike the live NodeList from getElementsByTagName).
69
+ */
70
+ export declare function findAllByTagName(root: Element, tagName: string): Element[];
71
+ /**
72
+ * Rename an element by creating a new element with the target tag name,
73
+ * copying all attributes and children, and replacing it in the parent.
74
+ *
75
+ * Returns the new element. Callers holding a reference to the old element
76
+ * should update to use the returned value.
77
+ */
78
+ export declare function renameElement(el: Element, newTagName: string): Element;
79
+ /**
80
+ * Insert a child element at a specific index position.
81
+ * If index >= child count, appends at the end.
82
+ */
83
+ export declare function insertChildAt(parent: Element, child: Node, index: number): void;
84
+ /**
85
+ * Create OOXML element with correct namespace. Never use plain createElement
86
+ * for OOXML tags — it yields namespaceURI=null which breaks namespace-aware code.
87
+ */
88
+ export declare function createWmlElement(doc: Document, localTag: string, attrs?: Record<string, string>): Element;
89
+ /**
90
+ * Create a w:t text element with the given text content.
91
+ * Automatically sets xml:space="preserve" to maintain whitespace fidelity.
92
+ */
93
+ export declare function createWmlTextElement(doc: Document, text: string): Element;
94
+ //# sourceMappingURL=dom-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-helpers.d.ts","sourceRoot":"","sources":["../../src/primitives/dom-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,eAAO,MAAM,SAAS;;;;;;CAMZ,CAAC;AAIX;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAM3D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAS3D;AAID;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,EAAE,CAO3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAS9E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAQ/E;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAEjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAGhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAI/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUzE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAYzE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAO1E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAsBtE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAO/E;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAQT;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKzE"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * DOM Helper Layer
3
+ *
4
+ * Thin helpers that bridge xmldom's missing APIs and enforce the text semantics
5
+ * contract for OOXML processing. These helpers address:
6
+ *
7
+ * 1. Leaf text contract — getLeafText() returns direct text child value only,
8
+ * unlike DOM textContent which is recursive. Critical for hash/compare code.
9
+ * 2. Child element access — xmldom has no .children property, only .childNodes.
10
+ * 3. Tree manipulation — insertAfter, wrap, unwrap operations.
11
+ * 4. Namespace-safe element creation — always use createElementNS for OOXML.
12
+ */
13
+ import { OOXML } from './namespaces.js';
14
+ // ── DOM node type constants (avoid magic numbers) ──────────────────
15
+ export const NODE_TYPE = {
16
+ ELEMENT: 1,
17
+ TEXT: 3,
18
+ PROCESSING_INSTRUCTION: 7,
19
+ COMMENT: 8,
20
+ DOCUMENT: 9,
21
+ };
22
+ // ── Leaf text contract ─────────────────────────────────────────────
23
+ /**
24
+ * Get direct text child value (leaf-only). Returns undefined if no text child.
25
+ *
26
+ * Use this instead of el.textContent in hash/compare code — DOM textContent
27
+ * is recursive and would silently break hashing on container elements.
28
+ */
29
+ export function getLeafText(el) {
30
+ for (let i = 0; i < el.childNodes.length; i++) {
31
+ const child = el.childNodes[i];
32
+ if (child.nodeType === NODE_TYPE.TEXT)
33
+ return child.nodeValue ?? '';
34
+ }
35
+ return undefined;
36
+ }
37
+ /**
38
+ * Set the direct text content of a leaf element. Replaces or creates
39
+ * the first text child node.
40
+ */
41
+ export function setLeafText(el, text) {
42
+ for (let i = 0; i < el.childNodes.length; i++) {
43
+ const child = el.childNodes[i];
44
+ if (child.nodeType === NODE_TYPE.TEXT) {
45
+ child.nodeValue = text;
46
+ return;
47
+ }
48
+ }
49
+ el.appendChild(el.ownerDocument.createTextNode(text));
50
+ }
51
+ // ── Child element access (xmldom has no .children property) ────────
52
+ /**
53
+ * Get element-only children. Filters out text nodes, comments, PIs.
54
+ */
55
+ export function childElements(el) {
56
+ const result = [];
57
+ for (let i = 0; i < el.childNodes.length; i++) {
58
+ const child = el.childNodes[i];
59
+ if (child.nodeType === NODE_TYPE.ELEMENT)
60
+ result.push(child);
61
+ }
62
+ return result;
63
+ }
64
+ /**
65
+ * Get direct child elements with a specific tag name (prefix-qualified).
66
+ */
67
+ export function childElementsByTagName(el, tagName) {
68
+ const result = [];
69
+ for (let i = 0; i < el.childNodes.length; i++) {
70
+ const child = el.childNodes[i];
71
+ if (child.nodeType === NODE_TYPE.ELEMENT && child.tagName === tagName) {
72
+ result.push(child);
73
+ }
74
+ }
75
+ return result;
76
+ }
77
+ /**
78
+ * Find the first direct child element with a specific tag name.
79
+ */
80
+ export function findChildByTagName(el, tagName) {
81
+ for (let i = 0; i < el.childNodes.length; i++) {
82
+ const child = el.childNodes[i];
83
+ if (child.nodeType === NODE_TYPE.ELEMENT && child.tagName === tagName) {
84
+ return child;
85
+ }
86
+ }
87
+ return null;
88
+ }
89
+ // ── Tree manipulation helpers ──────────────────────────────────────
90
+ /**
91
+ * Insert newEl after refEl in parent.
92
+ */
93
+ export function insertAfterElement(refEl, newEl) {
94
+ refEl.parentNode.insertBefore(newEl, refEl.nextSibling);
95
+ }
96
+ /**
97
+ * Wrap target in wrapper (replace target with wrapper, wrapper contains target).
98
+ */
99
+ export function wrapElement(target, wrapper) {
100
+ target.parentNode.insertBefore(wrapper, target);
101
+ wrapper.appendChild(target);
102
+ }
103
+ /**
104
+ * Unwrap element — replace it with its children in parent.
105
+ */
106
+ export function unwrapElement(el) {
107
+ const parent = el.parentNode;
108
+ while (el.firstChild)
109
+ parent.insertBefore(el.firstChild, el);
110
+ parent.removeChild(el);
111
+ }
112
+ /**
113
+ * Remove all descendant elements matching a tag name.
114
+ * Returns the number of elements removed.
115
+ */
116
+ export function removeAllByTagName(root, tagName) {
117
+ const elements = Array.from(root.getElementsByTagName(tagName));
118
+ let count = 0;
119
+ for (const el of elements) {
120
+ if (el.parentNode) {
121
+ el.parentNode.removeChild(el);
122
+ count++;
123
+ }
124
+ }
125
+ return count;
126
+ }
127
+ /**
128
+ * Unwrap all elements matching a tag name throughout the tree.
129
+ * Returns the number of elements unwrapped.
130
+ */
131
+ export function unwrapAllByTagName(root, tagName) {
132
+ // Collect deepest-first to handle nesting correctly
133
+ const elements = Array.from(root.getElementsByTagName(tagName));
134
+ elements.reverse();
135
+ let count = 0;
136
+ for (const el of elements) {
137
+ if (el.parentNode) {
138
+ unwrapElement(el);
139
+ count++;
140
+ }
141
+ }
142
+ return count;
143
+ }
144
+ /**
145
+ * Find all descendant elements with a specific tag name.
146
+ * Returns a static array (unlike the live NodeList from getElementsByTagName).
147
+ */
148
+ export function findAllByTagName(root, tagName) {
149
+ const nodeList = root.getElementsByTagName(tagName);
150
+ const result = [];
151
+ for (let i = 0; i < nodeList.length; i++) {
152
+ result.push(nodeList[i]);
153
+ }
154
+ return result;
155
+ }
156
+ /**
157
+ * Rename an element by creating a new element with the target tag name,
158
+ * copying all attributes and children, and replacing it in the parent.
159
+ *
160
+ * Returns the new element. Callers holding a reference to the old element
161
+ * should update to use the returned value.
162
+ */
163
+ export function renameElement(el, newTagName) {
164
+ const doc = el.ownerDocument;
165
+ const ns = el.namespaceURI;
166
+ const newEl = ns ? doc.createElementNS(ns, newTagName) : doc.createElement(newTagName);
167
+ // Copy attributes
168
+ for (let i = 0; i < el.attributes.length; i++) {
169
+ const attr = el.attributes[i];
170
+ newEl.setAttribute(attr.name, attr.value);
171
+ }
172
+ // Move children
173
+ while (el.firstChild) {
174
+ newEl.appendChild(el.firstChild);
175
+ }
176
+ // Replace in parent
177
+ if (el.parentNode) {
178
+ el.parentNode.replaceChild(newEl, el);
179
+ }
180
+ return newEl;
181
+ }
182
+ /**
183
+ * Insert a child element at a specific index position.
184
+ * If index >= child count, appends at the end.
185
+ */
186
+ export function insertChildAt(parent, child, index) {
187
+ const children = childElements(parent);
188
+ if (index >= children.length) {
189
+ parent.appendChild(child);
190
+ }
191
+ else {
192
+ parent.insertBefore(child, children[index]);
193
+ }
194
+ }
195
+ // ── Namespace-safe OOXML element creation ──────────────────────────
196
+ /**
197
+ * Create OOXML element with correct namespace. Never use plain createElement
198
+ * for OOXML tags — it yields namespaceURI=null which breaks namespace-aware code.
199
+ */
200
+ export function createWmlElement(doc, localTag, attrs) {
201
+ const el = doc.createElementNS(OOXML.W_NS, `w:${localTag}`);
202
+ if (attrs) {
203
+ for (const [k, v] of Object.entries(attrs)) {
204
+ el.setAttribute(k, v);
205
+ }
206
+ }
207
+ return el;
208
+ }
209
+ /**
210
+ * Create a w:t text element with the given text content.
211
+ * Automatically sets xml:space="preserve" to maintain whitespace fidelity.
212
+ */
213
+ export function createWmlTextElement(doc, text) {
214
+ const el = doc.createElementNS(OOXML.W_NS, 'w:t');
215
+ el.setAttribute('xml:space', 'preserve');
216
+ el.appendChild(doc.createTextNode(text));
217
+ return el;
218
+ }
219
+ //# sourceMappingURL=dom-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-helpers.js","sourceRoot":"","sources":["../../src/primitives/dom-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type SafeDocxErrorCode = 'FILE_NOT_FOUND' | 'INVALID_FILE_TYPE' | 'FILE_READ_ERROR' | 'INVALID_ARGUMENT' | 'PERMISSION_DENIED' | 'SESSION_NOT_FOUND' | 'SESSION_EXPIRED' | 'INVALID_SESSION_ID' | 'UNSUPPORTED_EDIT' | 'UNSAFE_CONTAINER_BOUNDARY' | 'EDIT_FAILED' | 'SAVE_ERROR';
2
+ export declare class SafeDocxError extends Error {
3
+ readonly code: SafeDocxErrorCode;
4
+ readonly hint?: string;
5
+ constructor(code: SafeDocxErrorCode, message: string, hint?: string);
6
+ }
7
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/primitives/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,2BAA2B,GAC3B,aAAa,GACb,YAAY,CAAC;AAEjB,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEX,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAKpE"}
@@ -0,0 +1,10 @@
1
+ export class SafeDocxError extends Error {
2
+ code;
3
+ hint;
4
+ constructor(code, message, hint) {
5
+ super(message);
6
+ this.code = code;
7
+ this.hint = hint;
8
+ }
9
+ }
10
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/primitives/errors.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAoB;IACxB,IAAI,CAAU;IAEvB,YAAY,IAAuB,EAAE,OAAe,EAAE,IAAa;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * extract_revisions — walk tracked-change markup in a document body and
3
+ * return structured per-paragraph revision records with before/after text.
4
+ *
5
+ * Algorithm:
6
+ * 1. Clone DOM twice → acceptChanges() on one, rejectChanges() on the other
7
+ * 2. Walk all w:p in the *original* tracked DOM (including inside w:tc table cells)
8
+ * 3. For each paragraph with revision wrappers, look up before_text (rejected clone)
9
+ * and after_text (accepted clone) by _bk_* bookmark ID
10
+ * 4. Collect individual revision entries with type, text, author
11
+ * 5. Join comments by anchoredParagraphId
12
+ * 6. Apply offset/limit pagination
13
+ */
14
+ import type { Comment } from './comments.js';
15
+ export type RevisionType = 'INSERTION' | 'DELETION' | 'MOVE_FROM' | 'MOVE_TO' | 'FORMAT_CHANGE';
16
+ export type RevisionEntry = {
17
+ type: RevisionType;
18
+ text: string;
19
+ author: string;
20
+ };
21
+ export type RevisionComment = {
22
+ author: string;
23
+ text: string;
24
+ date: string | null;
25
+ replies?: RevisionComment[];
26
+ };
27
+ export type ParagraphRevision = {
28
+ para_id: string;
29
+ before_text: string;
30
+ after_text: string;
31
+ revisions: RevisionEntry[];
32
+ comments: RevisionComment[];
33
+ };
34
+ export type ExtractRevisionsResult = {
35
+ changes: ParagraphRevision[];
36
+ total_changes: number;
37
+ has_more: boolean;
38
+ };
39
+ /**
40
+ * Extract structured revision data from a document with tracked changes.
41
+ *
42
+ * @param doc - The original document DOM with tracked changes
43
+ * @param comments - Comments from getComments() (with anchoredParagraphId resolved)
44
+ * @param opts - Pagination options: offset (0-based) and limit
45
+ */
46
+ export declare function extractRevisions(doc: Document, comments: Comment[], opts?: {
47
+ offset?: number;
48
+ limit?: number;
49
+ }): ExtractRevisionsResult;
50
+ //# sourceMappingURL=extract_revisions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract_revisions.d.ts","sourceRoot":"","sources":["../../src/primitives/extract_revisions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAM7C,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC;AAEhG,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAmOF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACzC,sBAAsB,CA2FxB"}