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,50 +0,0 @@
1
- import { expect } from "chai";
2
-
3
- import { createTextElementContents, getFirstLevelElements, patchSpaceAttribute, toJson } from "./util";
4
-
5
- describe("util", () => {
6
- describe("toJson", () => {
7
- it("should return an Element", () => {
8
- const output = toJson("<xml></xml>");
9
- expect(output).to.be.an("object");
10
- });
11
- });
12
-
13
- describe("createTextElementContents", () => {
14
- it("should return an array of elements", () => {
15
- const output = createTextElementContents("hello");
16
- expect(output).to.deep.equal([{ type: "text", text: "hello" }]);
17
- });
18
- });
19
-
20
- describe("patchSpaceAttribute", () => {
21
- it("should return an element with the xml:space attribute", () => {
22
- const output = patchSpaceAttribute({ type: "element", name: "xml" });
23
- expect(output).to.deep.equal({
24
- type: "element",
25
- name: "xml",
26
- attributes: {
27
- "xml:space": "preserve",
28
- },
29
- });
30
- });
31
- });
32
-
33
- describe("getFirstLevelElements", () => {
34
- it("should return an empty array if no elements are found", () => {
35
- const elements = getFirstLevelElements(
36
- { elements: [{ type: "element", name: "Relationships", elements: [] }] },
37
- "Relationships",
38
- );
39
- expect(elements).to.deep.equal([]);
40
- });
41
-
42
- it("should return an array if elements are found", () => {
43
- const elements = getFirstLevelElements(
44
- { elements: [{ type: "element", name: "Relationships", elements: [{ type: "element", name: "Relationship" }] }] },
45
- "Relationships",
46
- );
47
- expect(elements).to.deep.equal([{ type: "element", name: "Relationship" }]);
48
- });
49
- });
50
- });
@@ -1,30 +0,0 @@
1
- import { xml2js, Element } from "xml-js";
2
- import * as xml from "xml";
3
-
4
- import { Formatter } from "@export/formatter";
5
- import { Text } from "@file/paragraph/run/run-components/text";
6
-
7
- const formatter = new Formatter();
8
-
9
- export const toJson = (xmlData: string): Element => {
10
- const xmlObj = xml2js(xmlData, { compact: false }) as Element;
11
- return xmlObj;
12
- };
13
-
14
- // eslint-disable-next-line functional/prefer-readonly-type
15
- export const createTextElementContents = (text: string): Element[] => {
16
- const textJson = toJson(xml(formatter.format(new Text({ text }))));
17
-
18
- return textJson.elements![0].elements ?? [];
19
- };
20
-
21
- export const patchSpaceAttribute = (element: Element): Element => ({
22
- ...element,
23
- attributes: {
24
- "xml:space": "preserve",
25
- },
26
- });
27
-
28
- // eslint-disable-next-line functional/prefer-readonly-type
29
- export const getFirstLevelElements = (relationships: Element, id: string): Element[] =>
30
- relationships.elements?.filter((e) => e.name === id)[0].elements ?? [];
@@ -1,7 +0,0 @@
1
- export class Utility {
2
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
- public static jsonify(obj: object): any {
4
- const stringifiedJson = JSON.stringify(obj);
5
- return JSON.parse(stringifiedJson);
6
- }
7
- }
@@ -1,31 +0,0 @@
1
- import { expect } from "chai";
2
-
3
- import { convertInchesToTwip, convertMillimetersToTwip, uniqueId, uniqueNumericId } from "./convenience-functions";
4
-
5
- describe("Utility", () => {
6
- describe("#convertMillimetersToTwip", () => {
7
- it("should convert millimeters to TWIP", () => {
8
- expect(convertMillimetersToTwip(1000)).to.equal(56692);
9
- });
10
- });
11
-
12
- describe("#convertInchesToTwip", () => {
13
- it("should convert inches to TWIP", () => {
14
- expect(convertInchesToTwip(1)).to.equal(1440);
15
- expect(convertInchesToTwip(0.5)).to.equal(720);
16
- expect(convertInchesToTwip(0.25)).to.equal(360);
17
- });
18
- });
19
-
20
- describe("#uniqueNumericId", () => {
21
- it("should generate a unique incrementing ID", () => {
22
- expect(uniqueNumericId()).to.not.be.undefined;
23
- });
24
- });
25
-
26
- describe("#uniqueId", () => {
27
- it("should generate a unique pseudorandom ID", () => {
28
- expect(uniqueId()).to.not.be.empty;
29
- });
30
- });
31
- });
@@ -1,12 +0,0 @@
1
- import { nanoid } from "nanoid/non-secure";
2
-
3
- let currentCount = 0;
4
-
5
- // Twip - twentieths of a point
6
- export const convertMillimetersToTwip = (millimeters: number): number => Math.floor((millimeters / 25.4) * 72 * 20);
7
-
8
- export const convertInchesToTwip = (inches: number): number => Math.floor(inches * 72 * 20);
9
-
10
- export const uniqueNumericId = (): number => ++currentCount;
11
-
12
- export const uniqueId = (): string => nanoid().toLowerCase();
package/src/util/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./convenience-functions";
2
- export * from "./values";
@@ -1,172 +0,0 @@
1
- import { expect } from "chai";
2
- import {
3
- dateTimeValue,
4
- hexColorValue,
5
- hpsMeasureValue,
6
- longHexNumber,
7
- measurementOrPercentValue,
8
- percentageValue,
9
- positiveUniversalMeasureValue,
10
- shortHexNumber,
11
- signedHpsMeasureValue,
12
- signedTwipsMeasureValue,
13
- twipsMeasureValue,
14
- universalMeasureValue,
15
- unsignedDecimalNumber,
16
- } from "./values";
17
-
18
- describe("values", () => {
19
- describe("universalMeasureValue", () => {
20
- it("should allow valid values", () => {
21
- // "-?[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)"
22
- expect(universalMeasureValue("-9mm")).to.eq("-9mm");
23
- expect(universalMeasureValue("-0.5in")).to.eq("-0.5in");
24
- expect(universalMeasureValue("20.pt")).to.eq("20pt");
25
- expect(universalMeasureValue("5.22pc")).to.eq("5.22pc");
26
- expect(universalMeasureValue("100 pi")).to.eq("100pi");
27
- });
28
- });
29
-
30
- describe("positiveUniversalMeasureValue", () => {
31
- it("should allow valid values", () => {
32
- // "[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)"
33
- expect(positiveUniversalMeasureValue("9mm")).to.eq("9mm");
34
- expect(positiveUniversalMeasureValue("0.5in")).to.eq("0.5in");
35
- expect(positiveUniversalMeasureValue("20.pt")).to.eq("20pt");
36
- expect(positiveUniversalMeasureValue("5.22pc")).to.eq("5.22pc");
37
- expect(positiveUniversalMeasureValue("100 pi")).to.eq("100pi");
38
- });
39
- it("should throw on invalid values", () => {
40
- expect(() => positiveUniversalMeasureValue("-9mm")).to.throw();
41
- expect(() => positiveUniversalMeasureValue("-0.5in")).to.throw();
42
- });
43
- });
44
-
45
- describe("longHexNumber", () => {
46
- it("should allow valid values", () => {
47
- expect(longHexNumber("112233FF")).to.eq("112233FF");
48
- });
49
- it("should throw on invalid values", () => {
50
- expect(() => longHexNumber("112233GG")).to.throw();
51
- expect(() => longHexNumber("112233F")).to.throw();
52
- expect(() => longHexNumber("112233FFF")).to.throw();
53
- });
54
- });
55
-
56
- describe("shortHexNumber", () => {
57
- it("should allow valid values", () => {
58
- expect(shortHexNumber("1122")).to.eq("1122");
59
- expect(shortHexNumber("FFFF")).to.eq("FFFF");
60
- });
61
- it("should throw on invalid values", () => {
62
- expect(() => shortHexNumber("11")).to.throw();
63
- expect(() => shortHexNumber("112233")).to.throw();
64
- /* cspell:disable-next-line */
65
- expect(() => shortHexNumber("FFFG")).to.throw();
66
- });
67
- });
68
-
69
- describe("hexColorValue", () => {
70
- it("should allow valid values", () => {
71
- expect(hexColorValue("auto")).to.eq("auto");
72
- expect(hexColorValue("FF0000")).to.eq("FF0000");
73
- expect(hexColorValue("aabbcc")).to.eq("aabbcc");
74
- expect(hexColorValue("#BEEFEE")).to.eq("BEEFEE");
75
- expect(hexColorValue("abcdef")).to.eq("abcdef");
76
- });
77
- it("should throw on invalid values", () => {
78
- expect(() => hexColorValue("foo")).to.throw();
79
- expect(() => hexColorValue("fff")).to.throw();
80
- expect(() => hexColorValue("a")).to.throw();
81
- expect(() => hexColorValue("abcde")).to.throw();
82
- expect(() => hexColorValue("---")).to.throw();
83
- expect(() => hexColorValue("brown")).to.throw();
84
- });
85
- });
86
-
87
- describe("unsignedDecimalNumber", () => {
88
- it("should allow valid values", () => {
89
- expect(unsignedDecimalNumber(1243)).to.eq(1243);
90
- expect(unsignedDecimalNumber(12.43)).to.eq(12);
91
- expect(unsignedDecimalNumber(1e10)).to.eq(1e10);
92
- });
93
- it("should throw on invalid values", () => {
94
- expect(() => unsignedDecimalNumber(NaN)).to.throw();
95
- expect(() => unsignedDecimalNumber(-10)).to.throw();
96
- });
97
- });
98
-
99
- describe("signedTwipsMeasureValue", () => {
100
- it("should allow valid values", () => {
101
- expect(signedTwipsMeasureValue(1243)).to.eq(1243);
102
- expect(signedTwipsMeasureValue("-5mm")).to.eq("-5mm");
103
- expect(signedTwipsMeasureValue("10.in")).to.eq("10in");
104
- });
105
- it("should throw on invalid values", () => {
106
- expect(() => signedTwipsMeasureValue(NaN)).to.throw();
107
- });
108
- });
109
-
110
- describe("twipsMeasureValue", () => {
111
- it("should allow valid values", () => {
112
- expect(twipsMeasureValue(1243)).to.eq(1243);
113
- expect(twipsMeasureValue("5mm")).to.eq("5mm");
114
- expect(twipsMeasureValue("10.in")).to.eq("10in");
115
- });
116
- it("should throw on invalid values", () => {
117
- expect(() => twipsMeasureValue(-12)).to.throw();
118
- expect(() => twipsMeasureValue(NaN)).to.throw();
119
- expect(() => twipsMeasureValue("-5mm")).to.throw();
120
- });
121
- });
122
-
123
- describe("hpsMeasureValue", () => {
124
- it("should allow valid values", () => {
125
- expect(hpsMeasureValue(1243)).to.eq(1243);
126
- expect(hpsMeasureValue("5mm")).to.eq("5mm");
127
- });
128
- it("should throw on invalid values", () => {
129
- expect(() => hpsMeasureValue(NaN)).to.throw();
130
- expect(() => hpsMeasureValue("-5mm")).to.throw();
131
- });
132
- });
133
-
134
- describe("signedHpsMeasureValue", () => {
135
- it("should allow valid values", () => {
136
- expect(signedHpsMeasureValue(1243)).to.eq(1243);
137
- expect(signedHpsMeasureValue(-1243)).to.eq(-1243);
138
- expect(signedHpsMeasureValue("5mm")).to.eq("5mm");
139
- expect(signedHpsMeasureValue("-5mm")).to.eq("-5mm");
140
- });
141
- it("should throw on invalid values", () => {
142
- expect(() => hpsMeasureValue(NaN)).to.throw();
143
- });
144
- });
145
-
146
- describe("percentageValue", () => {
147
- it("should allow valid values", () => {
148
- expect(percentageValue("0%")).to.eq("0%");
149
- expect(percentageValue("-20%")).to.eq("-20%");
150
- expect(percentageValue("100%")).to.eq("100%");
151
- expect(percentageValue("1000%")).to.eq("1000%");
152
- });
153
- });
154
-
155
- describe("measurementOrPercentValue", () => {
156
- it("should allow valid values", () => {
157
- expect(measurementOrPercentValue(1243)).to.eq(1243);
158
- expect(measurementOrPercentValue(-1243)).to.eq(-1243);
159
- expect(measurementOrPercentValue("10%")).to.eq("10%");
160
- expect(measurementOrPercentValue("5mm")).to.eq("5mm");
161
- });
162
- it("should throw on invalid values", () => {
163
- expect(() => measurementOrPercentValue(NaN)).to.throw();
164
- });
165
- });
166
-
167
- describe("dateTimeValue", () => {
168
- it("should allow valid values", () => {
169
- expect(dateTimeValue(new Date())).to.match(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:.\d+)?Z/);
170
- });
171
- });
172
- });
@@ -1,219 +0,0 @@
1
- // Runtime checks and cleanup for value types in the spec that aren't easily expressed through our type system.
2
- // These will help us to prevent silent failures and corrupted documents.
3
- //
4
- // Most of the rest of the types not defined here are either aliases of existing types or enumerations.
5
- // Enumerations should probably just be implemented as enums, with instructions to end-users, without a runtime check.
6
-
7
- // -?[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)
8
- export type UniversalMeasure = `${"-" | ""}${number}${"mm" | "cm" | "in" | "pt" | "pc" | "pi"}`;
9
-
10
- // <xsd:simpleType name="ST_PositiveUniversalMeasure">
11
- // <xsd:restriction base="ST_UniversalMeasure">
12
- // <xsd:pattern value="[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)" />
13
- // </xsd:restriction>
14
- // </xsd:simpleType>
15
- export type PositiveUniversalMeasure = `${number}${"mm" | "cm" | "in" | "pt" | "pc" | "pi"}`;
16
-
17
- // <xsd:simpleType name="ST_Percentage">
18
- // <xsd:restriction base="xsd:string">
19
- // <xsd:pattern value="-?[0-9]+(\.[0-9]+)?%"/>
20
- // </xsd:restriction>
21
- // </xsd:simpleType>
22
- export type Percentage = `${"-" | ""}${number}%`;
23
-
24
- // <xsd:simpleType name="ST_DecimalNumber">
25
- // <xsd:restriction base="xsd:integer"/>
26
- // </xsd:simpleType>
27
- export const decimalNumber = (val: number): number => {
28
- if (isNaN(val)) {
29
- throw new Error(`Invalid value '${val}' specified. Must be an integer.`);
30
- }
31
- return Math.floor(val);
32
- };
33
-
34
- // <xsd:simpleType name="ST_UnsignedDecimalNumber">
35
- // <xsd:restriction base="xsd:unsignedLong"/>
36
- // </xsd:simpleType>
37
- export const unsignedDecimalNumber = (val: number): number => {
38
- const value = decimalNumber(val);
39
- if (value < 0) {
40
- throw new Error(`Invalid value '${val}' specified. Must be a positive integer.`);
41
- }
42
- return value;
43
- };
44
-
45
- // The xsd:hexBinary type represents binary data as a sequence of binary octets.
46
- // It uses hexadecimal encoding, where each binary octet is a two-character hexadecimal number.
47
- // Lowercase and uppercase letters A through F are permitted. For example, 0FB8 and 0fb8 are two
48
- // equal xsd:hexBinary representations consisting of two octets.
49
- // http://www.datypic.com/sc/xsd/t-xsd_hexBinary.html
50
- const hexBinary = (val: string, length: number): string => {
51
- const expectedLength = length * 2;
52
- if (val.length !== expectedLength || isNaN(Number(`0x${val}`))) {
53
- throw new Error(`Invalid hex value '${val}'. Expected ${expectedLength} digit hex value`);
54
- }
55
- return val;
56
- };
57
-
58
- // <xsd:simpleType name="ST_LongHexNumber">
59
- // <xsd:restriction base="xsd:hexBinary">
60
- // <xsd:length value="4"/>
61
- // </xsd:restriction>
62
- // </xsd:simpleType>
63
- export const longHexNumber = (val: string): string => hexBinary(val, 4);
64
-
65
- // <xsd:simpleType name="ST_ShortHexNumber">
66
- // <xsd:restriction base="xsd:hexBinary">
67
- // <xsd:length value="2"/>
68
- // </xsd:restriction>
69
- // </xsd:simpleType>
70
- export const shortHexNumber = (val: string): string => hexBinary(val, 2);
71
-
72
- // <xsd:simpleType name="ST_UcharHexNumber">
73
- // <xsd:restriction base="xsd:hexBinary">
74
- // <xsd:length value="1"/>
75
- // </xsd:restriction>
76
- // </xsd:simpleType>
77
- export const uCharHexNumber = (val: string): string => hexBinary(val, 1);
78
-
79
- // <xsd:simpleType name="ST_LongHexNumber">
80
- // <xsd:restriction base="xsd:hexBinary">
81
- // <xsd:length value="4"/>
82
- // </xsd:restriction>
83
- // </xsd:simpleType>
84
-
85
- // <xsd:simpleType name="ST_UniversalMeasure">
86
- // <xsd:restriction base="xsd:string">
87
- // <xsd:pattern value="-?[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)"/>
88
- // </xsd:restriction>
89
- // </xsd:simpleType>
90
- export const universalMeasureValue = (val: UniversalMeasure): UniversalMeasure => {
91
- const unit = val.slice(-2);
92
- const amount = val.substring(0, val.length - 2);
93
- return `${Number(amount)}${unit}` as UniversalMeasure;
94
- };
95
-
96
- // <xsd:simpleType name="ST_PositiveUniversalMeasure">
97
- // <xsd:restriction base="ST_UniversalMeasure">
98
- // <xsd:pattern value="[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)"/>
99
- // </xsd:restriction>
100
- // </xsd:simpleType>
101
- export const positiveUniversalMeasureValue = (val: PositiveUniversalMeasure): PositiveUniversalMeasure => {
102
- const value = universalMeasureValue(val);
103
- if (parseFloat(value) < 0) {
104
- throw new Error(`Invalid value '${value}' specified. Expected a positive number.`);
105
- }
106
- return value as PositiveUniversalMeasure;
107
- };
108
-
109
- // <xsd:simpleType name="ST_HexColor">
110
- // <xsd:union memberTypes="ST_HexColorAuto s:ST_HexColorRGB"/>
111
- // </xsd:simpleType>
112
- // <xsd:simpleType name="ST_HexColorAuto">
113
- // <xsd:restriction base="xsd:string">
114
- // <xsd:enumeration value="auto"/>
115
- // </xsd:restriction>
116
- // </xsd:simpleType>
117
-
118
- // <xsd:simpleType name="ST_HexColorRGB">
119
- // <xsd:restriction base="xsd:hexBinary">
120
- // <xsd:length value="3" fixed="true"/>
121
- // </xsd:restriction>
122
- // </xsd:simpleType>
123
- export const hexColorValue = (val: string): string => {
124
- if (val === "auto") {
125
- return val;
126
- }
127
- // It's super common to see colors prefixed with a pound, but technically invalid here.
128
- // Most clients work with it, but strip it off anyway for strict compliance.
129
- const color = val.charAt(0) === "#" ? val.substring(1) : val;
130
- return hexBinary(color, 3);
131
- };
132
-
133
- // <xsd:simpleType name="ST_SignedTwipsMeasure">
134
- // <xsd:union memberTypes="xsd:integer s:ST_UniversalMeasure"/>
135
- // </xsd:simpleType>
136
- export const signedTwipsMeasureValue = (val: UniversalMeasure | number): UniversalMeasure | number =>
137
- typeof val === "string" ? universalMeasureValue(val) : decimalNumber(val);
138
-
139
- // <xsd:simpleType name="ST_HpsMeasure">
140
- // <xsd:union memberTypes="s:ST_UnsignedDecimalNumber s:ST_PositiveUniversalMeasure"/>
141
- // </xsd:simpleType>
142
- export const hpsMeasureValue = (val: PositiveUniversalMeasure | number): string | number =>
143
- typeof val === "string" ? positiveUniversalMeasureValue(val) : unsignedDecimalNumber(val);
144
-
145
- // <xsd:simpleType name="ST_SignedHpsMeasure">
146
- // <xsd:union memberTypes="xsd:integer s:ST_UniversalMeasure"/>
147
- // </xsd:simpleType>
148
- export const signedHpsMeasureValue = (val: UniversalMeasure | number): string | number =>
149
- typeof val === "string" ? universalMeasureValue(val) : decimalNumber(val);
150
-
151
- // <xsd:simpleType name="ST_TwipsMeasure">
152
- // <xsd:union memberTypes="ST_UnsignedDecimalNumber ST_PositiveUniversalMeasure"/>
153
- // </xsd:simpleType>
154
- export const twipsMeasureValue = (val: PositiveUniversalMeasure | number): PositiveUniversalMeasure | number =>
155
- typeof val === "string" ? positiveUniversalMeasureValue(val) : unsignedDecimalNumber(val);
156
-
157
- // <xsd:simpleType name="ST_Percentage">
158
- // <xsd:restriction base="xsd:string">
159
- // <xsd:pattern value="-?[0-9]+(\.[0-9]+)?%"/>
160
- // </xsd:restriction>
161
- // </xsd:simpleType>
162
- export const percentageValue = (val: Percentage): Percentage => {
163
- const percent = val.substring(0, val.length - 1);
164
- return `${Number(percent)}%`;
165
- };
166
-
167
- // <xsd:simpleType name="ST_MeasurementOrPercent">
168
- // <xsd:union memberTypes="ST_DecimalNumberOrPercent s:ST_UniversalMeasure"/>
169
- // </xsd:simpleType>
170
-
171
- // <xsd:simpleType name="ST_DecimalNumberOrPercent">
172
- // <xsd:union memberTypes="ST_UnqualifiedPercentage s:ST_Percentage"/>
173
- // </xsd:simpleType>
174
-
175
- // <xsd:simpleType name="ST_UnqualifiedPercentage">
176
- // <xsd:restriction base="xsd:integer"/>
177
- // </xsd:simpleType>
178
-
179
- export const measurementOrPercentValue = (val: number | Percentage | UniversalMeasure): number | UniversalMeasure | Percentage => {
180
- if (typeof val === "number") {
181
- return decimalNumber(val);
182
- }
183
- if (val.slice(-1) === "%") {
184
- return percentageValue(val as Percentage);
185
- }
186
- return universalMeasureValue(val as UniversalMeasure);
187
- };
188
-
189
- // <xsd:simpleType name="ST_EighthPointMeasure">
190
- // <xsd:restriction base="s:ST_UnsignedDecimalNumber"/>
191
- // </xsd:simpleType>
192
- export const eighthPointMeasureValue = unsignedDecimalNumber;
193
-
194
- // <xsd:simpleType name="ST_PointMeasure">
195
- // <xsd:restriction base="s:ST_UnsignedDecimalNumber"/>
196
- // </xsd:simpleType>
197
- export const pointMeasureValue = unsignedDecimalNumber;
198
-
199
- // <xsd:simpleType name="ST_DateTime">
200
- // <xsd:restriction base="xsd:dateTime"/>
201
- // </xsd:simpleType>
202
- //
203
- // http://www.datypic.com/sc/xsd/t-xsd_dateTime.html
204
- // The type xsd:dateTime represents a specific date and time in the format
205
- /* cspell:disable-next-line */
206
- // CCYY-MM-DDThh:mm:ss.sss, which is a concatenation of the date and time forms,
207
- // separated by a literal letter "T". All of the same rules that apply to the date
208
- // and time types are applicable to xsd:dateTime as well.
209
- //
210
- // An optional time zone expression may be added at the end of the value.
211
- // The letter Z is used to indicate Coordinated Universal Time (UTC). All other time
212
- // zones are represented by their difference from Coordinated Universal Time in the
213
- // format +hh:mm, or -hh:mm. These values may range from -14:00 to 14:00. For example,
214
- // US Eastern Standard Time, which is five hours behind UTC, is represented as -05:00.
215
- // If no time zone value is present, it is considered unknown; it is not assumed to be UTC.
216
- //
217
- // Luckily, js has this format built in already. See:
218
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
219
- export const dateTimeValue = (val: Date): string => val.toISOString();