ooxml-core 0.3.0 → 0.4.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/README.md +15 -14
- package/dist/docx/load/index.cjs +11 -11
- package/dist/docx/load/index.mjs +11 -11
- package/dist/index.cjs +34 -1
- package/dist/index.mjs +34 -1
- package/dist/opc/index.cjs +18 -1
- package/dist/opc/index.mjs +18 -1
- package/dist/opc/relationship-types.d.ts +17 -0
- package/dist/opc/relationship-types.d.ts.map +1 -1
- package/dist/pptx/cli/index.cjs +122 -105
- package/dist/pptx/cli/index.mjs +122 -105
- package/dist/pptx/index.cjs +144 -127
- package/dist/pptx/index.d.ts +8 -8
- package/dist/pptx/index.d.ts.map +1 -1
- package/dist/pptx/index.mjs +144 -127
- package/dist/visio/geometry.d.ts.map +1 -1
- package/dist/visio/index.cjs +66 -6
- package/dist/visio/index.mjs +66 -6
- package/dist/visio/rounded-geometry.d.ts +9 -0
- package/dist/visio/rounded-geometry.d.ts.map +1 -1
- package/dist/xlsx/address.d.ts +42 -0
- package/dist/xlsx/address.d.ts.map +1 -0
- package/dist/xlsx/cell-styles.d.ts +25 -0
- package/dist/xlsx/cell-styles.d.ts.map +1 -0
- package/dist/xlsx/cells.d.ts +25 -0
- package/dist/xlsx/cells.d.ts.map +1 -0
- package/dist/xlsx/edit/annotations.d.ts +17 -0
- package/dist/xlsx/edit/annotations.d.ts.map +1 -0
- package/dist/xlsx/edit/band-formulas.d.ts +9 -0
- package/dist/xlsx/edit/band-formulas.d.ts.map +1 -0
- package/dist/xlsx/edit/borders.d.ts +8 -0
- package/dist/xlsx/edit/borders.d.ts.map +1 -0
- package/dist/xlsx/edit/calc-mode.d.ts +11 -0
- package/dist/xlsx/edit/calc-mode.d.ts.map +1 -0
- package/dist/xlsx/edit/cell-shift.d.ts +11 -0
- package/dist/xlsx/edit/cell-shift.d.ts.map +1 -0
- package/dist/xlsx/edit/cell-style.d.ts +9 -0
- package/dist/xlsx/edit/cell-style.d.ts.map +1 -0
- package/dist/xlsx/edit/cell-values.d.ts +21 -0
- package/dist/xlsx/edit/cell-values.d.ts.map +1 -0
- package/dist/xlsx/edit/charts.d.ts +22 -0
- package/dist/xlsx/edit/charts.d.ts.map +1 -0
- package/dist/xlsx/edit/clipboard-html-parse.d.ts +12 -0
- package/dist/xlsx/edit/clipboard-html-parse.d.ts.map +1 -0
- package/dist/xlsx/edit/clipboard-html.d.ts +8 -0
- package/dist/xlsx/edit/clipboard-html.d.ts.map +1 -0
- package/dist/xlsx/edit/clipboard-text.d.ts +8 -0
- package/dist/xlsx/edit/clipboard-text.d.ts.map +1 -0
- package/dist/xlsx/edit/clipboard.d.ts +16 -0
- package/dist/xlsx/edit/clipboard.d.ts.map +1 -0
- package/dist/xlsx/edit/columns.d.ts +11 -0
- package/dist/xlsx/edit/columns.d.ts.map +1 -0
- package/dist/xlsx/edit/conditional-formats.d.ts +17 -0
- package/dist/xlsx/edit/conditional-formats.d.ts.map +1 -0
- package/dist/xlsx/edit/context.d.ts +42 -0
- package/dist/xlsx/edit/context.d.ts.map +1 -0
- package/dist/xlsx/edit/deps.d.ts +4 -0
- package/dist/xlsx/edit/deps.d.ts.map +1 -0
- package/dist/xlsx/edit/dimensions.d.ts +13 -0
- package/dist/xlsx/edit/dimensions.d.ts.map +1 -0
- package/dist/xlsx/edit/drawings.d.ts +10 -0
- package/dist/xlsx/edit/drawings.d.ts.map +1 -0
- package/dist/xlsx/edit/duplicates.d.ts +17 -0
- package/dist/xlsx/edit/duplicates.d.ts.map +1 -0
- package/dist/xlsx/edit/fill-series.d.ts +16 -0
- package/dist/xlsx/edit/fill-series.d.ts.map +1 -0
- package/dist/xlsx/edit/fill.d.ts +14 -0
- package/dist/xlsx/edit/fill.d.ts.map +1 -0
- package/dist/xlsx/edit/filter.d.ts +17 -0
- package/dist/xlsx/edit/filter.d.ts.map +1 -0
- package/dist/xlsx/edit/find.d.ts +17 -0
- package/dist/xlsx/edit/find.d.ts.map +1 -0
- package/dist/xlsx/edit/format.d.ts +13 -0
- package/dist/xlsx/edit/format.d.ts.map +1 -0
- package/dist/xlsx/edit/history.d.ts +75 -0
- package/dist/xlsx/edit/history.d.ts.map +1 -0
- package/dist/xlsx/edit/index.d.ts +23 -0
- package/dist/xlsx/edit/index.d.ts.map +1 -0
- package/dist/xlsx/edit/merge.d.ts +11 -0
- package/dist/xlsx/edit/merge.d.ts.map +1 -0
- package/dist/xlsx/edit/outline.d.ts +14 -0
- package/dist/xlsx/edit/outline.d.ts.map +1 -0
- package/dist/xlsx/edit/page.d.ts +11 -0
- package/dist/xlsx/edit/page.d.ts.map +1 -0
- package/dist/xlsx/edit/protection.d.ts +26 -0
- package/dist/xlsx/edit/protection.d.ts.map +1 -0
- package/dist/xlsx/edit/range-math.d.ts +33 -0
- package/dist/xlsx/edit/range-math.d.ts.map +1 -0
- package/dist/xlsx/edit/row-autofit.d.ts +17 -0
- package/dist/xlsx/edit/row-autofit.d.ts.map +1 -0
- package/dist/xlsx/edit/session-calc.d.ts +24 -0
- package/dist/xlsx/edit/session-calc.d.ts.map +1 -0
- package/dist/xlsx/edit/session.d.ts +5 -0
- package/dist/xlsx/edit/session.d.ts.map +1 -0
- package/dist/xlsx/edit/sheets.d.ts +19 -0
- package/dist/xlsx/edit/sheets.d.ts.map +1 -0
- package/dist/xlsx/edit/shift-formulas.d.ts +14 -0
- package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -0
- package/dist/xlsx/edit/shift-sheet.d.ts +15 -0
- package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -0
- package/dist/xlsx/edit/sort.d.ts +17 -0
- package/dist/xlsx/edit/sort.d.ts.map +1 -0
- package/dist/xlsx/edit/structure.d.ts +10 -0
- package/dist/xlsx/edit/structure.d.ts.map +1 -0
- package/dist/xlsx/edit/table-edits.d.ts +25 -0
- package/dist/xlsx/edit/table-edits.d.ts.map +1 -0
- package/dist/xlsx/edit/table-rows.d.ts +11 -0
- package/dist/xlsx/edit/table-rows.d.ts.map +1 -0
- package/dist/xlsx/edit/tables.d.ts +11 -0
- package/dist/xlsx/edit/tables.d.ts.map +1 -0
- package/dist/xlsx/edit/test-context.d.ts +15 -0
- package/dist/xlsx/edit/test-context.d.ts.map +1 -0
- package/dist/xlsx/edit/types-clipboard.d.ts +66 -0
- package/dist/xlsx/edit/types-clipboard.d.ts.map +1 -0
- package/dist/xlsx/edit/types.d.ts +188 -0
- package/dist/xlsx/edit/types.d.ts.map +1 -0
- package/dist/xlsx/edit/validation.d.ts +21 -0
- package/dist/xlsx/edit/validation.d.ts.map +1 -0
- package/dist/xlsx/edit/view.d.ts +12 -0
- package/dist/xlsx/edit/view.d.ts.map +1 -0
- package/dist/xlsx/formula/array-context.d.ts +7 -0
- package/dist/xlsx/formula/array-context.d.ts.map +1 -0
- package/dist/xlsx/formula/ast.d.ts +108 -0
- package/dist/xlsx/formula/ast.d.ts.map +1 -0
- package/dist/xlsx/formula/call.d.ts +13 -0
- package/dist/xlsx/formula/call.d.ts.map +1 -0
- package/dist/xlsx/formula/coerce.d.ts +22 -0
- package/dist/xlsx/formula/coerce.d.ts.map +1 -0
- package/dist/xlsx/formula/context.d.ts +74 -0
- package/dist/xlsx/formula/context.d.ts.map +1 -0
- package/dist/xlsx/formula/date-serial.d.ts +26 -0
- package/dist/xlsx/formula/date-serial.d.ts.map +1 -0
- package/dist/xlsx/formula/engine-core.d.ts +19 -0
- package/dist/xlsx/formula/engine-core.d.ts.map +1 -0
- package/dist/xlsx/formula/engine-host.d.ts +51 -0
- package/dist/xlsx/formula/engine-host.d.ts.map +1 -0
- package/dist/xlsx/formula/engine-types.d.ts +31 -0
- package/dist/xlsx/formula/engine-types.d.ts.map +1 -0
- package/dist/xlsx/formula/engine-util.d.ts +10 -0
- package/dist/xlsx/formula/engine-util.d.ts.map +1 -0
- package/dist/xlsx/formula/engine.d.ts +6 -0
- package/dist/xlsx/formula/engine.d.ts.map +1 -0
- package/dist/xlsx/formula/evaluator.d.ts +17 -0
- package/dist/xlsx/formula/evaluator.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/array-shape.d.ts +3 -0
- package/dist/xlsx/formula/functions/array-shape.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/array.d.ts +6 -0
- package/dist/xlsx/formula/functions/array.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/criteria.d.ts +22 -0
- package/dist/xlsx/formula/functions/criteria.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/date-calc.d.ts +14 -0
- package/dist/xlsx/formula/functions/date-calc.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/datetime.d.ts +3 -0
- package/dist/xlsx/formula/functions/datetime.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/depreciation.d.ts +4 -0
- package/dist/xlsx/formula/functions/depreciation.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/dist-core.d.ts +22 -0
- package/dist/xlsx/formula/functions/dist-core.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/distributions-more.d.ts +4 -0
- package/dist/xlsx/formula/functions/distributions-more.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/distributions.d.ts +3 -0
- package/dist/xlsx/formula/functions/distributions.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/engineering.d.ts +3 -0
- package/dist/xlsx/formula/functions/engineering.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/financial-core.d.ts +8 -0
- package/dist/xlsx/formula/functions/financial-core.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/financial.d.ts +3 -0
- package/dist/xlsx/formula/functions/financial.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/helpers.d.ts +44 -0
- package/dist/xlsx/formula/functions/helpers.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/info.d.ts +3 -0
- package/dist/xlsx/formula/functions/info.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/lambda.d.ts +3 -0
- package/dist/xlsx/formula/functions/lambda.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/logical.d.ts +7 -0
- package/dist/xlsx/formula/functions/logical.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/lookup-core.d.ts +32 -0
- package/dist/xlsx/formula/functions/lookup-core.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/lookup.d.ts +8 -0
- package/dist/xlsx/formula/functions/lookup.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/math-combin.d.ts +5 -0
- package/dist/xlsx/formula/functions/math-combin.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/math-more.d.ts +4 -0
- package/dist/xlsx/formula/functions/math-more.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/math-sum.d.ts +6 -0
- package/dist/xlsx/formula/functions/math-sum.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/math.d.ts +7 -0
- package/dist/xlsx/formula/functions/math.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/matrix.d.ts +3 -0
- package/dist/xlsx/formula/functions/matrix.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/reference.d.ts +3 -0
- package/dist/xlsx/formula/functions/reference.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/registry.d.ts +8 -0
- package/dist/xlsx/formula/functions/registry.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical-count.d.ts +3 -0
- package/dist/xlsx/formula/functions/statistical-count.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical-more.d.ts +10 -0
- package/dist/xlsx/formula/functions/statistical-more.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical-shape.d.ts +4 -0
- package/dist/xlsx/formula/functions/statistical-shape.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical-spread.d.ts +4 -0
- package/dist/xlsx/formula/functions/statistical-spread.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical.d.ts +3 -0
- package/dist/xlsx/formula/functions/statistical.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/stats-core.d.ts +30 -0
- package/dist/xlsx/formula/functions/stats-core.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/text-convert.d.ts +4 -0
- package/dist/xlsx/formula/functions/text-convert.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/text-extra.d.ts +3 -0
- package/dist/xlsx/formula/functions/text-extra.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/text.d.ts +3 -0
- package/dist/xlsx/formula/functions/text.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/types.d.ts +30 -0
- package/dist/xlsx/formula/functions/types.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/workdays.d.ts +3 -0
- package/dist/xlsx/formula/functions/workdays.d.ts.map +1 -0
- package/dist/xlsx/formula/graph.d.ts +50 -0
- package/dist/xlsx/formula/graph.d.ts.map +1 -0
- package/dist/xlsx/formula/index.d.ts +14 -0
- package/dist/xlsx/formula/index.d.ts.map +1 -0
- package/dist/xlsx/formula/lexemes.d.ts +41 -0
- package/dist/xlsx/formula/lexemes.d.ts.map +1 -0
- package/dist/xlsx/formula/move.d.ts +23 -0
- package/dist/xlsx/formula/move.d.ts.map +1 -0
- package/dist/xlsx/formula/operators.d.ts +15 -0
- package/dist/xlsx/formula/operators.d.ts.map +1 -0
- package/dist/xlsx/formula/parser.d.ts +4 -0
- package/dist/xlsx/formula/parser.d.ts.map +1 -0
- package/dist/xlsx/formula/references.d.ts +36 -0
- package/dist/xlsx/formula/references.d.ts.map +1 -0
- package/dist/xlsx/formula/scc.d.ts +6 -0
- package/dist/xlsx/formula/scc.d.ts.map +1 -0
- package/dist/xlsx/formula/sheet-scan.d.ts +10 -0
- package/dist/xlsx/formula/sheet-scan.d.ts.map +1 -0
- package/dist/xlsx/formula/spill.d.ts +32 -0
- package/dist/xlsx/formula/spill.d.ts.map +1 -0
- package/dist/xlsx/formula/store.d.ts +10 -0
- package/dist/xlsx/formula/store.d.ts.map +1 -0
- package/dist/xlsx/formula/structured-to-a1.d.ts +18 -0
- package/dist/xlsx/formula/structured-to-a1.d.ts.map +1 -0
- package/dist/xlsx/formula/structured.d.ts +4 -0
- package/dist/xlsx/formula/structured.d.ts.map +1 -0
- package/dist/xlsx/formula/table-refs.d.ts +7 -0
- package/dist/xlsx/formula/table-refs.d.ts.map +1 -0
- package/dist/xlsx/formula/test-helpers.d.ts +32 -0
- package/dist/xlsx/formula/test-helpers.d.ts.map +1 -0
- package/dist/xlsx/formula/text-number.d.ts +11 -0
- package/dist/xlsx/formula/text-number.d.ts.map +1 -0
- package/dist/xlsx/formula/tokenizer.d.ts +21 -0
- package/dist/xlsx/formula/tokenizer.d.ts.map +1 -0
- package/dist/xlsx/formula/transform.d.ts +49 -0
- package/dist/xlsx/formula/transform.d.ts.map +1 -0
- package/dist/xlsx/formula/values.d.ts +63 -0
- package/dist/xlsx/formula/values.d.ts.map +1 -0
- package/dist/xlsx/index.cjs +20579 -0
- package/dist/xlsx/index.d.ts +14 -0
- package/dist/xlsx/index.d.ts.map +1 -0
- package/dist/xlsx/index.mjs +20396 -0
- package/dist/xlsx/layout/autofit.d.ts +12 -0
- package/dist/xlsx/layout/autofit.d.ts.map +1 -0
- package/dist/xlsx/layout/axis-metrics.d.ts +39 -0
- package/dist/xlsx/layout/axis-metrics.d.ts.map +1 -0
- package/dist/xlsx/layout/cell-view.d.ts +21 -0
- package/dist/xlsx/layout/cell-view.d.ts.map +1 -0
- package/dist/xlsx/layout/cf-evaluator.d.ts +26 -0
- package/dist/xlsx/layout/cf-evaluator.d.ts.map +1 -0
- package/dist/xlsx/layout/cf-helpers.d.ts +8 -0
- package/dist/xlsx/layout/cf-helpers.d.ts.map +1 -0
- package/dist/xlsx/layout/cf-values.d.ts +25 -0
- package/dist/xlsx/layout/cf-values.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-colors.d.ts +6 -0
- package/dist/xlsx/layout/chart-colors.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-scale.d.ts +25 -0
- package/dist/xlsx/layout/chart-scale.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-svg-cartesian.d.ts +5 -0
- package/dist/xlsx/layout/chart-svg-cartesian.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-svg-radial.d.ts +7 -0
- package/dist/xlsx/layout/chart-svg-radial.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-svg-util.d.ts +29 -0
- package/dist/xlsx/layout/chart-svg-util.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-svg.d.ts +7 -0
- package/dist/xlsx/layout/chart-svg.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-view.d.ts +42 -0
- package/dist/xlsx/layout/chart-view.d.ts.map +1 -0
- package/dist/xlsx/layout/colors.d.ts +20 -0
- package/dist/xlsx/layout/colors.d.ts.map +1 -0
- package/dist/xlsx/layout/index.d.ts +21 -0
- package/dist/xlsx/layout/index.d.ts.map +1 -0
- package/dist/xlsx/layout/metrics.d.ts +41 -0
- package/dist/xlsx/layout/metrics.d.ts.map +1 -0
- package/dist/xlsx/layout/navigate.d.ts +6 -0
- package/dist/xlsx/layout/navigate.d.ts.map +1 -0
- package/dist/xlsx/layout/ref-evaluator.d.ts +16 -0
- package/dist/xlsx/layout/ref-evaluator.d.ts.map +1 -0
- package/dist/xlsx/layout/row-autofit.d.ts +17 -0
- package/dist/xlsx/layout/row-autofit.d.ts.map +1 -0
- package/dist/xlsx/layout/sheet-queries.d.ts +37 -0
- package/dist/xlsx/layout/sheet-queries.d.ts.map +1 -0
- package/dist/xlsx/layout/style-view.d.ts +18 -0
- package/dist/xlsx/layout/style-view.d.ts.map +1 -0
- package/dist/xlsx/layout/tint.d.ts +26 -0
- package/dist/xlsx/layout/tint.d.ts.map +1 -0
- package/dist/xlsx/layout/types.d.ts +106 -0
- package/dist/xlsx/layout/types.d.ts.map +1 -0
- package/dist/xlsx/layout/units.d.ts +37 -0
- package/dist/xlsx/layout/units.d.ts.map +1 -0
- package/dist/xlsx/layout/viewport.d.ts +27 -0
- package/dist/xlsx/layout/viewport.d.ts.map +1 -0
- package/dist/xlsx/load/csv.d.ts +29 -0
- package/dist/xlsx/load/csv.d.ts.map +1 -0
- package/dist/xlsx/load/detect.d.ts +22 -0
- package/dist/xlsx/load/detect.d.ts.map +1 -0
- package/dist/xlsx/load/index.cjs +15619 -0
- package/dist/xlsx/load/index.d.ts +4 -0
- package/dist/xlsx/load/index.d.ts.map +1 -0
- package/dist/xlsx/load/index.mjs +15603 -0
- package/dist/xlsx/load/legacy-xls-sheet.d.ts +14 -0
- package/dist/xlsx/load/legacy-xls-sheet.d.ts.map +1 -0
- package/dist/xlsx/load/legacy-xls-styles.d.ts +9 -0
- package/dist/xlsx/load/legacy-xls-styles.d.ts.map +1 -0
- package/dist/xlsx/load/legacy-xls.d.ts +10 -0
- package/dist/xlsx/load/legacy-xls.d.ts.map +1 -0
- package/dist/xlsx/model.d.ts +535 -0
- package/dist/xlsx/model.d.ts.map +1 -0
- package/dist/xlsx/numfmt/builtins.d.ts +15 -0
- package/dist/xlsx/numfmt/builtins.d.ts.map +1 -0
- package/dist/xlsx/numfmt/compile.d.ts +26 -0
- package/dist/xlsx/numfmt/compile.d.ts.map +1 -0
- package/dist/xlsx/numfmt/date.d.ts +34 -0
- package/dist/xlsx/numfmt/date.d.ts.map +1 -0
- package/dist/xlsx/numfmt/decimal.d.ts +27 -0
- package/dist/xlsx/numfmt/decimal.d.ts.map +1 -0
- package/dist/xlsx/numfmt/decimals.d.ts +10 -0
- package/dist/xlsx/numfmt/decimals.d.ts.map +1 -0
- package/dist/xlsx/numfmt/format.d.ts +13 -0
- package/dist/xlsx/numfmt/format.d.ts.map +1 -0
- package/dist/xlsx/numfmt/fraction.d.ts +38 -0
- package/dist/xlsx/numfmt/fraction.d.ts.map +1 -0
- package/dist/xlsx/numfmt/general.d.ts +8 -0
- package/dist/xlsx/numfmt/general.d.ts.map +1 -0
- package/dist/xlsx/numfmt/index.d.ts +8 -0
- package/dist/xlsx/numfmt/index.d.ts.map +1 -0
- package/dist/xlsx/numfmt/input-date.d.ts +16 -0
- package/dist/xlsx/numfmt/input-date.d.ts.map +1 -0
- package/dist/xlsx/numfmt/input.d.ts +23 -0
- package/dist/xlsx/numfmt/input.d.ts.map +1 -0
- package/dist/xlsx/numfmt/number.d.ts +38 -0
- package/dist/xlsx/numfmt/number.d.ts.map +1 -0
- package/dist/xlsx/numfmt/tokenizer.d.ts +6 -0
- package/dist/xlsx/numfmt/tokenizer.d.ts.map +1 -0
- package/dist/xlsx/numfmt/types.d.ts +87 -0
- package/dist/xlsx/numfmt/types.d.ts.map +1 -0
- package/dist/xlsx/read/builtin-formats.d.ts +10 -0
- package/dist/xlsx/read/builtin-formats.d.ts.map +1 -0
- package/dist/xlsx/read/chart.d.ts +7 -0
- package/dist/xlsx/read/chart.d.ts.map +1 -0
- package/dist/xlsx/read/comments.d.ts +10 -0
- package/dist/xlsx/read/comments.d.ts.map +1 -0
- package/dist/xlsx/read/conditional.d.ts +6 -0
- package/dist/xlsx/read/conditional.d.ts.map +1 -0
- package/dist/xlsx/read/dates.d.ts +6 -0
- package/dist/xlsx/read/dates.d.ts.map +1 -0
- package/dist/xlsx/read/drawing.d.ts +10 -0
- package/dist/xlsx/read/drawing.d.ts.map +1 -0
- package/dist/xlsx/read/formula-storage.d.ts +5 -0
- package/dist/xlsx/read/formula-storage.d.ts.map +1 -0
- package/dist/xlsx/read/formula-text.d.ts +15 -0
- package/dist/xlsx/read/formula-text.d.ts.map +1 -0
- package/dist/xlsx/read/index.d.ts +3 -0
- package/dist/xlsx/read/index.d.ts.map +1 -0
- package/dist/xlsx/read/load.d.ts +7 -0
- package/dist/xlsx/read/load.d.ts.map +1 -0
- package/dist/xlsx/read/metadata.d.ts +8 -0
- package/dist/xlsx/read/metadata.d.ts.map +1 -0
- package/dist/xlsx/read/package.d.ts +60 -0
- package/dist/xlsx/read/package.d.ts.map +1 -0
- package/dist/xlsx/read/print-options.d.ts +7 -0
- package/dist/xlsx/read/print-options.d.ts.map +1 -0
- package/dist/xlsx/read/shared-strings.d.ts +13 -0
- package/dist/xlsx/read/shared-strings.d.ts.map +1 -0
- package/dist/xlsx/read/sheet-data.d.ts +15 -0
- package/dist/xlsx/read/sheet-data.d.ts.map +1 -0
- package/dist/xlsx/read/sheet-props.d.ts +21 -0
- package/dist/xlsx/read/sheet-props.d.ts.map +1 -0
- package/dist/xlsx/read/style-parts.d.ts +20 -0
- package/dist/xlsx/read/style-parts.d.ts.map +1 -0
- package/dist/xlsx/read/styles.d.ts +17 -0
- package/dist/xlsx/read/styles.d.ts.map +1 -0
- package/dist/xlsx/read/tables.d.ts +4 -0
- package/dist/xlsx/read/tables.d.ts.map +1 -0
- package/dist/xlsx/read/theme.d.ts +11 -0
- package/dist/xlsx/read/theme.d.ts.map +1 -0
- package/dist/xlsx/read/workbook-part.d.ts +23 -0
- package/dist/xlsx/read/workbook-part.d.ts.map +1 -0
- package/dist/xlsx/read/worksheet.d.ts +18 -0
- package/dist/xlsx/read/worksheet.d.ts.map +1 -0
- package/dist/xlsx/read/xml-util.d.ts +28 -0
- package/dist/xlsx/read/xml-util.d.ts.map +1 -0
- package/dist/xlsx/styles.d.ts +27 -0
- package/dist/xlsx/styles.d.ts.map +1 -0
- package/dist/xlsx/time-period.d.ts +9 -0
- package/dist/xlsx/time-period.d.ts.map +1 -0
- package/dist/xlsx/workbook.d.ts +26 -0
- package/dist/xlsx/workbook.d.ts.map +1 -0
- package/dist/xlsx/write/chart-patch.d.ts +9 -0
- package/dist/xlsx/write/chart-patch.d.ts.map +1 -0
- package/dist/xlsx/write/chart.d.ts +9 -0
- package/dist/xlsx/write/chart.d.ts.map +1 -0
- package/dist/xlsx/write/comments.d.ts +23 -0
- package/dist/xlsx/write/comments.d.ts.map +1 -0
- package/dist/xlsx/write/conditional.d.ts +5 -0
- package/dist/xlsx/write/conditional.d.ts.map +1 -0
- package/dist/xlsx/write/drawing.d.ts +10 -0
- package/dist/xlsx/write/drawing.d.ts.map +1 -0
- package/dist/xlsx/write/dynamic-array.d.ts +16 -0
- package/dist/xlsx/write/dynamic-array.d.ts.map +1 -0
- package/dist/xlsx/write/index.d.ts +2 -0
- package/dist/xlsx/write/index.d.ts.map +1 -0
- package/dist/xlsx/write/package-writer.d.ts +31 -0
- package/dist/xlsx/write/package-writer.d.ts.map +1 -0
- package/dist/xlsx/write/save.d.ts +8 -0
- package/dist/xlsx/write/save.d.ts.map +1 -0
- package/dist/xlsx/write/shared-strings.d.ts +13 -0
- package/dist/xlsx/write/shared-strings.d.ts.map +1 -0
- package/dist/xlsx/write/sheet-data.d.ts +19 -0
- package/dist/xlsx/write/sheet-data.d.ts.map +1 -0
- package/dist/xlsx/write/sheet-parts.d.ts +34 -0
- package/dist/xlsx/write/sheet-parts.d.ts.map +1 -0
- package/dist/xlsx/write/sheet-props.d.ts +16 -0
- package/dist/xlsx/write/sheet-props.d.ts.map +1 -0
- package/dist/xlsx/write/snapshot.d.ts +9 -0
- package/dist/xlsx/write/snapshot.d.ts.map +1 -0
- package/dist/xlsx/write/style-xml.d.ts +13 -0
- package/dist/xlsx/write/style-xml.d.ts.map +1 -0
- package/dist/xlsx/write/styles.d.ts +24 -0
- package/dist/xlsx/write/styles.d.ts.map +1 -0
- package/dist/xlsx/write/tables.d.ts +18 -0
- package/dist/xlsx/write/tables.d.ts.map +1 -0
- package/dist/xlsx/write/theme.d.ts +9 -0
- package/dist/xlsx/write/theme.d.ts.map +1 -0
- package/dist/xlsx/write/workbook-part.d.ts +16 -0
- package/dist/xlsx/write/workbook-part.d.ts.map +1 -0
- package/dist/xlsx/write/worksheet.d.ts +6 -0
- package/dist/xlsx/write/worksheet.d.ts.map +1 -0
- package/dist/xlsx/write/xml-out.d.ts +25 -0
- package/dist/xlsx/write/xml-out.d.ts.map +1 -0
- package/dist/xml/index.cjs +16 -0
- package/dist/xml/index.mjs +16 -0
- package/dist/xml/namespaces.d.ts +16 -0
- package/dist/xml/namespaces.d.ts.map +1 -1
- package/package.json +16 -3
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { CellRange } from '../address.js';
|
|
2
|
+
import type { Workbook } from '../model.js';
|
|
3
|
+
import type { FormulaAst, FormulaError } from './ast.js';
|
|
4
|
+
import type { Matrix, RefValue, Scalar, Scope, Value } from './values.js';
|
|
5
|
+
/** What the evaluator needs from its environment; the calc engine implements it. */
|
|
6
|
+
export interface EvalHost {
|
|
7
|
+
readonly workbook: Workbook;
|
|
8
|
+
/** A cell's value, computing a pending formula first. */
|
|
9
|
+
readCell(sheet: number, row: number, col: number): Scalar;
|
|
10
|
+
/** Visits stored cells with a non-null value inside a range, in row-major order. */
|
|
11
|
+
forEachStored(sheet: number, range: CellRange, visit: (value: Scalar, row: number, col: number) => void): void;
|
|
12
|
+
/** One past the last stored row and column of a sheet. */
|
|
13
|
+
bounds(sheet: number): {
|
|
14
|
+
rows: number;
|
|
15
|
+
cols: number;
|
|
16
|
+
};
|
|
17
|
+
/** The spill range anchored at a cell, if it currently spills. */
|
|
18
|
+
spillRange(sheet: number, row: number, col: number): CellRange | undefined;
|
|
19
|
+
/** The formula text of a cell, if it has one. */
|
|
20
|
+
cellFormula(sheet: number, row: number, col: number): string | undefined;
|
|
21
|
+
/** Parses with caching. */
|
|
22
|
+
parse(formula: string): FormulaAst | FormulaError;
|
|
23
|
+
now(): Date;
|
|
24
|
+
random(): number;
|
|
25
|
+
}
|
|
26
|
+
/** One evaluation: where the formula lives and which LET / LAMBDA variables are in scope. */
|
|
27
|
+
export interface Frame {
|
|
28
|
+
readonly host: EvalHost;
|
|
29
|
+
readonly sheet: number;
|
|
30
|
+
readonly row: number;
|
|
31
|
+
readonly col: number;
|
|
32
|
+
readonly scope: Scope | undefined;
|
|
33
|
+
/** Defined-name nesting depth (guards against names that refer to themselves). */
|
|
34
|
+
readonly depth: number;
|
|
35
|
+
/** The root node, for Excel's final-result rounding of additions and subtractions. */
|
|
36
|
+
readonly root?: FormulaAst | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Pre-dynamic-array (legacy) evaluation: a multi-cell reference used where one value is
|
|
39
|
+
* expected (an operator operand, a `value` parameter, the final result) is reduced by implicit
|
|
40
|
+
* intersection. Arguments of `any` (array) parameters are evaluated without it, as in Excel.
|
|
41
|
+
*/
|
|
42
|
+
readonly legacy?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/** A lazily evaluated argument (IF, IFERROR, CHOOSE, LET, LAMBDA, ...). */
|
|
45
|
+
export interface LazyArg {
|
|
46
|
+
readonly node: FormulaAst;
|
|
47
|
+
get(): Value;
|
|
48
|
+
}
|
|
49
|
+
/** What function implementations receive besides their arguments. */
|
|
50
|
+
export interface CallContext {
|
|
51
|
+
readonly frame: Frame;
|
|
52
|
+
readonly workbook: Workbook;
|
|
53
|
+
readonly sheet: number;
|
|
54
|
+
readonly row: number;
|
|
55
|
+
readonly col: number;
|
|
56
|
+
readonly date1904: boolean;
|
|
57
|
+
/** A dense matrix of a value (refs are read cell by cell). Throws `#VALUE!` for unions. */
|
|
58
|
+
toMatrix(value: Value): Matrix;
|
|
59
|
+
/** A single value by implicit intersection. */
|
|
60
|
+
toScalar(value: Value): Scalar;
|
|
61
|
+
/**
|
|
62
|
+
* Visits the values of an argument: refs sparsely (stored cells only), arrays fully, and
|
|
63
|
+
* a scalar argument once with `kind` `direct`.
|
|
64
|
+
*/
|
|
65
|
+
forEach(value: Value, visit: (value: Scalar, kind: 'direct' | 'ref' | 'array') => void): void;
|
|
66
|
+
readCell(sheet: number, row: number, col: number): Scalar;
|
|
67
|
+
/** Evaluates a node in this call's frame, optionally with extra variables. */
|
|
68
|
+
evaluate(node: FormulaAst, scope?: Scope): Value;
|
|
69
|
+
/** Calls a LAMBDA value. */
|
|
70
|
+
callLambda(fn: Value, args: Value[]): Value;
|
|
71
|
+
/** Resolves reference text (`A1`, `Sheet2!B2:C3`, a defined name) for INDIRECT. */
|
|
72
|
+
parseReference(text: string): RefValue | undefined;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface Ymd {
|
|
2
|
+
year: number;
|
|
3
|
+
month: number;
|
|
4
|
+
day: number;
|
|
5
|
+
}
|
|
6
|
+
/** The date system used by coercions inside the current evaluation. */
|
|
7
|
+
export declare const currentDate1904: () => boolean;
|
|
8
|
+
/** Runs `fn` with the given date system active for text-to-date coercion. */
|
|
9
|
+
export declare function withDateSystem<T>(date1904: boolean, fn: () => T): T;
|
|
10
|
+
/** The calendar date of the integer part of `serial`. */
|
|
11
|
+
export declare function serialToYmd(serial: number, date1904?: boolean): Ymd;
|
|
12
|
+
/**
|
|
13
|
+
* The serial of a calendar date, normalising month and day overflow like Excel's DATE (month 13
|
|
14
|
+
* is January of the next year, day 0 is the last day of the previous month). Returns `undefined`
|
|
15
|
+
* for dates before the epoch or after 9999-12-31.
|
|
16
|
+
*/
|
|
17
|
+
export declare function ymdToSerial(year: number, month: number, day: number, date1904?: boolean): number | undefined;
|
|
18
|
+
/** Day of the week of a serial, 0 = Sunday (honours the 1900 bug: serial 1 is a Sunday). */
|
|
19
|
+
export declare function weekdayOf(serial: number, date1904?: boolean): number;
|
|
20
|
+
/** Whole seconds in the fractional part of a serial, rounded like Excel's HOUR/MINUTE/SECOND. */
|
|
21
|
+
export declare function serialSeconds(serial: number): number;
|
|
22
|
+
export declare const isLeapYear: (year: number) => boolean;
|
|
23
|
+
export declare function daysInMonth(year: number, month: number): number;
|
|
24
|
+
/** The serial for a JavaScript Date's local wall-clock time (for NOW and TODAY). */
|
|
25
|
+
export declare function localDateToSerial(date: Date, date1904?: boolean): number;
|
|
26
|
+
//# sourceMappingURL=date-serial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-serial.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/date-serial.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ;AAID,uEAAuE;AACvE,eAAO,MAAM,eAAe,QAAO,OAAuB,CAAC;AAE3D,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQnE;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAe,GAAG,GAAG,CAUxE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,UAAe,GACrB,MAAM,GAAG,SAAS,CAYpB;AAED,4FAA4F;AAC5F,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAe,GAAG,MAAM,CAKzE;AAED,iGAAiG;AACjG,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,OACe,CAAC;AAE1D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,UAAe,GAAG,MAAM,CAa7E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Cell } from '../model.js';
|
|
2
|
+
import type { FormulaAst } from './ast.js';
|
|
3
|
+
import type { Frame } from './context.js';
|
|
4
|
+
import { EngineHost } from './engine-host.js';
|
|
5
|
+
import type { FormulaNode } from './graph.js';
|
|
6
|
+
import { type Matrix, type Scalar } from './values.js';
|
|
7
|
+
export declare abstract class EngineCore extends EngineHost {
|
|
8
|
+
protected releaseAllSpills(): void;
|
|
9
|
+
protected run(seeds: Set<FormulaNode>, everything: boolean): void;
|
|
10
|
+
/** Seeds plus every formula that (transitively) reads their cells or spill ranges. */
|
|
11
|
+
protected closure(seeds: Set<FormulaNode>): Set<FormulaNode>;
|
|
12
|
+
protected evaluateSet(dirty: Set<FormulaNode>): void;
|
|
13
|
+
protected markCycle(node: FormulaNode): void;
|
|
14
|
+
protected compute(node: FormulaNode): void;
|
|
15
|
+
protected store(node: FormulaNode, cell: Cell, result: Scalar | Matrix): void;
|
|
16
|
+
protected frameFor(sheet: number, row: number, col: number, root: FormulaAst | undefined, legacy?: boolean): Frame;
|
|
17
|
+
protected evaluateFormula(node: FormulaNode): Scalar | Matrix;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=engine-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-core.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine-core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAoB,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAIzE,8BAAsB,UAAW,SAAQ,UAAU;IAClD,SAAS,CAAC,gBAAgB,IAAI,IAAI;IASlC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAiBjE,sFAAsF;IACtF,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;IAyB5D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI;IAqCpD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAO5C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAkB1C,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqB7E,SAAS,CAAC,QAAQ,CACjB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,MAAM,UAAQ,GACZ,KAAK;IAMR,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM;CAe7D"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type CellRange } from '../address.js';
|
|
2
|
+
import type { Cell, Workbook } from '../model.js';
|
|
3
|
+
import { FormulaError, type FormulaAst } from './ast.js';
|
|
4
|
+
import type { EvalHost } from './context.js';
|
|
5
|
+
import type { CalcEngineOptions } from './engine-types.js';
|
|
6
|
+
import { ColumnIndex, type FormulaNode, ReverseIndex } from './graph.js';
|
|
7
|
+
import type { Area, Scalar } from './values.js';
|
|
8
|
+
export declare abstract class EngineHost implements EvalHost {
|
|
9
|
+
readonly workbook: Workbook;
|
|
10
|
+
protected readonly options: CalcEngineOptions;
|
|
11
|
+
protected readonly nodes: Map<number, Map<number, FormulaNode>>;
|
|
12
|
+
protected readonly footprints: Set<FormulaNode>;
|
|
13
|
+
protected readonly astCache: Map<string, FormulaError | FormulaAst>;
|
|
14
|
+
protected readonly boundsCache: Map<number, {
|
|
15
|
+
rows: number;
|
|
16
|
+
cols: number;
|
|
17
|
+
}>;
|
|
18
|
+
protected readonly inProgress: Set<FormulaNode>;
|
|
19
|
+
protected cycles: Set<FormulaNode>;
|
|
20
|
+
protected dynamicCycleHits: Set<FormulaNode>;
|
|
21
|
+
protected pending: Set<FormulaNode> | undefined;
|
|
22
|
+
protected columnIndex: ColumnIndex | undefined;
|
|
23
|
+
protected reverseIndex: ReverseIndex | undefined;
|
|
24
|
+
protected footprintChanges: Area[];
|
|
25
|
+
protected built: boolean;
|
|
26
|
+
protected needsFull: boolean;
|
|
27
|
+
constructor(workbook: Workbook, options: CalcEngineOptions);
|
|
28
|
+
readCell(sheet: number, row: number, col: number): Scalar;
|
|
29
|
+
protected dynamicCycleHit: boolean;
|
|
30
|
+
protected ensureComputed(sheet: number, row: number, col: number, cell: Cell): void;
|
|
31
|
+
forEachStored(sheet: number, range: CellRange, visit: (value: Scalar, row: number, col: number) => void): void;
|
|
32
|
+
bounds(sheet: number): {
|
|
33
|
+
rows: number;
|
|
34
|
+
cols: number;
|
|
35
|
+
};
|
|
36
|
+
spillRange(sheet: number, row: number, col: number): CellRange | undefined;
|
|
37
|
+
cellFormula(sheet: number, row: number, col: number): string | undefined;
|
|
38
|
+
parse(formula: string): FormulaAst | FormulaError;
|
|
39
|
+
now(): Date;
|
|
40
|
+
random(): number;
|
|
41
|
+
protected build(): void;
|
|
42
|
+
protected createNode(sheet: number, row: number, col: number, cell: Cell, initial: boolean): FormulaNode;
|
|
43
|
+
protected removeNode(node: FormulaNode, changed: Area[]): void;
|
|
44
|
+
protected graphChanged(): void;
|
|
45
|
+
protected allNodes(): FormulaNode[];
|
|
46
|
+
protected columns(): ColumnIndex;
|
|
47
|
+
protected reverse(): ReverseIndex;
|
|
48
|
+
/** Evaluates a pending formula node now (defined by the engine). */
|
|
49
|
+
protected abstract compute(node: FormulaNode): void;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=engine-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-host.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CellRange } from '../address.js';
|
|
2
|
+
import type { CellValue } from '../model.js';
|
|
3
|
+
export interface CellPosition {
|
|
4
|
+
sheet: number;
|
|
5
|
+
row: number;
|
|
6
|
+
col: number;
|
|
7
|
+
}
|
|
8
|
+
export interface CalcEngine {
|
|
9
|
+
/** Evaluates every formula cell and sets `cell.value`. */
|
|
10
|
+
recalculateAll(): void;
|
|
11
|
+
/** Recalculates the formulas that depend on the changed cells (and volatile formulas). */
|
|
12
|
+
recalculateFrom(changes: CellPosition[]): void;
|
|
13
|
+
/** Evaluates an ad hoc formula at a position (status bar, conditional formats, validation). */
|
|
14
|
+
evaluate(formula: string, at: CellPosition): CellValue;
|
|
15
|
+
/** Forgets the dependency graph (after structural edits); the next recalculation rebuilds it. */
|
|
16
|
+
invalidate(): void;
|
|
17
|
+
/** Like `evaluate` but keeps array results (list validation sources, chart series). */
|
|
18
|
+
evaluateArray(formula: string, at: CellPosition): CellValue[][];
|
|
19
|
+
/** The current spill range anchored at a cell. */
|
|
20
|
+
spillRange(sheet: number, row: number, col: number): CellRange | undefined;
|
|
21
|
+
/** Formula cells found in circular references during the last recalculation. */
|
|
22
|
+
circularCells(): CellPosition[];
|
|
23
|
+
}
|
|
24
|
+
export interface CalcEngineOptions {
|
|
25
|
+
/** Clock for NOW and TODAY (tests). */
|
|
26
|
+
now?: () => Date;
|
|
27
|
+
/** Random source for RAND, RANDBETWEEN and RANDARRAY (tests). */
|
|
28
|
+
random?: () => number;
|
|
29
|
+
}
|
|
30
|
+
export declare const CIRCULAR_REFERENCE_WARNING = "The workbook contains circular references; the cells involved show 0.";
|
|
31
|
+
//# sourceMappingURL=engine-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-types.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IAC1B,0DAA0D;IAC1D,cAAc,IAAI,IAAI,CAAC;IACvB,0FAA0F;IAC1F,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/C,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,SAAS,CAAC;IACvD,iGAAiG;IACjG,UAAU,IAAI,IAAI,CAAC;IACnB,uFAAuF;IACvF,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,SAAS,EAAE,EAAE,CAAC;IAChE,kDAAkD;IAClD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3E,gFAAgF;IAChF,aAAa,IAAI,YAAY,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IACjC,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,0BAA0B,0EACiC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CellRange } from '../address.js';
|
|
2
|
+
import type { EvalHost } from './context.js';
|
|
3
|
+
import { Matrix, type Scalar, type Value } from './values.js';
|
|
4
|
+
/** The value a formula cell shows: one value, or an array to spill. Blanks become 0. */
|
|
5
|
+
export declare function finalize(value: Value, host: EvalHost): Scalar | Matrix;
|
|
6
|
+
export declare function clean(value: Scalar): Scalar;
|
|
7
|
+
export declare const rangeHas: (range: CellRange, row: number, col: number) => boolean;
|
|
8
|
+
export declare function sameRange(a: CellRange | undefined, b: CellRange | undefined): boolean;
|
|
9
|
+
export declare function boundingBox(ranges: CellRange[]): CellRange;
|
|
10
|
+
//# sourceMappingURL=engine-util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-util.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAIN,MAAM,EAEN,KAAK,MAAM,EACX,KAAK,KAAK,EACV,MAAM,aAAa,CAAC;AAErB,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAetE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,OAC2B,CAAC;AAElG,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAQrF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAW1D"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Workbook } from '../model.js';
|
|
2
|
+
import type { CalcEngine, CalcEngineOptions } from './engine-types.js';
|
|
3
|
+
export { type CalcEngine, type CalcEngineOptions, CIRCULAR_REFERENCE_WARNING, type CellPosition, } from './engine-types.js';
|
|
4
|
+
/** Creates a calculation engine bound to a workbook. */
|
|
5
|
+
export declare function createCalcEngine(workbook: Workbook, options?: CalcEngineOptions): CalcEngine;
|
|
6
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI7D,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAgB,MAAM,mBAAmB,CAAC;AAQrF,OAAO,EACN,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,0BAA0B,EAC1B,KAAK,YAAY,GACjB,MAAM,mBAAmB,CAAC;AA8H3B,wDAAwD;AACxD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,UAAU,CAEhG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DefinedName } from '../model.js';
|
|
2
|
+
import { type FormulaAst } from './ast.js';
|
|
3
|
+
import type { EvalHost, Frame } from './context.js';
|
|
4
|
+
import { Matrix, type Scalar, type Scope, type Value } from './values.js';
|
|
5
|
+
/** Evaluates `node`; references stay references (the caller decides how to read them). */
|
|
6
|
+
export declare function evaluateNode(node: FormulaAst, frame: Frame): Value;
|
|
7
|
+
/** Dereferences an operand: one cell becomes its value, larger ranges a matrix. */
|
|
8
|
+
export declare function operand(value: Value, frame: Frame): Scalar | Matrix;
|
|
9
|
+
/** The defined name visible from `sheet` (a sheet-local name wins over a global one). */
|
|
10
|
+
export declare function findDefinedName(host: EvalHost, name: string, sheet: number, explicitSheet: boolean): DefinedName | undefined;
|
|
11
|
+
/** Evaluates a defined name's formula, or `undefined` when there is no such name. */
|
|
12
|
+
export declare function evaluateDefinedName(name: string, sheet: number, explicitSheet: boolean, frame: Frame): Value | undefined;
|
|
13
|
+
/** Calls a LAMBDA closure with already evaluated arguments. */
|
|
14
|
+
export declare function invokeLambda(callee: Value, args: Value[], frame: Frame): Value;
|
|
15
|
+
/** Extends a scope with one variable. */
|
|
16
|
+
export declare function extendScope(scope: Scope | undefined, name: string, value: Value): Scope;
|
|
17
|
+
//# sourceMappingURL=evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/evaluator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAgB,KAAK,UAAU,EAAsB,MAAM,UAAU,CAAC;AAE7E,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAYpD,OAAO,EAMN,MAAM,EAEN,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,KAAK,EACV,MAAM,aAAa,CAAC;AAIrB,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CA0ClE;AAED,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAkBnE;AAmBD,yFAAyF;AACzF,wBAAgB,eAAe,CAC9B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,GACpB,WAAW,GAAG,SAAS,CASzB;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,KAAK,GACV,KAAK,GAAG,SAAS,CAOnB;AAqBD,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAO9E;AAED,yCAAyC;AACzC,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAIvF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-shape.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/array-shape.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA+F/C,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAqI/C,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Scalar } from '../values.js';
|
|
2
|
+
import type { FunctionSpec } from './types.js';
|
|
3
|
+
/** Sort order for SORT/SORTBY: numbers, text, logicals, errors; blanks always last. */
|
|
4
|
+
export declare function sortCompare(a: Scalar, b: Scalar, descending: boolean): number;
|
|
5
|
+
export declare const ARRAY_FUNCTIONS: FunctionSpec[];
|
|
6
|
+
//# sourceMappingURL=array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/array.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,MAAM,EAAc,MAAM,cAAc,CAAC;AAGnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,CAQ7E;AAoHD,eAAO,MAAM,eAAe,EAAE,YAAY,EA+FzC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CallContext } from '../context.js';
|
|
2
|
+
import { Matrix, type Scalar, type Value } from '../values.js';
|
|
3
|
+
/**
|
|
4
|
+
* Reads several range arguments with one shape. With `sameShape`, every argument must have the
|
|
5
|
+
* first one's size (the IFS functions); otherwise later ranges are resized from their top-left
|
|
6
|
+
* cell (SUMIF's sum_range). Whole-column references are clipped to the used rows.
|
|
7
|
+
*/
|
|
8
|
+
export declare function shapedMatrices(ctx: CallContext, values: Value[], sameShape: boolean): Matrix[];
|
|
9
|
+
/**
|
|
10
|
+
* For `(range, criteria)` pairs, the values of `target` (or of the first range) at positions
|
|
11
|
+
* where every criterion holds.
|
|
12
|
+
*/
|
|
13
|
+
export declare function matchingValues(ctx: CallContext, pairs: {
|
|
14
|
+
range: Value;
|
|
15
|
+
criteria: Value;
|
|
16
|
+
}[], target: Value | undefined, sameShape: boolean): Scalar[];
|
|
17
|
+
/** Splits trailing `(range, criteria)` argument pairs. */
|
|
18
|
+
export declare function criteriaPairs(args: Value[], from: number): {
|
|
19
|
+
range: Value;
|
|
20
|
+
criteria: Value;
|
|
21
|
+
}[];
|
|
22
|
+
//# sourceMappingURL=criteria.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/criteria.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAa,MAAM,EAAY,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAKpF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,CA8C9F;AAeD;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAE,EAAE,EAC1C,MAAM,EAAE,KAAK,GAAG,SAAS,EACzB,SAAS,EAAE,OAAO,GAChB,MAAM,EAAE,CAqBV;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAE,EAAE,CAO9F"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CallContext } from '../context.js';
|
|
2
|
+
import { type Value } from '../values.js';
|
|
3
|
+
/** A date serial argument: numbers and date text, truncated; negative or too large is #NUM!. */
|
|
4
|
+
export declare function serialArg(value: Value | undefined): number;
|
|
5
|
+
export declare function dateSerial(year: number, month: number, day: number, ctx: CallContext): number;
|
|
6
|
+
export declare function addMonths(serial: number, months: number, ctx: CallContext, endOfMonth: boolean): number;
|
|
7
|
+
/** WEEKDAY's numbering: returns 1-based (or 0-based for type 3) day number. */
|
|
8
|
+
export declare function weekday(serial: number, type: number, ctx: CallContext): number;
|
|
9
|
+
export declare function isoWeek(serial: number, ctx: CallContext): number;
|
|
10
|
+
export declare function weekNum(serial: number, type: number, ctx: CallContext): number;
|
|
11
|
+
export declare function datedif(start: number, end: number, unit: string, ctx: CallContext): number;
|
|
12
|
+
export declare function days360(start: number, end: number, european: boolean, ctx: CallContext): number;
|
|
13
|
+
export declare function yearFrac(s: number, e: number, basis: number, ctx: CallContext): number;
|
|
14
|
+
//# sourceMappingURL=date-calc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-calc.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/date-calc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrD,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAI1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAM7F;AAED,wBAAgB,SAAS,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,OAAO,GACjB,MAAM,CAQR;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAiB9E;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAOhE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAmB9E;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAmC1F;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAgB/F;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAgCtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/datetime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAe/C,eAAO,MAAM,kBAAkB,EAAE,YAAY,EA6M5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depreciation.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/depreciation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,EAAE,YAAY,EAmLhD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Regularized lower incomplete gamma P(a, x). */
|
|
2
|
+
export declare function gammaP(a: number, x: number): number;
|
|
3
|
+
export declare function betaCf(a: number, b: number, x: number): number;
|
|
4
|
+
/** Regularized incomplete beta I_x(a, b). */
|
|
5
|
+
export declare function betaI(x: number, a: number, b: number): number;
|
|
6
|
+
export declare const erf: (x: number) => number;
|
|
7
|
+
export declare const normCdf: (z: number) => number;
|
|
8
|
+
export declare const normPdf: (z: number) => number;
|
|
9
|
+
/** Inverse standard normal CDF (Acklam's approximation refined by one Halley step). */
|
|
10
|
+
export declare function normInv(p: number): number;
|
|
11
|
+
/** Inverts a monotonic increasing CDF on (lo, hi) by bisection. */
|
|
12
|
+
export declare function invert(cdf: (x: number) => number, p: number, lo: number, hi: number): number;
|
|
13
|
+
export declare const tCdf: (t: number, df: number) => number;
|
|
14
|
+
export declare const tPdf: (t: number, df: number) => number;
|
|
15
|
+
export declare const chiCdf: (x: number, df: number) => number;
|
|
16
|
+
export declare const positive: (...values: (number | undefined)[]) => void;
|
|
17
|
+
export declare const probability: (p: number) => void;
|
|
18
|
+
export declare function binomPmf(k: number, n: number, p: number): number;
|
|
19
|
+
export declare function binomDist(k: number, n: number, p: number, cumulative: number): number;
|
|
20
|
+
export declare function poisson(k: number, mean: number, cumulative: number): number;
|
|
21
|
+
export declare const normDist: (x: number, m: number, s: number, cumulative: number) => number;
|
|
22
|
+
//# sourceMappingURL=dist-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist-core.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/dist-core.ts"],"names":[],"mappings":"AAOA,kDAAkD;AAClD,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAgCnD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA6B9D;AAED,6CAA6C;AAC7C,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS7D;AAED,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,KAAG,MAA4D,CAAC;AAC7F,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,KAAG,MAAyC,CAAC;AAC9E,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,KAAG,MAAyD,CAAC;AAE9F,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CA2CzC;AAED,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAW5F;AAED,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,IAAI,MAAM,KAAG,MAI5C,CAAC;AACF,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,IAAI,MAAM,KAAG,MAM3C,CAAC;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,IAAI,MAAM,KAAG,MAA+B,CAAC;AAE/E,eAAO,MAAM,QAAQ,GAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,KAAG,IAE5D,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,IAEvC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQrF;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,YAAY,MAAM,KAAG,MAI9E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distributions-more.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/distributions-more.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAkM3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distributions.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/distributions.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,eAAO,MAAM,sBAAsB,EAAE,YAAY,EAiPhD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineering.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/engineering.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqF/C,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAoH/C,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function pmt(rate: number, nper: number, pv: number, fv?: number, type?: number): number;
|
|
2
|
+
export declare function fv(rate: number, nper: number, payment: number, pv?: number, type?: number): number;
|
|
3
|
+
export declare function pv(rate: number, nper: number, payment: number, future?: number, type?: number): number;
|
|
4
|
+
export declare function ipmt(rate: number, per: number, nper: number, present: number, future?: number, type?: number): number;
|
|
5
|
+
/** Newton's method with a bisection fallback; `#NUM!` when no root is found. */
|
|
6
|
+
export declare function solve(f: (x: number) => number, guess: number): number;
|
|
7
|
+
export declare function cumulative(args: number[], principal: boolean): number;
|
|
8
|
+
//# sourceMappingURL=financial-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"financial-core.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/financial-core.ts"],"names":[],"mappings":"AAGA,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,SAAI,EAAE,IAAI,SAAI,GAAG,MAAM,CAKpF;AAED,wBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAI,EAAE,IAAI,SAAI,GAAG,MAAM,CAIxF;AAED,wBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,IAAI,SAAI,GAAG,MAAM,CAI5F;AAED,wBAAgB,IAAI,CACnB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,SAAI,EACV,IAAI,SAAI,GACN,MAAM,CAWR;AAED,gFAAgF;AAChF,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA6BrE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAmBrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"financial.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/financial.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAyB/C,eAAO,MAAM,mBAAmB,EAAE,YAAY,EA6J7C,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { check, finite, toBool, toNumber, toText } from '../coerce.js';
|
|
2
|
+
import type { CallContext } from '../context.js';
|
|
3
|
+
import { type Scalar, type Value } from '../values.js';
|
|
4
|
+
import type { FunctionSpec, ParamKind } from './types.js';
|
|
5
|
+
/** A scalar argument (lifting already happened); anything else is `#VALUE!`. */
|
|
6
|
+
export declare function scalar(value: Value | undefined): Scalar;
|
|
7
|
+
export declare const num: (value: Value | undefined) => number;
|
|
8
|
+
export declare const str: (value: Value | undefined) => string;
|
|
9
|
+
export declare const bool: (value: Value | undefined) => boolean;
|
|
10
|
+
/** Truncates toward zero, like Excel's integer arguments. */
|
|
11
|
+
export declare const int: (value: Value | undefined) => number;
|
|
12
|
+
export declare const optNum: (args: Value[], i: number, fallback: number) => number;
|
|
13
|
+
export declare const optBool: (args: Value[], i: number, fallback: boolean) => boolean;
|
|
14
|
+
export declare const optStr: (args: Value[], i: number, fallback: string) => string;
|
|
15
|
+
/** Whether an optional argument was omitted (or left empty). */
|
|
16
|
+
export declare const omitted: (args: Value[], i: number) => boolean;
|
|
17
|
+
interface CollectOptions {
|
|
18
|
+
/** Count logicals and numeric text from references and arrays (the `A` functions). */
|
|
19
|
+
includeAll?: boolean;
|
|
20
|
+
/** Skip errors instead of throwing. */
|
|
21
|
+
ignoreErrors?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The numbers of aggregate-function arguments with Excel's rules: direct arguments coerce text
|
|
25
|
+
* and logicals; references and arrays contribute numbers only (unless `includeAll`).
|
|
26
|
+
*/
|
|
27
|
+
export declare function collectNumbers(ctx: CallContext, args: Value[], options?: CollectOptions): number[];
|
|
28
|
+
/** The numbers of the `A` functions (AVERAGEA, MAXA, STDEVA...): logicals and text count. */
|
|
29
|
+
export declare const all: (ctx: CallContext, args: Value[]) => number[];
|
|
30
|
+
/** `value` when `ok`, otherwise `#NUM!` (function domain checks). */
|
|
31
|
+
export declare const domain: (ok: boolean, value: number) => number;
|
|
32
|
+
/** Every value of an argument in row-major order (refs read densely). */
|
|
33
|
+
export declare function flatValues(ctx: CallContext, value: Value): Scalar[];
|
|
34
|
+
/** Builds a case-insensitive regular expression for `*`, `?` and `~` wildcards. */
|
|
35
|
+
export declare function wildcardRegex(pattern: string): RegExp;
|
|
36
|
+
export declare const hasWildcards: (text: string) => boolean;
|
|
37
|
+
/** A predicate for COUNTIF-style criteria (`">5"`, `"<>x"`, `"a*"`, 7, TRUE, `""`). */
|
|
38
|
+
export declare function makeCriteria(criteria: Scalar): (value: Scalar) => boolean;
|
|
39
|
+
/** A FunctionSpec in a compact form. */
|
|
40
|
+
export declare function spec(name: string, category: string, syntax: string, description: string, minArgs: number, maxArgs: number, fn: (args: Value[], ctx: CallContext) => Value, params?: readonly ParamKind[], volatile?: boolean): FunctionSpec;
|
|
41
|
+
/** A numeric function of fixed arity whose arguments all coerce to numbers. */
|
|
42
|
+
export declare function numeric(name: string, category: string, syntax: string, description: string, minArgs: number, maxArgs: number, fn: (...values: number[]) => number | Scalar, defaults?: readonly number[]): FunctionSpec;
|
|
43
|
+
export { check, finite, toBool, toNumber, toText };
|
|
44
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/info.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4C/C,eAAO,MAAM,cAAc,EAAE,YAAY,EAgJxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/lambda.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoB/C,eAAO,MAAM,cAAc,EAAE,YAAY,EA8GxC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CallContext } from '../context.js';
|
|
2
|
+
import { type Value } from '../values.js';
|
|
3
|
+
import type { FunctionSpec } from './types.js';
|
|
4
|
+
/** A single cell reference becomes its value, larger references a matrix. */
|
|
5
|
+
export declare function deref(ctx: CallContext, value: Value): Value;
|
|
6
|
+
export declare const LOGICAL_FUNCTIONS: FunctionSpec[];
|
|
7
|
+
//# sourceMappingURL=logical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logical.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/logical.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAE1D,OAAO,EASN,KAAK,KAAK,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,6EAA6E;AAC7E,wBAAgB,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAS3D;AA0FD,eAAO,MAAM,iBAAiB,EAAE,YAAY,EA8I3C,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { CallContext } from '../context.js';
|
|
2
|
+
import { type Scalar, type Value } from '../values.js';
|
|
3
|
+
/** A lazily read row or column of values. */
|
|
4
|
+
export interface Vector {
|
|
5
|
+
length: number;
|
|
6
|
+
get(index: number): Scalar;
|
|
7
|
+
}
|
|
8
|
+
/** The dimensions of a reference or array argument. */
|
|
9
|
+
export declare function shape(value: Value): {
|
|
10
|
+
rows: number;
|
|
11
|
+
cols: number;
|
|
12
|
+
};
|
|
13
|
+
/** Row `index` (`axis` 'row') or column `index` of a value, read on demand and clipped to used cells. */
|
|
14
|
+
export declare function line(ctx: CallContext, value: Value, axis: 'row' | 'col', index: number): Vector;
|
|
15
|
+
/** A one-dimensional argument as a vector (a single row or column); 2D is #N/A. */
|
|
16
|
+
export declare function vectorOf(ctx: CallContext, value: Value): {
|
|
17
|
+
vector: Vector;
|
|
18
|
+
axis: 'row' | 'col';
|
|
19
|
+
};
|
|
20
|
+
/** An exact-match predicate (case-insensitive text, optional wildcards). */
|
|
21
|
+
export declare function exactMatcher(lookup: Scalar, wildcards: boolean): (v: Scalar) => boolean;
|
|
22
|
+
export declare function findExact(vector: Vector, lookup: Scalar, wildcards: boolean, reverse?: boolean): number;
|
|
23
|
+
/**
|
|
24
|
+
* Binary search like Excel's approximate lookups: on ascending data the last position whose value
|
|
25
|
+
* is <= `lookup` (`descending`: the last position whose value is >= `lookup`).
|
|
26
|
+
*/
|
|
27
|
+
export declare function findSorted(vector: Vector, lookup: Scalar, descending?: boolean): number;
|
|
28
|
+
/** XLOOKUP / XMATCH next-smaller (-1) or next-larger (1) match by a linear scan. */
|
|
29
|
+
export declare function findNearest(vector: Vector, lookup: Scalar, mode: -1 | 1, reverse: boolean): number;
|
|
30
|
+
/** The XLOOKUP / XMATCH search. Returns the 0-based index or -1. */
|
|
31
|
+
export declare function xsearch(vector: Vector, lookup: Scalar, matchMode: number, searchMode: number): number;
|
|
32
|
+
//# sourceMappingURL=lookup-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup-core.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/lookup-core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAwC,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAG7F,6CAA6C;AAC7C,MAAM,WAAW,MAAM;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,uDAAuD;AACvD,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAWlE;AAED,yGAAyG;AACzG,wBAAgB,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAkB/F;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAAA;CAAE,CAKhG;AAOD,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAQvF;AAED,wBAAgB,SAAS,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,OAAO,UAAQ,GACb,MAAM,CAQR;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,UAAQ,GAAG,MAAM,CA+BrF;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EACZ,OAAO,EAAE,OAAO,GACd,MAAM,CAuBR;AAED,oEAAoE;AACpE,wBAAgB,OAAO,CACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAChB,MAAM,CAgBR"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Value } from '../values.js';
|
|
2
|
+
import type { FunctionSpec } from './types.js';
|
|
3
|
+
/** The cell (or matrix element) at a 0-based position of a ref or array, as a reference when possible. */
|
|
4
|
+
export declare function cellOf(value: Value, row: number, col: number): Value;
|
|
5
|
+
/** Row or column `index` (0-based) of a ref or array, as a ref or matrix. */
|
|
6
|
+
export declare function sliceOf(value: Value, axis: 'row' | 'col', index: number): Value;
|
|
7
|
+
export declare const LOOKUP_FUNCTIONS: FunctionSpec[];
|
|
8
|
+
//# sourceMappingURL=lookup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/lookup.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAI7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,0GAA0G;AAC1G,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAYpE;AAED,6EAA6E;AAC7E,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAqB/E;AAgGD,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAgG1C,CAAC"}
|