@cj-tech-master/excelts 5.0.6 → 5.1.0
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/dist/browser/index.browser.d.ts +1 -1
- package/dist/browser/index.d.ts +1 -1
- package/dist/browser/modules/archive/unzip/stream.base.js +19 -19
- package/dist/browser/modules/archive/unzip/stream.browser.js +3 -3
- package/dist/browser/modules/csv/csv-core.js +6 -3
- package/dist/browser/modules/csv/csv.browser.js +2 -2
- package/dist/browser/modules/csv/csv.js +1 -1
- package/dist/browser/modules/excel/anchor.js +4 -4
- package/dist/browser/modules/excel/cell.js +5 -5
- package/dist/browser/modules/excel/column.js +4 -4
- package/dist/browser/modules/excel/defined-names.js +1 -1
- package/dist/browser/modules/excel/form-control.js +1 -1
- package/dist/browser/modules/excel/pivot-table.d.ts +168 -17
- package/dist/browser/modules/excel/pivot-table.js +278 -70
- package/dist/browser/modules/excel/row.js +4 -4
- package/dist/browser/modules/excel/stream/workbook-reader.browser.js +4 -4
- package/dist/browser/modules/excel/stream/workbook-writer.browser.js +4 -4
- package/dist/browser/modules/excel/stream/worksheet-reader.js +1 -1
- package/dist/browser/modules/excel/stream/worksheet-writer.js +4 -4
- package/dist/browser/modules/excel/table.js +2 -2
- package/dist/browser/modules/excel/types.d.ts +0 -4
- package/dist/browser/modules/excel/utils/cell-format.js +3 -3
- package/dist/browser/modules/excel/utils/shared-formula.js +1 -1
- package/dist/browser/modules/excel/utils/stream-buf.js +2 -2
- package/dist/browser/modules/excel/utils/string-buf.js +1 -1
- package/dist/browser/modules/excel/workbook.d.ts +0 -2
- package/dist/browser/modules/excel/workbook.js +4 -5
- package/dist/browser/modules/excel/worksheet.js +9 -9
- package/dist/browser/modules/excel/xlsx/xform/base-xform.d.ts +5 -5
- package/dist/browser/modules/excel/xlsx/xform/base-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.js +2 -2
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.js +4 -4
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.js +16 -4
- package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +3 -4
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
- package/dist/browser/modules/excel/xlsx/xform/core/app-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.js +24 -11
- package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/vml-drawing-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/list-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/list-xform.js +3 -3
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +5 -15
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +134 -52
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +14 -15
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.js +244 -70
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +13 -29
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +213 -37
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +7 -34
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +143 -41
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +101 -27
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +793 -408
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.d.ts +78 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.js +149 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.js +3 -3
- package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.js +3 -3
- package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.js +6 -6
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.js +11 -11
- package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +3 -3
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +10 -10
- package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +12 -12
- package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +2 -2
- package/dist/browser/modules/excel/xlsx/xform/style/color-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/style/style-xform.js +5 -5
- package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +5 -2
- package/dist/browser/modules/excel/xlsx/xlsx.browser.js +88 -54
- package/dist/browser/utils/env.d.ts +0 -5
- package/dist/browser/utils/env.js +0 -7
- package/dist/browser/utils/utils.base.d.ts +8 -13
- package/dist/browser/utils/utils.base.js +40 -47
- package/dist/browser/utils/utils.browser.d.ts +1 -1
- package/dist/browser/utils/utils.browser.js +1 -1
- package/dist/browser/utils/utils.d.ts +1 -1
- package/dist/browser/utils/utils.js +1 -1
- package/dist/cjs/modules/archive/unzip/stream.base.js +19 -19
- package/dist/cjs/modules/archive/unzip/stream.browser.js +3 -3
- package/dist/cjs/modules/csv/csv-core.js +6 -3
- package/dist/cjs/modules/csv/csv.browser.js +2 -2
- package/dist/cjs/modules/csv/csv.js +1 -1
- package/dist/cjs/modules/excel/anchor.js +4 -4
- package/dist/cjs/modules/excel/cell.js +5 -5
- package/dist/cjs/modules/excel/column.js +4 -4
- package/dist/cjs/modules/excel/defined-names.js +1 -1
- package/dist/cjs/modules/excel/form-control.js +1 -1
- package/dist/cjs/modules/excel/pivot-table.js +280 -70
- package/dist/cjs/modules/excel/row.js +4 -4
- package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +4 -4
- package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +4 -4
- package/dist/cjs/modules/excel/stream/worksheet-reader.js +1 -1
- package/dist/cjs/modules/excel/stream/worksheet-writer.js +4 -4
- package/dist/cjs/modules/excel/table.js +2 -2
- package/dist/cjs/modules/excel/utils/cell-format.js +3 -3
- package/dist/cjs/modules/excel/utils/shared-formula.js +1 -1
- package/dist/cjs/modules/excel/utils/stream-buf.js +2 -2
- package/dist/cjs/modules/excel/utils/string-buf.js +1 -1
- package/dist/cjs/modules/excel/workbook.js +4 -5
- package/dist/cjs/modules/excel/worksheet.js +9 -9
- package/dist/cjs/modules/excel/xlsx/xform/base-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/book/defined-name-xform.js +2 -2
- package/dist/cjs/modules/excel/xlsx/xform/book/workbook-view-xform.js +4 -4
- package/dist/cjs/modules/excel/xlsx/xform/book/workbook-xform.js +16 -4
- package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/comment/vml-shape-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/core/app-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/core/content-types-xform.js +24 -11
- package/dist/cjs/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/cjs/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/list-xform.js +3 -3
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +133 -51
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field.js +245 -71
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +212 -36
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +142 -40
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +793 -408
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.js +153 -0
- package/dist/cjs/modules/excel/xlsx/xform/sheet/cell-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/sheet/col-xform.js +3 -3
- package/dist/cjs/modules/excel/xlsx/xform/sheet/data-validations-xform.js +3 -3
- package/dist/cjs/modules/excel/xlsx/xform/sheet/header-footer-xform.js +6 -6
- package/dist/cjs/modules/excel/xlsx/xform/sheet/page-setup-xform.js +11 -11
- package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +3 -3
- package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +10 -10
- package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +12 -12
- package/dist/cjs/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +2 -2
- package/dist/cjs/modules/excel/xlsx/xform/style/color-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/style/style-xform.js +5 -5
- package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +88 -54
- package/dist/cjs/utils/env.js +0 -8
- package/dist/cjs/utils/utils.base.js +41 -54
- package/dist/cjs/utils/utils.browser.js +2 -7
- package/dist/cjs/utils/utils.js +2 -7
- package/dist/esm/modules/archive/unzip/stream.base.js +19 -19
- package/dist/esm/modules/archive/unzip/stream.browser.js +3 -3
- package/dist/esm/modules/csv/csv-core.js +6 -3
- package/dist/esm/modules/csv/csv.browser.js +2 -2
- package/dist/esm/modules/csv/csv.js +1 -1
- package/dist/esm/modules/excel/anchor.js +4 -4
- package/dist/esm/modules/excel/cell.js +5 -5
- package/dist/esm/modules/excel/column.js +4 -4
- package/dist/esm/modules/excel/defined-names.js +1 -1
- package/dist/esm/modules/excel/form-control.js +1 -1
- package/dist/esm/modules/excel/pivot-table.js +278 -70
- package/dist/esm/modules/excel/row.js +4 -4
- package/dist/esm/modules/excel/stream/workbook-reader.browser.js +4 -4
- package/dist/esm/modules/excel/stream/workbook-writer.browser.js +4 -4
- package/dist/esm/modules/excel/stream/worksheet-reader.js +1 -1
- package/dist/esm/modules/excel/stream/worksheet-writer.js +4 -4
- package/dist/esm/modules/excel/table.js +2 -2
- package/dist/esm/modules/excel/utils/cell-format.js +3 -3
- package/dist/esm/modules/excel/utils/shared-formula.js +1 -1
- package/dist/esm/modules/excel/utils/stream-buf.js +2 -2
- package/dist/esm/modules/excel/utils/string-buf.js +1 -1
- package/dist/esm/modules/excel/workbook.js +4 -5
- package/dist/esm/modules/excel/worksheet.js +9 -9
- package/dist/esm/modules/excel/xlsx/xform/base-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/book/defined-name-xform.js +2 -2
- package/dist/esm/modules/excel/xlsx/xform/book/workbook-view-xform.js +4 -4
- package/dist/esm/modules/excel/xlsx/xform/book/workbook-xform.js +16 -4
- package/dist/esm/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/comment/vml-shape-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/core/app-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/core/content-types-xform.js +24 -11
- package/dist/esm/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/esm/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/list-xform.js +3 -3
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +134 -52
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field.js +244 -70
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +213 -37
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +143 -41
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +793 -408
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.js +149 -0
- package/dist/esm/modules/excel/xlsx/xform/sheet/cell-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/sheet/col-xform.js +3 -3
- package/dist/esm/modules/excel/xlsx/xform/sheet/data-validations-xform.js +3 -3
- package/dist/esm/modules/excel/xlsx/xform/sheet/header-footer-xform.js +6 -6
- package/dist/esm/modules/excel/xlsx/xform/sheet/page-setup-xform.js +11 -11
- package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +3 -3
- package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +10 -10
- package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +12 -12
- package/dist/esm/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +2 -2
- package/dist/esm/modules/excel/xlsx/xform/style/color-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/style/style-xform.js +5 -5
- package/dist/esm/modules/excel/xlsx/xlsx.browser.js +88 -54
- package/dist/esm/utils/env.js +0 -7
- package/dist/esm/utils/utils.base.js +40 -47
- package/dist/esm/utils/utils.browser.js +1 -1
- package/dist/esm/utils/utils.js +1 -1
- package/dist/iife/excelts.iife.js +1553 -718
- package/dist/iife/excelts.iife.js.map +1 -1
- package/dist/iife/excelts.iife.min.js +36 -105
- package/dist/types/index.browser.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/modules/excel/pivot-table.d.ts +168 -17
- package/dist/types/modules/excel/types.d.ts +0 -4
- package/dist/types/modules/excel/workbook.d.ts +0 -2
- package/dist/types/modules/excel/xlsx/xform/base-xform.d.ts +5 -5
- package/dist/types/modules/excel/xlsx/xform/comment/comment-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/comment/comments-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +3 -4
- package/dist/types/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/vml-drawing-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/list-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +5 -15
- package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +14 -15
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +13 -29
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +7 -34
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +101 -27
- package/dist/types/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.d.ts +78 -0
- package/dist/types/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +5 -2
- package/dist/types/utils/env.d.ts +0 -5
- package/dist/types/utils/utils.base.d.ts +8 -13
- package/dist/types/utils/utils.browser.d.ts +1 -1
- package/dist/types/utils/utils.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,18 +1,37 @@
|
|
|
1
1
|
import { BaseXform } from "../base-xform.js";
|
|
2
|
-
import {
|
|
2
|
+
import { renderCacheField } from "./cache-field.js";
|
|
3
3
|
import { CacheFieldXform } from "./cache-field-xform.js";
|
|
4
4
|
import { XmlStream } from "../../../utils/xml-stream.js";
|
|
5
|
+
import { RawXmlCollector } from "./raw-xml-collector.js";
|
|
6
|
+
/** Attribute keys on <pivotCacheDefinition> that are individually parsed (not collected into extraRootAttrs). */
|
|
7
|
+
const KNOWN_CACHE_DEF_ROOT_KEYS = new Set([
|
|
8
|
+
"xmlns",
|
|
9
|
+
"xmlns:r",
|
|
10
|
+
"r:id",
|
|
11
|
+
"refreshOnLoad",
|
|
12
|
+
"createdVersion",
|
|
13
|
+
"refreshedVersion",
|
|
14
|
+
"minRefreshableVersion",
|
|
15
|
+
"recordCount",
|
|
16
|
+
"backgroundQuery",
|
|
17
|
+
"supportSubquery",
|
|
18
|
+
"supportAdvancedDrill"
|
|
19
|
+
]);
|
|
5
20
|
class PivotCacheDefinitionXform extends BaseXform {
|
|
6
21
|
constructor() {
|
|
7
22
|
super();
|
|
8
|
-
|
|
9
|
-
this.model = null;
|
|
23
|
+
// Parser state
|
|
10
24
|
this.currentCacheField = null;
|
|
11
25
|
this.inCacheFields = false;
|
|
12
26
|
this.inCacheSource = false;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
27
|
+
// Raw XML collectors
|
|
28
|
+
this.extLstCollector = new RawXmlCollector("extLst");
|
|
29
|
+
this.unknownCollector = new RawXmlCollector("");
|
|
30
|
+
this.unknownElementsXmlParts = [];
|
|
31
|
+
// R8-B9: Collector for non-worksheetSource children inside <cacheSource>
|
|
32
|
+
this.cacheSourceChildCollector = new RawXmlCollector("");
|
|
33
|
+
this.cacheSourceXmlParts = [];
|
|
34
|
+
this.model = null;
|
|
16
35
|
}
|
|
17
36
|
get tag() {
|
|
18
37
|
// http://www.datypic.com/sc/ooxml/e-ssml_pivotCacheDefinition.html
|
|
@@ -23,6 +42,11 @@ class PivotCacheDefinitionXform extends BaseXform {
|
|
|
23
42
|
this.currentCacheField = null;
|
|
24
43
|
this.inCacheFields = false;
|
|
25
44
|
this.inCacheSource = false;
|
|
45
|
+
this.extLstCollector.reset();
|
|
46
|
+
this.unknownCollector.reset();
|
|
47
|
+
this.unknownElementsXmlParts = [];
|
|
48
|
+
this.cacheSourceChildCollector.reset();
|
|
49
|
+
this.cacheSourceXmlParts = [];
|
|
26
50
|
}
|
|
27
51
|
/**
|
|
28
52
|
* Render pivot cache definition XML.
|
|
@@ -30,7 +54,7 @@ class PivotCacheDefinitionXform extends BaseXform {
|
|
|
30
54
|
*/
|
|
31
55
|
render(xmlStream, model) {
|
|
32
56
|
// Check if this is a loaded model (has isLoaded flag or no source property)
|
|
33
|
-
const isLoaded = model.isLoaded || !("source" in model);
|
|
57
|
+
const isLoaded = ("isLoaded" in model && model.isLoaded) || !("source" in model);
|
|
34
58
|
if (isLoaded) {
|
|
35
59
|
this.renderLoaded(xmlStream, model);
|
|
36
60
|
}
|
|
@@ -43,8 +67,8 @@ class PivotCacheDefinitionXform extends BaseXform {
|
|
|
43
67
|
*/
|
|
44
68
|
renderNew(xmlStream, model) {
|
|
45
69
|
const { source, cacheFields } = model;
|
|
46
|
-
//
|
|
47
|
-
const recordCount = source.getSheetValues().slice(2).length;
|
|
70
|
+
// R8-O2: Use Array.isArray for type safety — getSheetValues() returns a sparse array of row arrays
|
|
71
|
+
const recordCount = source.getSheetValues().slice(2).filter(Array.isArray).length;
|
|
48
72
|
xmlStream.openXml(XmlStream.StdDocAttributes);
|
|
49
73
|
xmlStream.openNode(this.tag, {
|
|
50
74
|
...PivotCacheDefinitionXform.PIVOT_CACHE_DEFINITION_ATTRIBUTES,
|
|
@@ -56,14 +80,16 @@ class PivotCacheDefinitionXform extends BaseXform {
|
|
|
56
80
|
recordCount
|
|
57
81
|
});
|
|
58
82
|
xmlStream.openNode("cacheSource", { type: "worksheet" });
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
83
|
+
// When source is a named Table, reference it by name (dynamic range tracking).
|
|
84
|
+
// Otherwise, reference by sheet + cell range (static).
|
|
85
|
+
const worksheetSourceAttrs = source.tableName
|
|
86
|
+
? { name: source.tableName }
|
|
87
|
+
: { ref: source.dimensions.shortRange, sheet: source.name };
|
|
88
|
+
xmlStream.leafNode("worksheetSource", worksheetSourceAttrs);
|
|
63
89
|
xmlStream.closeNode();
|
|
64
90
|
xmlStream.openNode("cacheFields", { count: cacheFields.length });
|
|
65
91
|
// Note: keeping this pretty-printed for now to ease debugging.
|
|
66
|
-
xmlStream.writeXml(
|
|
92
|
+
xmlStream.writeXml(PivotCacheDefinitionXform.renderCacheFieldsXml(cacheFields));
|
|
67
93
|
xmlStream.closeNode();
|
|
68
94
|
xmlStream.closeNode();
|
|
69
95
|
}
|
|
@@ -73,42 +99,113 @@ class PivotCacheDefinitionXform extends BaseXform {
|
|
|
73
99
|
renderLoaded(xmlStream, model) {
|
|
74
100
|
const { cacheFields, sourceRef, sourceSheet, sourceTableName, recordCount } = model;
|
|
75
101
|
xmlStream.openXml(XmlStream.StdDocAttributes);
|
|
76
|
-
|
|
102
|
+
const rootAttrs = {
|
|
77
103
|
...PivotCacheDefinitionXform.PIVOT_CACHE_DEFINITION_ATTRIBUTES,
|
|
78
|
-
"r:id": model.rId
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
104
|
+
"r:id": model.rId ?? "rId1"
|
|
105
|
+
};
|
|
106
|
+
// Only emit refreshOnLoad when it was present in the original file.
|
|
107
|
+
// Forcing "1" causes Excel to recalculate the cache on every open.
|
|
108
|
+
// Placed before createdVersion to match Excel's attribute ordering.
|
|
109
|
+
if (model.refreshOnLoad) {
|
|
110
|
+
rootAttrs.refreshOnLoad = model.refreshOnLoad;
|
|
111
|
+
}
|
|
112
|
+
rootAttrs.createdVersion = model.createdVersion ?? "8";
|
|
113
|
+
rootAttrs.refreshedVersion = model.refreshedVersion ?? "8";
|
|
114
|
+
rootAttrs.minRefreshableVersion = model.minRefreshableVersion ?? "3";
|
|
115
|
+
// Only emit recordCount when it was present in the original file
|
|
116
|
+
if (recordCount !== undefined) {
|
|
117
|
+
rootAttrs.recordCount = recordCount;
|
|
118
|
+
}
|
|
119
|
+
// BUG-26: Preserve additional root attributes
|
|
120
|
+
if (model.backgroundQuery) {
|
|
121
|
+
rootAttrs.backgroundQuery = model.backgroundQuery;
|
|
122
|
+
}
|
|
123
|
+
if (model.supportSubquery) {
|
|
124
|
+
rootAttrs.supportSubquery = model.supportSubquery;
|
|
125
|
+
}
|
|
126
|
+
if (model.supportAdvancedDrill) {
|
|
127
|
+
rootAttrs.supportAdvancedDrill = model.supportAdvancedDrill;
|
|
128
|
+
}
|
|
129
|
+
// Extra unknown root attributes (roundtrip bag)
|
|
130
|
+
if (model.extraRootAttrs) {
|
|
131
|
+
for (const [k, v] of Object.entries(model.extraRootAttrs)) {
|
|
132
|
+
rootAttrs[k] = v;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
xmlStream.openNode(this.tag, rootAttrs);
|
|
136
|
+
xmlStream.openNode("cacheSource", { type: model.cacheSourceType ?? "worksheet" });
|
|
137
|
+
// R8-B8/B14: Only emit <worksheetSource> when the source type is worksheet (or default)
|
|
138
|
+
// and at least one source attribute is defined. Non-worksheet types (e.g. "consolidation",
|
|
139
|
+
// "external") don't use <worksheetSource>.
|
|
140
|
+
const isWorksheetSource = !model.cacheSourceType || model.cacheSourceType === "worksheet";
|
|
141
|
+
if (isWorksheetSource) {
|
|
142
|
+
// worksheetSource supports two reference styles:
|
|
143
|
+
// 1. name: references a named Table
|
|
144
|
+
// 2. ref + sheet: references a cell range on a worksheet
|
|
145
|
+
const worksheetSourceAttrs = sourceTableName
|
|
146
|
+
? { name: sourceTableName }
|
|
147
|
+
: { ref: sourceRef, sheet: sourceSheet };
|
|
148
|
+
// BUG-28: Preserve r:id for external connections
|
|
149
|
+
if (model.worksheetSourceRId) {
|
|
150
|
+
worksheetSourceAttrs["r:id"] = model.worksheetSourceRId;
|
|
151
|
+
}
|
|
152
|
+
// R8-B14: Only emit <worksheetSource> if we have at least one meaningful attribute
|
|
153
|
+
const hasAnyAttr = Object.values(worksheetSourceAttrs).some(v => v !== undefined);
|
|
154
|
+
if (hasAnyAttr) {
|
|
155
|
+
xmlStream.leafNode("worksheetSource", worksheetSourceAttrs);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// R8-B9: Emit preserved non-worksheet cacheSource children (e.g. <consolidation>)
|
|
159
|
+
if (model.cacheSourceXml) {
|
|
160
|
+
xmlStream.writeXml(model.cacheSourceXml);
|
|
161
|
+
}
|
|
93
162
|
xmlStream.closeNode();
|
|
94
163
|
xmlStream.openNode("cacheFields", { count: cacheFields.length });
|
|
95
|
-
xmlStream.writeXml(cacheFields
|
|
96
|
-
.map((cacheField) => new CacheField(cacheField).render())
|
|
97
|
-
.join("\n "));
|
|
164
|
+
xmlStream.writeXml(PivotCacheDefinitionXform.renderCacheFieldsXml(cacheFields));
|
|
98
165
|
xmlStream.closeNode();
|
|
166
|
+
// R6-BugA: Preserved unknown child elements for roundtrip
|
|
167
|
+
if (model.unknownElementsXml) {
|
|
168
|
+
xmlStream.writeXml(model.unknownElementsXml);
|
|
169
|
+
}
|
|
170
|
+
// BUG-29: Preserve extLst from original file
|
|
171
|
+
if (model.extLstXml) {
|
|
172
|
+
xmlStream.writeXml(model.extLstXml);
|
|
173
|
+
}
|
|
99
174
|
xmlStream.closeNode();
|
|
100
175
|
}
|
|
101
176
|
parseOpen(node) {
|
|
102
177
|
const { name, attributes } = node;
|
|
178
|
+
// Collect extLst XML verbatim for roundtrip preservation
|
|
179
|
+
if (this.extLstCollector.active) {
|
|
180
|
+
this.extLstCollector.feedOpen(name, attributes);
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
// Collect unknown child element XML verbatim for roundtrip preservation
|
|
184
|
+
if (this.unknownCollector.active) {
|
|
185
|
+
this.unknownCollector.feedOpen(name, attributes);
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
// R8-B9: Collect non-worksheetSource children inside <cacheSource>
|
|
189
|
+
if (this.cacheSourceChildCollector.active) {
|
|
190
|
+
this.cacheSourceChildCollector.feedOpen(name, attributes);
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
103
193
|
// Delegate to current cacheField parser if active
|
|
104
194
|
if (this.currentCacheField) {
|
|
105
195
|
this.currentCacheField.parseOpen(node);
|
|
106
196
|
return true;
|
|
107
197
|
}
|
|
108
198
|
switch (name) {
|
|
109
|
-
case this.tag:
|
|
199
|
+
case this.tag: {
|
|
110
200
|
// pivotCacheDefinition root element
|
|
111
201
|
this.reset();
|
|
202
|
+
// Collect known attributes individually and put the rest in extraRootAttrs
|
|
203
|
+
const extraRootAttrs = {};
|
|
204
|
+
for (const [k, v] of Object.entries(attributes)) {
|
|
205
|
+
if (!KNOWN_CACHE_DEF_ROOT_KEYS.has(k)) {
|
|
206
|
+
extraRootAttrs[k] = String(v);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
112
209
|
this.model = {
|
|
113
210
|
cacheFields: [],
|
|
114
211
|
rId: attributes["r:id"],
|
|
@@ -117,17 +214,29 @@ class PivotCacheDefinitionXform extends BaseXform {
|
|
|
117
214
|
refreshedVersion: attributes.refreshedVersion,
|
|
118
215
|
minRefreshableVersion: attributes.minRefreshableVersion,
|
|
119
216
|
recordCount: attributes.recordCount ? parseInt(attributes.recordCount, 10) : undefined,
|
|
217
|
+
backgroundQuery: attributes.backgroundQuery,
|
|
218
|
+
supportSubquery: attributes.supportSubquery,
|
|
219
|
+
supportAdvancedDrill: attributes.supportAdvancedDrill,
|
|
220
|
+
extraRootAttrs: Object.keys(extraRootAttrs).length > 0 ? extraRootAttrs : undefined,
|
|
120
221
|
isLoaded: true
|
|
121
222
|
};
|
|
122
223
|
break;
|
|
224
|
+
}
|
|
123
225
|
case "cacheSource":
|
|
124
226
|
this.inCacheSource = true;
|
|
227
|
+
if (this.model) {
|
|
228
|
+
this.model.cacheSourceType = attributes.type;
|
|
229
|
+
}
|
|
125
230
|
break;
|
|
126
231
|
case "worksheetSource":
|
|
127
232
|
if (this.inCacheSource && this.model) {
|
|
128
233
|
this.model.sourceRef = attributes.ref;
|
|
129
234
|
this.model.sourceSheet = attributes.sheet;
|
|
130
235
|
this.model.sourceTableName = attributes.name;
|
|
236
|
+
// Preserve r:id for external connections (BUG-28)
|
|
237
|
+
if (attributes["r:id"]) {
|
|
238
|
+
this.model.worksheetSourceRId = attributes["r:id"];
|
|
239
|
+
}
|
|
131
240
|
}
|
|
132
241
|
break;
|
|
133
242
|
case "cacheFields":
|
|
@@ -139,15 +248,75 @@ class PivotCacheDefinitionXform extends BaseXform {
|
|
|
139
248
|
this.currentCacheField.parseOpen(node);
|
|
140
249
|
}
|
|
141
250
|
break;
|
|
251
|
+
case "extLst":
|
|
252
|
+
// Start collecting extLst XML for roundtrip preservation
|
|
253
|
+
if (this.model) {
|
|
254
|
+
this.extLstCollector.start(attributes);
|
|
255
|
+
}
|
|
256
|
+
break;
|
|
257
|
+
default:
|
|
258
|
+
// R8-B9: Non-worksheetSource children inside <cacheSource> (e.g. <consolidation>)
|
|
259
|
+
// must be collected separately so they stay inside <cacheSource> on roundtrip.
|
|
260
|
+
if (this.inCacheSource && this.model) {
|
|
261
|
+
this.cacheSourceChildCollector.startAs(name, attributes);
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
// Catch-all: collect any unhandled child element as raw XML
|
|
265
|
+
// This preserves elements like calculatedItems, cacheHierarchies, kpis,
|
|
266
|
+
// dimensions, measureGroups, maps, etc. that we don't individually model.
|
|
267
|
+
if (this.model) {
|
|
268
|
+
this.unknownCollector.startAs(name, attributes);
|
|
269
|
+
}
|
|
270
|
+
break;
|
|
142
271
|
}
|
|
143
272
|
return true;
|
|
144
273
|
}
|
|
145
274
|
parseText(text) {
|
|
275
|
+
// Forward text to active collectors (B3 fix: text nodes in raw XML)
|
|
276
|
+
if (this.extLstCollector.active) {
|
|
277
|
+
this.extLstCollector.feedText(text);
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
if (this.unknownCollector.active) {
|
|
281
|
+
this.unknownCollector.feedText(text);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
// R8-B9: Forward text to cacheSource child collector
|
|
285
|
+
if (this.cacheSourceChildCollector.active) {
|
|
286
|
+
this.cacheSourceChildCollector.feedText(text);
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
146
289
|
if (this.currentCacheField) {
|
|
147
290
|
this.currentCacheField.parseText(text);
|
|
148
291
|
}
|
|
149
292
|
}
|
|
150
293
|
parseClose(name) {
|
|
294
|
+
// Handle extLst collection — close tags
|
|
295
|
+
if (this.extLstCollector.active) {
|
|
296
|
+
if (this.extLstCollector.feedClose(name)) {
|
|
297
|
+
if (this.model) {
|
|
298
|
+
this.model.extLstXml = this.extLstCollector.result;
|
|
299
|
+
}
|
|
300
|
+
this.extLstCollector.reset();
|
|
301
|
+
}
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
// Handle unknown element collection — close tags
|
|
305
|
+
if (this.unknownCollector.active) {
|
|
306
|
+
if (this.unknownCollector.feedClose(name)) {
|
|
307
|
+
this.unknownElementsXmlParts.push(this.unknownCollector.result);
|
|
308
|
+
this.unknownCollector.reset();
|
|
309
|
+
}
|
|
310
|
+
return true;
|
|
311
|
+
}
|
|
312
|
+
// R8-B9: Handle cacheSource child collection — close tags
|
|
313
|
+
if (this.cacheSourceChildCollector.active) {
|
|
314
|
+
if (this.cacheSourceChildCollector.feedClose(name)) {
|
|
315
|
+
this.cacheSourceXmlParts.push(this.cacheSourceChildCollector.result);
|
|
316
|
+
this.cacheSourceChildCollector.reset();
|
|
317
|
+
}
|
|
318
|
+
return true;
|
|
319
|
+
}
|
|
151
320
|
// Delegate to current cacheField parser if active
|
|
152
321
|
if (this.currentCacheField) {
|
|
153
322
|
if (!this.currentCacheField.parseClose(name)) {
|
|
@@ -161,10 +330,17 @@ class PivotCacheDefinitionXform extends BaseXform {
|
|
|
161
330
|
}
|
|
162
331
|
switch (name) {
|
|
163
332
|
case this.tag:
|
|
164
|
-
// End of pivotCacheDefinition
|
|
333
|
+
// End of pivotCacheDefinition — store any collected unknown elements
|
|
334
|
+
if (this.model && this.unknownElementsXmlParts.length > 0) {
|
|
335
|
+
this.model.unknownElementsXml = this.unknownElementsXmlParts.join("");
|
|
336
|
+
}
|
|
165
337
|
return false;
|
|
166
338
|
case "cacheSource":
|
|
167
339
|
this.inCacheSource = false;
|
|
340
|
+
// R8-B9: Store collected cacheSource children on model
|
|
341
|
+
if (this.model && this.cacheSourceXmlParts.length > 0) {
|
|
342
|
+
this.model.cacheSourceXml = this.cacheSourceXmlParts.join("");
|
|
343
|
+
}
|
|
168
344
|
break;
|
|
169
345
|
case "cacheFields":
|
|
170
346
|
this.inCacheFields = false;
|
|
@@ -172,8 +348,8 @@ class PivotCacheDefinitionXform extends BaseXform {
|
|
|
172
348
|
}
|
|
173
349
|
return true;
|
|
174
350
|
}
|
|
175
|
-
|
|
176
|
-
|
|
351
|
+
static renderCacheFieldsXml(cacheFields) {
|
|
352
|
+
return "\n " + cacheFields.map(cf => renderCacheField(cf)).join("\n ");
|
|
177
353
|
}
|
|
178
354
|
}
|
|
179
355
|
PivotCacheDefinitionXform.PIVOT_CACHE_DEFINITION_ATTRIBUTES = {
|
|
@@ -1,49 +1,23 @@
|
|
|
1
|
+
import { XmlStream } from "@excel/utils/xml-stream";
|
|
1
2
|
import { BaseXform } from "@excel/xlsx/xform/base-xform";
|
|
2
|
-
import type { PivotTableSource } from "@excel/pivot-table";
|
|
3
|
+
import type { PivotTableSource, ParsedCacheRecords, CacheField } from "@excel/pivot-table";
|
|
3
4
|
/**
|
|
4
5
|
* Model for generating pivot cache records (with live source)
|
|
5
6
|
*/
|
|
6
7
|
interface CacheRecordsModel {
|
|
7
8
|
source: PivotTableSource;
|
|
8
|
-
cacheFields:
|
|
9
|
+
cacheFields: CacheField[];
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
* Parsed record value - can be:
|
|
12
|
-
* - { type: 'x', value: number } - Shared item index
|
|
13
|
-
* - { type: 'n', value: number } - Numeric value
|
|
14
|
-
* - { type: 's', value: string } - String value
|
|
15
|
-
* - { type: 'b', value: boolean } - Boolean value
|
|
16
|
-
* - { type: 'm' } - Missing/null value
|
|
17
|
-
* - { type: 'd', value: Date } - Date value
|
|
18
|
-
* - { type: 'e', value: string } - Error value
|
|
19
|
-
*/
|
|
20
|
-
interface RecordValue {
|
|
21
|
-
type: "x" | "n" | "s" | "b" | "m" | "d" | "e";
|
|
22
|
-
value?: any;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Parsed cache records model
|
|
26
|
-
*/
|
|
27
|
-
interface ParsedCacheRecordsModel {
|
|
28
|
-
records: RecordValue[][];
|
|
29
|
-
count: number;
|
|
30
|
-
isLoaded?: boolean;
|
|
31
|
-
}
|
|
32
|
-
declare class PivotCacheRecordsXform extends BaseXform {
|
|
33
|
-
map: {
|
|
34
|
-
[key: string]: any;
|
|
35
|
-
};
|
|
36
|
-
model: ParsedCacheRecordsModel | null;
|
|
11
|
+
declare class PivotCacheRecordsXform extends BaseXform<ParsedCacheRecords | null> {
|
|
37
12
|
private currentRecord;
|
|
38
13
|
constructor();
|
|
39
|
-
prepare(_model: any): void;
|
|
40
14
|
get tag(): string;
|
|
41
15
|
reset(): void;
|
|
42
16
|
/**
|
|
43
17
|
* Render pivot cache records XML.
|
|
44
18
|
* Supports both newly created models (with PivotTableSource) and loaded models.
|
|
45
19
|
*/
|
|
46
|
-
render(xmlStream:
|
|
20
|
+
render(xmlStream: XmlStream, model: CacheRecordsModel | ParsedCacheRecords): void;
|
|
47
21
|
/**
|
|
48
22
|
* Render newly created pivot cache records
|
|
49
23
|
*/
|
|
@@ -61,8 +35,7 @@ declare class PivotCacheRecordsXform extends BaseXform {
|
|
|
61
35
|
parseOpen(node: any): boolean;
|
|
62
36
|
parseText(_text: string): void;
|
|
63
37
|
parseClose(name: string): boolean;
|
|
64
|
-
|
|
65
|
-
static PIVOT_CACHE_RECORDS_ATTRIBUTES: {
|
|
38
|
+
static readonly PIVOT_CACHE_RECORDS_ATTRIBUTES: {
|
|
66
39
|
xmlns: string;
|
|
67
40
|
"xmlns:r": string;
|
|
68
41
|
"xmlns:mc": string;
|
|
@@ -70,4 +43,4 @@ declare class PivotCacheRecordsXform extends BaseXform {
|
|
|
70
43
|
"xmlns:xr": string;
|
|
71
44
|
};
|
|
72
45
|
}
|
|
73
|
-
export { PivotCacheRecordsXform
|
|
46
|
+
export { PivotCacheRecordsXform };
|