@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,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Always-on body/run/inline / package-part feature bootstrap (tables,
|
|
3
|
+
* content-controls, images, drawing, bookmarks, fields, numbering, sections,
|
|
4
|
+
* headers-footers, comments, revisions).
|
|
5
|
+
*
|
|
6
|
+
* Core never imports feature modules. Feature entry side-effects (and the main
|
|
7
|
+
* `@syncfusion/ej2-docx` entry) register idempotent `register*Feature` callbacks here so
|
|
8
|
+
* every `WordDocument.create` / `fromPackage` re-arms handlers after test resets.
|
|
9
|
+
* Numbering uses the same hook to re-arm its `registerFeaturePartHandler` for
|
|
10
|
+
* `/word/numbering.xml`. Headers/footers and comments re-arm
|
|
11
|
+
* `registerFeatureMultiPartHandler` for their relationship types (comments also
|
|
12
|
+
* registers inline/run-leaf handlers for range markers and `commentReference`).
|
|
13
|
+
* Sections re-arm WordDocument.create wrapping and feature registration for typed
|
|
14
|
+
* `w:sectPr` (not classic body-block handlers). Revisions re-arm inline/block
|
|
15
|
+
* track-change handlers and move-range markers (no package part).
|
|
16
|
+
*
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
var __values = (this && this.__values) || function (o) {
|
|
20
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
21
|
+
if (m) return m.call(o);
|
|
22
|
+
return {
|
|
23
|
+
next: function () {
|
|
24
|
+
if (o && i >= o.length) o = void 0;
|
|
25
|
+
return { value: o && o[i++], done: !o };
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
var bootstraps = [];
|
|
30
|
+
/**
|
|
31
|
+
* Register a callback invoked before main-document body parse/create.
|
|
32
|
+
* Idempotent registration of the feature itself is the callee's job.
|
|
33
|
+
*
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
export function registerAlwaysOnBodyFeatureBootstrap(fn) {
|
|
37
|
+
bootstraps.push(fn);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Run all always-on body feature bootstraps. Safe when none are registered
|
|
41
|
+
* (pure core without main entry / feature imports).
|
|
42
|
+
*
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
export function ensureAlwaysOnBodyFeaturesRegistered() {
|
|
46
|
+
var e_1, _a;
|
|
47
|
+
try {
|
|
48
|
+
for (var bootstraps_1 = __values(bootstraps), bootstraps_1_1 = bootstraps_1.next(); !bootstraps_1_1.done; bootstraps_1_1 = bootstraps_1.next()) {
|
|
49
|
+
var fn = bootstraps_1_1.value;
|
|
50
|
+
fn();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
54
|
+
finally {
|
|
55
|
+
try {
|
|
56
|
+
if (bootstraps_1_1 && !bootstraps_1_1.done && (_a = bootstraps_1.return)) _a.call(bootstraps_1);
|
|
57
|
+
}
|
|
58
|
+
finally { if (e_1) throw e_1.error; }
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @private
|
|
63
|
+
* Test hook — clear bootstrap list (does not unregister handlers). */
|
|
64
|
+
export function resetAlwaysOnBodyFeatureBootstrapsForTests() {
|
|
65
|
+
bootstraps.length = 0;
|
|
66
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { registerFeatureBlockHandler, resetFeatureBlockHandlers, tryParseFeatureBlock, serializeFeatureBlock, BodyBlockParseContext, FeatureBlockHandler } from '../../core/registry/block-handlers';
|
|
2
|
+
import { BlockContent } from './paragraph';
|
|
3
|
+
import { OpenXmlChild, OpenXmlElement } from '../../core/xml/index';
|
|
4
|
+
export { BodyBlockParseContext, FeatureBlockHandler };
|
|
5
|
+
export { registerFeatureBlockHandler, resetFeatureBlockHandlers, tryParseFeatureBlock, serializeFeatureBlock, };
|
|
6
|
+
export declare function parseBodyBlocks(children: ReadonlyArray<OpenXmlChild>, ctx: BodyBlockParseContext): BlockContent[];
|
|
7
|
+
export declare function serializeBodyBlocks(blocks: ReadonlyArray<BlockContent>): OpenXmlElement[];
|
|
@@ -0,0 +1,78 @@
|
|
|
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 { registerFeatureBlockHandler, resetFeatureBlockHandlers, tryParseFeatureBlock, serializeFeatureBlock } from '../../core/registry/block-handlers';
|
|
12
|
+
import { Paragraph, shouldEmitPageBreakAfterParagraph, createPageBreakAfterParagraphElement, } from './paragraph';
|
|
13
|
+
import { isWml } from './wml';
|
|
14
|
+
export { registerFeatureBlockHandler, resetFeatureBlockHandlers, tryParseFeatureBlock, serializeFeatureBlock, };
|
|
15
|
+
export function parseBodyBlocks(children, ctx) {
|
|
16
|
+
var e_1, _a;
|
|
17
|
+
var blocks = [];
|
|
18
|
+
try {
|
|
19
|
+
for (var children_1 = __values(children), children_1_1 = children_1.next(); !children_1_1.done; children_1_1 = children_1.next()) {
|
|
20
|
+
var child = children_1_1.value;
|
|
21
|
+
if (child.kind !== 'element') {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (isWml(child, 'p')) {
|
|
25
|
+
var parsed = Paragraph.fromXml(child, ctx);
|
|
26
|
+
blocks.push({ type: 'paragraph', paragraph: parsed });
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
var feature = tryParseFeatureBlock(child, ctx);
|
|
30
|
+
if (feature !== undefined) {
|
|
31
|
+
blocks.push(feature);
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
blocks.push({ type: 'opaque', xml: child });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
38
|
+
finally {
|
|
39
|
+
try {
|
|
40
|
+
if (children_1_1 && !children_1_1.done && (_a = children_1.return)) _a.call(children_1);
|
|
41
|
+
}
|
|
42
|
+
finally { if (e_1) throw e_1.error; }
|
|
43
|
+
}
|
|
44
|
+
return blocks;
|
|
45
|
+
}
|
|
46
|
+
export function serializeBodyBlocks(blocks) {
|
|
47
|
+
var e_2, _a;
|
|
48
|
+
var out = [];
|
|
49
|
+
try {
|
|
50
|
+
for (var blocks_1 = __values(blocks), blocks_1_1 = blocks_1.next(); !blocks_1_1.done; blocks_1_1 = blocks_1.next()) {
|
|
51
|
+
var block = blocks_1_1.value;
|
|
52
|
+
if (block.type === 'paragraph') {
|
|
53
|
+
out.push(block.paragraph.toOpenXml());
|
|
54
|
+
// DocIO pageBreakAfter: emit a separate page-break paragraph after
|
|
55
|
+
// content — never invent w:pageBreakAfter on pPr, and never put the
|
|
56
|
+
// break run inside the content paragraph.
|
|
57
|
+
// Citation: ECMA-376-1 §17.3.3.1 w:br; docs/specs/paragraph-formatting.md.
|
|
58
|
+
if (shouldEmitPageBreakAfterParagraph(block.paragraph)) {
|
|
59
|
+
out.push(createPageBreakAfterParagraphElement());
|
|
60
|
+
}
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (block.type === 'feature') {
|
|
64
|
+
out.push(serializeFeatureBlock(block));
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
out.push(block.xml);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
71
|
+
finally {
|
|
72
|
+
try {
|
|
73
|
+
if (blocks_1_1 && !blocks_1_1.done && (_a = blocks_1.return)) _a.call(blocks_1);
|
|
74
|
+
}
|
|
75
|
+
finally { if (e_2) throw e_2.error; }
|
|
76
|
+
}
|
|
77
|
+
return out;
|
|
78
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BodyItem } from './body-item';
|
|
2
|
+
import { BlockContent } from './paragraph';
|
|
3
|
+
import { FeatureId } from '../../core/registry/feature-registry';
|
|
4
|
+
import { FeatureBlock } from './feature-block';
|
|
5
|
+
/**
|
|
6
|
+
* @private
|
|
7
|
+
* Feature-block wrapper on the internal body store.
|
|
8
|
+
*/
|
|
9
|
+
export declare type FeatureBodyBlock = {
|
|
10
|
+
readonly type: 'feature';
|
|
11
|
+
readonly featureId: FeatureId;
|
|
12
|
+
readonly value: FeatureBlock;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* @private
|
|
16
|
+
* Maps a feature {@link BlockContent} entry to/from a public body-item instance.
|
|
17
|
+
*/
|
|
18
|
+
export declare type BodyItemAdapter = {
|
|
19
|
+
/**
|
|
20
|
+
* Project an internal feature block to a public instance, or `undefined` to skip.
|
|
21
|
+
*/
|
|
22
|
+
project(block: FeatureBodyBlock): BodyItem | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Wrap a public instance as an internal feature block, or `undefined` if not this kind.
|
|
25
|
+
*/
|
|
26
|
+
toBlock(item: BodyItem): FeatureBodyBlock | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* True when `item` is a public instance owned by this adapter.
|
|
29
|
+
*/
|
|
30
|
+
isInstance(item: unknown): item is BodyItem;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* @private
|
|
34
|
+
* Register a feature adapter (tables, block content controls). Idempotent per call site.
|
|
35
|
+
*/
|
|
36
|
+
export declare function registerBodyItemAdapter(adapter: BodyItemAdapter): void;
|
|
37
|
+
/**
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
export declare function resetBodyItemAdaptersForTests(): void;
|
|
41
|
+
/**
|
|
42
|
+
* @private
|
|
43
|
+
* Project an internal store entry to a public {@link BodyItem}, or `undefined`
|
|
44
|
+
* when the block is opaque / unregistered feature markup (preserved off the public list).
|
|
45
|
+
*/
|
|
46
|
+
export declare function projectBlockToBodyItem(block: BlockContent): BodyItem | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* @private
|
|
49
|
+
* Convert a public body item to an internal {@link BlockContent} entry.
|
|
50
|
+
*
|
|
51
|
+
* Accepts direct {@link BodyItem} instances. Also unwraps legacy
|
|
52
|
+
* `{ type: 'paragraph', paragraph }` / feature BlockContent-shaped values so
|
|
53
|
+
* older call sites continue to work during the DOM flatten migration.
|
|
54
|
+
*
|
|
55
|
+
* @throws TypeError when `item` is not a supported public body item.
|
|
56
|
+
*/
|
|
57
|
+
export declare function bodyItemToBlock(item: BodyItem): BlockContent;
|
|
58
|
+
/**
|
|
59
|
+
* @private
|
|
60
|
+
* True when `value` is a public body item (paragraph or registered feature instance).
|
|
61
|
+
*/
|
|
62
|
+
export declare function isSupportedBodyItem(value: unknown): value is BodyItem;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { isParagraphBodyItem } from './body-item';
|
|
2
|
+
import { Paragraph } from './paragraph';
|
|
3
|
+
var adapters = [];
|
|
4
|
+
/**
|
|
5
|
+
* @private
|
|
6
|
+
* Register a feature adapter (tables, block content controls). Idempotent per call site.
|
|
7
|
+
*/
|
|
8
|
+
export function registerBodyItemAdapter(adapter) {
|
|
9
|
+
// Replace existing adapter with the same instance-predicate when re-registered in tests.
|
|
10
|
+
for (var i = 0; i < adapters.length; i += 1) {
|
|
11
|
+
if (adapters[i] === adapter) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
adapters.push(adapter);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
export function resetBodyItemAdaptersForTests() {
|
|
21
|
+
adapters.length = 0;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @private
|
|
25
|
+
* Project an internal store entry to a public {@link BodyItem}, or `undefined`
|
|
26
|
+
* when the block is opaque / unregistered feature markup (preserved off the public list).
|
|
27
|
+
*/
|
|
28
|
+
export function projectBlockToBodyItem(block) {
|
|
29
|
+
if (block.type === 'paragraph') {
|
|
30
|
+
return block.paragraph;
|
|
31
|
+
}
|
|
32
|
+
if (block.type === 'opaque') {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
var featureBlock = block;
|
|
36
|
+
for (var i = 0; i < adapters.length; i += 1) {
|
|
37
|
+
var projected = adapters[i].project(featureBlock);
|
|
38
|
+
if (projected !== undefined) {
|
|
39
|
+
return projected;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @private
|
|
46
|
+
* Convert a public body item to an internal {@link BlockContent} entry.
|
|
47
|
+
*
|
|
48
|
+
* Accepts direct {@link BodyItem} instances. Also unwraps legacy
|
|
49
|
+
* `{ type: 'paragraph', paragraph }` / feature BlockContent-shaped values so
|
|
50
|
+
* older call sites continue to work during the DOM flatten migration.
|
|
51
|
+
*
|
|
52
|
+
* @throws TypeError when `item` is not a supported public body item.
|
|
53
|
+
*/
|
|
54
|
+
export function bodyItemToBlock(item) {
|
|
55
|
+
if (isParagraphBodyItem(item)) {
|
|
56
|
+
return { type: 'paragraph', paragraph: item };
|
|
57
|
+
}
|
|
58
|
+
// Legacy BlockContent wrapper still appearing in some tests/callers.
|
|
59
|
+
if (typeof item === 'object' && item !== null) {
|
|
60
|
+
var candidate = item;
|
|
61
|
+
if (candidate.type === 'paragraph' && candidate.paragraph instanceof Paragraph) {
|
|
62
|
+
return { type: 'paragraph', paragraph: candidate.paragraph };
|
|
63
|
+
}
|
|
64
|
+
if (candidate.type === 'feature' && candidate.value !== undefined) {
|
|
65
|
+
for (var i = 0; i < adapters.length; i += 1) {
|
|
66
|
+
if (adapters[i].isInstance(candidate.value)) {
|
|
67
|
+
var block = adapters[i].toBlock(candidate.value);
|
|
68
|
+
if (block !== undefined) {
|
|
69
|
+
return block;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
for (var i = 0; i < adapters.length; i += 1) {
|
|
76
|
+
var block = adapters[i].toBlock(item);
|
|
77
|
+
if (block !== undefined) {
|
|
78
|
+
return block;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
throw new TypeError('Unsupported body item type');
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* @private
|
|
85
|
+
* True when `value` is a public body item (paragraph or registered feature instance).
|
|
86
|
+
*/
|
|
87
|
+
export function isSupportedBodyItem(value) {
|
|
88
|
+
if (value instanceof Paragraph) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
for (var i = 0; i < adapters.length; i += 1) {
|
|
92
|
+
if (adapters[i].isInstance(value)) {
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { BodyItem } from './body-item';
|
|
2
|
+
import { BlockContent, Paragraph } from './paragraph';
|
|
3
|
+
import { WordDocument } from './document';
|
|
4
|
+
import { Section } from './section';
|
|
5
|
+
/**
|
|
6
|
+
* @private
|
|
7
|
+
* Host that owns the internal ordered {@link BlockContent} store projected by
|
|
8
|
+
* {@link BodyItemCollection}.
|
|
9
|
+
*/
|
|
10
|
+
export interface BodyItemCollectionHost {
|
|
11
|
+
/** @private */
|
|
12
|
+
owningDocument(): WordDocument;
|
|
13
|
+
/** @private */
|
|
14
|
+
owningSection(): Section | undefined;
|
|
15
|
+
/** @private */
|
|
16
|
+
rawBlocks(): BlockContent[];
|
|
17
|
+
/** @private */
|
|
18
|
+
replaceRawBlocks(blocks: ReadonlyArray<BlockContent>): void;
|
|
19
|
+
/** @private */
|
|
20
|
+
assertAttachedParagraph(target: Paragraph): void;
|
|
21
|
+
/**
|
|
22
|
+
* @private
|
|
23
|
+
* Refresh body/section typed views after public or raw item mutations.
|
|
24
|
+
* Optional so test doubles need not implement it.
|
|
25
|
+
*/
|
|
26
|
+
notifyBodyItemsChanged?(): void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Managed mutable collection of public {@link BodyItem} instances for a body.
|
|
30
|
+
*
|
|
31
|
+
* Projects from the body's internal ordered store. Unsupported markup remains
|
|
32
|
+
* in the package but is not listed here. Index access uses own numeric
|
|
33
|
+
* properties (no `Proxy`); identity at a given index is stable across reads.
|
|
34
|
+
*
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export declare class BodyItemCollection implements Iterable<BodyItem> {
|
|
38
|
+
private readonly host;
|
|
39
|
+
private cachedLength;
|
|
40
|
+
/** @private */
|
|
41
|
+
constructor(host: BodyItemCollectionHost);
|
|
42
|
+
/**
|
|
43
|
+
* Number of public body items (paragraphs, tables, block content controls).
|
|
44
|
+
*/
|
|
45
|
+
readonly count: number;
|
|
46
|
+
/**
|
|
47
|
+
* Alias of {@link count} for array-like consumers (`toHaveLength`, `items.length`).
|
|
48
|
+
*/
|
|
49
|
+
readonly length: number;
|
|
50
|
+
/**
|
|
51
|
+
* Append a body item after existing public children.
|
|
52
|
+
*
|
|
53
|
+
* @param item - Paragraph, table, or block content control instance.
|
|
54
|
+
* @returns The same `item` reference.
|
|
55
|
+
* @throws TypeError when `item` is not a supported body item.
|
|
56
|
+
* @throws DetachedObjectError when `item` is already owned.
|
|
57
|
+
*/
|
|
58
|
+
add(item: BodyItem): BodyItem;
|
|
59
|
+
/**
|
|
60
|
+
* Insert a body item at a public-items index (`0…count` inclusive).
|
|
61
|
+
*
|
|
62
|
+
* @param index - Insert-before index; `count` appends.
|
|
63
|
+
* @param item - Paragraph, table, or block content control instance.
|
|
64
|
+
* @returns The same `item` reference.
|
|
65
|
+
* @throws RangeError when `index` is outside `0…count`.
|
|
66
|
+
* @throws TypeError when `item` is not a supported body item.
|
|
67
|
+
* @throws DetachedObjectError when `item` is already owned.
|
|
68
|
+
*/
|
|
69
|
+
insert(index: number, item: BodyItem): BodyItem;
|
|
70
|
+
/**
|
|
71
|
+
* Remove a body item by instance identity.
|
|
72
|
+
*
|
|
73
|
+
* @param item - Item currently in this collection.
|
|
74
|
+
* @throws DetachedObjectError when `item` is not in this collection.
|
|
75
|
+
*/
|
|
76
|
+
remove(item: BodyItem): void;
|
|
77
|
+
/**
|
|
78
|
+
* Remove the public body item at `index` (`0…count-1`).
|
|
79
|
+
*
|
|
80
|
+
* @throws RangeError when `index` is out of range.
|
|
81
|
+
*/
|
|
82
|
+
removeAt(index: number): void;
|
|
83
|
+
/**
|
|
84
|
+
* Remove all body items (paragraphs, tables, block content controls) and
|
|
85
|
+
* detach/release owned content. Opaque unmodeled blocks are also cleared.
|
|
86
|
+
*/
|
|
87
|
+
clear(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Index of `item` in this collection, or `-1` when absent.
|
|
90
|
+
*/
|
|
91
|
+
indexOf(item: BodyItem): number;
|
|
92
|
+
/**
|
|
93
|
+
* Snapshot of public body items in order.
|
|
94
|
+
*/
|
|
95
|
+
toArray(): BodyItem[];
|
|
96
|
+
/**
|
|
97
|
+
* Invoke `fn` for each public body item.
|
|
98
|
+
*/
|
|
99
|
+
forEach(fn: (item: BodyItem, index: number) => void): void;
|
|
100
|
+
/**
|
|
101
|
+
* True when at least one public body item satisfies `predicate`.
|
|
102
|
+
*/
|
|
103
|
+
some(predicate: (item: BodyItem, index: number) => boolean): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Public body items that satisfy `predicate`.
|
|
106
|
+
*/
|
|
107
|
+
filter(predicate: (item: BodyItem, index: number) => boolean): BodyItem[];
|
|
108
|
+
/**
|
|
109
|
+
* First public body item that satisfies `predicate`, or `undefined`.
|
|
110
|
+
*/
|
|
111
|
+
find(predicate: (item: BodyItem, index: number) => boolean): BodyItem | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* Map public body items with `fn`.
|
|
114
|
+
*/
|
|
115
|
+
map<U>(fn: (item: BodyItem, index: number) => U): U[];
|
|
116
|
+
/**
|
|
117
|
+
* Iterate public body items in document order.
|
|
118
|
+
*/
|
|
119
|
+
[Symbol.iterator](): Iterator<BodyItem>;
|
|
120
|
+
/**
|
|
121
|
+
* @private
|
|
122
|
+
* Refresh numeric index properties after any raw-store mutation outside
|
|
123
|
+
* this collection (load, feature internal hooks).
|
|
124
|
+
*/
|
|
125
|
+
syncFromHost(): void;
|
|
126
|
+
/**
|
|
127
|
+
* @private
|
|
128
|
+
* Insert an internal block at a raw store index (features / load bridge).
|
|
129
|
+
*/
|
|
130
|
+
insertRawBlockAt(index: number, block: BlockContent): void;
|
|
131
|
+
/**
|
|
132
|
+
* @private
|
|
133
|
+
*/
|
|
134
|
+
removeRawBlockAt(index: number): void;
|
|
135
|
+
/**
|
|
136
|
+
* @private
|
|
137
|
+
*/
|
|
138
|
+
appendRawBlock(block: BlockContent): void;
|
|
139
|
+
/**
|
|
140
|
+
* @private
|
|
141
|
+
*/
|
|
142
|
+
indexOfRawBlock(block: BlockContent): number;
|
|
143
|
+
private project;
|
|
144
|
+
private rawIndexForPublicInsert;
|
|
145
|
+
private assertNotOwned;
|
|
146
|
+
private rebuildIndexProperties;
|
|
147
|
+
private notifyHostBodyItemsChanged;
|
|
148
|
+
}
|
|
149
|
+
export interface BodyItemCollection {
|
|
150
|
+
readonly [index: number]: BodyItem;
|
|
151
|
+
}
|