docx 8.0.0 → 8.0.2

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 (499) hide show
  1. package/build/file/styles/style/character-style.d.ts +0 -1
  2. package/build/file/styles/style/paragraph-style.d.ts +0 -1
  3. package/build/index.js +1 -1
  4. package/package.json +5 -8
  5. package/src/export/formatter.spec.ts +0 -118
  6. package/src/export/formatter.ts +0 -14
  7. package/src/export/index.ts +0 -1
  8. package/src/export/packer/image-replacer.spec.ts +0 -61
  9. package/src/export/packer/image-replacer.ts +0 -17
  10. package/src/export/packer/next-compiler.spec.ts +0 -180
  11. package/src/export/packer/next-compiler.ts +0 -444
  12. package/src/export/packer/numbering-replacer.ts +0 -16
  13. package/src/export/packer/packer.spec.ts +0 -175
  14. package/src/export/packer/packer.ts +0 -74
  15. package/src/file/app-properties/app-properties-attributes.ts +0 -11
  16. package/src/file/app-properties/app-properties.ts +0 -15
  17. package/src/file/border/border.spec.ts +0 -54
  18. package/src/file/border/border.ts +0 -86
  19. package/src/file/border/index.ts +0 -1
  20. package/src/file/content-types/content-types-attributes.ts +0 -9
  21. package/src/file/content-types/content-types.spec.ts +0 -150
  22. package/src/file/content-types/content-types.ts +0 -49
  23. package/src/file/content-types/default/default-attributes.ts +0 -11
  24. package/src/file/content-types/default/default.ts +0 -15
  25. package/src/file/content-types/override/override-attributes.ts +0 -11
  26. package/src/file/content-types/override/override.ts +0 -15
  27. package/src/file/core-properties/index.ts +0 -1
  28. package/src/file/core-properties/properties.spec.ts +0 -71
  29. package/src/file/core-properties/properties.ts +0 -116
  30. package/src/file/custom-properties/custom-properties-attributes.ts +0 -11
  31. package/src/file/custom-properties/custom-properties.spec.ts +0 -68
  32. package/src/file/custom-properties/custom-properties.ts +0 -39
  33. package/src/file/custom-properties/custom-property-attributes.ts +0 -13
  34. package/src/file/custom-properties/custom-property.ts +0 -28
  35. package/src/file/custom-properties/index.ts +0 -2
  36. package/src/file/document/body/body.spec.ts +0 -59
  37. package/src/file/document/body/body.ts +0 -50
  38. package/src/file/document/body/index.ts +0 -2
  39. package/src/file/document/body/section-properties/index.ts +0 -2
  40. package/src/file/document/body/section-properties/properties/column.ts +0 -24
  41. package/src/file/document/body/section-properties/properties/columns.spec.ts +0 -45
  42. package/src/file/document/body/section-properties/properties/columns.ts +0 -39
  43. package/src/file/document/body/section-properties/properties/doc-grid.spec.ts +0 -30
  44. package/src/file/document/body/section-properties/properties/doc-grid.ts +0 -52
  45. package/src/file/document/body/section-properties/properties/header-footer-reference.spec.ts +0 -56
  46. package/src/file/document/body/section-properties/properties/header-footer-reference.ts +0 -65
  47. package/src/file/document/body/section-properties/properties/index.ts +0 -13
  48. package/src/file/document/body/section-properties/properties/line-number.ts +0 -49
  49. package/src/file/document/body/section-properties/properties/page-borders.spec.ts +0 -93
  50. package/src/file/document/body/section-properties/properties/page-borders.ts +0 -106
  51. package/src/file/document/body/section-properties/properties/page-margin.ts +0 -46
  52. package/src/file/document/body/section-properties/properties/page-number.ts +0 -54
  53. package/src/file/document/body/section-properties/properties/page-size.spec.ts +0 -25
  54. package/src/file/document/body/section-properties/properties/page-size.ts +0 -44
  55. package/src/file/document/body/section-properties/properties/page-text-direction.spec.ts +0 -22
  56. package/src/file/document/body/section-properties/properties/page-text-direction.ts +0 -22
  57. package/src/file/document/body/section-properties/properties/section-type.spec.ts +0 -34
  58. package/src/file/document/body/section-properties/properties/section-type.ts +0 -37
  59. package/src/file/document/body/section-properties/section-properties.spec.ts +0 -279
  60. package/src/file/document/body/section-properties/section-properties.ts +0 -196
  61. package/src/file/document/document-attributes.ts +0 -89
  62. package/src/file/document/document-background/document-background.spec.ts +0 -51
  63. package/src/file/document/document-background/document-background.ts +0 -78
  64. package/src/file/document/document-background/index.ts +0 -1
  65. package/src/file/document/document.spec.ts +0 -67
  66. package/src/file/document/document.ts +0 -90
  67. package/src/file/document/index.ts +0 -4
  68. package/src/file/document-wrapper.spec.ts +0 -14
  69. package/src/file/document-wrapper.ts +0 -28
  70. package/src/file/drawing/anchor/anchor-attributes.ts +0 -26
  71. package/src/file/drawing/anchor/anchor.spec.ts +0 -609
  72. package/src/file/drawing/anchor/anchor.ts +0 -97
  73. package/src/file/drawing/anchor/index.ts +0 -2
  74. package/src/file/drawing/doc-properties/doc-properties-children.spec.ts +0 -61
  75. package/src/file/drawing/doc-properties/doc-properties-children.ts +0 -57
  76. package/src/file/drawing/doc-properties/doc-properties.ts +0 -67
  77. package/src/file/drawing/drawing.spec.ts +0 -708
  78. package/src/file/drawing/drawing.ts +0 -45
  79. package/src/file/drawing/effect-extent/effect-extent-attributes.ts +0 -15
  80. package/src/file/drawing/effect-extent/effect-extent.ts +0 -17
  81. package/src/file/drawing/extent/extent-attributes.ts +0 -11
  82. package/src/file/drawing/extent/extent.ts +0 -18
  83. package/src/file/drawing/floating/align.spec.ts +0 -17
  84. package/src/file/drawing/floating/align.ts +0 -10
  85. package/src/file/drawing/floating/floating-position.ts +0 -58
  86. package/src/file/drawing/floating/horizontal-position.spec.ts +0 -57
  87. package/src/file/drawing/floating/horizontal-position.ts +0 -33
  88. package/src/file/drawing/floating/index.ts +0 -4
  89. package/src/file/drawing/floating/position-offset.spec.ts +0 -16
  90. package/src/file/drawing/floating/position-offset.ts +0 -9
  91. package/src/file/drawing/floating/simple-pos.spec.ts +0 -21
  92. package/src/file/drawing/floating/simple-pos.ts +0 -26
  93. package/src/file/drawing/floating/vertical-position.spec.ts +0 -57
  94. package/src/file/drawing/floating/vertical-position.ts +0 -33
  95. package/src/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-lock-attributes.ts +0 -11
  96. package/src/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-locks.ts +0 -15
  97. package/src/file/drawing/graphic-frame/graphic-frame-properties.ts +0 -10
  98. package/src/file/drawing/index.ts +0 -3
  99. package/src/file/drawing/inline/graphic/graphic-data/graphic-data-attribute.ts +0 -9
  100. package/src/file/drawing/inline/graphic/graphic-data/graphic-data.ts +0 -23
  101. package/src/file/drawing/inline/graphic/graphic-data/index.ts +0 -1
  102. package/src/file/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts +0 -16
  103. package/src/file/drawing/inline/graphic/graphic-data/pic/blip/blip.ts +0 -24
  104. package/src/file/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.ts +0 -7
  105. package/src/file/drawing/inline/graphic/graphic-data/pic/blip/stretch.ts +0 -14
  106. package/src/file/drawing/inline/graphic/graphic-data/pic/index.ts +0 -1
  107. package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/child-non-visual-pic-properties/child-non-visual-pic-properties.ts +0 -10
  108. package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/child-non-visual-pic-properties/pic-locks/pic-locks-attributes.ts +0 -11
  109. package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/child-non-visual-pic-properties/pic-locks/pic-locks.ts +0 -14
  110. package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-pic-properties.ts +0 -12
  111. package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties-attributes.ts +0 -13
  112. package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties.ts +0 -46
  113. package/src/file/drawing/inline/graphic/graphic-data/pic/pic-attributes.ts +0 -9
  114. package/src/file/drawing/inline/graphic/graphic-data/pic/pic.ts +0 -24
  115. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents-attributes.ts +0 -11
  116. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents.ts +0 -18
  117. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/form.ts +0 -40
  118. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/index.ts +0 -1
  119. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off-attributes.ts +0 -11
  120. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off.ts +0 -16
  121. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form.spec.ts +0 -93
  122. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.spec.ts +0 -16
  123. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.ts +0 -7
  124. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.spec.ts +0 -19
  125. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.ts +0 -11
  126. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/adjustment-values/adjustment-values.ts +0 -8
  127. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry-attributes.ts +0 -9
  128. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry.ts +0 -18
  129. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties-attributes.ts +0 -9
  130. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties.ts +0 -29
  131. package/src/file/drawing/inline/graphic/graphic.ts +0 -29
  132. package/src/file/drawing/inline/graphic/index.ts +0 -1
  133. package/src/file/drawing/inline/index.ts +0 -1
  134. package/src/file/drawing/inline/inline-attributes.ts +0 -12
  135. package/src/file/drawing/inline/inline.ts +0 -56
  136. package/src/file/drawing/text-wrap/index.ts +0 -5
  137. package/src/file/drawing/text-wrap/text-wrapping.ts +0 -22
  138. package/src/file/drawing/text-wrap/wrap-none.ts +0 -8
  139. package/src/file/drawing/text-wrap/wrap-square.ts +0 -44
  140. package/src/file/drawing/text-wrap/wrap-tight.ts +0 -32
  141. package/src/file/drawing/text-wrap/wrap-top-and-bottom.ts +0 -32
  142. package/src/file/file-child.ts +0 -5
  143. package/src/file/file.spec.ts +0 -445
  144. package/src/file/file.ts +0 -288
  145. package/src/file/footer/footer-attributes.ts +0 -51
  146. package/src/file/footer/footer.spec.ts +0 -47
  147. package/src/file/footer/footer.ts +0 -44
  148. package/src/file/footer/index.ts +0 -1
  149. package/src/file/footer-wrapper.spec.ts +0 -58
  150. package/src/file/footer-wrapper.ts +0 -44
  151. package/src/file/footnotes/footnote/footnote-attributes.ts +0 -11
  152. package/src/file/footnotes/footnote/footnote.spec.ts +0 -162
  153. package/src/file/footnotes/footnote/footnote.ts +0 -38
  154. package/src/file/footnotes/footnote/index.ts +0 -1
  155. package/src/file/footnotes/footnote/run/continuation-seperator-run.ts +0 -10
  156. package/src/file/footnotes/footnote/run/continuation-seperator.ts +0 -7
  157. package/src/file/footnotes/footnote/run/footnote-ref-run.ts +0 -13
  158. package/src/file/footnotes/footnote/run/footnote-ref.ts +0 -7
  159. package/src/file/footnotes/footnote/run/index.ts +0 -1
  160. package/src/file/footnotes/footnote/run/reference-run.ts +0 -30
  161. package/src/file/footnotes/footnote/run/seperator-run.ts +0 -10
  162. package/src/file/footnotes/footnote/run/seperator.ts +0 -7
  163. package/src/file/footnotes/footnotes-attributes.ts +0 -41
  164. package/src/file/footnotes/footnotes.ts +0 -78
  165. package/src/file/footnotes/index.ts +0 -2
  166. package/src/file/footnotes-wrapper.spec.ts +0 -14
  167. package/src/file/footnotes-wrapper.ts +0 -21
  168. package/src/file/header/header-attributes.ts +0 -73
  169. package/src/file/header/header.spec.ts +0 -58
  170. package/src/file/header/header.ts +0 -56
  171. package/src/file/header/index.ts +0 -1
  172. package/src/file/header-wrapper.spec.ts +0 -58
  173. package/src/file/header-wrapper.ts +0 -46
  174. package/src/file/header.ts +0 -22
  175. package/src/file/index.ts +0 -19
  176. package/src/file/media/data.ts +0 -27
  177. package/src/file/media/index.ts +0 -2
  178. package/src/file/media/media.spec.ts +0 -65
  179. package/src/file/media/media.ts +0 -28
  180. package/src/file/numbering/abstract-numbering.spec.ts +0 -2692
  181. package/src/file/numbering/abstract-numbering.ts +0 -50
  182. package/src/file/numbering/concrete-numbering.spec.ts +0 -304
  183. package/src/file/numbering/index.ts +0 -4
  184. package/src/file/numbering/level.spec.ts +0 -62
  185. package/src/file/numbering/level.ts +0 -325
  186. package/src/file/numbering/multi-level-type.ts +0 -26
  187. package/src/file/numbering/num.ts +0 -96
  188. package/src/file/numbering/numbering.spec.ts +0 -138
  189. package/src/file/numbering/numbering.ts +0 -237
  190. package/src/file/paragraph/formatting/alignment.spec.ts +0 -19
  191. package/src/file/paragraph/formatting/alignment.ts +0 -60
  192. package/src/file/paragraph/formatting/border.spec.ts +0 -119
  193. package/src/file/paragraph/formatting/border.ts +0 -45
  194. package/src/file/paragraph/formatting/break.spec.ts +0 -65
  195. package/src/file/paragraph/formatting/break.ts +0 -43
  196. package/src/file/paragraph/formatting/indent.spec.ts +0 -42
  197. package/src/file/paragraph/formatting/indent.ts +0 -71
  198. package/src/file/paragraph/formatting/index.ts +0 -8
  199. package/src/file/paragraph/formatting/spacing.spec.ts +0 -25
  200. package/src/file/paragraph/formatting/spacing.ts +0 -33
  201. package/src/file/paragraph/formatting/style.spec.ts +0 -35
  202. package/src/file/paragraph/formatting/style.ts +0 -22
  203. package/src/file/paragraph/formatting/tab-stop.spec.ts +0 -54
  204. package/src/file/paragraph/formatting/tab-stop.ts +0 -63
  205. package/src/file/paragraph/formatting/unordered-list.spec.ts +0 -37
  206. package/src/file/paragraph/formatting/unordered-list.ts +0 -38
  207. package/src/file/paragraph/formatting/width.ts +0 -0
  208. package/src/file/paragraph/formatting/word-wrap.spec.ts +0 -20
  209. package/src/file/paragraph/formatting/word-wrap.ts +0 -14
  210. package/src/file/paragraph/frame/frame-properties.spec.ts +0 -156
  211. package/src/file/paragraph/frame/frame-properties.ts +0 -122
  212. package/src/file/paragraph/frame/index.ts +0 -1
  213. package/src/file/paragraph/index.ts +0 -7
  214. package/src/file/paragraph/links/bookmark-attributes.ts +0 -19
  215. package/src/file/paragraph/links/bookmark.spec.ts +0 -41
  216. package/src/file/paragraph/links/bookmark.ts +0 -75
  217. package/src/file/paragraph/links/hyperlink-attributes.ts +0 -15
  218. package/src/file/paragraph/links/hyperlink.spec.ts +0 -130
  219. package/src/file/paragraph/links/hyperlink.ts +0 -45
  220. package/src/file/paragraph/links/index.ts +0 -4
  221. package/src/file/paragraph/links/outline-level.spec.ts +0 -23
  222. package/src/file/paragraph/links/outline-level.ts +0 -14
  223. package/src/file/paragraph/links/pageref-field-instruction.spec.ts +0 -24
  224. package/src/file/paragraph/links/pageref-field-instruction.ts +0 -23
  225. package/src/file/paragraph/links/pageref-properties.ts +0 -16
  226. package/src/file/paragraph/links/pageref.spec.ts +0 -76
  227. package/src/file/paragraph/links/pageref.ts +0 -13
  228. package/src/file/paragraph/math/brackets/index.ts +0 -4
  229. package/src/file/paragraph/math/brackets/math-angled-brackets.spec.ts +0 -51
  230. package/src/file/paragraph/math/brackets/math-angled-brackets.ts +0 -20
  231. package/src/file/paragraph/math/brackets/math-beginning-character.spec.ts +0 -22
  232. package/src/file/paragraph/math/brackets/math-beginning-character.ts +0 -14
  233. package/src/file/paragraph/math/brackets/math-bracket-properties.spec.ts +0 -45
  234. package/src/file/paragraph/math/brackets/math-bracket-properties.ts +0 -16
  235. package/src/file/paragraph/math/brackets/math-curly-brackets.spec.ts +0 -51
  236. package/src/file/paragraph/math/brackets/math-curly-brackets.ts +0 -20
  237. package/src/file/paragraph/math/brackets/math-ending-char.ts +0 -14
  238. package/src/file/paragraph/math/brackets/math-ending-character.spec.ts +0 -22
  239. package/src/file/paragraph/math/brackets/math-round-brackets.spec.ts +0 -36
  240. package/src/file/paragraph/math/brackets/math-round-brackets.ts +0 -15
  241. package/src/file/paragraph/math/brackets/math-square-brackets.spec.ts +0 -51
  242. package/src/file/paragraph/math/brackets/math-square-brackets.ts +0 -20
  243. package/src/file/paragraph/math/fraction/index.ts +0 -3
  244. package/src/file/paragraph/math/fraction/math-denominator.spec.ts +0 -26
  245. package/src/file/paragraph/math/fraction/math-denominator.ts +0 -13
  246. package/src/file/paragraph/math/fraction/math-fraction.spec.ts +0 -44
  247. package/src/file/paragraph/math/fraction/math-fraction.ts +0 -19
  248. package/src/file/paragraph/math/fraction/math-numerator.spec.ts +0 -26
  249. package/src/file/paragraph/math/fraction/math-numerator.ts +0 -13
  250. package/src/file/paragraph/math/function/index.ts +0 -3
  251. package/src/file/paragraph/math/function/math-function-name.spec.ts +0 -27
  252. package/src/file/paragraph/math/function/math-function-name.ts +0 -13
  253. package/src/file/paragraph/math/function/math-function-properties.spec.ts +0 -18
  254. package/src/file/paragraph/math/function/math-function-properties.ts +0 -8
  255. package/src/file/paragraph/math/function/math-function.spec.ts +0 -48
  256. package/src/file/paragraph/math/function/math-function.ts +0 -22
  257. package/src/file/paragraph/math/index.ts +0 -9
  258. package/src/file/paragraph/math/math-component.ts +0 -28
  259. package/src/file/paragraph/math/math-run.spec.ts +0 -21
  260. package/src/file/paragraph/math/math-run.ts +0 -12
  261. package/src/file/paragraph/math/math-text.spec.ts +0 -17
  262. package/src/file/paragraph/math/math-text.ts +0 -9
  263. package/src/file/paragraph/math/math.spec.ts +0 -38
  264. package/src/file/paragraph/math/math.ts +0 -18
  265. package/src/file/paragraph/math/n-ary/index.ts +0 -8
  266. package/src/file/paragraph/math/n-ary/math-accent-character.spec.ts +0 -22
  267. package/src/file/paragraph/math/n-ary/math-accent-character.ts +0 -14
  268. package/src/file/paragraph/math/n-ary/math-base.spec.ts +0 -27
  269. package/src/file/paragraph/math/n-ary/math-base.ts +0 -14
  270. package/src/file/paragraph/math/n-ary/math-integral.spec.ts +0 -116
  271. package/src/file/paragraph/math/n-ary/math-integral.ts +0 -31
  272. package/src/file/paragraph/math/n-ary/math-limit-location.spec.ts +0 -22
  273. package/src/file/paragraph/math/n-ary/math-limit-location.ts +0 -14
  274. package/src/file/paragraph/math/n-ary/math-n-ary-properties.spec.ts +0 -133
  275. package/src/file/paragraph/math/n-ary/math-n-ary-properties.ts +0 -26
  276. package/src/file/paragraph/math/n-ary/math-sub-script-hide.spec.ts +0 -22
  277. package/src/file/paragraph/math/n-ary/math-sub-script-hide.ts +0 -14
  278. package/src/file/paragraph/math/n-ary/math-sub-script.spec.ts +0 -27
  279. package/src/file/paragraph/math/n-ary/math-sub-script.ts +0 -14
  280. package/src/file/paragraph/math/n-ary/math-sum.spec.ts +0 -130
  281. package/src/file/paragraph/math/n-ary/math-sum.ts +0 -32
  282. package/src/file/paragraph/math/n-ary/math-super-script-hide.spec.ts +0 -22
  283. package/src/file/paragraph/math/n-ary/math-super-script-hide.ts +0 -14
  284. package/src/file/paragraph/math/n-ary/math-super-script.spec.ts +0 -27
  285. package/src/file/paragraph/math/n-ary/math-super-script.ts +0 -14
  286. package/src/file/paragraph/math/radical/index.ts +0 -3
  287. package/src/file/paragraph/math/radical/math-degree-hide.spec.ts +0 -22
  288. package/src/file/paragraph/math/radical/math-degree-hide.ts +0 -14
  289. package/src/file/paragraph/math/radical/math-degree.spec.ts +0 -36
  290. package/src/file/paragraph/math/radical/math-degree.ts +0 -15
  291. package/src/file/paragraph/math/radical/math-radical-properties.spec.ts +0 -35
  292. package/src/file/paragraph/math/radical/math-radical-properties.ts +0 -13
  293. package/src/file/paragraph/math/radical/math-radical.spec.ts +0 -48
  294. package/src/file/paragraph/math/radical/math-radical.ts +0 -22
  295. package/src/file/paragraph/math/script/index.ts +0 -4
  296. package/src/file/paragraph/math/script/pre-sub-super-script/index.ts +0 -2
  297. package/src/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.spec.ts +0 -17
  298. package/src/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.ts +0 -8
  299. package/src/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.spec.ts +0 -60
  300. package/src/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.ts +0 -23
  301. package/src/file/paragraph/math/script/sub-script/index.ts +0 -2
  302. package/src/file/paragraph/math/script/sub-script/math-sub-script-function-properties.spec.ts +0 -17
  303. package/src/file/paragraph/math/script/sub-script/math-sub-script-function-properties.ts +0 -8
  304. package/src/file/paragraph/math/script/sub-script/math-sub-script-function.spec.ts +0 -48
  305. package/src/file/paragraph/math/script/sub-script/math-sub-script-function.ts +0 -21
  306. package/src/file/paragraph/math/script/sub-super-script/index.ts +0 -2
  307. package/src/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.spec.ts +0 -17
  308. package/src/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.ts +0 -8
  309. package/src/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.spec.ts +0 -60
  310. package/src/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.ts +0 -23
  311. package/src/file/paragraph/math/script/super-script/index.ts +0 -2
  312. package/src/file/paragraph/math/script/super-script/math-super-script-function-properties.spec.ts +0 -17
  313. package/src/file/paragraph/math/script/super-script/math-super-script-function-properties.ts +0 -8
  314. package/src/file/paragraph/math/script/super-script/math-super-script-function.spec.ts +0 -48
  315. package/src/file/paragraph/math/script/super-script/math-super-script-function.ts +0 -21
  316. package/src/file/paragraph/paragraph.spec.ts +0 -990
  317. package/src/file/paragraph/paragraph.ts +0 -102
  318. package/src/file/paragraph/properties.spec.ts +0 -162
  319. package/src/file/paragraph/properties.ts +0 -206
  320. package/src/file/paragraph/run/break.spec.ts +0 -22
  321. package/src/file/paragraph/run/break.ts +0 -32
  322. package/src/file/paragraph/run/comment-run.spec.ts +0 -195
  323. package/src/file/paragraph/run/comment-run.ts +0 -182
  324. package/src/file/paragraph/run/emphasis-mark.spec.ts +0 -29
  325. package/src/file/paragraph/run/emphasis-mark.ts +0 -28
  326. package/src/file/paragraph/run/empty-children.spec.ts +0 -229
  327. package/src/file/paragraph/run/empty-children.ts +0 -127
  328. package/src/file/paragraph/run/field.ts +0 -32
  329. package/src/file/paragraph/run/formatting.spec.ts +0 -39
  330. package/src/file/paragraph/run/formatting.ts +0 -73
  331. package/src/file/paragraph/run/image-run.spec.ts +0 -1045
  332. package/src/file/paragraph/run/image-run.ts +0 -73
  333. package/src/file/paragraph/run/index.ts +0 -13
  334. package/src/file/paragraph/run/language.spec.ts +0 -29
  335. package/src/file/paragraph/run/language.ts +0 -35
  336. package/src/file/paragraph/run/page-number.spec.ts +0 -32
  337. package/src/file/paragraph/run/page-number.ts +0 -28
  338. package/src/file/paragraph/run/positional-tab.spec.ts +0 -27
  339. package/src/file/paragraph/run/positional-tab.ts +0 -80
  340. package/src/file/paragraph/run/properties.ts +0 -304
  341. package/src/file/paragraph/run/run-components/symbol.spec.ts +0 -28
  342. package/src/file/paragraph/run/run-components/symbol.ts +0 -18
  343. package/src/file/paragraph/run/run-components/text.spec.ts +0 -39
  344. package/src/file/paragraph/run/run-components/text.ts +0 -33
  345. package/src/file/paragraph/run/run-fonts.spec.ts +0 -32
  346. package/src/file/paragraph/run/run-fonts.ts +0 -44
  347. package/src/file/paragraph/run/run.spec.ts +0 -727
  348. package/src/file/paragraph/run/run.ts +0 -156
  349. package/src/file/paragraph/run/script.spec.ts +0 -51
  350. package/src/file/paragraph/run/script.ts +0 -24
  351. package/src/file/paragraph/run/sequential-identifier-instruction.ts +0 -13
  352. package/src/file/paragraph/run/sequential-identifier.spec.ts +0 -52
  353. package/src/file/paragraph/run/sequential-identifier.ts +0 -13
  354. package/src/file/paragraph/run/simple-field.spec.ts +0 -38
  355. package/src/file/paragraph/run/simple-field.ts +0 -23
  356. package/src/file/paragraph/run/symbol-run.spec.ts +0 -80
  357. package/src/file/paragraph/run/symbol-run.ts +0 -20
  358. package/src/file/paragraph/run/text-attributes.ts +0 -6
  359. package/src/file/paragraph/run/text-run.spec.ts +0 -41
  360. package/src/file/paragraph/run/text-run.ts +0 -14
  361. package/src/file/paragraph/run/underline.spec.ts +0 -37
  362. package/src/file/paragraph/run/underline.ts +0 -35
  363. package/src/file/relationships/attributes.ts +0 -9
  364. package/src/file/relationships/index.ts +0 -1
  365. package/src/file/relationships/relationship/relationship-attributes.ts +0 -15
  366. package/src/file/relationships/relationship/relationship.ts +0 -39
  367. package/src/file/relationships/relationships.spec.ts +0 -19
  368. package/src/file/relationships/relationships.ts +0 -25
  369. package/src/file/settings/compatibility-setting/compatibility-setting.spec.ts +0 -24
  370. package/src/file/settings/compatibility-setting/compatibility-setting.ts +0 -39
  371. package/src/file/settings/compatibility.spec.ts +0 -754
  372. package/src/file/settings/compatibility.ts +0 -479
  373. package/src/file/settings/index.ts +0 -1
  374. package/src/file/settings/settings.spec.ts +0 -140
  375. package/src/file/settings/settings.ts +0 -208
  376. package/src/file/shading/index.ts +0 -1
  377. package/src/file/shading/shading.spec.ts +0 -33
  378. package/src/file/shading/shading.ts +0 -88
  379. package/src/file/shared/alignment.ts +0 -15
  380. package/src/file/shared/index.ts +0 -3
  381. package/src/file/shared/number-format.ts +0 -133
  382. package/src/file/shared/space-type.ts +0 -4
  383. package/src/file/styles/defaults/document-defaults.spec.ts +0 -45
  384. package/src/file/styles/defaults/document-defaults.ts +0 -25
  385. package/src/file/styles/defaults/index.ts +0 -3
  386. package/src/file/styles/defaults/paragraph-properties.ts +0 -9
  387. package/src/file/styles/defaults/run-properties.ts +0 -10
  388. package/src/file/styles/external-styles-factory.spec.ts +0 -251
  389. package/src/file/styles/external-styles-factory.ts +0 -51
  390. package/src/file/styles/factory.ts +0 -114
  391. package/src/file/styles/index.ts +0 -4
  392. package/src/file/styles/latent-styles/exceptions.spec.ts +0 -32
  393. package/src/file/styles/latent-styles/exceptions.ts +0 -26
  394. package/src/file/styles/latent-styles/index.ts +0 -1
  395. package/src/file/styles/latent-styles/latent-styles.spec.ts +0 -34
  396. package/src/file/styles/latent-styles/latent-styles.ts +0 -12
  397. package/src/file/styles/sample/default-style.spec.ts +0 -12
  398. package/src/file/styles/sample/default-style.ts +0 -217
  399. package/src/file/styles/sample/index.ts +0 -1
  400. package/src/file/styles/style/character-style.spec.ts +0 -824
  401. package/src/file/styles/style/character-style.ts +0 -30
  402. package/src/file/styles/style/components.spec.ts +0 -19
  403. package/src/file/styles/style/components.ts +0 -27
  404. package/src/file/styles/style/default-styles.spec.ts +0 -321
  405. package/src/file/styles/style/default-styles.ts +0 -182
  406. package/src/file/styles/style/index.ts +0 -4
  407. package/src/file/styles/style/paragraph-style.spec.ts +0 -865
  408. package/src/file/styles/style/paragraph-style.ts +0 -28
  409. package/src/file/styles/style/style.spec.ts +0 -41
  410. package/src/file/styles/style/style.ts +0 -98
  411. package/src/file/styles/styles.spec.ts +0 -106
  412. package/src/file/styles/styles.ts +0 -48
  413. package/src/file/table/grid.spec.ts +0 -40
  414. package/src/file/table/grid.ts +0 -35
  415. package/src/file/table/index.ts +0 -5
  416. package/src/file/table/table-cell/index.ts +0 -2
  417. package/src/file/table/table-cell/table-cell-components.ts +0 -136
  418. package/src/file/table/table-cell/table-cell-properties.spec.ts +0 -114
  419. package/src/file/table/table-cell/table-cell-properties.ts +0 -68
  420. package/src/file/table/table-cell/table-cell.spec.ts +0 -650
  421. package/src/file/table/table-cell/table-cell.ts +0 -30
  422. package/src/file/table/table-properties/index.ts +0 -4
  423. package/src/file/table/table-properties/table-borders.spec.ts +0 -574
  424. package/src/file/table/table-properties/table-borders.ts +0 -75
  425. package/src/file/table/table-properties/table-cell-margin.spec.ts +0 -97
  426. package/src/file/table/table-properties/table-cell-margin.ts +0 -64
  427. package/src/file/table/table-properties/table-float-properties.spec.ts +0 -71
  428. package/src/file/table/table-properties/table-float-properties.ts +0 -203
  429. package/src/file/table/table-properties/table-layout.ts +0 -26
  430. package/src/file/table/table-properties/table-properties.spec.ts +0 -189
  431. package/src/file/table/table-properties/table-properties.ts +0 -91
  432. package/src/file/table/table-row/index.ts +0 -3
  433. package/src/file/table/table-row/table-row-height.ts +0 -43
  434. package/src/file/table/table-row/table-row-properties.spec.ts +0 -64
  435. package/src/file/table/table-row/table-row-properties.ts +0 -60
  436. package/src/file/table/table-row/table-row.spec.ts +0 -266
  437. package/src/file/table/table-row/table-row.ts +0 -75
  438. package/src/file/table/table-width.ts +0 -49
  439. package/src/file/table/table.spec.ts +0 -499
  440. package/src/file/table/table.ts +0 -98
  441. package/src/file/table-of-contents/field-instruction.ts +0 -70
  442. package/src/file/table-of-contents/index.ts +0 -2
  443. package/src/file/table-of-contents/sdt-content.ts +0 -7
  444. package/src/file/table-of-contents/sdt-properties.ts +0 -9
  445. package/src/file/table-of-contents/table-of-contents-properties.ts +0 -122
  446. package/src/file/table-of-contents/table-of-contents.spec.ts +0 -179
  447. package/src/file/table-of-contents/table-of-contents.ts +0 -41
  448. package/src/file/track-revision/index.ts +0 -2
  449. package/src/file/track-revision/track-revision-components/deleted-page-number.spec.ts +0 -32
  450. package/src/file/track-revision/track-revision-components/deleted-page-number.ts +0 -27
  451. package/src/file/track-revision/track-revision-components/deleted-text-run.spec.ts +0 -367
  452. package/src/file/track-revision/track-revision-components/deleted-text-run.ts +0 -76
  453. package/src/file/track-revision/track-revision-components/deleted-text.spec.ts +0 -17
  454. package/src/file/track-revision/track-revision-components/deleted-text.ts +0 -12
  455. package/src/file/track-revision/track-revision-components/inserted-text-run.spec.ts +0 -39
  456. package/src/file/track-revision/track-revision-components/inserted-text-run.ts +0 -20
  457. package/src/file/track-revision/track-revision.ts +0 -15
  458. package/src/file/vertical-align/index.ts +0 -1
  459. package/src/file/vertical-align/vertical-align.ts +0 -32
  460. package/src/file/xml-components/attribute.spec.ts +0 -25
  461. package/src/file/xml-components/attributes.ts +0 -47
  462. package/src/file/xml-components/base.ts +0 -20
  463. package/src/file/xml-components/default-attributes.ts +0 -41
  464. package/src/file/xml-components/imported-xml-component.spec.ts +0 -118
  465. package/src/file/xml-components/imported-xml-component.ts +0 -86
  466. package/src/file/xml-components/index.ts +0 -8
  467. package/src/file/xml-components/initializable-xml-component.ts +0 -11
  468. package/src/file/xml-components/simple-elements.spec.ts +0 -41
  469. package/src/file/xml-components/simple-elements.ts +0 -98
  470. package/src/file/xml-components/xml-component.spec.ts +0 -62
  471. package/src/file/xml-components/xml-component.ts +0 -63
  472. package/src/file/xml-components/xmlable-object.ts +0 -12
  473. package/src/index.spec.ts +0 -15
  474. package/src/index.ts +0 -7
  475. package/src/patcher/content-types-manager.spec.ts +0 -51
  476. package/src/patcher/content-types-manager.ts +0 -16
  477. package/src/patcher/from-docx.spec.ts +0 -370
  478. package/src/patcher/from-docx.ts +0 -233
  479. package/src/patcher/index.ts +0 -1
  480. package/src/patcher/paragraph-split-inject.spec.ts +0 -224
  481. package/src/patcher/paragraph-split-inject.ts +0 -54
  482. package/src/patcher/paragraph-token-replacer.spec.ts +0 -165
  483. package/src/patcher/paragraph-token-replacer.ts +0 -69
  484. package/src/patcher/relationship-manager.spec.ts +0 -87
  485. package/src/patcher/relationship-manager.ts +0 -42
  486. package/src/patcher/replacer.spec.ts +0 -206
  487. package/src/patcher/replacer.ts +0 -83
  488. package/src/patcher/run-renderer.spec.ts +0 -96
  489. package/src/patcher/run-renderer.ts +0 -109
  490. package/src/patcher/traverser.spec.ts +0 -599
  491. package/src/patcher/traverser.ts +0 -45
  492. package/src/patcher/util.spec.ts +0 -50
  493. package/src/patcher/util.ts +0 -30
  494. package/src/tests/utility.ts +0 -7
  495. package/src/util/convenience-functions.spec.ts +0 -31
  496. package/src/util/convenience-functions.ts +0 -12
  497. package/src/util/index.ts +0 -2
  498. package/src/util/values.spec.ts +0 -172
  499. package/src/util/values.ts +0 -219
