@syncfusion/ej2-docx 0.0.0-stage → 35.1.40
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/.gitleaksignore +35 -0
- package/README.md +68 -2
- package/core.js +4 -0
- package/dist/ej2-docx.umd.min.js +11 -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 +11 -0
- package/dist/global/ej2-docx.min.js.map +1 -0
- package/dist/global/index.d.ts +14 -0
- package/features.js +4 -0
- package/index.js +4 -0
- package/license +10 -0
- package/package.json +30 -3
- 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,138 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
/**
|
|
15
|
+
* Base error for every library failure. Consumers switch on {@link DocxError.code}, never on message text.
|
|
16
|
+
*
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
var DocxError = /** @class */ (function (_super) {
|
|
20
|
+
__extends(DocxError, _super);
|
|
21
|
+
function DocxError(code, message, options) {
|
|
22
|
+
var _newTarget = this.constructor;
|
|
23
|
+
var _this = _super.call(this, message) || this;
|
|
24
|
+
_this.name = _newTarget.name;
|
|
25
|
+
_this.code = code;
|
|
26
|
+
if (options !== undefined && options.cause !== undefined) {
|
|
27
|
+
_this.cause = options.cause;
|
|
28
|
+
}
|
|
29
|
+
Object.setPrototypeOf(_this, _newTarget.prototype);
|
|
30
|
+
return _this;
|
|
31
|
+
}
|
|
32
|
+
return DocxError;
|
|
33
|
+
}(Error));
|
|
34
|
+
export { DocxError };
|
|
35
|
+
/**
|
|
36
|
+
* ZIP or OPC package problems.
|
|
37
|
+
*
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
var PackageError = /** @class */ (function (_super) {
|
|
41
|
+
__extends(PackageError, _super);
|
|
42
|
+
function PackageError() {
|
|
43
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
44
|
+
}
|
|
45
|
+
return PackageError;
|
|
46
|
+
}(DocxError));
|
|
47
|
+
export { PackageError };
|
|
48
|
+
/**
|
|
49
|
+
* Well-formedness, DTD, or XML limit failures.
|
|
50
|
+
*
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
var XmlError = /** @class */ (function (_super) {
|
|
54
|
+
__extends(XmlError, _super);
|
|
55
|
+
function XmlError() {
|
|
56
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
57
|
+
}
|
|
58
|
+
return XmlError;
|
|
59
|
+
}(DocxError));
|
|
60
|
+
export { XmlError };
|
|
61
|
+
/**
|
|
62
|
+
* Security-limit and untrusted-input failures.
|
|
63
|
+
*
|
|
64
|
+
* @private
|
|
65
|
+
*/
|
|
66
|
+
var SecurityError = /** @class */ (function (_super) {
|
|
67
|
+
__extends(SecurityError, _super);
|
|
68
|
+
function SecurityError() {
|
|
69
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
70
|
+
}
|
|
71
|
+
return SecurityError;
|
|
72
|
+
}(DocxError));
|
|
73
|
+
export { SecurityError };
|
|
74
|
+
/**
|
|
75
|
+
* Markup Compatibility MustUnderstand and related failures.
|
|
76
|
+
*
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
var MarkupCompatibilityError = /** @class */ (function (_super) {
|
|
80
|
+
__extends(MarkupCompatibilityError, _super);
|
|
81
|
+
function MarkupCompatibilityError() {
|
|
82
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
83
|
+
}
|
|
84
|
+
return MarkupCompatibilityError;
|
|
85
|
+
}(DocxError));
|
|
86
|
+
export { MarkupCompatibilityError };
|
|
87
|
+
/**
|
|
88
|
+
* Exhaustiveness failure for a content union the compiler should have rejected.
|
|
89
|
+
*
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
var UnsupportedContentError = /** @class */ (function (_super) {
|
|
93
|
+
__extends(UnsupportedContentError, _super);
|
|
94
|
+
function UnsupportedContentError(message, options) {
|
|
95
|
+
return _super.call(this, 'content/unsupported', message, options) || this;
|
|
96
|
+
}
|
|
97
|
+
return UnsupportedContentError;
|
|
98
|
+
}(DocxError));
|
|
99
|
+
export { UnsupportedContentError };
|
|
100
|
+
/**
|
|
101
|
+
* Mutation of an object after it was removed from its document.
|
|
102
|
+
*
|
|
103
|
+
* @private
|
|
104
|
+
*/
|
|
105
|
+
var DetachedObjectError = /** @class */ (function (_super) {
|
|
106
|
+
__extends(DetachedObjectError, _super);
|
|
107
|
+
function DetachedObjectError(message, options) {
|
|
108
|
+
return _super.call(this, 'model/detached-object', message, options) || this;
|
|
109
|
+
}
|
|
110
|
+
return DetachedObjectError;
|
|
111
|
+
}(DocxError));
|
|
112
|
+
export { DetachedObjectError };
|
|
113
|
+
/**
|
|
114
|
+
* API argument is missing or empty where a value is required.
|
|
115
|
+
*
|
|
116
|
+
* @private
|
|
117
|
+
*/
|
|
118
|
+
var InvalidArgumentError = /** @class */ (function (_super) {
|
|
119
|
+
__extends(InvalidArgumentError, _super);
|
|
120
|
+
function InvalidArgumentError(message, options) {
|
|
121
|
+
return _super.call(this, 'argument/invalid', message, options) || this;
|
|
122
|
+
}
|
|
123
|
+
return InvalidArgumentError;
|
|
124
|
+
}(DocxError));
|
|
125
|
+
export { InvalidArgumentError };
|
|
126
|
+
/**
|
|
127
|
+
* Underlying filesystem or byte I/O failure wrapped for consumers.
|
|
128
|
+
*
|
|
129
|
+
* @private
|
|
130
|
+
*/
|
|
131
|
+
var IoError = /** @class */ (function (_super) {
|
|
132
|
+
__extends(IoError, _super);
|
|
133
|
+
function IoError(message, options) {
|
|
134
|
+
return _super.call(this, 'io/error', message, options) || this;
|
|
135
|
+
}
|
|
136
|
+
return IoError;
|
|
137
|
+
}(DocxError));
|
|
138
|
+
export { IoError };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stable machine-readable error identifiers (`area/reason`).
|
|
3
|
+
*
|
|
4
|
+
* Consumers switch on {@link DocxError.code}; this union is public API (R7.2).
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
export declare type DocxErrorCode = 'content/invalid-baseline-alignment' | 'content/invalid-shading-pattern' | 'content/invalid-text-direction' | 'content/invalid-bookmark' | 'content/invalid-editable-range' | 'content/invalid-break' | 'content/invalid-chart' | 'content/invalid-field' | 'content/invalid-header-footer-reference' | 'content/invalid-image' | 'content/invalid-image-caption-format' | 'content/invalid-image-caption-name' | 'content/invalid-image-caption-position' | 'content/invalid-ink' | 'content/invalid-ole-object' | 'content/invalid-shape' | 'content/invalid-num-id' | 'content/invalid-list-level' | 'content/invalid-style-id' | 'content/no-preceding-list' | 'content/not-in-list' | 'content/unresolved-numbering-style' | 'content/unknown-bookmark' | 'content/unknown-editable-range' | 'content/unknown-comment' | 'content/unknown-image' | 'content/unknown-ink-part' | 'content/unknown-note' | 'content/unsupported' | 'feature/invalid-id' | 'feature/not-registered' | 'argument/invalid' | 'io/error' | 'model/detached-object' | 'package/duplicate-zip-entry' | 'package/encrypted' | 'package/invalid-content-types' | 'package/invalid-document-part' | 'package/invalid-part-name' | 'package/invalid-relationships' | 'package/invalid-relationship-id' | 'package/invalid-zip' | 'package/missing-part' | 'security/entry-count' | 'security/limit-exceeded' | 'security/part-size' | 'security/relationship-count' | 'security/total-uncompressed' | 'security/zip-bomb' | 'styles/circular-based-on' | 'styles/circular-link' | 'styles/duplicate-style' | 'styles/invalid-based-on' | 'styles/invalid-link' | 'styles/invalid-type-for-target' | 'styles/undefined-style' | 'xml/dtd-forbidden' | 'xml/malformed' | 'xml/markup-compatibility';
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed errors thrown by the core library.
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export { DetachedObjectError, DocxError, InvalidArgumentError, IoError, MarkupCompatibilityError, PackageError, SecurityError, UnsupportedContentError, XmlError, } from './docx-error';
|
|
10
|
+
export { DocxErrorCode } from './error-codes';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed errors thrown by the core library.
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export { DetachedObjectError, DocxError, InvalidArgumentError, IoError, MarkupCompatibilityError, PackageError, SecurityError, UnsupportedContentError, XmlError, } from './docx-error';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core package infrastructure: errors, registry, OPC, XML, zip,
|
|
3
|
+
* Markup Compatibility, and preservation.
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
export * from './errors/index';
|
|
7
|
+
export * from './registry/index';
|
|
8
|
+
export * from './opc/index';
|
|
9
|
+
export * from './xml/index';
|
|
10
|
+
export * from './zip/index';
|
|
11
|
+
export * from './mc/index';
|
|
12
|
+
export * from './preservation/index';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core package infrastructure: errors, registry, OPC, XML, zip,
|
|
3
|
+
* Markup Compatibility, and preservation.
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
export * from './errors/index';
|
|
7
|
+
export * from './registry/index';
|
|
8
|
+
export * from './opc/index';
|
|
9
|
+
export * from './xml/index';
|
|
10
|
+
export * from './zip/index';
|
|
11
|
+
export * from './mc/index';
|
|
12
|
+
export * from './preservation/index';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OpenXmlElement } from '../xml/index';
|
|
2
|
+
export declare function isMarkupCompatibilityElement(element: OpenXmlElement, localName: string): boolean;
|
|
3
|
+
export declare function isAlternateContent(element: OpenXmlElement): boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Structural checks from ECMA-376-3 §7.5–§7.7 without flattening the tree.
|
|
6
|
+
*/
|
|
7
|
+
export declare function assertAlternateContentShape(element: OpenXmlElement): void;
|
|
@@ -0,0 +1,67 @@
|
|
|
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 { MarkupCompatibilityError } from '../errors/docx-error';
|
|
12
|
+
import { MARKUP_COMPATIBILITY_NAMESPACE } from './namespaces';
|
|
13
|
+
export function isMarkupCompatibilityElement(element, localName) {
|
|
14
|
+
return element.namespaceUri === MARKUP_COMPATIBILITY_NAMESPACE && element.localName === localName;
|
|
15
|
+
}
|
|
16
|
+
export function isAlternateContent(element) {
|
|
17
|
+
return isMarkupCompatibilityElement(element, 'AlternateContent');
|
|
18
|
+
}
|
|
19
|
+
function childElements(element) {
|
|
20
|
+
return element.children.filter(function (c) { return c.kind === 'element'; });
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Structural checks from ECMA-376-3 §7.5–§7.7 without flattening the tree.
|
|
24
|
+
*/
|
|
25
|
+
export function assertAlternateContentShape(element) {
|
|
26
|
+
var e_1, _a;
|
|
27
|
+
if (!isAlternateContent(element)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
var mcChildren = childElements(element).filter(function (c) { return c.namespaceUri === MARKUP_COMPATIBILITY_NAMESPACE; });
|
|
31
|
+
var seenFallback = false;
|
|
32
|
+
var choiceCount = 0;
|
|
33
|
+
try {
|
|
34
|
+
for (var mcChildren_1 = __values(mcChildren), mcChildren_1_1 = mcChildren_1.next(); !mcChildren_1_1.done; mcChildren_1_1 = mcChildren_1.next()) {
|
|
35
|
+
var child = mcChildren_1_1.value;
|
|
36
|
+
if (child.localName === 'Choice') {
|
|
37
|
+
if (seenFallback) {
|
|
38
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', 'Choice must not follow Fallback (ECMA-376-3 §7.5)');
|
|
39
|
+
}
|
|
40
|
+
var requires = child.attributes.find(function (a) { return a.localName === 'Requires' && a.namespaceUri === ''; });
|
|
41
|
+
if (requires === undefined || requires.value.trim().length === 0) {
|
|
42
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', 'Choice Requires is required and must list one or more prefixes (ECMA-376-3 §7.6)');
|
|
43
|
+
}
|
|
44
|
+
choiceCount += 1;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (child.localName === 'Fallback') {
|
|
48
|
+
if (seenFallback) {
|
|
49
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', 'AlternateContent may have at most one Fallback (ECMA-376-3 §7.5)');
|
|
50
|
+
}
|
|
51
|
+
seenFallback = true;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', "Unexpected Markup Compatibility child " + child.localName + " of AlternateContent (ECMA-376-3 \u00A77.5)");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
58
|
+
finally {
|
|
59
|
+
try {
|
|
60
|
+
if (mcChildren_1_1 && !mcChildren_1_1.done && (_a = mcChildren_1.return)) _a.call(mcChildren_1);
|
|
61
|
+
}
|
|
62
|
+
finally { if (e_1) throw e_1.error; }
|
|
63
|
+
}
|
|
64
|
+
if (choiceCount < 1) {
|
|
65
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', 'AlternateContent shall contain one or more Choice children (ECMA-376-3 §7.5)');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { OpenXmlElement } from '../xml/index';
|
|
2
|
+
export interface BoundPrefix {
|
|
3
|
+
readonly prefix: string;
|
|
4
|
+
readonly namespaceUri: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ProcessContentToken {
|
|
7
|
+
readonly prefix: string;
|
|
8
|
+
readonly localNameOrStar: string;
|
|
9
|
+
readonly namespaceUri: string;
|
|
10
|
+
}
|
|
11
|
+
export interface MarkupCompatibilityAttributes {
|
|
12
|
+
readonly ignorable: ReadonlyArray<BoundPrefix>;
|
|
13
|
+
readonly mustUnderstand: ReadonlyArray<BoundPrefix>;
|
|
14
|
+
readonly processContent: ReadonlyArray<ProcessContentToken>;
|
|
15
|
+
readonly preserveElements: ReadonlyArray<BoundPrefix>;
|
|
16
|
+
readonly preserveAttributes: ReadonlyArray<BoundPrefix>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Read MC attributes on one element. Prefixes are resolved with the in-scope map
|
|
20
|
+
* (ECMA-376-3 §7.2–§7.4). PreserveElements/PreserveAttributes are treated as
|
|
21
|
+
* prefix lists when present; they are not defined in the local Part 3 5th-edition
|
|
22
|
+
* text (see TASK-1007 notes).
|
|
23
|
+
*/
|
|
24
|
+
export declare function readMarkupCompatibilityAttributes(element: OpenXmlElement, scope: ReadonlyMap<string, string>): MarkupCompatibilityAttributes;
|
|
@@ -0,0 +1,82 @@
|
|
|
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 { MarkupCompatibilityError } from '../errors/docx-error';
|
|
12
|
+
import { MARKUP_COMPATIBILITY_NAMESPACE } from './namespaces';
|
|
13
|
+
function mcAttr(element, localName) {
|
|
14
|
+
return element.attributes.find(function (a) { return a.localName === localName && a.namespaceUri === MARKUP_COMPATIBILITY_NAMESPACE; });
|
|
15
|
+
}
|
|
16
|
+
function splitTokens(value) {
|
|
17
|
+
return value.trim().length === 0 ? [] : value.trim().split(/\s+/);
|
|
18
|
+
}
|
|
19
|
+
function bindPrefix(prefix, scope, what) {
|
|
20
|
+
var namespaceUri = scope.get(prefix);
|
|
21
|
+
if (namespaceUri === undefined) {
|
|
22
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', what + " prefix \"" + prefix + "\" is not bound to an in-scope namespace (ECMA-376-3 \u00A77.2)");
|
|
23
|
+
}
|
|
24
|
+
if (namespaceUri === MARKUP_COMPATIBILITY_NAMESPACE) {
|
|
25
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', what + " prefix \"" + prefix + "\" is bound to the Markup Compatibility namespace");
|
|
26
|
+
}
|
|
27
|
+
return { prefix: prefix, namespaceUri: namespaceUri };
|
|
28
|
+
}
|
|
29
|
+
function bindPrefixList(value, scope, what) {
|
|
30
|
+
if (value === undefined) {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
return splitTokens(value).map(function (prefix) { return bindPrefix(prefix, scope, what); });
|
|
34
|
+
}
|
|
35
|
+
function parseProcessContent(value, scope) {
|
|
36
|
+
var e_1, _a;
|
|
37
|
+
if (value === undefined) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
var tokens = [];
|
|
41
|
+
try {
|
|
42
|
+
for (var _b = __values(splitTokens(value)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
43
|
+
var token = _c.value;
|
|
44
|
+
var colon = token.indexOf(':');
|
|
45
|
+
if (colon <= 0 || colon === token.length - 1) {
|
|
46
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', "ProcessContent token must be prefix:local or prefix:* (ECMA-376-3 \u00A77.3), got \"" + token + "\"");
|
|
47
|
+
}
|
|
48
|
+
var prefix = token.slice(0, colon);
|
|
49
|
+
var localNameOrStar = token.slice(colon + 1);
|
|
50
|
+
var bound = bindPrefix(prefix, scope, 'ProcessContent');
|
|
51
|
+
tokens.push({
|
|
52
|
+
prefix: prefix,
|
|
53
|
+
localNameOrStar: localNameOrStar,
|
|
54
|
+
namespaceUri: bound.namespaceUri,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
59
|
+
finally {
|
|
60
|
+
try {
|
|
61
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
62
|
+
}
|
|
63
|
+
finally { if (e_1) throw e_1.error; }
|
|
64
|
+
}
|
|
65
|
+
return tokens;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Read MC attributes on one element. Prefixes are resolved with the in-scope map
|
|
69
|
+
* (ECMA-376-3 §7.2–§7.4). PreserveElements/PreserveAttributes are treated as
|
|
70
|
+
* prefix lists when present; they are not defined in the local Part 3 5th-edition
|
|
71
|
+
* text (see TASK-1007 notes).
|
|
72
|
+
*/
|
|
73
|
+
export function readMarkupCompatibilityAttributes(element, scope) {
|
|
74
|
+
var __ts33_0, __ts33_1, __ts33_2, __ts33_3, __ts33_4;
|
|
75
|
+
return {
|
|
76
|
+
ignorable: bindPrefixList(((__ts33_0 = mcAttr(element, 'Ignorable')), __ts33_0 == null ? undefined : __ts33_0.value), scope, 'Ignorable'),
|
|
77
|
+
mustUnderstand: bindPrefixList(((__ts33_1 = mcAttr(element, 'MustUnderstand')), __ts33_1 == null ? undefined : __ts33_1.value), scope, 'MustUnderstand'),
|
|
78
|
+
processContent: parseProcessContent(((__ts33_2 = mcAttr(element, 'ProcessContent')), __ts33_2 == null ? undefined : __ts33_2.value), scope),
|
|
79
|
+
preserveElements: bindPrefixList(((__ts33_3 = mcAttr(element, 'PreserveElements')), __ts33_3 == null ? undefined : __ts33_3.value), scope, 'PreserveElements'),
|
|
80
|
+
preserveAttributes: bindPrefixList(((__ts33_4 = mcAttr(element, 'PreserveAttributes')), __ts33_4 == null ? undefined : __ts33_4.value), scope, 'PreserveAttributes'),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { MARKUP_COMPATIBILITY_NAMESPACE } from './namespaces';
|
|
2
|
+
export { inScopeNamespaces } from './scope';
|
|
3
|
+
export { readMarkupCompatibilityAttributes } from './attributes';
|
|
4
|
+
export { BoundPrefix, MarkupCompatibilityAttributes, ProcessContentToken, } from './attributes';
|
|
5
|
+
export { assertAlternateContentShape, isAlternateContent, isMarkupCompatibilityElement, } from './alternate-content';
|
|
6
|
+
export { inspectMarkupCompatibility, MarkupConformance } from './inspect';
|
|
7
|
+
export { InspectMarkupCompatibilityOptions } from './inspect';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { MARKUP_COMPATIBILITY_NAMESPACE } from './namespaces';
|
|
2
|
+
export { inScopeNamespaces } from './scope';
|
|
3
|
+
export { readMarkupCompatibilityAttributes } from './attributes';
|
|
4
|
+
export { assertAlternateContentShape, isAlternateContent, isMarkupCompatibilityElement, } from './alternate-content';
|
|
5
|
+
export { inspectMarkupCompatibility, MarkupConformance } from './inspect';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OpenXmlElement } from '../xml/index';
|
|
2
|
+
export declare const MarkupConformance: {
|
|
3
|
+
Lax: "lax";
|
|
4
|
+
Strict: "strict";
|
|
5
|
+
};
|
|
6
|
+
export declare type MarkupConformance = (typeof MarkupConformance)[keyof typeof MarkupConformance];
|
|
7
|
+
export interface InspectMarkupCompatibilityOptions {
|
|
8
|
+
readonly conformance?: MarkupConformance;
|
|
9
|
+
readonly understoodNamespaces?: ReadonlySet<string>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Walk a preservation DOM: resolve MC prefixes, keep AlternateContent intact,
|
|
13
|
+
* and optionally fail MustUnderstand in strict mode. Never deletes Ignorable
|
|
14
|
+
* markup. Depth of MC elements is already counted by the XML parser.
|
|
15
|
+
*/
|
|
16
|
+
export declare function inspectMarkupCompatibility(root: OpenXmlElement, options?: InspectMarkupCompatibilityOptions): void;
|
|
@@ -0,0 +1,148 @@
|
|
|
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
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
12
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
13
|
+
if (!m) return o;
|
|
14
|
+
var i = m.call(o), r, ar = [], e;
|
|
15
|
+
try {
|
|
16
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
17
|
+
}
|
|
18
|
+
catch (error) { e = { error: error }; }
|
|
19
|
+
finally {
|
|
20
|
+
try {
|
|
21
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
22
|
+
}
|
|
23
|
+
finally { if (e) throw e.error; }
|
|
24
|
+
}
|
|
25
|
+
return ar;
|
|
26
|
+
};
|
|
27
|
+
var __spread = (this && this.__spread) || function () {
|
|
28
|
+
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
import { MarkupCompatibilityError } from '../errors/docx-error';
|
|
32
|
+
import { readMarkupCompatibilityAttributes } from './attributes';
|
|
33
|
+
import { assertAlternateContentShape } from './alternate-content';
|
|
34
|
+
import { MARKUP_COMPATIBILITY_NAMESPACE } from './namespaces';
|
|
35
|
+
import { inScopeNamespaces } from './scope';
|
|
36
|
+
function bindRequires(choice, scope) {
|
|
37
|
+
var e_1, _a;
|
|
38
|
+
var requires = choice.attributes.find(function (a) { return a.localName === 'Requires' && a.namespaceUri === ''; });
|
|
39
|
+
if (requires === undefined) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
var tokens = requires.value.trim().length === 0 ? [] : requires.value.trim().split(/\s+/);
|
|
43
|
+
try {
|
|
44
|
+
for (var tokens_1 = __values(tokens), tokens_1_1 = tokens_1.next(); !tokens_1_1.done; tokens_1_1 = tokens_1.next()) {
|
|
45
|
+
var prefix = tokens_1_1.value;
|
|
46
|
+
var namespaceUri = scope.get(prefix);
|
|
47
|
+
if (namespaceUri === undefined) {
|
|
48
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', "Choice Requires prefix \"" + prefix + "\" is not bound (ECMA-376-3 \u00A77.6)");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
53
|
+
finally {
|
|
54
|
+
try {
|
|
55
|
+
if (tokens_1_1 && !tokens_1_1.done && (_a = tokens_1.return)) _a.call(tokens_1);
|
|
56
|
+
}
|
|
57
|
+
finally { if (e_1) throw e_1.error; }
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export var MarkupConformance = {
|
|
61
|
+
Lax: 'lax',
|
|
62
|
+
Strict: 'strict',
|
|
63
|
+
};
|
|
64
|
+
function childElements(element) {
|
|
65
|
+
return element.children.filter(function (c) { return c.kind === 'element'; });
|
|
66
|
+
}
|
|
67
|
+
function walk(element, ancestors, ignorableUris, options) {
|
|
68
|
+
var e_2, _a, e_3, _b, e_4, _c, e_5, _d;
|
|
69
|
+
var chain = __spread(ancestors, [element]);
|
|
70
|
+
var scope = inScopeNamespaces(chain);
|
|
71
|
+
var mc = readMarkupCompatibilityAttributes(element, scope);
|
|
72
|
+
try {
|
|
73
|
+
for (var _e = __values(mc.ignorable), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
74
|
+
var item = _f.value;
|
|
75
|
+
ignorableUris.add(item.namespaceUri);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
79
|
+
finally {
|
|
80
|
+
try {
|
|
81
|
+
if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
|
|
82
|
+
}
|
|
83
|
+
finally { if (e_2) throw e_2.error; }
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
for (var _g = __values(mc.processContent), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
87
|
+
var token = _h.value;
|
|
88
|
+
if (!ignorableUris.has(token.namespaceUri)) {
|
|
89
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', "ProcessContent namespace " + token.namespaceUri + " is not declared Ignorable (ECMA-376-3 \u00A77.3)");
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
94
|
+
finally {
|
|
95
|
+
try {
|
|
96
|
+
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
97
|
+
}
|
|
98
|
+
finally { if (e_3) throw e_3.error; }
|
|
99
|
+
}
|
|
100
|
+
if (options.conformance === MarkupConformance.Strict) {
|
|
101
|
+
try {
|
|
102
|
+
for (var _j = __values(mc.mustUnderstand), _k = _j.next(); !_k.done; _k = _j.next()) {
|
|
103
|
+
var item = _k.value;
|
|
104
|
+
if (!options.understoodNamespaces.has(item.namespaceUri)) {
|
|
105
|
+
throw new MarkupCompatibilityError('xml/markup-compatibility', "MustUnderstand namespace is not understood: " + item.namespaceUri + " (ECMA-376-3 \u00A77.4)");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
110
|
+
finally {
|
|
111
|
+
try {
|
|
112
|
+
if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
|
|
113
|
+
}
|
|
114
|
+
finally { if (e_4) throw e_4.error; }
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
assertAlternateContentShape(element);
|
|
118
|
+
if (element.namespaceUri === MARKUP_COMPATIBILITY_NAMESPACE && element.localName === 'Choice') {
|
|
119
|
+
bindRequires(element, scope);
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
for (var _l = __values(childElements(element)), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
123
|
+
var child = _m.value;
|
|
124
|
+
walk(child, chain, ignorableUris, options);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
128
|
+
finally {
|
|
129
|
+
try {
|
|
130
|
+
if (_m && !_m.done && (_d = _l.return)) _d.call(_l);
|
|
131
|
+
}
|
|
132
|
+
finally { if (e_5) throw e_5.error; }
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Walk a preservation DOM: resolve MC prefixes, keep AlternateContent intact,
|
|
137
|
+
* and optionally fail MustUnderstand in strict mode. Never deletes Ignorable
|
|
138
|
+
* markup. Depth of MC elements is already counted by the XML parser.
|
|
139
|
+
*/
|
|
140
|
+
export function inspectMarkupCompatibility(root, options) {
|
|
141
|
+
var __ts33_0, __ts33_1;
|
|
142
|
+
var understood = new Set(((__ts33_0 = options == null ? undefined : options.understoodNamespaces), __ts33_0 != null ? __ts33_0 : []));
|
|
143
|
+
understood.add(MARKUP_COMPATIBILITY_NAMESPACE);
|
|
144
|
+
walk(root, [], new Set(), {
|
|
145
|
+
conformance: ((__ts33_1 = options == null ? undefined : options.conformance), __ts33_1 != null ? __ts33_1 : MarkupConformance.Lax),
|
|
146
|
+
understoodNamespaces: understood,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { OpenXmlElement } from '../xml/index';
|
|
2
|
+
/**
|
|
3
|
+
* In-scope prefix → namespace URI, including the default namespace as `""`.
|
|
4
|
+
* Built-in `xml` / `xmlns` prefixes are always present.
|
|
5
|
+
*/
|
|
6
|
+
export declare function inScopeNamespaces(chain: ReadonlyArray<OpenXmlElement>): ReadonlyMap<string, string>;
|
|
@@ -0,0 +1,47 @@
|
|
|
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 { XML_NAMESPACE, XMLNS_NAMESPACE } from '../xml/model';
|
|
12
|
+
/**
|
|
13
|
+
* In-scope prefix → namespace URI, including the default namespace as `""`.
|
|
14
|
+
* Built-in `xml` / `xmlns` prefixes are always present.
|
|
15
|
+
*/
|
|
16
|
+
export function inScopeNamespaces(chain) {
|
|
17
|
+
var e_1, _a, e_2, _b;
|
|
18
|
+
var map = new Map();
|
|
19
|
+
map.set('xml', XML_NAMESPACE);
|
|
20
|
+
map.set('xmlns', XMLNS_NAMESPACE);
|
|
21
|
+
try {
|
|
22
|
+
for (var chain_1 = __values(chain), chain_1_1 = chain_1.next(); !chain_1_1.done; chain_1_1 = chain_1.next()) {
|
|
23
|
+
var element = chain_1_1.value;
|
|
24
|
+
try {
|
|
25
|
+
for (var _c = __values(element.namespaceDeclarations), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
26
|
+
var decl = _d.value;
|
|
27
|
+
map.set(decl.prefix, decl.namespaceUri);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
31
|
+
finally {
|
|
32
|
+
try {
|
|
33
|
+
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
34
|
+
}
|
|
35
|
+
finally { if (e_2) throw e_2.error; }
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
40
|
+
finally {
|
|
41
|
+
try {
|
|
42
|
+
if (chain_1_1 && !chain_1_1.done && (_a = chain_1.return)) _a.call(chain_1);
|
|
43
|
+
}
|
|
44
|
+
finally { if (e_1) throw e_1.error; }
|
|
45
|
+
}
|
|
46
|
+
return map;
|
|
47
|
+
}
|