@bgroup/wise-form 1.0.1
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 +34 -0
- package/dist/components/ui/Checkbox.d.ts +14 -0
- package/dist/components/ui/Checkbox.d.ts.map +1 -0
- package/dist/components/ui/Checkbox.js +43 -0
- package/dist/components/ui/Checkbox.js.map +1 -0
- package/dist/components/ui/CheckboxGroup.d.ts +15 -0
- package/dist/components/ui/CheckboxGroup.d.ts.map +1 -0
- package/dist/components/ui/CheckboxGroup.js +33 -0
- package/dist/components/ui/CheckboxGroup.js.map +1 -0
- package/dist/components/ui/Input.d.ts +14 -0
- package/dist/components/ui/Input.d.ts.map +1 -0
- package/dist/components/ui/Input.js +49 -0
- package/dist/components/ui/Input.js.map +1 -0
- package/dist/components/ui/Radio.d.ts +14 -0
- package/dist/components/ui/Radio.d.ts.map +1 -0
- package/dist/components/ui/Radio.js +43 -0
- package/dist/components/ui/Radio.js.map +1 -0
- package/dist/components/ui/Select.d.ts +18 -0
- package/dist/components/ui/Select.d.ts.map +1 -0
- package/dist/components/ui/Select.js +44 -0
- package/dist/components/ui/Select.js.map +1 -0
- package/dist/components/ui/Textarea.d.ts +13 -0
- package/dist/components/ui/Textarea.d.ts.map +1 -0
- package/dist/components/ui/Textarea.js +42 -0
- package/dist/components/ui/Textarea.js.map +1 -0
- package/dist/components/ui/index.d.ts +13 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/index.js +7 -0
- package/dist/components/ui/index.js.map +1 -0
- package/dist/form/index.d.ts +10 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/index.js +5 -0
- package/dist/form/index.js.map +1 -0
- package/dist/form/interfaces/field-container.d.ts +8 -0
- package/dist/form/interfaces/field-container.d.ts.map +1 -0
- package/dist/form/interfaces/field-container.js +2 -0
- package/dist/form/interfaces/field-container.js.map +1 -0
- package/dist/form/interfaces/interfaces.d.ts +8 -0
- package/dist/form/interfaces/interfaces.d.ts.map +1 -0
- package/dist/form/interfaces/interfaces.js +2 -0
- package/dist/form/interfaces/interfaces.js.map +1 -0
- package/dist/form/interfaces/settings.d.ts +10 -0
- package/dist/form/interfaces/settings.d.ts.map +1 -0
- package/dist/form/interfaces/settings.js +2 -0
- package/dist/form/interfaces/settings.js.map +1 -0
- package/dist/form/interfaces/template.d.ts +6 -0
- package/dist/form/interfaces/template.d.ts.map +1 -0
- package/dist/form/interfaces/template.js +2 -0
- package/dist/form/interfaces/template.js.map +1 -0
- package/dist/form/interfaces/wise-form-specs.d.ts +9 -0
- package/dist/form/interfaces/wise-form-specs.d.ts.map +1 -0
- package/dist/form/interfaces/wise-form-specs.js +2 -0
- package/dist/form/interfaces/wise-form-specs.js.map +1 -0
- package/dist/form/view/components/containers/index.d.ts +3 -0
- package/dist/form/view/components/containers/index.d.ts.map +1 -0
- package/dist/form/view/components/containers/index.js +12 -0
- package/dist/form/view/components/containers/index.js.map +1 -0
- package/dist/form/view/components/error.d.ts +5 -0
- package/dist/form/view/components/error.d.ts.map +1 -0
- package/dist/form/view/components/error.js +8 -0
- package/dist/form/view/components/error.js.map +1 -0
- package/dist/form/view/components/field/container.d.ts +5 -0
- package/dist/form/view/components/field/container.d.ts.map +1 -0
- package/dist/form/view/components/field/container.js +5 -0
- package/dist/form/view/components/field/container.js.map +1 -0
- package/dist/form/view/components/field/index.d.ts +18 -0
- package/dist/form/view/components/field/index.d.ts.map +1 -0
- package/dist/form/view/components/field/index.js +89 -0
- package/dist/form/view/components/field/index.js.map +1 -0
- package/dist/form/view/components/field/selection.d.ts +2 -0
- package/dist/form/view/components/field/selection.d.ts.map +1 -0
- package/dist/form/view/components/field/selection.js +35 -0
- package/dist/form/view/components/field/selection.js.map +1 -0
- package/dist/form/view/components/field/use-field.d.ts +4 -0
- package/dist/form/view/components/field/use-field.d.ts.map +1 -0
- package/dist/form/view/components/field/use-field.js +41 -0
- package/dist/form/view/components/field/use-field.js.map +1 -0
- package/dist/form/view/components/rows/row-container.d.ts +18 -0
- package/dist/form/view/components/rows/row-container.d.ts.map +1 -0
- package/dist/form/view/components/rows/row-container.js +89 -0
- package/dist/form/view/components/rows/row-container.js.map +1 -0
- package/dist/form/view/components/rows/wrapper.d.ts +12 -0
- package/dist/form/view/components/rows/wrapper.d.ts.map +1 -0
- package/dist/form/view/components/rows/wrapper.js +27 -0
- package/dist/form/view/components/rows/wrapper.js.map +1 -0
- package/dist/form/view/components/wrapped-form.d.ts +6 -0
- package/dist/form/view/components/wrapped-form.d.ts.map +1 -0
- package/dist/form/view/components/wrapped-form.js +26 -0
- package/dist/form/view/components/wrapped-form.js.map +1 -0
- package/dist/form/view/context.d.ts +23 -0
- package/dist/form/view/context.d.ts.map +1 -0
- package/dist/form/view/context.js +7 -0
- package/dist/form/view/context.js.map +1 -0
- package/dist/form/view/hooks/use-model.d.ts +10 -0
- package/dist/form/view/hooks/use-model.d.ts.map +1 -0
- package/dist/form/view/hooks/use-model.js +31 -0
- package/dist/form/view/hooks/use-model.js.map +1 -0
- package/dist/form/view/hooks/use-template.d.ts +14 -0
- package/dist/form/view/hooks/use-template.d.ts.map +1 -0
- package/dist/form/view/hooks/use-template.js +57 -0
- package/dist/form/view/hooks/use-template.js.map +1 -0
- package/dist/form/view/hooks/use-types.d.ts +2 -0
- package/dist/form/view/hooks/use-types.d.ts.map +1 -0
- package/dist/form/view/hooks/use-types.js +19 -0
- package/dist/form/view/hooks/use-types.js.map +1 -0
- package/dist/form/view/index.d.ts +3 -0
- package/dist/form/view/index.d.ts.map +1 -0
- package/dist/form/view/index.js +38 -0
- package/dist/form/view/index.js.map +1 -0
- package/dist/formulas/helpers/condition-types.d.ts +5 -0
- package/dist/formulas/helpers/condition-types.d.ts.map +1 -0
- package/dist/formulas/helpers/condition-types.js +5 -0
- package/dist/formulas/helpers/condition-types.js.map +1 -0
- package/dist/formulas/helpers/evaluations.d.ts +15 -0
- package/dist/formulas/helpers/evaluations.d.ts.map +1 -0
- package/dist/formulas/helpers/evaluations.js +44 -0
- package/dist/formulas/helpers/evaluations.js.map +1 -0
- package/dist/formulas/helpers/formula.d.ts +6 -0
- package/dist/formulas/helpers/formula.d.ts.map +1 -0
- package/dist/formulas/helpers/formula.js +26 -0
- package/dist/formulas/helpers/formula.js.map +1 -0
- package/dist/formulas/helpers/lexer.d.ts +10 -0
- package/dist/formulas/helpers/lexer.d.ts.map +1 -0
- package/dist/formulas/helpers/lexer.js +73 -0
- package/dist/formulas/helpers/lexer.js.map +1 -0
- package/dist/formulas/helpers/parser.d.ts +24 -0
- package/dist/formulas/helpers/parser.d.ts.map +1 -0
- package/dist/formulas/helpers/parser.js +48 -0
- package/dist/formulas/helpers/parser.js.map +1 -0
- package/dist/formulas/helpers/token.d.ts +14 -0
- package/dist/formulas/helpers/token.d.ts.map +1 -0
- package/dist/formulas/helpers/token.js +14 -0
- package/dist/formulas/helpers/token.js.map +1 -0
- package/dist/formulas/index.d.ts +59 -0
- package/dist/formulas/index.d.ts.map +1 -0
- package/dist/formulas/index.js +186 -0
- package/dist/formulas/index.js.map +1 -0
- package/dist/formulas/types/formulas.d.ts +68 -0
- package/dist/formulas/types/formulas.d.ts.map +1 -0
- package/dist/formulas/types/formulas.js +2 -0
- package/dist/formulas/types/formulas.js.map +1 -0
- package/dist/formulas/types/index.d.ts +5 -0
- package/dist/formulas/types/index.d.ts.map +1 -0
- package/dist/formulas/types/index.js +2 -0
- package/dist/formulas/types/index.js.map +1 -0
- package/dist/formulas/variants/array-formula.d.ts +24 -0
- package/dist/formulas/variants/array-formula.d.ts.map +1 -0
- package/dist/formulas/variants/array-formula.js +142 -0
- package/dist/formulas/variants/array-formula.js.map +1 -0
- package/dist/formulas/variants/base.d.ts +6 -0
- package/dist/formulas/variants/base.d.ts.map +1 -0
- package/dist/formulas/variants/base.js +3 -0
- package/dist/formulas/variants/base.js.map +1 -0
- package/dist/formulas/variants/basic.d.ts +18 -0
- package/dist/formulas/variants/basic.d.ts.map +1 -0
- package/dist/formulas/variants/basic.js +128 -0
- package/dist/formulas/variants/basic.js.map +1 -0
- package/dist/formulas/variants/comparison.d.ts +25 -0
- package/dist/formulas/variants/comparison.d.ts.map +1 -0
- package/dist/formulas/variants/comparison.js +153 -0
- package/dist/formulas/variants/comparison.js.map +1 -0
- package/dist/formulas/variants/conditional.d.ts +18 -0
- package/dist/formulas/variants/conditional.d.ts.map +1 -0
- package/dist/formulas/variants/conditional.js +183 -0
- package/dist/formulas/variants/conditional.js.map +1 -0
- package/dist/formulas/variants/iterative-array.d.ts +20 -0
- package/dist/formulas/variants/iterative-array.d.ts.map +1 -0
- package/dist/formulas/variants/iterative-array.js +155 -0
- package/dist/formulas/variants/iterative-array.js.map +1 -0
- package/dist/formulas/variants/per-value.d.ts +20 -0
- package/dist/formulas/variants/per-value.d.ts.map +1 -0
- package/dist/formulas/variants/per-value.js +154 -0
- package/dist/formulas/variants/per-value.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/models/base.d.ts +55 -0
- package/dist/models/base.d.ts.map +1 -0
- package/dist/models/base.js +146 -0
- package/dist/models/base.js.map +1 -0
- package/dist/models/callback-manager.d.ts +7 -0
- package/dist/models/callback-manager.d.ts.map +1 -0
- package/dist/models/callback-manager.js +89 -0
- package/dist/models/callback-manager.js.map +1 -0
- package/dist/models/field.d.ts +121 -0
- package/dist/models/field.d.ts.map +1 -0
- package/dist/models/field.js +374 -0
- package/dist/models/field.js.map +1 -0
- package/dist/models/index.d.ts +13 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +7 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/model.d.ts +37 -0
- package/dist/models/model.d.ts.map +1 -0
- package/dist/models/model.js +245 -0
- package/dist/models/model.js.map +1 -0
- package/dist/models/plugins/base.d.ts +9 -0
- package/dist/models/plugins/base.d.ts.map +1 -0
- package/dist/models/plugins/base.js +3 -0
- package/dist/models/plugins/base.js.map +1 -0
- package/dist/models/plugins/formula.d.ts +18 -0
- package/dist/models/plugins/formula.d.ts.map +1 -0
- package/dist/models/plugins/formula.js +82 -0
- package/dist/models/plugins/formula.js.map +1 -0
- package/dist/models/plugins/index.d.ts +11 -0
- package/dist/models/plugins/index.d.ts.map +1 -0
- package/dist/models/plugins/index.js +52 -0
- package/dist/models/plugins/index.js.map +1 -0
- package/dist/models/plugins/plugins.d.ts +7 -0
- package/dist/models/plugins/plugins.d.ts.map +1 -0
- package/dist/models/plugins/plugins.js +7 -0
- package/dist/models/plugins/plugins.js.map +1 -0
- package/dist/models/types/base-wise-model.d.ts +7 -0
- package/dist/models/types/base-wise-model.d.ts.map +1 -0
- package/dist/models/types/base-wise-model.js +2 -0
- package/dist/models/types/base-wise-model.js.map +1 -0
- package/dist/models/types/callbacks.d.ts +19 -0
- package/dist/models/types/callbacks.d.ts.map +1 -0
- package/dist/models/types/callbacks.js +2 -0
- package/dist/models/types/callbacks.js.map +1 -0
- package/dist/models/types/disabled.d.ts +8 -0
- package/dist/models/types/disabled.d.ts.map +1 -0
- package/dist/models/types/disabled.js +2 -0
- package/dist/models/types/disabled.js.map +1 -0
- package/dist/models/types/form-field.d.ts +25 -0
- package/dist/models/types/form-field.d.ts.map +1 -0
- package/dist/models/types/form-field.js +2 -0
- package/dist/models/types/form-field.js.map +1 -0
- package/dist/models/types/model.d.ts +13 -0
- package/dist/models/types/model.d.ts.map +1 -0
- package/dist/models/types/model.js +2 -0
- package/dist/models/types/model.js.map +1 -0
- package/dist/models/types/plugins.d.ts +13 -0
- package/dist/models/types/plugins.d.ts.map +1 -0
- package/dist/models/types/plugins.js +2 -0
- package/dist/models/types/plugins.js.map +1 -0
- package/dist/models/types/wrapped-form-model-props.d.ts +11 -0
- package/dist/models/types/wrapped-form-model-props.d.ts.map +1 -0
- package/dist/models/types/wrapped-form-model-props.js +2 -0
- package/dist/models/types/wrapped-form-model-props.js.map +1 -0
- package/dist/models/wrapper.d.ts +30 -0
- package/dist/models/wrapper.d.ts.map +1 -0
- package/dist/models/wrapper.js +213 -0
- package/dist/models/wrapper.js.map +1 -0
- package/dist/settings/index.d.ts +7 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +26 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/utils/pending-promise.d.ts +6 -0
- package/dist/utils/pending-promise.d.ts.map +1 -0
- package/dist/utils/pending-promise.js +24 -0
- package/dist/utils/pending-promise.js.map +1 -0
- package/package.json +38 -0
- package/src/components/ui/Checkbox.tsx +68 -0
- package/src/components/ui/CheckboxGroup.tsx +60 -0
- package/src/components/ui/Input.tsx +72 -0
- package/src/components/ui/Radio.tsx +68 -0
- package/src/components/ui/Select.tsx +73 -0
- package/src/components/ui/Textarea.tsx +63 -0
- package/src/components/ui/index.ts +14 -0
- package/src/form/index.ts +11 -0
- package/src/form/interfaces/field-container.ts +9 -0
- package/src/form/interfaces/interfaces.ts +12 -0
- package/src/form/interfaces/settings.ts +11 -0
- package/src/form/interfaces/template.ts +7 -0
- package/src/form/interfaces/wise-form-specs.ts +10 -0
- package/src/form/styles.css +40 -0
- package/src/form/view/components/containers/index.tsx +18 -0
- package/src/form/view/components/error.tsx +9 -0
- package/src/form/view/components/field/container.tsx +6 -0
- package/src/form/view/components/field/index.tsx +107 -0
- package/src/form/view/components/field/selection.tsx +39 -0
- package/src/form/view/components/field/use-field.tsx +49 -0
- package/src/form/view/components/rows/row-container.tsx +96 -0
- package/src/form/view/components/rows/wrapper.tsx +28 -0
- package/src/form/view/components/wrapped-form.tsx +32 -0
- package/src/form/view/context.tsx +26 -0
- package/src/form/view/hooks/use-model.ts +37 -0
- package/src/form/view/hooks/use-template.tsx +64 -0
- package/src/form/view/hooks/use-types.ts +21 -0
- package/src/form/view/index.tsx +48 -0
- package/src/formulas/helpers/condition-types.ts +5 -0
- package/src/formulas/helpers/evaluations.ts +48 -0
- package/src/formulas/helpers/formula.ts +27 -0
- package/src/formulas/helpers/lexer.ts +82 -0
- package/src/formulas/helpers/parser.ts +55 -0
- package/src/formulas/helpers/token.ts +22 -0
- package/src/formulas/index.ts +198 -0
- package/src/formulas/types/formulas.ts +72 -0
- package/src/formulas/types/index.ts +5 -0
- package/src/formulas/variants/array-formula.ts +138 -0
- package/src/formulas/variants/base.ts +6 -0
- package/src/formulas/variants/basic.ts +141 -0
- package/src/formulas/variants/comparison.ts +156 -0
- package/src/formulas/variants/conditional.ts +208 -0
- package/src/formulas/variants/iterative-array.ts +152 -0
- package/src/formulas/variants/per-value.ts +152 -0
- package/src/index.ts +6 -0
- package/src/models/base.ts +164 -0
- package/src/models/callback-manager.ts +102 -0
- package/src/models/field.ts +426 -0
- package/src/models/index.ts +14 -0
- package/src/models/model.ts +260 -0
- package/src/models/plugins/base.ts +11 -0
- package/src/models/plugins/formula.ts +80 -0
- package/src/models/plugins/index.ts +48 -0
- package/src/models/plugins/plugins.ts +8 -0
- package/src/models/types/base-wise-model.ts +7 -0
- package/src/models/types/callbacks.ts +23 -0
- package/src/models/types/disabled.ts +8 -0
- package/src/models/types/form-field.ts +22 -0
- package/src/models/types/model.ts +14 -0
- package/src/models/types/plugins.ts +15 -0
- package/src/models/types/wrapped-form-model-props.ts +9 -0
- package/src/models/wrapper.ts +242 -0
- package/src/settings/index.ts +11 -0
- package/src/utils/pending-promise.ts +29 -0
- package/tsconfig.json +39 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _FormulaManager_instances, _FormulaManager_lexer, _FormulaManager_tokens, _FormulaManager_parser, _FormulaManager_specs, _FormulaManager_parsedBase, _FormulaManager_type, _FormulaManager_variables, _FormulaManager_parsers, _FormulaManager_plugin, _FormulaManager_instance, _FormulaManager_initialize;
|
|
13
|
+
import { ReactiveModel } from '@beyond-js/reactive/model';
|
|
14
|
+
import { Lexer } from './helpers/lexer';
|
|
15
|
+
import { Parser } from './helpers/parser';
|
|
16
|
+
import { FormulaBasic } from './variants/basic';
|
|
17
|
+
import { FormulaConditional } from './variants/conditional';
|
|
18
|
+
import { FormulaPerValue } from './variants/per-value';
|
|
19
|
+
import { FormulaComparison } from './variants/comparison';
|
|
20
|
+
import { FormulaArray } from './variants/array-formula';
|
|
21
|
+
import { IterativeArrayFormula } from './variants/iterative-array';
|
|
22
|
+
export class FormulaManager extends ReactiveModel {
|
|
23
|
+
get tokens() {
|
|
24
|
+
return __classPrivateFieldGet(this, _FormulaManager_tokens, "f");
|
|
25
|
+
}
|
|
26
|
+
get parser() {
|
|
27
|
+
return __classPrivateFieldGet(this, _FormulaManager_parser, "f");
|
|
28
|
+
}
|
|
29
|
+
get formula() {
|
|
30
|
+
return __classPrivateFieldGet(this, _FormulaManager_specs, "f").formula;
|
|
31
|
+
}
|
|
32
|
+
get name() {
|
|
33
|
+
return __classPrivateFieldGet(this, _FormulaManager_specs, "f").name;
|
|
34
|
+
}
|
|
35
|
+
get conditional() {
|
|
36
|
+
return typeof __classPrivateFieldGet(this, _FormulaManager_specs, "f").formula === 'object';
|
|
37
|
+
}
|
|
38
|
+
get conditions() {
|
|
39
|
+
if (typeof __classPrivateFieldGet(this, _FormulaManager_specs, "f").formula === 'string')
|
|
40
|
+
return;
|
|
41
|
+
const formula = __classPrivateFieldGet(this, _FormulaManager_specs, "f").formula;
|
|
42
|
+
return formula.conditions;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Represents the fields defined in the plugin settings
|
|
46
|
+
*/
|
|
47
|
+
get fields() {
|
|
48
|
+
const formula = this.formula;
|
|
49
|
+
return typeof formula?.fields === 'string' ? [formula?.fields] : formula?.fields;
|
|
50
|
+
}
|
|
51
|
+
get parsedBase() {
|
|
52
|
+
return __classPrivateFieldGet(this, _FormulaManager_parsedBase, "f");
|
|
53
|
+
}
|
|
54
|
+
get type() {
|
|
55
|
+
return __classPrivateFieldGet(this, _FormulaManager_type, "f");
|
|
56
|
+
}
|
|
57
|
+
get base() {
|
|
58
|
+
const formula = __classPrivateFieldGet(this, _FormulaManager_specs, "f").formula;
|
|
59
|
+
return formula.base;
|
|
60
|
+
}
|
|
61
|
+
get variables() {
|
|
62
|
+
return __classPrivateFieldGet(this, _FormulaManager_variables, "f");
|
|
63
|
+
}
|
|
64
|
+
get value() {
|
|
65
|
+
return __classPrivateFieldGet(this, _FormulaManager_instance, "f").value;
|
|
66
|
+
}
|
|
67
|
+
constructor(plugin, specs) {
|
|
68
|
+
super();
|
|
69
|
+
_FormulaManager_instances.add(this);
|
|
70
|
+
_FormulaManager_lexer.set(this, new Lexer(true));
|
|
71
|
+
_FormulaManager_tokens.set(this, void 0);
|
|
72
|
+
_FormulaManager_parser.set(this, void 0);
|
|
73
|
+
_FormulaManager_specs.set(this, void 0);
|
|
74
|
+
_FormulaManager_parsedBase.set(this, void 0);
|
|
75
|
+
_FormulaManager_type.set(this, void 0);
|
|
76
|
+
_FormulaManager_variables.set(this, []);
|
|
77
|
+
_FormulaManager_parsers.set(this, new Map());
|
|
78
|
+
_FormulaManager_plugin.set(this, void 0);
|
|
79
|
+
_FormulaManager_instance.set(this, void 0);
|
|
80
|
+
__classPrivateFieldSet(this, _FormulaManager_plugin, plugin, "f");
|
|
81
|
+
__classPrivateFieldSet(this, _FormulaManager_specs, specs, "f");
|
|
82
|
+
__classPrivateFieldGet(this, _FormulaManager_instances, "m", _FormulaManager_initialize).call(this);
|
|
83
|
+
}
|
|
84
|
+
initialize() {
|
|
85
|
+
__classPrivateFieldGet(this, _FormulaManager_instance, "f").initialize();
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Returns the models that are part of the formula
|
|
89
|
+
* The models could be fields or formulas
|
|
90
|
+
* @param variables
|
|
91
|
+
* @returns
|
|
92
|
+
*/
|
|
93
|
+
getModels(variables) {
|
|
94
|
+
const varsArray = Array.isArray(variables) ? variables : [variables];
|
|
95
|
+
return varsArray.map(name => {
|
|
96
|
+
if (__classPrivateFieldGet(this, _FormulaManager_plugin, "f").formulas.has(name))
|
|
97
|
+
return __classPrivateFieldGet(this, _FormulaManager_plugin, "f").formulas.get(name);
|
|
98
|
+
return __classPrivateFieldGet(this, _FormulaManager_plugin, "f").form.getField(name);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
getType() {
|
|
102
|
+
const { type, formula } = __classPrivateFieldGet(this, _FormulaManager_specs, "f");
|
|
103
|
+
if (type)
|
|
104
|
+
return type;
|
|
105
|
+
if (typeof formula === 'string')
|
|
106
|
+
return 'basic';
|
|
107
|
+
if (formula.conditions)
|
|
108
|
+
return formula.base ? 'base-conditional' : 'value-conditions';
|
|
109
|
+
}
|
|
110
|
+
processConditional() {
|
|
111
|
+
const formula = this.formula;
|
|
112
|
+
if (this.base) {
|
|
113
|
+
__classPrivateFieldSet(this, _FormulaManager_parsedBase, this.getParser({ formula: this.base }), "f");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
calculate() {
|
|
117
|
+
if (!__classPrivateFieldGet(this, _FormulaManager_instance, "f") || __classPrivateFieldGet(this, _FormulaManager_instance, "f").calculate) {
|
|
118
|
+
}
|
|
119
|
+
__classPrivateFieldGet(this, _FormulaManager_instance, "f").calculate();
|
|
120
|
+
this.trigger('change');
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Returns the parser for the formula, if the parser is already created it will return the memoized parser
|
|
125
|
+
*
|
|
126
|
+
*
|
|
127
|
+
* The formula is tokenized and parsed to create a parser instance
|
|
128
|
+
* the object returned contains the tokens, the parser and the formula
|
|
129
|
+
* @param data Receives the formula to be parsed
|
|
130
|
+
* @returns
|
|
131
|
+
*/
|
|
132
|
+
getParser(data) {
|
|
133
|
+
if (!data.formula)
|
|
134
|
+
throw new Error('To get a parser you must provide a formula');
|
|
135
|
+
if (__classPrivateFieldGet(this, _FormulaManager_parsers, "f").has(data.formula))
|
|
136
|
+
return __classPrivateFieldGet(this, _FormulaManager_parsers, "f").get(data.formula);
|
|
137
|
+
const tokens = __classPrivateFieldGet(this, _FormulaManager_lexer, "f").tokenize(data.formula);
|
|
138
|
+
const parser = new Parser(tokens);
|
|
139
|
+
const result = { tokens, parser, ...data };
|
|
140
|
+
__classPrivateFieldGet(this, _FormulaManager_parsers, "f").set(data.formula, result);
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
async getParams(variables) {
|
|
144
|
+
const params = {};
|
|
145
|
+
const { form, formulas } = __classPrivateFieldGet(this, _FormulaManager_plugin, "f");
|
|
146
|
+
const build = async (value) => {
|
|
147
|
+
/**
|
|
148
|
+
* the value could be a formula or a field
|
|
149
|
+
*/
|
|
150
|
+
const element = formulas.has(value) ? formulas.get(value) : form.getField(value);
|
|
151
|
+
if (!element)
|
|
152
|
+
throw new Error(`Field ${value} used in formula ${this.name}, not found in form ${form.name}, `);
|
|
153
|
+
await element.isReady;
|
|
154
|
+
params[value] = [undefined, '', null, NaN].includes(element.value) ? 0 : element.value;
|
|
155
|
+
};
|
|
156
|
+
variables.forEach(build);
|
|
157
|
+
return params;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* A form can have multiple formulas, this method will create an instance of the formula manager
|
|
161
|
+
* and memoize it to avoid creating multiple instances of the same formula.
|
|
162
|
+
* @param specs
|
|
163
|
+
* @returns
|
|
164
|
+
*/
|
|
165
|
+
static async create(plugin, specs) {
|
|
166
|
+
const instance = new FormulaManager(plugin, specs);
|
|
167
|
+
// FormulaManager.instances.set(plugin.form.name, instance);
|
|
168
|
+
return instance;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
_FormulaManager_lexer = new WeakMap(), _FormulaManager_tokens = new WeakMap(), _FormulaManager_parser = new WeakMap(), _FormulaManager_specs = new WeakMap(), _FormulaManager_parsedBase = new WeakMap(), _FormulaManager_type = new WeakMap(), _FormulaManager_variables = new WeakMap(), _FormulaManager_parsers = new WeakMap(), _FormulaManager_plugin = new WeakMap(), _FormulaManager_instance = new WeakMap(), _FormulaManager_instances = new WeakSet(), _FormulaManager_initialize = function _FormulaManager_initialize() {
|
|
172
|
+
__classPrivateFieldSet(this, _FormulaManager_type, this.getType(), "f");
|
|
173
|
+
const objects = {
|
|
174
|
+
basic: FormulaBasic,
|
|
175
|
+
'base-conditional': FormulaConditional,
|
|
176
|
+
'value-conditions': FormulaPerValue,
|
|
177
|
+
comparison: FormulaComparison,
|
|
178
|
+
array: FormulaArray,
|
|
179
|
+
'iterative-array': IterativeArrayFormula,
|
|
180
|
+
};
|
|
181
|
+
if (!objects[this.type]) {
|
|
182
|
+
throw new Error(`this type ${this.type} not found`);
|
|
183
|
+
}
|
|
184
|
+
__classPrivateFieldSet(this, _FormulaManager_instance, new objects[this.type](this, __classPrivateFieldGet(this, _FormulaManager_plugin, "f"), __classPrivateFieldGet(this, _FormulaManager_specs, "f")), "f");
|
|
185
|
+
};
|
|
186
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formulas/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { Parser } from "../helpers/parser";
|
|
2
|
+
import type { Token } from "../helpers/token";
|
|
3
|
+
export interface ISimpleFormula {
|
|
4
|
+
name: string;
|
|
5
|
+
formula: string;
|
|
6
|
+
type?: FormulaType;
|
|
7
|
+
emptyValue?: string | number;
|
|
8
|
+
fields?: FormulaFields;
|
|
9
|
+
propertyValue?: string;
|
|
10
|
+
propertyToSet?: string;
|
|
11
|
+
formulas?: any[];
|
|
12
|
+
arrayFieldProperty?: string;
|
|
13
|
+
arrayFieldName?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface IFormulaCondition {
|
|
16
|
+
condition: "hasValue" | "upper" | "lower" | "equal" | "different" | "between" | "lessOrEqual" | "greaterOrEqual";
|
|
17
|
+
value?: string | number | [number, number];
|
|
18
|
+
formula: string;
|
|
19
|
+
conditions?: IConditionalField[];
|
|
20
|
+
fields?: string[];
|
|
21
|
+
}
|
|
22
|
+
export type FormulaFields = string | string[];
|
|
23
|
+
export type EvaluatedFormula = {
|
|
24
|
+
value?: string | number;
|
|
25
|
+
formula: string;
|
|
26
|
+
condition?: string;
|
|
27
|
+
};
|
|
28
|
+
export interface IConditionalFormula {
|
|
29
|
+
}
|
|
30
|
+
export interface IConditionalField {
|
|
31
|
+
field?: string | string[];
|
|
32
|
+
condition?: string;
|
|
33
|
+
values?: [EvaluatedFormula];
|
|
34
|
+
conditions?: IFormulaCondition[];
|
|
35
|
+
fields?: string[];
|
|
36
|
+
formula?: string;
|
|
37
|
+
type?: string;
|
|
38
|
+
value: string | number;
|
|
39
|
+
}
|
|
40
|
+
export interface IComplexCondition {
|
|
41
|
+
fields: FormulaFields;
|
|
42
|
+
base?: string;
|
|
43
|
+
conditions: IConditionalField | IConditionalField[];
|
|
44
|
+
condition?: string;
|
|
45
|
+
arrayFieldName?: string;
|
|
46
|
+
arrayFieldProperty?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface IConditionalFormula {
|
|
49
|
+
name: string;
|
|
50
|
+
type?: FormulaType;
|
|
51
|
+
fields?: FormulaFields;
|
|
52
|
+
formula: IComplexCondition | string;
|
|
53
|
+
conditions?: IConditionalField[];
|
|
54
|
+
emptyValue?: string | number;
|
|
55
|
+
propertyValue?: string;
|
|
56
|
+
propertyToSet?: string;
|
|
57
|
+
formulas?: any[];
|
|
58
|
+
arrayFieldName?: string;
|
|
59
|
+
arrayFieldProperty?: string;
|
|
60
|
+
}
|
|
61
|
+
export type ParserData = {
|
|
62
|
+
parser: Parser;
|
|
63
|
+
tokens: Token[];
|
|
64
|
+
[key: string]: any;
|
|
65
|
+
};
|
|
66
|
+
export type FormulaType = "basic" | "base-conditional" | "value-conditions" | "comparison" | "array" | "iterative-array" | undefined;
|
|
67
|
+
export type FormulaObserver = ISimpleFormula | IConditionalFormula;
|
|
68
|
+
//# sourceMappingURL=formulas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formulas.d.ts","sourceRoot":"","sources":["../../../src/formulas/types/formulas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formulas.js","sourceRoot":"","sources":["../../../src/formulas/types/formulas.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formulas/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formulas/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IComplexCondition } from '../types/formulas';
|
|
2
|
+
export declare class FormulaArray {
|
|
3
|
+
#private;
|
|
4
|
+
get formula(): string | IComplexCondition;
|
|
5
|
+
get base(): string;
|
|
6
|
+
get value(): any[];
|
|
7
|
+
get name(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Represents the fields defined in the plugin settings
|
|
10
|
+
*/
|
|
11
|
+
get fields(): string[];
|
|
12
|
+
get conditions(): import("../types/formulas").IConditionalField | import("../types/formulas").IConditionalField[];
|
|
13
|
+
get variables(): string[];
|
|
14
|
+
constructor(parent: any, plugin: any, specs: any);
|
|
15
|
+
initialize(): void;
|
|
16
|
+
evaluate: (data: {
|
|
17
|
+
formulas: any[];
|
|
18
|
+
values: any;
|
|
19
|
+
}) => {};
|
|
20
|
+
calculate(): Promise<void>;
|
|
21
|
+
private sanitizeData;
|
|
22
|
+
private sanitizeValue;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=array-formula.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-formula.d.ts","sourceRoot":"","sources":["../../../src/formulas/variants/array-formula.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,qBAAa,YAAY;;IAGrB,IAAI,OAAO,+BAEV;IACD,IAAI,IAAI,WAGP;IAED,IAAI,KAAK,UAER;IACD,IAAI,IAAI,WAEP;IACD;;OAEG;IACH,IAAI,MAAM,aAGT;IAED,IAAI,UAAU,oGAIb;IAID,IAAI,SAAS,aAEZ;gBAQW,MAAM,KAAA,EAAE,MAAM,KAAA,EAAE,KAAK,KAAA;IAWjC,UAAU;IAIV,QAAQ,GAAI,MAAM;QAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,QAgChD;IAEI,SAAS;IAoBf,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,aAAa;CAGxB"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _FormulaArray_plugin, _FormulaArray_specs, _FormulaArray_value, _FormulaArray_emptyValue, _FormulaArray_variables, _FormulaArray_round, _FormulaArray_ceil, _FormulaArray_parent, _FormulaArray_formulaField;
|
|
13
|
+
import { EvaluationsManager } from '../helpers/evaluations';
|
|
14
|
+
import { parse } from 'mathjs';
|
|
15
|
+
export class FormulaArray {
|
|
16
|
+
get formula() {
|
|
17
|
+
return __classPrivateFieldGet(this, _FormulaArray_specs, "f").formula;
|
|
18
|
+
}
|
|
19
|
+
get base() {
|
|
20
|
+
const formula = __classPrivateFieldGet(this, _FormulaArray_specs, "f").formula;
|
|
21
|
+
return formula.base;
|
|
22
|
+
}
|
|
23
|
+
get value() {
|
|
24
|
+
return __classPrivateFieldGet(this, _FormulaArray_value, "f");
|
|
25
|
+
}
|
|
26
|
+
get name() {
|
|
27
|
+
return __classPrivateFieldGet(this, _FormulaArray_specs, "f").name;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Represents the fields defined in the plugin settings
|
|
31
|
+
*/
|
|
32
|
+
get fields() {
|
|
33
|
+
const formula = this.formula;
|
|
34
|
+
return typeof formula?.fields === 'string' ? [formula?.fields] : formula?.fields;
|
|
35
|
+
}
|
|
36
|
+
get conditions() {
|
|
37
|
+
if (typeof __classPrivateFieldGet(this, _FormulaArray_specs, "f").formula === 'string')
|
|
38
|
+
return;
|
|
39
|
+
const formula = __classPrivateFieldGet(this, _FormulaArray_specs, "f").formula;
|
|
40
|
+
return formula.conditions;
|
|
41
|
+
}
|
|
42
|
+
get variables() {
|
|
43
|
+
return __classPrivateFieldGet(this, _FormulaArray_variables, "f");
|
|
44
|
+
}
|
|
45
|
+
constructor(parent, plugin, specs) {
|
|
46
|
+
_FormulaArray_plugin.set(this, void 0);
|
|
47
|
+
_FormulaArray_specs.set(this, void 0);
|
|
48
|
+
_FormulaArray_value.set(this, []);
|
|
49
|
+
_FormulaArray_emptyValue.set(this, void 0);
|
|
50
|
+
_FormulaArray_variables.set(this, []);
|
|
51
|
+
_FormulaArray_round.set(this, void 0);
|
|
52
|
+
_FormulaArray_ceil.set(this, void 0);
|
|
53
|
+
_FormulaArray_parent.set(this, void 0);
|
|
54
|
+
_FormulaArray_formulaField.set(this, void 0);
|
|
55
|
+
this.evaluate = (data) => {
|
|
56
|
+
const values = {};
|
|
57
|
+
for (const formula of data.formulas) {
|
|
58
|
+
let result;
|
|
59
|
+
let formulaEvaluate = formula.formula;
|
|
60
|
+
try {
|
|
61
|
+
if (formula.conditions) {
|
|
62
|
+
for (const condition of formula.conditions) {
|
|
63
|
+
const comparisonValue = { ...data.values, ...values }[condition.property];
|
|
64
|
+
let conditionMet = EvaluationsManager.validate(condition.condition, comparisonValue, condition.value);
|
|
65
|
+
if (conditionMet) {
|
|
66
|
+
formulaEvaluate = condition.formula;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const attrs = this.sanitizeData({ ...data.values, ...values });
|
|
72
|
+
result = parse(formulaEvaluate).evaluate(attrs);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.log("Error evaluating formula:", formula.formula, "Error:", error);
|
|
76
|
+
}
|
|
77
|
+
const isInvalidResult = [-Infinity, Infinity, undefined, null, NaN].includes(result);
|
|
78
|
+
if (formula.round && !isInvalidResult)
|
|
79
|
+
result = Math.round(result);
|
|
80
|
+
if (formula.ceil && !isInvalidResult)
|
|
81
|
+
result = Math.ceil(result);
|
|
82
|
+
result = isInvalidResult ? formula.emptyValue : Number(result.toFixed(2));
|
|
83
|
+
values[formula.propertyToSet] = result;
|
|
84
|
+
}
|
|
85
|
+
return values;
|
|
86
|
+
};
|
|
87
|
+
__classPrivateFieldSet(this, _FormulaArray_parent, parent, "f");
|
|
88
|
+
__classPrivateFieldSet(this, _FormulaArray_plugin, plugin, "f");
|
|
89
|
+
__classPrivateFieldSet(this, _FormulaArray_specs, specs, "f");
|
|
90
|
+
__classPrivateFieldSet(this, _FormulaArray_round, specs.round, "f");
|
|
91
|
+
__classPrivateFieldSet(this, _FormulaArray_ceil, specs.ceil, "f");
|
|
92
|
+
__classPrivateFieldGet(this, _FormulaArray_specs, "f").emptyValue = specs.emptyValue;
|
|
93
|
+
__classPrivateFieldSet(this, _FormulaArray_formulaField, __classPrivateFieldGet(this, _FormulaArray_plugin, "f").form.getField(this.name), "f");
|
|
94
|
+
}
|
|
95
|
+
initialize() {
|
|
96
|
+
__classPrivateFieldGet(this, _FormulaArray_formulaField, "f").on('change', this.calculate.bind(this));
|
|
97
|
+
}
|
|
98
|
+
;
|
|
99
|
+
async calculate() {
|
|
100
|
+
const formulaField = __classPrivateFieldGet(this, _FormulaArray_plugin, "f").form.getField(this.name);
|
|
101
|
+
if (!formulaField)
|
|
102
|
+
return;
|
|
103
|
+
const value = formulaField[__classPrivateFieldGet(this, _FormulaArray_specs, "f").propertyValue || 'entries'];
|
|
104
|
+
if (!value || !Array.isArray(value) || !value.length) {
|
|
105
|
+
formulaField.set({ [__classPrivateFieldGet(this, _FormulaArray_specs, "f").propertyValue]: [] });
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
;
|
|
109
|
+
const newValue = value.map(item => {
|
|
110
|
+
let results = this.evaluate({ formulas: __classPrivateFieldGet(this, _FormulaArray_specs, "f").formulas, values: item });
|
|
111
|
+
return {
|
|
112
|
+
...item,
|
|
113
|
+
...results
|
|
114
|
+
};
|
|
115
|
+
});
|
|
116
|
+
__classPrivateFieldSet(this, _FormulaArray_value, newValue, "f");
|
|
117
|
+
formulaField.set({ [__classPrivateFieldGet(this, _FormulaArray_specs, "f").propertyValue]: newValue });
|
|
118
|
+
}
|
|
119
|
+
;
|
|
120
|
+
sanitizeData(data) {
|
|
121
|
+
if (Array.isArray(data)) {
|
|
122
|
+
return data.map(item => this.sanitizeData(item));
|
|
123
|
+
}
|
|
124
|
+
else if (typeof data === 'object' && data !== null) {
|
|
125
|
+
const sanitizedData = {};
|
|
126
|
+
for (const key in data) {
|
|
127
|
+
if (data.hasOwnProperty(key)) {
|
|
128
|
+
sanitizedData[key] = this.sanitizeData(data[key]);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return sanitizedData;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
return this.sanitizeValue(data);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
sanitizeValue(value, defaultValue = 0) {
|
|
138
|
+
return (value === null || value === undefined || isNaN(value)) ? defaultValue : Number(value);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
_FormulaArray_plugin = new WeakMap(), _FormulaArray_specs = new WeakMap(), _FormulaArray_value = new WeakMap(), _FormulaArray_emptyValue = new WeakMap(), _FormulaArray_variables = new WeakMap(), _FormulaArray_round = new WeakMap(), _FormulaArray_ceil = new WeakMap(), _FormulaArray_parent = new WeakMap(), _FormulaArray_formulaField = new WeakMap();
|
|
142
|
+
//# sourceMappingURL=array-formula.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-formula.js","sourceRoot":"","sources":["../../../src/formulas/variants/array-formula.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,MAAM,OAAO,YAAY;IAGrB,IAAI,OAAO;QACP,OAAO,uBAAA,IAAI,2BAAO,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI;QACJ,MAAM,OAAO,GAAsB,uBAAA,IAAI,2BAAO,CAAC,OAAO,CAAC;QACvD,OAAO,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,uBAAA,IAAI,2BAAO,CAAC;IACvB,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,uBAAA,IAAI,2BAAO,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD;;OAEG;IACH,IAAI,MAAM;QACN,MAAM,OAAO,GAAsB,IAAI,CAAC,OAAO,CAAC;QAChD,OAAO,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;IACrF,CAAC;IAED,IAAI,UAAU;QACV,IAAI,OAAO,uBAAA,IAAI,2BAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO;QACpD,MAAM,OAAO,GAAG,uBAAA,IAAI,2BAAO,CAAC,OAA4B,CAAC;QACzD,OAAO,OAAO,CAAC,UAAU,CAAC;IAC9B,CAAC;IAID,IAAI,SAAS;QACT,OAAO,uBAAA,IAAI,+BAAW,CAAC;IAC3B,CAAC;IAQD,YAAY,MAAM,EAAE,MAAM,EAAE,KAAK;QA1CjC,uCAAa;QACb,sCAAwB;QAQxB,8BAAgB,EAAE,EAAC;QAqBnB,2CAA6B;QAC7B,kCAAuB,EAAE,EAAC;QAK1B,sCAAgB;QAChB,qCAAc;QAEd,uCAAwB;QAExB,6CAAa;QAgBb,aAAQ,GAAG,CAAC,IAAsC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,EAAE,CAAC;YAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAElC,IAAI,MAAM,CAAC;gBACX,IAAI,eAAe,GAAG,OAAO,CAAC,OAAO,CAAA;gBACrC,IAAI,CAAC;oBACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBACrB,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;4BACzC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;4BACzE,IAAI,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;4BACtG,IAAI,YAAY,EAAE,CAAC;gCACf,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;gCACpC,MAAK;4BACT,CAAC;wBACL,CAAC;oBACL,CAAC;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;oBAE/D,MAAM,GAAG,KAAK,CAAC,eAAyB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAE9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC/E,CAAC;gBACD,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAErF,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,eAAe;oBAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnE,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe;oBAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;YAC3C,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QA9CE,uBAAA,IAAI,wBAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,wBAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,uBAAU,KAAK,MAAA,CAAC;QACpB,uBAAA,IAAI,uBAAU,KAAK,CAAC,KAAK,MAAA,CAAC;QAC1B,uBAAA,IAAI,sBAAS,KAAK,CAAC,IAAI,MAAA,CAAC;QACxB,uBAAA,IAAI,2BAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAE1C,uBAAA,IAAI,8BAAiB,uBAAA,IAAI,4BAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAC;IAC/D,CAAC;IAED,UAAU;QACN,uBAAA,IAAI,kCAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAA,CAAC;IAoCF,KAAK,CAAC,SAAS;QACX,MAAM,YAAY,GAAG,uBAAA,IAAI,4BAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,uBAAA,IAAI,2BAAO,CAAC,aAAa,IAAI,SAAS,CAAC,CAAA;QAClE,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACnD,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,uBAAA,IAAI,2BAAO,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,OAAM;QACV,CAAC;QAAA,CAAC;QACF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,uBAAA,IAAI,2BAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7E,OAAO;gBACH,GAAG,IAAI;gBACP,GAAG,OAAO;aACb,CAAA;QACL,CAAC,CAAC,CAAC;QACH,uBAAA,IAAI,uBAAU,QAAQ,MAAA,CAAA;QACtB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,uBAAA,IAAI,2BAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC/D,CAAC;IAAA,CAAC;IAGM,YAAY,CAAC,IAAS;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,aAAa,GAAQ,EAAE,CAAC;YAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;YACD,OAAO,aAAa,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,KAAU,EAAE,eAAuB,CAAC;QACtD,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClG,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/formulas/variants/base.ts"],"names":[],"mappings":"AAAA,8BAAsB,qBAAqB;IAC1C,QAAQ,CAAC,UAAU,IAAI,IAAI;IAC3B,QAAQ,CAAC,QAAQ,IAAI,IAAI;IACzB,QAAQ,CAAC,SAAS,IAAI,IAAI;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/formulas/variants/base.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,qBAAqB;CAI1C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IComplexCondition, IConditionalField } from '../types/formulas';
|
|
2
|
+
export declare class FormulaBasic {
|
|
3
|
+
#private;
|
|
4
|
+
get formula(): string | IComplexCondition;
|
|
5
|
+
get base(): string;
|
|
6
|
+
get value(): string | number;
|
|
7
|
+
get name(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Represents the fields defined in the plugin settings
|
|
10
|
+
*/
|
|
11
|
+
get fields(): string[];
|
|
12
|
+
get conditions(): IConditionalField | IConditionalField[];
|
|
13
|
+
get variables(): string[];
|
|
14
|
+
constructor(parent: any, plugin: any, specs: any);
|
|
15
|
+
initialize(): void;
|
|
16
|
+
calculate(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=basic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../src/formulas/variants/basic.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,iBAAiB,EACjB,iBAAiB,EACpB,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,YAAY;;IAIrB,IAAI,OAAO,+BAEV;IACD,IAAI,IAAI,WAGP;IAED,IAAI,KAAK,oBAER;IACD,IAAI,IAAI,WAEP;IACD;;OAEG;IACH,IAAI,MAAM,aAKT;IAED,IAAI,UAAU,4CAIb;IAID,IAAI,SAAS,aAEZ;gBAQW,MAAM,KAAA,EAAE,MAAM,KAAA,EAAE,KAAK,KAAA;IAWjC,UAAU;IAqBJ,SAAS;CAkDlB"}
|