docx 8.0.0 → 8.0.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 (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 +4 -7
  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,224 +0,0 @@
1
- import { expect } from "chai";
2
-
3
- import { findRunElementIndexWithToken, splitRunElement } from "./paragraph-split-inject";
4
-
5
- describe("paragraph-split-inject", () => {
6
- describe("findRunElementIndexWithToken", () => {
7
- it("should find the index of a run element with a token", () => {
8
- const output = findRunElementIndexWithToken(
9
- {
10
- name: "w:p",
11
- type: "element",
12
- elements: [
13
- {
14
- name: "w:r",
15
- type: "element",
16
- elements: [
17
- {
18
- name: "w:t",
19
- type: "element",
20
- elements: [
21
- {
22
- type: "text",
23
- text: "hello world",
24
- },
25
- ],
26
- },
27
- ],
28
- },
29
- ],
30
- },
31
- "hello",
32
- );
33
- expect(output).to.deep.equal(0);
34
- });
35
-
36
- it("should throw an exception when ran with empty elements", () => {
37
- expect(() =>
38
- findRunElementIndexWithToken(
39
- {
40
- name: "w:p",
41
- type: "element",
42
- },
43
- "hello",
44
- ),
45
- ).to.throw();
46
- });
47
-
48
- it("should throw an exception when ran with empty elements", () => {
49
- expect(() =>
50
- findRunElementIndexWithToken(
51
- {
52
- name: "w:p",
53
- type: "element",
54
- elements: [
55
- {
56
- name: "w:r",
57
- type: "element",
58
- },
59
- ],
60
- },
61
- "hello",
62
- ),
63
- ).to.throw();
64
- });
65
-
66
- it("should throw an exception when ran with empty elements", () => {
67
- expect(() =>
68
- findRunElementIndexWithToken(
69
- {
70
- name: "w:p",
71
- type: "element",
72
- elements: [
73
- {
74
- name: "w:r",
75
- type: "element",
76
- elements: [
77
- {
78
- name: "w:t",
79
- type: "element",
80
- },
81
- ],
82
- },
83
- ],
84
- },
85
- "hello",
86
- ),
87
- ).to.throw();
88
- });
89
- });
90
-
91
- describe("splitRunElement", () => {
92
- it("should split a run element", () => {
93
- const output = splitRunElement(
94
- {
95
- name: "w:r",
96
- type: "element",
97
- elements: [
98
- {
99
- name: "w:t",
100
- type: "element",
101
- elements: [
102
- {
103
- type: "text",
104
- text: "hello*world",
105
- },
106
- ],
107
- },
108
- {
109
- name: "w:x",
110
- type: "element",
111
- },
112
- ],
113
- },
114
- "*",
115
- );
116
-
117
- expect(output).to.deep.equal({
118
- left: {
119
- elements: [
120
- {
121
- attributes: {
122
- "xml:space": "preserve",
123
- },
124
- elements: [
125
- {
126
- text: "hello",
127
- type: "text",
128
- },
129
- ],
130
- name: "w:t",
131
- type: "element",
132
- },
133
- ],
134
- name: "w:r",
135
- type: "element",
136
- },
137
- right: {
138
- elements: [
139
- {
140
- attributes: {
141
- "xml:space": "preserve",
142
- },
143
- elements: [
144
- {
145
- text: "world",
146
- type: "text",
147
- },
148
- ],
149
- name: "w:t",
150
- type: "element",
151
- },
152
- {
153
- name: "w:x",
154
- type: "element",
155
- },
156
- ],
157
- name: "w:r",
158
- type: "element",
159
- },
160
- });
161
- });
162
-
163
- it("should try to split even if elements is empty for text", () => {
164
- const output = splitRunElement(
165
- {
166
- name: "w:r",
167
- type: "element",
168
- elements: [
169
- {
170
- name: "w:t",
171
- type: "element",
172
- },
173
- ],
174
- },
175
- "*",
176
- );
177
-
178
- expect(output).to.deep.equal({
179
- left: {
180
- elements: [
181
- {
182
- attributes: {
183
- "xml:space": "preserve",
184
- },
185
- elements: [],
186
- name: "w:t",
187
- type: "element",
188
- },
189
- ],
190
- name: "w:r",
191
- type: "element",
192
- },
193
- right: {
194
- elements: [],
195
- name: "w:r",
196
- type: "element",
197
- },
198
- });
199
- });
200
-
201
- it("should return empty elements", () => {
202
- const output = splitRunElement(
203
- {
204
- name: "w:r",
205
- type: "element",
206
- },
207
- "*",
208
- );
209
-
210
- expect(output).to.deep.equal({
211
- left: {
212
- elements: [],
213
- name: "w:r",
214
- type: "element",
215
- },
216
- right: {
217
- elements: [],
218
- name: "w:r",
219
- type: "element",
220
- },
221
- });
222
- });
223
- });
224
- });
@@ -1,54 +0,0 @@
1
- import { Element } from "xml-js";
2
- import { createTextElementContents, patchSpaceAttribute } from "./util";
3
-
4
- export const findRunElementIndexWithToken = (paragraphElement: Element, token: string): number => {
5
- for (let i = 0; i < (paragraphElement.elements ?? []).length; i++) {
6
- const element = paragraphElement.elements![i];
7
- if (element.type === "element" && element.name === "w:r") {
8
- const textElement = (element.elements ?? []).filter((e) => e.type === "element" && e.name === "w:t");
9
-
10
- for (const text of textElement) {
11
- if ((text.elements?.[0].text as string)?.includes(token)) {
12
- return i;
13
- }
14
- }
15
- }
16
- }
17
-
18
- throw new Error("Token not found");
19
- };
20
-
21
- export const splitRunElement = (runElement: Element, token: string): { readonly left: Element; readonly right: Element } => {
22
- let splitIndex = 0;
23
-
24
- const splitElements =
25
- runElement.elements
26
- ?.map((e, i) => {
27
- if (e.type === "element" && e.name === "w:t") {
28
- const text = (e.elements?.[0].text as string) ?? "";
29
- const splitText = text.split(token);
30
- const newElements = splitText.map((t) => ({
31
- ...e,
32
- ...patchSpaceAttribute(e),
33
- elements: createTextElementContents(t),
34
- }));
35
- splitIndex = i;
36
- return newElements;
37
- } else {
38
- return e;
39
- }
40
- })
41
- .flat() ?? [];
42
-
43
- const leftRunElement: Element = {
44
- ...JSON.parse(JSON.stringify(runElement)),
45
- elements: splitElements.slice(0, splitIndex + 1),
46
- };
47
-
48
- const rightRunElement: Element = {
49
- ...JSON.parse(JSON.stringify(runElement)),
50
- elements: splitElements.slice(splitIndex + 1),
51
- };
52
-
53
- return { left: leftRunElement, right: rightRunElement };
54
- };
@@ -1,165 +0,0 @@
1
- import { expect } from "chai";
2
-
3
- import { replaceTokenInParagraphElement } from "./paragraph-token-replacer";
4
-
5
- describe("paragraph-token-replacer", () => {
6
- describe("replaceTokenInParagraphElement", () => {
7
- it("should replace token in paragraph", () => {
8
- const output = replaceTokenInParagraphElement({
9
- paragraphElement: {
10
- name: "w:p",
11
- elements: [
12
- {
13
- name: "w:r",
14
- elements: [
15
- {
16
- name: "w:t",
17
- elements: [
18
- {
19
- type: "text",
20
- text: "hello",
21
- },
22
- ],
23
- },
24
- ],
25
- },
26
- ],
27
- },
28
- renderedParagraph: {
29
- index: 0,
30
- path: [0],
31
- runs: [
32
- {
33
- end: 4,
34
- index: 0,
35
- parts: [
36
- {
37
- end: 4,
38
- index: 0,
39
- start: 0,
40
- text: "hello",
41
- },
42
- ],
43
- start: 0,
44
- text: "hello",
45
- },
46
- ],
47
- text: "hello",
48
- },
49
- originalText: "hello",
50
- replacementText: "world",
51
- });
52
-
53
- expect(output).to.deep.equal({
54
- elements: [
55
- {
56
- elements: [
57
- {
58
- elements: [
59
- {
60
- text: "world",
61
- type: "text",
62
- },
63
- ],
64
- name: "w:t",
65
- },
66
- ],
67
- name: "w:r",
68
- },
69
- ],
70
- name: "w:p",
71
- });
72
- });
73
-
74
- // Try to fill rest of test coverage
75
- // it("should replace token in paragraph", () => {
76
- // const output = replaceTokenInParagraphElement({
77
- // paragraphElement: {
78
- // name: "w:p",
79
- // elements: [
80
- // {
81
- // name: "w:r",
82
- // elements: [
83
- // {
84
- // name: "w:t",
85
- // elements: [
86
- // {
87
- // type: "text",
88
- // text: "test ",
89
- // },
90
- // ],
91
- // },
92
- // {
93
- // name: "w:t",
94
- // elements: [
95
- // {
96
- // type: "text",
97
- // text: " hello ",
98
- // },
99
- // ],
100
- // },
101
- // ],
102
- // },
103
- // ],
104
- // },
105
- // renderedParagraph: {
106
- // index: 0,
107
- // path: [0],
108
- // runs: [
109
- // {
110
- // end: 4,
111
- // index: 0,
112
- // parts: [
113
- // {
114
- // end: 4,
115
- // index: 0,
116
- // start: 0,
117
- // text: "test ",
118
- // },
119
- // ],
120
- // start: 0,
121
- // text: "test ",
122
- // },
123
- // {
124
- // end: 10,
125
- // index: 0,
126
- // parts: [
127
- // {
128
- // end: 10,
129
- // index: 0,
130
- // start: 5,
131
- // text: "hello ",
132
- // },
133
- // ],
134
- // start: 5,
135
- // text: "hello ",
136
- // },
137
- // ],
138
- // text: "test hello ",
139
- // },
140
- // originalText: "hello",
141
- // replacementText: "world",
142
- // });
143
-
144
- // expect(output).to.deep.equal({
145
- // elements: [
146
- // {
147
- // elements: [
148
- // {
149
- // elements: [
150
- // {
151
- // text: "test world ",
152
- // type: "text",
153
- // },
154
- // ],
155
- // name: "w:t",
156
- // },
157
- // ],
158
- // name: "w:r",
159
- // },
160
- // ],
161
- // name: "w:p",
162
- // });
163
- // });
164
- });
165
- });
@@ -1,69 +0,0 @@
1
- import { Element } from "xml-js";
2
-
3
- import { createTextElementContents, patchSpaceAttribute } from "./util";
4
- import { IRenderedParagraphNode } from "./run-renderer";
5
-
6
- enum ReplaceMode {
7
- START,
8
- MIDDLE,
9
- END,
10
- }
11
-
12
- export const replaceTokenInParagraphElement = ({
13
- paragraphElement,
14
- renderedParagraph,
15
- originalText,
16
- replacementText,
17
- }: {
18
- readonly paragraphElement: Element;
19
- readonly renderedParagraph: IRenderedParagraphNode;
20
- readonly originalText: string;
21
- readonly replacementText: string;
22
- }): Element => {
23
- const startIndex = renderedParagraph.text.indexOf(originalText);
24
- const endIndex = startIndex + originalText.length - 1;
25
-
26
- let replaceMode = ReplaceMode.START;
27
-
28
- for (const run of renderedParagraph.runs) {
29
- for (const { text, index, start, end } of run.parts) {
30
- switch (replaceMode) {
31
- case ReplaceMode.START:
32
- if (startIndex >= start) {
33
- const partToReplace = run.text.substring(Math.max(startIndex, start), Math.min(endIndex, end) + 1);
34
- // We use a token to split the text if the replacement is within the same run
35
- // If not, we just add text to the middle of the run later
36
- const firstPart = text.replace(partToReplace, replacementText);
37
- patchTextElement(paragraphElement.elements![run.index].elements![index], firstPart);
38
- replaceMode = ReplaceMode.MIDDLE;
39
- continue;
40
- }
41
- break;
42
- case ReplaceMode.MIDDLE:
43
- if (endIndex <= end) {
44
- const lastPart = text.substring(endIndex - start + 1);
45
- patchTextElement(paragraphElement.elements![run.index].elements![index], lastPart);
46
- const currentElement = paragraphElement.elements![run.index].elements![index];
47
- // We need to add xml:space="preserve" to the last element to preserve the whitespace
48
- // Otherwise, the text will be merged with the next element
49
- // eslint-disable-next-line functional/immutable-data
50
- paragraphElement.elements![run.index].elements![index] = patchSpaceAttribute(currentElement);
51
- replaceMode = ReplaceMode.END;
52
- } else {
53
- patchTextElement(paragraphElement.elements![run.index].elements![index], "");
54
- }
55
- break;
56
- default:
57
- }
58
- }
59
- }
60
-
61
- return paragraphElement;
62
- };
63
-
64
- const patchTextElement = (element: Element, text: string): Element => {
65
- // eslint-disable-next-line functional/immutable-data
66
- element.elements = createTextElementContents(text);
67
-
68
- return element;
69
- };
@@ -1,87 +0,0 @@
1
- import { TargetModeType } from "@file/relationships/relationship/relationship";
2
- import { expect } from "chai";
3
-
4
- import { appendRelationship, getNextRelationshipIndex } from "./relationship-manager";
5
-
6
- describe("relationship-manager", () => {
7
- describe("getNextRelationshipIndex", () => {
8
- it("should get next relationship index", () => {
9
- const output = getNextRelationshipIndex({
10
- elements: [
11
- {
12
- type: "element",
13
- name: "Relationships",
14
- elements: [
15
- { type: "element", attributes: { Id: "rId1" }, name: "Relationship" },
16
- { type: "element", attributes: { Id: "rId1" }, name: "Relationship" },
17
- ],
18
- },
19
- ],
20
- });
21
- expect(output).to.deep.equal(2);
22
- });
23
-
24
- it("should work with an empty relationship Id", () => {
25
- const output = getNextRelationshipIndex({
26
- elements: [
27
- {
28
- type: "element",
29
- name: "Relationships",
30
- elements: [{ type: "element", name: "Relationship" }],
31
- },
32
- ],
33
- });
34
- expect(output).to.deep.equal(1);
35
- });
36
-
37
- it("should work with no relationships", () => {
38
- const output = getNextRelationshipIndex({
39
- elements: [
40
- {
41
- type: "element",
42
- name: "Relationships",
43
- elements: [],
44
- },
45
- ],
46
- });
47
- expect(output).to.deep.equal(1);
48
- });
49
- });
50
-
51
- describe("appendRelationship", () => {
52
- it("should append a relationship", () => {
53
- const output = appendRelationship(
54
- {
55
- elements: [
56
- {
57
- type: "element",
58
- name: "Relationships",
59
- elements: [
60
- { type: "element", attributes: { Id: "rId1" }, name: "Relationship" },
61
- { type: "element", attributes: { Id: "rId1" }, name: "Relationship" },
62
- ],
63
- },
64
- ],
65
- },
66
- 1,
67
- "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",
68
- "test",
69
- TargetModeType.EXTERNAL,
70
- );
71
- expect(output).to.deep.equal([
72
- { type: "element", attributes: { Id: "rId1" }, name: "Relationship" },
73
- { type: "element", attributes: { Id: "rId1" }, name: "Relationship" },
74
- {
75
- attributes: {
76
- Id: "rId1",
77
- Type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",
78
- TargetMode: TargetModeType.EXTERNAL,
79
- Target: "test",
80
- },
81
- name: "Relationship",
82
- type: "element",
83
- },
84
- ]);
85
- });
86
- });
87
- });
@@ -1,42 +0,0 @@
1
- import { Element } from "xml-js";
2
-
3
- import { RelationshipType, TargetModeType } from "@file/relationships/relationship/relationship";
4
- import { getFirstLevelElements } from "./util";
5
-
6
- const getIdFromRelationshipId = (relationshipId: string): number => {
7
- const output = parseInt(relationshipId.substring(3), 10);
8
- return isNaN(output) ? 0 : output;
9
- };
10
-
11
- export const getNextRelationshipIndex = (relationships: Element): number => {
12
- const relationshipElements = getFirstLevelElements(relationships, "Relationships");
13
-
14
- return (
15
- relationshipElements
16
- .map((e) => getIdFromRelationshipId(e.attributes?.Id?.toString() ?? ""))
17
- .reduce((acc, curr) => Math.max(acc, curr), 0) + 1
18
- );
19
- };
20
-
21
- export const appendRelationship = (
22
- relationships: Element,
23
- id: number | string,
24
- type: RelationshipType,
25
- target: string,
26
- targetMode?: TargetModeType,
27
- ): readonly Element[] => {
28
- const relationshipElements = getFirstLevelElements(relationships, "Relationships");
29
- // eslint-disable-next-line functional/immutable-data
30
- relationshipElements.push({
31
- attributes: {
32
- Id: `rId${id}`,
33
- Type: type,
34
- Target: target,
35
- TargetMode: targetMode,
36
- },
37
- name: "Relationship",
38
- type: "element",
39
- });
40
-
41
- return relationshipElements;
42
- };