docx 8.0.0 → 8.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/file/styles/style/character-style.d.ts +0 -1
- package/build/file/styles/style/paragraph-style.d.ts +0 -1
- package/build/index.js +1 -1
- package/package.json +5 -8
- package/src/export/formatter.spec.ts +0 -118
- package/src/export/formatter.ts +0 -14
- package/src/export/index.ts +0 -1
- package/src/export/packer/image-replacer.spec.ts +0 -61
- package/src/export/packer/image-replacer.ts +0 -17
- package/src/export/packer/next-compiler.spec.ts +0 -180
- package/src/export/packer/next-compiler.ts +0 -444
- package/src/export/packer/numbering-replacer.ts +0 -16
- package/src/export/packer/packer.spec.ts +0 -175
- package/src/export/packer/packer.ts +0 -74
- package/src/file/app-properties/app-properties-attributes.ts +0 -11
- package/src/file/app-properties/app-properties.ts +0 -15
- package/src/file/border/border.spec.ts +0 -54
- package/src/file/border/border.ts +0 -86
- package/src/file/border/index.ts +0 -1
- package/src/file/content-types/content-types-attributes.ts +0 -9
- package/src/file/content-types/content-types.spec.ts +0 -150
- package/src/file/content-types/content-types.ts +0 -49
- package/src/file/content-types/default/default-attributes.ts +0 -11
- package/src/file/content-types/default/default.ts +0 -15
- package/src/file/content-types/override/override-attributes.ts +0 -11
- package/src/file/content-types/override/override.ts +0 -15
- package/src/file/core-properties/index.ts +0 -1
- package/src/file/core-properties/properties.spec.ts +0 -71
- package/src/file/core-properties/properties.ts +0 -116
- package/src/file/custom-properties/custom-properties-attributes.ts +0 -11
- package/src/file/custom-properties/custom-properties.spec.ts +0 -68
- package/src/file/custom-properties/custom-properties.ts +0 -39
- package/src/file/custom-properties/custom-property-attributes.ts +0 -13
- package/src/file/custom-properties/custom-property.ts +0 -28
- package/src/file/custom-properties/index.ts +0 -2
- package/src/file/document/body/body.spec.ts +0 -59
- package/src/file/document/body/body.ts +0 -50
- package/src/file/document/body/index.ts +0 -2
- package/src/file/document/body/section-properties/index.ts +0 -2
- package/src/file/document/body/section-properties/properties/column.ts +0 -24
- package/src/file/document/body/section-properties/properties/columns.spec.ts +0 -45
- package/src/file/document/body/section-properties/properties/columns.ts +0 -39
- package/src/file/document/body/section-properties/properties/doc-grid.spec.ts +0 -30
- package/src/file/document/body/section-properties/properties/doc-grid.ts +0 -52
- package/src/file/document/body/section-properties/properties/header-footer-reference.spec.ts +0 -56
- package/src/file/document/body/section-properties/properties/header-footer-reference.ts +0 -65
- package/src/file/document/body/section-properties/properties/index.ts +0 -13
- package/src/file/document/body/section-properties/properties/line-number.ts +0 -49
- package/src/file/document/body/section-properties/properties/page-borders.spec.ts +0 -93
- package/src/file/document/body/section-properties/properties/page-borders.ts +0 -106
- package/src/file/document/body/section-properties/properties/page-margin.ts +0 -46
- package/src/file/document/body/section-properties/properties/page-number.ts +0 -54
- package/src/file/document/body/section-properties/properties/page-size.spec.ts +0 -25
- package/src/file/document/body/section-properties/properties/page-size.ts +0 -44
- package/src/file/document/body/section-properties/properties/page-text-direction.spec.ts +0 -22
- package/src/file/document/body/section-properties/properties/page-text-direction.ts +0 -22
- package/src/file/document/body/section-properties/properties/section-type.spec.ts +0 -34
- package/src/file/document/body/section-properties/properties/section-type.ts +0 -37
- package/src/file/document/body/section-properties/section-properties.spec.ts +0 -279
- package/src/file/document/body/section-properties/section-properties.ts +0 -196
- package/src/file/document/document-attributes.ts +0 -89
- package/src/file/document/document-background/document-background.spec.ts +0 -51
- package/src/file/document/document-background/document-background.ts +0 -78
- package/src/file/document/document-background/index.ts +0 -1
- package/src/file/document/document.spec.ts +0 -67
- package/src/file/document/document.ts +0 -90
- package/src/file/document/index.ts +0 -4
- package/src/file/document-wrapper.spec.ts +0 -14
- package/src/file/document-wrapper.ts +0 -28
- package/src/file/drawing/anchor/anchor-attributes.ts +0 -26
- package/src/file/drawing/anchor/anchor.spec.ts +0 -609
- package/src/file/drawing/anchor/anchor.ts +0 -97
- package/src/file/drawing/anchor/index.ts +0 -2
- package/src/file/drawing/doc-properties/doc-properties-children.spec.ts +0 -61
- package/src/file/drawing/doc-properties/doc-properties-children.ts +0 -57
- package/src/file/drawing/doc-properties/doc-properties.ts +0 -67
- package/src/file/drawing/drawing.spec.ts +0 -708
- package/src/file/drawing/drawing.ts +0 -45
- package/src/file/drawing/effect-extent/effect-extent-attributes.ts +0 -15
- package/src/file/drawing/effect-extent/effect-extent.ts +0 -17
- package/src/file/drawing/extent/extent-attributes.ts +0 -11
- package/src/file/drawing/extent/extent.ts +0 -18
- package/src/file/drawing/floating/align.spec.ts +0 -17
- package/src/file/drawing/floating/align.ts +0 -10
- package/src/file/drawing/floating/floating-position.ts +0 -58
- package/src/file/drawing/floating/horizontal-position.spec.ts +0 -57
- package/src/file/drawing/floating/horizontal-position.ts +0 -33
- package/src/file/drawing/floating/index.ts +0 -4
- package/src/file/drawing/floating/position-offset.spec.ts +0 -16
- package/src/file/drawing/floating/position-offset.ts +0 -9
- package/src/file/drawing/floating/simple-pos.spec.ts +0 -21
- package/src/file/drawing/floating/simple-pos.ts +0 -26
- package/src/file/drawing/floating/vertical-position.spec.ts +0 -57
- package/src/file/drawing/floating/vertical-position.ts +0 -33
- package/src/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-lock-attributes.ts +0 -11
- package/src/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-locks.ts +0 -15
- package/src/file/drawing/graphic-frame/graphic-frame-properties.ts +0 -10
- package/src/file/drawing/index.ts +0 -3
- package/src/file/drawing/inline/graphic/graphic-data/graphic-data-attribute.ts +0 -9
- package/src/file/drawing/inline/graphic/graphic-data/graphic-data.ts +0 -23
- package/src/file/drawing/inline/graphic/graphic-data/index.ts +0 -1
- package/src/file/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts +0 -16
- package/src/file/drawing/inline/graphic/graphic-data/pic/blip/blip.ts +0 -24
- package/src/file/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.ts +0 -7
- package/src/file/drawing/inline/graphic/graphic-data/pic/blip/stretch.ts +0 -14
- package/src/file/drawing/inline/graphic/graphic-data/pic/index.ts +0 -1
- 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
- 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
- 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
- package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-pic-properties.ts +0 -12
- package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties-attributes.ts +0 -13
- package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties.ts +0 -46
- package/src/file/drawing/inline/graphic/graphic-data/pic/pic-attributes.ts +0 -9
- package/src/file/drawing/inline/graphic/graphic-data/pic/pic.ts +0 -24
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents-attributes.ts +0 -11
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents.ts +0 -18
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/form.ts +0 -40
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/index.ts +0 -1
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off-attributes.ts +0 -11
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off.ts +0 -16
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form.spec.ts +0 -93
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.spec.ts +0 -16
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.ts +0 -7
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.spec.ts +0 -19
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.ts +0 -11
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/adjustment-values/adjustment-values.ts +0 -8
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry-attributes.ts +0 -9
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry.ts +0 -18
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties-attributes.ts +0 -9
- package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties.ts +0 -29
- package/src/file/drawing/inline/graphic/graphic.ts +0 -29
- package/src/file/drawing/inline/graphic/index.ts +0 -1
- package/src/file/drawing/inline/index.ts +0 -1
- package/src/file/drawing/inline/inline-attributes.ts +0 -12
- package/src/file/drawing/inline/inline.ts +0 -56
- package/src/file/drawing/text-wrap/index.ts +0 -5
- package/src/file/drawing/text-wrap/text-wrapping.ts +0 -22
- package/src/file/drawing/text-wrap/wrap-none.ts +0 -8
- package/src/file/drawing/text-wrap/wrap-square.ts +0 -44
- package/src/file/drawing/text-wrap/wrap-tight.ts +0 -32
- package/src/file/drawing/text-wrap/wrap-top-and-bottom.ts +0 -32
- package/src/file/file-child.ts +0 -5
- package/src/file/file.spec.ts +0 -445
- package/src/file/file.ts +0 -288
- package/src/file/footer/footer-attributes.ts +0 -51
- package/src/file/footer/footer.spec.ts +0 -47
- package/src/file/footer/footer.ts +0 -44
- package/src/file/footer/index.ts +0 -1
- package/src/file/footer-wrapper.spec.ts +0 -58
- package/src/file/footer-wrapper.ts +0 -44
- package/src/file/footnotes/footnote/footnote-attributes.ts +0 -11
- package/src/file/footnotes/footnote/footnote.spec.ts +0 -162
- package/src/file/footnotes/footnote/footnote.ts +0 -38
- package/src/file/footnotes/footnote/index.ts +0 -1
- package/src/file/footnotes/footnote/run/continuation-seperator-run.ts +0 -10
- package/src/file/footnotes/footnote/run/continuation-seperator.ts +0 -7
- package/src/file/footnotes/footnote/run/footnote-ref-run.ts +0 -13
- package/src/file/footnotes/footnote/run/footnote-ref.ts +0 -7
- package/src/file/footnotes/footnote/run/index.ts +0 -1
- package/src/file/footnotes/footnote/run/reference-run.ts +0 -30
- package/src/file/footnotes/footnote/run/seperator-run.ts +0 -10
- package/src/file/footnotes/footnote/run/seperator.ts +0 -7
- package/src/file/footnotes/footnotes-attributes.ts +0 -41
- package/src/file/footnotes/footnotes.ts +0 -78
- package/src/file/footnotes/index.ts +0 -2
- package/src/file/footnotes-wrapper.spec.ts +0 -14
- package/src/file/footnotes-wrapper.ts +0 -21
- package/src/file/header/header-attributes.ts +0 -73
- package/src/file/header/header.spec.ts +0 -58
- package/src/file/header/header.ts +0 -56
- package/src/file/header/index.ts +0 -1
- package/src/file/header-wrapper.spec.ts +0 -58
- package/src/file/header-wrapper.ts +0 -46
- package/src/file/header.ts +0 -22
- package/src/file/index.ts +0 -19
- package/src/file/media/data.ts +0 -27
- package/src/file/media/index.ts +0 -2
- package/src/file/media/media.spec.ts +0 -65
- package/src/file/media/media.ts +0 -28
- package/src/file/numbering/abstract-numbering.spec.ts +0 -2692
- package/src/file/numbering/abstract-numbering.ts +0 -50
- package/src/file/numbering/concrete-numbering.spec.ts +0 -304
- package/src/file/numbering/index.ts +0 -4
- package/src/file/numbering/level.spec.ts +0 -62
- package/src/file/numbering/level.ts +0 -325
- package/src/file/numbering/multi-level-type.ts +0 -26
- package/src/file/numbering/num.ts +0 -96
- package/src/file/numbering/numbering.spec.ts +0 -138
- package/src/file/numbering/numbering.ts +0 -237
- package/src/file/paragraph/formatting/alignment.spec.ts +0 -19
- package/src/file/paragraph/formatting/alignment.ts +0 -60
- package/src/file/paragraph/formatting/border.spec.ts +0 -119
- package/src/file/paragraph/formatting/border.ts +0 -45
- package/src/file/paragraph/formatting/break.spec.ts +0 -65
- package/src/file/paragraph/formatting/break.ts +0 -43
- package/src/file/paragraph/formatting/indent.spec.ts +0 -42
- package/src/file/paragraph/formatting/indent.ts +0 -71
- package/src/file/paragraph/formatting/index.ts +0 -8
- package/src/file/paragraph/formatting/spacing.spec.ts +0 -25
- package/src/file/paragraph/formatting/spacing.ts +0 -33
- package/src/file/paragraph/formatting/style.spec.ts +0 -35
- package/src/file/paragraph/formatting/style.ts +0 -22
- package/src/file/paragraph/formatting/tab-stop.spec.ts +0 -54
- package/src/file/paragraph/formatting/tab-stop.ts +0 -63
- package/src/file/paragraph/formatting/unordered-list.spec.ts +0 -37
- package/src/file/paragraph/formatting/unordered-list.ts +0 -38
- package/src/file/paragraph/formatting/width.ts +0 -0
- package/src/file/paragraph/formatting/word-wrap.spec.ts +0 -20
- package/src/file/paragraph/formatting/word-wrap.ts +0 -14
- package/src/file/paragraph/frame/frame-properties.spec.ts +0 -156
- package/src/file/paragraph/frame/frame-properties.ts +0 -122
- package/src/file/paragraph/frame/index.ts +0 -1
- package/src/file/paragraph/index.ts +0 -7
- package/src/file/paragraph/links/bookmark-attributes.ts +0 -19
- package/src/file/paragraph/links/bookmark.spec.ts +0 -41
- package/src/file/paragraph/links/bookmark.ts +0 -75
- package/src/file/paragraph/links/hyperlink-attributes.ts +0 -15
- package/src/file/paragraph/links/hyperlink.spec.ts +0 -130
- package/src/file/paragraph/links/hyperlink.ts +0 -45
- package/src/file/paragraph/links/index.ts +0 -4
- package/src/file/paragraph/links/outline-level.spec.ts +0 -23
- package/src/file/paragraph/links/outline-level.ts +0 -14
- package/src/file/paragraph/links/pageref-field-instruction.spec.ts +0 -24
- package/src/file/paragraph/links/pageref-field-instruction.ts +0 -23
- package/src/file/paragraph/links/pageref-properties.ts +0 -16
- package/src/file/paragraph/links/pageref.spec.ts +0 -76
- package/src/file/paragraph/links/pageref.ts +0 -13
- package/src/file/paragraph/math/brackets/index.ts +0 -4
- package/src/file/paragraph/math/brackets/math-angled-brackets.spec.ts +0 -51
- package/src/file/paragraph/math/brackets/math-angled-brackets.ts +0 -20
- package/src/file/paragraph/math/brackets/math-beginning-character.spec.ts +0 -22
- package/src/file/paragraph/math/brackets/math-beginning-character.ts +0 -14
- package/src/file/paragraph/math/brackets/math-bracket-properties.spec.ts +0 -45
- package/src/file/paragraph/math/brackets/math-bracket-properties.ts +0 -16
- package/src/file/paragraph/math/brackets/math-curly-brackets.spec.ts +0 -51
- package/src/file/paragraph/math/brackets/math-curly-brackets.ts +0 -20
- package/src/file/paragraph/math/brackets/math-ending-char.ts +0 -14
- package/src/file/paragraph/math/brackets/math-ending-character.spec.ts +0 -22
- package/src/file/paragraph/math/brackets/math-round-brackets.spec.ts +0 -36
- package/src/file/paragraph/math/brackets/math-round-brackets.ts +0 -15
- package/src/file/paragraph/math/brackets/math-square-brackets.spec.ts +0 -51
- package/src/file/paragraph/math/brackets/math-square-brackets.ts +0 -20
- package/src/file/paragraph/math/fraction/index.ts +0 -3
- package/src/file/paragraph/math/fraction/math-denominator.spec.ts +0 -26
- package/src/file/paragraph/math/fraction/math-denominator.ts +0 -13
- package/src/file/paragraph/math/fraction/math-fraction.spec.ts +0 -44
- package/src/file/paragraph/math/fraction/math-fraction.ts +0 -19
- package/src/file/paragraph/math/fraction/math-numerator.spec.ts +0 -26
- package/src/file/paragraph/math/fraction/math-numerator.ts +0 -13
- package/src/file/paragraph/math/function/index.ts +0 -3
- package/src/file/paragraph/math/function/math-function-name.spec.ts +0 -27
- package/src/file/paragraph/math/function/math-function-name.ts +0 -13
- package/src/file/paragraph/math/function/math-function-properties.spec.ts +0 -18
- package/src/file/paragraph/math/function/math-function-properties.ts +0 -8
- package/src/file/paragraph/math/function/math-function.spec.ts +0 -48
- package/src/file/paragraph/math/function/math-function.ts +0 -22
- package/src/file/paragraph/math/index.ts +0 -9
- package/src/file/paragraph/math/math-component.ts +0 -28
- package/src/file/paragraph/math/math-run.spec.ts +0 -21
- package/src/file/paragraph/math/math-run.ts +0 -12
- package/src/file/paragraph/math/math-text.spec.ts +0 -17
- package/src/file/paragraph/math/math-text.ts +0 -9
- package/src/file/paragraph/math/math.spec.ts +0 -38
- package/src/file/paragraph/math/math.ts +0 -18
- package/src/file/paragraph/math/n-ary/index.ts +0 -8
- package/src/file/paragraph/math/n-ary/math-accent-character.spec.ts +0 -22
- package/src/file/paragraph/math/n-ary/math-accent-character.ts +0 -14
- package/src/file/paragraph/math/n-ary/math-base.spec.ts +0 -27
- package/src/file/paragraph/math/n-ary/math-base.ts +0 -14
- package/src/file/paragraph/math/n-ary/math-integral.spec.ts +0 -116
- package/src/file/paragraph/math/n-ary/math-integral.ts +0 -31
- package/src/file/paragraph/math/n-ary/math-limit-location.spec.ts +0 -22
- package/src/file/paragraph/math/n-ary/math-limit-location.ts +0 -14
- package/src/file/paragraph/math/n-ary/math-n-ary-properties.spec.ts +0 -133
- package/src/file/paragraph/math/n-ary/math-n-ary-properties.ts +0 -26
- package/src/file/paragraph/math/n-ary/math-sub-script-hide.spec.ts +0 -22
- package/src/file/paragraph/math/n-ary/math-sub-script-hide.ts +0 -14
- package/src/file/paragraph/math/n-ary/math-sub-script.spec.ts +0 -27
- package/src/file/paragraph/math/n-ary/math-sub-script.ts +0 -14
- package/src/file/paragraph/math/n-ary/math-sum.spec.ts +0 -130
- package/src/file/paragraph/math/n-ary/math-sum.ts +0 -32
- package/src/file/paragraph/math/n-ary/math-super-script-hide.spec.ts +0 -22
- package/src/file/paragraph/math/n-ary/math-super-script-hide.ts +0 -14
- package/src/file/paragraph/math/n-ary/math-super-script.spec.ts +0 -27
- package/src/file/paragraph/math/n-ary/math-super-script.ts +0 -14
- package/src/file/paragraph/math/radical/index.ts +0 -3
- package/src/file/paragraph/math/radical/math-degree-hide.spec.ts +0 -22
- package/src/file/paragraph/math/radical/math-degree-hide.ts +0 -14
- package/src/file/paragraph/math/radical/math-degree.spec.ts +0 -36
- package/src/file/paragraph/math/radical/math-degree.ts +0 -15
- package/src/file/paragraph/math/radical/math-radical-properties.spec.ts +0 -35
- package/src/file/paragraph/math/radical/math-radical-properties.ts +0 -13
- package/src/file/paragraph/math/radical/math-radical.spec.ts +0 -48
- package/src/file/paragraph/math/radical/math-radical.ts +0 -22
- package/src/file/paragraph/math/script/index.ts +0 -4
- package/src/file/paragraph/math/script/pre-sub-super-script/index.ts +0 -2
- package/src/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.spec.ts +0 -17
- package/src/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.ts +0 -8
- package/src/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.spec.ts +0 -60
- package/src/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.ts +0 -23
- package/src/file/paragraph/math/script/sub-script/index.ts +0 -2
- package/src/file/paragraph/math/script/sub-script/math-sub-script-function-properties.spec.ts +0 -17
- package/src/file/paragraph/math/script/sub-script/math-sub-script-function-properties.ts +0 -8
- package/src/file/paragraph/math/script/sub-script/math-sub-script-function.spec.ts +0 -48
- package/src/file/paragraph/math/script/sub-script/math-sub-script-function.ts +0 -21
- package/src/file/paragraph/math/script/sub-super-script/index.ts +0 -2
- package/src/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.spec.ts +0 -17
- package/src/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.ts +0 -8
- package/src/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.spec.ts +0 -60
- package/src/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.ts +0 -23
- package/src/file/paragraph/math/script/super-script/index.ts +0 -2
- package/src/file/paragraph/math/script/super-script/math-super-script-function-properties.spec.ts +0 -17
- package/src/file/paragraph/math/script/super-script/math-super-script-function-properties.ts +0 -8
- package/src/file/paragraph/math/script/super-script/math-super-script-function.spec.ts +0 -48
- package/src/file/paragraph/math/script/super-script/math-super-script-function.ts +0 -21
- package/src/file/paragraph/paragraph.spec.ts +0 -990
- package/src/file/paragraph/paragraph.ts +0 -102
- package/src/file/paragraph/properties.spec.ts +0 -162
- package/src/file/paragraph/properties.ts +0 -206
- package/src/file/paragraph/run/break.spec.ts +0 -22
- package/src/file/paragraph/run/break.ts +0 -32
- package/src/file/paragraph/run/comment-run.spec.ts +0 -195
- package/src/file/paragraph/run/comment-run.ts +0 -182
- package/src/file/paragraph/run/emphasis-mark.spec.ts +0 -29
- package/src/file/paragraph/run/emphasis-mark.ts +0 -28
- package/src/file/paragraph/run/empty-children.spec.ts +0 -229
- package/src/file/paragraph/run/empty-children.ts +0 -127
- package/src/file/paragraph/run/field.ts +0 -32
- package/src/file/paragraph/run/formatting.spec.ts +0 -39
- package/src/file/paragraph/run/formatting.ts +0 -73
- package/src/file/paragraph/run/image-run.spec.ts +0 -1045
- package/src/file/paragraph/run/image-run.ts +0 -73
- package/src/file/paragraph/run/index.ts +0 -13
- package/src/file/paragraph/run/language.spec.ts +0 -29
- package/src/file/paragraph/run/language.ts +0 -35
- package/src/file/paragraph/run/page-number.spec.ts +0 -32
- package/src/file/paragraph/run/page-number.ts +0 -28
- package/src/file/paragraph/run/positional-tab.spec.ts +0 -27
- package/src/file/paragraph/run/positional-tab.ts +0 -80
- package/src/file/paragraph/run/properties.ts +0 -304
- package/src/file/paragraph/run/run-components/symbol.spec.ts +0 -28
- package/src/file/paragraph/run/run-components/symbol.ts +0 -18
- package/src/file/paragraph/run/run-components/text.spec.ts +0 -39
- package/src/file/paragraph/run/run-components/text.ts +0 -33
- package/src/file/paragraph/run/run-fonts.spec.ts +0 -32
- package/src/file/paragraph/run/run-fonts.ts +0 -44
- package/src/file/paragraph/run/run.spec.ts +0 -727
- package/src/file/paragraph/run/run.ts +0 -156
- package/src/file/paragraph/run/script.spec.ts +0 -51
- package/src/file/paragraph/run/script.ts +0 -24
- package/src/file/paragraph/run/sequential-identifier-instruction.ts +0 -13
- package/src/file/paragraph/run/sequential-identifier.spec.ts +0 -52
- package/src/file/paragraph/run/sequential-identifier.ts +0 -13
- package/src/file/paragraph/run/simple-field.spec.ts +0 -38
- package/src/file/paragraph/run/simple-field.ts +0 -23
- package/src/file/paragraph/run/symbol-run.spec.ts +0 -80
- package/src/file/paragraph/run/symbol-run.ts +0 -20
- package/src/file/paragraph/run/text-attributes.ts +0 -6
- package/src/file/paragraph/run/text-run.spec.ts +0 -41
- package/src/file/paragraph/run/text-run.ts +0 -14
- package/src/file/paragraph/run/underline.spec.ts +0 -37
- package/src/file/paragraph/run/underline.ts +0 -35
- package/src/file/relationships/attributes.ts +0 -9
- package/src/file/relationships/index.ts +0 -1
- package/src/file/relationships/relationship/relationship-attributes.ts +0 -15
- package/src/file/relationships/relationship/relationship.ts +0 -39
- package/src/file/relationships/relationships.spec.ts +0 -19
- package/src/file/relationships/relationships.ts +0 -25
- package/src/file/settings/compatibility-setting/compatibility-setting.spec.ts +0 -24
- package/src/file/settings/compatibility-setting/compatibility-setting.ts +0 -39
- package/src/file/settings/compatibility.spec.ts +0 -754
- package/src/file/settings/compatibility.ts +0 -479
- package/src/file/settings/index.ts +0 -1
- package/src/file/settings/settings.spec.ts +0 -140
- package/src/file/settings/settings.ts +0 -208
- package/src/file/shading/index.ts +0 -1
- package/src/file/shading/shading.spec.ts +0 -33
- package/src/file/shading/shading.ts +0 -88
- package/src/file/shared/alignment.ts +0 -15
- package/src/file/shared/index.ts +0 -3
- package/src/file/shared/number-format.ts +0 -133
- package/src/file/shared/space-type.ts +0 -4
- package/src/file/styles/defaults/document-defaults.spec.ts +0 -45
- package/src/file/styles/defaults/document-defaults.ts +0 -25
- package/src/file/styles/defaults/index.ts +0 -3
- package/src/file/styles/defaults/paragraph-properties.ts +0 -9
- package/src/file/styles/defaults/run-properties.ts +0 -10
- package/src/file/styles/external-styles-factory.spec.ts +0 -251
- package/src/file/styles/external-styles-factory.ts +0 -51
- package/src/file/styles/factory.ts +0 -114
- package/src/file/styles/index.ts +0 -4
- package/src/file/styles/latent-styles/exceptions.spec.ts +0 -32
- package/src/file/styles/latent-styles/exceptions.ts +0 -26
- package/src/file/styles/latent-styles/index.ts +0 -1
- package/src/file/styles/latent-styles/latent-styles.spec.ts +0 -34
- package/src/file/styles/latent-styles/latent-styles.ts +0 -12
- package/src/file/styles/sample/default-style.spec.ts +0 -12
- package/src/file/styles/sample/default-style.ts +0 -217
- package/src/file/styles/sample/index.ts +0 -1
- package/src/file/styles/style/character-style.spec.ts +0 -824
- package/src/file/styles/style/character-style.ts +0 -30
- package/src/file/styles/style/components.spec.ts +0 -19
- package/src/file/styles/style/components.ts +0 -27
- package/src/file/styles/style/default-styles.spec.ts +0 -321
- package/src/file/styles/style/default-styles.ts +0 -182
- package/src/file/styles/style/index.ts +0 -4
- package/src/file/styles/style/paragraph-style.spec.ts +0 -865
- package/src/file/styles/style/paragraph-style.ts +0 -28
- package/src/file/styles/style/style.spec.ts +0 -41
- package/src/file/styles/style/style.ts +0 -98
- package/src/file/styles/styles.spec.ts +0 -106
- package/src/file/styles/styles.ts +0 -48
- package/src/file/table/grid.spec.ts +0 -40
- package/src/file/table/grid.ts +0 -35
- package/src/file/table/index.ts +0 -5
- package/src/file/table/table-cell/index.ts +0 -2
- package/src/file/table/table-cell/table-cell-components.ts +0 -136
- package/src/file/table/table-cell/table-cell-properties.spec.ts +0 -114
- package/src/file/table/table-cell/table-cell-properties.ts +0 -68
- package/src/file/table/table-cell/table-cell.spec.ts +0 -650
- package/src/file/table/table-cell/table-cell.ts +0 -30
- package/src/file/table/table-properties/index.ts +0 -4
- package/src/file/table/table-properties/table-borders.spec.ts +0 -574
- package/src/file/table/table-properties/table-borders.ts +0 -75
- package/src/file/table/table-properties/table-cell-margin.spec.ts +0 -97
- package/src/file/table/table-properties/table-cell-margin.ts +0 -64
- package/src/file/table/table-properties/table-float-properties.spec.ts +0 -71
- package/src/file/table/table-properties/table-float-properties.ts +0 -203
- package/src/file/table/table-properties/table-layout.ts +0 -26
- package/src/file/table/table-properties/table-properties.spec.ts +0 -189
- package/src/file/table/table-properties/table-properties.ts +0 -91
- package/src/file/table/table-row/index.ts +0 -3
- package/src/file/table/table-row/table-row-height.ts +0 -43
- package/src/file/table/table-row/table-row-properties.spec.ts +0 -64
- package/src/file/table/table-row/table-row-properties.ts +0 -60
- package/src/file/table/table-row/table-row.spec.ts +0 -266
- package/src/file/table/table-row/table-row.ts +0 -75
- package/src/file/table/table-width.ts +0 -49
- package/src/file/table/table.spec.ts +0 -499
- package/src/file/table/table.ts +0 -98
- package/src/file/table-of-contents/field-instruction.ts +0 -70
- package/src/file/table-of-contents/index.ts +0 -2
- package/src/file/table-of-contents/sdt-content.ts +0 -7
- package/src/file/table-of-contents/sdt-properties.ts +0 -9
- package/src/file/table-of-contents/table-of-contents-properties.ts +0 -122
- package/src/file/table-of-contents/table-of-contents.spec.ts +0 -179
- package/src/file/table-of-contents/table-of-contents.ts +0 -41
- package/src/file/track-revision/index.ts +0 -2
- package/src/file/track-revision/track-revision-components/deleted-page-number.spec.ts +0 -32
- package/src/file/track-revision/track-revision-components/deleted-page-number.ts +0 -27
- package/src/file/track-revision/track-revision-components/deleted-text-run.spec.ts +0 -367
- package/src/file/track-revision/track-revision-components/deleted-text-run.ts +0 -76
- package/src/file/track-revision/track-revision-components/deleted-text.spec.ts +0 -17
- package/src/file/track-revision/track-revision-components/deleted-text.ts +0 -12
- package/src/file/track-revision/track-revision-components/inserted-text-run.spec.ts +0 -39
- package/src/file/track-revision/track-revision-components/inserted-text-run.ts +0 -20
- package/src/file/track-revision/track-revision.ts +0 -15
- package/src/file/vertical-align/index.ts +0 -1
- package/src/file/vertical-align/vertical-align.ts +0 -32
- package/src/file/xml-components/attribute.spec.ts +0 -25
- package/src/file/xml-components/attributes.ts +0 -47
- package/src/file/xml-components/base.ts +0 -20
- package/src/file/xml-components/default-attributes.ts +0 -41
- package/src/file/xml-components/imported-xml-component.spec.ts +0 -118
- package/src/file/xml-components/imported-xml-component.ts +0 -86
- package/src/file/xml-components/index.ts +0 -8
- package/src/file/xml-components/initializable-xml-component.ts +0 -11
- package/src/file/xml-components/simple-elements.spec.ts +0 -41
- package/src/file/xml-components/simple-elements.ts +0 -98
- package/src/file/xml-components/xml-component.spec.ts +0 -62
- package/src/file/xml-components/xml-component.ts +0 -63
- package/src/file/xml-components/xmlable-object.ts +0 -12
- package/src/index.spec.ts +0 -15
- package/src/index.ts +0 -7
- package/src/patcher/content-types-manager.spec.ts +0 -51
- package/src/patcher/content-types-manager.ts +0 -16
- package/src/patcher/from-docx.spec.ts +0 -370
- package/src/patcher/from-docx.ts +0 -233
- package/src/patcher/index.ts +0 -1
- package/src/patcher/paragraph-split-inject.spec.ts +0 -224
- package/src/patcher/paragraph-split-inject.ts +0 -54
- package/src/patcher/paragraph-token-replacer.spec.ts +0 -165
- package/src/patcher/paragraph-token-replacer.ts +0 -69
- package/src/patcher/relationship-manager.spec.ts +0 -87
- package/src/patcher/relationship-manager.ts +0 -42
- package/src/patcher/replacer.spec.ts +0 -206
- package/src/patcher/replacer.ts +0 -83
- package/src/patcher/run-renderer.spec.ts +0 -96
- package/src/patcher/run-renderer.ts +0 -109
- package/src/patcher/traverser.spec.ts +0 -599
- package/src/patcher/traverser.ts +0 -45
- package/src/patcher/util.spec.ts +0 -50
- package/src/patcher/util.ts +0 -30
- package/src/tests/utility.ts +0 -7
- package/src/util/convenience-functions.spec.ts +0 -31
- package/src/util/convenience-functions.ts +0 -12
- package/src/util/index.ts +0 -2
- package/src/util/values.spec.ts +0 -172
- package/src/util/values.ts +0 -219
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { BaseXmlComponent, IContext } from "./base";
|
|
2
|
-
import { IXmlableObject, IXmlAttribute } from "./xmlable-object";
|
|
3
|
-
|
|
4
|
-
export type AttributeMap<T> = { readonly [P in keyof T]: string };
|
|
5
|
-
|
|
6
|
-
export type AttributeData = { readonly [key: string]: boolean | number | string };
|
|
7
|
-
export type AttributePayload<T> = { readonly [P in keyof T]: { readonly key: string; readonly value: T[P] } };
|
|
8
|
-
|
|
9
|
-
export abstract class XmlAttributeComponent<T extends object> extends BaseXmlComponent {
|
|
10
|
-
protected readonly xmlKeys?: AttributeMap<T>;
|
|
11
|
-
|
|
12
|
-
public constructor(private readonly root: T) {
|
|
13
|
-
super("_attr");
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
public prepForXml(_: IContext): IXmlableObject {
|
|
17
|
-
const attrs = {};
|
|
18
|
-
Object.keys(this.root).forEach((key) => {
|
|
19
|
-
const value = this.root[key];
|
|
20
|
-
if (value !== undefined) {
|
|
21
|
-
const newKey = (this.xmlKeys && this.xmlKeys[key]) || key;
|
|
22
|
-
// eslint-disable-next-line functional/immutable-data
|
|
23
|
-
attrs[newKey] = value;
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
return { _attr: attrs };
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export class NextAttributeComponent<T extends AttributeData> extends BaseXmlComponent {
|
|
31
|
-
public constructor(private readonly root: AttributePayload<T>) {
|
|
32
|
-
super("_attr");
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
public prepForXml(_: IContext): IXmlableObject {
|
|
36
|
-
const attrs = Object.values<{ readonly key: string; readonly value: string | boolean | number }>(this.root)
|
|
37
|
-
.filter(({ value }) => value !== undefined)
|
|
38
|
-
.reduce((acc, { key, value }) => ({ ...acc, [key]: value }), {} as IXmlAttribute);
|
|
39
|
-
return { _attr: attrs };
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { expect } from "chai";
|
|
2
|
-
import { Element, xml2js } from "xml-js";
|
|
3
|
-
|
|
4
|
-
import { EMPTY_OBJECT } from "@file/xml-components";
|
|
5
|
-
|
|
6
|
-
import { convertToXmlComponent, ImportedRootElementAttributes, ImportedXmlComponent } from "./imported-xml-component";
|
|
7
|
-
import { IContext } from "./base";
|
|
8
|
-
|
|
9
|
-
const xmlString = `
|
|
10
|
-
<w:p w:one="value 1" w:two="value 2">
|
|
11
|
-
<w:rPr>
|
|
12
|
-
<w:noProof>some value</w:noProof>
|
|
13
|
-
</w:rPr>
|
|
14
|
-
<w:r active="true">
|
|
15
|
-
<w:t>Text 1</w:t>
|
|
16
|
-
</w:r>
|
|
17
|
-
<w:r active="true">
|
|
18
|
-
<w:t>Text 2</w:t>
|
|
19
|
-
</w:r>
|
|
20
|
-
</w:p>
|
|
21
|
-
`;
|
|
22
|
-
|
|
23
|
-
const convertedXmlElement = {
|
|
24
|
-
root: [
|
|
25
|
-
{
|
|
26
|
-
rootKey: "w:p",
|
|
27
|
-
root: [
|
|
28
|
-
{ rootKey: "_attr", root: { "w:one": "value 1", "w:two": "value 2" } },
|
|
29
|
-
{ rootKey: "w:rPr", root: [{ rootKey: "w:noProof", root: ["some value"] }] },
|
|
30
|
-
{
|
|
31
|
-
rootKey: "w:r",
|
|
32
|
-
root: [
|
|
33
|
-
{ rootKey: "_attr", root: { active: "true" } },
|
|
34
|
-
{ rootKey: "w:t", root: ["Text 1"] },
|
|
35
|
-
],
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
rootKey: "w:r",
|
|
39
|
-
root: [
|
|
40
|
-
{ rootKey: "_attr", root: { active: "true" } },
|
|
41
|
-
{ rootKey: "w:t", root: ["Text 2"] },
|
|
42
|
-
],
|
|
43
|
-
},
|
|
44
|
-
],
|
|
45
|
-
},
|
|
46
|
-
],
|
|
47
|
-
rootKey: undefined,
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
describe("ImportedXmlComponent", () => {
|
|
51
|
-
let importedXmlComponent: ImportedXmlComponent;
|
|
52
|
-
|
|
53
|
-
beforeEach(() => {
|
|
54
|
-
const attributes = {
|
|
55
|
-
someAttr: "1",
|
|
56
|
-
otherAttr: "2",
|
|
57
|
-
};
|
|
58
|
-
importedXmlComponent = new ImportedXmlComponent("w:test", attributes);
|
|
59
|
-
importedXmlComponent.push(new ImportedXmlComponent("w:child"));
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
describe("#prepForXml()", () => {
|
|
63
|
-
it("should transform for xml", () => {
|
|
64
|
-
// tslint:disable-next-line: no-object-literal-type-assertion
|
|
65
|
-
const converted = importedXmlComponent.prepForXml({ stack: [] } as unknown as IContext);
|
|
66
|
-
expect(converted).to.deep.equal({
|
|
67
|
-
"w:test": [
|
|
68
|
-
{
|
|
69
|
-
_attr: {
|
|
70
|
-
someAttr: "1",
|
|
71
|
-
otherAttr: "2",
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"w:child": EMPTY_OBJECT,
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it("should create XmlComponent from xml string", () => {
|
|
83
|
-
const converted = ImportedXmlComponent.fromXmlString(xmlString);
|
|
84
|
-
expect(converted).to.deep.equal(convertedXmlElement);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
describe("convertToXmlComponent", () => {
|
|
88
|
-
it("should convert to xml component", () => {
|
|
89
|
-
const xmlObj = xml2js(xmlString, { compact: false }) as Element;
|
|
90
|
-
const converted = convertToXmlComponent(xmlObj);
|
|
91
|
-
expect(converted).to.deep.equal(convertedXmlElement);
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
it("should return undefined if xml type is invalid", () => {
|
|
95
|
-
const xmlObj = { type: "invalid" } as Element;
|
|
96
|
-
const converted = convertToXmlComponent(xmlObj);
|
|
97
|
-
expect(converted).to.equal(undefined);
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
describe("ImportedRootElementAttributes", () => {
|
|
103
|
-
let attributes: ImportedRootElementAttributes;
|
|
104
|
-
|
|
105
|
-
beforeEach(() => {
|
|
106
|
-
attributes = new ImportedRootElementAttributes({});
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
describe("#prepForXml()", () => {
|
|
110
|
-
it("should work", () => {
|
|
111
|
-
// tslint:disable-next-line: no-object-literal-type-assertion
|
|
112
|
-
const converted = attributes.prepForXml({} as IContext);
|
|
113
|
-
expect(converted).to.deep.equal({
|
|
114
|
-
_attr: {},
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
});
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Element as XmlElement, xml2js } from "xml-js";
|
|
2
|
-
|
|
3
|
-
import { IXmlableObject, XmlAttributeComponent, XmlComponent } from "@file/xml-components";
|
|
4
|
-
|
|
5
|
-
import { IContext } from "./base";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Converts the given xml element (in json format) into XmlComponent.
|
|
9
|
-
*
|
|
10
|
-
* @param element the xml element in json presentation
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
export const convertToXmlComponent = (element: XmlElement): ImportedXmlComponent | string | undefined => {
|
|
14
|
-
switch (element.type) {
|
|
15
|
-
case undefined:
|
|
16
|
-
case "element":
|
|
17
|
-
// eslint-disable-next-line no-case-declarations
|
|
18
|
-
const xmlComponent = new ImportedXmlComponent(element.name as string, element.attributes);
|
|
19
|
-
// eslint-disable-next-line no-case-declarations
|
|
20
|
-
const childElements = element.elements || [];
|
|
21
|
-
for (const childElm of childElements) {
|
|
22
|
-
const child = convertToXmlComponent(childElm);
|
|
23
|
-
if (child !== undefined) {
|
|
24
|
-
xmlComponent.push(child);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return xmlComponent;
|
|
28
|
-
case "text":
|
|
29
|
-
return element.text as string;
|
|
30
|
-
default:
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
-
class ImportedXmlComponentAttributes extends XmlAttributeComponent<any> {
|
|
37
|
-
// noop
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Represents imported xml component from xml file.
|
|
42
|
-
*/
|
|
43
|
-
export class ImportedXmlComponent extends XmlComponent {
|
|
44
|
-
/**
|
|
45
|
-
* Converts the xml string to a XmlComponent tree.
|
|
46
|
-
*
|
|
47
|
-
* @param importedContent xml content of the imported component
|
|
48
|
-
*/
|
|
49
|
-
public static fromXmlString(importedContent: string): ImportedXmlComponent {
|
|
50
|
-
const xmlObj = xml2js(importedContent, { compact: false }) as XmlElement;
|
|
51
|
-
return convertToXmlComponent(xmlObj) as ImportedXmlComponent;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Converts the xml string to a XmlComponent tree.
|
|
55
|
-
*
|
|
56
|
-
* @param importedContent xml content of the imported component
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
|
-
public constructor(rootKey: string, _attr?: any) {
|
|
61
|
-
super(rootKey);
|
|
62
|
-
if (_attr) {
|
|
63
|
-
this.root.push(new ImportedXmlComponentAttributes(_attr));
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
public push(xmlComponent: XmlComponent | string): void {
|
|
68
|
-
this.root.push(xmlComponent);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Used for the attributes of root element that is being imported.
|
|
74
|
-
*/
|
|
75
|
-
export class ImportedRootElementAttributes extends XmlComponent {
|
|
76
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
|
-
public constructor(private readonly _attr: any) {
|
|
78
|
-
super("");
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
public prepForXml(_: IContext): IXmlableObject {
|
|
82
|
-
return {
|
|
83
|
-
_attr: this._attr,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from "./xml-component";
|
|
2
|
-
export * from "./attributes";
|
|
3
|
-
export * from "./default-attributes";
|
|
4
|
-
export * from "./imported-xml-component";
|
|
5
|
-
export * from "./xmlable-object";
|
|
6
|
-
export * from "./initializable-xml-component";
|
|
7
|
-
export * from "./simple-elements";
|
|
8
|
-
export * from "./base";
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { XmlComponent } from "@file/xml-components";
|
|
2
|
-
|
|
3
|
-
export abstract class InitializableXmlComponent extends XmlComponent {
|
|
4
|
-
public constructor(rootKey: string, initComponent?: InitializableXmlComponent) {
|
|
5
|
-
super(rootKey);
|
|
6
|
-
|
|
7
|
-
if (initComponent) {
|
|
8
|
-
this.root = initComponent.root;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { expect } from "chai";
|
|
2
|
-
|
|
3
|
-
import { Formatter } from "@export/formatter";
|
|
4
|
-
|
|
5
|
-
import { BuilderElement } from "./simple-elements";
|
|
6
|
-
|
|
7
|
-
describe("BuilderElement", () => {
|
|
8
|
-
describe("#constructor()", () => {
|
|
9
|
-
it("should create a simple BuilderElement", () => {
|
|
10
|
-
const element = new BuilderElement({
|
|
11
|
-
name: "test",
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
const tree = new Formatter().format(element);
|
|
15
|
-
expect(tree).to.deep.equal({
|
|
16
|
-
test: {},
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it("should create a simple BuilderElement with attributes", () => {
|
|
21
|
-
const element = new BuilderElement<{ readonly testAttr: string }>({
|
|
22
|
-
name: "test",
|
|
23
|
-
attributes: {
|
|
24
|
-
testAttr: {
|
|
25
|
-
key: "w:testAttr",
|
|
26
|
-
value: "test",
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
const tree = new Formatter().format(element);
|
|
32
|
-
expect(tree).to.deep.equal({
|
|
33
|
-
test: {
|
|
34
|
-
_attr: {
|
|
35
|
-
"w:testAttr": "test",
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { AttributeData, AttributePayload, Attributes, NextAttributeComponent, XmlComponent } from "@file/xml-components";
|
|
2
|
-
|
|
3
|
-
import { hpsMeasureValue, PositiveUniversalMeasure } from "@util/values";
|
|
4
|
-
|
|
5
|
-
// This represents element type CT_OnOff, which indicate a boolean value.
|
|
6
|
-
//
|
|
7
|
-
// A value of 1 or true specifies that the property shall be explicitly applied.
|
|
8
|
-
// This is the default value for this attribute, and is implied when the parent
|
|
9
|
-
// element is present, but this attribute is omitted.
|
|
10
|
-
// A value of 0 or false specifies that the property shall be explicitly turned off.
|
|
11
|
-
//
|
|
12
|
-
// <xsd:complexType name="CT_OnOff">
|
|
13
|
-
// <xsd:attribute name="val" type="s:ST_OnOff"/>
|
|
14
|
-
// </xsd:complexType>
|
|
15
|
-
export class OnOffElement extends XmlComponent {
|
|
16
|
-
public constructor(name: string, val: boolean | undefined = true) {
|
|
17
|
-
super(name);
|
|
18
|
-
if (val !== true) {
|
|
19
|
-
this.root.push(new Attributes({ val }));
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// This represents element type CT_HpsMeasure, which indicate an unsigned int or a measurement with unit.
|
|
25
|
-
//
|
|
26
|
-
// <xsd:complexType name="CT_HpsMeasure">
|
|
27
|
-
// <xsd:attribute name="val" type="ST_HpsMeasure" use="required"/>
|
|
28
|
-
// </xsd:complexType>
|
|
29
|
-
|
|
30
|
-
// <xsd:simpleType name="ST_HpsMeasure">
|
|
31
|
-
// <xsd:union memberTypes="s:ST_UnsignedDecimalNumber s:ST_PositiveUniversalMeasure" />
|
|
32
|
-
// </xsd:simpleType>
|
|
33
|
-
|
|
34
|
-
export class HpsMeasureElement extends XmlComponent {
|
|
35
|
-
public constructor(name: string, val: number | PositiveUniversalMeasure) {
|
|
36
|
-
super(name);
|
|
37
|
-
this.root.push(new Attributes({ val: hpsMeasureValue(val) }));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// This represents element type CT_String, which indicate a string value.
|
|
42
|
-
//
|
|
43
|
-
// <xsd:complexType name="CT_Empty"/>
|
|
44
|
-
export class EmptyElement extends XmlComponent {}
|
|
45
|
-
|
|
46
|
-
// This represents element type CT_Empty, which indicate aan empty element.
|
|
47
|
-
//
|
|
48
|
-
// <xsd:complexType name="CT_String">
|
|
49
|
-
// <xsd:attribute name="val" type="s:ST_String" use="required"/>
|
|
50
|
-
// </xsd:complexType>
|
|
51
|
-
export class StringValueElement extends XmlComponent {
|
|
52
|
-
public constructor(name: string, val: string) {
|
|
53
|
-
super(name);
|
|
54
|
-
this.root.push(new Attributes({ val }));
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// This represents various number element types.
|
|
59
|
-
export class NumberValueElement extends XmlComponent {
|
|
60
|
-
public constructor(name: string, val: number) {
|
|
61
|
-
super(name);
|
|
62
|
-
this.root.push(new Attributes({ val }));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export class StringEnumValueElement<T extends string> extends XmlComponent {
|
|
67
|
-
public constructor(name: string, val: T) {
|
|
68
|
-
super(name);
|
|
69
|
-
this.root.push(new Attributes({ val }));
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// Simple nodes containing text.
|
|
74
|
-
//
|
|
75
|
-
// new StringContainer("hello", "world")
|
|
76
|
-
// <hello>world</hello>
|
|
77
|
-
export class StringContainer extends XmlComponent {
|
|
78
|
-
public constructor(name: string, val: string) {
|
|
79
|
-
super(name);
|
|
80
|
-
this.root.push(val);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export class BuilderElement<T extends AttributeData> extends XmlComponent {
|
|
85
|
-
public constructor(options: {
|
|
86
|
-
readonly name: string;
|
|
87
|
-
readonly attributes?: AttributePayload<T>;
|
|
88
|
-
readonly children?: readonly XmlComponent[];
|
|
89
|
-
}) {
|
|
90
|
-
super(options.name);
|
|
91
|
-
|
|
92
|
-
if (options.attributes) {
|
|
93
|
-
this.root.push(new NextAttributeComponent(options.attributes));
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// TODO: Children
|
|
97
|
-
}
|
|
98
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { expect } from "chai";
|
|
2
|
-
|
|
3
|
-
import { Formatter } from "@export/formatter";
|
|
4
|
-
import { Attributes, BaseXmlComponent, XmlComponent } from "./";
|
|
5
|
-
|
|
6
|
-
class TestComponent extends XmlComponent {
|
|
7
|
-
public push(el: BaseXmlComponent): void {
|
|
8
|
-
this.root.push(el);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
describe("XmlComponent", () => {
|
|
13
|
-
describe("#constructor()", () => {
|
|
14
|
-
it("should create an Xml Component which has the correct rootKey", () => {
|
|
15
|
-
const xmlComponent = new TestComponent("w:test");
|
|
16
|
-
const tree = new Formatter().format(xmlComponent);
|
|
17
|
-
expect(tree).to.deep.equal({
|
|
18
|
-
"w:test": {},
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
it("should handle children elements", () => {
|
|
22
|
-
const xmlComponent = new TestComponent("w:test");
|
|
23
|
-
xmlComponent.push(
|
|
24
|
-
new Attributes({
|
|
25
|
-
val: "test",
|
|
26
|
-
}),
|
|
27
|
-
);
|
|
28
|
-
xmlComponent.push(new TestComponent("innerTest"));
|
|
29
|
-
|
|
30
|
-
const tree = new Formatter().format(xmlComponent);
|
|
31
|
-
expect(tree).to.deep.equal({
|
|
32
|
-
"w:test": [
|
|
33
|
-
{
|
|
34
|
-
_attr: {
|
|
35
|
-
"w:val": "test",
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
innerTest: {},
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
it("should hoist attrs if only attrs are present", () => {
|
|
45
|
-
const xmlComponent = new TestComponent("w:test");
|
|
46
|
-
xmlComponent.push(
|
|
47
|
-
new Attributes({
|
|
48
|
-
val: "test",
|
|
49
|
-
}),
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
const tree = new Formatter().format(xmlComponent);
|
|
53
|
-
expect(tree).to.deep.equal({
|
|
54
|
-
"w:test": {
|
|
55
|
-
_attr: {
|
|
56
|
-
"w:val": "test",
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
});
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { BaseXmlComponent, IContext } from "./base";
|
|
2
|
-
import { IXmlableObject } from "./xmlable-object";
|
|
3
|
-
|
|
4
|
-
export const EMPTY_OBJECT = Object.seal({});
|
|
5
|
-
|
|
6
|
-
export abstract class XmlComponent extends BaseXmlComponent {
|
|
7
|
-
// eslint-disable-next-line functional/prefer-readonly-type, @typescript-eslint/no-explicit-any
|
|
8
|
-
protected root: (BaseXmlComponent | string | any)[];
|
|
9
|
-
|
|
10
|
-
public constructor(rootKey: string) {
|
|
11
|
-
super(rootKey);
|
|
12
|
-
this.root = new Array<BaseXmlComponent | string>();
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// This method is called by the formatter to get the XML representation of this component.
|
|
16
|
-
// It is called recursively for all child components.
|
|
17
|
-
// It is a serializer to be used in the xml library.
|
|
18
|
-
// https://www.npmjs.com/package/xml
|
|
19
|
-
// Child components can override this method to customize the XML representation, or execute side effects.
|
|
20
|
-
public prepForXml(context: IContext): IXmlableObject | undefined {
|
|
21
|
-
// Mutating the stack is required for performance reasons
|
|
22
|
-
// eslint-disable-next-line functional/immutable-data
|
|
23
|
-
context.stack.push(this);
|
|
24
|
-
const children = this.root
|
|
25
|
-
.map((comp) => {
|
|
26
|
-
if (comp instanceof BaseXmlComponent) {
|
|
27
|
-
return comp.prepForXml(context);
|
|
28
|
-
}
|
|
29
|
-
return comp;
|
|
30
|
-
})
|
|
31
|
-
.filter((comp) => comp !== undefined); // Exclude undefined
|
|
32
|
-
|
|
33
|
-
// eslint-disable-next-line functional/immutable-data
|
|
34
|
-
context.stack.pop();
|
|
35
|
-
// If we only have a single IXmlableObject in our children array and it
|
|
36
|
-
// represents our attributes, use the object itself as our children to
|
|
37
|
-
// avoid an unneeded XML close element.
|
|
38
|
-
// Additionally, if the array is empty, use an empty object as our
|
|
39
|
-
// children in order to get an empty XML element generated.
|
|
40
|
-
return {
|
|
41
|
-
[this.rootKey]: children.length ? (children.length === 1 && children[0]?._attr ? children[0] : children) : EMPTY_OBJECT,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
public addChildElement(child: XmlComponent | string): XmlComponent {
|
|
46
|
-
this.root.push(child);
|
|
47
|
-
|
|
48
|
-
return this;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export abstract class IgnoreIfEmptyXmlComponent extends XmlComponent {
|
|
53
|
-
public prepForXml(context: IContext): IXmlableObject | undefined {
|
|
54
|
-
const result = super.prepForXml(context);
|
|
55
|
-
// Ignore the object if its falsey or is an empty object (would produce
|
|
56
|
-
// an empty XML element if allowed to be included in the output).
|
|
57
|
-
if (result && (typeof result[this.rootKey] !== "object" || Object.keys(result[this.rootKey]).length)) {
|
|
58
|
-
return result;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface IXmlAttribute {
|
|
2
|
-
readonly [key: string]: string | number | boolean;
|
|
3
|
-
}
|
|
4
|
-
export interface IXmlableObject extends Object {
|
|
5
|
-
readonly _attr?: IXmlAttribute;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
// Needed because of: https://github.com/s-panferov/awesome-typescript-loader/issues/432
|
|
9
|
-
/**
|
|
10
|
-
* @ignore
|
|
11
|
-
*/
|
|
12
|
-
export const WORKAROUND3 = "";
|
package/src/index.spec.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { expect } from "chai";
|
|
2
|
-
|
|
3
|
-
import { Document } from "./index";
|
|
4
|
-
|
|
5
|
-
describe("Index", () => {
|
|
6
|
-
describe("Document", () => {
|
|
7
|
-
it("should instantiate the Document", () => {
|
|
8
|
-
expect(
|
|
9
|
-
new Document({
|
|
10
|
-
sections: [],
|
|
11
|
-
}),
|
|
12
|
-
).to.be.ok;
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
});
|
package/src/index.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { expect } from "chai";
|
|
2
|
-
import { appendContentType } from "./content-types-manager";
|
|
3
|
-
|
|
4
|
-
describe("content-types-manager", () => {
|
|
5
|
-
describe("appendContentType", () => {
|
|
6
|
-
it("should append a content type", () => {
|
|
7
|
-
const element = {
|
|
8
|
-
type: "element",
|
|
9
|
-
name: "xml",
|
|
10
|
-
elements: [
|
|
11
|
-
{
|
|
12
|
-
type: "element",
|
|
13
|
-
name: "Types",
|
|
14
|
-
elements: [
|
|
15
|
-
{
|
|
16
|
-
type: "element",
|
|
17
|
-
name: "Default",
|
|
18
|
-
},
|
|
19
|
-
],
|
|
20
|
-
},
|
|
21
|
-
],
|
|
22
|
-
};
|
|
23
|
-
appendContentType(element, "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", "docx");
|
|
24
|
-
|
|
25
|
-
expect(element).to.deep.equal({
|
|
26
|
-
elements: [
|
|
27
|
-
{
|
|
28
|
-
elements: [
|
|
29
|
-
{
|
|
30
|
-
name: "Default",
|
|
31
|
-
type: "element",
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
attributes: {
|
|
35
|
-
ContentType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml",
|
|
36
|
-
Extension: "docx",
|
|
37
|
-
},
|
|
38
|
-
name: "Default",
|
|
39
|
-
type: "element",
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
name: "Types",
|
|
43
|
-
type: "element",
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
name: "xml",
|
|
47
|
-
type: "element",
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
});
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Element } from "xml-js";
|
|
2
|
-
|
|
3
|
-
import { getFirstLevelElements } from "./util";
|
|
4
|
-
|
|
5
|
-
export const appendContentType = (element: Element, contentType: string, extension: string): void => {
|
|
6
|
-
const relationshipElements = getFirstLevelElements(element, "Types");
|
|
7
|
-
// eslint-disable-next-line functional/immutable-data
|
|
8
|
-
relationshipElements.push({
|
|
9
|
-
attributes: {
|
|
10
|
-
ContentType: contentType,
|
|
11
|
-
Extension: extension,
|
|
12
|
-
},
|
|
13
|
-
name: "Default",
|
|
14
|
-
type: "element",
|
|
15
|
-
});
|
|
16
|
-
};
|