@agile-team/mach-report 2.14.0 → 2.16.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 +26 -16
- package/THIRD_PARTY_NOTICES.md +3 -1
- package/dist/{ExcelBindingWizard-CLT2p7P3.cjs → ExcelBindingWizard-CP6h2x1f.cjs} +1 -1
- package/dist/{ExcelBindingWizard-CvsWR8Ga.js → ExcelBindingWizard-HhB3hAJE.js} +3 -3
- package/dist/ParamEditor-CUQLgoxa.cjs +1 -0
- package/dist/ParamEditor-OKesP_nO.js +594 -0
- package/dist/{ReportBatchPanel-DkxTzBkD.cjs → ReportBatchPanel-cZCAMAwH.cjs} +1 -1
- package/dist/{ReportBatchPanel-LqVgiqp7.js → ReportBatchPanel-ruxcbfY6.js} +39 -39
- package/dist/ReportPreview-BcDKCLiK.js +4834 -0
- package/dist/ReportPreview-Bk9nLfO9.cjs +6 -0
- package/dist/{ReportTemplateLibrary-cQ1sqNYo.cjs → ReportTemplateLibrary-BDlNT8JN.cjs} +1 -1
- package/dist/{ReportTemplateLibrary-MjWEtc7X.js → ReportTemplateLibrary-DcwrH-63.js} +1 -1
- package/dist/{RuleEditor-BaR6xUiI.cjs → RuleEditor-BX5S8RSF.cjs} +1 -1
- package/dist/{RuleEditor-ChuXMlei.js → RuleEditor-CGl9XY2s.js} +5 -5
- package/dist/{TemplateOutlinePanel-BHKP89Xz.cjs → TemplateOutlinePanel-CGrT5DFN.cjs} +1 -1
- package/dist/{TemplateOutlinePanel-Dci6aRn1.js → TemplateOutlinePanel-SXCjaPKR.js} +2 -2
- package/dist/{TemplateReusePanel-CY5eO2Sh.cjs → TemplateReusePanel-6Z3wRFz8.cjs} +1 -1
- package/dist/{TemplateReusePanel-B7Gmyc1z.js → TemplateReusePanel-lHLOS9Wn.js} +2 -2
- package/dist/{TemplateReviewPanel-DjlX3xpt.js → TemplateReviewPanel-CJ9PLc48.js} +2 -2
- package/dist/{TemplateReviewPanel-JvZe9_4G.cjs → TemplateReviewPanel-Dpk7sLcF.cjs} +1 -1
- package/dist/analytics.cjs +1 -1
- package/dist/analytics.d.cts +5 -1
- package/dist/analytics.d.ts +5 -1
- package/dist/analytics.js +154 -60
- package/dist/artifact-integrity.json +143 -0
- package/dist/assets-CqIbfbTr.js +126 -0
- package/dist/assets-e4YSke8n.cjs +1 -0
- package/dist/auto-YR7a4BtF.js +240 -0
- package/dist/auto-uVBjX1j5.cjs +1 -0
- package/dist/batch-WzDIXJAt.js +220 -0
- package/dist/batch-z6Aw5GEY.cjs +1 -0
- package/dist/capabilities-DDwXr_cA.js +103 -0
- package/dist/capabilities-DNLyZdNw.cjs +1 -0
- package/dist/codes.d.cts +4 -0
- package/dist/codes.d.ts +4 -0
- package/dist/component-tree-Ca6YYfHq.js +61 -0
- package/dist/component-tree-DkGLEfZC.cjs +1 -0
- package/dist/{computed-Bvk0W15F.js → computed-C-4C2S5h.js} +3 -3
- package/dist/config-Dg_o8e7m.cjs +1 -0
- package/dist/config-XQ4qrQ7Q.js +844 -0
- package/dist/designer-BfQSahxq.js +5163 -0
- package/dist/designer-CPPdeM5_.cjs +2 -0
- package/dist/designer.cjs +1 -1
- package/dist/designer.d.cts +197 -16
- package/dist/designer.d.ts +197 -16
- package/dist/designer.js +1 -1
- package/dist/diagnostic-notification-B9K9We3h.cjs +1 -0
- package/dist/diagnostic-notification-qGAYZdkB.js +7 -0
- package/dist/drill-CsdjgkRM.cjs +1 -0
- package/dist/drill-DIGsZfyB.js +145 -0
- package/dist/encoding-BOGq4qYL.js +21 -0
- package/dist/encoding-BYF9ZTl9.cjs +1 -0
- package/dist/{font-loader-DHto6Lra.js → font-loader-CzI1GuBc.js} +1 -1
- package/dist/{font-loader-vhCT8znW.cjs → font-loader-EKLzOJxf.cjs} +1 -1
- package/dist/index.cjs +8 -9
- package/dist/index.d.cts +84 -4
- package/dist/index.d.ts +84 -4
- package/dist/index.js +829 -833
- package/dist/json-snapshot-D6ioHth9.js +1702 -0
- package/dist/json-snapshot-DknkjvxP.cjs +2 -0
- package/dist/licenses/_bwip-js_generic-4.11.4.txt +24 -0
- package/dist/licenses/_fast-csv_format-4.3.5.txt +22 -0
- package/dist/licenses/_fast-csv_parse-4.3.6.txt +22 -0
- package/dist/licenses/_pdf-lib_fontkit-1.1.1.txt +326 -0
- package/dist/licenses/_pdf-lib_standard-fonts-1.0.0.txt +22 -0
- package/dist/licenses/_pdf-lib_upng-1.0.1.txt +22 -0
- package/dist/licenses/_types_node-14.18.63.txt +22 -0
- package/dist/licenses/_types_pako-2.0.3.txt +22 -0
- package/dist/licenses/_types_pegjs-0.10.6.txt +22 -0
- package/dist/licenses/archiver-5.3.2.txt +23 -0
- package/dist/licenses/archiver-utils-2.1.0.txt +23 -0
- package/dist/licenses/archiver-utils-3.0.4.txt +23 -0
- package/dist/licenses/async-3.2.6.txt +20 -0
- package/dist/licenses/balanced-match-1.0.2.txt +22 -0
- package/dist/licenses/base64-js-1.5.1.txt +22 -0
- package/dist/licenses/big-integer-1.6.52.txt +25 -0
- package/dist/licenses/binary-0.3.0.txt +178 -0
- package/dist/licenses/bl-4.1.0.txt +14 -0
- package/dist/licenses/bluebird-3.4.7.txt +22 -0
- package/dist/licenses/brace-expansion-1.1.21.txt +22 -0
- package/dist/licenses/brace-expansion-2.1.7.txt +22 -0
- package/dist/licenses/buffer-5.7.1.txt +22 -0
- package/dist/licenses/buffer-crc32-0.2.13.txt +20 -0
- package/dist/licenses/buffer-indexof-polyfill-1.0.2.txt +23 -0
- package/dist/licenses/buffers-0.1.1.txt +140 -0
- package/dist/licenses/chainsaw-0.1.0.txt +184 -0
- package/dist/licenses/compress-commons-4.1.2.txt +23 -0
- package/dist/licenses/concat-map-0.0.1.txt +19 -0
- package/dist/licenses/core-util-is-1.0.3.txt +20 -0
- package/dist/licenses/crc-32-1.2.2.txt +202 -0
- package/dist/licenses/crc32-stream-4.0.3.txt +23 -0
- package/dist/licenses/dayjs-1.11.23.txt +22 -0
- package/dist/licenses/duplexer2-0.1.4.txt +27 -0
- package/dist/licenses/end-of-stream-1.4.5.txt +22 -0
- package/dist/licenses/exceljs-4.4.0.txt +23 -0
- package/dist/licenses/fast-csv-4.3.6.txt +22 -0
- package/dist/licenses/fast-png-6.4.0.txt +22 -0
- package/dist/licenses/fs-constants-1.0.0.txt +22 -0
- package/dist/licenses/fs.realpath-1.0.0.txt +44 -0
- package/dist/licenses/fstream-1.0.12.txt +16 -0
- package/dist/licenses/glob-7.2.3.txt +22 -0
- package/dist/licenses/graceful-fs-4.2.11.txt +16 -0
- package/dist/licenses/ieee754-1.2.1.txt +12 -0
- package/dist/licenses/immediate-3.0.6.txt +21 -0
- package/dist/licenses/inflight-1.0.6.txt +16 -0
- package/dist/licenses/inherits-2.0.4.txt +17 -0
- package/dist/licenses/iobuffer-5.4.0.txt +23 -0
- package/dist/licenses/isarray-1.0.0.txt +61 -0
- package/dist/licenses/jszip-3.10.2.txt +652 -0
- package/dist/licenses/lazystream-1.0.1.txt +24 -0
- package/dist/licenses/lie-3.3.0.txt +8 -0
- package/dist/licenses/listenercount-1.0.1.txt +6 -0
- package/dist/licenses/lodash.defaults-4.2.0.txt +48 -0
- package/dist/licenses/lodash.difference-4.5.0.txt +48 -0
- package/dist/licenses/lodash.escaperegexp-4.1.2.txt +48 -0
- package/dist/licenses/lodash.flatten-4.4.0.txt +48 -0
- package/dist/licenses/lodash.groupby-4.6.0.txt +48 -0
- package/dist/licenses/lodash.isboolean-3.0.3.txt +23 -0
- package/dist/licenses/lodash.isequal-4.5.0.txt +48 -0
- package/dist/licenses/lodash.isfunction-3.0.9.txt +48 -0
- package/dist/licenses/lodash.isnil-4.0.0.txt +23 -0
- package/dist/licenses/lodash.isplainobject-4.0.6.txt +48 -0
- package/dist/licenses/lodash.isundefined-3.0.1.txt +23 -0
- package/dist/licenses/lodash.union-4.6.0.txt +48 -0
- package/dist/licenses/lodash.uniq-4.5.0.txt +48 -0
- package/dist/licenses/minimatch-3.1.5.txt +16 -0
- package/dist/licenses/minimatch-5.1.9.txt +16 -0
- package/dist/licenses/minimist-1.2.8.txt +19 -0
- package/dist/licenses/mkdirp-0.5.6.txt +22 -0
- package/dist/licenses/node-sql-parser-5.4.0.txt +202 -0
- package/dist/licenses/normalize-path-3.0.0.txt +22 -0
- package/dist/licenses/once-1.4.0.txt +16 -0
- package/dist/licenses/pako-1.0.11.txt +22 -0
- package/dist/licenses/pako-2.2.0.txt +22 -0
- package/dist/licenses/path-is-absolute-1.0.1.txt +22 -0
- package/dist/licenses/pdf-lib-1.17.1.txt +22 -0
- package/dist/licenses/process-nextick-args-2.0.1.txt +20 -0
- package/dist/licenses/readable-stream-2.3.8.txt +48 -0
- package/dist/licenses/readable-stream-3.6.2.txt +48 -0
- package/dist/licenses/readdir-glob-1.1.3.txt +202 -0
- package/dist/licenses/rimraf-2.7.1.txt +16 -0
- package/dist/licenses/safe-buffer-5.1.2.txt +22 -0
- package/dist/licenses/safe-buffer-5.2.1.txt +22 -0
- package/dist/licenses/saxes-5.0.1.txt +397 -0
- package/dist/licenses/setimmediate-1.0.5.txt +21 -0
- package/dist/licenses/string_decoder-1.1.1.txt +49 -0
- package/dist/licenses/string_decoder-1.3.0.txt +49 -0
- package/dist/licenses/tar-stream-2.2.0.txt +22 -0
- package/dist/licenses/tmp-0.2.7.txt +22 -0
- package/dist/licenses/traverse-0.3.9.txt +25 -0
- package/dist/licenses/tslib-1.14.1.txt +13 -0
- package/dist/licenses/unzipper-0.10.14.txt +26 -0
- package/dist/licenses/util-deprecate-1.0.2.txt +25 -0
- package/dist/licenses/uuid-11.1.1.txt +10 -0
- package/dist/licenses/wrappy-1.0.2.txt +16 -0
- package/dist/licenses/xmlchars-2.2.0.txt +19 -0
- package/dist/licenses/zip-stream-4.1.1.txt +23 -0
- package/dist/matrix-CGRGkn5s.js +112 -0
- package/dist/matrix-gEO7ZM_u.cjs +1 -0
- package/dist/media-B7vnpD8k.cjs +1 -0
- package/dist/media-Y90dHK9z.js +70 -0
- package/dist/param-validation-C3HlcLLO.cjs +1 -0
- package/dist/param-validation-Do7Eg8Zv.js +181 -0
- package/dist/{pdf-AyJGb22z.cjs → pdf-ByVCb1i6.cjs} +49 -49
- package/dist/{pdf-8UPQebOE.js → pdf-DJ5S6ukC.js} +4924 -4872
- package/dist/pdf.cjs +1 -1
- package/dist/pdf.d.cts +20 -3
- package/dist/pdf.d.ts +20 -3
- package/dist/pdf.js +2 -2
- package/dist/{plugin-BGKf-Tqg.js → plugin-C2j5_mhx.js} +2 -2
- package/dist/{plugin-CktLH_Iy.cjs → plugin-Dr39GBRG.cjs} +1 -1
- package/dist/prepared-DdrjLC7L.cjs +1 -0
- package/dist/prepared-DqtpvRTn.js +87 -0
- package/dist/progress-B0ctFpKf.cjs +1 -0
- package/dist/progress-BXzlVbIp.js +29 -0
- package/dist/progress-DJBd9Rb9.cjs +1 -0
- package/dist/progress-Hc2vxoCs.js +52 -0
- package/dist/protocol-BzwMP4Vw.cjs +1 -0
- package/dist/protocol-kt4Iy6-3.js +90 -0
- package/dist/record-bindings-CZWBJ1fU.js +195 -0
- package/dist/record-bindings-DUX1VMlR.cjs +1 -0
- package/dist/{region-binding-workflow-DEJbhpCv.js → region-binding-workflow-CWNvIjkV.js} +1 -1
- package/dist/{region-binding-workflow-BzfbxRiR.cjs → region-binding-workflow-CqSMxQ4p.cjs} +1 -1
- package/dist/report-encoding-worker.cjs +1 -0
- package/dist/report-encoding-worker.d.ts +1 -0
- package/dist/report-encoding-worker.js +2 -0
- package/dist/{report-params-B44imUd4.js → report-params-B1RzkhJj.js} +1 -1
- package/dist/{report-params-SJfhKgaX.cjs → report-params-WDGrA4oP.cjs} +1 -1
- package/dist/rich-text-layout-ALlMoYOG.cjs +3 -0
- package/dist/rich-text-layout-Ct5WrY1g.js +102 -0
- package/dist/runtime-BjKBI530.js +168 -0
- package/dist/runtime-CBFEPKEs.cjs +1 -0
- package/dist/sbom.cdx.json +3982 -0
- package/dist/server/node.d.cts +106 -2
- package/dist/server/node.d.ts +106 -2
- package/dist/server-node.cjs +5 -1
- package/dist/server-node.js +4634 -539
- package/dist/server.cjs +1 -1
- package/dist/server.d.cts +780 -5
- package/dist/server.d.ts +780 -5
- package/dist/server.js +773 -691
- package/dist/sha256-BshdOkCC.cjs +1 -0
- package/dist/sha256-DTG-Gq8i.js +157 -0
- package/dist/style-67OqfNed.js +73 -0
- package/dist/style-C22Pbv3T.cjs +1 -0
- package/dist/style.css +1 -1
- package/dist/template-bindings-C2SpvsMU.js +58 -0
- package/dist/template-bindings-CEtWyiLX.cjs +1 -0
- package/dist/template-catalog-BtR2JmCL.js +414 -0
- package/dist/template-catalog-C2NLdrwB.cjs +1 -0
- package/dist/{template-fragments-DFUpq5QM.cjs → template-fragments-BVsbxs4a.cjs} +1 -1
- package/dist/{template-fragments-CLkGo6To.js → template-fragments-By0aZC1D.js} +21 -21
- package/dist/{template-outline-B3xVkzSv.cjs → template-outline-BwRV_eRo.cjs} +1 -1
- package/dist/{template-outline-CFenM1PV.js → template-outline-cnWfT_LK.js} +3 -3
- package/dist/template-registry-C62vpv4a.cjs +1 -0
- package/dist/template-registry-Cw3vRTX2.js +801 -0
- package/dist/textwrap-BEIg2w8y.js +110 -0
- package/dist/textwrap-BI-yJ6Wt.cjs +4 -0
- package/dist/{tree-CqcQ99NM.js → tree-CjVZLRw7.js} +1 -1
- package/dist/vue/async.d.cts +189 -14
- package/dist/vue/async.d.ts +189 -14
- package/dist/vue/index.d.cts +246 -22
- package/dist/vue/index.d.ts +246 -22
- package/dist/vue-async.cjs +1 -1
- package/dist/vue-async.js +3 -3
- package/dist/vue.cjs +1 -1
- package/dist/vue.js +80 -78
- package/dist/{workbook-session-BfK1yHOO.js → workbook-session-BeSO8PFB.js} +5460 -5295
- package/dist/{workbook-session-DNa2RHNG.cjs → workbook-session-Cbts-22R.cjs} +19 -19
- package/dist/worker.cjs +1 -1
- package/dist/worker.d.cts +104 -2
- package/dist/worker.d.ts +104 -2
- package/dist/worker.js +12 -156
- package/dist/xlsx-node.cjs +35 -35
- package/dist/xlsx-node.js +2138 -2137
- package/dist/xlsx.cjs +4 -4
- package/dist/xlsx.d.cts +24 -10
- package/dist/xlsx.d.ts +24 -10
- package/dist/xlsx.js +303 -277
- package/package.json +7 -4
- package/dist/ParamEditor-CflQV3eQ.js +0 -526
- package/dist/ParamEditor-vIDzvpPV.cjs +0 -1
- package/dist/ReportPreview-CvbqLUzM.cjs +0 -6
- package/dist/ReportPreview-D_ywJ_-H.js +0 -4533
- package/dist/assets-C2U-e-Sz.cjs +0 -4
- package/dist/assets-Q0wUwNrV.js +0 -217
- package/dist/batch-DzaTNLWI.js +0 -371
- package/dist/batch-xMkqYiTr.cjs +0 -1
- package/dist/capabilities-CK_7hizc.js +0 -63
- package/dist/capabilities-CsZ-pNHR.cjs +0 -1
- package/dist/config-0UIohTS7.cjs +0 -1
- package/dist/config-Dt9NtCPl.js +0 -566
- package/dist/data-explanation-BktvER5B.cjs +0 -1
- package/dist/data-explanation-C_J6jYNi.js +0 -16
- package/dist/defaults-DXhiM1ZD.js +0 -10
- package/dist/defaults-xhmcLLrf.cjs +0 -1
- package/dist/designer-Ci1LizA9.js +0 -5020
- package/dist/designer-rtmVIIdN.cjs +0 -2
- package/dist/grid-strokes-Cr7DwUux.cjs +0 -1
- package/dist/grid-strokes-DyyG1q_o.js +0 -53
- package/dist/json-snapshot-BeFT3Tso.js +0 -1952
- package/dist/json-snapshot-D1NTP2oI.cjs +0 -2
- package/dist/matrix-DVyWiYsd.cjs +0 -1
- package/dist/matrix-yZsGnldA.js +0 -227
- package/dist/page-window-index-CIuT4BAv.js +0 -43
- package/dist/page-window-index-DEjnM6IB.cjs +0 -1
- package/dist/param-validation-BlHHXs6u.js +0 -153
- package/dist/param-validation-DCK039V1.cjs +0 -1
- package/dist/progress-7OSZbFok.js +0 -39
- package/dist/progress-BnLiS5eH.cjs +0 -1
- package/dist/render-plan-7xpGrCEl.cjs +0 -1
- package/dist/render-plan-Ck6koX9L.js +0 -13
- package/dist/style-CQ1PK8ZB.js +0 -67
- package/dist/style-UgIJSA1F.cjs +0 -1
- package/dist/task-events-DQ276fn2.cjs +0 -1
- package/dist/task-events-Dpsvf_t2.js +0 -47
- package/dist/template-bindings-BJR4k7qZ.cjs +0 -1
- package/dist/template-bindings-Daui7hLF.js +0 -252
- package/dist/template-registry-COXDEJEM.js +0 -570
- package/dist/template-registry-D3SjENi6.cjs +0 -1
- package/dist/validate-BJ5HIWY8.cjs +0 -1
- package/dist/validate-CkQBWCeg.js +0 -163
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { H as R, I as W, R as y, J as C, E as O, m as X, G as z, K as H, b as K, P as Q, n as Y } from "./json-snapshot-D6ioHth9.js";
|
|
2
|
+
import { g as M } from "./report-params-B1RzkhJj.js";
|
|
3
|
+
import { d as $, r as Z, R as ee } from "./param-validation-Do7Eg8Zv.js";
|
|
4
|
+
import { t as P, b as x, D as te, v as se, c as T, R as D } from "./sha256-DTG-Gq8i.js";
|
|
5
|
+
import { a as ae } from "./template-registry-Cw3vRTX2.js";
|
|
6
|
+
import { T as re } from "./tree-CjVZLRw7.js";
|
|
7
|
+
import { r as j } from "./assets-CqIbfbTr.js";
|
|
8
|
+
import { s as S, a as J, d as oe, e as ne, r as ce } from "./prepared-DqtpvRTn.js";
|
|
9
|
+
function I(e = []) {
|
|
10
|
+
return e.map(({ code: s, message: r, severity: i, pageIndex: t, componentIndex: a }) => ({ code: s, message: r, severity: i, path: a < 0 ? `$.pages.${t}` : `$.pages.${t}.components.${a}` }));
|
|
11
|
+
}
|
|
12
|
+
async function _(e, s, r = Date.now()) {
|
|
13
|
+
const i = e.prepared, t = e.format === "pdf" ? await import("@agile-team/mach-report/pdf") : void 0;
|
|
14
|
+
P(e.signal);
|
|
15
|
+
const a = e.pdf?.customFontFaces ?? (e.pdf?.customFontBytes ? { regular: e.pdf.customFontBytes } : void 0), p = t && a ? t.createFontBytesMeasurer(a) : void 0, m = R(e), c = await m.run("encode", async () => {
|
|
16
|
+
let u;
|
|
17
|
+
if (e.format === "pdf") {
|
|
18
|
+
P(e.signal);
|
|
19
|
+
const n = await t.renderPlanToPdf(i.plan, { ...e.pdf, ...p ? { measurer: p } : {}, fidelity: e.fidelity, signal: e.signal, onProgress: (f, d) => m.progress("encode", f, d) });
|
|
20
|
+
u = n.bytes, i.diagnostics.push(...I(n.diagnostics)), i.diagnostics.push(...n.fidelityWarnings.map((f) => ({ code: "pdf-fidelity", message: f, severity: "warning" })), ...n.pageErrors.map((f) => ({ code: "pdf-page", message: f, severity: "error" }))), n.unsupportedTextCount && i.diagnostics.push({ code: "pdf-font", message: `${n.unsupportedTextCount} 段文本包含当前字体不支持的字符`, severity: "warning" });
|
|
21
|
+
} else {
|
|
22
|
+
const { renderPlanToXlsx: n } = await import("@agile-team/mach-report/xlsx");
|
|
23
|
+
P(e.signal);
|
|
24
|
+
const f = await n(i.plan, { ...e.xlsx, fidelity: e.fidelity, signal: e.signal, onProgress: (d, v) => m.progress("encode", d, v) });
|
|
25
|
+
u = new Uint8Array(f.buffer), i.diagnostics.push(...I(f.diagnostics)), i.diagnostics.push(...f.warnings.map((d) => ({ code: "xlsx-fidelity", message: d, severity: "warning" })));
|
|
26
|
+
}
|
|
27
|
+
return P(e.signal), u;
|
|
28
|
+
});
|
|
29
|
+
x(s, "maxOutputBytes", c.byteLength);
|
|
30
|
+
const { plan: o, ...w } = i;
|
|
31
|
+
return { ...w, bytes: c, format: e.format, contentType: e.format === "pdf" ? "application/pdf" : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", stats: { ...w.stats, durationMs: Date.now() - r, outputBytes: c.byteLength } };
|
|
32
|
+
}
|
|
33
|
+
function N(e) {
|
|
34
|
+
return { ...e, reportIds: [...e.reportIds], ...e.params ? { params: { ...e.params } } : {} };
|
|
35
|
+
}
|
|
36
|
+
function A(e, s) {
|
|
37
|
+
if (s.length === 0) throw new y("config", "缺少报表 ID");
|
|
38
|
+
return s.map((r) => {
|
|
39
|
+
if (!Object.prototype.hasOwnProperty.call(e, r)) throw new y("config", `未注册报表 ${r}`);
|
|
40
|
+
return e[r];
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function k(e) {
|
|
44
|
+
return e.grid?.cells.reduce((s, r) => s + r.reduce((i, t) => i + (t ? 1 + (t.children?.reduce((a, p) => a + k(p), 0) ?? 0) : 0), 0), 0) ?? 0;
|
|
45
|
+
}
|
|
46
|
+
function ie(e, s, r) {
|
|
47
|
+
return e.pages.reduce((i, t) => i + t.components.reduce((a, p) => p.kind !== "list" ? a + k(p) : a + Y(p, s, r), 0), 0);
|
|
48
|
+
}
|
|
49
|
+
function de(e, s = Object.keys(e)) {
|
|
50
|
+
return A(e, s).map((r, i) => {
|
|
51
|
+
const t = s[i], a = M(e, [t]);
|
|
52
|
+
return {
|
|
53
|
+
id: t,
|
|
54
|
+
params: JSON.parse(JSON.stringify(a)),
|
|
55
|
+
paramsSchema: Z(a),
|
|
56
|
+
datasetsSchema: Object.fromEntries(Object.entries(r.dataSchema ?? {}).map(([p, m]) => [p, W(typeof r.template == "function" ? void 0 : r.template, p, m)])),
|
|
57
|
+
capabilities: {
|
|
58
|
+
save: !!r.provider?.save,
|
|
59
|
+
export: !!r.provider?.export,
|
|
60
|
+
templates: !!r.provider?.templates
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function U(e, s) {
|
|
66
|
+
A(e, s.reportIds);
|
|
67
|
+
const r = $(M(e, s.reportIds), s.params), i = s.reportIds.flatMap((a) => $(M(e, [a]), s.params).issues), t = new Map(i.map((a) => [JSON.stringify(a), a]));
|
|
68
|
+
return { ...r, ok: t.size === 0, issues: [...t.values()] };
|
|
69
|
+
}
|
|
70
|
+
function V(e, s) {
|
|
71
|
+
const r = ae(e.plan);
|
|
72
|
+
if (!r.ok) throw new y("validate", `执行器返回无效计划:${r.errors[0]?.path}`);
|
|
73
|
+
const i = e.plan.pages.length, t = e.plan.pages.reduce((a, p) => a + p.components.reduce((m, c) => m + k(c), 0), 0);
|
|
74
|
+
return x(s, "maxRows", e.stats.rows), x(s, "maxPages", i), x(s, "maxCells", t), { ...e, stats: { ...e.stats, pages: i, cells: t } };
|
|
75
|
+
}
|
|
76
|
+
function q(e, s) {
|
|
77
|
+
const r = U(e.reports, s);
|
|
78
|
+
if (!r.ok) throw new ee(r.issues);
|
|
79
|
+
}
|
|
80
|
+
function ye(e) {
|
|
81
|
+
const s = { ...te, ...e.budget };
|
|
82
|
+
se(s);
|
|
83
|
+
const r = async (t, a) => {
|
|
84
|
+
const p = Date.now();
|
|
85
|
+
let m = 0, c = 0;
|
|
86
|
+
const o = [], w = {}, u = [], n = Object.fromEntries(Object.entries(e.reports).map(([l, g]) => [l, {
|
|
87
|
+
...g,
|
|
88
|
+
pagination: { ...e.pagination, ...g.pagination, ...a ? { measurer: a } : {} },
|
|
89
|
+
dataValidation: {
|
|
90
|
+
...g.dataValidation,
|
|
91
|
+
maxRows: Math.min(s.maxRows ?? 1e5, g.dataValidation?.maxRows ?? 1 / 0),
|
|
92
|
+
maxCells: Math.min(s.maxCells ?? 2e6, g.dataValidation?.maxCells ?? 1 / 0)
|
|
93
|
+
}
|
|
94
|
+
}])), d = await X(n, { maxPages: s.maxPages, maxCells: s.maxCells, onDatasets: (l, g, h) => {
|
|
95
|
+
try {
|
|
96
|
+
m += z(h, g, { maxRows: s.maxRows, signal: t.signal });
|
|
97
|
+
} catch (b) {
|
|
98
|
+
throw b instanceof re ? new D("budget", b.message, "$.budget.maxRows") : b;
|
|
99
|
+
}
|
|
100
|
+
x(s, "maxRows", m), c += ie(h, g, n[l]?.pagination), x(s, "maxCells", c);
|
|
101
|
+
} })({ ...t, params: t.params ?? {}, onWarning: (l) => o.push({ code: "layout", message: l, severity: "warning" }), onQueryResult: (l, g, h = 0) => {
|
|
102
|
+
const b = H(h, l);
|
|
103
|
+
Object.defineProperty(w, l, { value: { revision: g.revision, sourceToken: g.sourceToken }, enumerable: !0, writable: !0 }), u.push({ reportId: l, reportIndex: h, reportScope: b, ...g.revision === void 0 ? {} : { revision: g.revision }, ...g.sourceToken === void 0 ? {} : { sourceToken: g.sourceToken } }), o.push(...(g.diagnostics ?? []).map((E) => ({ ...E, ...E.target ? { target: {
|
|
104
|
+
...E.target,
|
|
105
|
+
reportScope: b,
|
|
106
|
+
...E.target.tableId ? { tableId: JSON.stringify([h, l, E.target.tableId]) } : {}
|
|
107
|
+
} } : {} })));
|
|
108
|
+
} }).catch((l) => {
|
|
109
|
+
throw l instanceof y && l.cause instanceof K ? new D("budget", l.cause.message, "$.budget.maxPages") : l instanceof y && l.cause instanceof Q ? new D("budget", l.cause.message, "$.budget.maxCells") : l;
|
|
110
|
+
});
|
|
111
|
+
P(t.signal);
|
|
112
|
+
const v = e.assets ? await R(t).run("assets", () => j(d, { ...e.assets, signal: t.signal })) : { plan: d, diagnostics: [] }, F = v.plan;
|
|
113
|
+
o.push(...I(v.diagnostics));
|
|
114
|
+
const L = F.pages.reduce((l, g) => l + g.components.reduce((h, b) => h + k(b), 0), 0);
|
|
115
|
+
x(s, "maxPages", F.pages.length), x(s, "maxCells", L);
|
|
116
|
+
const B = ce(t.pdf), G = e.pagination?.measurer || Object.values(e.reports).some((l) => l.pagination?.measurer);
|
|
117
|
+
return { plan: F, diagnostics: o, revisions: w, sources: u, layout: { textMetrics: B ? "font-bytes" : G ? "provided" : "heuristic", ...B ? { fontFingerprint: B } : {} }, stats: { rows: m, pages: F.pages.length, cells: L, durationMs: Date.now() - p } };
|
|
118
|
+
}, i = async (t) => {
|
|
119
|
+
const a = Date.now();
|
|
120
|
+
if (t.format !== "pdf" && t.format !== "xlsx") throw new y("config", "不支持的报表导出格式");
|
|
121
|
+
const p = t.format === "pdf" ? await import("@agile-team/mach-report/pdf") : void 0;
|
|
122
|
+
P(t.signal);
|
|
123
|
+
const m = t.pdf?.customFontFaces ?? (t.pdf?.customFontBytes ? { regular: t.pdf.customFontBytes } : void 0), c = p && m ? p.createFontBytesMeasurer(m) : void 0, o = await r(t, c);
|
|
124
|
+
return P(t.signal), _({ ...t, prepared: o }, s, a);
|
|
125
|
+
};
|
|
126
|
+
return {
|
|
127
|
+
describe: (t) => de(e.reports, t),
|
|
128
|
+
validate: (t) => U(e.reports, t),
|
|
129
|
+
prepare: (t) => T(t.signal, s.maxDurationMs, async (a) => {
|
|
130
|
+
const { signal: p, onEvent: m, ...c } = N(t), o = { ...c, ...c.pdf ? { pdf: S(c.pdf) } : {}, taskId: c.taskId ?? C() }, w = m ? (v) => O(m, v, a) : void 0, u = { ...o, signal: a, onEvent: w };
|
|
131
|
+
R(u).runSync("validate", () => q(e, o));
|
|
132
|
+
let n;
|
|
133
|
+
const f = o.pdf?.customFontFaces ?? (o.pdf?.customFontBytes ? { regular: o.pdf.customFontBytes } : void 0);
|
|
134
|
+
if (!e.executor && f) {
|
|
135
|
+
const v = await import("@agile-team/mach-report/pdf");
|
|
136
|
+
P(a), n = v.createFontBytesMeasurer(f);
|
|
137
|
+
}
|
|
138
|
+
const d = e.executor ? await e.executor.prepare(o, a, w) : await r(u, n);
|
|
139
|
+
return V(d, s);
|
|
140
|
+
}),
|
|
141
|
+
exportPrepared: (t) => T(t.signal, s.maxDurationMs, async (a) => {
|
|
142
|
+
const p = Date.now(), { signal: m, onEvent: c, ...o } = t, w = V(oe(t.prepared, s.maxPreparedBytes ?? 64e6, a), s), u = { ...o, xlsx: J(o.xlsx), prepared: w, ...o.pdf ? { pdf: S(o.pdf) } : {}, taskId: o.taskId ?? C() };
|
|
143
|
+
if (u.format !== "pdf" && u.format !== "xlsx") throw new y("config", "不支持的报表导出格式");
|
|
144
|
+
const n = c ? (d) => O(c, d, a) : void 0;
|
|
145
|
+
if (e.executor) {
|
|
146
|
+
if (!e.executor.exportPrepared) throw new y("config", "执行器未实现 exportPrepared;请升级执行器或显式使用本地运行时");
|
|
147
|
+
const d = await e.executor.exportPrepared(u, a, n);
|
|
148
|
+
return x(s, "maxRows", d.stats.rows), x(s, "maxPages", d.stats.pages), x(s, "maxCells", d.stats.cells), x(s, "maxOutputBytes", d.bytes.byteLength), { ...d, stats: { ...d.stats, outputBytes: d.bytes.byteLength } };
|
|
149
|
+
}
|
|
150
|
+
const f = { ...u, signal: a, onEvent: n };
|
|
151
|
+
if (R(f).runSync("validate", () => ne(f)), e.assets) {
|
|
152
|
+
const d = await R(f).run("assets", () => j(w.plan, { ...e.assets, signal: a }));
|
|
153
|
+
w.plan = d.plan, w.diagnostics.push(...I(d.diagnostics));
|
|
154
|
+
}
|
|
155
|
+
return _(f, s, p);
|
|
156
|
+
}),
|
|
157
|
+
export: (t) => T(t.signal, s.maxDurationMs, async (a) => {
|
|
158
|
+
const { signal: p, onEvent: m, ...c } = N(t), o = { ...c, xlsx: J(c.xlsx), ...c.pdf ? { pdf: S(c.pdf) } : {}, taskId: c.taskId ?? C() }, w = m ? (f) => O(m, f, a) : void 0, u = { ...o, signal: a, onEvent: w };
|
|
159
|
+
if (R(u).runSync("validate", () => q(e, o)), o.format !== "pdf" && o.format !== "xlsx") throw new y("config", "不支持的报表导出格式");
|
|
160
|
+
const n = e.executor ? await e.executor.export(o, a, w) : await i(u);
|
|
161
|
+
return x(s, "maxRows", n.stats.rows), x(s, "maxPages", n.stats.pages), x(s, "maxCells", n.stats.cells), x(s, "maxOutputBytes", n.bytes.byteLength), { ...n, stats: { ...n.stats, outputBytes: n.bytes.byteLength } };
|
|
162
|
+
})
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
export {
|
|
166
|
+
ye as c,
|
|
167
|
+
V as e
|
|
168
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var J=Object.create;var D=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var W=(e,t,a,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of N(t))!X.call(e,s)&&s!==a&&D(e,s,{get:()=>t[s],enumerable:!(c=V(t,s))||c.enumerable});return e};var E=(e,t,a)=>(a=e!=null?J(U(e)):{},W(t||!e||!e.__esModule?D(a,"default",{value:e,enumerable:!0}):a,e));const n=require("./json-snapshot-DknkjvxP.cjs"),F=require("./report-params-WDGrA4oP.cjs"),k=require("./param-validation-C3HlcLLO.cjs"),o=require("./sha256-BshdOkCC.cjs"),z=require("./template-registry-C62vpv4a.cjs"),G=require("./tree-BX380Rr7.cjs"),M=require("./assets-e4YSke8n.cjs"),b=require("./prepared-DdrjLC7L.cjs");function I(e=[]){return e.map(({code:t,message:a,severity:c,pageIndex:s,componentIndex:r})=>({code:t,message:a,severity:c,path:r<0?`$.pages.${s}`:`$.pages.${s}.components.${r}`}))}async function q(e,t,a=Date.now()){const c=e.prepared,s=e.format==="pdf"?await import("@agile-team/mach-report/pdf"):void 0;o.throwIfAborted(e.signal);const r=e.pdf?.customFontFaces??(e.pdf?.customFontBytes?{regular:e.pdf.customFontBytes}:void 0),u=s&&r?s.createFontBytesMeasurer(r):void 0,m=n.createReportTaskReporter(e),p=await m.run("encode",async()=>{let x;if(e.format==="pdf"){o.throwIfAborted(e.signal);const d=await s.renderPlanToPdf(c.plan,{...e.pdf,...u?{measurer:u}:{},fidelity:e.fidelity,signal:e.signal,onProgress:(f,l)=>m.progress("encode",f,l)});x=d.bytes,c.diagnostics.push(...I(d.diagnostics)),c.diagnostics.push(...d.fidelityWarnings.map(f=>({code:"pdf-fidelity",message:f,severity:"warning"})),...d.pageErrors.map(f=>({code:"pdf-page",message:f,severity:"error"}))),d.unsupportedTextCount&&c.diagnostics.push({code:"pdf-font",message:`${d.unsupportedTextCount} 段文本包含当前字体不支持的字符`,severity:"warning"})}else{const{renderPlanToXlsx:d}=await import("@agile-team/mach-report/xlsx");o.throwIfAborted(e.signal);const f=await d(c.plan,{...e.xlsx,fidelity:e.fidelity,signal:e.signal,onProgress:(l,h)=>m.progress("encode",l,h)});x=new Uint8Array(f.buffer),c.diagnostics.push(...I(f.diagnostics)),c.diagnostics.push(...f.warnings.map(l=>({code:"xlsx-fidelity",message:l,severity:"warning"})))}return o.throwIfAborted(e.signal),x});o.assertBudget(t,"maxOutputBytes",p.byteLength);const{plan:i,...y}=c;return{...y,bytes:p,format:e.format,contentType:e.format==="pdf"?"application/pdf":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",stats:{...y.stats,durationMs:Date.now()-a,outputBytes:p.byteLength}}}function A(e){return{...e,reportIds:[...e.reportIds],...e.params?{params:{...e.params}}:{}}}function $(e,t){if(t.length===0)throw new n.ReportSourceError("config","缺少报表 ID");return t.map(a=>{if(!Object.prototype.hasOwnProperty.call(e,a))throw new n.ReportSourceError("config",`未注册报表 ${a}`);return e[a]})}function T(e){return e.grid?.cells.reduce((t,a)=>t+a.reduce((c,s)=>c+(s?1+(s.children?.reduce((r,u)=>r+T(u),0)??0):0),0),0)??0}function Q(e,t,a){return e.pages.reduce((c,s)=>c+s.components.reduce((r,u)=>u.kind!=="list"?r+T(u):r+n.estimateListLayoutCells(u,t,a),0),0)}function H(e,t=Object.keys(e)){return $(e,t).map((a,c)=>{const s=t[c],r=F.getReportParamDefs(e,[s]);return{id:s,params:JSON.parse(JSON.stringify(r)),paramsSchema:k.reportParamsJsonSchema(r),datasetsSchema:Object.fromEntries(Object.entries(a.dataSchema??{}).map(([u,m])=>[u,n.templateDatasetJsonSchema(typeof a.template=="function"?void 0:a.template,u,m)])),capabilities:{save:!!a.provider?.save,export:!!a.provider?.export,templates:!!a.provider?.templates}}})}function j(e,t){$(e,t.reportIds);const a=k.validateReportParams(F.getReportParamDefs(e,t.reportIds),t.params),c=t.reportIds.flatMap(r=>k.validateReportParams(F.getReportParamDefs(e,[r]),t.params).issues),s=new Map(c.map(r=>[JSON.stringify(r),r]));return{...a,ok:s.size===0,issues:[...s.values()]}}function O(e,t){const a=z.validateRenderPlan(e.plan);if(!a.ok)throw new n.ReportSourceError("validate",`执行器返回无效计划:${a.errors[0]?.path}`);const c=e.plan.pages.length,s=e.plan.pages.reduce((r,u)=>r+u.components.reduce((m,p)=>m+T(p),0),0);return o.assertBudget(t,"maxRows",e.stats.rows),o.assertBudget(t,"maxPages",c),o.assertBudget(t,"maxCells",s),{...e,stats:{...e.stats,pages:c,cells:s}}}function L(e,t){const a=j(e.reports,t);if(!a.ok)throw new k.ReportParamValidationError(a.issues)}function K(e){const t={...o.DEFAULT_REPORT_RUNTIME_BUDGET,...e.budget};o.validateBudget(t);const a=async(s,r)=>{const u=Date.now();let m=0,p=0;const i=[],y={},x=[],d=Object.fromEntries(Object.entries(e.reports).map(([g,w])=>[g,{...w,pagination:{...e.pagination,...w.pagination,...r?{measurer:r}:{}},dataValidation:{...w.dataValidation,maxRows:Math.min(t.maxRows??1e5,w.dataValidation?.maxRows??1/0),maxCells:Math.min(t.maxCells??2e6,w.dataValidation?.maxCells??1/0)}}])),l=await n.createReportSource(d,{maxPages:t.maxPages,maxCells:t.maxCells,onDatasets:(g,w,v)=>{try{m+=n.templateDatasetRowCount(v,w,{maxRows:t.maxRows,signal:s.signal})}catch(R){throw R instanceof G.TreeRowLimitError?new o.ReportRuntimeError("budget",R.message,"$.budget.maxRows"):R}o.assertBudget(t,"maxRows",m),p+=Q(v,w,d[g]?.pagination),o.assertBudget(t,"maxCells",p)}})({...s,params:s.params??{},onWarning:g=>i.push({code:"layout",message:g,severity:"warning"}),onQueryResult:(g,w,v=0)=>{const R=n.reportOccurrenceScope(v,g);Object.defineProperty(y,g,{value:{revision:w.revision,sourceToken:w.sourceToken},enumerable:!0,writable:!0}),x.push({reportId:g,reportIndex:v,reportScope:R,...w.revision===void 0?{}:{revision:w.revision},...w.sourceToken===void 0?{}:{sourceToken:w.sourceToken}}),i.push(...(w.diagnostics??[]).map(P=>({...P,...P.target?{target:{...P.target,reportScope:R,...P.target.tableId?{tableId:JSON.stringify([v,g,P.target.tableId])}:{}}}:{}})))}}).catch(g=>{throw g instanceof n.ReportSourceError&&g.cause instanceof n.PaginatePageLimitError?new o.ReportRuntimeError("budget",g.cause.message,"$.budget.maxPages"):g instanceof n.ReportSourceError&&g.cause instanceof n.PaginateCellLimitError?new o.ReportRuntimeError("budget",g.cause.message,"$.budget.maxCells"):g});o.throwIfAborted(s.signal);const h=e.assets?await n.createReportTaskReporter(s).run("assets",()=>M.resolvePlanAssets(l,{...e.assets,signal:s.signal})):{plan:l,diagnostics:[]},B=h.plan;i.push(...I(h.diagnostics));const C=B.pages.reduce((g,w)=>g+w.components.reduce((v,R)=>v+T(R),0),0);o.assertBudget(t,"maxPages",B.pages.length),o.assertBudget(t,"maxCells",C);const S=b.reportFontFingerprint(s.pdf),_=e.pagination?.measurer||Object.values(e.reports).some(g=>g.pagination?.measurer);return{plan:B,diagnostics:i,revisions:y,sources:x,layout:{textMetrics:S?"font-bytes":_?"provided":"heuristic",...S?{fontFingerprint:S}:{}},stats:{rows:m,pages:B.pages.length,cells:C,durationMs:Date.now()-u}}},c=async s=>{const r=Date.now();if(s.format!=="pdf"&&s.format!=="xlsx")throw new n.ReportSourceError("config","不支持的报表导出格式");const u=s.format==="pdf"?await import("@agile-team/mach-report/pdf"):void 0;o.throwIfAborted(s.signal);const m=s.pdf?.customFontFaces??(s.pdf?.customFontBytes?{regular:s.pdf.customFontBytes}:void 0),p=u&&m?u.createFontBytesMeasurer(m):void 0,i=await a(s,p);return o.throwIfAborted(s.signal),q({...s,prepared:i},t,r)};return{describe:s=>H(e.reports,s),validate:s=>j(e.reports,s),prepare:s=>o.controlled(s.signal,t.maxDurationMs,async r=>{const{signal:u,onEvent:m,...p}=A(s),i={...p,...p.pdf?{pdf:b.snapshotPdfFonts(p.pdf)}:{},taskId:p.taskId??n.reportTaskId()},y=m?h=>n.notifyReportTaskEvent(m,h,r):void 0,x={...i,signal:r,onEvent:y};n.createReportTaskReporter(x).runSync("validate",()=>L(e,i));let d;const f=i.pdf?.customFontFaces??(i.pdf?.customFontBytes?{regular:i.pdf.customFontBytes}:void 0);if(!e.executor&&f){const h=await import("@agile-team/mach-report/pdf");o.throwIfAborted(r),d=h.createFontBytesMeasurer(f)}const l=e.executor?await e.executor.prepare(i,r,y):await a(x,d);return O(l,t)}),exportPrepared:s=>o.controlled(s.signal,t.maxDurationMs,async r=>{const u=Date.now(),{signal:m,onEvent:p,...i}=s,y=O(b.snapshotPreparedReport(s.prepared,t.maxPreparedBytes??64e6,r),t),x={...i,xlsx:b.snapshotXlsxOptions(i.xlsx),prepared:y,...i.pdf?{pdf:b.snapshotPdfFonts(i.pdf)}:{},taskId:i.taskId??n.reportTaskId()};if(x.format!=="pdf"&&x.format!=="xlsx")throw new n.ReportSourceError("config","不支持的报表导出格式");const d=p?l=>n.notifyReportTaskEvent(p,l,r):void 0;if(e.executor){if(!e.executor.exportPrepared)throw new n.ReportSourceError("config","执行器未实现 exportPrepared;请升级执行器或显式使用本地运行时");const l=await e.executor.exportPrepared(x,r,d);return o.assertBudget(t,"maxRows",l.stats.rows),o.assertBudget(t,"maxPages",l.stats.pages),o.assertBudget(t,"maxCells",l.stats.cells),o.assertBudget(t,"maxOutputBytes",l.bytes.byteLength),{...l,stats:{...l.stats,outputBytes:l.bytes.byteLength}}}const f={...x,signal:r,onEvent:d};if(n.createReportTaskReporter(f).runSync("validate",()=>b.checkPreparedFont(f)),e.assets){const l=await n.createReportTaskReporter(f).run("assets",()=>M.resolvePlanAssets(y.plan,{...e.assets,signal:r}));y.plan=l.plan,y.diagnostics.push(...I(l.diagnostics))}return q(f,t,u)}),export:s=>o.controlled(s.signal,t.maxDurationMs,async r=>{const{signal:u,onEvent:m,...p}=A(s),i={...p,xlsx:b.snapshotXlsxOptions(p.xlsx),...p.pdf?{pdf:b.snapshotPdfFonts(p.pdf)}:{},taskId:p.taskId??n.reportTaskId()},y=m?f=>n.notifyReportTaskEvent(m,f,r):void 0,x={...i,signal:r,onEvent:y};if(n.createReportTaskReporter(x).runSync("validate",()=>L(e,i)),i.format!=="pdf"&&i.format!=="xlsx")throw new n.ReportSourceError("config","不支持的报表导出格式");const d=e.executor?await e.executor.export(i,r,y):await c(x);return o.assertBudget(t,"maxRows",d.stats.rows),o.assertBudget(t,"maxPages",d.stats.pages),o.assertBudget(t,"maxCells",d.stats.cells),o.assertBudget(t,"maxOutputBytes",d.bytes.byteLength),{...d,stats:{...d.stats,outputBytes:d.bytes.byteLength}}})}}exports.createReportRuntime=K;exports.enforcePrepared=O;
|