@fieldia/designer 0.26.1 → 0.27.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 +75 -0
- package/package.json +4 -4
- package/src/lib/answer-picker.d.mts +22 -0
- package/src/lib/answer-picker.d.ts +22 -0
- package/src/lib/answer-picker.js +104 -0
- package/src/lib/answer-picker.js.map +1 -0
- package/src/lib/answer-picker.mjs +99 -0
- package/src/lib/answer-picker.mjs.map +1 -0
- package/src/lib/canvas-form.js +2 -1
- package/src/lib/canvas-form.js.map +1 -1
- package/src/lib/canvas-form.mjs +2 -1
- package/src/lib/canvas-form.mjs.map +1 -1
- package/src/lib/chrome.js +15 -4
- package/src/lib/chrome.js.map +1 -1
- package/src/lib/chrome.mjs +15 -4
- package/src/lib/chrome.mjs.map +1 -1
- package/src/lib/clipboard-names.d.mts +1 -1
- package/src/lib/clipboard-names.d.ts +1 -1
- package/src/lib/clipboard-names.js +25 -4
- package/src/lib/clipboard-names.js.map +1 -1
- package/src/lib/clipboard-names.mjs +25 -4
- package/src/lib/clipboard-names.mjs.map +1 -1
- package/src/lib/columns-editor.d.mts +5 -2
- package/src/lib/columns-editor.d.ts +5 -2
- package/src/lib/columns-editor.js +144 -3
- package/src/lib/columns-editor.js.map +1 -1
- package/src/lib/columns-editor.mjs +144 -3
- package/src/lib/columns-editor.mjs.map +1 -1
- package/src/lib/condition-editor.d.mts +5 -1
- package/src/lib/condition-editor.d.ts +5 -1
- package/src/lib/condition-editor.js +5 -2
- package/src/lib/condition-editor.js.map +1 -1
- package/src/lib/condition-editor.mjs +5 -2
- package/src/lib/condition-editor.mjs.map +1 -1
- package/src/lib/conditions.d.mts +6 -2
- package/src/lib/conditions.d.ts +6 -2
- package/src/lib/conditions.js +9 -3
- package/src/lib/conditions.js.map +1 -1
- package/src/lib/conditions.mjs +9 -3
- package/src/lib/conditions.mjs.map +1 -1
- package/src/lib/designer.d.mts +43 -2
- package/src/lib/designer.d.ts +43 -2
- package/src/lib/designer.js +111 -14
- package/src/lib/designer.js.map +1 -1
- package/src/lib/designer.mjs +113 -16
- package/src/lib/designer.mjs.map +1 -1
- package/src/lib/endings-commands.d.mts +27 -0
- package/src/lib/endings-commands.d.ts +27 -0
- package/src/lib/endings-commands.js +58 -0
- package/src/lib/endings-commands.js.map +1 -0
- package/src/lib/endings-commands.mjs +55 -0
- package/src/lib/endings-commands.mjs.map +1 -0
- package/src/lib/endings-editor.d.mts +14 -0
- package/src/lib/endings-editor.d.ts +14 -0
- package/src/lib/endings-editor.js +131 -0
- package/src/lib/endings-editor.js.map +1 -0
- package/src/lib/endings-editor.mjs +128 -0
- package/src/lib/endings-editor.mjs.map +1 -0
- package/src/lib/head-parts.js +1 -1
- package/src/lib/head-parts.js.map +1 -1
- package/src/lib/head-parts.mjs +2 -2
- package/src/lib/head-parts.mjs.map +1 -1
- package/src/lib/json-checks.d.mts +2 -1
- package/src/lib/json-checks.d.ts +2 -1
- package/src/lib/json-checks.js +3 -3
- package/src/lib/json-checks.js.map +1 -1
- package/src/lib/json-checks.mjs +3 -3
- package/src/lib/json-checks.mjs.map +1 -1
- package/src/lib/json-view.js +1 -1
- package/src/lib/json-view.js.map +1 -1
- package/src/lib/json-view.mjs +1 -1
- package/src/lib/json-view.mjs.map +1 -1
- package/src/lib/kind-commands.d.mts +4 -0
- package/src/lib/kind-commands.d.ts +4 -0
- package/src/lib/kind-commands.js +19 -0
- package/src/lib/kind-commands.js.map +1 -1
- package/src/lib/kind-commands.mjs +19 -0
- package/src/lib/kind-commands.mjs.map +1 -1
- package/src/lib/kind-settings-structures.js +50 -3
- package/src/lib/kind-settings-structures.js.map +1 -1
- package/src/lib/kind-settings-structures.mjs +50 -3
- package/src/lib/kind-settings-structures.mjs.map +1 -1
- package/src/lib/kind-settings.js +48 -0
- package/src/lib/kind-settings.js.map +1 -1
- package/src/lib/kind-settings.mjs +48 -0
- package/src/lib/kind-settings.mjs.map +1 -1
- package/src/lib/kinds.d.mts +3 -2
- package/src/lib/kinds.d.ts +3 -2
- package/src/lib/kinds.js +3 -1
- package/src/lib/kinds.js.map +1 -1
- package/src/lib/kinds.mjs +3 -1
- package/src/lib/kinds.mjs.map +1 -1
- package/src/lib/limits-settings.d.mts +14 -0
- package/src/lib/limits-settings.d.ts +14 -0
- package/src/lib/limits-settings.js +66 -0
- package/src/lib/limits-settings.js.map +1 -0
- package/src/lib/limits-settings.mjs +63 -0
- package/src/lib/limits-settings.mjs.map +1 -0
- package/src/lib/list-commands.d.mts +21 -3
- package/src/lib/list-commands.d.ts +21 -3
- package/src/lib/list-commands.js +61 -9
- package/src/lib/list-commands.js.map +1 -1
- package/src/lib/list-commands.mjs +60 -8
- package/src/lib/list-commands.mjs.map +1 -1
- package/src/lib/list-properties.js +51 -4
- package/src/lib/list-properties.js.map +1 -1
- package/src/lib/list-properties.mjs +53 -6
- package/src/lib/list-properties.mjs.map +1 -1
- package/src/lib/list-rows-settings.js +1 -1
- package/src/lib/list-rows-settings.js.map +1 -1
- package/src/lib/list-rows-settings.mjs +1 -1
- package/src/lib/list-rows-settings.mjs.map +1 -1
- package/src/lib/list-source.d.mts +2 -2
- package/src/lib/list-source.d.ts +2 -2
- package/src/lib/list-source.js +55 -9
- package/src/lib/list-source.js.map +1 -1
- package/src/lib/list-source.mjs +55 -9
- package/src/lib/list-source.mjs.map +1 -1
- package/src/lib/locales/ar/changes.js +2 -0
- package/src/lib/locales/ar/changes.js.map +1 -1
- package/src/lib/locales/ar/changes.mjs +2 -0
- package/src/lib/locales/ar/changes.mjs.map +1 -1
- package/src/lib/locales/ar/checks.js +1 -0
- package/src/lib/locales/ar/checks.js.map +1 -1
- package/src/lib/locales/ar/checks.mjs +1 -0
- package/src/lib/locales/ar/checks.mjs.map +1 -1
- package/src/lib/locales/ar/endings.d.mts +3 -0
- package/src/lib/locales/ar/endings.d.ts +3 -0
- package/src/lib/locales/ar/endings.js +40 -0
- package/src/lib/locales/ar/endings.js.map +1 -0
- package/src/lib/locales/ar/endings.mjs +37 -0
- package/src/lib/locales/ar/endings.mjs.map +1 -0
- package/src/lib/locales/ar/index.js +2 -1
- package/src/lib/locales/ar/index.js.map +1 -1
- package/src/lib/locales/ar/index.mjs +2 -1
- package/src/lib/locales/ar/index.mjs.map +1 -1
- package/src/lib/locales/ar/list.js +9 -1
- package/src/lib/locales/ar/list.js.map +1 -1
- package/src/lib/locales/ar/list.mjs +9 -1
- package/src/lib/locales/ar/list.mjs.map +1 -1
- package/src/lib/locales/ar/options.js +4 -0
- package/src/lib/locales/ar/options.js.map +1 -1
- package/src/lib/locales/ar/options.mjs +4 -0
- package/src/lib/locales/ar/options.mjs.map +1 -1
- package/src/lib/locales/ar/panel.js +20 -0
- package/src/lib/locales/ar/panel.js.map +1 -1
- package/src/lib/locales/ar/panel.mjs +20 -0
- package/src/lib/locales/ar/panel.mjs.map +1 -1
- package/src/lib/locales/ar/questions.js +24 -1
- package/src/lib/locales/ar/questions.js.map +1 -1
- package/src/lib/locales/ar/questions.mjs +24 -1
- package/src/lib/locales/ar/questions.mjs.map +1 -1
- package/src/lib/locales/ar/refusals.js +15 -2
- package/src/lib/locales/ar/refusals.js.map +1 -1
- package/src/lib/locales/ar/refusals.mjs +15 -2
- package/src/lib/locales/ar/refusals.mjs.map +1 -1
- package/src/lib/locales/ar/rules-ui.js +21 -1
- package/src/lib/locales/ar/rules-ui.js.map +1 -1
- package/src/lib/locales/ar/rules-ui.mjs +21 -1
- package/src/lib/locales/ar/rules-ui.mjs.map +1 -1
- package/src/lib/locales/ar/rules.js +4 -0
- package/src/lib/locales/ar/rules.js.map +1 -1
- package/src/lib/locales/ar/rules.mjs +4 -0
- package/src/lib/locales/ar/rules.mjs.map +1 -1
- package/src/lib/locales/en/changes.d.mts +2 -0
- package/src/lib/locales/en/changes.d.ts +2 -0
- package/src/lib/locales/en/changes.js +2 -0
- package/src/lib/locales/en/changes.js.map +1 -1
- package/src/lib/locales/en/changes.mjs +2 -0
- package/src/lib/locales/en/changes.mjs.map +1 -1
- package/src/lib/locales/en/checks.d.mts +2 -0
- package/src/lib/locales/en/checks.d.ts +2 -0
- package/src/lib/locales/en/checks.js +2 -0
- package/src/lib/locales/en/checks.js.map +1 -1
- package/src/lib/locales/en/checks.mjs +2 -0
- package/src/lib/locales/en/checks.mjs.map +1 -1
- package/src/lib/locales/en/endings.d.mts +38 -0
- package/src/lib/locales/en/endings.d.ts +38 -0
- package/src/lib/locales/en/endings.js +44 -0
- package/src/lib/locales/en/endings.js.map +1 -0
- package/src/lib/locales/en/endings.mjs +41 -0
- package/src/lib/locales/en/endings.mjs.map +1 -0
- package/src/lib/locales/en/index.d.mts +127 -1
- package/src/lib/locales/en/index.d.ts +127 -1
- package/src/lib/locales/en/index.js +2 -1
- package/src/lib/locales/en/index.js.map +1 -1
- package/src/lib/locales/en/index.mjs +2 -1
- package/src/lib/locales/en/index.mjs.map +1 -1
- package/src/lib/locales/en/list.d.mts +8 -0
- package/src/lib/locales/en/list.d.ts +8 -0
- package/src/lib/locales/en/list.js +9 -1
- package/src/lib/locales/en/list.js.map +1 -1
- package/src/lib/locales/en/list.mjs +9 -1
- package/src/lib/locales/en/list.mjs.map +1 -1
- package/src/lib/locales/en/options.d.mts +6 -0
- package/src/lib/locales/en/options.d.ts +6 -0
- package/src/lib/locales/en/options.js +6 -0
- package/src/lib/locales/en/options.js.map +1 -1
- package/src/lib/locales/en/options.mjs +6 -0
- package/src/lib/locales/en/options.mjs.map +1 -1
- package/src/lib/locales/en/panel.d.mts +13 -0
- package/src/lib/locales/en/panel.d.ts +13 -0
- package/src/lib/locales/en/panel.js +13 -0
- package/src/lib/locales/en/panel.js.map +1 -1
- package/src/lib/locales/en/panel.mjs +13 -0
- package/src/lib/locales/en/panel.mjs.map +1 -1
- package/src/lib/locales/en/questions.d.mts +25 -0
- package/src/lib/locales/en/questions.d.ts +25 -0
- package/src/lib/locales/en/questions.js +25 -1
- package/src/lib/locales/en/questions.js.map +1 -1
- package/src/lib/locales/en/questions.mjs +25 -1
- package/src/lib/locales/en/questions.mjs.map +1 -1
- package/src/lib/locales/en/refusals.d.mts +13 -0
- package/src/lib/locales/en/refusals.d.ts +13 -0
- package/src/lib/locales/en/refusals.js +15 -2
- package/src/lib/locales/en/refusals.js.map +1 -1
- package/src/lib/locales/en/refusals.mjs +15 -2
- package/src/lib/locales/en/refusals.mjs.map +1 -1
- package/src/lib/locales/en/rules-ui.d.mts +29 -1
- package/src/lib/locales/en/rules-ui.d.ts +29 -1
- package/src/lib/locales/en/rules-ui.js +23 -1
- package/src/lib/locales/en/rules-ui.js.map +1 -1
- package/src/lib/locales/en/rules-ui.mjs +23 -1
- package/src/lib/locales/en/rules-ui.mjs.map +1 -1
- package/src/lib/locales/en/rules.d.mts +3 -0
- package/src/lib/locales/en/rules.d.ts +3 -0
- package/src/lib/locales/en/rules.js +4 -0
- package/src/lib/locales/en/rules.js.map +1 -1
- package/src/lib/locales/en/rules.mjs +4 -0
- package/src/lib/locales/en/rules.mjs.map +1 -1
- package/src/lib/option-when.d.mts +32 -0
- package/src/lib/option-when.d.ts +32 -0
- package/src/lib/option-when.js +110 -0
- package/src/lib/option-when.js.map +1 -0
- package/src/lib/option-when.mjs +106 -0
- package/src/lib/option-when.mjs.map +1 -0
- package/src/lib/page-checks.d.mts +2 -1
- package/src/lib/page-checks.d.ts +2 -1
- package/src/lib/page-checks.js +14 -2
- package/src/lib/page-checks.js.map +1 -1
- package/src/lib/page-checks.mjs +15 -3
- package/src/lib/page-checks.mjs.map +1 -1
- package/src/lib/page-json.d.mts +5 -3
- package/src/lib/page-json.d.ts +5 -3
- package/src/lib/page-json.js +4 -4
- package/src/lib/page-json.js.map +1 -1
- package/src/lib/page-json.mjs +4 -4
- package/src/lib/page-json.mjs.map +1 -1
- package/src/lib/page-tree.js +3 -3
- package/src/lib/page-tree.js.map +1 -1
- package/src/lib/page-tree.mjs +4 -4
- package/src/lib/page-tree.mjs.map +1 -1
- package/src/lib/panel-block.js +3 -1
- package/src/lib/panel-block.js.map +1 -1
- package/src/lib/panel-block.mjs +3 -1
- package/src/lib/panel-block.mjs.map +1 -1
- package/src/lib/panel-field.js +4 -1
- package/src/lib/panel-field.js.map +1 -1
- package/src/lib/panel-field.mjs +4 -1
- package/src/lib/panel-field.mjs.map +1 -1
- package/src/lib/panel-page.js +16 -2
- package/src/lib/panel-page.js.map +1 -1
- package/src/lib/panel-page.mjs +16 -2
- package/src/lib/panel-page.mjs.map +1 -1
- package/src/lib/placeholder-when.js +2 -2
- package/src/lib/placeholder-when.js.map +1 -1
- package/src/lib/placeholder-when.mjs +2 -2
- package/src/lib/placeholder-when.mjs.map +1 -1
- package/src/lib/rules-answers.js +10 -4
- package/src/lib/rules-answers.js.map +1 -1
- package/src/lib/rules-answers.mjs +11 -5
- package/src/lib/rules-answers.mjs.map +1 -1
- package/src/lib/rules-checks.d.mts +2 -2
- package/src/lib/rules-checks.d.ts +2 -2
- package/src/lib/rules-checks.js +23 -3
- package/src/lib/rules-checks.js.map +1 -1
- package/src/lib/rules-checks.mjs +24 -4
- package/src/lib/rules-checks.mjs.map +1 -1
- package/src/lib/rules-commands.d.mts +5 -3
- package/src/lib/rules-commands.d.ts +5 -3
- package/src/lib/rules-commands.js +17 -17
- package/src/lib/rules-commands.js.map +1 -1
- package/src/lib/rules-commands.mjs +17 -17
- package/src/lib/rules-commands.mjs.map +1 -1
- package/src/lib/rules-defaults.js +3 -1
- package/src/lib/rules-defaults.js.map +1 -1
- package/src/lib/rules-defaults.mjs +3 -1
- package/src/lib/rules-defaults.mjs.map +1 -1
- package/src/lib/rules-formula-box.d.mts +4 -2
- package/src/lib/rules-formula-box.d.ts +4 -2
- package/src/lib/rules-formula-box.js +3 -1
- package/src/lib/rules-formula-box.js.map +1 -1
- package/src/lib/rules-formula-box.mjs +3 -1
- package/src/lib/rules-formula-box.mjs.map +1 -1
- package/src/lib/rules-formula.d.mts +13 -6
- package/src/lib/rules-formula.d.ts +13 -6
- package/src/lib/rules-formula.js +65 -24
- package/src/lib/rules-formula.js.map +1 -1
- package/src/lib/rules-formula.mjs +65 -25
- package/src/lib/rules-formula.mjs.map +1 -1
- package/src/lib/rules-sample.d.mts +4 -2
- package/src/lib/rules-sample.d.ts +4 -2
- package/src/lib/rules-sample.js +5 -4
- package/src/lib/rules-sample.js.map +1 -1
- package/src/lib/rules-sample.mjs +5 -4
- package/src/lib/rules-sample.mjs.map +1 -1
- package/src/lib/rules-worked-out.js +72 -17
- package/src/lib/rules-worked-out.js.map +1 -1
- package/src/lib/rules-worked-out.mjs +73 -18
- package/src/lib/rules-worked-out.mjs.map +1 -1
- package/src/lib/screen-canvas.js +3 -1
- package/src/lib/screen-canvas.js.map +1 -1
- package/src/lib/screen-canvas.mjs +3 -1
- package/src/lib/screen-canvas.mjs.map +1 -1
- package/src/lib/steps-commands.d.mts +5 -3
- package/src/lib/steps-commands.d.ts +5 -3
- package/src/lib/steps-commands.js +5 -5
- package/src/lib/steps-commands.js.map +1 -1
- package/src/lib/steps-commands.mjs +5 -5
- package/src/lib/steps-commands.mjs.map +1 -1
- package/src/lib/steps-editor.js +3 -2
- package/src/lib/steps-editor.js.map +1 -1
- package/src/lib/steps-editor.mjs +3 -2
- package/src/lib/steps-editor.mjs.map +1 -1
- package/src/lib/steps-map.d.mts +3 -1
- package/src/lib/steps-map.d.ts +3 -1
- package/src/lib/steps-map.js +1 -1
- package/src/lib/steps-map.js.map +1 -1
- package/src/lib/steps-map.mjs +1 -1
- package/src/lib/steps-map.mjs.map +1 -1
- package/src/lib/steps-settings.d.mts +3 -1
- package/src/lib/steps-settings.d.ts +3 -1
- package/src/lib/steps-settings.js +5 -2
- package/src/lib/steps-settings.js.map +1 -1
- package/src/lib/steps-settings.mjs +5 -2
- package/src/lib/steps-settings.mjs.map +1 -1
- package/src/lib/styles-endings.d.mts +6 -0
- package/src/lib/styles-endings.d.ts +6 -0
- package/src/lib/styles-endings.js +42 -0
- package/src/lib/styles-endings.js.map +1 -0
- package/src/lib/styles-endings.mjs +39 -0
- package/src/lib/styles-endings.mjs.map +1 -0
- package/src/lib/styles-kinds.d.mts +1 -1
- package/src/lib/styles-kinds.d.ts +1 -1
- package/src/lib/styles-kinds.js +1 -0
- package/src/lib/styles-kinds.js.map +1 -1
- package/src/lib/styles-kinds.mjs +1 -0
- package/src/lib/styles-kinds.mjs.map +1 -1
- package/src/lib/styles-rules.d.mts +1 -1
- package/src/lib/styles-rules.d.ts +1 -1
- package/src/lib/styles-rules.js +6 -1
- package/src/lib/styles-rules.js.map +1 -1
- package/src/lib/styles-rules.mjs +6 -1
- package/src/lib/styles-rules.mjs.map +1 -1
- package/src/lib/styles.d.mts +1 -1
- package/src/lib/styles.d.ts +1 -1
- package/src/lib/styles.js +18 -2
- package/src/lib/styles.js.map +1 -1
- package/src/lib/styles.mjs +18 -2
- package/src/lib/styles.mjs.map +1 -1
- package/src/lib/survey-editor.js +14 -4
- package/src/lib/survey-editor.js.map +1 -1
- package/src/lib/survey-editor.mjs +14 -4
- package/src/lib/survey-editor.mjs.map +1 -1
- package/src/lib/table-commands.d.mts +4 -2
- package/src/lib/table-commands.d.ts +4 -2
- package/src/lib/table-commands.js +4 -3
- package/src/lib/table-commands.js.map +1 -1
- package/src/lib/table-commands.mjs +4 -3
- package/src/lib/table-commands.mjs.map +1 -1
- package/src/lib/try-it.js +2 -0
- package/src/lib/try-it.js.map +1 -1
- package/src/lib/try-it.mjs +2 -0
- package/src/lib/try-it.mjs.map +1 -1
- package/src/lib/uncalled.d.mts +7 -0
- package/src/lib/uncalled.d.ts +7 -0
- package/src/lib/uncalled.js +21 -0
- package/src/lib/uncalled.js.map +1 -0
- package/src/lib/uncalled.mjs +18 -0
- package/src/lib/uncalled.mjs.map +1 -0
- package/src/lib/validate-edit.d.mts +3 -2
- package/src/lib/validate-edit.d.ts +3 -2
- package/src/lib/validate-edit.js +4 -3
- package/src/lib/validate-edit.js.map +1 -1
- package/src/lib/validate-edit.mjs +4 -3
- package/src/lib/validate-edit.mjs.map +1 -1
package/src/lib/rules-formula.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.formulaTokens = formulaTokens;
|
|
4
4
|
exports.problemWords = problemWords;
|
|
5
5
|
exports.formulaProblem = formulaProblem;
|
|
6
|
+
exports.formulaAdvice = formulaAdvice;
|
|
6
7
|
exports.fieldsReadBy = fieldsReadBy;
|
|
7
8
|
exports.wouldCircle = wouldCircle;
|
|
8
9
|
exports.literalOf = literalOf;
|
|
@@ -12,6 +13,7 @@ exports.formulaInWords = formulaInWords;
|
|
|
12
13
|
exports.sampleResult = sampleResult;
|
|
13
14
|
exports.sampleHolds = sampleHolds;
|
|
14
15
|
const core_1 = require("@fieldia/core");
|
|
16
|
+
const uncalled_1 = require("./uncalled");
|
|
15
17
|
const en_1 = require("./locales/en");
|
|
16
18
|
/** The same pieces, in the same order, as the page's own reader takes them: a number in Arabic or Persian digits too, with ٫. */
|
|
17
19
|
const PIECE = /(\(|\)|,|==|!=|<=|>=|<>|<|>|[-+*/%]|not\s+in\b|in\b|and\b|or\b|not\b|\[[^\]]*\]|'[^']*'|"[^"]*"|[\d\u0660-\u0669\u06f0-\u06f9]+[.\u066b]?[\d\u0660-\u0669\u06f0-\u06f9]*|\w+(?:\.\w+)*)/iy;
|
|
@@ -70,10 +72,19 @@ function problemWords(problem, words = en_1.en) {
|
|
|
70
72
|
const place = (token) => ({ from: token.from + 1, to: token.to });
|
|
71
73
|
/** A field called as a function is a function: "round(" is not a field "round". */
|
|
72
74
|
const calls = (tokens, i) => tokens[i + 1]?.kind === 'open';
|
|
73
|
-
/**
|
|
74
|
-
function
|
|
75
|
+
/** The app's functions as a formula calls them; none when their names cannot be (the designer was given a name no page may call). */
|
|
76
|
+
function tableOf(functions) {
|
|
75
77
|
try {
|
|
76
|
-
(0, core_1.
|
|
78
|
+
return (0, core_1.functionTable)(functions);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/** Whether it reads at all: the page's own reader, with the app's functions, stopped where it stops. */
|
|
85
|
+
function readError(source, functions) {
|
|
86
|
+
try {
|
|
87
|
+
(0, core_1.compileModifier)(source, tableOf(functions));
|
|
77
88
|
return null;
|
|
78
89
|
}
|
|
79
90
|
catch (error) {
|
|
@@ -85,18 +96,20 @@ const ranOut = (message) => /EOF|^Expected/.test(message);
|
|
|
85
96
|
/**
|
|
86
97
|
* What is wrong with a formula on this page, or null when it reads: a sign it
|
|
87
98
|
* cannot hold, a piece out of place, something missing, a function there is
|
|
88
|
-
* not or given too many values, a
|
|
99
|
+
* not — Fieldia's or the app's (`functions`) — or given too many values, a
|
|
100
|
+
* field the page does not have. A value of a kind a function does not take
|
|
101
|
+
* stops nothing: `formulaAdvice` says it.
|
|
89
102
|
*/
|
|
90
|
-
function formulaProblem(page, source, words = en_1.en) {
|
|
103
|
+
function formulaProblem(page, source, words = en_1.en, functions) {
|
|
91
104
|
const w = words.rules;
|
|
92
105
|
if (!source.trim())
|
|
93
106
|
return { words: w.typeAFormula };
|
|
94
107
|
const tokens = formulaTokens(source);
|
|
95
108
|
if (!Array.isArray(tokens))
|
|
96
109
|
return { words: w.cannotBeIn(source[tokens.bad]), from: tokens.bad + 1, to: tokens.bad + 1 };
|
|
97
|
-
const message = readError(source);
|
|
110
|
+
const message = readError(source, functions);
|
|
98
111
|
if (message !== null)
|
|
99
|
-
return whereItStops(source, tokens, message, words);
|
|
112
|
+
return whereItStops(source, tokens, message, words, functions);
|
|
100
113
|
// It reads: each name must be a field of the page.
|
|
101
114
|
for (const [i, token] of tokens.entries()) {
|
|
102
115
|
if (token.kind !== 'name' || calls(tokens, i))
|
|
@@ -116,12 +129,36 @@ function formulaProblem(page, source, words = en_1.en) {
|
|
|
116
129
|
}
|
|
117
130
|
return null;
|
|
118
131
|
}
|
|
119
|
-
|
|
132
|
+
/**
|
|
133
|
+
* What a formula that reads hands a function of a kind it does not take, in words and where — "“age” takes a date:
|
|
134
|
+
* Notes is text" — or null. Said, never refused: such a call gives nothing, as it did before kinds were read.
|
|
135
|
+
*/
|
|
136
|
+
function formulaAdvice(page, source, words = en_1.en, functions) {
|
|
137
|
+
const tokens = formulaTokens(source);
|
|
138
|
+
if (!Array.isArray(tokens) || readError(source, functions) !== null)
|
|
139
|
+
return null;
|
|
140
|
+
const kind = (0, core_1.kindProblems)((0, core_1.parseExpression)(source, tableOf(functions)), { fields: page.fields }, functions)[0];
|
|
141
|
+
return kind ? kindSaid(page, tokens, kind, words) : null;
|
|
142
|
+
}
|
|
143
|
+
/** A value of a kind a function does not take, in words — a field by its label — and where it is. */
|
|
144
|
+
function kindSaid(page, tokens, problem, words) {
|
|
145
|
+
const w = words.rules;
|
|
146
|
+
const given = problem.given;
|
|
147
|
+
const at = given.type === 'Identifier' || given.type === 'Call'
|
|
148
|
+
? tokens.find((t, i) => t.kind === 'name' && t.text === given.name && calls(tokens, i) === (given.type === 'Call'))
|
|
149
|
+
: given.type === 'Literal'
|
|
150
|
+
? tokens.find((t) => (t.kind === 'text' || t.kind === 'number' || t.kind === 'word' || t.kind === 'list') && literalOf(t.text)?.value === given.value)
|
|
151
|
+
: undefined;
|
|
152
|
+
const said = given.type === 'Identifier' && page.fields[given.name] ? labelOf(page, given.name) : given.type === 'Call' ? `${given.name}(…)` : (at?.text ?? '');
|
|
153
|
+
const text = w.wrongKind(problem.name, problem.wants, said, problem.got);
|
|
154
|
+
return at ? { words: text, ...place(at) } : { words: text };
|
|
155
|
+
}
|
|
156
|
+
function whereItStops(source, tokens, message, words, functions) {
|
|
120
157
|
const w = words.rules;
|
|
121
158
|
const named = /^no function "(\w+)"/.exec(message) ?? /^(\w+) takes /.exec(message) ?? /^(sum) takes the name/.exec(message);
|
|
122
159
|
if (named) {
|
|
123
160
|
// The call the reader stopped at: the last one of that name before where it stopped.
|
|
124
|
-
const at = firstFailing(source, tokens);
|
|
161
|
+
const at = firstFailing(source, tokens, functions);
|
|
125
162
|
const name = [...tokens.slice(0, at + 1)].reverse().find((t) => t.kind === 'name' && t.text === named[1]) ?? tokens.find((t) => t.text === named[1]);
|
|
126
163
|
const said = /^no function/.test(message) ? w.unknownFunction(named[1]) : w.takes(named[1], message.slice(named[1].length));
|
|
127
164
|
return name ? { words: said, ...place(name) } : { words: said };
|
|
@@ -133,13 +170,13 @@ function whereItStops(source, tokens, message, words) {
|
|
|
133
170
|
const last = tokens[tokens.length - 1];
|
|
134
171
|
return { words: w.missingAfter(last.text), ...place(last) };
|
|
135
172
|
}
|
|
136
|
-
const token = tokens[firstFailing(source, tokens)];
|
|
173
|
+
const token = tokens[firstFailing(source, tokens, functions)];
|
|
137
174
|
return { words: w.outOfPlace(token.text), ...place(token) };
|
|
138
175
|
}
|
|
139
176
|
/** The first piece the formula cannot go on from: up to it, the formula reads, or only runs out. */
|
|
140
|
-
function firstFailing(source, tokens) {
|
|
177
|
+
function firstFailing(source, tokens, functions) {
|
|
141
178
|
for (let i = 0; i < tokens.length; i++) {
|
|
142
|
-
const message = readError(source.slice(0, tokens[i].to));
|
|
179
|
+
const message = readError(source.slice(0, tokens[i].to), functions);
|
|
143
180
|
if (message !== null && !ranOut(message))
|
|
144
181
|
return i;
|
|
145
182
|
}
|
|
@@ -156,12 +193,12 @@ function unclosed(tokens) {
|
|
|
156
193
|
}
|
|
157
194
|
return open[0];
|
|
158
195
|
}
|
|
159
|
-
/** The fields a formula reads, by name, once each; none when it cannot be read. */
|
|
196
|
+
/** The fields a formula reads, by name, once each, whatever functions it calls; none when it cannot be read. */
|
|
160
197
|
function fieldsReadBy(source) {
|
|
161
198
|
if (typeof source !== 'string')
|
|
162
199
|
return [];
|
|
163
200
|
try {
|
|
164
|
-
return [...(0, core_1.compileModifier)(source).fields];
|
|
201
|
+
return [...(0, core_1.compileModifier)(source, core_1.ANY_FUNCTION).fields];
|
|
165
202
|
}
|
|
166
203
|
catch {
|
|
167
204
|
return [];
|
|
@@ -313,11 +350,15 @@ function samplesFor(page, reads) {
|
|
|
313
350
|
}
|
|
314
351
|
return values;
|
|
315
352
|
}
|
|
316
|
-
/**
|
|
317
|
-
|
|
353
|
+
/**
|
|
354
|
+
* The values as a form settles them on these fields, worked-out ones worked out; null when they cannot be. The app's
|
|
355
|
+
* functions are known, never called: on made-up values one gives nothing.
|
|
356
|
+
*/
|
|
357
|
+
function settled(fields, values, functions) {
|
|
318
358
|
const trial = { fieldia: '0.1', id: 'sample', data: { kind: 'responses' }, fields, layout: { type: 'sections', id: 'root', children: [] } };
|
|
359
|
+
const known = (0, uncalled_1.uncalled)(functions);
|
|
319
360
|
try {
|
|
320
|
-
return (0, core_1.createForm)({ page: trial, values: values }).getState().values;
|
|
361
|
+
return (0, core_1.createForm)({ page: trial, values: values, ...(known ? { functions: known } : {}) }).getState().values;
|
|
321
362
|
}
|
|
322
363
|
catch {
|
|
323
364
|
return null;
|
|
@@ -330,14 +371,14 @@ const givenWords = (page, reads, values, words) => reads.map((name) => words.rul
|
|
|
330
371
|
* (a whole number rounded, text as text): "With Price 120 and Quantity 3:
|
|
331
372
|
* 360". Empty when the formula does not read.
|
|
332
373
|
*/
|
|
333
|
-
function sampleResult(page, own, source, words = en_1.en) {
|
|
334
|
-
if (formulaProblem(page, source) || wouldCircle(page, own, source))
|
|
374
|
+
function sampleResult(page, own, source, words = en_1.en, functions) {
|
|
375
|
+
if (formulaProblem(page, source, en_1.en, functions) || wouldCircle(page, own, source))
|
|
335
376
|
return '';
|
|
336
377
|
const reads = fieldsReadBy(source).filter((name) => name !== own && page.fields[name]);
|
|
337
378
|
const target = page.fields[own];
|
|
338
379
|
if (!target)
|
|
339
380
|
return '';
|
|
340
|
-
const worked = settled({ ...page.fields, [own]: { ...target, compute: source } }, samplesFor(page, reads));
|
|
381
|
+
const worked = settled({ ...page.fields, [own]: { ...target, compute: source } }, samplesFor(page, reads), functions);
|
|
341
382
|
if (!worked)
|
|
342
383
|
return '';
|
|
343
384
|
const result = worked[own];
|
|
@@ -351,15 +392,15 @@ function sampleResult(page, own, source, words = en_1.en) {
|
|
|
351
392
|
* it: "With Contract ends 2026-03-14 and Start date 2026-03-01: holds".
|
|
352
393
|
* Empty when the formula does not read.
|
|
353
394
|
*/
|
|
354
|
-
function sampleHolds(page, source, words = en_1.en) {
|
|
395
|
+
function sampleHolds(page, source, words = en_1.en, functions) {
|
|
355
396
|
const w = words.rules;
|
|
356
|
-
if (formulaProblem(page, source))
|
|
397
|
+
if (formulaProblem(page, source, en_1.en, functions))
|
|
357
398
|
return '';
|
|
358
399
|
const reads = fieldsReadBy(source).filter((name) => page.fields[name]);
|
|
359
|
-
const worked = settled(page.fields, samplesFor(page, reads));
|
|
400
|
+
const worked = settled(page.fields, samplesFor(page, reads), functions);
|
|
360
401
|
if (!worked)
|
|
361
402
|
return '';
|
|
362
|
-
const holds = (0, core_1.compileModifier)(source).evaluate(worked);
|
|
403
|
+
const holds = (0, core_1.compileModifier)(source, core_1.ANY_FUNCTION).evaluate(worked);
|
|
363
404
|
if (!reads.length)
|
|
364
405
|
return holds ? w.alwaysHolds : w.neverHolds;
|
|
365
406
|
// The form waits for every field a rule reads: one with no made-up value is said so.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-formula.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-formula.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rules-formula.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-formula.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { compileModifier, createForm, foldDigits } from '@fieldia/core';
|
|
1
|
+
import { ANY_FUNCTION, compileModifier, createForm, foldDigits, functionTable, kindProblems, parseExpression } from '@fieldia/core';
|
|
2
|
+
import { uncalled } from './uncalled.mjs';
|
|
2
3
|
import { en } from './locales/en/index.mjs';
|
|
3
4
|
/** The same pieces, in the same order, as the page's own reader takes them: a number in Arabic or Persian digits too, with ٫. */
|
|
4
5
|
const PIECE = /(\(|\)|,|==|!=|<=|>=|<>|<|>|[-+*/%]|not\s+in\b|in\b|and\b|or\b|not\b|\[[^\]]*\]|'[^']*'|"[^"]*"|[\d\u0660-\u0669\u06f0-\u06f9]+[.\u066b]?[\d\u0660-\u0669\u06f0-\u06f9]*|\w+(?:\.\w+)*)/iy;
|
|
@@ -57,10 +58,19 @@ export function problemWords(problem, words = en) {
|
|
|
57
58
|
const place = (token) => ({ from: token.from + 1, to: token.to });
|
|
58
59
|
/** A field called as a function is a function: "round(" is not a field "round". */
|
|
59
60
|
const calls = (tokens, i) => tokens[i + 1]?.kind === 'open';
|
|
60
|
-
/**
|
|
61
|
-
function
|
|
61
|
+
/** The app's functions as a formula calls them; none when their names cannot be (the designer was given a name no page may call). */
|
|
62
|
+
function tableOf(functions) {
|
|
62
63
|
try {
|
|
63
|
-
|
|
64
|
+
return functionTable(functions);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** Whether it reads at all: the page's own reader, with the app's functions, stopped where it stops. */
|
|
71
|
+
function readError(source, functions) {
|
|
72
|
+
try {
|
|
73
|
+
compileModifier(source, tableOf(functions));
|
|
64
74
|
return null;
|
|
65
75
|
}
|
|
66
76
|
catch (error) {
|
|
@@ -72,18 +82,20 @@ const ranOut = (message) => /EOF|^Expected/.test(message);
|
|
|
72
82
|
/**
|
|
73
83
|
* What is wrong with a formula on this page, or null when it reads: a sign it
|
|
74
84
|
* cannot hold, a piece out of place, something missing, a function there is
|
|
75
|
-
* not or given too many values, a
|
|
85
|
+
* not — Fieldia's or the app's (`functions`) — or given too many values, a
|
|
86
|
+
* field the page does not have. A value of a kind a function does not take
|
|
87
|
+
* stops nothing: `formulaAdvice` says it.
|
|
76
88
|
*/
|
|
77
|
-
export function formulaProblem(page, source, words = en) {
|
|
89
|
+
export function formulaProblem(page, source, words = en, functions) {
|
|
78
90
|
const w = words.rules;
|
|
79
91
|
if (!source.trim())
|
|
80
92
|
return { words: w.typeAFormula };
|
|
81
93
|
const tokens = formulaTokens(source);
|
|
82
94
|
if (!Array.isArray(tokens))
|
|
83
95
|
return { words: w.cannotBeIn(source[tokens.bad]), from: tokens.bad + 1, to: tokens.bad + 1 };
|
|
84
|
-
const message = readError(source);
|
|
96
|
+
const message = readError(source, functions);
|
|
85
97
|
if (message !== null)
|
|
86
|
-
return whereItStops(source, tokens, message, words);
|
|
98
|
+
return whereItStops(source, tokens, message, words, functions);
|
|
87
99
|
// It reads: each name must be a field of the page.
|
|
88
100
|
for (const [i, token] of tokens.entries()) {
|
|
89
101
|
if (token.kind !== 'name' || calls(tokens, i))
|
|
@@ -103,12 +115,36 @@ export function formulaProblem(page, source, words = en) {
|
|
|
103
115
|
}
|
|
104
116
|
return null;
|
|
105
117
|
}
|
|
106
|
-
|
|
118
|
+
/**
|
|
119
|
+
* What a formula that reads hands a function of a kind it does not take, in words and where — "“age” takes a date:
|
|
120
|
+
* Notes is text" — or null. Said, never refused: such a call gives nothing, as it did before kinds were read.
|
|
121
|
+
*/
|
|
122
|
+
export function formulaAdvice(page, source, words = en, functions) {
|
|
123
|
+
const tokens = formulaTokens(source);
|
|
124
|
+
if (!Array.isArray(tokens) || readError(source, functions) !== null)
|
|
125
|
+
return null;
|
|
126
|
+
const kind = kindProblems(parseExpression(source, tableOf(functions)), { fields: page.fields }, functions)[0];
|
|
127
|
+
return kind ? kindSaid(page, tokens, kind, words) : null;
|
|
128
|
+
}
|
|
129
|
+
/** A value of a kind a function does not take, in words — a field by its label — and where it is. */
|
|
130
|
+
function kindSaid(page, tokens, problem, words) {
|
|
131
|
+
const w = words.rules;
|
|
132
|
+
const given = problem.given;
|
|
133
|
+
const at = given.type === 'Identifier' || given.type === 'Call'
|
|
134
|
+
? tokens.find((t, i) => t.kind === 'name' && t.text === given.name && calls(tokens, i) === (given.type === 'Call'))
|
|
135
|
+
: given.type === 'Literal'
|
|
136
|
+
? tokens.find((t) => (t.kind === 'text' || t.kind === 'number' || t.kind === 'word' || t.kind === 'list') && literalOf(t.text)?.value === given.value)
|
|
137
|
+
: undefined;
|
|
138
|
+
const said = given.type === 'Identifier' && page.fields[given.name] ? labelOf(page, given.name) : given.type === 'Call' ? `${given.name}(…)` : (at?.text ?? '');
|
|
139
|
+
const text = w.wrongKind(problem.name, problem.wants, said, problem.got);
|
|
140
|
+
return at ? { words: text, ...place(at) } : { words: text };
|
|
141
|
+
}
|
|
142
|
+
function whereItStops(source, tokens, message, words, functions) {
|
|
107
143
|
const w = words.rules;
|
|
108
144
|
const named = /^no function "(\w+)"/.exec(message) ?? /^(\w+) takes /.exec(message) ?? /^(sum) takes the name/.exec(message);
|
|
109
145
|
if (named) {
|
|
110
146
|
// The call the reader stopped at: the last one of that name before where it stopped.
|
|
111
|
-
const at = firstFailing(source, tokens);
|
|
147
|
+
const at = firstFailing(source, tokens, functions);
|
|
112
148
|
const name = [...tokens.slice(0, at + 1)].reverse().find((t) => t.kind === 'name' && t.text === named[1]) ?? tokens.find((t) => t.text === named[1]);
|
|
113
149
|
const said = /^no function/.test(message) ? w.unknownFunction(named[1]) : w.takes(named[1], message.slice(named[1].length));
|
|
114
150
|
return name ? { words: said, ...place(name) } : { words: said };
|
|
@@ -120,13 +156,13 @@ function whereItStops(source, tokens, message, words) {
|
|
|
120
156
|
const last = tokens[tokens.length - 1];
|
|
121
157
|
return { words: w.missingAfter(last.text), ...place(last) };
|
|
122
158
|
}
|
|
123
|
-
const token = tokens[firstFailing(source, tokens)];
|
|
159
|
+
const token = tokens[firstFailing(source, tokens, functions)];
|
|
124
160
|
return { words: w.outOfPlace(token.text), ...place(token) };
|
|
125
161
|
}
|
|
126
162
|
/** The first piece the formula cannot go on from: up to it, the formula reads, or only runs out. */
|
|
127
|
-
function firstFailing(source, tokens) {
|
|
163
|
+
function firstFailing(source, tokens, functions) {
|
|
128
164
|
for (let i = 0; i < tokens.length; i++) {
|
|
129
|
-
const message = readError(source.slice(0, tokens[i].to));
|
|
165
|
+
const message = readError(source.slice(0, tokens[i].to), functions);
|
|
130
166
|
if (message !== null && !ranOut(message))
|
|
131
167
|
return i;
|
|
132
168
|
}
|
|
@@ -143,12 +179,12 @@ function unclosed(tokens) {
|
|
|
143
179
|
}
|
|
144
180
|
return open[0];
|
|
145
181
|
}
|
|
146
|
-
/** The fields a formula reads, by name, once each; none when it cannot be read. */
|
|
182
|
+
/** The fields a formula reads, by name, once each, whatever functions it calls; none when it cannot be read. */
|
|
147
183
|
export function fieldsReadBy(source) {
|
|
148
184
|
if (typeof source !== 'string')
|
|
149
185
|
return [];
|
|
150
186
|
try {
|
|
151
|
-
return [...compileModifier(source).fields];
|
|
187
|
+
return [...compileModifier(source, ANY_FUNCTION).fields];
|
|
152
188
|
}
|
|
153
189
|
catch {
|
|
154
190
|
return [];
|
|
@@ -300,11 +336,15 @@ function samplesFor(page, reads) {
|
|
|
300
336
|
}
|
|
301
337
|
return values;
|
|
302
338
|
}
|
|
303
|
-
/**
|
|
304
|
-
|
|
339
|
+
/**
|
|
340
|
+
* The values as a form settles them on these fields, worked-out ones worked out; null when they cannot be. The app's
|
|
341
|
+
* functions are known, never called: on made-up values one gives nothing.
|
|
342
|
+
*/
|
|
343
|
+
function settled(fields, values, functions) {
|
|
305
344
|
const trial = { fieldia: '0.1', id: 'sample', data: { kind: 'responses' }, fields, layout: { type: 'sections', id: 'root', children: [] } };
|
|
345
|
+
const known = uncalled(functions);
|
|
306
346
|
try {
|
|
307
|
-
return createForm({ page: trial, values: values }).getState().values;
|
|
347
|
+
return createForm({ page: trial, values: values, ...(known ? { functions: known } : {}) }).getState().values;
|
|
308
348
|
}
|
|
309
349
|
catch {
|
|
310
350
|
return null;
|
|
@@ -317,14 +357,14 @@ const givenWords = (page, reads, values, words) => reads.map((name) => words.rul
|
|
|
317
357
|
* (a whole number rounded, text as text): "With Price 120 and Quantity 3:
|
|
318
358
|
* 360". Empty when the formula does not read.
|
|
319
359
|
*/
|
|
320
|
-
export function sampleResult(page, own, source, words = en) {
|
|
321
|
-
if (formulaProblem(page, source) || wouldCircle(page, own, source))
|
|
360
|
+
export function sampleResult(page, own, source, words = en, functions) {
|
|
361
|
+
if (formulaProblem(page, source, en, functions) || wouldCircle(page, own, source))
|
|
322
362
|
return '';
|
|
323
363
|
const reads = fieldsReadBy(source).filter((name) => name !== own && page.fields[name]);
|
|
324
364
|
const target = page.fields[own];
|
|
325
365
|
if (!target)
|
|
326
366
|
return '';
|
|
327
|
-
const worked = settled({ ...page.fields, [own]: { ...target, compute: source } }, samplesFor(page, reads));
|
|
367
|
+
const worked = settled({ ...page.fields, [own]: { ...target, compute: source } }, samplesFor(page, reads), functions);
|
|
328
368
|
if (!worked)
|
|
329
369
|
return '';
|
|
330
370
|
const result = worked[own];
|
|
@@ -338,15 +378,15 @@ export function sampleResult(page, own, source, words = en) {
|
|
|
338
378
|
* it: "With Contract ends 2026-03-14 and Start date 2026-03-01: holds".
|
|
339
379
|
* Empty when the formula does not read.
|
|
340
380
|
*/
|
|
341
|
-
export function sampleHolds(page, source, words = en) {
|
|
381
|
+
export function sampleHolds(page, source, words = en, functions) {
|
|
342
382
|
const w = words.rules;
|
|
343
|
-
if (formulaProblem(page, source))
|
|
383
|
+
if (formulaProblem(page, source, en, functions))
|
|
344
384
|
return '';
|
|
345
385
|
const reads = fieldsReadBy(source).filter((name) => page.fields[name]);
|
|
346
|
-
const worked = settled(page.fields, samplesFor(page, reads));
|
|
386
|
+
const worked = settled(page.fields, samplesFor(page, reads), functions);
|
|
347
387
|
if (!worked)
|
|
348
388
|
return '';
|
|
349
|
-
const holds = compileModifier(source).evaluate(worked);
|
|
389
|
+
const holds = compileModifier(source, ANY_FUNCTION).evaluate(worked);
|
|
350
390
|
if (!reads.length)
|
|
351
391
|
return holds ? w.alwaysHolds : w.neverHolds;
|
|
352
392
|
// The form waits for every field a rule reads: one with no made-up value is said so.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-formula.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-formula.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAyB,MAAM,eAAe,CAAC;AAE/F,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAyBlC,iIAAiI;AACjI,MAAM,KAAK,GAAG,2LAA2L,CAAC;AAC1M,iEAAiE;AACjE,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AACnF,MAAM,KAAK,GAAG,MAAM,CAAC;AACrB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9E,SAAS,MAAM,CAAC,IAAY;IAC1B,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IACjC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IACjC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAChE,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClE,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACxF,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,SAAS,CAAC;QACR,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QACrB,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QACvC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACvF,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,YAAY,CAAC,OAA8B,EAAE,QAAuB,EAAE;IACpF,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IACrD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IACzH,uGAAuG;IACvG,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,KAAmB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAEhF,mFAAmF;AACnF,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAE,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;AAEpF,8EAA8E;AAC9E,SAAS,SAAS,CAAC,MAAc;IAC/B,IAAI,CAAC;QACH,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAQ,KAAe,CAAC,OAAO,CAAC;IAClC,CAAC;AACH,CAAC;AAED,iGAAiG;AACjG,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAElE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,MAAc,EAAE,QAAuB,EAAE;IAClF,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;IACzH,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1E,mDAAmD;IACnD,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAAE,SAAS;QACxD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YAAE,SAAS;QACtE,iHAAiH;QACjH,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QAClD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxH,SAAS;QACX,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,MAAsB,EAAE,OAAe,EAAE,KAAoB;IACjG,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IACtB,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7H,IAAI,KAAK,EAAE,CAAC;QACV,qFAAqF;QACrF,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrJ,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,IAAI;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,oGAAoG;AACpG,SAAS,YAAY,CAAC,MAAc,EAAE,MAAsB;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,iDAAiD;AACjD,SAAS,QAAQ,CAAC,MAAsB;IACtC,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACvC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,MAAoC;IAC/D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,IAAU,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;AAE/E;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAU,EAAE,GAAW,EAAE,MAAc,EAAE,QAAuB,EAAE;IAC5F,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACjH,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAW,EAAE;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,qGAAqG;AAErG,MAAM,KAAK,GAA2B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC7F,yCAAyC;AACzC,MAAM,UAAU,GAAmC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAChG,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAoB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;AAE3I,gHAAgH;AAChH,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,KAAoB,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAExI,gGAAgG;AAChG,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACpH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACpE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,KAAwB,EAAE,KAAc,EAAE,QAAuB,EAAE;IAC9F,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7G,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAChF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;IACtE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAUD,iHAAiH;AACjH,MAAM,UAAU,aAAa,CAAC,IAAU,EAAE,MAAc,EAAE,QAAuB,EAAE;IACjF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7B,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACtB,IAAI,KAAyB,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/C,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACjE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,IAAI,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;aAC5H,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAClE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChI,IAAI,GAAG,QAAQ,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7I,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC;QACxK,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,MAAc,EAAE,QAAuB,EAAE;IAClF,OAAO,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;SACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;SACrD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,qGAAqG;AAErG,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,4EAA4E;AAC5E,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAExD,wEAAwE;AACxE,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAY,EAAE,CAAS;IACrD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,OAAO,CAAC;QACb,KAAK,UAAU;YACb,OAAO,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC;QACd,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QAC9E,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC7C,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;QAC7B;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,KAAwB,EAAE,KAAc,EAAE,KAAoB,EAAE,EAAE,CAC/E,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEnJ,6IAA6I;AAC7I,SAAS,UAAU,CAAC,IAAU,EAAE,KAAe;IAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC9H,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+GAA+G;AAC/G,SAAS,OAAO,CAAC,MAAsB,EAAE,MAA+B;IACtE,MAAM,KAAK,GAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;IAClJ,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,KAAe,EAAE,MAA+B,EAAE,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtN;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAU,EAAE,GAAW,EAAE,MAAc,EAAE,QAAuB,EAAE;IAC7F,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAW,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACpH,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5K,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAU,EAAE,MAAc,EAAE,QAAuB,EAAE;IAC/E,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IACtB,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/D,qFAAqF;IACrF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;IAC1F,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAC/F,CAAC"}
|
|
1
|
+
{"version":3,"file":"rules-formula.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-formula.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Page, type Values } from '@fieldia/core';
|
|
1
|
+
import { type FunctionsKnown, type Page, type Values } from '@fieldia/core';
|
|
2
2
|
import { type WidgetFactory } from '@fieldia/widgets';
|
|
3
3
|
import type { ElementFactory } from './chrome.mjs';
|
|
4
4
|
import type { DesignerWords } from './designer-words.mjs';
|
|
@@ -20,6 +20,8 @@ export interface SampleOptions {
|
|
|
20
20
|
tryIt?: () => void;
|
|
21
21
|
/** The clock, for dates in the past or the future. The computer's own when left out. */
|
|
22
22
|
now?: () => Date;
|
|
23
|
+
/** The app's own functions a formula may call: known, never called, while a page is designed. */
|
|
24
|
+
functions?: FunctionsKnown;
|
|
23
25
|
}
|
|
24
26
|
export interface AnswerSample {
|
|
25
27
|
element: HTMLElement;
|
|
@@ -39,5 +41,5 @@ export interface SampleResult {
|
|
|
39
41
|
* checked alone and read as a warning, so the field's own checks never hide
|
|
40
42
|
* it — the form words a rule's message the same at either level.
|
|
41
43
|
*/
|
|
42
|
-
export declare function sampleChecker(page: Page, nodeId: string, tag: string, now?: () => Date): (values: Values) => SampleResult[];
|
|
44
|
+
export declare function sampleChecker(page: Page, nodeId: string, tag: string, now?: () => Date, functions?: FunctionsKnown): (values: Values) => SampleResult[];
|
|
43
45
|
export declare function answerSample(el: ElementFactory, nodeId: string, options?: SampleOptions, words?: DesignerWords): AnswerSample;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Page, type Values } from '@fieldia/core';
|
|
1
|
+
import { type FunctionsKnown, type Page, type Values } from '@fieldia/core';
|
|
2
2
|
import { type WidgetFactory } from '@fieldia/widgets';
|
|
3
3
|
import type { ElementFactory } from './chrome';
|
|
4
4
|
import type { DesignerWords } from './designer-words';
|
|
@@ -20,6 +20,8 @@ export interface SampleOptions {
|
|
|
20
20
|
tryIt?: () => void;
|
|
21
21
|
/** The clock, for dates in the past or the future. The computer's own when left out. */
|
|
22
22
|
now?: () => Date;
|
|
23
|
+
/** The app's own functions a formula may call: known, never called, while a page is designed. */
|
|
24
|
+
functions?: FunctionsKnown;
|
|
23
25
|
}
|
|
24
26
|
export interface AnswerSample {
|
|
25
27
|
element: HTMLElement;
|
|
@@ -39,5 +41,5 @@ export interface SampleResult {
|
|
|
39
41
|
* checked alone and read as a warning, so the field's own checks never hide
|
|
40
42
|
* it — the form words a rule's message the same at either level.
|
|
41
43
|
*/
|
|
42
|
-
export declare function sampleChecker(page: Page, nodeId: string, tag: string, now?: () => Date): (values: Values) => SampleResult[];
|
|
44
|
+
export declare function sampleChecker(page: Page, nodeId: string, tag: string, now?: () => Date, functions?: FunctionsKnown): (values: Values) => SampleResult[];
|
|
43
45
|
export declare function answerSample(el: ElementFactory, nodeId: string, options?: SampleOptions, words?: DesignerWords): AnswerSample;
|