react-semaphor 0.1.514 → 0.1.516
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +226 -225
- package/dist/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +4 -4
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +8 -8
- package/dist/chunks/{calculated-field-identity-BiTGmnST.cjs → calculated-field-identity-5bg9oHTw.cjs} +1 -1
- package/dist/chunks/{calculated-field-identity-DnRd4YIY.js → calculated-field-identity-DzJBs2J8.js} +4 -4
- package/dist/chunks/{card-config-utils-B2cDWQqB.js → card-config-utils-Cxnq2R6z.js} +14 -14
- package/dist/chunks/{card-config-utils-CMO4_zVs.cjs → card-config-utils-z86y6tSq.cjs} +1 -1
- package/dist/chunks/column-bands-CU0byntA.cjs +1 -0
- package/dist/chunks/column-bands-RdM-kjDe.js +47 -0
- package/dist/chunks/{dashboard-briefing-launcher-e3s3MuSs.js → dashboard-briefing-launcher-BCEHJ_eD.js} +15 -12
- package/dist/chunks/{dashboard-briefing-launcher-BzPD50QD.cjs → dashboard-briefing-launcher-CjZ4aE34.cjs} +2 -2
- package/dist/chunks/{dashboard-controls-DAOABnks.js → dashboard-controls-DFfit5KH.js} +12 -12
- package/dist/chunks/{dashboard-controls-DQBfOqmC.cjs → dashboard-controls-f9aJ70Zu.cjs} +1 -1
- package/dist/chunks/{dashboard-date-comparison-definition-D7Bl-YAl.js → dashboard-date-comparison-definition-BqNhECUr.js} +6 -6
- package/dist/chunks/{dashboard-date-comparison-definition-C_w-GO_5.cjs → dashboard-date-comparison-definition-Y6JZwpcr.cjs} +1 -1
- package/dist/chunks/{dashboard-json-S5Eq2GAg.js → dashboard-json-DVtcA02f.js} +7 -7
- package/dist/chunks/{dashboard-json-1jZycd5h.cjs → dashboard-json-deqQC-UR.cjs} +1 -1
- package/dist/chunks/edit-dashboard-visual-DK6lSC_p.cjs +172 -0
- package/dist/chunks/{edit-dashboard-visual-Bkm0ciHG.js → edit-dashboard-visual-lJ6rDH3w.js} +4553 -4542
- package/dist/chunks/{editor-action-buttons-Bvv16QA-.js → editor-action-buttons-Bnxxa439.js} +7 -7
- package/dist/chunks/{editor-action-buttons-B2NCSsDw.cjs → editor-action-buttons-CmDaQbPN.cjs} +1 -1
- package/dist/chunks/{field-aggregations-CzuQKtqx.js → field-aggregations-Dl2A3rbV.js} +461 -358
- package/dist/chunks/field-aggregations-pH_3kymD.cjs +1 -0
- package/dist/chunks/{field-dependencies-DIab72rQ.cjs → field-dependencies-EB485TdB.cjs} +1 -1
- package/dist/chunks/{field-dependencies-DXW4jtvJ.js → field-dependencies-v-lJNzC7.js} +1 -1
- package/dist/chunks/{index-nhUr9xBz.js → index-BVVl2JDK.js} +57955 -54696
- package/dist/chunks/{index-CACdoqu3.js → index-C8w91oj4.js} +61 -51
- package/dist/chunks/index-Cw2ypaFl.cjs +1 -0
- package/dist/chunks/index-DfqMtR9S.cjs +4 -0
- package/dist/chunks/index-UNKSfi7s.cjs +1434 -0
- package/dist/chunks/{index-CnGVjyF8.js → index-ylOpKRDu.js} +877 -849
- package/dist/chunks/{matrix-analytical-definition-Ct5Tu8np.cjs → matrix-analytical-definition-BWd159lN.cjs} +1 -1
- package/dist/chunks/{matrix-analytical-definition-BDAK2aEi.js → matrix-analytical-definition-BimC4XIV.js} +1 -1
- package/dist/chunks/{matrix-card-U4c72doZ.cjs → matrix-card-C2RjEYZ8.cjs} +1 -1
- package/dist/chunks/{matrix-card-DOIeTmjh.js → matrix-card-CIlz0Dnp.js} +2 -2
- package/dist/chunks/{matrix-control-sources-FjxGIbqk.cjs → matrix-control-sources-BvEJF7d3.cjs} +1 -1
- package/dist/chunks/{matrix-control-sources-BxKH2yu2.js → matrix-control-sources-KbZe1gj_.js} +51 -51
- package/dist/chunks/{matrix-definition-CBJW_4ii.cjs → matrix-definition-DanUT11P.cjs} +1 -1
- package/dist/chunks/{matrix-definition-I9rHB9zN.js → matrix-definition-E5gXXSTZ.js} +1 -1
- package/dist/chunks/matrix-formatter-BJTO8ky9.cjs +1 -0
- package/dist/chunks/matrix-formatter-CCXNRt3s.js +341 -0
- package/dist/chunks/{matrix-member-presentation-DO1VSqfh.js → matrix-member-presentation-Bw7-JCrr.js} +64 -64
- package/dist/chunks/matrix-member-presentation-DvXDEo0U.cjs +1 -0
- package/dist/chunks/{matrix-operation-contract-DoiWTUbT.cjs → matrix-operation-contract-0RxoU_M3.cjs} +1 -1
- package/dist/chunks/{matrix-operation-contract-D0HfzwZg.js → matrix-operation-contract-D32U2CSw.js} +19 -19
- package/dist/chunks/{metric-comparison-Dqc7_tnW.js → metric-comparison-BphoJ9bq.js} +1 -1
- package/dist/chunks/{metric-comparison-DBQ3EJTz.cjs → metric-comparison-CUmltzpz.cjs} +1 -1
- package/dist/chunks/pivot-header-presentation-BSZhB1g-.js +661 -0
- package/dist/chunks/pivot-header-presentation-EoUS5ze5.cjs +5 -0
- package/dist/chunks/{pivot-result-identity-8M-bZrw9.js → pivot-result-identity-BzUQiCEV.js} +4 -4
- package/dist/chunks/{pivot-result-identity-uTiylUNr.cjs → pivot-result-identity-gquWljbd.cjs} +1 -1
- package/dist/chunks/pivot-result-lifecycle-gl9cBfB-.cjs +1 -0
- package/dist/chunks/{pivot-result-lifecycle-BeOpjAhg.js → pivot-result-lifecycle-kRhiJkzg.js} +208 -149
- package/dist/chunks/{raw-temporal-DrmCX9Wq.js → raw-temporal-BqOfk-xN.js} +471 -361
- package/dist/chunks/{raw-temporal-contract-CFLGwTiI.js → raw-temporal-contract-BQZIJ1fn.js} +1 -1
- package/dist/chunks/{raw-temporal-contract-DECbTuzA.cjs → raw-temporal-contract-CklMVG_1.cjs} +1 -1
- package/dist/chunks/raw-temporal-eJXecCyJ.cjs +1 -0
- package/dist/chunks/{report-preferences-dialog-B2fzQH1T.js → report-preferences-dialog-CHXPEl7v.js} +6 -6
- package/dist/chunks/{report-preferences-dialog-DcLkVqni.cjs → report-preferences-dialog-Cto0vDwI.cjs} +1 -1
- package/dist/chunks/{report-runtime-context-Cs65Mrxj.js → report-runtime-context-CxIoGyNM.js} +1 -1
- package/dist/chunks/{report-runtime-context-DzvHBPxl.cjs → report-runtime-context-CzSrCBsu.cjs} +1 -1
- package/dist/chunks/{selection-reducer-BIiQXbGM.js → selection-reducer-CvCBQbl2.js} +1 -1
- package/dist/chunks/{selection-reducer-CGKKsaPa.cjs → selection-reducer-Kl22OzIk.cjs} +1 -1
- package/dist/chunks/{semantic-format-BZxJLKvw.js → semantic-format-DwqGYx4V.js} +25 -31
- package/dist/chunks/semantic-format-mVI32OJH.cjs +1 -0
- package/dist/chunks/{source-entity-resolution-D7vnmDwm.js → source-entity-resolution-Bzefiive.js} +7 -7
- package/dist/chunks/{source-entity-resolution-CjbgnwyX.cjs → source-entity-resolution-R46X34SE.cjs} +1 -1
- package/dist/chunks/switch-DNbWXEOP.cjs +134 -0
- package/dist/chunks/{switch-QfKb0Iwe.js → switch-DNv-hVmt.js} +8260 -7659
- package/dist/chunks/{temporal-bucket-B9hMwemw.js → temporal-bucket-DlFuhCnT.js} +6 -6
- package/dist/chunks/{temporal-bucket-contract-IWDgyTMw.js → temporal-bucket-contract-DTLDRzgV.js} +1 -1
- package/dist/chunks/{temporal-bucket-contract-ZctiyXYk.cjs → temporal-bucket-contract-nTv6gvX5.cjs} +1 -1
- package/dist/chunks/{token-types-Dl0hcKBX.js → token-types-BC6RcUY8.js} +1 -1
- package/dist/chunks/{token-types-Ahh5u4iT.cjs → token-types-aWrzwonf.cjs} +1 -1
- package/dist/chunks/{update-policy-COjFudhl.cjs → update-policy-DRDLWe7Y.cjs} +1 -1
- package/dist/chunks/{update-policy-BeQqjupC.js → update-policy-DhAUtiC8.js} +2 -2
- package/dist/chunks/{validators-CkHsAvwB.js → validators-CsdOtZI6.js} +411 -397
- package/dist/chunks/validators-DFeDcdpA.cjs +1 -0
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +233 -227
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +3 -3
- package/dist/data-app-codegen/index.cjs +1 -1
- package/dist/data-app-codegen/index.js +2 -2
- package/dist/data-app-codegen-node/index.cjs +1 -1
- package/dist/data-app-codegen-node/index.js +3 -3
- package/dist/data-app-sdk/index.cjs +1 -1
- package/dist/data-app-sdk/index.js +5 -5
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +2 -2
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +5 -5
- package/dist/format-utils/index.cjs +3 -3
- package/dist/format-utils/index.js +291 -397
- package/dist/index.cjs +1 -1
- package/dist/index.js +15 -15
- package/dist/pdf-table-layout/index.cjs +1 -0
- package/dist/pdf-table-layout/index.js +993 -0
- package/dist/report-runtime-context/index.cjs +1 -1
- package/dist/report-runtime-context/index.js +2 -2
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/briefings/index.d.ts +1 -1
- package/dist/types/components/document-sheet/document-input-bar.d.ts +1 -3
- package/dist/types/components/document-sheet/document-insert-picker.d.ts +37 -0
- package/dist/types/components/document-sheet/document-kpi-section.d.ts +17 -0
- package/dist/types/components/document-sheet/document-matrix-layout-context.d.ts +10 -0
- package/dist/types/components/document-sheet/document-matrix-section.d.ts +27 -0
- package/dist/types/components/document-sheet/document-measure-layer.d.ts +45 -0
- package/dist/types/components/document-sheet/document-outline.d.ts +7 -1
- package/dist/types/components/document-sheet/document-page-navigation.d.ts +22 -0
- package/dist/types/components/document-sheet/document-page.d.ts +9 -5
- package/dist/types/components/document-sheet/document-panel/document-side-panel.d.ts +36 -0
- package/dist/types/components/document-sheet/document-panel/inputs-panel.d.ts +9 -0
- package/dist/types/components/document-sheet/document-panel/page-panel.d.ts +5 -0
- package/dist/types/components/document-sheet/document-panel/panel-controls.d.ts +14 -0
- package/dist/types/components/document-sheet/document-panel/region-panels.d.ts +11 -0
- package/dist/types/components/document-sheet/document-panel/section-panel.d.ts +25 -0
- package/dist/types/components/document-sheet/document-section-print-boundary.d.ts +9 -0
- package/dist/types/components/document-sheet/document-table-chrome.d.ts +22 -0
- package/dist/types/components/document-sheet/document-table-section.d.ts +3 -7
- package/dist/types/components/document-sheet/document-text-preview-context.d.ts +8 -0
- package/dist/types/components/document-sheet/use-first-fitting-variant.d.ts +18 -0
- package/dist/types/components/editor/editor-main/dashboard-variable-node.d.ts +12 -2
- package/dist/types/components/explorer/chart-configuration/matrix-authoring-controls.d.ts +7 -2
- package/dist/types/components/text-variables/variable-chip-plugin.d.ts +23 -0
- package/dist/types/components/text-variables/variable-chip.d.ts +18 -0
- package/dist/types/components/text-variables/variable-picker.d.ts +27 -0
- package/dist/types/components/visual/aggregated-table/utils/metric-format-resolver.d.ts +3 -3
- package/dist/types/components/visual/data-table/types/data-table.d.ts +4 -1
- package/dist/types/components/visual/pivot-table/utils/pivot-metric-formatting.d.ts +2 -2
- package/dist/types/components/visual/settings/table-presentation-settings.d.ts +27 -1
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +5 -5
- package/dist/types/lib/dashboard-inputs/text-variable-options.d.ts +15 -0
- package/dist/types/lib/document/document-canvas-actions.d.ts +22 -0
- package/dist/types/lib/document/document-edits.d.ts +119 -0
- package/dist/types/lib/document/document-kpi-figure.d.ts +27 -0
- package/dist/types/lib/document/document-kpi-layout.d.ts +29 -0
- package/dist/types/lib/document/document-kpi-section-edits.d.ts +15 -0
- package/dist/types/lib/document/document-matrix-bands.d.ts +66 -0
- package/dist/types/lib/document/document-matrix-print.d.ts +11 -0
- package/dist/types/lib/document/document-pagination.d.ts +56 -3
- package/dist/types/lib/document/document-panel-target.d.ts +19 -0
- package/dist/types/lib/document/document-section-editor.d.ts +8 -7
- package/dist/types/lib/document/document-section-kinds.d.ts +49 -0
- package/dist/types/lib/document/document-section-query-options.d.ts +25 -0
- package/dist/types/lib/document/document-section-render-state.d.ts +26 -0
- package/dist/types/lib/document/document-section-utils.d.ts +11 -4
- package/dist/types/lib/document/document-table-dom.d.ts +4 -6
- package/dist/types/lib/document/document-table-pagination-model.d.ts +0 -5
- package/dist/types/lib/document/document-table-print-model.d.ts +4 -3
- package/dist/types/lib/document/document-table-style.d.ts +15 -4
- package/dist/types/lib/document/document-table-surface.d.ts +15 -0
- package/dist/types/lib/document/document-variables.d.ts +40 -6
- package/dist/types/lib/document/use-document-section-data.d.ts +39 -0
- package/dist/types/lib/document/use-measured-document-table-layout.d.ts +50 -0
- package/dist/types/lib/formatters/kpi-result-values.d.ts +20 -0
- package/dist/types/lib/formatters/metric-formatting.d.ts +3 -3
- package/dist/types/lib/hooks/query-context/use-dashboard-card-execution-snapshot.d.ts +8 -2
- package/dist/types/lib/hooks/use-dashboard-frame-query.d.ts +6 -0
- package/dist/types/lib/hooks/use-dashboard-kpi-actions.d.ts +1 -1
- package/dist/types/lib/hooks/use-document-section-editor.d.ts +2 -2
- package/dist/types/lib/hooks/use-document-section-session.d.ts +36 -0
- package/dist/types/lib/hooks/use-editor-preview.d.ts +17 -0
- package/dist/types/lib/hooks/use-is-editing-card.d.ts +7 -0
- package/dist/types/lib/matrix-table/matrix-card-adapter.d.ts +2 -0
- package/dist/types/lib/matrix-table/matrix-card-draft.d.ts +2 -0
- package/dist/types/lib/matrix-table/matrix-delivery.d.ts +4 -0
- package/dist/types/lib/matrix-table/matrix-layout-read.d.ts +68 -0
- package/dist/types/lib/query-context/build-dashboard-execution-snapshot.d.ts +8 -1
- package/dist/types/lib/query-context/build-dashboard-frame-base-query-contexts.d.ts +4 -2
- package/dist/types/lib/query-context/card-execution.d.ts +30 -0
- package/dist/types/lib/query-context/document-section-card-query.d.ts +37 -0
- package/dist/types/lib/stores/dashboard-store.d.ts +12 -8
- package/dist/types/lib/stores/editor-store.d.ts +2 -0
- package/dist/types/lib/table-formatting/table-presentation-fields.d.ts +1 -0
- package/dist/types/lib/text-variables/text-variable-types.d.ts +39 -0
- package/dist/types/lib/types/common-types.d.ts +34 -1
- package/dist/types/lib/utils/card-definition.d.ts +2 -0
- package/dist/types/lib/utils/card-utils.d.ts +13 -6
- package/dist/types/lib/utils/date-timezone-utils.d.ts +26 -4
- package/dist/types/pdf-table-layout.d.ts +2 -0
- package/dist/types/shared/analytics-protocol/index.d.ts +1 -1
- package/dist/types/shared/analytics-protocol/matrix-definition-contract.d.ts +45 -0
- package/dist/types/shared/analytics-protocol/matrix-member-presentation.d.ts +4 -0
- package/dist/types/shared/dashboard-authoring/document-section-cards.d.ts +56 -0
- package/dist/types/shared/dashboard-authoring/index.d.ts +1 -0
- package/dist/types/shared/dashboard-authoring/matrix-delivery.d.ts +36 -1
- package/dist/types/shared/format-utils/formatters/duration-formatter.d.ts +4 -1
- package/dist/types/shared/format-utils/formatters/index.d.ts +2 -2
- package/dist/types/shared/format-utils/formatters/matrix-formatter.d.ts +5 -0
- package/dist/types/shared/format-utils/formatters/number-formatter.d.ts +8 -2
- package/dist/types/shared/format-utils/index.d.ts +1 -0
- package/dist/types/shared/format-utils/matrix-export-presentation.d.ts +690 -1
- package/dist/types/shared/format-utils/matrix-print.d.ts +38 -0
- package/dist/types/shared/format-utils/pdf-table-layout/column-bands.d.ts +55 -0
- package/dist/types/shared/format-utils/pdf-table-layout/index.d.ts +6 -0
- package/dist/types/shared/format-utils/pdf-table-layout/page-size.d.ts +7 -0
- package/dist/types/shared/format-utils/pdf-table-layout/table-column-semantics.d.ts +106 -0
- package/dist/types/shared/format-utils/pdf-table-layout/table-column-widths.d.ts +13 -0
- package/dist/types/shared/format-utils/pdf-table-layout/table-page-geometry.d.ts +19 -0
- package/dist/types/shared/format-utils/pdf-table-layout/wide-table-layout.d.ts +46 -0
- package/dist/types/shared/format-utils/presentation-execution.d.ts +17 -2
- package/dist/types/shared/format-utils/table-structure.d.ts +9 -0
- package/dist/types/shared/format-utils/types/format-types.d.ts +16 -1
- package/package.json +6 -1
- package/dist/chunks/edit-dashboard-visual-BwJ2Eljw.cjs +0 -172
- package/dist/chunks/field-aggregations-jSi77h9Z.cjs +0 -1
- package/dist/chunks/index-DhlVxvyI.cjs +0 -4
- package/dist/chunks/index-DrOFJOCq.cjs +0 -1424
- package/dist/chunks/index-F25jnH0p.cjs +0 -1
- package/dist/chunks/matrix-formatter-BLunke3R.js +0 -424
- package/dist/chunks/matrix-formatter-CveLJo6S.cjs +0 -1
- package/dist/chunks/matrix-member-presentation-CFHjdrxT.cjs +0 -1
- package/dist/chunks/pivot-header-presentation-Cxz8-06f.cjs +0 -5
- package/dist/chunks/pivot-header-presentation-Dm9dUQsl.js +0 -415
- package/dist/chunks/pivot-result-lifecycle-BiERyXnS.cjs +0 -1
- package/dist/chunks/raw-temporal-BUeTpG76.cjs +0 -1
- package/dist/chunks/semantic-format-BzH69TRq.cjs +0 -1
- package/dist/chunks/switch--Re1K566.cjs +0 -134
- package/dist/chunks/validators-DVYAnnX0.cjs +0 -1
|
@@ -5,7 +5,7 @@ const Ot = [
|
|
|
5
5
|
"population_required",
|
|
6
6
|
"ambiguous_relationship"
|
|
7
7
|
];
|
|
8
|
-
function
|
|
8
|
+
function ia(e) {
|
|
9
9
|
return Ot.includes(
|
|
10
10
|
e
|
|
11
11
|
);
|
|
@@ -20,7 +20,7 @@ const De = 200, z = [
|
|
|
20
20
|
"quarter",
|
|
21
21
|
"year"
|
|
22
22
|
];
|
|
23
|
-
function
|
|
23
|
+
function na(e) {
|
|
24
24
|
return typeof e == "string" && z.includes(e);
|
|
25
25
|
}
|
|
26
26
|
const Yt = [
|
|
@@ -30,17 +30,17 @@ const Yt = [
|
|
|
30
30
|
"quarter_long",
|
|
31
31
|
"fiscal_quarter_short",
|
|
32
32
|
"fiscal_year"
|
|
33
|
-
],
|
|
33
|
+
], aa = {
|
|
34
34
|
invalidMetadata: "invalid_raw_temporal_metadata"
|
|
35
35
|
};
|
|
36
36
|
function Pt(e) {
|
|
37
37
|
return e === "second" || e === "minute" || e === "hour" ? "datetime" : "date";
|
|
38
38
|
}
|
|
39
|
-
const
|
|
39
|
+
const oa = {
|
|
40
40
|
missingMetadata: "missing_temporal_bucket_metadata",
|
|
41
41
|
invalidMetadata: "invalid_temporal_bucket_metadata",
|
|
42
42
|
invalidValue: "invalid_temporal_bucket_value"
|
|
43
|
-
},
|
|
43
|
+
}, sa = "__auto_count__";
|
|
44
44
|
function Bt(e) {
|
|
45
45
|
return typeof e == "string" || typeof e == "number" && Number.isFinite(e) || typeof e == "boolean";
|
|
46
46
|
}
|
|
@@ -252,7 +252,7 @@ const _e = i.object({
|
|
|
252
252
|
]).optional(),
|
|
253
253
|
format: he.optional(),
|
|
254
254
|
tags: i.array(i.string()).optional()
|
|
255
|
-
}).passthrough(), et = Je,
|
|
255
|
+
}).passthrough(), et = Je, ra = Ze.and(
|
|
256
256
|
i.object({
|
|
257
257
|
derivedField: et.optional()
|
|
258
258
|
}).passthrough()
|
|
@@ -274,7 +274,7 @@ const _e = i.object({
|
|
|
274
274
|
Xt,
|
|
275
275
|
Zt,
|
|
276
276
|
Jt
|
|
277
|
-
]),
|
|
277
|
+
]), la = i.object({
|
|
278
278
|
key: i.string().optional(),
|
|
279
279
|
name: i.string(),
|
|
280
280
|
label: i.string().optional(),
|
|
@@ -328,10 +328,10 @@ const _e = i.object({
|
|
|
328
328
|
message: `${e.rawTemporal.valueKind} raw temporal values require dataType ${n}.`
|
|
329
329
|
});
|
|
330
330
|
}
|
|
331
|
-
}),
|
|
331
|
+
}), da = i.object({
|
|
332
332
|
records: O,
|
|
333
333
|
columns: i.array(j).optional()
|
|
334
|
-
}).passthrough(),
|
|
334
|
+
}).passthrough(), ua = i.object({
|
|
335
335
|
records: O,
|
|
336
336
|
columns: i.array(j)
|
|
337
337
|
}).passthrough(), tt = i.object({
|
|
@@ -343,16 +343,16 @@ const _e = i.object({
|
|
|
343
343
|
validDateCandidates: i.array(i.string()).optional(),
|
|
344
344
|
validDimensionCandidates: i.array(i.string()).optional(),
|
|
345
345
|
recommendedNextStep: i.string()
|
|
346
|
-
}).passthrough(),
|
|
346
|
+
}).passthrough(), Ee = i.object({
|
|
347
347
|
code: i.string(),
|
|
348
348
|
message: i.string(),
|
|
349
349
|
path: i.string().optional(),
|
|
350
350
|
fieldRole: i.enum(["measure", "date", "dimension", "input", "source", "sql"]).optional(),
|
|
351
351
|
repairHint: tt.optional()
|
|
352
|
-
}).passthrough(),
|
|
352
|
+
}).passthrough(), ca = i.object({
|
|
353
353
|
ok: i.boolean(),
|
|
354
|
-
errors: i.array(
|
|
355
|
-
warnings: i.array(
|
|
354
|
+
errors: i.array(Ee),
|
|
355
|
+
warnings: i.array(Ee),
|
|
356
356
|
repairHints: i.array(tt)
|
|
357
357
|
}).passthrough(), ti = i.object({
|
|
358
358
|
page: i.number(),
|
|
@@ -369,7 +369,7 @@ const _e = i.object({
|
|
|
369
369
|
rowLimitExceeded: i.boolean().optional(),
|
|
370
370
|
limit: i.number().optional(),
|
|
371
371
|
pagination: ti.optional()
|
|
372
|
-
},
|
|
372
|
+
}, pa = i.object({
|
|
373
373
|
...Z,
|
|
374
374
|
kind: i.literal("metric"),
|
|
375
375
|
primaryValue: te,
|
|
@@ -382,7 +382,7 @@ const _e = i.object({
|
|
|
382
382
|
deltaPercent: i.union([i.number(), i.null()]).optional()
|
|
383
383
|
}).passthrough().optional(),
|
|
384
384
|
records: O.optional()
|
|
385
|
-
}).passthrough(),
|
|
385
|
+
}).passthrough(), ma = i.object({
|
|
386
386
|
...Z,
|
|
387
387
|
kind: i.literal("records"),
|
|
388
388
|
columns: i.array(j),
|
|
@@ -409,7 +409,7 @@ const _e = i.object({
|
|
|
409
409
|
}), ni = i.object({
|
|
410
410
|
complete: i.boolean(),
|
|
411
411
|
reason: i.enum(["unsupported", "truncated"]).optional()
|
|
412
|
-
}),
|
|
412
|
+
}), fa = i.object({
|
|
413
413
|
...Z,
|
|
414
414
|
kind: i.literal("inputOptions"),
|
|
415
415
|
dependencyOutcomes: i.array(ii).optional(),
|
|
@@ -425,7 +425,7 @@ const _e = i.object({
|
|
|
425
425
|
["value"]
|
|
426
426
|
)
|
|
427
427
|
)
|
|
428
|
-
}).passthrough(),
|
|
428
|
+
}).passthrough(), ga = i.object({
|
|
429
429
|
...Z,
|
|
430
430
|
kind: i.literal("sql"),
|
|
431
431
|
columns: i.array(j),
|
|
@@ -439,7 +439,7 @@ const _e = i.object({
|
|
|
439
439
|
function r(e, t, n) {
|
|
440
440
|
return n ? { code: e, message: t, path: n } : { code: e, message: t };
|
|
441
441
|
}
|
|
442
|
-
function
|
|
442
|
+
function m(e) {
|
|
443
443
|
return typeof e == "string" && e.trim().length > 0;
|
|
444
444
|
}
|
|
445
445
|
function ai(e) {
|
|
@@ -503,13 +503,13 @@ function be(e, t, n) {
|
|
|
503
503
|
return;
|
|
504
504
|
}
|
|
505
505
|
if (e.kind === "semantic") {
|
|
506
|
-
|
|
506
|
+
m(e.domainId) || n.push(
|
|
507
507
|
r(
|
|
508
508
|
"missing_semantic_domain",
|
|
509
509
|
"Semantic source needs a domainId.",
|
|
510
510
|
`${t}.domainId`
|
|
511
511
|
)
|
|
512
|
-
),
|
|
512
|
+
), m(e.datasetName) || n.push(
|
|
513
513
|
r(
|
|
514
514
|
"missing_dataset_name",
|
|
515
515
|
"Semantic source needs a datasetName.",
|
|
@@ -519,13 +519,13 @@ function be(e, t, n) {
|
|
|
519
519
|
return;
|
|
520
520
|
}
|
|
521
521
|
if (e.kind === "physical") {
|
|
522
|
-
|
|
522
|
+
m(e.connectionId) || n.push(
|
|
523
523
|
r(
|
|
524
524
|
"missing_connection_id",
|
|
525
525
|
"Physical source needs a connectionId.",
|
|
526
526
|
`${t}.connectionId`
|
|
527
527
|
)
|
|
528
|
-
),
|
|
528
|
+
), m(e.tableName) || n.push(
|
|
529
529
|
r(
|
|
530
530
|
"missing_table_name",
|
|
531
531
|
"Physical source needs a tableName.",
|
|
@@ -535,7 +535,7 @@ function be(e, t, n) {
|
|
|
535
535
|
return;
|
|
536
536
|
}
|
|
537
537
|
if (e.kind === "sql") {
|
|
538
|
-
|
|
538
|
+
m(e.connectionId) || n.push(
|
|
539
539
|
r(
|
|
540
540
|
"missing_connection_id",
|
|
541
541
|
"SQL source needs a connectionId.",
|
|
@@ -548,14 +548,14 @@ function be(e, t, n) {
|
|
|
548
548
|
r("invalid_source_kind", "Source kind is not supported.", t)
|
|
549
549
|
);
|
|
550
550
|
}
|
|
551
|
-
function
|
|
551
|
+
function y(e, t, n, o = {}) {
|
|
552
552
|
if (!e || !f(e)) {
|
|
553
553
|
o.required && n.push(
|
|
554
554
|
r("missing_field_ref", "Field reference needs a name.", t)
|
|
555
555
|
);
|
|
556
556
|
return;
|
|
557
557
|
}
|
|
558
|
-
|
|
558
|
+
m(e.name) || n.push(
|
|
559
559
|
r(
|
|
560
560
|
"missing_field_ref",
|
|
561
561
|
"Field reference needs a name.",
|
|
@@ -714,7 +714,7 @@ function gi(e, t, n) {
|
|
|
714
714
|
return;
|
|
715
715
|
}
|
|
716
716
|
if (e.kind === "field") {
|
|
717
|
-
|
|
717
|
+
y(e.field, `${t}.field`, n, { required: !0 }), ye(e.aggregate, `${t}.aggregate`, n);
|
|
718
718
|
return;
|
|
719
719
|
}
|
|
720
720
|
n.push(
|
|
@@ -740,13 +740,13 @@ function ve(e) {
|
|
|
740
740
|
"Derived field kind must be derived_field.",
|
|
741
741
|
"kind"
|
|
742
742
|
)
|
|
743
|
-
),
|
|
743
|
+
), m(e.name) || t.push(
|
|
744
744
|
r(
|
|
745
745
|
"invalid_derived_field_name",
|
|
746
746
|
"Derived field needs a name.",
|
|
747
747
|
"name"
|
|
748
748
|
)
|
|
749
|
-
),
|
|
749
|
+
), m(e.label) || t.push(
|
|
750
750
|
r(
|
|
751
751
|
"invalid_derived_field_label",
|
|
752
752
|
"Derived field needs a label.",
|
|
@@ -808,7 +808,7 @@ function ve(e) {
|
|
|
808
808
|
"Derived field aggregationStrategy is not supported.",
|
|
809
809
|
"aggregationStrategy"
|
|
810
810
|
)
|
|
811
|
-
),
|
|
811
|
+
), m(e.expression) || t.push(
|
|
812
812
|
r(
|
|
813
813
|
"invalid_derived_field_expression",
|
|
814
814
|
"Derived field needs a named-token expression.",
|
|
@@ -827,7 +827,7 @@ function ve(e) {
|
|
|
827
827
|
"inputs"
|
|
828
828
|
)
|
|
829
829
|
) : Object.entries(e.inputs).forEach(([o, a]) => {
|
|
830
|
-
if (!
|
|
830
|
+
if (!m(o)) {
|
|
831
831
|
t.push(
|
|
832
832
|
r(
|
|
833
833
|
"invalid_derived_field_input_name",
|
|
@@ -842,11 +842,11 @@ function ve(e) {
|
|
|
842
842
|
`inputs.${o}`,
|
|
843
843
|
t
|
|
844
844
|
);
|
|
845
|
-
}),
|
|
845
|
+
}), m(e.expression) && f(e.inputs)) {
|
|
846
846
|
const o = ai(
|
|
847
847
|
e.expression
|
|
848
848
|
), a = new Set(o), s = Object.keys(e.inputs).filter(
|
|
849
|
-
(l) =>
|
|
849
|
+
(l) => m(l)
|
|
850
850
|
);
|
|
851
851
|
o.forEach((l) => {
|
|
852
852
|
Object.prototype.hasOwnProperty.call(e.inputs, l) || t.push(
|
|
@@ -873,7 +873,7 @@ function ve(e) {
|
|
|
873
873
|
"Derived field computation metadata cannot own temporal bucket presentation; declare grain and format on the grouped field.",
|
|
874
874
|
"format"
|
|
875
875
|
)
|
|
876
|
-
) : nt(n, "format", t), e.tags !== void 0 && (!Array.isArray(e.tags) || e.tags.some((o) => !
|
|
876
|
+
) : nt(n, "format", t), e.tags !== void 0 && (!Array.isArray(e.tags) || e.tags.some((o) => !m(o))) && t.push(
|
|
877
877
|
r(
|
|
878
878
|
"invalid_derived_field_tags",
|
|
879
879
|
"Derived field tags must be non-empty strings.",
|
|
@@ -892,7 +892,7 @@ const M = i.string().min(1).refine((e) => e.trim().length > 0, "Must not be blan
|
|
|
892
892
|
_i.strict(),
|
|
893
893
|
bi.strict(),
|
|
894
894
|
yi.strict()
|
|
895
|
-
]),
|
|
895
|
+
]), Ne = i.union([
|
|
896
896
|
at,
|
|
897
897
|
X
|
|
898
898
|
]), Se = i.union([
|
|
@@ -1025,10 +1025,10 @@ function pt(e, t = {}) {
|
|
|
1025
1025
|
e.dataType || e.data_type
|
|
1026
1026
|
) === "number" && (!t.excludeIdentifiers || !$e(e));
|
|
1027
1027
|
}
|
|
1028
|
-
function
|
|
1028
|
+
function ha(e) {
|
|
1029
1029
|
return !pt(e) && !dt(e);
|
|
1030
1030
|
}
|
|
1031
|
-
function
|
|
1031
|
+
function _a(e) {
|
|
1032
1032
|
const t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set();
|
|
1033
1033
|
for (const a of e) {
|
|
1034
1034
|
if (ut(a))
|
|
@@ -1094,9 +1094,9 @@ function x(e) {
|
|
|
1094
1094
|
const l = o + a, d = o.length + s;
|
|
1095
1095
|
if (Math.max(l.length, d) + Math.max(0, -d) + 3 > D)
|
|
1096
1096
|
throw new RangeError("Normalized exact numeric text exceeds 16 KiB.");
|
|
1097
|
-
let
|
|
1098
|
-
d <= 0 ?
|
|
1099
|
-
const [
|
|
1097
|
+
let p;
|
|
1098
|
+
d <= 0 ? p = `0.${"0".repeat(-d)}${l}` : d >= l.length ? p = l + "0".repeat(d - l.length) : p = `${l.slice(0, d)}.${l.slice(d)}`;
|
|
1099
|
+
const [u, _ = ""] = p.split("."), b = u.replace(/^0+(?=\d)/, ""), S = _.replace(/0+$/, ""), h = b + (S ? `.${S}` : "");
|
|
1100
1100
|
return n === "-" && h !== "0" ? `-${h}` : h;
|
|
1101
1101
|
}
|
|
1102
1102
|
function mt(e, t) {
|
|
@@ -1105,12 +1105,12 @@ function mt(e, t) {
|
|
|
1105
1105
|
const [a, s = ""] = (n ? e.slice(1) : e).split("."), [l, d = ""] = (o ? t.slice(1) : t).split(".");
|
|
1106
1106
|
let c = Math.sign(a.length - l.length);
|
|
1107
1107
|
if (!c && a !== l && (c = a < l ? -1 : 1), !c) {
|
|
1108
|
-
const
|
|
1109
|
-
c =
|
|
1108
|
+
const p = Math.max(s.length, d.length), u = s.padEnd(p, "0"), _ = d.padEnd(p, "0");
|
|
1109
|
+
c = u === _ ? 0 : u < _ ? -1 : 1;
|
|
1110
1110
|
}
|
|
1111
1111
|
return c === 0 ? 0 : n ? -c : c;
|
|
1112
1112
|
}
|
|
1113
|
-
function
|
|
1113
|
+
function ba(e, t) {
|
|
1114
1114
|
if (typeof t == "number" && !Number.isFinite(t))
|
|
1115
1115
|
throw new TypeError("Numeric scale must be finite.");
|
|
1116
1116
|
const n = [e, x(String(t))].map((s) => {
|
|
@@ -1145,7 +1145,7 @@ function Di(e, t) {
|
|
|
1145
1145
|
function H(e) {
|
|
1146
1146
|
return typeof e == "object" && e !== null && "kind" in e && e.kind === "exact_number" && "type" in e && (e.type === "integer" || e.type === "decimal") && "value" in e && typeof e.value == "string";
|
|
1147
1147
|
}
|
|
1148
|
-
function
|
|
1148
|
+
function ya(e) {
|
|
1149
1149
|
const t = xi(e.nativeDataType);
|
|
1150
1150
|
if (!t) throw new TypeError("Numeric result type is not established.");
|
|
1151
1151
|
if (e.value === null) return null;
|
|
@@ -1158,10 +1158,10 @@ function ba(e) {
|
|
|
1158
1158
|
throw new TypeError("Exact numeric sidecar is required; rounded result values cannot substitute.");
|
|
1159
1159
|
return Di(e.exactText, t);
|
|
1160
1160
|
}
|
|
1161
|
-
const we = i.string().uuid(), Ae = i.enum(["rows", "columns"]),
|
|
1161
|
+
const we = i.string().uuid(), Ae = i.enum(["rows", "columns"]), Ei = i.enum(["member", "subtotal", "grand_total", "others"]), Ni = i.discriminatedUnion("kind", [
|
|
1162
1162
|
i.object({ kind: i.literal("value"), value: L }).strict(),
|
|
1163
1163
|
i.object({ kind: i.literal("others"), rankingId: we }).strict()
|
|
1164
|
-
]), F = i.array(i.object({ levelId: we, member:
|
|
1164
|
+
]), F = i.array(i.object({ levelId: we, member: Ni }).strict()).readonly().superRefine((e, t) => {
|
|
1165
1165
|
new Set(e.map((n) => n.levelId)).size !== e.length && t.addIssue({
|
|
1166
1166
|
code: "custom",
|
|
1167
1167
|
path: [],
|
|
@@ -1173,7 +1173,7 @@ const we = i.string().uuid(), Ae = i.enum(["rows", "columns"]), Ni = i.enum(["me
|
|
|
1173
1173
|
path: [],
|
|
1174
1174
|
message: "Others is terminal."
|
|
1175
1175
|
});
|
|
1176
|
-
}),
|
|
1176
|
+
}), va = i.object({
|
|
1177
1177
|
rowPath: F,
|
|
1178
1178
|
columnPath: F,
|
|
1179
1179
|
measureId: we
|
|
@@ -1225,17 +1225,17 @@ const Ci = [
|
|
|
1225
1225
|
// Custom format
|
|
1226
1226
|
"custom"
|
|
1227
1227
|
];
|
|
1228
|
-
function
|
|
1228
|
+
function Sa(e) {
|
|
1229
1229
|
return e.role === "metric" && "expression" in e && !!e.expression;
|
|
1230
1230
|
}
|
|
1231
|
-
function
|
|
1231
|
+
function Ia(e) {
|
|
1232
1232
|
return !!e.expression;
|
|
1233
1233
|
}
|
|
1234
1234
|
function Oi(e) {
|
|
1235
1235
|
return !!(e && (e.calculationRepresentation || e.expression || e.derivedField || e.calculatedFieldOrigin || e.calculatedFormula || de(e)));
|
|
1236
1236
|
}
|
|
1237
1237
|
function ht(e) {
|
|
1238
|
-
var _,
|
|
1238
|
+
var _, b, S;
|
|
1239
1239
|
if (!e)
|
|
1240
1240
|
return {
|
|
1241
1241
|
representation: "physical",
|
|
@@ -1244,7 +1244,7 @@ function ht(e) {
|
|
|
1244
1244
|
runtimeExecutable: !1,
|
|
1245
1245
|
legacyManual: !1
|
|
1246
1246
|
};
|
|
1247
|
-
const t = e.fieldScope === "domain" ? "domain" : "local", n = ((_ = e.derivedField) == null ? void 0 : _.computeStage) || ((
|
|
1247
|
+
const t = e.fieldScope === "domain" ? "domain" : "local", n = ((_ = e.derivedField) == null ? void 0 : _.computeStage) || ((b = e.calculatedFormula) == null ? void 0 : b.computeStage), o = !e.calculatedFormula || Array.isArray(e.calculatedFormula.inputFields) && e.calculatedFormula.inputFields.every((h) => {
|
|
1248
1248
|
const P = h && $i(h);
|
|
1249
1249
|
return typeof P == "string" && !!P.trim();
|
|
1250
1250
|
}), a = typeof e.expression == "string" && !!e.expression.trim() && o, s = e.calculationRepresentation;
|
|
@@ -1267,33 +1267,33 @@ function ht(e) {
|
|
|
1267
1267
|
runtimeExecutable: !1,
|
|
1268
1268
|
legacyManual: !1
|
|
1269
1269
|
};
|
|
1270
|
-
const d = n || (e.role === "groupby" || ((
|
|
1270
|
+
const d = n || (e.role === "groupby" || ((S = e.calculatedFieldOrigin) == null ? void 0 : S.role) === "groupby" ? "row" : void 0), c = t === "domain" || de(e) || e.fieldScope === "card" || e.fieldScope === "sheet" || e.fieldScope === "dashboard" ? "manual" : "inline-expression", p = s === "manual" || s === "inline-expression" ? s : c, u = (!s || s === "manual" || s === "inline-expression") && !(s === "inline-expression" && de(e));
|
|
1271
1271
|
return {
|
|
1272
|
-
representation:
|
|
1272
|
+
representation: p,
|
|
1273
1273
|
ownership: t,
|
|
1274
|
-
completeness: a &&
|
|
1274
|
+
completeness: a && u ? "complete" : "incomplete",
|
|
1275
1275
|
computeStage: d,
|
|
1276
1276
|
runtimeExecutable: a,
|
|
1277
|
-
legacyManual:
|
|
1277
|
+
legacyManual: p === "manual" && t === "local" && !d
|
|
1278
1278
|
};
|
|
1279
1279
|
}
|
|
1280
|
-
function
|
|
1280
|
+
function ka(e) {
|
|
1281
1281
|
if (e.calculationRepresentation) return e;
|
|
1282
1282
|
const { representation: t } = ht(e);
|
|
1283
1283
|
return t === "physical" ? e : { ...e, calculationRepresentation: t };
|
|
1284
1284
|
}
|
|
1285
|
-
function
|
|
1285
|
+
function wa(e) {
|
|
1286
1286
|
return ht(e).computeStage;
|
|
1287
1287
|
}
|
|
1288
|
-
function
|
|
1288
|
+
function Aa(e, t) {
|
|
1289
1289
|
return e === "aggregate" && t === "default";
|
|
1290
1290
|
}
|
|
1291
|
-
function
|
|
1291
|
+
function xa(e) {
|
|
1292
1292
|
var n, o;
|
|
1293
1293
|
const t = e;
|
|
1294
1294
|
return !!(t != null && t.expression && ((o = (n = t.calculatedFormula) == null ? void 0 : n.inputFields) != null && o.length));
|
|
1295
1295
|
}
|
|
1296
|
-
function
|
|
1296
|
+
function Fa(e) {
|
|
1297
1297
|
return !!(e && (e.entityName === le || e.entityId === le));
|
|
1298
1298
|
}
|
|
1299
1299
|
function de(e) {
|
|
@@ -1493,7 +1493,7 @@ const [Pi, Bi, qi, Li] = he.options, Ui = i.union([
|
|
|
1493
1493
|
levelId: i.string().uuid().optional(),
|
|
1494
1494
|
// Persisted table preferences are edited through Immer; runtime paths remain readonly.
|
|
1495
1495
|
oppositePath: F.transform((e) => [...e]).optional()
|
|
1496
|
-
}).strict(),
|
|
1496
|
+
}).strict(), k = i.string().min(1), Ki = i.array(
|
|
1497
1497
|
i.enum(["body", "header", "footer", "subtotal", "grandTotal"])
|
|
1498
1498
|
), Qi = i.enum(["normal", "medium", "semibold", "bold"]), Wi = i.enum(["none", "underline", "line-through"]), yt = i.object({
|
|
1499
1499
|
version: i.literal(1),
|
|
@@ -1505,9 +1505,9 @@ const [Pi, Bi, qi, Li] = he.options, Ui = i.union([
|
|
|
1505
1505
|
target: i.object({
|
|
1506
1506
|
level: i.enum(["cell", "row"]),
|
|
1507
1507
|
matrix: zi.optional(),
|
|
1508
|
-
columnIds: i.array(
|
|
1509
|
-
conditionColumnId:
|
|
1510
|
-
applyToColumnIds: i.array(
|
|
1508
|
+
columnIds: i.array(k).optional(),
|
|
1509
|
+
conditionColumnId: k.optional(),
|
|
1510
|
+
applyToColumnIds: i.array(k).optional(),
|
|
1511
1511
|
tableParts: Ki.optional(),
|
|
1512
1512
|
rowRoles: i.array(i.string()).optional(),
|
|
1513
1513
|
depth: i.number().int().nonnegative().optional(),
|
|
@@ -1517,38 +1517,38 @@ const [Pi, Bi, qi, Li] = he.options, Ui = i.union([
|
|
|
1517
1517
|
condition: i.discriminatedUnion("kind", [
|
|
1518
1518
|
i.object({
|
|
1519
1519
|
kind: i.literal("comparison"),
|
|
1520
|
-
columnId:
|
|
1520
|
+
columnId: k,
|
|
1521
1521
|
operator: i.enum(["eq", "neq", "gt", "gte", "lt", "lte"]),
|
|
1522
1522
|
value: L
|
|
1523
1523
|
}).strict(),
|
|
1524
1524
|
i.object({
|
|
1525
1525
|
kind: i.literal("between"),
|
|
1526
|
-
columnId:
|
|
1526
|
+
columnId: k,
|
|
1527
1527
|
min: L,
|
|
1528
1528
|
max: L,
|
|
1529
1529
|
inclusive: i.boolean().optional()
|
|
1530
1530
|
}).strict(),
|
|
1531
1531
|
i.object({
|
|
1532
1532
|
kind: i.literal("blank"),
|
|
1533
|
-
columnId:
|
|
1533
|
+
columnId: k,
|
|
1534
1534
|
isBlank: i.boolean()
|
|
1535
1535
|
}).strict(),
|
|
1536
1536
|
i.object({
|
|
1537
1537
|
kind: i.literal("contains"),
|
|
1538
|
-
columnId:
|
|
1538
|
+
columnId: k,
|
|
1539
1539
|
value: i.string(),
|
|
1540
1540
|
caseSensitive: i.boolean().optional(),
|
|
1541
1541
|
exact: i.boolean().optional()
|
|
1542
1542
|
}).strict(),
|
|
1543
1543
|
i.object({
|
|
1544
1544
|
kind: i.literal("topBottom"),
|
|
1545
|
-
columnId:
|
|
1545
|
+
columnId: k,
|
|
1546
1546
|
direction: i.enum(["top", "bottom"]),
|
|
1547
1547
|
count: i.number().int().positive()
|
|
1548
1548
|
}).strict(),
|
|
1549
1549
|
i.object({
|
|
1550
1550
|
kind: i.literal("colorScale"),
|
|
1551
|
-
columnId:
|
|
1551
|
+
columnId: k,
|
|
1552
1552
|
range: i.enum(["auto", "manual"]),
|
|
1553
1553
|
min: i.number().finite().optional(),
|
|
1554
1554
|
mid: i.number().finite().optional(),
|
|
@@ -1561,7 +1561,7 @@ const [Pi, Bi, qi, Li] = he.options, Ui = i.union([
|
|
|
1561
1561
|
}).strict(),
|
|
1562
1562
|
i.object({
|
|
1563
1563
|
kind: i.literal("dataBar"),
|
|
1564
|
-
columnId:
|
|
1564
|
+
columnId: k,
|
|
1565
1565
|
range: i.enum(["auto", "manual"]),
|
|
1566
1566
|
min: i.number().finite().optional(),
|
|
1567
1567
|
max: i.number().finite().optional(),
|
|
@@ -1581,7 +1581,7 @@ const [Pi, Bi, qi, Li] = he.options, Ui = i.union([
|
|
|
1581
1581
|
}).strict()
|
|
1582
1582
|
)
|
|
1583
1583
|
}).strict();
|
|
1584
|
-
function
|
|
1584
|
+
function Ra(e, t) {
|
|
1585
1585
|
const n = (s) => {
|
|
1586
1586
|
if (H(s)) return s.value;
|
|
1587
1587
|
const l = typeof s == "string" ? Ri(s.trim()) ?? ue(s) : ue(s);
|
|
@@ -1594,7 +1594,7 @@ function Fa(e, t) {
|
|
|
1594
1594
|
}, o = n(e), a = n(t);
|
|
1595
1595
|
return o === null || a === null ? null : mt(o, a);
|
|
1596
1596
|
}
|
|
1597
|
-
function
|
|
1597
|
+
function Ta(e, t, n) {
|
|
1598
1598
|
const o = Ji(e);
|
|
1599
1599
|
if (o === null) return null;
|
|
1600
1600
|
if (typeof o == "number" && typeof t == "number" && typeof n == "number") {
|
|
@@ -1607,22 +1607,22 @@ function Ra(e, t, n) {
|
|
|
1607
1607
|
return { coefficient: Ct + Me, scale: Me.length };
|
|
1608
1608
|
}), s = Math.max(...a.map((h) => h.scale)), [l, d, c] = a.map(
|
|
1609
1609
|
(h) => BigInt(h.coefficient) * 10n ** BigInt(s - h.scale)
|
|
1610
|
-
),
|
|
1611
|
-
if (
|
|
1610
|
+
), p = c - d, u = l - d;
|
|
1611
|
+
if (p <= 0n)
|
|
1612
1612
|
return {
|
|
1613
1613
|
ratio: l >= c ? 1 : 0,
|
|
1614
1614
|
midpointComparison: l >= c ? 1 : -1
|
|
1615
1615
|
};
|
|
1616
|
-
const _ =
|
|
1617
|
-
return { ratio:
|
|
1616
|
+
const _ = u * 2n - p, b = _ < 0n ? -1 : _ > 0n ? 1 : 0;
|
|
1617
|
+
return { ratio: u <= 0n ? 0 : u >= p ? 1 : Number(u * 1000000000n / p) / 1e9, midpointComparison: b };
|
|
1618
1618
|
}
|
|
1619
|
-
function
|
|
1619
|
+
function Ma(e) {
|
|
1620
1620
|
return !!e && typeof e == "object" && !Array.isArray(e);
|
|
1621
1621
|
}
|
|
1622
|
-
function
|
|
1622
|
+
function Da(e) {
|
|
1623
1623
|
return e.enabled !== !1;
|
|
1624
1624
|
}
|
|
1625
|
-
function
|
|
1625
|
+
function Ea(e) {
|
|
1626
1626
|
return e.kind === "topBottom" || e.kind === "colorScale" && e.range === "auto" || e.kind === "dataBar" && e.range === "auto";
|
|
1627
1627
|
}
|
|
1628
1628
|
function Xi(e) {
|
|
@@ -1657,13 +1657,13 @@ function Na(e) {
|
|
|
1657
1657
|
has: (o) => H(o) ? n.has(o.value) : t.has(o)
|
|
1658
1658
|
};
|
|
1659
1659
|
}
|
|
1660
|
-
function
|
|
1660
|
+
function ja(e, t) {
|
|
1661
1661
|
return typeof e == "number" && typeof t == "number" ? Math.sign(e - t) : mt(
|
|
1662
1662
|
typeof e == "number" ? x(String(e)) : e.value,
|
|
1663
1663
|
typeof t == "number" ? x(String(t)) : t.value
|
|
1664
1664
|
);
|
|
1665
1665
|
}
|
|
1666
|
-
function
|
|
1666
|
+
function $a(e) {
|
|
1667
1667
|
return e == null || e === "";
|
|
1668
1668
|
}
|
|
1669
1669
|
function en(e, t, n) {
|
|
@@ -1683,7 +1683,7 @@ function tn(e) {
|
|
|
1683
1683
|
return;
|
|
1684
1684
|
}
|
|
1685
1685
|
}
|
|
1686
|
-
function
|
|
1686
|
+
function Ca(e) {
|
|
1687
1687
|
return e ? vt({
|
|
1688
1688
|
fontWeight: tn(e.fontWeight),
|
|
1689
1689
|
fontStyle: e.italic ? "italic" : void 0,
|
|
@@ -1692,7 +1692,7 @@ function $a(e) {
|
|
|
1692
1692
|
textDecoration: e.textDecoration
|
|
1693
1693
|
}) : {};
|
|
1694
1694
|
}
|
|
1695
|
-
function
|
|
1695
|
+
function Oa(...e) {
|
|
1696
1696
|
return Object.assign(
|
|
1697
1697
|
{},
|
|
1698
1698
|
...e.filter((t) => !!t).map(vt)
|
|
@@ -1703,7 +1703,7 @@ function vt(e) {
|
|
|
1703
1703
|
Object.entries(e).filter(([, t]) => t !== void 0)
|
|
1704
1704
|
);
|
|
1705
1705
|
}
|
|
1706
|
-
const
|
|
1706
|
+
const I = i.string().uuid(), nn = i.string().min(1), an = i.number().int().positive().max(Number.MAX_SAFE_INTEGER), on = i.enum([
|
|
1707
1707
|
"SUM",
|
|
1708
1708
|
"COUNT",
|
|
1709
1709
|
"DISTINCT",
|
|
@@ -1713,28 +1713,28 @@ const S = i.string().uuid(), nn = i.string().min(1), an = i.number().int().posit
|
|
|
1713
1713
|
]), St = vi.omit({
|
|
1714
1714
|
aggregate: !0
|
|
1715
1715
|
}), sn = {
|
|
1716
|
-
id:
|
|
1716
|
+
id: I,
|
|
1717
1717
|
field: St,
|
|
1718
1718
|
grain: U.optional()
|
|
1719
1719
|
}, ce = i.object(sn).strict(), rn = i.object({
|
|
1720
|
-
id:
|
|
1720
|
+
id: I,
|
|
1721
1721
|
kind: i.literal("aggregate"),
|
|
1722
1722
|
field: St,
|
|
1723
1723
|
aggregate: on
|
|
1724
1724
|
}).strict(), ln = i.object({
|
|
1725
|
-
id:
|
|
1725
|
+
id: I,
|
|
1726
1726
|
kind: i.literal("calculated"),
|
|
1727
1727
|
definition: Ie
|
|
1728
1728
|
}).strict(), It = i.discriminatedUnion("kind", [rn, ln]), dn = i.discriminatedUnion("kind", [
|
|
1729
1729
|
i.object({ kind: i.literal("member") }).strict(),
|
|
1730
1730
|
i.object({
|
|
1731
1731
|
kind: i.literal("measure"),
|
|
1732
|
-
measureId:
|
|
1732
|
+
measureId: I,
|
|
1733
1733
|
oppositePath: F
|
|
1734
1734
|
}).strict()
|
|
1735
1735
|
]), un = {
|
|
1736
1736
|
axis: Ae,
|
|
1737
|
-
levelId:
|
|
1737
|
+
levelId: I,
|
|
1738
1738
|
scope: i.discriminatedUnion("kind", [
|
|
1739
1739
|
i.object({ kind: i.literal("level") }).strict(),
|
|
1740
1740
|
i.object({ kind: i.literal("branch"), parent: F }).strict()
|
|
@@ -1743,12 +1743,12 @@ const S = i.string().uuid(), nn = i.string().min(1), an = i.number().int().posit
|
|
|
1743
1743
|
direction: i.enum(["asc", "desc"]),
|
|
1744
1744
|
nulls: i.enum(["first", "last"])
|
|
1745
1745
|
}, kt = i.object(un).strict(), cn = i.object({
|
|
1746
|
-
id:
|
|
1746
|
+
id: I,
|
|
1747
1747
|
axis: Ae,
|
|
1748
|
-
levelId:
|
|
1748
|
+
levelId: I,
|
|
1749
1749
|
direction: i.enum(["top", "bottom"]),
|
|
1750
1750
|
count: an,
|
|
1751
|
-
measureId:
|
|
1751
|
+
measureId: I,
|
|
1752
1752
|
oppositePath: F,
|
|
1753
1753
|
others: i.boolean()
|
|
1754
1754
|
}).strict(), wt = i.object({
|
|
@@ -1780,9 +1780,9 @@ function $(e, t, n, o, a, s = !1) {
|
|
|
1780
1780
|
n.length > e[t].length && g(o, a, "Path exceeds axis depth."), n.forEach((l, d) => {
|
|
1781
1781
|
var c;
|
|
1782
1782
|
if (l.levelId !== ((c = e[t][d]) == null ? void 0 : c.id) && g(o, [...a, d], "Path must be an ordered axis prefix."), l.member.kind === "others") {
|
|
1783
|
-
const
|
|
1783
|
+
const p = l.member.rankingId;
|
|
1784
1784
|
(s || d !== n.length - 1 || !e.rankings.some(
|
|
1785
|
-
(
|
|
1785
|
+
(u) => u.id === p && u.others && u.axis === t && u.levelId === l.levelId
|
|
1786
1786
|
)) && g(
|
|
1787
1787
|
o,
|
|
1788
1788
|
[...a, d],
|
|
@@ -1807,7 +1807,7 @@ function xt(e, t, n, o) {
|
|
|
1807
1807
|
"Branch sort must name the immediate parent of its level."
|
|
1808
1808
|
)), a.target.kind === "measure") {
|
|
1809
1809
|
const c = a.target.measureId;
|
|
1810
|
-
e.measures.some((
|
|
1810
|
+
e.measures.some((p) => p.id === c) || g(n, l, "Unknown sort measure."), $(
|
|
1811
1811
|
e,
|
|
1812
1812
|
a.axis === "rows" ? "columns" : "rows",
|
|
1813
1813
|
a.target.oppositePath,
|
|
@@ -1882,14 +1882,14 @@ function Ft(e, t) {
|
|
|
1882
1882
|
}
|
|
1883
1883
|
const o = (a) => {
|
|
1884
1884
|
const s = (l, d) => {
|
|
1885
|
-
var c,
|
|
1885
|
+
var c, p;
|
|
1886
1886
|
if ((l.aggregate || ((c = l.derivedField) == null ? void 0 : c.computeStage) === "aggregate") && g(t, d, "Aggregate/HAVING filters are not supported."), l.derivedField) {
|
|
1887
1887
|
oe(l.derivedField, t, d);
|
|
1888
|
-
for (const
|
|
1889
|
-
q(
|
|
1888
|
+
for (const u of Object.values(l.derivedField.inputs))
|
|
1889
|
+
q(u.field.source, e.source, t, d);
|
|
1890
1890
|
}
|
|
1891
|
-
for (const
|
|
1892
|
-
s(
|
|
1891
|
+
for (const u of ((p = l.calculatedFormula) == null ? void 0 : p.inputFields) ?? [])
|
|
1892
|
+
s(u, d);
|
|
1893
1893
|
};
|
|
1894
1894
|
for (const l of a.conditions)
|
|
1895
1895
|
s(l.field, ["filters", l.id]);
|
|
@@ -1923,17 +1923,23 @@ const Y = wt.superRefine(Ft), pn = wt.extend({
|
|
|
1923
1923
|
}), mn = pn.superRefine(Ft), fn = Y.innerType().extend({ kind: i.literal("matrix") }), gn = fn.superRefine(({ kind: e, ...t }, n) => {
|
|
1924
1924
|
const o = Y.safeParse(t);
|
|
1925
1925
|
o.success || o.error.issues.forEach((a) => n.addIssue(a));
|
|
1926
|
-
}), Ye = i.object({
|
|
1926
|
+
}), hn = "{member}", Ye = i.object({
|
|
1927
1927
|
visible: i.boolean(),
|
|
1928
1928
|
position: i.enum(["before", "after"]),
|
|
1929
|
+
/** As written; a subtotal's `{member}` becomes its member's name. */
|
|
1929
1930
|
label: i.string().optional()
|
|
1930
1931
|
}).strict(), Pe = i.object({
|
|
1931
1932
|
grand: Ye,
|
|
1932
|
-
levels: i.record(
|
|
1933
|
-
|
|
1933
|
+
levels: i.record(I, Ye).readonly(),
|
|
1934
|
+
/**
|
|
1935
|
+
* Skip a subtotal that only repeats one row: an expanded group with
|
|
1936
|
+
* exactly one child shows no subtotal. Off when absent.
|
|
1937
|
+
*/
|
|
1938
|
+
skipRedundant: i.boolean().optional()
|
|
1939
|
+
}).strict(), Be = yt.shape.rules.element, _n = yt.extend({
|
|
1934
1940
|
rules: i.array(Be.extend({
|
|
1935
1941
|
target: Be.shape.target.extend({
|
|
1936
|
-
rowRoles: i.array(
|
|
1942
|
+
rowRoles: i.array(Ei).optional()
|
|
1937
1943
|
})
|
|
1938
1944
|
}))
|
|
1939
1945
|
}).superRefine((e, t) => {
|
|
@@ -1960,40 +1966,40 @@ const Y = wt.superRefine(Ft), pn = wt.extend({
|
|
|
1960
1966
|
);
|
|
1961
1967
|
}
|
|
1962
1968
|
});
|
|
1963
|
-
function
|
|
1969
|
+
function bn(e, t, n, o, a = []) {
|
|
1964
1970
|
for (const s of e.rules) {
|
|
1965
1971
|
const l = [...a, "rules", s.id], d = s.target.matrix;
|
|
1966
1972
|
d && (d.levelId !== void 0 && !t[d.axis].some((c) => c.id === d.levelId) && g(o, [...l, "target", "matrix", "levelId"], "Conditional-format level is not on the selected axis."), d.oppositePath !== void 0 && $(t, d.axis === "rows" ? "columns" : "rows", d.oppositePath, o, [...l, "target", "matrix", "oppositePath"])), Zi(s).validationRefs.some((c) => !n.has(c)) && g(o, l, "Conditional rules must reference displayed measures.");
|
|
1967
1973
|
}
|
|
1968
1974
|
}
|
|
1969
|
-
const
|
|
1975
|
+
const yn = {
|
|
1970
1976
|
layout: i.discriminatedUnion("kind", [
|
|
1971
1977
|
i.object({ kind: i.literal("compact") }).strict(),
|
|
1972
1978
|
i.object({ kind: i.literal("tabular"), repeatLabels: i.boolean() }).strict()
|
|
1973
1979
|
]),
|
|
1974
1980
|
absence: i.object({ emptyText: i.string(), nullText: i.string() }).strict(),
|
|
1975
|
-
levelLabels: i.record(
|
|
1976
|
-
measureLabels: i.record(
|
|
1977
|
-
levelFormats: i.record(
|
|
1978
|
-
measureFormats: i.record(
|
|
1981
|
+
levelLabels: i.record(I, i.string()).readonly(),
|
|
1982
|
+
measureLabels: i.record(I, i.string()).readonly(),
|
|
1983
|
+
levelFormats: i.record(I, Ne).readonly(),
|
|
1984
|
+
measureFormats: i.record(I, Ne).readonly(),
|
|
1979
1985
|
totals: i.object({ rows: Pe, columns: Pe }).strict(),
|
|
1980
|
-
conditionalFormatting:
|
|
1981
|
-
}, xe = i.object(
|
|
1986
|
+
conditionalFormatting: _n.optional()
|
|
1987
|
+
}, xe = i.object(yn).strict(), vn = i.object({
|
|
1982
1988
|
depth: i.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
1983
1989
|
overrides: i.array(
|
|
1984
1990
|
i.object({ path: F, expanded: i.boolean() }).strict()
|
|
1985
1991
|
).readonly()
|
|
1986
|
-
}).strict(), qe =
|
|
1992
|
+
}).strict(), qe = vn.superRefine(
|
|
1987
1993
|
(e, t) => A(
|
|
1988
1994
|
e.overrides.map((n) => gt(n.path)),
|
|
1989
1995
|
t,
|
|
1990
1996
|
["overrides"]
|
|
1991
1997
|
)
|
|
1992
|
-
),
|
|
1998
|
+
), Sn = { rows: qe, columns: qe }, J = i.object(Sn).strict(), In = J.extend({ sorts: i.array(kt).readonly() }).strict(), kn = In.superRefine(
|
|
1993
1999
|
(e, t) => A(e.sorts.map(At), t, ["sorts"])
|
|
1994
2000
|
);
|
|
1995
2001
|
function ee(e, t) {
|
|
1996
|
-
var c;
|
|
2002
|
+
var c, p;
|
|
1997
2003
|
const { spec: n, presentation: o, defaults: a, session: s } = e, l = new Set([...n.rows, ...n.columns].map((u) => u.id)), d = new Set(n.measures.map((u) => u.id));
|
|
1998
2004
|
for (const u of [
|
|
1999
2005
|
"levelLabels",
|
|
@@ -2001,49 +2007,56 @@ function ee(e, t) {
|
|
|
2001
2007
|
"measureLabels",
|
|
2002
2008
|
"measureFormats"
|
|
2003
2009
|
]) {
|
|
2004
|
-
const
|
|
2005
|
-
for (const
|
|
2006
|
-
|
|
2010
|
+
const _ = u.startsWith("level") ? l : d;
|
|
2011
|
+
for (const b of Object.keys(o[u]))
|
|
2012
|
+
_.has(b) || g(
|
|
2007
2013
|
t,
|
|
2008
|
-
["presentation", u,
|
|
2014
|
+
["presentation", u, b],
|
|
2009
2015
|
"Unknown presentation reference."
|
|
2010
2016
|
);
|
|
2011
2017
|
}
|
|
2012
|
-
for (const [u,
|
|
2013
|
-
|
|
2018
|
+
for (const [u, _] of Object.entries(o.measureFormats))
|
|
2019
|
+
_.type === "temporal_bucket" && g(
|
|
2014
2020
|
t,
|
|
2015
2021
|
["presentation", "measureFormats", u],
|
|
2016
2022
|
"Measures cannot own temporal bucket formats."
|
|
2017
2023
|
);
|
|
2018
|
-
for (const [u,
|
|
2019
|
-
|
|
2024
|
+
for (const [u, _] of Object.entries(o.levelFormats))
|
|
2025
|
+
_.type === "temporal_bucket" && !((c = [...n.rows, ...n.columns].find((b) => b.id === u)) != null && c.grain) && g(
|
|
2020
2026
|
t,
|
|
2021
2027
|
["presentation", "levelFormats", u],
|
|
2022
2028
|
"Temporal bucket formats require a grain."
|
|
2023
2029
|
);
|
|
2024
2030
|
for (const u of ["rows", "columns"]) {
|
|
2025
|
-
|
|
2026
|
-
|
|
2031
|
+
(p = o.totals[u].grand.label) != null && p.includes(
|
|
2032
|
+
hn
|
|
2033
|
+
) && g(
|
|
2034
|
+
t,
|
|
2035
|
+
["presentation", "totals", u, "grand", "label"],
|
|
2036
|
+
"The grand total has no member, so its label cannot use {member}."
|
|
2037
|
+
);
|
|
2038
|
+
const _ = Object.keys(o.totals[u].levels);
|
|
2039
|
+
(_.length !== n[u].length || _.some((b) => !n[u].some((S) => S.id === b))) && g(
|
|
2027
2040
|
t,
|
|
2028
2041
|
["presentation", "totals", u],
|
|
2029
2042
|
"Subtotal map must contain exactly the current axis levels."
|
|
2030
2043
|
);
|
|
2031
|
-
for (const
|
|
2032
|
-
for (const
|
|
2044
|
+
for (const b of [a, ...s ? [s] : []])
|
|
2045
|
+
for (const S of b[u].overrides)
|
|
2033
2046
|
$(
|
|
2034
2047
|
n,
|
|
2035
2048
|
u,
|
|
2036
|
-
|
|
2049
|
+
S.path,
|
|
2037
2050
|
t,
|
|
2038
2051
|
[u, "overrides"],
|
|
2039
2052
|
!0
|
|
2040
|
-
),
|
|
2053
|
+
), S.path.length || g(
|
|
2041
2054
|
t,
|
|
2042
2055
|
[u, "overrides"],
|
|
2043
2056
|
"Use depth to expand/collapse the root."
|
|
2044
2057
|
);
|
|
2045
2058
|
}
|
|
2046
|
-
s && xt(n, s.sorts, t, ["session", "sorts"]), o.conditionalFormatting &&
|
|
2059
|
+
s && xt(n, s.sorts, t, ["session", "sorts"]), o.conditionalFormatting && bn(
|
|
2047
2060
|
o.conditionalFormatting,
|
|
2048
2061
|
n,
|
|
2049
2062
|
d,
|
|
@@ -2051,21 +2064,21 @@ function ee(e, t) {
|
|
|
2051
2064
|
["presentation", "conditionalFormatting"]
|
|
2052
2065
|
);
|
|
2053
2066
|
}
|
|
2054
|
-
const
|
|
2067
|
+
const wn = i.object({
|
|
2055
2068
|
spec: Y,
|
|
2056
2069
|
presentation: xe,
|
|
2057
2070
|
defaults: J,
|
|
2058
|
-
session:
|
|
2059
|
-
}).strict(),
|
|
2071
|
+
session: kn.optional()
|
|
2072
|
+
}).strict(), Ya = wn.superRefine(ee), An = i.object({
|
|
2060
2073
|
version: i.literal(1),
|
|
2061
2074
|
spec: Y,
|
|
2062
2075
|
presentation: xe,
|
|
2063
2076
|
defaultView: J
|
|
2064
|
-
}).strict(),
|
|
2077
|
+
}).strict(), xn = An.superRefine(
|
|
2065
2078
|
(e, t) => ee({ ...e, defaults: e.defaultView }, t)
|
|
2066
|
-
),
|
|
2079
|
+
), Fn = xn.innerType().extend({
|
|
2067
2080
|
spec: mn
|
|
2068
|
-
}),
|
|
2081
|
+
}), Pa = Fn.superRefine((e, t) => ee({ ...e, defaults: e.defaultView }, t)), Le = i.object({ spec: Y, presentation: xe }).strict(), Rn = i.union([
|
|
2069
2082
|
Le.extend({
|
|
2070
2083
|
mode: i.literal("layout"),
|
|
2071
2084
|
format: i.enum(["csv", "xlsx", "pdf"]),
|
|
@@ -2075,7 +2088,7 @@ const kn = i.object({
|
|
|
2075
2088
|
])
|
|
2076
2089
|
}).strict(),
|
|
2077
2090
|
Le.extend({ mode: i.literal("flat"), format: i.literal("csv") }).strict()
|
|
2078
|
-
]),
|
|
2091
|
+
]), Ba = Rn.superRefine(
|
|
2079
2092
|
(e, t) => ee(
|
|
2080
2093
|
{
|
|
2081
2094
|
...e,
|
|
@@ -2087,27 +2100,27 @@ const kn = i.object({
|
|
|
2087
2100
|
t
|
|
2088
2101
|
)
|
|
2089
2102
|
);
|
|
2090
|
-
function
|
|
2103
|
+
function qa(e) {
|
|
2091
2104
|
return e && "id" in e ? e.id : void 0;
|
|
2092
2105
|
}
|
|
2093
|
-
const
|
|
2094
|
-
function
|
|
2106
|
+
const Tn = "SUM";
|
|
2107
|
+
function w(e) {
|
|
2095
2108
|
return typeof e == "string" && e.trim().length > 0;
|
|
2096
2109
|
}
|
|
2097
|
-
function
|
|
2098
|
-
return
|
|
2110
|
+
function E(e) {
|
|
2111
|
+
return w(e) ? e.trim().toLowerCase() : "";
|
|
2099
2112
|
}
|
|
2100
|
-
function
|
|
2101
|
-
const t =
|
|
2113
|
+
function La(e) {
|
|
2114
|
+
const t = w(e.id) ? e.id.trim() : void 0;
|
|
2102
2115
|
if (!t) return;
|
|
2103
|
-
const n =
|
|
2104
|
-
if (!(n ===
|
|
2116
|
+
const n = E(t), o = w(e.table) ? e.table.trim() : void 0;
|
|
2117
|
+
if (!(n === E(e.name) || o && n === E(o)))
|
|
2105
2118
|
return t;
|
|
2106
2119
|
}
|
|
2107
2120
|
function T(e) {
|
|
2108
|
-
const t =
|
|
2121
|
+
const t = w(e.datasetId) ? e.datasetId.trim() : void 0;
|
|
2109
2122
|
if (t)
|
|
2110
|
-
return
|
|
2123
|
+
return E(t) === E(e.datasetName) ? void 0 : t;
|
|
2111
2124
|
}
|
|
2112
2125
|
function Rt(e) {
|
|
2113
2126
|
if (e.kind !== "semantic") return e;
|
|
@@ -2117,8 +2130,8 @@ function Rt(e) {
|
|
|
2117
2130
|
...t ? { datasetId: t } : {}
|
|
2118
2131
|
};
|
|
2119
2132
|
}
|
|
2120
|
-
function
|
|
2121
|
-
return e ? e.kind === "semantic" ? !!(
|
|
2133
|
+
function Ua(e) {
|
|
2134
|
+
return e ? e.kind === "semantic" ? !!(w(e.domainId) && (w(e.datasetId) || w(e.datasetName))) : e.kind === "physical" ? w(e.connectionId) && w(e.tableName) : w(e.connectionId) : !1;
|
|
2122
2135
|
}
|
|
2123
2136
|
function pe(e) {
|
|
2124
2137
|
if (!e)
|
|
@@ -2166,7 +2179,7 @@ function Tt(e, t) {
|
|
|
2166
2179
|
connectionId: e.connectionId || t.connectionId
|
|
2167
2180
|
});
|
|
2168
2181
|
}
|
|
2169
|
-
function
|
|
2182
|
+
function Va(e) {
|
|
2170
2183
|
const t = [];
|
|
2171
2184
|
for (const n of e) {
|
|
2172
2185
|
const o = Rt(
|
|
@@ -2185,10 +2198,10 @@ function Ua(e) {
|
|
|
2185
2198
|
}
|
|
2186
2199
|
return t;
|
|
2187
2200
|
}
|
|
2188
|
-
function
|
|
2201
|
+
function Mn(e, t) {
|
|
2189
2202
|
return e.name === t.name && Fe(e.source, t.source);
|
|
2190
2203
|
}
|
|
2191
|
-
function
|
|
2204
|
+
function Ha(e) {
|
|
2192
2205
|
return [
|
|
2193
2206
|
e.source ? pe(e.source) : "unknown",
|
|
2194
2207
|
Mt(e),
|
|
@@ -2196,14 +2209,14 @@ function Va(e) {
|
|
|
2196
2209
|
].filter(Boolean).join(":");
|
|
2197
2210
|
}
|
|
2198
2211
|
function Mt(e) {
|
|
2199
|
-
return
|
|
2200
|
-
e.aggregate ||
|
|
2212
|
+
return Dn(
|
|
2213
|
+
e.aggregate || Tn
|
|
2201
2214
|
);
|
|
2202
2215
|
}
|
|
2203
|
-
function
|
|
2216
|
+
function Dn(e) {
|
|
2204
2217
|
return e.trim().toUpperCase();
|
|
2205
2218
|
}
|
|
2206
|
-
function
|
|
2219
|
+
function Ga(e, t) {
|
|
2207
2220
|
return {
|
|
2208
2221
|
...e,
|
|
2209
2222
|
label: e.label || t.label,
|
|
@@ -2212,20 +2225,20 @@ function Ha(e, t) {
|
|
|
2212
2225
|
source: e.source && t.source ? Tt(e.source, t.source) : e.source || t.source
|
|
2213
2226
|
};
|
|
2214
2227
|
}
|
|
2215
|
-
function
|
|
2228
|
+
function En(e) {
|
|
2216
2229
|
for (let t = 0; t < e.length; t += 1) {
|
|
2217
2230
|
const n = e[t];
|
|
2218
2231
|
if (e.some(
|
|
2219
|
-
(o, a) => a !== t &&
|
|
2232
|
+
(o, a) => a !== t && Et(o, n)
|
|
2220
2233
|
))
|
|
2221
2234
|
return !1;
|
|
2222
2235
|
}
|
|
2223
2236
|
return !0;
|
|
2224
2237
|
}
|
|
2225
2238
|
function Dt(e, t) {
|
|
2226
|
-
return
|
|
2239
|
+
return Mn(e, t);
|
|
2227
2240
|
}
|
|
2228
|
-
function
|
|
2241
|
+
function Et(e, t) {
|
|
2229
2242
|
return Dt(e, t) && C(e) === C(t);
|
|
2230
2243
|
}
|
|
2231
2244
|
function Nn(e) {
|
|
@@ -2234,7 +2247,7 @@ function Nn(e) {
|
|
|
2234
2247
|
function Ue(e) {
|
|
2235
2248
|
return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || e === null;
|
|
2236
2249
|
}
|
|
2237
|
-
function
|
|
2250
|
+
function jn(e, t, n) {
|
|
2238
2251
|
if (e !== void 0) {
|
|
2239
2252
|
if (!e || typeof e != "object" || Array.isArray(e)) {
|
|
2240
2253
|
n.push(
|
|
@@ -2267,49 +2280,49 @@ function En(e, t, n) {
|
|
|
2267
2280
|
});
|
|
2268
2281
|
}
|
|
2269
2282
|
}
|
|
2270
|
-
function
|
|
2283
|
+
function $n(e, t) {
|
|
2271
2284
|
return Re(e, t).length === 1;
|
|
2272
2285
|
}
|
|
2273
|
-
function
|
|
2286
|
+
function Cn(e, t) {
|
|
2274
2287
|
return Re(e, t).length === 1;
|
|
2275
2288
|
}
|
|
2276
2289
|
function Re(e, t) {
|
|
2277
2290
|
return t.filter(
|
|
2278
|
-
(o) =>
|
|
2291
|
+
(o) => On(e, o)
|
|
2279
2292
|
);
|
|
2280
2293
|
}
|
|
2281
|
-
function Cn(e, t) {
|
|
2282
|
-
return On(e, t) ? e.source ? Dt(t, e) : !0 : !1;
|
|
2283
|
-
}
|
|
2284
2294
|
function On(e, t) {
|
|
2285
|
-
return
|
|
2295
|
+
return Yn(e, t) ? e.source ? Dt(t, e) : !0 : !1;
|
|
2286
2296
|
}
|
|
2287
2297
|
function Yn(e, t) {
|
|
2298
|
+
return !(t.name !== e.name || e.role !== void 0 && t.role !== void 0 && t.role !== e.role || Pn(e, t) && C(t) !== C(e));
|
|
2299
|
+
}
|
|
2300
|
+
function Pn(e, t) {
|
|
2288
2301
|
return e.role === "measure" || t.role === "measure" || e.aggregate !== void 0 || t.aggregate !== void 0;
|
|
2289
2302
|
}
|
|
2290
2303
|
function C(e) {
|
|
2291
2304
|
return Mt(e);
|
|
2292
2305
|
}
|
|
2293
|
-
const
|
|
2306
|
+
const Bn = /^(\d{4})-(\d{2})-(\d{2})$/, Nt = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:\d{2})$/;
|
|
2294
2307
|
function me(e) {
|
|
2295
2308
|
if (typeof e != "string")
|
|
2296
2309
|
return null;
|
|
2297
|
-
const t = e.trim(), n =
|
|
2310
|
+
const t = e.trim(), n = Bn.exec(t);
|
|
2298
2311
|
if (n) {
|
|
2299
|
-
const [,
|
|
2300
|
-
return Ve(
|
|
2312
|
+
const [, b, S, h] = n;
|
|
2313
|
+
return Ve(b, S, h) ? new Date(Date.UTC(Number(b), Number(S) - 1, Number(h))) : null;
|
|
2301
2314
|
}
|
|
2302
|
-
const o =
|
|
2315
|
+
const o = Nt.exec(t);
|
|
2303
2316
|
if (!o)
|
|
2304
2317
|
return null;
|
|
2305
|
-
const [, a, s, l, d, c,
|
|
2306
|
-
if (!Ve(a, s, l) || !
|
|
2318
|
+
const [, a, s, l, d, c, p = "00", , u] = o;
|
|
2319
|
+
if (!Ve(a, s, l) || !N(d, 0, 23) || !N(c, 0, 59) || !N(p, 0, 59) || !qn(u))
|
|
2307
2320
|
return null;
|
|
2308
2321
|
const _ = new Date(t);
|
|
2309
2322
|
return Number.isFinite(_.getTime()) ? _ : null;
|
|
2310
2323
|
}
|
|
2311
|
-
function
|
|
2312
|
-
return typeof e != "string" || !
|
|
2324
|
+
function za(e) {
|
|
2325
|
+
return typeof e != "string" || !Nt.test(e.trim()) ? null : me(e);
|
|
2313
2326
|
}
|
|
2314
2327
|
function Ve(e, t, n) {
|
|
2315
2328
|
const o = Number(e), a = Number(t), s = Number(n);
|
|
@@ -2318,15 +2331,15 @@ function Ve(e, t, n) {
|
|
|
2318
2331
|
const l = new Date(Date.UTC(o, a - 1, s));
|
|
2319
2332
|
return l.getUTCFullYear() === o && l.getUTCMonth() === a - 1 && l.getUTCDate() === s;
|
|
2320
2333
|
}
|
|
2321
|
-
function
|
|
2334
|
+
function N(e, t, n) {
|
|
2322
2335
|
const o = Number(e);
|
|
2323
2336
|
return Number.isInteger(o) && o >= t && o <= n;
|
|
2324
2337
|
}
|
|
2325
|
-
function
|
|
2338
|
+
function qn(e) {
|
|
2326
2339
|
if (e === "Z")
|
|
2327
2340
|
return !0;
|
|
2328
2341
|
const t = /^([+-])(\d{2}):(\d{2})$/.exec(e);
|
|
2329
|
-
return !!(t &&
|
|
2342
|
+
return !!(t && N(t[2], 0, 23) && N(t[3], 0, 59));
|
|
2330
2343
|
}
|
|
2331
2344
|
function He(e, t, n) {
|
|
2332
2345
|
if (e !== void 0) {
|
|
@@ -2364,7 +2377,7 @@ function Ge(e) {
|
|
|
2364
2377
|
}
|
|
2365
2378
|
return null;
|
|
2366
2379
|
}
|
|
2367
|
-
function
|
|
2380
|
+
function Ln(e, t, n) {
|
|
2368
2381
|
if (!f(e)) {
|
|
2369
2382
|
n.push(
|
|
2370
2383
|
r(
|
|
@@ -2375,7 +2388,7 @@ function qn(e, t, n) {
|
|
|
2375
2388
|
);
|
|
2376
2389
|
return;
|
|
2377
2390
|
}
|
|
2378
|
-
|
|
2391
|
+
m(e.inputId) || n.push(
|
|
2379
2392
|
r(
|
|
2380
2393
|
"invalid_input_binding",
|
|
2381
2394
|
"Input bindings need a non-empty inputId.",
|
|
@@ -2387,7 +2400,7 @@ function qn(e, t, n) {
|
|
|
2387
2400
|
"Input binding kind must be filter or control.",
|
|
2388
2401
|
`${t}.kind`
|
|
2389
2402
|
)
|
|
2390
|
-
), e.field !== void 0 &&
|
|
2403
|
+
), e.field !== void 0 && y(e.field, `${t}.field`, n), e.relationshipHint !== void 0 && Te(
|
|
2391
2404
|
e.relationshipHint,
|
|
2392
2405
|
`${t}.relationshipHint`,
|
|
2393
2406
|
n
|
|
@@ -2404,7 +2417,7 @@ function Te(e, t, n) {
|
|
|
2404
2417
|
);
|
|
2405
2418
|
return;
|
|
2406
2419
|
}
|
|
2407
|
-
e.relationshipIds !== void 0 && (!Array.isArray(e.relationshipIds) || e.relationshipIds.some((o) => !
|
|
2420
|
+
e.relationshipIds !== void 0 && (!Array.isArray(e.relationshipIds) || e.relationshipIds.some((o) => !m(o))) && n.push(
|
|
2408
2421
|
r(
|
|
2409
2422
|
"invalid_relationship_hint",
|
|
2410
2423
|
"Relationship hint relationshipIds must be non-empty strings.",
|
|
@@ -2412,7 +2425,7 @@ function Te(e, t, n) {
|
|
|
2412
2425
|
)
|
|
2413
2426
|
);
|
|
2414
2427
|
}
|
|
2415
|
-
function
|
|
2428
|
+
function Un(e, t) {
|
|
2416
2429
|
var o, a;
|
|
2417
2430
|
if (((o = e.source) == null ? void 0 : o.kind) !== "semantic" && ((a = e.source) == null ? void 0 : a.kind) !== "physical" && t.push(
|
|
2418
2431
|
r(
|
|
@@ -2420,7 +2433,7 @@ function Ln(e, t) {
|
|
|
2420
2433
|
"Input options must use a semantic or physical source.",
|
|
2421
2434
|
"source"
|
|
2422
2435
|
)
|
|
2423
|
-
),
|
|
2436
|
+
), m(e.inputId) || t.push(
|
|
2424
2437
|
r(
|
|
2425
2438
|
"missing_input_options_input_id",
|
|
2426
2439
|
"Input options intent needs the inputId it populates.",
|
|
@@ -2450,26 +2463,26 @@ function Ln(e, t) {
|
|
|
2450
2463
|
"Input options limit must be a positive finite number.",
|
|
2451
2464
|
"limit"
|
|
2452
2465
|
)
|
|
2453
|
-
), (!e.labelField || !
|
|
2466
|
+
), (!e.labelField || !m(e.labelField.name)) && t.push(
|
|
2454
2467
|
r(
|
|
2455
2468
|
"missing_input_options_label_field",
|
|
2456
2469
|
"Input options intent needs a labelField.",
|
|
2457
2470
|
"labelField"
|
|
2458
2471
|
)
|
|
2459
|
-
),
|
|
2472
|
+
), y(e.labelField, "labelField", t, {
|
|
2460
2473
|
required: !0
|
|
2461
|
-
}), (!e.valueField || !
|
|
2474
|
+
}), (!e.valueField || !m(e.valueField.name)) && t.push(
|
|
2462
2475
|
r(
|
|
2463
2476
|
"missing_input_options_value_field",
|
|
2464
2477
|
"Input options intent needs a valueField.",
|
|
2465
2478
|
"valueField"
|
|
2466
2479
|
)
|
|
2467
|
-
),
|
|
2480
|
+
), y(e.valueField, "valueField", t, {
|
|
2468
2481
|
required: !0
|
|
2469
|
-
}), e.searchField !== void 0 &&
|
|
2482
|
+
}), e.searchField !== void 0 && y(e.searchField, "searchField", t, {
|
|
2470
2483
|
required: !0
|
|
2471
2484
|
}), e.disambiguationFields !== void 0 && (Array.isArray(e.disambiguationFields) ? e.disambiguationFields.forEach((s, l) => {
|
|
2472
|
-
|
|
2485
|
+
y(s, `disambiguationFields.${l}`, t, {
|
|
2473
2486
|
required: !0
|
|
2474
2487
|
});
|
|
2475
2488
|
}) : t.push(
|
|
@@ -2495,10 +2508,10 @@ function Ln(e, t) {
|
|
|
2495
2508
|
)
|
|
2496
2509
|
);
|
|
2497
2510
|
}), e.dependencies !== void 0) {
|
|
2498
|
-
const s =
|
|
2511
|
+
const s = Hn(
|
|
2499
2512
|
e.dependencies
|
|
2500
2513
|
);
|
|
2501
|
-
t.push(...s.errors), s.ok &&
|
|
2514
|
+
t.push(...s.errors), s.ok && zn(e, t);
|
|
2502
2515
|
}
|
|
2503
2516
|
if (e.population !== void 0) {
|
|
2504
2517
|
const s = e.population;
|
|
@@ -2542,7 +2555,7 @@ function Ln(e, t) {
|
|
|
2542
2555
|
}
|
|
2543
2556
|
}
|
|
2544
2557
|
}
|
|
2545
|
-
function
|
|
2558
|
+
function Vn(e, t) {
|
|
2546
2559
|
if (!(!("inputs" in e) || e.inputs === void 0)) {
|
|
2547
2560
|
if (!Array.isArray(e.inputs)) {
|
|
2548
2561
|
t.push(
|
|
@@ -2555,11 +2568,11 @@ function Un(e, t) {
|
|
|
2555
2568
|
return;
|
|
2556
2569
|
}
|
|
2557
2570
|
e.inputs.forEach(
|
|
2558
|
-
(n, o) =>
|
|
2571
|
+
(n, o) => Ln(n, `inputs.${o}`, t)
|
|
2559
2572
|
);
|
|
2560
2573
|
}
|
|
2561
2574
|
}
|
|
2562
|
-
function
|
|
2575
|
+
function Hn(e, t = "protocol") {
|
|
2563
2576
|
const n = [];
|
|
2564
2577
|
if (!f(e))
|
|
2565
2578
|
return n.push(
|
|
@@ -2609,9 +2622,9 @@ function Vn(e, t = "protocol") {
|
|
|
2609
2622
|
)
|
|
2610
2623
|
);
|
|
2611
2624
|
}
|
|
2612
|
-
return t === "dashboard" &&
|
|
2625
|
+
return t === "dashboard" && Gn(o, n), { ok: n.length === 0, errors: n, warnings: [] };
|
|
2613
2626
|
}
|
|
2614
|
-
function
|
|
2627
|
+
function Gn(e, t) {
|
|
2615
2628
|
const { mode: n, includeInputIds: o, excludeInputIds: a } = e;
|
|
2616
2629
|
n === void 0 && t.push(
|
|
2617
2630
|
r(
|
|
@@ -2645,7 +2658,7 @@ function Hn(e, t) {
|
|
|
2645
2658
|
)
|
|
2646
2659
|
);
|
|
2647
2660
|
}
|
|
2648
|
-
function
|
|
2661
|
+
function zn(e, t) {
|
|
2649
2662
|
var a, s, l;
|
|
2650
2663
|
const n = new Set(
|
|
2651
2664
|
Array.isArray(e.inputs) ? e.inputs.map((d) => f(d) ? d.inputId : void 0).filter((d) => typeof d == "string") : []
|
|
@@ -2668,10 +2681,10 @@ function Gn(e, t) {
|
|
|
2668
2681
|
);
|
|
2669
2682
|
}
|
|
2670
2683
|
function se(e, t, n, o) {
|
|
2671
|
-
e !== void 0 && (!Array.isArray(e) || e.some((a) => !
|
|
2684
|
+
e !== void 0 && (!Array.isArray(e) || e.some((a) => !m(a))) && n.push(r("invalid_input_options_dependencies", o, t));
|
|
2672
2685
|
}
|
|
2673
|
-
const
|
|
2674
|
-
function
|
|
2686
|
+
const Kn = new Set(z);
|
|
2687
|
+
function Qn(e, t, n) {
|
|
2675
2688
|
if (f(e) && e.type === "temporal_bucket") {
|
|
2676
2689
|
n.push(
|
|
2677
2690
|
r(
|
|
@@ -2695,7 +2708,7 @@ function ze(e, t, n) {
|
|
|
2695
2708
|
);
|
|
2696
2709
|
return;
|
|
2697
2710
|
}
|
|
2698
|
-
const o =
|
|
2711
|
+
const o = m(e.columnKey), a = f(e.field);
|
|
2699
2712
|
if (o === a) {
|
|
2700
2713
|
n.push(
|
|
2701
2714
|
r(
|
|
@@ -2706,11 +2719,11 @@ function ze(e, t, n) {
|
|
|
2706
2719
|
);
|
|
2707
2720
|
return;
|
|
2708
2721
|
}
|
|
2709
|
-
a &&
|
|
2722
|
+
a && y(e.field, `${t}.field`, n, {
|
|
2710
2723
|
required: !0
|
|
2711
2724
|
});
|
|
2712
2725
|
}
|
|
2713
|
-
function
|
|
2726
|
+
function Wn(e, t, n) {
|
|
2714
2727
|
if (!f(e)) {
|
|
2715
2728
|
n.push(
|
|
2716
2729
|
r(
|
|
@@ -2721,7 +2734,7 @@ function Qn(e, t, n) {
|
|
|
2721
2734
|
);
|
|
2722
2735
|
return;
|
|
2723
2736
|
}
|
|
2724
|
-
|
|
2737
|
+
m(e.key) || n.push(
|
|
2725
2738
|
r(
|
|
2726
2739
|
"invalid_result_calculation_output",
|
|
2727
2740
|
"Result calculation output needs a stable key.",
|
|
@@ -2733,9 +2746,9 @@ function Qn(e, t, n) {
|
|
|
2733
2746
|
"Result calculation output dataType must be string, number, boolean, date, datetime, or unknown.",
|
|
2734
2747
|
`${t}.dataType`
|
|
2735
2748
|
)
|
|
2736
|
-
),
|
|
2749
|
+
), Qn(e.format, `${t}.format`, n);
|
|
2737
2750
|
}
|
|
2738
|
-
function
|
|
2751
|
+
function Xn(e, t) {
|
|
2739
2752
|
if (e.analysis === void 0)
|
|
2740
2753
|
return;
|
|
2741
2754
|
if (!f(e.analysis)) {
|
|
@@ -2798,19 +2811,19 @@ function fe(e, t, n) {
|
|
|
2798
2811
|
`${t}.kind`
|
|
2799
2812
|
)
|
|
2800
2813
|
), e.kind === "absolute") {
|
|
2801
|
-
if (
|
|
2814
|
+
if (m(e.start) || n.push(
|
|
2802
2815
|
r(
|
|
2803
2816
|
"invalid_time_window",
|
|
2804
2817
|
"Absolute time window start must be a non-empty ISO date or timestamp string.",
|
|
2805
2818
|
`${t}.start`
|
|
2806
2819
|
)
|
|
2807
|
-
),
|
|
2820
|
+
), m(e.end) || n.push(
|
|
2808
2821
|
r(
|
|
2809
2822
|
"invalid_time_window",
|
|
2810
2823
|
"Absolute time window end must be a non-empty ISO date or timestamp string.",
|
|
2811
2824
|
`${t}.end`
|
|
2812
2825
|
)
|
|
2813
|
-
),
|
|
2826
|
+
), m(e.start) && m(e.end)) {
|
|
2814
2827
|
const o = me(e.start), a = me(e.end);
|
|
2815
2828
|
o || n.push(
|
|
2816
2829
|
r(
|
|
@@ -2834,7 +2847,7 @@ function fe(e, t, n) {
|
|
|
2834
2847
|
}
|
|
2835
2848
|
return;
|
|
2836
2849
|
}
|
|
2837
|
-
(typeof e.unit != "string" || !
|
|
2850
|
+
(typeof e.unit != "string" || !Kn.has(e.unit)) && n.push(
|
|
2838
2851
|
r(
|
|
2839
2852
|
"invalid_time_window",
|
|
2840
2853
|
`Time window unit must be one of: ${z.join(", ")}.`,
|
|
@@ -2886,7 +2899,7 @@ function ge(e, t, n) {
|
|
|
2886
2899
|
return;
|
|
2887
2900
|
}
|
|
2888
2901
|
const l = o;
|
|
2889
|
-
|
|
2902
|
+
y(l.field, `${s}.field`, n, {
|
|
2890
2903
|
required: !0
|
|
2891
2904
|
}), l.scope !== void 0 && l.scope !== "row" && l.scope !== "aggregate" && n.push(
|
|
2892
2905
|
r(
|
|
@@ -2935,9 +2948,9 @@ function ge(e, t, n) {
|
|
|
2935
2948
|
return;
|
|
2936
2949
|
}
|
|
2937
2950
|
if (l.values !== void 0) {
|
|
2938
|
-
const
|
|
2951
|
+
const p = l.values.length;
|
|
2939
2952
|
if (l.operator === "between" || l.operator === "not_between") {
|
|
2940
|
-
|
|
2953
|
+
p !== 2 && n.push(
|
|
2941
2954
|
r(
|
|
2942
2955
|
"invalid_analytics_filter_values",
|
|
2943
2956
|
"Between analytics filters must include exactly two values.",
|
|
@@ -2946,7 +2959,7 @@ function ge(e, t, n) {
|
|
|
2946
2959
|
);
|
|
2947
2960
|
return;
|
|
2948
2961
|
}
|
|
2949
|
-
(l.operator === "contains" || l.operator === "not_contains" || l.operator === "=" || l.operator === "!=" || l.operator === ">" || l.operator === ">=" || l.operator === "<" || l.operator === "<=" || l.operator === void 0) &&
|
|
2962
|
+
(l.operator === "contains" || l.operator === "not_contains" || l.operator === "=" || l.operator === "!=" || l.operator === ">" || l.operator === ">=" || l.operator === "<" || l.operator === "<=" || l.operator === void 0) && p !== 1 && n.push(
|
|
2950
2963
|
r(
|
|
2951
2964
|
"invalid_analytics_filter_values",
|
|
2952
2965
|
"Scalar analytics filters must include exactly one value. Use in/not_in for multiple values.",
|
|
@@ -2957,7 +2970,7 @@ function ge(e, t, n) {
|
|
|
2957
2970
|
});
|
|
2958
2971
|
}
|
|
2959
2972
|
}
|
|
2960
|
-
function
|
|
2973
|
+
function Ka(e) {
|
|
2961
2974
|
const t = [];
|
|
2962
2975
|
if (!f(e))
|
|
2963
2976
|
return t.push(
|
|
@@ -2966,13 +2979,13 @@ function za(e) {
|
|
|
2966
2979
|
"Result calculation must be a structured object."
|
|
2967
2980
|
)
|
|
2968
2981
|
), { ok: !1, errors: t, warnings: [] };
|
|
2969
|
-
if (
|
|
2982
|
+
if (m(e.id) || t.push(
|
|
2970
2983
|
r(
|
|
2971
2984
|
"invalid_result_calculation_id",
|
|
2972
2985
|
"Result calculation needs an id.",
|
|
2973
2986
|
"id"
|
|
2974
2987
|
)
|
|
2975
|
-
),
|
|
2988
|
+
), m(e.label) || t.push(
|
|
2976
2989
|
r(
|
|
2977
2990
|
"invalid_result_calculation_label",
|
|
2978
2991
|
"Result calculation needs a label.",
|
|
@@ -2984,9 +2997,9 @@ function za(e) {
|
|
|
2984
2997
|
"Result calculation kind must be percent_of_total, rank, running_total, or previous_row_delta.",
|
|
2985
2998
|
"kind"
|
|
2986
2999
|
)
|
|
2987
|
-
), ze(e.input, "input", t),
|
|
3000
|
+
), ze(e.input, "input", t), Wn(e.output, "output", t), e.kind === "percent_of_total") {
|
|
2988
3001
|
const n = e.denominator;
|
|
2989
|
-
n !== void 0 && (f(n) ? n.scope === "population" ? (
|
|
3002
|
+
n !== void 0 && (f(n) ? n.scope === "population" ? (y(n.metric, "denominator.metric", t, {
|
|
2990
3003
|
required: !0
|
|
2991
3004
|
}), ge(
|
|
2992
3005
|
n.filters,
|
|
@@ -3044,13 +3057,13 @@ function jt(e) {
|
|
|
3044
3057
|
"Analytics intent version must be 1.",
|
|
3045
3058
|
"version"
|
|
3046
3059
|
)
|
|
3047
|
-
), be(e.source, "source", t),
|
|
3060
|
+
), be(e.source, "source", t), Zn(e, t), Vn(e, t), "relationshipHint" in e && e.relationshipHint !== void 0 && Te(
|
|
3048
3061
|
e.relationshipHint,
|
|
3049
3062
|
"relationshipHint",
|
|
3050
3063
|
t
|
|
3051
3064
|
), e.kind === "metric") {
|
|
3052
3065
|
const a = Array.isArray(e.measures) ? e.measures.filter(
|
|
3053
|
-
(s) => f(s) &&
|
|
3066
|
+
(s) => f(s) && m(s.name)
|
|
3054
3067
|
) : [];
|
|
3055
3068
|
if (!Array.isArray(e.measures) || e.measures.length === 0 ? t.push(
|
|
3056
3069
|
r(
|
|
@@ -3059,7 +3072,7 @@ function jt(e) {
|
|
|
3059
3072
|
"measures"
|
|
3060
3073
|
)
|
|
3061
3074
|
) : e.measures.some(
|
|
3062
|
-
(s) => !f(s) || !
|
|
3075
|
+
(s) => !f(s) || !m(s.name)
|
|
3063
3076
|
) && t.push(
|
|
3064
3077
|
r(
|
|
3065
3078
|
"invalid_measure_list",
|
|
@@ -3067,13 +3080,13 @@ function jt(e) {
|
|
|
3067
3080
|
"measures"
|
|
3068
3081
|
)
|
|
3069
3082
|
), a.forEach((s, l) => {
|
|
3070
|
-
|
|
3083
|
+
y(s, `measures.${l}`, t, {
|
|
3071
3084
|
required: !0
|
|
3072
3085
|
});
|
|
3073
|
-
}), a.length > 0 && !
|
|
3086
|
+
}), a.length > 0 && !En(a)) {
|
|
3074
3087
|
const s = a.find(
|
|
3075
3088
|
(l, d) => a.some(
|
|
3076
|
-
(c,
|
|
3089
|
+
(c, p) => p !== d && Et(c, l)
|
|
3077
3090
|
)
|
|
3078
3091
|
);
|
|
3079
3092
|
s && t.push(
|
|
@@ -3084,7 +3097,7 @@ function jt(e) {
|
|
|
3084
3097
|
)
|
|
3085
3098
|
);
|
|
3086
3099
|
}
|
|
3087
|
-
if (f(e.primaryMeasure) &&
|
|
3100
|
+
if (f(e.primaryMeasure) && m(e.primaryMeasure.name) && Re(
|
|
3088
3101
|
e.primaryMeasure,
|
|
3089
3102
|
a
|
|
3090
3103
|
).length > 1 && t.push(
|
|
@@ -3093,9 +3106,9 @@ function jt(e) {
|
|
|
3093
3106
|
"Metric intent primaryMeasure must identify exactly one selected measure.",
|
|
3094
3107
|
"primaryMeasure"
|
|
3095
3108
|
)
|
|
3096
|
-
), e.primaryMeasure !== void 0 && (
|
|
3109
|
+
), e.primaryMeasure !== void 0 && (y(e.primaryMeasure, "primaryMeasure", t, {
|
|
3097
3110
|
required: !0
|
|
3098
|
-
}), f(e.primaryMeasure) &&
|
|
3111
|
+
}), f(e.primaryMeasure) && m(e.primaryMeasure.name) && a.length > 0 && !$n(
|
|
3099
3112
|
e.primaryMeasure,
|
|
3100
3113
|
a
|
|
3101
3114
|
) && t.push(
|
|
@@ -3111,21 +3124,21 @@ function jt(e) {
|
|
|
3111
3124
|
"dimensions"
|
|
3112
3125
|
)
|
|
3113
3126
|
) : Array.isArray(e.dimensions) && e.dimensions.some(
|
|
3114
|
-
(s) => !f(s) || !
|
|
3127
|
+
(s) => !f(s) || !m(s.name)
|
|
3115
3128
|
) && t.push(
|
|
3116
3129
|
r(
|
|
3117
3130
|
"invalid_measure_dimensions",
|
|
3118
3131
|
"Metric intent dimensions must be an array of field references with names.",
|
|
3119
3132
|
"dimensions"
|
|
3120
3133
|
)
|
|
3121
|
-
), e.dateField !== void 0 &&
|
|
3134
|
+
), e.dateField !== void 0 && y(e.dateField, "dateField", t), e.timeWindow !== void 0 && (fe(e.timeWindow, "timeWindow", t), e.dateField || t.push(
|
|
3122
3135
|
r(
|
|
3123
3136
|
"missing_time_window_date_field",
|
|
3124
3137
|
"Metric timeWindow needs a dateField.",
|
|
3125
3138
|
"dateField"
|
|
3126
3139
|
)
|
|
3127
3140
|
)), ge(e.filters, "filters", t), Array.isArray(e.dimensions) && e.dimensions.forEach((s, l) => {
|
|
3128
|
-
|
|
3141
|
+
y(s, `dimensions.${l}`, t);
|
|
3129
3142
|
}), e.orderBy !== void 0) {
|
|
3130
3143
|
if (!f(e.orderBy))
|
|
3131
3144
|
t.push(
|
|
@@ -3135,7 +3148,7 @@ function jt(e) {
|
|
|
3135
3148
|
"orderBy"
|
|
3136
3149
|
)
|
|
3137
3150
|
);
|
|
3138
|
-
else if (
|
|
3151
|
+
else if (y(e.orderBy.field, "orderBy.field", t, {
|
|
3139
3152
|
required: !0
|
|
3140
3153
|
}), e.orderBy.direction !== "asc" && e.orderBy.direction !== "desc" && t.push(
|
|
3141
3154
|
r(
|
|
@@ -3143,15 +3156,15 @@ function jt(e) {
|
|
|
3143
3156
|
"Metric intent orderBy direction must be asc or desc.",
|
|
3144
3157
|
"orderBy.direction"
|
|
3145
3158
|
)
|
|
3146
|
-
), f(e.orderBy.field) &&
|
|
3159
|
+
), f(e.orderBy.field) && m(e.orderBy.field.name)) {
|
|
3147
3160
|
const s = [
|
|
3148
3161
|
...a,
|
|
3149
3162
|
...e.timeGrain && e.dateField && f(e.dateField) ? [e.dateField] : [],
|
|
3150
3163
|
...Array.isArray(e.dimensions) ? e.dimensions.filter(
|
|
3151
|
-
(l) => f(l) &&
|
|
3164
|
+
(l) => f(l) && m(l.name)
|
|
3152
3165
|
) : []
|
|
3153
3166
|
];
|
|
3154
|
-
s.length > 0 &&
|
|
3167
|
+
s.length > 0 && !Cn(
|
|
3155
3168
|
e.orderBy.field,
|
|
3156
3169
|
s
|
|
3157
3170
|
) && t.push(
|
|
@@ -3163,7 +3176,7 @@ function jt(e) {
|
|
|
3163
3176
|
);
|
|
3164
3177
|
}
|
|
3165
3178
|
}
|
|
3166
|
-
|
|
3179
|
+
Xn(e, t);
|
|
3167
3180
|
} else if (e.kind === "records") {
|
|
3168
3181
|
if (!Array.isArray(e.fields) || e.fields.length === 0 ? t.push(
|
|
3169
3182
|
r(
|
|
@@ -3172,7 +3185,7 @@ function jt(e) {
|
|
|
3172
3185
|
"fields"
|
|
3173
3186
|
)
|
|
3174
3187
|
) : e.fields.some(
|
|
3175
|
-
(a) => !f(a) || !
|
|
3188
|
+
(a) => !f(a) || !m(a.name)
|
|
3176
3189
|
) && t.push(
|
|
3177
3190
|
r(
|
|
3178
3191
|
"invalid_record_fields",
|
|
@@ -3180,8 +3193,8 @@ function jt(e) {
|
|
|
3180
3193
|
"fields"
|
|
3181
3194
|
)
|
|
3182
3195
|
), Array.isArray(e.fields) && e.fields.forEach((a, s) => {
|
|
3183
|
-
|
|
3184
|
-
}), e.dateField !== void 0 &&
|
|
3196
|
+
y(a, `fields.${s}`, t);
|
|
3197
|
+
}), e.dateField !== void 0 && y(e.dateField, "dateField", t), He(e.pagination, "pagination", t), e.timeWindow !== void 0 && (fe(e.timeWindow, "timeWindow", t), e.dateField || t.push(
|
|
3185
3198
|
r(
|
|
3186
3199
|
"missing_time_window_date_field",
|
|
3187
3200
|
"Records timeWindow needs a dateField.",
|
|
@@ -3195,7 +3208,7 @@ function jt(e) {
|
|
|
3195
3208
|
`filters.${s}.scope`
|
|
3196
3209
|
)
|
|
3197
3210
|
);
|
|
3198
|
-
}), e.orderBy !== void 0 && (f(e.orderBy) ? (
|
|
3211
|
+
}), e.orderBy !== void 0 && (f(e.orderBy) ? (y(e.orderBy.field, "orderBy.field", t, {
|
|
3199
3212
|
required: !0
|
|
3200
3213
|
}), e.orderBy.direction !== "asc" && e.orderBy.direction !== "desc" && t.push(
|
|
3201
3214
|
r(
|
|
@@ -3234,7 +3247,7 @@ function jt(e) {
|
|
|
3234
3247
|
"totals.measures"
|
|
3235
3248
|
)
|
|
3236
3249
|
) : a.forEach((s, l) => {
|
|
3237
|
-
|
|
3250
|
+
y(s, `totals.measures.${l}`, t, {
|
|
3238
3251
|
required: !0
|
|
3239
3252
|
}), (!f(s) || s.role !== "measure") && t.push(
|
|
3240
3253
|
r(
|
|
@@ -3245,20 +3258,20 @@ function jt(e) {
|
|
|
3245
3258
|
);
|
|
3246
3259
|
});
|
|
3247
3260
|
}
|
|
3248
|
-
} else e.kind === "inputOptions" ?
|
|
3261
|
+
} else e.kind === "inputOptions" ? Un(e, t) : e.kind === "sql" ? (((o = e.source) == null ? void 0 : o.kind) !== "sql" && t.push(
|
|
3249
3262
|
r(
|
|
3250
3263
|
"invalid_sql_source",
|
|
3251
3264
|
"SQL analytics intent must use a SQL execution source.",
|
|
3252
3265
|
"source"
|
|
3253
3266
|
)
|
|
3254
|
-
),
|
|
3267
|
+
), m(e.sql) || t.push(
|
|
3255
3268
|
r("missing_sql", "SQL analytics intent needs SQL text.", "sql")
|
|
3256
|
-
),
|
|
3269
|
+
), jn(
|
|
3257
3270
|
e.defaultParameters,
|
|
3258
3271
|
"defaultParameters",
|
|
3259
3272
|
t
|
|
3260
3273
|
), Array.isArray(e.fields) && e.fields.forEach((a, s) => {
|
|
3261
|
-
|
|
3274
|
+
y(a, `fields.${s}`, t);
|
|
3262
3275
|
}), He(e.pagination, "pagination", t)) : t.push(
|
|
3263
3276
|
r(
|
|
3264
3277
|
"invalid_analytics_kind",
|
|
@@ -3273,7 +3286,7 @@ function jt(e) {
|
|
|
3273
3286
|
repairHints: Ke(t)
|
|
3274
3287
|
};
|
|
3275
3288
|
}
|
|
3276
|
-
function
|
|
3289
|
+
function Zn(e, t) {
|
|
3277
3290
|
if (!(!("derivedFields" in e) || e.derivedFields === void 0)) {
|
|
3278
3291
|
if (!Array.isArray(e.derivedFields)) {
|
|
3279
3292
|
t.push(
|
|
@@ -3297,7 +3310,7 @@ function Xn(e, t) {
|
|
|
3297
3310
|
});
|
|
3298
3311
|
}
|
|
3299
3312
|
}
|
|
3300
|
-
function
|
|
3313
|
+
function Jn(e) {
|
|
3301
3314
|
const t = [], n = [];
|
|
3302
3315
|
if (!e || typeof e != "object")
|
|
3303
3316
|
return {
|
|
@@ -3330,13 +3343,13 @@ function Zn(e) {
|
|
|
3330
3343
|
"obligations"
|
|
3331
3344
|
)
|
|
3332
3345
|
) : e.obligations.forEach((o, a) => {
|
|
3333
|
-
|
|
3346
|
+
m(o.id) || t.push(
|
|
3334
3347
|
r(
|
|
3335
3348
|
"missing_obligation_id",
|
|
3336
3349
|
"Each analytics obligation needs an id.",
|
|
3337
3350
|
`obligations.${a}.id`
|
|
3338
3351
|
)
|
|
3339
|
-
),
|
|
3352
|
+
), m(o.prompt) || t.push(
|
|
3340
3353
|
r(
|
|
3341
3354
|
"missing_obligation_prompt",
|
|
3342
3355
|
"Each analytics obligation needs a prompt.",
|
|
@@ -3345,7 +3358,7 @@ function Zn(e) {
|
|
|
3345
3358
|
);
|
|
3346
3359
|
});
|
|
3347
3360
|
else if (e.kind === "dashboard_change" || e.kind === "data_app_change") {
|
|
3348
|
-
if (
|
|
3361
|
+
if (m(e.instruction) || t.push(
|
|
3349
3362
|
r(
|
|
3350
3363
|
"missing_instruction",
|
|
3351
3364
|
"Change operation intent needs an instruction.",
|
|
@@ -3372,7 +3385,7 @@ function Zn(e) {
|
|
|
3372
3385
|
repairHints: $t(t)
|
|
3373
3386
|
};
|
|
3374
3387
|
}
|
|
3375
|
-
function
|
|
3388
|
+
function Qa(e) {
|
|
3376
3389
|
const t = [], n = [];
|
|
3377
3390
|
if (!e || typeof e != "object")
|
|
3378
3391
|
return {
|
|
@@ -3400,7 +3413,7 @@ function Ka(e) {
|
|
|
3400
3413
|
"kind"
|
|
3401
3414
|
)
|
|
3402
3415
|
);
|
|
3403
|
-
const o =
|
|
3416
|
+
const o = Jn(
|
|
3404
3417
|
e.operationIntent
|
|
3405
3418
|
);
|
|
3406
3419
|
return t.push(...o.errors), n.push(...o.warnings), Array.isArray(e.plannedToolCalls) || t.push(
|
|
@@ -3510,14 +3523,14 @@ function Ke(e) {
|
|
|
3510
3523
|
}
|
|
3511
3524
|
}).filter((t) => !!t);
|
|
3512
3525
|
}
|
|
3513
|
-
function
|
|
3526
|
+
function ea(e, t, n, o) {
|
|
3514
3527
|
if (!e || typeof e != "object") {
|
|
3515
3528
|
n.push(
|
|
3516
3529
|
r("invalid_view", "Dashboard view must be an object.", t)
|
|
3517
3530
|
);
|
|
3518
3531
|
return;
|
|
3519
3532
|
}
|
|
3520
|
-
if (
|
|
3533
|
+
if (m(e.title) || n.push(
|
|
3521
3534
|
r("missing_view_title", "Dashboard view needs a title.", t)
|
|
3522
3535
|
), !e.presentation || typeof e.presentation != "object") {
|
|
3523
3536
|
n.push(
|
|
@@ -3530,7 +3543,7 @@ function Jn(e, t, n, o) {
|
|
|
3530
3543
|
return;
|
|
3531
3544
|
}
|
|
3532
3545
|
if (e.presentation.kind === "text") {
|
|
3533
|
-
|
|
3546
|
+
m(e.text) || o.push(
|
|
3534
3547
|
r(
|
|
3535
3548
|
"missing_text_content",
|
|
3536
3549
|
"Text views should include text content.",
|
|
@@ -3574,7 +3587,7 @@ function Jn(e, t, n, o) {
|
|
|
3574
3587
|
)
|
|
3575
3588
|
);
|
|
3576
3589
|
}
|
|
3577
|
-
function
|
|
3590
|
+
function Wa(e) {
|
|
3578
3591
|
const t = [], n = [];
|
|
3579
3592
|
if (!e || typeof e != "object")
|
|
3580
3593
|
return {
|
|
@@ -3591,7 +3604,7 @@ function Qa(e) {
|
|
|
3591
3604
|
r("invalid_version", "Dashboard intent version must be 1.")
|
|
3592
3605
|
), e.kind !== "dashboard" && t.push(
|
|
3593
3606
|
r("invalid_kind", "Experience intent kind must be dashboard.")
|
|
3594
|
-
),
|
|
3607
|
+
), m(e.title) || t.push(
|
|
3595
3608
|
r("missing_title", "Dashboard intent needs a title.", "title")
|
|
3596
3609
|
);
|
|
3597
3610
|
const o = Array.isArray(e.inputs) ? e.inputs : [], a = Ge(
|
|
@@ -3604,21 +3617,21 @@ function Qa(e) {
|
|
|
3604
3617
|
"inputs"
|
|
3605
3618
|
)
|
|
3606
3619
|
);
|
|
3607
|
-
for (const [c,
|
|
3608
|
-
const
|
|
3609
|
-
if (!f(
|
|
3620
|
+
for (const [c, p] of o.entries()) {
|
|
3621
|
+
const u = `inputs.${c}`;
|
|
3622
|
+
if (!f(p)) {
|
|
3610
3623
|
t.push(
|
|
3611
|
-
r("invalid_input", "Dashboard input must be an object.",
|
|
3624
|
+
r("invalid_input", "Dashboard input must be an object.", u)
|
|
3612
3625
|
);
|
|
3613
3626
|
continue;
|
|
3614
3627
|
}
|
|
3615
|
-
p
|
|
3616
|
-
r("missing_input_id", "Input needs an id.", `${
|
|
3617
|
-
), p
|
|
3618
|
-
r("missing_input_label", "Input needs a label.", `${
|
|
3619
|
-
), !
|
|
3620
|
-
r("missing_input_field", "Input needs a field.", `${
|
|
3621
|
-
) :
|
|
3628
|
+
m(p.id) || t.push(
|
|
3629
|
+
r("missing_input_id", "Input needs an id.", `${u}.id`)
|
|
3630
|
+
), m(p.label) || t.push(
|
|
3631
|
+
r("missing_input_label", "Input needs a label.", `${u}.label`)
|
|
3632
|
+
), !p.field || !m(p.field.name) ? t.push(
|
|
3633
|
+
r("missing_input_field", "Input needs a field.", `${u}.field`)
|
|
3634
|
+
) : y(p.field, `${u}.field`, t);
|
|
3622
3635
|
}
|
|
3623
3636
|
const s = Array.isArray(e.sections) ? e.sections : [];
|
|
3624
3637
|
s.length === 0 && t.push(
|
|
@@ -3629,7 +3642,7 @@ function Qa(e) {
|
|
|
3629
3642
|
)
|
|
3630
3643
|
);
|
|
3631
3644
|
const l = s.flatMap(
|
|
3632
|
-
(c) => c && typeof c == "object" && Array.isArray(c.views) ? c.views.filter(f).map((
|
|
3645
|
+
(c) => c && typeof c == "object" && Array.isArray(c.views) ? c.views.filter(f).map((p) => p.id).filter((p) => !!p) : []
|
|
3633
3646
|
), d = Ge(l);
|
|
3634
3647
|
d && t.push(
|
|
3635
3648
|
r(
|
|
@@ -3638,38 +3651,38 @@ function Qa(e) {
|
|
|
3638
3651
|
"sections"
|
|
3639
3652
|
)
|
|
3640
3653
|
);
|
|
3641
|
-
for (const [c,
|
|
3642
|
-
const
|
|
3643
|
-
if (!
|
|
3654
|
+
for (const [c, p] of s.entries()) {
|
|
3655
|
+
const u = `sections.${c}`;
|
|
3656
|
+
if (!p || typeof p != "object") {
|
|
3644
3657
|
t.push(
|
|
3645
3658
|
r(
|
|
3646
3659
|
"invalid_section",
|
|
3647
3660
|
"Dashboard section must be an object.",
|
|
3648
|
-
|
|
3661
|
+
u
|
|
3649
3662
|
)
|
|
3650
3663
|
);
|
|
3651
3664
|
continue;
|
|
3652
3665
|
}
|
|
3653
|
-
if (p
|
|
3666
|
+
if (m(p.title) || t.push(
|
|
3654
3667
|
r(
|
|
3655
3668
|
"missing_section_title",
|
|
3656
3669
|
"Dashboard section needs a title.",
|
|
3657
|
-
|
|
3670
|
+
u
|
|
3658
3671
|
)
|
|
3659
|
-
), !Array.isArray(
|
|
3672
|
+
), !Array.isArray(p.views) || p.views.length === 0) {
|
|
3660
3673
|
t.push(
|
|
3661
3674
|
r(
|
|
3662
3675
|
"missing_section_views",
|
|
3663
3676
|
"Dashboard section needs at least one view.",
|
|
3664
|
-
`${
|
|
3677
|
+
`${u}.views`
|
|
3665
3678
|
)
|
|
3666
3679
|
);
|
|
3667
3680
|
continue;
|
|
3668
3681
|
}
|
|
3669
|
-
for (const [_,
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
`${
|
|
3682
|
+
for (const [_, b] of p.views.entries())
|
|
3683
|
+
ea(
|
|
3684
|
+
b,
|
|
3685
|
+
`${u}.views.${_}`,
|
|
3673
3686
|
t,
|
|
3674
3687
|
n
|
|
3675
3688
|
);
|
|
@@ -3677,9 +3690,9 @@ function Qa(e) {
|
|
|
3677
3690
|
return { ok: t.length === 0, errors: t, warnings: n };
|
|
3678
3691
|
}
|
|
3679
3692
|
export {
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3693
|
+
Ba as $,
|
|
3694
|
+
Ua as A,
|
|
3695
|
+
Ei as B,
|
|
3683
3696
|
le as C,
|
|
3684
3697
|
Ci as D,
|
|
3685
3698
|
Ae as E,
|
|
@@ -3687,143 +3700,144 @@ export {
|
|
|
3687
3700
|
St as G,
|
|
3688
3701
|
ce as H,
|
|
3689
3702
|
It as I,
|
|
3690
|
-
|
|
3703
|
+
Ni as J,
|
|
3691
3704
|
F as K,
|
|
3692
3705
|
ji as L,
|
|
3693
|
-
|
|
3706
|
+
va as M,
|
|
3694
3707
|
dn as N,
|
|
3695
3708
|
kt as O,
|
|
3696
3709
|
Yi as P,
|
|
3697
3710
|
cn as Q,
|
|
3698
|
-
|
|
3711
|
+
aa as R,
|
|
3699
3712
|
gt as S,
|
|
3700
|
-
|
|
3713
|
+
oa as T,
|
|
3701
3714
|
Y as U,
|
|
3702
3715
|
Ye as V,
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3716
|
+
hn as W,
|
|
3717
|
+
xe as X,
|
|
3718
|
+
qe as Y,
|
|
3719
|
+
J as Z,
|
|
3720
|
+
kn as _,
|
|
3708
3721
|
Mt as a,
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3722
|
+
Fe as a$,
|
|
3723
|
+
Se as a0,
|
|
3724
|
+
Ot as a1,
|
|
3725
|
+
ia as a2,
|
|
3726
|
+
De as a3,
|
|
3727
|
+
z as a4,
|
|
3728
|
+
na as a5,
|
|
3729
|
+
Yt as a6,
|
|
3730
|
+
sa as a7,
|
|
3731
|
+
Bt as a8,
|
|
3732
|
+
qt as a9,
|
|
3733
|
+
zt as aA,
|
|
3734
|
+
he as aB,
|
|
3735
|
+
_e as aC,
|
|
3736
|
+
Qe as aD,
|
|
3737
|
+
Qt as aE,
|
|
3738
|
+
We as aF,
|
|
3739
|
+
Xe as aG,
|
|
3740
|
+
Ze as aH,
|
|
3741
|
+
Je as aI,
|
|
3742
|
+
et as aJ,
|
|
3730
3743
|
ra as aK,
|
|
3731
|
-
|
|
3732
|
-
|
|
3744
|
+
la as aL,
|
|
3745
|
+
j as aM,
|
|
3733
3746
|
da as aN,
|
|
3734
|
-
|
|
3735
|
-
|
|
3747
|
+
ua as aO,
|
|
3748
|
+
Ee as aP,
|
|
3736
3749
|
ca as aQ,
|
|
3737
3750
|
pa as aR,
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3751
|
+
ma as aS,
|
|
3752
|
+
ii as aT,
|
|
3753
|
+
ni as aU,
|
|
3741
3754
|
fa as aV,
|
|
3742
|
-
|
|
3755
|
+
ga as aW,
|
|
3743
3756
|
qa as aX,
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3757
|
+
La as aY,
|
|
3758
|
+
T as aZ,
|
|
3759
|
+
Rt as a_,
|
|
3760
|
+
me as aa,
|
|
3761
|
+
Hn as ab,
|
|
3762
|
+
Ka as ac,
|
|
3763
|
+
jt as ad,
|
|
3764
|
+
Jn as ae,
|
|
3752
3765
|
Qa as af,
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3766
|
+
Wa as ag,
|
|
3767
|
+
ve as ah,
|
|
3768
|
+
ke as ai,
|
|
3769
|
+
Si as aj,
|
|
3770
|
+
Ii as ak,
|
|
3771
|
+
st as al,
|
|
3772
|
+
xi as am,
|
|
3773
|
+
Fi as an,
|
|
3774
|
+
dt as ao,
|
|
3775
|
+
ut as ap,
|
|
3776
|
+
$e as aq,
|
|
3777
|
+
pt as ar,
|
|
3765
3778
|
ha as as,
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
3779
|
+
_a as at,
|
|
3780
|
+
Ut as au,
|
|
3781
|
+
O as av,
|
|
3782
|
+
R as aw,
|
|
3783
|
+
U as ax,
|
|
3784
|
+
te as ay,
|
|
3785
|
+
X as az,
|
|
3786
|
+
Sa as b,
|
|
3787
|
+
Tt as b0,
|
|
3788
|
+
Ha as b1,
|
|
3789
|
+
ft as b2,
|
|
3790
|
+
L as b3,
|
|
3791
|
+
Di as b4,
|
|
3792
|
+
H as b5,
|
|
3793
|
+
ya as b6,
|
|
3794
|
+
x as b7,
|
|
3795
|
+
Ri as b8,
|
|
3796
|
+
ba as b9,
|
|
3797
|
+
mt as ba,
|
|
3798
|
+
$ as bb,
|
|
3799
|
+
Ne as bc,
|
|
3800
|
+
Zi as bd,
|
|
3801
|
+
_n as be,
|
|
3802
|
+
Ma as bf,
|
|
3803
|
+
zi as bg,
|
|
3804
|
+
Oa as bh,
|
|
3805
|
+
Ca as bi,
|
|
3793
3806
|
Da as bj,
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
|
|
3807
|
+
Ea as bk,
|
|
3808
|
+
Xi as bl,
|
|
3809
|
+
Ji as bm,
|
|
3810
|
+
ja as bn,
|
|
3811
|
+
Na as bo,
|
|
3812
|
+
$a as bp,
|
|
3813
|
+
Ra as bq,
|
|
3814
|
+
ue as br,
|
|
3815
|
+
Ta as bs,
|
|
3816
|
+
bn as bt,
|
|
3817
|
+
Ie as bu,
|
|
3818
|
+
oi as bv,
|
|
3819
|
+
Ia as c,
|
|
3806
3820
|
Oi as d,
|
|
3807
3821
|
ht as e,
|
|
3808
|
-
|
|
3822
|
+
wa as f,
|
|
3809
3823
|
$i as g,
|
|
3810
|
-
|
|
3824
|
+
Aa as h,
|
|
3811
3825
|
Lt as i,
|
|
3812
|
-
|
|
3813
|
-
|
|
3826
|
+
xa as j,
|
|
3827
|
+
Fa as k,
|
|
3814
3828
|
de as l,
|
|
3815
3829
|
gn as m,
|
|
3816
|
-
|
|
3830
|
+
ka as n,
|
|
3817
3831
|
At as o,
|
|
3818
|
-
|
|
3832
|
+
Ga as p,
|
|
3819
3833
|
pe as q,
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3834
|
+
Pa as r,
|
|
3835
|
+
Mn as s,
|
|
3836
|
+
xn as t,
|
|
3837
|
+
Va as u,
|
|
3824
3838
|
re as v,
|
|
3825
3839
|
Pt as w,
|
|
3826
3840
|
mn as x,
|
|
3827
|
-
|
|
3828
|
-
|
|
3841
|
+
Ya as y,
|
|
3842
|
+
za as z
|
|
3829
3843
|
};
|