@@ -1,206 +0,0 @@
1
- import { IViewWrapper } from "@file/document-wrapper";
2
- import { File } from "@file/file";
3
- import { Paragraph, TextRun } from "@file/paragraph";
4
- import { IContext } from "@file/xml-components";
5
- import { expect } from "chai";
6
- import * as sinon from "sinon";
7
-
8
- import { PatchType } from "./from-docx";
9
-
10
- import { replacer } from "./replacer";
11
-
12
- const MOCK_JSON = {
13
- elements: [
14
- {
15
- type: "element",
16
- name: "w:hdr",
17
- elements: [
18
- {
19
- type: "element",
20
- name: "w:p",
21
- attributes: { "w14:paraId": "3BE1A671", "w14:textId": "74E856C4", "w:rsidR": "000D38A7", "w:rsidRDefault": "000D38A7" },
22
- elements: [
23
- {
24
- type: "element",
25
- name: "w:pPr",
26
- elements: [{ type: "element", name: "w:pStyle", attributes: { "w:val": "Header" } }],
27
- },
28
- {
29
- type: "element",
30
- name: "w:r",
31
- elements: [{ type: "element", name: "w:t", elements: [{ type: "text", text: "This is a {{head" }] }],
32
- },
33
- {
34
- type: "element",
35
- name: "w:r",
36
- attributes: { "w:rsidR": "004A3A99" },
37
- elements: [{ type: "element", name: "w:t", elements: [{ type: "text", text: "er" }] }],
38
- },
39
- {
40
- type: "element",
41
- name: "w:r",
42
- elements: [
43
- { type: "element", name: "w:t", elements: [{ type: "text", text: "_adjective}} don’t you think?" }] },
44
- ],
45
- },
46
- ],
47
- },
48
- ],
49
- },
50
- ],
51
- };
52
-
53
- describe("replacer", () => {
54
- describe("replacer", () => {
55
- it("should return the same object if nothing is added", () => {
56
- const output = replacer(
57
- {
58
- elements: [],
59
- },
60
- {
61
- type: PatchType.PARAGRAPH,
62
- children: [],
63
- },
64
- "hello",
65
- [],
66
- sinon.mock() as unknown as IContext,
67
- );
68
-
69
- expect(output).to.deep.equal({
70
- elements: [],
71
- });
72
- });
73
-
74
- it("should replace paragraph type", () => {
75
- const output = replacer(
76
- MOCK_JSON,
77
- {
78
- type: PatchType.PARAGRAPH,
79
- children: [new TextRun("Delightful Header")],
80
- },
81
- "{{header_adjective}}",
82
- [
83
- {
84
- text: "This is a {{header_adjective}} don’t you think?",
85
- runs: [
86
- {
87
- text: "This is a {{head",
88
- parts: [{ text: "This is a {{head", index: 0, start: 0, end: 15 }],
89
- index: 1,
90
- start: 0,
91
- end: 15,
92
- },
93
- { text: "er", parts: [{ text: "er", index: 0, start: 16, end: 17 }], index: 2, start: 16, end: 17 },
94
- {
95
- text: "_adjective}} don’t you think?",
96
- parts: [{ text: "_adjective}} don’t you think?", index: 0, start: 18, end: 46 }],
97
- index: 3,
98
- start: 18,
99
- end: 46,
100
- },
101
- ],
102
- index: 0,
103
- path: [0, 0, 0],
104
- },
105
- ],
106
- {
107
- file: {} as unknown as File,
108
- viewWrapper: {
109
- Relationships: {},
110
- } as unknown as IViewWrapper,
111
- stack: [],
112
- },
113
- );
114
-
115
- expect(JSON.stringify(output)).to.contain("Delightful Header");
116
- });
117
-
118
- it("should replace document type", () => {
119
- const output = replacer(
120
- MOCK_JSON,
121
- {
122
- type: PatchType.DOCUMENT,
123
- children: [new Paragraph("Lorem ipsum paragraph")],
124
- },
125
- "{{header_adjective}}",
126
- [
127
- {
128
- text: "This is a {{header_adjective}} don’t you think?",
129
- runs: [
130
- {
131
- text: "This is a {{head",
132
- parts: [{ text: "This is a {{head", index: 0, start: 0, end: 15 }],
133
- index: 1,
134
- start: 0,
135
- end: 15,
136
- },
137
- { text: "er", parts: [{ text: "er", index: 0, start: 16, end: 17 }], index: 2, start: 16, end: 17 },
138
- {
139
- text: "_adjective}} don’t you think?",
140
- parts: [{ text: "_adjective}} don’t you think?", index: 0, start: 18, end: 46 }],
141
- index: 3,
142
- start: 18,
143
- end: 46,
144
- },
145
- ],
146
- index: 0,
147
- path: [0, 0, 0],
148
- },
149
- ],
150
- {
151
- file: {} as unknown as File,
152
- viewWrapper: {
153
- Relationships: {},
154
- } as unknown as IViewWrapper,
155
- stack: [],
156
- },
157
- );
158
-
159
- expect(JSON.stringify(output)).to.contain("Lorem ipsum paragraph");
160
- });
161
-
162
- it("should throw an error if the type is not supported", () => {
163
- expect(() =>
164
- replacer(
165
- {},
166
- {
167
- type: PatchType.DOCUMENT,
168
- children: [new Paragraph("Lorem ipsum paragraph")],
169
- },
170
- "{{header_adjective}}",
171
- [
172
- {
173
- text: "This is a {{header_adjective}} don’t you think?",
174
- runs: [
175
- {
176
- text: "This is a {{head",
177
- parts: [{ text: "This is a {{head", index: 0, start: 0, end: 15 }],
178
- index: 1,
179
- start: 0,
180
- end: 15,
181
- },
182
- { text: "er", parts: [{ text: "er", index: 0, start: 16, end: 17 }], index: 2, start: 16, end: 17 },
183
- {
184
- text: "_adjective}} don’t you think?",
185
- parts: [{ text: "_adjective}} don’t you think?", index: 0, start: 18, end: 46 }],
186
- index: 3,
187
- start: 18,
188
- end: 46,
189
- },
190
- ],
191
- index: 0,
192
- path: [0, 0, 0],
193
- },
194
- ],
195
- {
196
- file: {} as unknown as File,
197
- viewWrapper: {
198
- Relationships: {},
199
- } as unknown as IViewWrapper,
200
- stack: [],
201
- },
202
- ),
203
- ).to.throw();
204
- });
205
- });
206
- });
@@ -1,83 +0,0 @@
1
- import { Element } from "xml-js";
2
- import * as xml from "xml";
3
-
4
- import { Formatter } from "@export/formatter";
5
- import { IContext, XmlComponent } from "@file/xml-components";
6
-
7
- import { IPatch, PatchType } from "./from-docx";
8
- import { toJson } from "./util";
9
- import { IRenderedParagraphNode } from "./run-renderer";
10
- import { replaceTokenInParagraphElement } from "./paragraph-token-replacer";
11
- import { findRunElementIndexWithToken, splitRunElement } from "./paragraph-split-inject";
12
-
13
- const formatter = new Formatter();
14
-
15
- const SPLIT_TOKEN = "ɵ";
16
-
17
- export const replacer = (
18
- json: Element,
19
- patch: IPatch,
20
- patchText: string,
21
- renderedParagraphs: readonly IRenderedParagraphNode[],
22
- context: IContext,
23
- ): Element => {
24
- for (const renderedParagraph of renderedParagraphs) {
25
- const textJson = patch.children
26
- // eslint-disable-next-line no-loop-func
27
- .map((c) => toJson(xml(formatter.format(c as XmlComponent, context))))
28
- .map((c) => c.elements![0]);
29
-
30
- switch (patch.type) {
31
- case PatchType.DOCUMENT: {
32
- const parentElement = goToParentElementFromPath(json, renderedParagraph.path);
33
- const elementIndex = getLastElementIndexFromPath(renderedParagraph.path);
34
- // eslint-disable-next-line functional/immutable-data, prefer-destructuring
35
- parentElement.elements!.splice(elementIndex, 1, ...textJson);
36
- break;
37
- }
38
- case PatchType.PARAGRAPH:
39
- default: {
40
- const paragraphElement = goToElementFromPath(json, renderedParagraph.path);
41
- replaceTokenInParagraphElement({
42
- paragraphElement,
43
- renderedParagraph,
44
- originalText: patchText,
45
- replacementText: SPLIT_TOKEN,
46
- });
47
-
48
- const index = findRunElementIndexWithToken(paragraphElement, SPLIT_TOKEN);
49
-
50
- const { left, right } = splitRunElement(paragraphElement.elements![index], SPLIT_TOKEN);
51
- // eslint-disable-next-line functional/immutable-data
52
- paragraphElement.elements!.splice(index, 1, left, ...textJson, right);
53
- break;
54
- }
55
- }
56
- }
57
-
58
- return json;
59
- };
60
-
61
- const goToElementFromPath = (json: Element, path: readonly number[]): Element => {
62
- let element = json;
63
-
64
- // We start from 1 because the first element is the root element
65
- // Which we do not want to double count
66
- for (let i = 1; i < path.length; i++) {
67
- const index = path[i];
68
- const nextElements = element.elements;
69
-
70
- if (!nextElements) {
71
- throw new Error("Could not find element");
72
- }
73
-
74
- element = nextElements[index];
75
- }
76
-
77
- return element;
78
- };
79
-
80
- const goToParentElementFromPath = (json: Element, path: readonly number[]): Element =>
81
- goToElementFromPath(json, path.slice(0, path.length - 1));
82
-
83
- const getLastElementIndexFromPath = (path: readonly number[]): number => path[path.length - 1];
@@ -1,96 +0,0 @@
1
- import { expect } from "chai";
2
- import { renderParagraphNode } from "./run-renderer";
3
-
4
- describe("run-renderer", () => {
5
- describe("renderParagraphNode", () => {
6
- it("should return a rendered paragraph node if theres no elements", () => {
7
- const output = renderParagraphNode({ element: { name: "w:p" }, index: 0, parent: undefined });
8
- expect(output).to.deep.equal({
9
- index: -1,
10
- path: [],
11
- runs: [],
12
- text: "",
13
- });
14
- });
15
-
16
- it("should return a rendered paragraph node if there are elements", () => {
17
- const output = renderParagraphNode({
18
- element: {
19
- name: "w:p",
20
- elements: [
21
- {
22
- name: "w:r",
23
- elements: [
24
- {
25
- name: "w:t",
26
- elements: [
27
- {
28
- type: "text",
29
- text: "hello",
30
- },
31
- ],
32
- },
33
- ],
34
- },
35
- ],
36
- },
37
- index: 0,
38
- parent: undefined,
39
- });
40
- expect(output).to.deep.equal({
41
- index: 0,
42
- path: [0],
43
- runs: [
44
- {
45
- end: 4,
46
- index: 0,
47
- parts: [
48
- {
49
- end: 4,
50
- index: 0,
51
- start: 0,
52
- text: "hello",
53
- },
54
- ],
55
- start: 0,
56
- text: "hello",
57
- },
58
- ],
59
- text: "hello",
60
- });
61
- });
62
-
63
- it("should throw an error if the element is not a paragraph", () => {
64
- expect(() => renderParagraphNode({ element: { name: "w:r" }, index: 0, parent: undefined })).to.throw();
65
- });
66
-
67
- it("should return blank defaults if run is empty", () => {
68
- const output = renderParagraphNode({
69
- element: {
70
- name: "w:p",
71
- elements: [
72
- {
73
- name: "w:r",
74
- },
75
- ],
76
- },
77
- index: 0,
78
- parent: undefined,
79
- });
80
- expect(output).to.deep.equal({
81
- index: 0,
82
- path: [0],
83
- runs: [
84
- {
85
- end: 0,
86
- index: -1,
87
- parts: [],
88
- start: 0,
89
- text: "",
90
- },
91
- ],
92
- text: "",
93
- });
94
- });
95
- });
96
- });
@@ -1,109 +0,0 @@
1
- import { Element } from "xml-js";
2
-
3
- import { ElementWrapper } from "./traverser";
4
-
5
- export interface IRenderedParagraphNode {
6
- readonly text: string;
7
- readonly runs: readonly IRenderedRunNode[];
8
- readonly index: number;
9
- readonly path: readonly number[];
10
- }
11
-
12
- interface StartAndEnd {
13
- readonly start: number;
14
- readonly end: number;
15
- }
16
-
17
- type IParts = {
18
- readonly text: string;
19
- readonly index: number;
20
- } & StartAndEnd;
21
-
22
- export type IRenderedRunNode = {
23
- readonly text: string;
24
- readonly parts: readonly IParts[];
25
- readonly index: number;
26
- } & StartAndEnd;
27
-
28
- export const renderParagraphNode = (node: ElementWrapper): IRenderedParagraphNode => {
29
- if (node.element.name !== "w:p") {
30
- throw new Error(`Invalid node type: ${node.element.name}`);
31
- }
32
-
33
- if (!node.element.elements) {
34
- return {
35
- text: "",
36
- runs: [],
37
- index: -1,
38
- path: [],
39
- };
40
- }
41
-
42
- let currentRunStringLength = 0;
43
-
44
- const runs = node.element.elements
45
- .map((element, i) => ({ element, i }))
46
- .filter(({ element }) => element.name === "w:r")
47
- .map(({ element, i }) => {
48
- const renderedRunNode = renderRunNode(element, i, currentRunStringLength);
49
- currentRunStringLength += renderedRunNode.text.length;
50
-
51
- return renderedRunNode;
52
- })
53
- .filter((e) => !!e)
54
- .map((e) => e as IRenderedRunNode);
55
-
56
- const text = runs.reduce((acc, curr) => acc + curr.text, "");
57
-
58
- return {
59
- text,
60
- runs,
61
- index: node.index,
62
- path: buildNodePath(node),
63
- };
64
- };
65
-
66
- const renderRunNode = (node: Element, index: number, currentRunStringIndex: number): IRenderedRunNode => {
67
- if (!node.elements) {
68
- return {
69
- text: "",
70
- parts: [],
71
- index: -1,
72
- start: currentRunStringIndex,
73
- end: currentRunStringIndex,
74
- };
75
- }
76
-
77
- let currentTextStringIndex = currentRunStringIndex;
78
-
79
- const parts = node.elements
80
- .map((element, i: number) =>
81
- element.name === "w:t" && element.elements && element.elements.length > 0
82
- ? {
83
- text: element.elements[0].text?.toString() ?? "",
84
- index: i,
85
- start: currentTextStringIndex,
86
- end: (() => {
87
- // Side effect
88
- currentTextStringIndex += (element.elements[0].text?.toString() ?? "").length - 1;
89
- return currentTextStringIndex;
90
- })(),
91
- }
92
- : undefined,
93
- )
94
- .filter((e) => !!e)
95
- .map((e) => e as IParts);
96
-
97
- const text = parts.reduce((acc, curr) => acc + curr.text, "");
98
-
99
- return {
100
- text,
101
- parts,
102
- index,
103
- start: currentRunStringIndex,
104
- end: currentTextStringIndex,
105
- };
106
- };
107
-
108
- const buildNodePath = (node: ElementWrapper): readonly number[] =>
109
- node.parent ? [...buildNodePath(node.parent), node.index] : [node.index];