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,370 +0,0 @@
1
- import * as chai from "chai";
2
- import * as sinon from "sinon";
3
- import * as JSZip from "jszip";
4
- import * as chaiAsPromised from "chai-as-promised";
5
-
6
- import { ExternalHyperlink, ImageRun, Paragraph, TextRun } from "@file/paragraph";
7
-
8
- import { patchDocument, PatchType } from "./from-docx";
9
-
10
- chai.use(chaiAsPromised);
11
- const { expect } = chai;
12
-
13
- const MOCK_XML = `
14
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
15
- <w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
16
- xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex"
17
- xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex"
18
- xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex"
19
- xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex"
20
- xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex"
21
- xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex"
22
- xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex"
23
- xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex"
24
- xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex"
25
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
26
- xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink"
27
- xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d"
28
- xmlns:o="urn:schemas-microsoft-com:office:office"
29
- xmlns:oel="http://schemas.microsoft.com/office/2019/extlst"
30
- xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
31
- xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
32
- xmlns:v="urn:schemas-microsoft-com:vml"
33
- xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
34
- xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
35
- xmlns:w10="urn:schemas-microsoft-com:office:word"
36
- xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
37
- xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
38
- xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml"
39
- xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex"
40
- xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid"
41
- xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml"
42
- xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash"
43
- xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex"
44
- xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
45
- xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
46
- xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
47
- xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape">
48
- <w:body>
49
- <w:p w14:paraId="2499FE9F" w14:textId="0A3D130F" w:rsidR="00B51233"
50
- w:rsidRDefault="007B52ED" w:rsidP="007B52ED">
51
- <w:pPr>
52
- <w:pStyle w:val="Title" />
53
- </w:pPr>
54
- <w:r>
55
- <w:t>Hello World</w:t>
56
- </w:r>
57
- </w:p>
58
- <w:p w14:paraId="6410D9A0" w14:textId="7579AB49" w:rsidR="007B52ED"
59
- w:rsidRDefault="007B52ED" />
60
- <w:p w14:paraId="57ACF964" w14:textId="315D7A05" w:rsidR="007B52ED"
61
- w:rsidRDefault="007B52ED">
62
- <w:r>
63
- <w:t>Hello {{name}},</w:t>
64
- </w:r>
65
- <w:r w:rsidR="008126CB">
66
- <w:t xml:space="preserve"> how are you?</w:t>
67
- </w:r>
68
- </w:p>
69
- <w:p w14:paraId="38C7DF4A" w14:textId="66CDEC9A" w:rsidR="007B52ED"
70
- w:rsidRDefault="007B52ED" />
71
- <w:p w14:paraId="04FABE2B" w14:textId="3DACA001" w:rsidR="007B52ED"
72
- w:rsidRDefault="007B52ED">
73
- <w:r>
74
- <w:t>{{paragraph_replace}}</w:t>
75
- </w:r>
76
- </w:p>
77
- <w:p w14:paraId="7AD7975D" w14:textId="77777777" w:rsidR="00EF161F"
78
- w:rsidRDefault="00EF161F" />
79
- <w:p w14:paraId="3BD6D75A" w14:textId="19AE3121" w:rsidR="00EF161F"
80
- w:rsidRDefault="00EF161F">
81
- <w:r>
82
- <w:t>{{table}}</w:t>
83
- </w:r>
84
- </w:p>
85
- <w:p w14:paraId="76023962" w14:textId="4E606AB9" w:rsidR="007B52ED"
86
- w:rsidRDefault="007B52ED" />
87
- <w:tbl>
88
- <w:tblPr>
89
- <w:tblStyle w:val="TableGrid" />
90
- <w:tblW w:w="0" w:type="auto" />
91
- <w:tblLook w:val="04A0" w:firstRow="1" w:lastRow="0" w:firstColumn="1"
92
- w:lastColumn="0" w:noHBand="0" w:noVBand="1" />
93
- </w:tblPr>
94
- <w:tblGrid>
95
- <w:gridCol w:w="3003" />
96
- <w:gridCol w:w="3003" />
97
- <w:gridCol w:w="3004" />
98
- </w:tblGrid>
99
- <w:tr w:rsidR="00EF161F" w14:paraId="1DEC5955" w14:textId="77777777" w:rsidTr="00EF161F">
100
- <w:tc>
101
- <w:tcPr>
102
- <w:tcW w:w="3003" w:type="dxa" />
103
- </w:tcPr>
104
- <w:p w14:paraId="54DA5587" w14:textId="625BAC60" w:rsidR="00EF161F"
105
- w:rsidRDefault="00EF161F">
106
- <w:r>
107
- <w:t>{{table_heading_1}}</w:t>
108
- </w:r>
109
- </w:p>
110
- </w:tc>
111
- <w:tc>
112
- <w:tcPr>
113
- <w:tcW w:w="3003" w:type="dxa" />
114
- </w:tcPr>
115
- <w:p w14:paraId="57100910" w14:textId="71FD5616" w:rsidR="00EF161F"
116
- w:rsidRDefault="00EF161F" />
117
- </w:tc>
118
- <w:tc>
119
- <w:tcPr>
120
- <w:tcW w:w="3004" w:type="dxa" />
121
- </w:tcPr>
122
- <w:p w14:paraId="1D388FAB" w14:textId="77777777" w:rsidR="00EF161F"
123
- w:rsidRDefault="00EF161F" />
124
- </w:tc>
125
- </w:tr>
126
- <w:tr w:rsidR="00EF161F" w14:paraId="0F53D2DC" w14:textId="77777777" w:rsidTr="00EF161F">
127
- <w:tc>
128
- <w:tcPr>
129
- <w:tcW w:w="3003" w:type="dxa" />
130
- </w:tcPr>
131
- <w:p w14:paraId="0F2BCCED" w14:textId="3C3B6706" w:rsidR="00EF161F"
132
- w:rsidRDefault="00EF161F">
133
- <w:r>
134
- <w:t>Item: {{item_1}}</w:t>
135
- </w:r>
136
- </w:p>
137
- </w:tc>
138
- <w:tc>
139
- <w:tcPr>
140
- <w:tcW w:w="3003" w:type="dxa" />
141
- </w:tcPr>
142
- <w:p w14:paraId="1E6158AC" w14:textId="77777777" w:rsidR="00EF161F"
143
- w:rsidRDefault="00EF161F" />
144
- </w:tc>
145
- <w:tc>
146
- <w:tcPr>
147
- <w:tcW w:w="3004" w:type="dxa" />
148
- </w:tcPr>
149
- <w:p w14:paraId="17937748" w14:textId="77777777" w:rsidR="00EF161F"
150
- w:rsidRDefault="00EF161F" />
151
- </w:tc>
152
- </w:tr>
153
- <w:tr w:rsidR="00EF161F" w14:paraId="781DAC1A" w14:textId="77777777" w:rsidTr="00EF161F">
154
- <w:tc>
155
- <w:tcPr>
156
- <w:tcW w:w="3003" w:type="dxa" />
157
- </w:tcPr>
158
- <w:p w14:paraId="1DCD0343" w14:textId="77777777" w:rsidR="00EF161F"
159
- w:rsidRDefault="00EF161F" />
160
- </w:tc>
161
- <w:tc>
162
- <w:tcPr>
163
- <w:tcW w:w="3003" w:type="dxa" />
164
- </w:tcPr>
165
- <w:p w14:paraId="5D02E3CD" w14:textId="77777777" w:rsidR="00EF161F"
166
- w:rsidRDefault="00EF161F" />
167
- </w:tc>
168
- <w:tc>
169
- <w:tcPr>
170
- <w:tcW w:w="3004" w:type="dxa" />
171
- </w:tcPr>
172
- <w:p w14:paraId="52EA0DBB" w14:textId="77777777" w:rsidR="00EF161F"
173
- w:rsidRDefault="00EF161F" />
174
- </w:tc>
175
- </w:tr>
176
- </w:tbl>
177
- <w:p w14:paraId="47CD1FBC" w14:textId="23474CBC" w:rsidR="007B52ED"
178
- w:rsidRDefault="007B52ED" />
179
- <w:p w14:paraId="0ACCEE90" w14:textId="67907499" w:rsidR="00EF161F"
180
- w:rsidRDefault="0077578F">
181
- <w:r>
182
- <w:t>{{image_test}}</w:t>
183
- </w:r>
184
- </w:p>
185
- <w:p w14:paraId="23FA9862" w14:textId="77777777" w:rsidR="0077578F"
186
- w:rsidRDefault="0077578F" />
187
- <w:p w14:paraId="01578F2F" w14:textId="3BDC6C85" w:rsidR="007B52ED"
188
- w:rsidRDefault="007B52ED">
189
- <w:r>
190
- <w:t>Thank you</w:t>
191
- </w:r>
192
- </w:p>
193
- <w:sectPr w:rsidR="007B52ED" w:rsidSect="0072043F">
194
- <w:headerReference w:type="default" r:id="rId6" />
195
- <w:footerReference w:type="default" r:id="rId7" />
196
- <w:pgSz w:w="11900" w:h="16840" />
197
- <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="708"
198
- w:footer="708" w:gutter="0" />
199
- <w:cols w:space="708" />
200
- <w:docGrid w:linePitch="360" />
201
- </w:sectPr>
202
- </w:body>
203
- </w:document>
204
- `;
205
-
206
- describe("from-docx", () => {
207
- describe("patchDocument", () => {
208
- describe("document.xml and [Content_Types].xml", () => {
209
- before(() => {
210
- sinon.createStubInstance(JSZip, {});
211
- sinon.stub(JSZip, "loadAsync").callsFake(
212
- () =>
213
- new Promise<JSZip>((resolve) => {
214
- const zip = new JSZip();
215
-
216
- zip.file("word/document.xml", MOCK_XML);
217
- zip.file("[Content_Types].xml", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>`);
218
- resolve(zip);
219
- }),
220
- );
221
- });
222
-
223
- after(() => {
224
- (JSZip.loadAsync as unknown as sinon.SinonStub).restore();
225
- });
226
-
227
- it("should patch the document", async () => {
228
- const output = await patchDocument(Buffer.from(""), {
229
- patches: {
230
- name: {
231
- type: PatchType.PARAGRAPH,
232
- children: [new TextRun("Sir. "), new TextRun("John Doe"), new TextRun("(The Conqueror)")],
233
- },
234
- item_1: {
235
- type: PatchType.PARAGRAPH,
236
- children: [
237
- new TextRun("#657"),
238
- new ExternalHyperlink({
239
- children: [
240
- new TextRun({
241
- text: "BBC News Link",
242
- }),
243
- ],
244
- link: "https://www.bbc.co.uk/news",
245
- }),
246
- ],
247
- },
248
- // eslint-disable-next-line @typescript-eslint/naming-convention
249
- paragraph_replace: {
250
- type: PatchType.DOCUMENT,
251
- children: [
252
- new Paragraph({
253
- children: [
254
- new TextRun("This is a "),
255
- new ExternalHyperlink({
256
- children: [
257
- new TextRun({
258
- text: "Google Link",
259
- }),
260
- ],
261
- link: "https://www.google.co.uk",
262
- }),
263
- new ImageRun({
264
- data: Buffer.from(""),
265
- transformation: { width: 100, height: 100 },
266
- }),
267
- ],
268
- }),
269
- ],
270
- },
271
- // eslint-disable-next-line @typescript-eslint/naming-convention
272
- image_test: {
273
- type: PatchType.PARAGRAPH,
274
- children: [
275
- new ImageRun({
276
- data: Buffer.from(""),
277
- transformation: { width: 100, height: 100 },
278
- }),
279
- ],
280
- },
281
- },
282
- });
283
- expect(output).to.not.be.undefined;
284
- });
285
-
286
- it("should patch the document", async () => {
287
- const output = await patchDocument(Buffer.from(""), {
288
- patches: {},
289
- });
290
- expect(output).to.not.be.undefined;
291
- });
292
- });
293
-
294
- describe("document.xml and [Content_Types].xml with relationships", () => {
295
- before(() => {
296
- sinon.createStubInstance(JSZip, {});
297
- sinon.stub(JSZip, "loadAsync").callsFake(
298
- () =>
299
- new Promise<JSZip>((resolve) => {
300
- const zip = new JSZip();
301
-
302
- zip.file("word/document.xml", MOCK_XML);
303
- zip.file("word/_rels/document.xml.rels", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>`);
304
- zip.file("[Content_Types].xml", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>`);
305
- resolve(zip);
306
- }),
307
- );
308
- });
309
-
310
- after(() => {
311
- (JSZip.loadAsync as unknown as sinon.SinonStub).restore();
312
- });
313
-
314
- it("should use the relationships file rather than create one", async () => {
315
- const output = await patchDocument(Buffer.from(""), {
316
- patches: {
317
- // eslint-disable-next-line @typescript-eslint/naming-convention
318
- image_test: {
319
- type: PatchType.PARAGRAPH,
320
- children: [
321
- new ImageRun({
322
- data: Buffer.from(""),
323
- transformation: { width: 100, height: 100 },
324
- }),
325
- ],
326
- },
327
- },
328
- });
329
- expect(output).to.not.be.undefined;
330
- });
331
- });
332
-
333
- describe("document.xml", () => {
334
- before(() => {
335
- sinon.createStubInstance(JSZip, {});
336
- sinon.stub(JSZip, "loadAsync").callsFake(
337
- () =>
338
- new Promise<JSZip>((resolve) => {
339
- const zip = new JSZip();
340
-
341
- zip.file("word/document.xml", MOCK_XML);
342
- resolve(zip);
343
- }),
344
- );
345
- });
346
-
347
- after(() => {
348
- (JSZip.loadAsync as unknown as sinon.SinonStub).restore();
349
- });
350
-
351
- it("should throw an error if the content types is not found", () =>
352
- expect(
353
- patchDocument(Buffer.from(""), {
354
- patches: {
355
- // eslint-disable-next-line @typescript-eslint/naming-convention
356
- image_test: {
357
- type: PatchType.PARAGRAPH,
358
- children: [
359
- new ImageRun({
360
- data: Buffer.from(""),
361
- transformation: { width: 100, height: 100 },
362
- }),
363
- ],
364
- },
365
- },
366
- }),
367
- ).to.eventually.be.rejected);
368
- });
369
- });
370
- });
@@ -1,233 +0,0 @@
1
- import * as JSZip from "jszip";
2
- import { Element, js2xml } from "xml-js";
3
-
4
- import { ConcreteHyperlink, ExternalHyperlink, ParagraphChild } from "@file/paragraph";
5
- import { FileChild } from "@file/file-child";
6
- import { IMediaData, Media } from "@file/media";
7
- import { IViewWrapper } from "@file/document-wrapper";
8
- import { File } from "@file/file";
9
- import { IContext } from "@file/xml-components";
10
- import { ImageReplacer } from "@export/packer/image-replacer";
11
- import { TargetModeType } from "@file/relationships/relationship/relationship";
12
- import { uniqueId } from "@util/convenience-functions";
13
-
14
- import { replacer } from "./replacer";
15
- import { findLocationOfText } from "./traverser";
16
- import { toJson } from "./util";
17
- import { appendRelationship, getNextRelationshipIndex } from "./relationship-manager";
18
- import { appendContentType } from "./content-types-manager";
19
-
20
- // eslint-disable-next-line functional/prefer-readonly-type
21
- type InputDataType = Buffer | string | number[] | Uint8Array | ArrayBuffer | Blob | NodeJS.ReadableStream;
22
-
23
- export enum PatchType {
24
- DOCUMENT = "file",
25
- PARAGRAPH = "paragraph",
26
- }
27
-
28
- type ParagraphPatch = {
29
- readonly type: PatchType.PARAGRAPH;
30
- readonly children: readonly ParagraphChild[];
31
- };
32
-
33
- type FilePatch = {
34
- readonly type: PatchType.DOCUMENT;
35
- readonly children: readonly FileChild[];
36
- };
37
-
38
- interface IImageRelationshipAddition {
39
- readonly key: string;
40
- readonly mediaDatas: readonly IMediaData[];
41
- }
42
-
43
- interface IHyperlinkRelationshipAddition {
44
- readonly key: string;
45
- readonly hyperlink: { readonly id: string; readonly link: string };
46
- }
47
-
48
- export type IPatch = ParagraphPatch | FilePatch;
49
-
50
- export interface PatchDocumentOptions {
51
- readonly patches: { readonly [key: string]: IPatch };
52
- }
53
-
54
- const imageReplacer = new ImageReplacer();
55
-
56
- export const patchDocument = async (data: InputDataType, options: PatchDocumentOptions): Promise<Buffer> => {
57
- const zipContent = await JSZip.loadAsync(data);
58
- const contexts = new Map<string, IContext>();
59
- const file = {
60
- Media: new Media(),
61
- } as unknown as File;
62
-
63
- const map = new Map<string, Element>();
64
-
65
- // eslint-disable-next-line functional/prefer-readonly-type
66
- const imageRelationshipAdditions: IImageRelationshipAddition[] = [];
67
- // eslint-disable-next-line functional/prefer-readonly-type
68
- const hyperlinkRelationshipAdditions: IHyperlinkRelationshipAddition[] = [];
69
- let hasMedia = false;
70
-
71
- for (const [key, value] of Object.entries(zipContent.files)) {
72
- const json = toJson(await value.async("text"));
73
- if (key.startsWith("word/") && !key.endsWith(".xml.rels")) {
74
- const context: IContext = {
75
- file,
76
- viewWrapper: {
77
- Relationships: {
78
- createRelationship: (linkId: string, _: string, target: string, __: TargetModeType) => {
79
- // eslint-disable-next-line functional/immutable-data
80
- hyperlinkRelationshipAdditions.push({
81
- key,
82
- hyperlink: {
83
- id: linkId,
84
- link: target,
85
- },
86
- });
87
- },
88
- },
89
- } as unknown as IViewWrapper,
90
- stack: [],
91
- };
92
- contexts.set(key, context);
93
-
94
- for (const [patchKey, patchValue] of Object.entries(options.patches)) {
95
- const patchText = `{{${patchKey}}}`;
96
- const renderedParagraphs = findLocationOfText(json, patchText);
97
- // TODO: mutates json. Make it immutable
98
- replacer(
99
- json,
100
- {
101
- ...patchValue,
102
- children: patchValue.children.map((element) => {
103
- // We need to replace external hyperlinks with concrete hyperlinks
104
- if (element instanceof ExternalHyperlink) {
105
- const concreteHyperlink = new ConcreteHyperlink(element.options.children, uniqueId());
106
- // eslint-disable-next-line functional/immutable-data
107
- hyperlinkRelationshipAdditions.push({
108
- key,
109
- hyperlink: {
110
- id: concreteHyperlink.linkId,
111
- link: element.options.link,
112
- },
113
- });
114
- return concreteHyperlink;
115
- } else {
116
- return element;
117
- }
118
- }),
119
- },
120
- patchText,
121
- renderedParagraphs,
122
- context,
123
- );
124
- }
125
-
126
- const mediaDatas = imageReplacer.getMediaData(JSON.stringify(json), context.file.Media);
127
- if (mediaDatas.length > 0) {
128
- hasMedia = true;
129
- // eslint-disable-next-line functional/immutable-data
130
- imageRelationshipAdditions.push({
131
- key,
132
- mediaDatas,
133
- });
134
- }
135
- }
136
-
137
- map.set(key, json);
138
- }
139
-
140
- for (const { key, mediaDatas } of imageRelationshipAdditions) {
141
- // eslint-disable-next-line functional/immutable-data
142
- const relationshipKey = `word/_rels/${key.split("/").pop()}.rels`;
143
- const relationshipsJson = map.get(relationshipKey) ?? createRelationshipFile();
144
- map.set(relationshipKey, relationshipsJson);
145
-
146
- const index = getNextRelationshipIndex(relationshipsJson);
147
- const newJson = imageReplacer.replace(JSON.stringify(map.get(key)), mediaDatas, index);
148
- map.set(key, JSON.parse(newJson) as Element);
149
-
150
- for (let i = 0; i < mediaDatas.length; i++) {
151
- const { fileName } = mediaDatas[i];
152
- appendRelationship(
153
- relationshipsJson,
154
- index + i,
155
- "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",
156
- `media/${fileName}`,
157
- );
158
- }
159
- }
160
-
161
- for (const { key, hyperlink } of hyperlinkRelationshipAdditions) {
162
- // eslint-disable-next-line functional/immutable-data
163
- const relationshipKey = `word/_rels/${key.split("/").pop()}.rels`;
164
-
165
- const relationshipsJson = map.get(relationshipKey) ?? createRelationshipFile();
166
- map.set(relationshipKey, relationshipsJson);
167
-
168
- appendRelationship(
169
- relationshipsJson,
170
- hyperlink.id,
171
- "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",
172
- hyperlink.link,
173
- TargetModeType.EXTERNAL,
174
- );
175
- }
176
-
177
- if (hasMedia) {
178
- const contentTypesJson = map.get("[Content_Types].xml");
179
-
180
- if (!contentTypesJson) {
181
- throw new Error("Could not find content types file");
182
- }
183
-
184
- appendContentType(contentTypesJson, "image/png", "png");
185
- appendContentType(contentTypesJson, "image/jpeg", "jpeg");
186
- appendContentType(contentTypesJson, "image/jpeg", "jpg");
187
- appendContentType(contentTypesJson, "image/bmp", "bmp");
188
- appendContentType(contentTypesJson, "image/gif", "gif");
189
- }
190
-
191
- const zip = new JSZip();
192
-
193
- for (const [key, value] of map) {
194
- const output = toXml(value);
195
-
196
- zip.file(key, output);
197
- }
198
-
199
- for (const { stream, fileName } of file.Media.Array) {
200
- zip.file(`word/media/${fileName}`, stream);
201
- }
202
-
203
- return zip.generateAsync({
204
- type: "nodebuffer",
205
- mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
206
- compression: "DEFLATE",
207
- });
208
- };
209
-
210
- const toXml = (jsonObj: Element): string => {
211
- const output = js2xml(jsonObj);
212
- return output;
213
- };
214
-
215
- const createRelationshipFile = (): Element => ({
216
- declaration: {
217
- attributes: {
218
- version: "1.0",
219
- encoding: "UTF-8",
220
- standalone: "yes",
221
- },
222
- },
223
- elements: [
224
- {
225
- type: "element",
226
- name: "Relationships",
227
- attributes: {
228
- xmlns: "http://schemas.openxmlformats.org/package/2006/relationships",
229
- },
230
- elements: [],
231
- },
232
- ],
233
- });
@@ -1 +0,0 @@
1
- export * from "./from-docx";