@syncfusion/ej2-docx 0.0.0-stage → 35.1.39
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/README.md +68 -2
- package/core.js +4 -0
- package/dist/ej2-docx.umd.min.js +2 -0
- package/dist/ej2-docx.umd.min.js.map +1 -0
- package/dist/es6/ej2-docx.es2015.js +66697 -0
- package/dist/es6/ej2-docx.es2015.js.map +1 -0
- package/dist/es6/ej2-docx.es5.js +77568 -0
- package/dist/es6/ej2-docx.es5.js.map +1 -0
- package/dist/global/ej2-docx.min.js +2 -0
- package/dist/global/ej2-docx.min.js.map +1 -0
- package/dist/global/index.d.ts +5 -0
- package/features.js +4 -0
- package/index.js +4 -0
- package/license +10 -0
- package/package.json +31 -4
- package/src/all.d.ts +50 -0
- package/src/all.js +147 -0
- package/src/core/compat/base64.d.ts +13 -0
- package/src/core/compat/base64.js +90 -0
- package/src/core/compat/object-compat.d.ts +30 -0
- package/src/core/compat/object-compat.js +40 -0
- package/src/core/compat/sha256.d.ts +9 -0
- package/src/core/compat/sha256.js +98 -0
- package/src/core/errors/docx-error.d.ts +89 -0
- package/src/core/errors/docx-error.js +138 -0
- package/src/core/errors/error-codes.d.ts +8 -0
- package/src/core/errors/error-codes.js +0 -0
- package/src/core/errors/index.d.ts +10 -0
- package/src/core/errors/index.js +9 -0
- package/src/core/index.d.ts +12 -0
- package/src/core/index.js +12 -0
- package/src/core/mc/alternate-content.d.ts +7 -0
- package/src/core/mc/alternate-content.js +67 -0
- package/src/core/mc/attributes.d.ts +24 -0
- package/src/core/mc/attributes.js +82 -0
- package/src/core/mc/index.d.ts +7 -0
- package/src/core/mc/index.js +5 -0
- package/src/core/mc/inspect.d.ts +16 -0
- package/src/core/mc/inspect.js +148 -0
- package/src/core/mc/namespaces.d.ts +4 -0
- package/src/core/mc/namespaces.js +4 -0
- package/src/core/mc/scope.d.ts +6 -0
- package/src/core/mc/scope.js +47 -0
- package/src/core/opc/content-types.d.ts +34 -0
- package/src/core/opc/content-types.js +162 -0
- package/src/core/opc/index.d.ts +8 -0
- package/src/core/opc/index.js +4 -0
- package/src/core/opc/package.d.ts +49 -0
- package/src/core/opc/package.js +324 -0
- package/src/core/opc/part-name.d.ts +47 -0
- package/src/core/opc/part-name.js +205 -0
- package/src/core/opc/relationships.d.ts +46 -0
- package/src/core/opc/relationships.js +212 -0
- package/src/core/preservation/index.d.ts +2 -0
- package/src/core/preservation/index.js +1 -0
- package/src/core/preservation/opaque-body.d.ts +16 -0
- package/src/core/preservation/opaque-body.js +69 -0
- package/src/core/registry/block-handlers.d.ts +30 -0
- package/src/core/registry/block-handlers.js +36 -0
- package/src/core/registry/create-defaults.d.ts +39 -0
- package/src/core/registry/create-defaults.js +42 -0
- package/src/core/registry/feature-registry.d.ts +20 -0
- package/src/core/registry/feature-registry.js +29 -0
- package/src/core/registry/index.d.ts +9 -0
- package/src/core/registry/index.js +8 -0
- package/src/core/registry/inline-handlers.d.ts +20 -0
- package/src/core/registry/inline-handlers.js +30 -0
- package/src/core/registry/materialize-handlers.d.ts +35 -0
- package/src/core/registry/materialize-handlers.js +75 -0
- package/src/core/registry/multi-part-handlers.d.ts +37 -0
- package/src/core/registry/multi-part-handlers.js +206 -0
- package/src/core/registry/package-part-handlers.d.ts +28 -0
- package/src/core/registry/package-part-handlers.js +190 -0
- package/src/core/registry/part-handlers.d.ts +24 -0
- package/src/core/registry/part-handlers.js +172 -0
- package/src/core/registry/run-leaf-handlers.d.ts +26 -0
- package/src/core/registry/run-leaf-handlers.js +72 -0
- package/src/core/security/limits.d.ts +40 -0
- package/src/core/security/limits.js +26 -0
- package/src/core/xml/index.d.ts +7 -0
- package/src/core/xml/index.js +3 -0
- package/src/core/xml/model.d.ts +66 -0
- package/src/core/xml/model.js +17 -0
- package/src/core/xml/parse.d.ts +12 -0
- package/src/core/xml/parse.js +382 -0
- package/src/core/xml/serialize.d.ts +6 -0
- package/src/core/xml/serialize.js +93 -0
- package/src/core/zip/crc32.d.ts +2 -0
- package/src/core/zip/crc32.js +25 -0
- package/src/core/zip/deflate.d.ts +6 -0
- package/src/core/zip/deflate.js +6 -0
- package/src/core/zip/index.d.ts +10 -0
- package/src/core/zip/index.js +4 -0
- package/src/core/zip/inflate-raw.d.ts +17 -0
- package/src/core/zip/inflate-raw.js +450 -0
- package/src/core/zip/names.d.ts +6 -0
- package/src/core/zip/names.js +52 -0
- package/src/core/zip/read.d.ts +8 -0
- package/src/core/zip/read.js +262 -0
- package/src/core/zip/write.d.ts +7 -0
- package/src/core/zip/write.js +189 -0
- package/src/core/zip/zip-entry.d.ts +4 -0
- package/src/core/zip/zip-entry.js +0 -0
- package/src/features/bibliography/index.d.ts +100 -0
- package/src/features/bibliography/index.js +290 -0
- package/src/features/bookmarks/index.d.ts +331 -0
- package/src/features/bookmarks/index.js +1009 -0
- package/src/features/comments/comment-extensions.d.ts +157 -0
- package/src/features/comments/comment-extensions.js +356 -0
- package/src/features/comments/index.d.ts +579 -0
- package/src/features/comments/index.js +1727 -0
- package/src/features/content-controls/index.d.ts +821 -0
- package/src/features/content-controls/index.js +2857 -0
- package/src/features/custom-xml/index.d.ts +236 -0
- package/src/features/custom-xml/index.js +661 -0
- package/src/features/document/alignment.d.ts +23 -0
- package/src/features/document/alignment.js +36 -0
- package/src/features/document/alt-chunk.d.ts +103 -0
- package/src/features/document/alt-chunk.js +221 -0
- package/src/features/document/assert-never.d.ts +1 -0
- package/src/features/document/assert-never.js +4 -0
- package/src/features/document/augmentations.d.ts +578 -0
- package/src/features/document/augmentations.js +0 -0
- package/src/features/document/body-always-on.d.ts +36 -0
- package/src/features/document/body-always-on.js +66 -0
- package/src/features/document/body-blocks.d.ts +7 -0
- package/src/features/document/body-blocks.js +78 -0
- package/src/features/document/body-item-adapters.d.ts +62 -0
- package/src/features/document/body-item-adapters.js +97 -0
- package/src/features/document/body-item-collection.d.ts +151 -0
- package/src/features/document/body-item-collection.js +440 -0
- package/src/features/document/body-item.d.ts +35 -0
- package/src/features/document/body-item.js +8 -0
- package/src/features/document/body.d.ts +150 -0
- package/src/features/document/body.js +263 -0
- package/src/features/document/character-format.d.ts +413 -0
- package/src/features/document/character-format.js +2054 -0
- package/src/features/document/color.d.ts +178 -0
- package/src/features/document/color.js +495 -0
- package/src/features/document/document.d.ts +410 -0
- package/src/features/document/document.js +1049 -0
- package/src/features/document/element-type.d.ts +68 -0
- package/src/features/document/element-type.js +133 -0
- package/src/features/document/entity-type.d.ts +92 -0
- package/src/features/document/entity-type.js +93 -0
- package/src/features/document/feature-block.d.ts +16 -0
- package/src/features/document/feature-block.js +0 -0
- package/src/features/document/feature-inline.d.ts +13 -0
- package/src/features/document/feature-inline.js +0 -0
- package/src/features/document/feature-multi-package-part.d.ts +19 -0
- package/src/features/document/feature-multi-package-part.js +8 -0
- package/src/features/document/feature-package-level-part.d.ts +18 -0
- package/src/features/document/feature-package-level-part.js +8 -0
- package/src/features/document/feature-package-part.d.ts +14 -0
- package/src/features/document/feature-package-part.js +0 -0
- package/src/features/document/feature-run-leaf.d.ts +9 -0
- package/src/features/document/feature-run-leaf.js +0 -0
- package/src/features/document/headers-footers.d.ts +206 -0
- package/src/features/document/headers-footers.js +384 -0
- package/src/features/document/index.d.ts +41 -0
- package/src/features/document/index.js +34 -0
- package/src/features/document/length.d.ts +152 -0
- package/src/features/document/length.js +245 -0
- package/src/features/document/load-options.d.ts +14 -0
- package/src/features/document/load-options.js +0 -0
- package/src/features/document/locale-ids.d.ts +227 -0
- package/src/features/document/locale-ids.js +485 -0
- package/src/features/document/on-off.d.ts +9 -0
- package/src/features/document/on-off.js +27 -0
- package/src/features/document/page-setup.d.ts +339 -0
- package/src/features/document/page-setup.js +244 -0
- package/src/features/document/paragraph-format.d.ts +880 -0
- package/src/features/document/paragraph-format.js +2807 -0
- package/src/features/document/paragraph-item-collection.d.ts +162 -0
- package/src/features/document/paragraph-item-collection.js +363 -0
- package/src/features/document/paragraph-item.d.ts +83 -0
- package/src/features/document/paragraph-item.js +103 -0
- package/src/features/document/paragraph.d.ts +435 -0
- package/src/features/document/paragraph.js +888 -0
- package/src/features/document/run.d.ts +1 -0
- package/src/features/document/run.js +768 -0
- package/src/features/document/section-partition-flatten.d.ts +124 -0
- package/src/features/document/section-partition-flatten.js +217 -0
- package/src/features/document/section-properties-model.d.ts +13 -0
- package/src/features/document/section-properties-model.js +0 -0
- package/src/features/document/section.d.ts +93 -0
- package/src/features/document/section.js +178 -0
- package/src/features/document/sections.d.ts +103 -0
- package/src/features/document/sections.js +217 -0
- package/src/features/document/sub-super-script.d.ts +23 -0
- package/src/features/document/sub-super-script.js +43 -0
- package/src/features/document/text-range.d.ts +445 -0
- package/src/features/document/text-range.js +1156 -0
- package/src/features/document/typed-body-collections.d.ts +162 -0
- package/src/features/document/typed-body-collections.js +371 -0
- package/src/features/document/underline-style.d.ts +38 -0
- package/src/features/document/underline-style.js +126 -0
- package/src/features/document/units.d.ts +8 -0
- package/src/features/document/units.js +7 -0
- package/src/features/document/wml.d.ts +16 -0
- package/src/features/document/wml.js +67 -0
- package/src/features/drawing/authoring.d.ts +27 -0
- package/src/features/drawing/authoring.js +271 -0
- package/src/features/drawing/body-pr.d.ts +271 -0
- package/src/features/drawing/body-pr.js +663 -0
- package/src/features/drawing/drawing-shape.d.ts +1192 -0
- package/src/features/drawing/drawing-shape.js +3239 -0
- package/src/features/drawing/encode-builders.d.ts +176 -0
- package/src/features/drawing/encode-builders.js +390 -0
- package/src/features/drawing/fill-format.d.ts +52 -0
- package/src/features/drawing/fill-format.js +124 -0
- package/src/features/drawing/host-codec.d.ts +632 -0
- package/src/features/drawing/host-codec.js +2595 -0
- package/src/features/drawing/index.d.ts +13 -0
- package/src/features/drawing/index.js +33 -0
- package/src/features/drawing/line-format.d.ts +76 -0
- package/src/features/drawing/line-format.js +343 -0
- package/src/features/drawing/parse-register.d.ts +50 -0
- package/src/features/drawing/parse-register.js +257 -0
- package/src/features/drawing/residual-utils.d.ts +47 -0
- package/src/features/drawing/residual-utils.js +290 -0
- package/src/features/drawing/shape-types.d.ts +433 -0
- package/src/features/drawing/shape-types.js +437 -0
- package/src/features/drawing/sp-pr.d.ts +396 -0
- package/src/features/drawing/sp-pr.js +610 -0
- package/src/features/drawing/text-frame.d.ts +90 -0
- package/src/features/drawing/text-frame.js +152 -0
- package/src/features/drawing/types.d.ts +352 -0
- package/src/features/drawing/types.js +60 -0
- package/src/features/drawing/wrap-format.d.ts +62 -0
- package/src/features/drawing/wrap-format.js +114 -0
- package/src/features/editable-ranges/index.d.ts +494 -0
- package/src/features/editable-ranges/index.js +1348 -0
- package/src/features/fields/index.d.ts +428 -0
- package/src/features/fields/index.js +2148 -0
- package/src/features/fields/paragraph-field.d.ts +187 -0
- package/src/features/fields/paragraph-field.js +692 -0
- package/src/features/font-table/font-substitution-table.d.ts +75 -0
- package/src/features/font-table/font-substitution-table.js +257 -0
- package/src/features/font-table/font-table-entry.d.ts +255 -0
- package/src/features/font-table/font-table-entry.js +823 -0
- package/src/features/font-table/font-table.d.ts +128 -0
- package/src/features/font-table/font-table.js +313 -0
- package/src/features/font-table/index.d.ts +27 -0
- package/src/features/font-table/index.js +48 -0
- package/src/features/glossary/index.d.ts +97 -0
- package/src/features/glossary/index.js +286 -0
- package/src/features/headers-footers/index.d.ts +506 -0
- package/src/features/headers-footers/index.js +1666 -0
- package/src/features/hyperlinks/index.d.ts +230 -0
- package/src/features/hyperlinks/index.js +685 -0
- package/src/features/images/caption-authoring-api.d.ts +33 -0
- package/src/features/images/caption-authoring-api.js +33 -0
- package/src/features/images/caption-enums.d.ts +52 -0
- package/src/features/images/caption-enums.js +141 -0
- package/src/features/images/caption-host.d.ts +10 -0
- package/src/features/images/caption-host.js +21 -0
- package/src/features/images/captions.d.ts +13 -0
- package/src/features/images/captions.js +142 -0
- package/src/features/images/host-codec.d.ts +103 -0
- package/src/features/images/host-codec.js +720 -0
- package/src/features/images/image-sniff.d.ts +21 -0
- package/src/features/images/image-sniff.js +71 -0
- package/src/features/images/index.d.ts +506 -0
- package/src/features/images/index.js +1429 -0
- package/src/features/images/layout-types.d.ts +232 -0
- package/src/features/images/layout-types.js +294 -0
- package/src/features/images/public-entry.d.ts +9 -0
- package/src/features/images/public-entry.js +9 -0
- package/src/features/index.d.ts +35 -0
- package/src/features/index.js +36 -0
- package/src/features/mail-merge/index.d.ts +113 -0
- package/src/features/mail-merge/index.js +315 -0
- package/src/features/notes/index.d.ts +573 -0
- package/src/features/notes/index.js +1725 -0
- package/src/features/numbering/abstract-numbering.d.ts +90 -0
- package/src/features/numbering/abstract-numbering.js +292 -0
- package/src/features/numbering/index.d.ts +182 -0
- package/src/features/numbering/index.js +668 -0
- package/src/features/numbering/list-format.d.ts +158 -0
- package/src/features/numbering/list-format.js +590 -0
- package/src/features/numbering/list-string.d.ts +7 -0
- package/src/features/numbering/list-string.js +423 -0
- package/src/features/numbering/list-style.d.ts +204 -0
- package/src/features/numbering/list-style.js +1084 -0
- package/src/features/numbering/numbering-instance.d.ts +101 -0
- package/src/features/numbering/numbering-instance.js +329 -0
- package/src/features/numbering/numbering-level.d.ts +118 -0
- package/src/features/numbering/numbering-level.js +501 -0
- package/src/features/numbering/picture-bullet.d.ts +34 -0
- package/src/features/numbering/picture-bullet.js +88 -0
- package/src/features/ole-object/catalog.d.ts +300 -0
- package/src/features/ole-object/catalog.js +908 -0
- package/src/features/ole-object/index.d.ts +526 -0
- package/src/features/ole-object/index.js +1421 -0
- package/src/features/ole-object/relationship.d.ts +27 -0
- package/src/features/ole-object/relationship.js +27 -0
- package/src/features/ole-object/typed-dom.d.ts +186 -0
- package/src/features/ole-object/typed-dom.js +595 -0
- package/src/features/properties/index.d.ts +205 -0
- package/src/features/properties/index.js +549 -0
- package/src/features/revisions/index.d.ts +204 -0
- package/src/features/revisions/index.js +695 -0
- package/src/features/sections/column-collection.d.ts +119 -0
- package/src/features/sections/column-collection.js +478 -0
- package/src/features/sections/column.d.ts +15 -0
- package/src/features/sections/column.js +37 -0
- package/src/features/sections/index.d.ts +91 -0
- package/src/features/sections/index.js +1096 -0
- package/src/features/sections/margins.d.ts +40 -0
- package/src/features/sections/margins.js +105 -0
- package/src/features/sections/page-number-style.d.ts +21 -0
- package/src/features/sections/page-number-style.js +62 -0
- package/src/features/sections/page-orientation.d.ts +10 -0
- package/src/features/sections/page-orientation.js +10 -0
- package/src/features/sections/page-setup.d.ts +435 -0
- package/src/features/sections/page-setup.js +1479 -0
- package/src/features/sections/page-size.d.ts +59 -0
- package/src/features/sections/page-size.js +68 -0
- package/src/features/sections/section-break-code.d.ts +27 -0
- package/src/features/sections/section-break-code.js +60 -0
- package/src/features/sections/section-document-association.d.ts +18 -0
- package/src/features/sections/section-document-association.js +31 -0
- package/src/features/sections/section-validation.d.ts +43 -0
- package/src/features/sections/section-validation.js +97 -0
- package/src/features/settings/attached-template.d.ts +35 -0
- package/src/features/settings/attached-template.js +98 -0
- package/src/features/settings/compat-settings.d.ts +216 -0
- package/src/features/settings/compat-settings.js +508 -0
- package/src/features/settings/document-background.d.ts +59 -0
- package/src/features/settings/document-background.js +131 -0
- package/src/features/settings/document-protection.d.ts +65 -0
- package/src/features/settings/document-protection.js +157 -0
- package/src/features/settings/document-settings-facades.d.ts +108 -0
- package/src/features/settings/document-settings-facades.js +312 -0
- package/src/features/settings/document-settings-values.d.ts +43 -0
- package/src/features/settings/document-settings-values.js +60 -0
- package/src/features/settings/footnote-properties.d.ts +211 -0
- package/src/features/settings/footnote-properties.js +591 -0
- package/src/features/settings/index.d.ts +356 -0
- package/src/features/settings/index.js +829 -0
- package/src/features/settings/settings-children.d.ts +151 -0
- package/src/features/settings/settings-children.js +505 -0
- package/src/features/settings/web-settings.d.ts +88 -0
- package/src/features/settings/web-settings.js +227 -0
- package/src/features/settings/zoom.d.ts +79 -0
- package/src/features/settings/zoom.js +147 -0
- package/src/features/styles/builtin-catalog.d.ts +159 -0
- package/src/features/styles/builtin-catalog.js +963 -0
- package/src/features/styles/builtin-resolver.d.ts +49 -0
- package/src/features/styles/builtin-resolver.js +165 -0
- package/src/features/styles/default-styles.d.ts +37 -0
- package/src/features/styles/default-styles.js +186 -0
- package/src/features/styles/default-theme.d.ts +13 -0
- package/src/features/styles/default-theme.js +13 -0
- package/src/features/styles/doc-defaults.d.ts +58 -0
- package/src/features/styles/doc-defaults.js +178 -0
- package/src/features/styles/formatting-resolver.d.ts +27 -0
- package/src/features/styles/formatting-resolver.js +72 -0
- package/src/features/styles/index.d.ts +256 -0
- package/src/features/styles/index.js +1325 -0
- package/src/features/styles/latent-styles.d.ts +68 -0
- package/src/features/styles/latent-styles.js +305 -0
- package/src/features/styles/paragraph-properties.d.ts +71 -0
- package/src/features/styles/paragraph-properties.js +237 -0
- package/src/features/styles/run-properties.d.ts +93 -0
- package/src/features/styles/run-properties.js +516 -0
- package/src/features/styles/style-base.d.ts +402 -0
- package/src/features/styles/style-base.js +1026 -0
- package/src/features/styles/style-collection.d.ts +264 -0
- package/src/features/styles/style-collection.js +714 -0
- package/src/features/styles/style-format-bridge.d.ts +64 -0
- package/src/features/styles/style-format-bridge.js +100 -0
- package/src/features/styles/style.d.ts +84 -0
- package/src/features/styles/style.js +375 -0
- package/src/features/styles/styles-with-effects.d.ts +71 -0
- package/src/features/styles/styles-with-effects.js +180 -0
- package/src/features/styles/table-style.d.ts +272 -0
- package/src/features/styles/table-style.js +1226 -0
- package/src/features/styles/theme.d.ts +126 -0
- package/src/features/styles/theme.js +377 -0
- package/src/features/tables/border-style-map.d.ts +24 -0
- package/src/features/tables/border-style-map.js +81 -0
- package/src/features/tables/borders.d.ts +126 -0
- package/src/features/tables/borders.js +527 -0
- package/src/features/tables/collections.d.ts +113 -0
- package/src/features/tables/collections.js +261 -0
- package/src/features/tables/format.d.ts +208 -0
- package/src/features/tables/format.js +716 -0
- package/src/features/tables/index.d.ts +597 -0
- package/src/features/tables/index.js +2386 -0
- package/src/features/tables/paddings.d.ts +41 -0
- package/src/features/tables/paddings.js +97 -0
- package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
- package/src/features/tables/tbl-pr-positioning.js +178 -0
- package/src/features/tables/tbl-pr.d.ts +528 -0
- package/src/features/tables/tbl-pr.js +1208 -0
- package/src/features/tables/tc-pr.d.ts +168 -0
- package/src/features/tables/tc-pr.js +553 -0
- package/src/features/tables/tr-pr.d.ts +60 -0
- package/src/features/tables/tr-pr.js +215 -0
- package/src/features/watermark/detect.d.ts +76 -0
- package/src/features/watermark/detect.js +219 -0
- package/src/features/watermark/index.d.ts +28 -0
- package/src/features/watermark/index.js +91 -0
- package/src/features/watermark/logical-store.d.ts +29 -0
- package/src/features/watermark/logical-store.js +31 -0
- package/src/features/watermark/model.d.ts +285 -0
- package/src/features/watermark/model.js +597 -0
- package/src/features/watermark/parse.d.ts +84 -0
- package/src/features/watermark/parse.js +815 -0
- package/src/features/watermark/serialize.d.ts +98 -0
- package/src/features/watermark/serialize.js +1517 -0
- package/src/global.js +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +2 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { FeatureMultiPackagePart } from '../document/feature-multi-package-part';
|
|
2
|
+
import { OpcPackage } from '../../core/opc/package';
|
|
3
|
+
import { PartName } from '../../core/opc/part-name';
|
|
4
|
+
/**
|
|
5
|
+
* @private Word recipientData relationship (`[MS-OI29500]` §2.1.378). */
|
|
6
|
+
export declare const RECIPIENT_DATA_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/recipientData";
|
|
7
|
+
/**
|
|
8
|
+
* @private Strict Mail Merge Recipient Data relationship (ECMA-376-1 §17.14.28). */
|
|
9
|
+
export declare const STRICT_RECIPIENT_DATA_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeRecipientData";
|
|
10
|
+
/**
|
|
11
|
+
* @private Transitional mail merge data source (ECMA-376-4 §9.6). */
|
|
12
|
+
export declare const MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeSource";
|
|
13
|
+
/**
|
|
14
|
+
* @private Strict mail merge data source (ECMA-376-1 §11.7). */
|
|
15
|
+
export declare const STRICT_MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeSource";
|
|
16
|
+
/**
|
|
17
|
+
* @private Transitional mail merge header source (ECMA-376-4 §9.7). */
|
|
18
|
+
export declare const MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeHeaderSource";
|
|
19
|
+
/**
|
|
20
|
+
* @private Strict mail merge header source (ECMA-376-1 §11.8). */
|
|
21
|
+
export declare const STRICT_MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeHeaderSource";
|
|
22
|
+
/**
|
|
23
|
+
* @private Mail Merge Recipient Data content type (ECMA-376-1 / `[MS-OI29500]`). */
|
|
24
|
+
export declare const RECIPIENT_DATA_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.mailMergeRecipientData+xml";
|
|
25
|
+
/** `ST_MailMergeDocType` (Transitional `wml.xsd`).
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
export declare type MailMergeDocumentType = 'catalog' | 'envelopes' | 'mailingLabels' | 'formLetters' | 'email' | 'fax';
|
|
29
|
+
/** `ST_MailMergeDest` (Transitional `wml.xsd`).
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
export declare type MailMergeDestination = 'newDocument' | 'printer' | 'email' | 'fax';
|
|
33
|
+
interface MailMergeMetadata {
|
|
34
|
+
readonly present: boolean;
|
|
35
|
+
readonly mainDocumentType: MailMergeDocumentType | undefined;
|
|
36
|
+
readonly dataType: string | undefined;
|
|
37
|
+
readonly destination: MailMergeDestination | undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Preserve-only mail merge metadata catalog.
|
|
41
|
+
* Recipient data and data-source relationships are never fetched, executed, or
|
|
42
|
+
* mutated; connection strings and queries remain opaque.
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
export declare class MailMergeCatalog implements FeatureMultiPackagePart {
|
|
46
|
+
private readonly metadata;
|
|
47
|
+
private readonly recipientsBytes;
|
|
48
|
+
private readonly recipientCount;
|
|
49
|
+
private readonly sourceTargets;
|
|
50
|
+
/**
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
constructor(metadata: MailMergeMetadata, recipientsBytes: Uint8Array | undefined, recipientCount: number, sourceTargets: ReadonlyArray<string>);
|
|
54
|
+
/**
|
|
55
|
+
* Whether `w:mailMerge` is present on the WordDocument Settings part.
|
|
56
|
+
*
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
present(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* `w:mainDocumentType/@w:val`, or `undefined` when absent or unrecognized.
|
|
62
|
+
*
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
mainDocumentType(): MailMergeDocumentType | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* `w:dataType/@w:val`, or `undefined` when absent.
|
|
68
|
+
*
|
|
69
|
+
* @private
|
|
70
|
+
*/
|
|
71
|
+
dataType(): string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* `w:destination/@w:val`, or `undefined` when absent or unrecognized.
|
|
74
|
+
*
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
destination(): MailMergeDestination | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Whether a Mail Merge Recipient Data part is related from settings.
|
|
80
|
+
*
|
|
81
|
+
* @private
|
|
82
|
+
*/
|
|
83
|
+
hasRecipientsPart(): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Number of `recipientData` children in the recipients part.
|
|
86
|
+
*
|
|
87
|
+
* @private
|
|
88
|
+
*/
|
|
89
|
+
recipientRecordCount(): number;
|
|
90
|
+
/**
|
|
91
|
+
* External mail-merge data-source relationship targets. Never fetched.
|
|
92
|
+
*
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
dataSourceTargets(): ReadonlyArray<string>;
|
|
96
|
+
/**
|
|
97
|
+
* @private
|
|
98
|
+
*/
|
|
99
|
+
isDirty(): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* @private
|
|
102
|
+
*/
|
|
103
|
+
applyToPackage(pkg: OpcPackage, mainPartName: PartName): OpcPackage;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @private
|
|
107
|
+
* Test hook */
|
|
108
|
+
export declare function resetMailMergeFeatureForTests(): void;
|
|
109
|
+
/**
|
|
110
|
+
* @private
|
|
111
|
+
* Register the mail-merge multi-part handler. Idempotent. */
|
|
112
|
+
export declare function registerMailMergeFeature(): void;
|
|
113
|
+
export {};
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
var __values = (this && this.__values) || function (o) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
3
|
+
if (m) return m.call(o);
|
|
4
|
+
return {
|
|
5
|
+
next: function () {
|
|
6
|
+
if (o && i >= o.length) o = void 0;
|
|
7
|
+
return { value: o && o[i++], done: !o };
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
import { DocxError } from '../../core/errors/docx-error';
|
|
12
|
+
import { WordDocument } from '../document/document';
|
|
13
|
+
import { elementChildren, isWml } from '../document/wml';
|
|
14
|
+
import { partByName, relationshipsForPart } from '../../core/opc/package';
|
|
15
|
+
import { resolveInternalTarget } from '../../core/opc/part-name';
|
|
16
|
+
import { TargetMode } from '../../core/opc/relationships';
|
|
17
|
+
import { featureId, registerFeature, registerFeatureMultiPartHandler, } from '../../core/registry/index';
|
|
18
|
+
import { parseXml, WML_TRANSITIONAL_NAMESPACE } from '../../core/xml/index';
|
|
19
|
+
var MAIL_MERGE = featureId('mail-merge');
|
|
20
|
+
var utf8Decoder = new TextDecoder('utf-8');
|
|
21
|
+
/** Transitional settings relationship (ECMA-376-4 §9.2.3). */
|
|
22
|
+
var SETTINGS_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings';
|
|
23
|
+
/** Strict settings relationship (ECMA-376-1 §11.3.3). */
|
|
24
|
+
var STRICT_SETTINGS_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/settings';
|
|
25
|
+
/**
|
|
26
|
+
* @private Word recipientData relationship (`[MS-OI29500]` §2.1.378). */
|
|
27
|
+
export var RECIPIENT_DATA_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/recipientData';
|
|
28
|
+
/**
|
|
29
|
+
* @private Strict Mail Merge Recipient Data relationship (ECMA-376-1 §17.14.28). */
|
|
30
|
+
export var STRICT_RECIPIENT_DATA_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeRecipientData';
|
|
31
|
+
/**
|
|
32
|
+
* @private Transitional mail merge data source (ECMA-376-4 §9.6). */
|
|
33
|
+
export var MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeSource';
|
|
34
|
+
/**
|
|
35
|
+
* @private Strict mail merge data source (ECMA-376-1 §11.7). */
|
|
36
|
+
export var STRICT_MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeSource';
|
|
37
|
+
/**
|
|
38
|
+
* @private Transitional mail merge header source (ECMA-376-4 §9.7). */
|
|
39
|
+
export var MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeHeaderSource';
|
|
40
|
+
/**
|
|
41
|
+
* @private Strict mail merge header source (ECMA-376-1 §11.8). */
|
|
42
|
+
export var STRICT_MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeHeaderSource';
|
|
43
|
+
/**
|
|
44
|
+
* @private Mail Merge Recipient Data content type (ECMA-376-1 / `[MS-OI29500]`). */
|
|
45
|
+
export var RECIPIENT_DATA_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.mailMergeRecipientData+xml';
|
|
46
|
+
var SETTINGS_RELATIONSHIP_TYPES = [
|
|
47
|
+
SETTINGS_RELATIONSHIP_TYPE,
|
|
48
|
+
STRICT_SETTINGS_RELATIONSHIP_TYPE,
|
|
49
|
+
];
|
|
50
|
+
var RECIPIENT_DATA_RELATIONSHIP_TYPES = [
|
|
51
|
+
RECIPIENT_DATA_RELATIONSHIP_TYPE,
|
|
52
|
+
STRICT_RECIPIENT_DATA_RELATIONSHIP_TYPE,
|
|
53
|
+
];
|
|
54
|
+
var DATA_SOURCE_RELATIONSHIP_TYPES = [
|
|
55
|
+
MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE,
|
|
56
|
+
STRICT_MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE,
|
|
57
|
+
MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE,
|
|
58
|
+
STRICT_MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE,
|
|
59
|
+
];
|
|
60
|
+
function wmlAttribute(element, localName) {
|
|
61
|
+
var found = element.attributes.find(function (attribute) { return attribute.localName === localName &&
|
|
62
|
+
(attribute.namespaceUri === WML_TRANSITIONAL_NAMESPACE || attribute.namespaceUri === ''); });
|
|
63
|
+
return found == null ? undefined : found.value;
|
|
64
|
+
}
|
|
65
|
+
function parseDocumentType(raw) {
|
|
66
|
+
switch (raw) {
|
|
67
|
+
case 'catalog':
|
|
68
|
+
case 'envelopes':
|
|
69
|
+
case 'mailingLabels':
|
|
70
|
+
case 'formLetters':
|
|
71
|
+
case 'email':
|
|
72
|
+
case 'fax':
|
|
73
|
+
return raw;
|
|
74
|
+
default:
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function parseDestination(raw) {
|
|
79
|
+
switch (raw) {
|
|
80
|
+
case 'newDocument':
|
|
81
|
+
case 'printer':
|
|
82
|
+
case 'email':
|
|
83
|
+
case 'fax':
|
|
84
|
+
return raw;
|
|
85
|
+
default:
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function findWmlChild(children, localName) {
|
|
90
|
+
return children.find(function (child) { return isWml(child, localName); });
|
|
91
|
+
}
|
|
92
|
+
function parseMailMergeMetadata(settingsRoot) {
|
|
93
|
+
if (settingsRoot === undefined || !isWml(settingsRoot, 'settings')) {
|
|
94
|
+
return { present: false, mainDocumentType: undefined, dataType: undefined, destination: undefined };
|
|
95
|
+
}
|
|
96
|
+
var mailMerge = findWmlChild(elementChildren(settingsRoot), 'mailMerge');
|
|
97
|
+
if (mailMerge === undefined) {
|
|
98
|
+
return { present: false, mainDocumentType: undefined, dataType: undefined, destination: undefined };
|
|
99
|
+
}
|
|
100
|
+
var children = elementChildren(mailMerge);
|
|
101
|
+
var typeElement = findWmlChild(children, 'mainDocumentType');
|
|
102
|
+
var dataTypeElement = findWmlChild(children, 'dataType');
|
|
103
|
+
var destinationElement = findWmlChild(children, 'destination');
|
|
104
|
+
return {
|
|
105
|
+
present: true,
|
|
106
|
+
mainDocumentType: parseDocumentType(typeElement === undefined ? undefined : wmlAttribute(typeElement, 'val')),
|
|
107
|
+
dataType: dataTypeElement === undefined ? undefined : wmlAttribute(dataTypeElement, 'val'),
|
|
108
|
+
destination: parseDestination(destinationElement === undefined ? undefined : wmlAttribute(destinationElement, 'val')),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function countRecipientRecords(bytes) {
|
|
112
|
+
var e_1, _a;
|
|
113
|
+
if (bytes === undefined) {
|
|
114
|
+
return 0;
|
|
115
|
+
}
|
|
116
|
+
var root = parseXml(utf8Decoder.decode(bytes));
|
|
117
|
+
if (root.localName !== 'recipients') {
|
|
118
|
+
return 0;
|
|
119
|
+
}
|
|
120
|
+
var count = 0;
|
|
121
|
+
try {
|
|
122
|
+
for (var _b = __values(elementChildren(root)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
123
|
+
var child = _c.value;
|
|
124
|
+
if (child.localName === 'recipientData') {
|
|
125
|
+
count += 1;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
130
|
+
finally {
|
|
131
|
+
try {
|
|
132
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
133
|
+
}
|
|
134
|
+
finally { if (e_1) throw e_1.error; }
|
|
135
|
+
}
|
|
136
|
+
return count;
|
|
137
|
+
}
|
|
138
|
+
function firstRelatedPart(pkg, source, relationshipTypes) {
|
|
139
|
+
var e_2, _a;
|
|
140
|
+
try {
|
|
141
|
+
for (var _b = __values(relationshipsForPart(pkg, source).items), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
142
|
+
var rel = _c.value;
|
|
143
|
+
if (relationshipTypes.indexOf(rel.type) === -1 || rel.targetMode === TargetMode.External) {
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
var target = resolveInternalTarget(rel.target, source);
|
|
147
|
+
var part = partByName(pkg, target);
|
|
148
|
+
if (part !== undefined) {
|
|
149
|
+
return { name: part.name, data: part.data };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
154
|
+
finally {
|
|
155
|
+
try {
|
|
156
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
157
|
+
}
|
|
158
|
+
finally { if (e_2) throw e_2.error; }
|
|
159
|
+
}
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
function collectExternalTargets(pkg, source, relationshipTypes) {
|
|
163
|
+
var e_3, _a;
|
|
164
|
+
var targets = [];
|
|
165
|
+
try {
|
|
166
|
+
for (var _b = __values(relationshipsForPart(pkg, source).items), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
167
|
+
var rel = _c.value;
|
|
168
|
+
if (relationshipTypes.indexOf(rel.type) === -1 || rel.targetMode !== TargetMode.External) {
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
targets.push(rel.target);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
175
|
+
finally {
|
|
176
|
+
try {
|
|
177
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
178
|
+
}
|
|
179
|
+
finally { if (e_3) throw e_3.error; }
|
|
180
|
+
}
|
|
181
|
+
return targets;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Preserve-only mail merge metadata catalog.
|
|
185
|
+
* Recipient data and data-source relationships are never fetched, executed, or
|
|
186
|
+
* mutated; connection strings and queries remain opaque.
|
|
187
|
+
* @private
|
|
188
|
+
*/
|
|
189
|
+
var MailMergeCatalog = /** @class */ (function () {
|
|
190
|
+
/**
|
|
191
|
+
* @private
|
|
192
|
+
*/
|
|
193
|
+
function MailMergeCatalog(metadata, recipientsBytes, recipientCount, sourceTargets) {
|
|
194
|
+
this.metadata = metadata;
|
|
195
|
+
this.recipientsBytes = recipientsBytes;
|
|
196
|
+
this.recipientCount = recipientCount;
|
|
197
|
+
this.sourceTargets = sourceTargets;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Whether `w:mailMerge` is present on the WordDocument Settings part.
|
|
201
|
+
*
|
|
202
|
+
* @private
|
|
203
|
+
*/
|
|
204
|
+
MailMergeCatalog.prototype.present = function () {
|
|
205
|
+
return this.metadata.present;
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* `w:mainDocumentType/@w:val`, or `undefined` when absent or unrecognized.
|
|
209
|
+
*
|
|
210
|
+
* @private
|
|
211
|
+
*/
|
|
212
|
+
MailMergeCatalog.prototype.mainDocumentType = function () {
|
|
213
|
+
return this.metadata.mainDocumentType;
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* `w:dataType/@w:val`, or `undefined` when absent.
|
|
217
|
+
*
|
|
218
|
+
* @private
|
|
219
|
+
*/
|
|
220
|
+
MailMergeCatalog.prototype.dataType = function () {
|
|
221
|
+
return this.metadata.dataType;
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* `w:destination/@w:val`, or `undefined` when absent or unrecognized.
|
|
225
|
+
*
|
|
226
|
+
* @private
|
|
227
|
+
*/
|
|
228
|
+
MailMergeCatalog.prototype.destination = function () {
|
|
229
|
+
return this.metadata.destination;
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Whether a Mail Merge Recipient Data part is related from settings.
|
|
233
|
+
*
|
|
234
|
+
* @private
|
|
235
|
+
*/
|
|
236
|
+
MailMergeCatalog.prototype.hasRecipientsPart = function () {
|
|
237
|
+
return this.recipientsBytes !== undefined;
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* Number of `recipientData` children in the recipients part.
|
|
241
|
+
*
|
|
242
|
+
* @private
|
|
243
|
+
*/
|
|
244
|
+
MailMergeCatalog.prototype.recipientRecordCount = function () {
|
|
245
|
+
return this.recipientCount;
|
|
246
|
+
};
|
|
247
|
+
/**
|
|
248
|
+
* External mail-merge data-source relationship targets. Never fetched.
|
|
249
|
+
*
|
|
250
|
+
* @private
|
|
251
|
+
*/
|
|
252
|
+
MailMergeCatalog.prototype.dataSourceTargets = function () {
|
|
253
|
+
return this.sourceTargets;
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* @private
|
|
257
|
+
*/
|
|
258
|
+
MailMergeCatalog.prototype.isDirty = function () {
|
|
259
|
+
return false;
|
|
260
|
+
};
|
|
261
|
+
/**
|
|
262
|
+
* @private
|
|
263
|
+
*/
|
|
264
|
+
MailMergeCatalog.prototype.applyToPackage = function (pkg, mainPartName) {
|
|
265
|
+
void mainPartName;
|
|
266
|
+
return pkg;
|
|
267
|
+
};
|
|
268
|
+
return MailMergeCatalog;
|
|
269
|
+
}());
|
|
270
|
+
export { MailMergeCatalog };
|
|
271
|
+
function loadMailMerge(pkg, mainPartName) {
|
|
272
|
+
var settingsPart = firstRelatedPart(pkg, mainPartName, SETTINGS_RELATIONSHIP_TYPES);
|
|
273
|
+
if (settingsPart === undefined) {
|
|
274
|
+
return new MailMergeCatalog({ present: false, mainDocumentType: undefined, dataType: undefined, destination: undefined }, undefined, 0, []);
|
|
275
|
+
}
|
|
276
|
+
var settingsRoot = parseXml(utf8Decoder.decode(settingsPart.data));
|
|
277
|
+
var metadata = parseMailMergeMetadata(settingsRoot);
|
|
278
|
+
var recipients = firstRelatedPart(pkg, settingsPart.name, RECIPIENT_DATA_RELATIONSHIP_TYPES);
|
|
279
|
+
var sourceTargets = collectExternalTargets(pkg, settingsPart.name, DATA_SOURCE_RELATIONSHIP_TYPES);
|
|
280
|
+
return new MailMergeCatalog(metadata, recipients == null ? undefined : recipients.data, countRecipientRecords(recipients == null ? undefined : recipients.data), sourceTargets);
|
|
281
|
+
}
|
|
282
|
+
var registered = false;
|
|
283
|
+
/**
|
|
284
|
+
* @private
|
|
285
|
+
* Test hook */
|
|
286
|
+
export function resetMailMergeFeatureForTests() {
|
|
287
|
+
registered = false;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* @private
|
|
291
|
+
* Register the mail-merge multi-part handler. Idempotent. */
|
|
292
|
+
export function registerMailMergeFeature() {
|
|
293
|
+
if (registered) {
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
registered = true;
|
|
297
|
+
registerFeature({ id: MAIL_MERGE });
|
|
298
|
+
registerFeatureMultiPartHandler({
|
|
299
|
+
featureId: MAIL_MERGE,
|
|
300
|
+
relationshipTypes: RECIPIENT_DATA_RELATIONSHIP_TYPES,
|
|
301
|
+
loadParts: function (pkg, ctx) {
|
|
302
|
+
return loadMailMerge(pkg, ctx.mainPartName);
|
|
303
|
+
},
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
Object.defineProperty(WordDocument.prototype, 'mailMerge', {
|
|
307
|
+
get: function () {
|
|
308
|
+
var part = this.featurePart(MAIL_MERGE);
|
|
309
|
+
if (part === undefined || !(part instanceof MailMergeCatalog)) {
|
|
310
|
+
throw new DocxError('feature/not-registered', 'Mail merge catalog was not loaded; call registerMailMergeFeature() before WordDocument.open');
|
|
311
|
+
}
|
|
312
|
+
return part;
|
|
313
|
+
},
|
|
314
|
+
});
|
|
315
|
+
registerMailMergeFeature();
|