@defra/forms-model 3.0.10 → 3.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/components/component-types.js +1 -5
- package/dist/module/components/component-types.js.map +1 -1
- package/dist/module/components/conditional-component-types.js +1 -5
- package/dist/module/components/conditional-component-types.js.map +1 -1
- package/dist/module/components/enums.js +1 -5
- package/dist/module/components/enums.js.map +1 -1
- package/dist/module/components/index.js +3 -24
- package/dist/module/components/index.js.map +1 -1
- package/dist/module/components/types.js +1 -1
- package/dist/module/conditions/condition-abstract.js +3 -8
- package/dist/module/conditions/condition-abstract.js.map +1 -1
- package/dist/module/conditions/condition-field.js +3 -8
- package/dist/module/conditions/condition-field.js.map +1 -1
- package/dist/module/conditions/condition-group-def.js +1 -6
- package/dist/module/conditions/condition-group-def.js.map +1 -1
- package/dist/module/conditions/condition-group.js +4 -9
- package/dist/module/conditions/condition-group.js.map +1 -1
- package/dist/module/conditions/condition-model.js +20 -25
- package/dist/module/conditions/condition-model.js.map +1 -1
- package/dist/module/conditions/condition-operators.js +15 -23
- package/dist/module/conditions/condition-operators.js.map +1 -1
- package/dist/module/conditions/condition-ref.js +2 -7
- package/dist/module/conditions/condition-ref.js.map +1 -1
- package/dist/module/conditions/condition-value-abstract.js +3 -8
- package/dist/module/conditions/condition-value-abstract.js.map +1 -1
- package/dist/module/conditions/condition-value-registration.js +1 -6
- package/dist/module/conditions/condition-value-registration.js.map +1 -1
- package/dist/module/conditions/condition-values.js +12 -20
- package/dist/module/conditions/condition-values.js.map +1 -1
- package/dist/module/conditions/condition.js +9 -14
- package/dist/module/conditions/condition.js.map +1 -1
- package/dist/module/conditions/enums.js +1 -5
- package/dist/module/conditions/enums.js.map +1 -1
- package/dist/module/conditions/helpers.js +2 -7
- package/dist/module/conditions/helpers.js.map +1 -1
- package/dist/module/conditions/index.js +10 -139
- package/dist/module/conditions/index.js.map +1 -1
- package/dist/module/conditions/inline-condition-model.js +15 -26
- package/dist/module/conditions/inline-condition-model.js.map +1 -1
- package/dist/module/conditions/inline-condition-operators.js +15 -23
- package/dist/module/conditions/inline-condition-operators.js.map +1 -1
- package/dist/module/conditions/inline-condition-values.js +9 -17
- package/dist/module/conditions/inline-condition-values.js.map +1 -1
- package/dist/module/conditions/types.js +1 -1
- package/dist/module/conditions/types.js.map +1 -1
- package/dist/module/data-model/conditions-wrapper.js +3 -8
- package/dist/module/data-model/conditions-wrapper.js.map +1 -1
- package/dist/module/data-model/enums.js +1 -5
- package/dist/module/data-model/enums.js.map +1 -1
- package/dist/module/data-model/index.js +3 -24
- package/dist/module/data-model/index.js.map +1 -1
- package/dist/module/data-model/input-wrapper.js +3 -8
- package/dist/module/data-model/input-wrapper.js.map +1 -1
- package/dist/module/data-model/types.js +1 -5
- package/dist/module/data-model/types.js.map +1 -1
- package/dist/module/form/form-configuration.js +1 -6
- package/dist/module/form/form-configuration.js.map +1 -1
- package/dist/module/form/index.js +1 -10
- package/dist/module/form/index.js.map +1 -1
- package/dist/module/index.js +8 -91
- package/dist/module/index.js.map +1 -1
- package/dist/module/migration/index.js +1 -10
- package/dist/module/migration/index.js.map +1 -1
- package/dist/module/migration/migration.0-2.js +1 -5
- package/dist/module/migration/migration.0-2.js.map +1 -1
- package/dist/module/migration/migration.1-2.js +3 -6
- package/dist/module/migration/migration.1-2.js.map +1 -1
- package/dist/module/migration/types.js +1 -1
- package/dist/module/migration/whichMigrations.js +5 -9
- package/dist/module/migration/whichMigrations.js.map +1 -1
- package/dist/module/schema/index.js +1 -16
- package/dist/module/schema/index.js.map +1 -1
- package/dist/module/schema/schema.js +163 -167
- package/dist/module/schema/schema.js.map +1 -1
- package/dist/module/utils/helpers.js +5 -13
- package/dist/module/utils/helpers.js.map +1 -1
- package/dist/module/utils/logger.js +1 -6
- package/dist/module/utils/logger.js.map +1 -1
- package/dist/types/components/component-types.d.ts +1 -1
- package/dist/types/components/component-types.d.ts.map +1 -1
- package/dist/types/components/conditional-component-types.d.ts +1 -1
- package/dist/types/components/conditional-component-types.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +3 -3
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/conditions/condition-abstract.d.ts +1 -1
- package/dist/types/conditions/condition-abstract.d.ts.map +1 -1
- package/dist/types/conditions/condition-field.d.ts +1 -1
- package/dist/types/conditions/condition-field.d.ts.map +1 -1
- package/dist/types/conditions/condition-group-def.d.ts +2 -2
- package/dist/types/conditions/condition-group-def.d.ts.map +1 -1
- package/dist/types/conditions/condition-group.d.ts +2 -2
- package/dist/types/conditions/condition-group.d.ts.map +1 -1
- package/dist/types/conditions/condition-model.d.ts +5 -5
- package/dist/types/conditions/condition-model.d.ts.map +1 -1
- package/dist/types/conditions/condition-operators.d.ts +2 -2
- package/dist/types/conditions/condition-operators.d.ts.map +1 -1
- package/dist/types/conditions/condition-ref.d.ts +2 -2
- package/dist/types/conditions/condition-ref.d.ts.map +1 -1
- package/dist/types/conditions/condition-value-abstract.d.ts +1 -1
- package/dist/types/conditions/condition-value-abstract.d.ts.map +1 -1
- package/dist/types/conditions/condition-values.d.ts +3 -3
- package/dist/types/conditions/condition-values.d.ts.map +1 -1
- package/dist/types/conditions/condition.d.ts +4 -4
- package/dist/types/conditions/condition.d.ts.map +1 -1
- package/dist/types/conditions/index.d.ts +10 -10
- package/dist/types/conditions/index.d.ts.map +1 -1
- package/dist/types/conditions/types.d.ts +3 -3
- package/dist/types/conditions/types.d.ts.map +1 -1
- package/dist/types/data-model/conditions-wrapper.d.ts +1 -1
- package/dist/types/data-model/conditions-wrapper.d.ts.map +1 -1
- package/dist/types/data-model/index.d.ts +3 -3
- package/dist/types/data-model/index.d.ts.map +1 -1
- package/dist/types/data-model/input-wrapper.d.ts +2 -2
- package/dist/types/data-model/input-wrapper.d.ts.map +1 -1
- package/dist/types/data-model/types.d.ts +3 -3
- package/dist/types/data-model/types.d.ts.map +1 -1
- package/dist/types/form/index.d.ts +1 -1
- package/dist/types/form/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +11 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/migration/index.d.ts +1 -1
- package/dist/types/migration/index.d.ts.map +1 -1
- package/dist/types/migration/migration.0-2.d.ts +1 -1
- package/dist/types/migration/migration.0-2.d.ts.map +1 -1
- package/dist/types/migration/migration.1-2.d.ts +1 -1
- package/dist/types/migration/migration.1-2.d.ts.map +1 -1
- package/dist/types/migration/whichMigrations.d.ts +1 -1
- package/dist/types/migration/whichMigrations.d.ts.map +1 -1
- package/dist/types/schema/index.d.ts +1 -1
- package/dist/types/schema/index.d.ts.map +1 -1
- package/package.json +3 -4
- package/src/components/component-types.ts +1 -1
- package/src/components/conditional-component-types.ts +1 -1
- package/src/components/index.ts +3 -3
- package/src/conditions/condition-abstract.ts +1 -1
- package/src/conditions/condition-field.ts +2 -2
- package/src/conditions/condition-group-def.ts +1 -1
- package/src/conditions/condition-group.ts +3 -3
- package/src/conditions/condition-model.ts +9 -9
- package/src/conditions/condition-operators.ts +6 -3
- package/src/conditions/condition-ref.ts +2 -2
- package/src/conditions/condition-value-abstract.ts +1 -1
- package/src/conditions/condition-values.ts +3 -3
- package/src/conditions/condition.ts +6 -6
- package/src/conditions/index.ts +10 -10
- package/src/conditions/inline-condition-model.ts +3 -3
- package/src/conditions/inline-condition-operators.ts +1 -1
- package/src/conditions/types.ts +3 -3
- package/src/data-model/conditions-wrapper.ts +2 -2
- package/src/data-model/index.ts +3 -3
- package/src/data-model/input-wrapper.ts +3 -3
- package/src/data-model/types.ts +3 -3
- package/src/form/index.ts +1 -1
- package/src/index.ts +11 -11
- package/src/migration/index.ts +1 -1
- package/src/migration/migration.0-2.ts +1 -1
- package/src/migration/migration.1-2.ts +2 -2
- package/src/migration/whichMigrations.ts +3 -3
- package/src/schema/index.ts +1 -1
- package/dist/browser/components/component-types.js +0 -220
- package/dist/browser/components/component-types.js.map +0 -1
- package/dist/browser/components/conditional-component-types.js +0 -28
- package/dist/browser/components/conditional-component-types.js.map +0 -1
- package/dist/browser/components/enums.js +0 -46
- package/dist/browser/components/enums.js.map +0 -1
- package/dist/browser/components/index.js +0 -36
- package/dist/browser/components/index.js.map +0 -1
- package/dist/browser/components/types.js +0 -16
- package/dist/browser/components/types.js.map +0 -1
- package/dist/browser/conditions/condition-abstract.js +0 -62
- package/dist/browser/conditions/condition-abstract.js.map +0 -1
- package/dist/browser/conditions/condition-field.js +0 -45
- package/dist/browser/conditions/condition-field.js.map +0 -1
- package/dist/browser/conditions/condition-group-def.js +0 -45
- package/dist/browser/conditions/condition-group-def.js.map +0 -1
- package/dist/browser/conditions/condition-group.js +0 -64
- package/dist/browser/conditions/condition-group.js.map +0 -1
- package/dist/browser/conditions/condition-model.js +0 -214
- package/dist/browser/conditions/condition-model.js.map +0 -1
- package/dist/browser/conditions/condition-operators.js +0 -132
- package/dist/browser/conditions/condition-operators.js.map +0 -1
- package/dist/browser/conditions/condition-ref.js +0 -51
- package/dist/browser/conditions/condition-ref.js.map +0 -1
- package/dist/browser/conditions/condition-value-abstract.js +0 -41
- package/dist/browser/conditions/condition-value-abstract.js.map +0 -1
- package/dist/browser/conditions/condition-value-registration.js +0 -37
- package/dist/browser/conditions/condition-value-registration.js.map +0 -1
- package/dist/browser/conditions/condition-values.js +0 -127
- package/dist/browser/conditions/condition-values.js.map +0 -1
- package/dist/browser/conditions/condition.js +0 -56
- package/dist/browser/conditions/condition.js.map +0 -1
- package/dist/browser/conditions/enums.js +0 -24
- package/dist/browser/conditions/enums.js.map +0 -1
- package/dist/browser/conditions/helpers.js +0 -26
- package/dist/browser/conditions/helpers.js.map +0 -1
- package/dist/browser/conditions/index.js +0 -144
- package/dist/browser/conditions/index.js.map +0 -1
- package/dist/browser/conditions/inline-condition-model.js +0 -418
- package/dist/browser/conditions/inline-condition-model.js.map +0 -1
- package/dist/browser/conditions/inline-condition-operators.js +0 -132
- package/dist/browser/conditions/inline-condition-operators.js.map +0 -1
- package/dist/browser/conditions/inline-condition-values.js +0 -159
- package/dist/browser/conditions/inline-condition-values.js.map +0 -1
- package/dist/browser/conditions/types.js +0 -16
- package/dist/browser/conditions/types.js.map +0 -1
- package/dist/browser/data-model/conditions-wrapper.js +0 -49
- package/dist/browser/data-model/conditions-wrapper.js.map +0 -1
- package/dist/browser/data-model/enums.js +0 -25
- package/dist/browser/data-model/enums.js.map +0 -1
- package/dist/browser/data-model/index.js +0 -36
- package/dist/browser/data-model/index.js.map +0 -1
- package/dist/browser/data-model/input-wrapper.js +0 -49
- package/dist/browser/data-model/input-wrapper.js.map +0 -1
- package/dist/browser/data-model/types.js +0 -27
- package/dist/browser/data-model/types.js.map +0 -1
- package/dist/browser/form/form-configuration.js +0 -38
- package/dist/browser/form/form-configuration.js.map +0 -1
- package/dist/browser/form/index.js +0 -24
- package/dist/browser/form/index.js.map +0 -1
- package/dist/browser/index.js +0 -98
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/migration/index.js +0 -24
- package/dist/browser/migration/index.js.map +0 -1
- package/dist/browser/migration/migration.0-2.js +0 -65
- package/dist/browser/migration/migration.0-2.js.map +0 -1
- package/dist/browser/migration/migration.1-2.js +0 -108
- package/dist/browser/migration/migration.1-2.js.map +0 -1
- package/dist/browser/migration/types.js +0 -16
- package/dist/browser/migration/types.js.map +0 -1
- package/dist/browser/migration/whichMigrations.js +0 -38
- package/dist/browser/migration/whichMigrations.js.map +0 -1
- package/dist/browser/schema/index.js +0 -30
- package/dist/browser/schema/index.js.map +0 -1
- package/dist/browser/schema/schema.js +0 -255
- package/dist/browser/schema/schema.js.map +0 -1
- package/dist/browser/utils/helpers.js +0 -48
- package/dist/browser/utils/helpers.js.map +0 -1
- package/dist/browser/utils/logger.js +0 -46
- package/dist/browser/utils/logger.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition-abstract.js","names":["ConditionAbstract","constructor","coordinator","_defineProperty","Object","values","Coordinator","includes","Error","coordinatorString","getCoordinator","setCoordinator","isGroup","getGroupedConditions","_asFirstCondition","asFirstCondition","clone","conditionString","conditionExpression","_exports"],"sources":["../../../src/conditions/condition-abstract.ts"],"sourcesContent":["import { Coordinator } from '~/src/conditions/enums'\n\nexport class ConditionAbstract {\n coordinator: Coordinator | undefined\n\n constructor(coordinator: Coordinator | undefined) {\n if (coordinator && !Object.values(Coordinator).includes(coordinator)) {\n throw Error(`coordinator ${coordinator} is not a valid coordinator`)\n }\n\n this.coordinator = coordinator\n }\n\n coordinatorString() {\n return this.coordinator ? `${this.coordinator} ` : ''\n }\n\n getCoordinator() {\n return this.coordinator\n }\n\n setCoordinator(coordinator: Coordinator | undefined) {\n this.coordinator = coordinator\n }\n\n isGroup() {\n return false\n }\n\n getGroupedConditions() {\n return [this]\n }\n\n _asFirstCondition() {\n delete this.coordinator\n }\n\n asFirstCondition() {\n throw Error(\n 'Unsupported Operation. Method asFirstCondition have not been implemented'\n )\n }\n\n clone() {\n throw Error('Unsupported Operation. Method clone have not been implemented')\n }\n\n conditionString() {\n throw Error(\n 'Unsupported Operation. Method conditionString have not been implemented'\n )\n }\n\n conditionExpression() {\n throw Error(\n 'Unsupported Operation. Method conditionExpression have not been implemented'\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAEO,MAAMA,iBAAiB,CAAC;IAG7BC,WAAWA,CAACC,WAAoC,EAAE;MAAAC,eAAA;MAChD,IAAID,WAAW,IAAI,CAACE,MAAM,CAACC,MAAM,CAACC,kBAAW,CAAC,CAACC,QAAQ,CAACL,WAAW,CAAC,EAAE;QACpE,MAAMM,KAAK,CAAE,eAAcN,WAAY,6BAA4B,CAAC;MACtE;MAEA,IAAI,CAACA,WAAW,GAAGA,WAAW;IAChC;IAEAO,iBAAiBA,CAAA,EAAG;MAClB,OAAO,IAAI,CAACP,WAAW,GAAI,GAAE,IAAI,CAACA,WAAY,GAAE,GAAG,EAAE;IACvD;IAEAQ,cAAcA,CAAA,EAAG;MACf,OAAO,IAAI,CAACR,WAAW;IACzB;IAEAS,cAAcA,CAACT,WAAoC,EAAE;MACnD,IAAI,CAACA,WAAW,GAAGA,WAAW;IAChC;IAEAU,OAAOA,CAAA,EAAG;MACR,OAAO,KAAK;IACd;IAEAC,oBAAoBA,CAAA,EAAG;MACrB,OAAO,CAAC,IAAI,CAAC;IACf;IAEAC,iBAAiBA,CAAA,EAAG;MAClB,OAAO,IAAI,CAACZ,WAAW;IACzB;IAEAa,gBAAgBA,CAAA,EAAG;MACjB,MAAMP,KAAK,CACT,0EACF,CAAC;IACH;IAEAQ,KAAKA,CAAA,EAAG;MACN,MAAMR,KAAK,CAAC,+DAA+D,CAAC;IAC9E;IAEAS,eAAeA,CAAA,EAAG;MAChB,MAAMT,KAAK,CACT,yEACF,CAAC;IACH;IAEAU,mBAAmBA,CAAA,EAAG;MACpB,MAAMV,KAAK,CACT,6EACF,CAAC;IACH;EACF;EAACW,QAAA,CAAAnB,iBAAA,GAAAA,iBAAA;AAAA"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports", "../components"], factory);
|
|
4
|
-
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports, require("../components"));
|
|
6
|
-
} else {
|
|
7
|
-
var mod = {
|
|
8
|
-
exports: {}
|
|
9
|
-
};
|
|
10
|
-
factory(mod.exports, global.components);
|
|
11
|
-
global.conditionField = mod.exports;
|
|
12
|
-
}
|
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _components) {
|
|
14
|
-
"use strict";
|
|
15
|
-
|
|
16
|
-
_exports.__esModule = true;
|
|
17
|
-
_exports.ConditionField = void 0;
|
|
18
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
20
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
|
-
class ConditionField {
|
|
22
|
-
constructor(name, type, display) {
|
|
23
|
-
_defineProperty(this, "name", void 0);
|
|
24
|
-
_defineProperty(this, "type", void 0);
|
|
25
|
-
_defineProperty(this, "display", void 0);
|
|
26
|
-
if (!name || typeof name !== 'string') {
|
|
27
|
-
throw Error(`name ${name} is not valid`);
|
|
28
|
-
}
|
|
29
|
-
if (!_components.ComponentTypes.find(componentType => componentType.type === type)) {
|
|
30
|
-
throw Error(`type ${type} is not valid`);
|
|
31
|
-
}
|
|
32
|
-
if (!display || typeof display !== 'string') {
|
|
33
|
-
throw Error(`display ${display} is not valid`);
|
|
34
|
-
}
|
|
35
|
-
this.name = name;
|
|
36
|
-
this.type = type;
|
|
37
|
-
this.display = display;
|
|
38
|
-
}
|
|
39
|
-
static from(obj) {
|
|
40
|
-
return new ConditionField(obj.name, obj.type, obj.display);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
_exports.ConditionField = ConditionField;
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=condition-field.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition-field.js","names":["ConditionField","constructor","name","type","display","_defineProperty","Error","ComponentTypes","find","componentType","from","obj","_exports"],"sources":["../../../src/conditions/condition-field.ts"],"sourcesContent":["import { ComponentTypes } from '~/src/components'\nimport { type ComponentType } from '~/src/components/types'\n\nexport class ConditionField {\n name: string\n type: ComponentType\n display: string\n\n constructor(name: string, type: ComponentType, display: string) {\n if (!name || typeof name !== 'string') {\n throw Error(`name ${name} is not valid`)\n }\n\n if (!ComponentTypes.find((componentType) => componentType.type === type)) {\n throw Error(`type ${type} is not valid`)\n }\n\n if (!display || typeof display !== 'string') {\n throw Error(`display ${display} is not valid`)\n }\n\n this.name = name\n this.type = type\n this.display = display\n }\n\n static from(obj: { name: string; type: ComponentType; display: string }) {\n return new ConditionField(obj.name, obj.type, obj.display)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAGO,MAAMA,cAAc,CAAC;IAK1BC,WAAWA,CAACC,IAAY,EAAEC,IAAmB,EAAEC,OAAe,EAAE;MAAAC,eAAA;MAAAA,eAAA;MAAAA,eAAA;MAC9D,IAAI,CAACH,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QACrC,MAAMI,KAAK,CAAE,QAAOJ,IAAK,eAAc,CAAC;MAC1C;MAEA,IAAI,CAACK,0BAAc,CAACC,IAAI,CAAEC,aAAa,IAAKA,aAAa,CAACN,IAAI,KAAKA,IAAI,CAAC,EAAE;QACxE,MAAMG,KAAK,CAAE,QAAOH,IAAK,eAAc,CAAC;MAC1C;MAEA,IAAI,CAACC,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;QAC3C,MAAME,KAAK,CAAE,WAAUF,OAAQ,eAAc,CAAC;MAChD;MAEA,IAAI,CAACF,IAAI,GAAGA,IAAI;MAChB,IAAI,CAACC,IAAI,GAAGA,IAAI;MAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACxB;IAEA,OAAOM,IAAIA,CAACC,GAA2D,EAAE;MACvE,OAAO,IAAIX,cAAc,CAACW,GAAG,CAACT,IAAI,EAAES,GAAG,CAACR,IAAI,EAAEQ,GAAG,CAACP,OAAO,CAAC;IAC5D;EACF;EAACQ,QAAA,CAAAZ,cAAA,GAAAA,cAAA;AAAA"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports"], factory);
|
|
4
|
-
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports);
|
|
6
|
-
} else {
|
|
7
|
-
var mod = {
|
|
8
|
-
exports: {}
|
|
9
|
-
};
|
|
10
|
-
factory(mod.exports);
|
|
11
|
-
global.conditionGroupDef = mod.exports;
|
|
12
|
-
}
|
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {
|
|
14
|
-
"use strict";
|
|
15
|
-
|
|
16
|
-
_exports.__esModule = true;
|
|
17
|
-
_exports.ConditionGroupDef = void 0;
|
|
18
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
20
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
|
-
class ConditionGroupDef {
|
|
22
|
-
constructor(first, last) {
|
|
23
|
-
_defineProperty(this, "first", void 0);
|
|
24
|
-
_defineProperty(this, "last", void 0);
|
|
25
|
-
if (typeof first !== 'number' || typeof last !== 'number') {
|
|
26
|
-
throw Error(`Cannot construct a group from ${first} and ${last}`);
|
|
27
|
-
} else if (first >= last) {
|
|
28
|
-
throw Error(`Last (${last}) must be greater than first (${first})`);
|
|
29
|
-
}
|
|
30
|
-
this.first = first;
|
|
31
|
-
this.last = last;
|
|
32
|
-
}
|
|
33
|
-
contains(index) {
|
|
34
|
-
return this.first <= index && this.last >= index;
|
|
35
|
-
}
|
|
36
|
-
startsWith(index) {
|
|
37
|
-
return this.first === index;
|
|
38
|
-
}
|
|
39
|
-
applyTo(conditions) {
|
|
40
|
-
return [...conditions].splice(this.first, this.last - this.first + 1);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
_exports.ConditionGroupDef = ConditionGroupDef;
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=condition-group-def.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition-group-def.js","names":["ConditionGroupDef","constructor","first","last","_defineProperty","Error","contains","index","startsWith","applyTo","conditions","splice","_exports"],"sources":["../../../src/conditions/condition-group-def.ts"],"sourcesContent":["import { type ConditionsArray } from '~/src/conditions/types'\n\nexport class ConditionGroupDef {\n first: number\n last: number\n\n constructor(first: number, last: number) {\n if (typeof first !== 'number' || typeof last !== 'number') {\n throw Error(`Cannot construct a group from ${first} and ${last}`)\n } else if (first >= last) {\n throw Error(`Last (${last}) must be greater than first (${first})`)\n }\n\n this.first = first\n this.last = last\n }\n\n contains(index: number) {\n return this.first <= index && this.last >= index\n }\n\n startsWith(index: number) {\n return this.first === index\n }\n\n applyTo(conditions: ConditionsArray) {\n return [...conditions].splice(this.first, this.last - this.first + 1)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAEO,MAAMA,iBAAiB,CAAC;IAI7BC,WAAWA,CAACC,KAAa,EAAEC,IAAY,EAAE;MAAAC,eAAA;MAAAA,eAAA;MACvC,IAAI,OAAOF,KAAK,KAAK,QAAQ,IAAI,OAAOC,IAAI,KAAK,QAAQ,EAAE;QACzD,MAAME,KAAK,CAAE,iCAAgCH,KAAM,QAAOC,IAAK,EAAC,CAAC;MACnE,CAAC,MAAM,IAAID,KAAK,IAAIC,IAAI,EAAE;QACxB,MAAME,KAAK,CAAE,SAAQF,IAAK,iCAAgCD,KAAM,GAAE,CAAC;MACrE;MAEA,IAAI,CAACA,KAAK,GAAGA,KAAK;MAClB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAClB;IAEAG,QAAQA,CAACC,KAAa,EAAE;MACtB,OAAO,IAAI,CAACL,KAAK,IAAIK,KAAK,IAAI,IAAI,CAACJ,IAAI,IAAII,KAAK;IAClD;IAEAC,UAAUA,CAACD,KAAa,EAAE;MACxB,OAAO,IAAI,CAACL,KAAK,KAAKK,KAAK;IAC7B;IAEAE,OAAOA,CAACC,UAA2B,EAAE;MACnC,OAAO,CAAC,GAAGA,UAAU,CAAC,CAACC,MAAM,CAAC,IAAI,CAACT,KAAK,EAAE,IAAI,CAACC,IAAI,GAAG,IAAI,CAACD,KAAK,GAAG,CAAC,CAAC;IACvE;EACF;EAACU,QAAA,CAAAZ,iBAAA,GAAAA,iBAAA;AAAA"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports", "./helpers"], factory);
|
|
4
|
-
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports, require("./helpers"));
|
|
6
|
-
} else {
|
|
7
|
-
var mod = {
|
|
8
|
-
exports: {}
|
|
9
|
-
};
|
|
10
|
-
factory(mod.exports, global.helpers);
|
|
11
|
-
global.conditionGroup = mod.exports;
|
|
12
|
-
}
|
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _helpers) {
|
|
14
|
-
"use strict";
|
|
15
|
-
|
|
16
|
-
_exports.__esModule = true;
|
|
17
|
-
_exports.ConditionGroup = void 0;
|
|
18
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
20
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
|
-
class ConditionGroup {
|
|
22
|
-
constructor(conditions = []) {
|
|
23
|
-
_defineProperty(this, "conditions", void 0);
|
|
24
|
-
if (!Array.isArray(conditions) || conditions.length < 2) {
|
|
25
|
-
throw Error('Cannot construct a condition group from a single condition');
|
|
26
|
-
}
|
|
27
|
-
this.conditions = conditions;
|
|
28
|
-
}
|
|
29
|
-
coordinatorString() {
|
|
30
|
-
return this.conditions[0].coordinatorString();
|
|
31
|
-
}
|
|
32
|
-
conditionString() {
|
|
33
|
-
const copy = [...this.conditions];
|
|
34
|
-
copy.splice(0, 1);
|
|
35
|
-
return `(${this.conditions[0].conditionString()} ${copy.map(condition => (0, _helpers.toPresentationString)(condition)).join(' ')})`;
|
|
36
|
-
}
|
|
37
|
-
conditionExpression() {
|
|
38
|
-
const copy = [...this.conditions];
|
|
39
|
-
copy.splice(0, 1);
|
|
40
|
-
return `(${this.conditions[0].conditionExpression()} ${copy.map(condition => (0, _helpers.toExpression)(condition)).join(' ')})`;
|
|
41
|
-
}
|
|
42
|
-
asFirstCondition() {
|
|
43
|
-
this.conditions[0].asFirstCondition();
|
|
44
|
-
return this;
|
|
45
|
-
}
|
|
46
|
-
getCoordinator() {
|
|
47
|
-
return this.conditions[0].getCoordinator();
|
|
48
|
-
}
|
|
49
|
-
setCoordinator(coordinator) {
|
|
50
|
-
this.conditions[0].setCoordinator(coordinator);
|
|
51
|
-
}
|
|
52
|
-
isGroup() {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
getGroupedConditions() {
|
|
56
|
-
return this.conditions.map(condition => condition.clone());
|
|
57
|
-
}
|
|
58
|
-
clone() {
|
|
59
|
-
return new ConditionGroup(this.conditions.map(condition => condition.clone()));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
_exports.ConditionGroup = ConditionGroup;
|
|
63
|
-
});
|
|
64
|
-
//# sourceMappingURL=condition-group.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition-group.js","names":["ConditionGroup","constructor","conditions","_defineProperty","Array","isArray","length","Error","coordinatorString","conditionString","copy","splice","map","condition","toPresentationString","join","conditionExpression","toExpression","asFirstCondition","getCoordinator","setCoordinator","coordinator","isGroup","getGroupedConditions","clone","_exports"],"sources":["../../../src/conditions/condition-group.ts"],"sourcesContent":["import { Coordinator } from '~/src/conditions/enums'\nimport { toPresentationString, toExpression } from '~/src/conditions/helpers'\nimport { type ConditionsArray } from '~/src/conditions/types'\n\nexport class ConditionGroup {\n conditions: ConditionsArray\n\n constructor(conditions: ConditionsArray = []) {\n if (!Array.isArray(conditions) || conditions.length < 2) {\n throw Error('Cannot construct a condition group from a single condition')\n }\n\n this.conditions = conditions\n }\n\n coordinatorString() {\n return this.conditions[0].coordinatorString()\n }\n\n conditionString() {\n const copy = [...this.conditions]\n copy.splice(0, 1)\n return `(${this.conditions[0].conditionString()} ${copy\n .map((condition) => toPresentationString(condition))\n .join(' ')})`\n }\n\n conditionExpression() {\n const copy = [...this.conditions]\n copy.splice(0, 1)\n return `(${this.conditions[0].conditionExpression()} ${copy\n .map((condition) => toExpression(condition))\n .join(' ')})`\n }\n\n asFirstCondition() {\n this.conditions[0].asFirstCondition()\n return this\n }\n\n getCoordinator() {\n return this.conditions[0].getCoordinator()\n }\n\n setCoordinator(coordinator: Coordinator | undefined) {\n this.conditions[0].setCoordinator(coordinator)\n }\n\n isGroup() {\n return true\n }\n\n getGroupedConditions() {\n return this.conditions.map((condition) => condition.clone())\n }\n\n clone() {\n return new ConditionGroup(\n this.conditions.map((condition) => condition.clone())\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAIO,MAAMA,cAAc,CAAC;IAG1BC,WAAWA,CAACC,UAA2B,GAAG,EAAE,EAAE;MAAAC,eAAA;MAC5C,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,IAAIA,UAAU,CAACI,MAAM,GAAG,CAAC,EAAE;QACvD,MAAMC,KAAK,CAAC,4DAA4D,CAAC;MAC3E;MAEA,IAAI,CAACL,UAAU,GAAGA,UAAU;IAC9B;IAEAM,iBAAiBA,CAAA,EAAG;MAClB,OAAO,IAAI,CAACN,UAAU,CAAC,CAAC,CAAC,CAACM,iBAAiB,CAAC,CAAC;IAC/C;IAEAC,eAAeA,CAAA,EAAG;MAChB,MAAMC,IAAI,GAAG,CAAC,GAAG,IAAI,CAACR,UAAU,CAAC;MACjCQ,IAAI,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;MACjB,OAAQ,IAAG,IAAI,CAACT,UAAU,CAAC,CAAC,CAAC,CAACO,eAAe,CAAC,CAAE,IAAGC,IAAI,CACpDE,GAAG,CAAEC,SAAS,IAAK,IAAAC,6BAAoB,EAACD,SAAS,CAAC,CAAC,CACnDE,IAAI,CAAC,GAAG,CAAE,GAAE;IACjB;IAEAC,mBAAmBA,CAAA,EAAG;MACpB,MAAMN,IAAI,GAAG,CAAC,GAAG,IAAI,CAACR,UAAU,CAAC;MACjCQ,IAAI,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;MACjB,OAAQ,IAAG,IAAI,CAACT,UAAU,CAAC,CAAC,CAAC,CAACc,mBAAmB,CAAC,CAAE,IAAGN,IAAI,CACxDE,GAAG,CAAEC,SAAS,IAAK,IAAAI,qBAAY,EAACJ,SAAS,CAAC,CAAC,CAC3CE,IAAI,CAAC,GAAG,CAAE,GAAE;IACjB;IAEAG,gBAAgBA,CAAA,EAAG;MACjB,IAAI,CAAChB,UAAU,CAAC,CAAC,CAAC,CAACgB,gBAAgB,CAAC,CAAC;MACrC,OAAO,IAAI;IACb;IAEAC,cAAcA,CAAA,EAAG;MACf,OAAO,IAAI,CAACjB,UAAU,CAAC,CAAC,CAAC,CAACiB,cAAc,CAAC,CAAC;IAC5C;IAEAC,cAAcA,CAACC,WAAoC,EAAE;MACnD,IAAI,CAACnB,UAAU,CAAC,CAAC,CAAC,CAACkB,cAAc,CAACC,WAAW,CAAC;IAChD;IAEAC,OAAOA,CAAA,EAAG;MACR,OAAO,IAAI;IACb;IAEAC,oBAAoBA,CAAA,EAAG;MACrB,OAAO,IAAI,CAACrB,UAAU,CAACU,GAAG,CAAEC,SAAS,IAAKA,SAAS,CAACW,KAAK,CAAC,CAAC,CAAC;IAC9D;IAEAA,KAAKA,CAAA,EAAG;MACN,OAAO,IAAIxB,cAAc,CACvB,IAAI,CAACE,UAAU,CAACU,GAAG,CAAEC,SAAS,IAAKA,SAAS,CAACW,KAAK,CAAC,CAAC,CACtD,CAAC;IACH;EACF;EAACC,QAAA,CAAAzB,cAAA,GAAAA,cAAA;AAAA"}
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports", "./condition-field", "./condition-group-def", "./condition", "./condition-ref", "./condition-group", "./condition-values", "./enums", "./helpers"], factory);
|
|
4
|
-
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports, require("./condition-field"), require("./condition-group-def"), require("./condition"), require("./condition-ref"), require("./condition-group"), require("./condition-values"), require("./enums"), require("./helpers"));
|
|
6
|
-
} else {
|
|
7
|
-
var mod = {
|
|
8
|
-
exports: {}
|
|
9
|
-
};
|
|
10
|
-
factory(mod.exports, global.conditionField, global.conditionGroupDef, global.condition, global.conditionRef, global.conditionGroup, global.conditionValues, global.enums, global.helpers);
|
|
11
|
-
global.conditionModel = mod.exports;
|
|
12
|
-
}
|
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _conditionField, _conditionGroupDef, _condition2, _conditionRef, _conditionGroup, _conditionValues, _enums, _helpers) {
|
|
14
|
-
"use strict";
|
|
15
|
-
|
|
16
|
-
_exports.__esModule = true;
|
|
17
|
-
_exports.ConditionsModel = void 0;
|
|
18
|
-
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
19
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
20
|
-
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
21
|
-
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
22
|
-
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
23
|
-
var _groupedConditions = /*#__PURE__*/new WeakMap();
|
|
24
|
-
var _userGroupedConditions = /*#__PURE__*/new WeakMap();
|
|
25
|
-
var _conditionName = /*#__PURE__*/new WeakMap();
|
|
26
|
-
class ConditionsModel {
|
|
27
|
-
constructor(_conditionsObject) {
|
|
28
|
-
_classPrivateFieldInitSpec(this, _groupedConditions, []);
|
|
29
|
-
_classPrivateFieldInitSpec(this, _userGroupedConditions, []);
|
|
30
|
-
_classPrivateFieldInitSpec(this, _conditionName, undefined);
|
|
31
|
-
}
|
|
32
|
-
clone() {
|
|
33
|
-
const toReturn = new ConditionsModel();
|
|
34
|
-
_classPrivateFieldSet(_groupedConditions, toReturn, _classPrivateFieldGet(_groupedConditions, this).map(it => it.clone()));
|
|
35
|
-
_classPrivateFieldSet(_userGroupedConditions, toReturn, _classPrivateFieldGet(_userGroupedConditions, this).map(it => it.clone()));
|
|
36
|
-
_classPrivateFieldSet(_conditionName, toReturn, _classPrivateFieldGet(_conditionName, this));
|
|
37
|
-
return toReturn;
|
|
38
|
-
}
|
|
39
|
-
clear() {
|
|
40
|
-
_classPrivateFieldSet(_userGroupedConditions, this, []);
|
|
41
|
-
_classPrivateFieldSet(_groupedConditions, this, []);
|
|
42
|
-
_classPrivateFieldSet(_conditionName, this, undefined);
|
|
43
|
-
return this;
|
|
44
|
-
}
|
|
45
|
-
set name(name) {
|
|
46
|
-
_classPrivateFieldSet(_conditionName, this, name);
|
|
47
|
-
}
|
|
48
|
-
get name() {
|
|
49
|
-
return _classPrivateFieldGet(_conditionName, this);
|
|
50
|
-
}
|
|
51
|
-
add(condition) {
|
|
52
|
-
const coordinatorExpected = _classPrivateFieldGet(_userGroupedConditions, this).length !== 0;
|
|
53
|
-
if (condition.getCoordinator() && !coordinatorExpected) {
|
|
54
|
-
throw Error('No coordinator allowed on the first condition');
|
|
55
|
-
} else if (!condition.getCoordinator() && coordinatorExpected) {
|
|
56
|
-
throw Error('Coordinator must be present on subsequent conditions');
|
|
57
|
-
}
|
|
58
|
-
_classPrivateFieldGet(_userGroupedConditions, this).push(condition);
|
|
59
|
-
_classPrivateFieldSet(_groupedConditions, this, this._applyGroups(_classPrivateFieldGet(_userGroupedConditions, this)));
|
|
60
|
-
return this;
|
|
61
|
-
}
|
|
62
|
-
replace(index, condition) {
|
|
63
|
-
const coordinatorExpected = index !== 0;
|
|
64
|
-
if (condition.getCoordinator() && !coordinatorExpected) {
|
|
65
|
-
throw Error('No coordinator allowed on the first condition');
|
|
66
|
-
} else if (!condition.getCoordinator() && coordinatorExpected) {
|
|
67
|
-
throw Error('Coordinator must be present on subsequent conditions');
|
|
68
|
-
} else if (index >= _classPrivateFieldGet(_userGroupedConditions, this).length) {
|
|
69
|
-
throw Error(`Cannot replace condition ${index} as no such condition exists`);
|
|
70
|
-
}
|
|
71
|
-
_classPrivateFieldGet(_userGroupedConditions, this).splice(index, 1, condition);
|
|
72
|
-
_classPrivateFieldSet(_groupedConditions, this, this._applyGroups(_classPrivateFieldGet(_userGroupedConditions, this)));
|
|
73
|
-
return this;
|
|
74
|
-
}
|
|
75
|
-
remove(indexes) {
|
|
76
|
-
_classPrivateFieldSet(_userGroupedConditions, this, _classPrivateFieldGet(_userGroupedConditions, this).filter((_condition, index) => !indexes.includes(index)).map((condition, index) => index === 0 ? condition.asFirstCondition() : condition));
|
|
77
|
-
_classPrivateFieldSet(_groupedConditions, this, this._applyGroups(_classPrivateFieldGet(_userGroupedConditions, this)));
|
|
78
|
-
return this;
|
|
79
|
-
}
|
|
80
|
-
addGroups(groupDefs) {
|
|
81
|
-
_classPrivateFieldSet(_userGroupedConditions, this, this._group(_classPrivateFieldGet(_userGroupedConditions, this), groupDefs));
|
|
82
|
-
_classPrivateFieldSet(_groupedConditions, this, this._applyGroups(_classPrivateFieldGet(_userGroupedConditions, this)));
|
|
83
|
-
return this;
|
|
84
|
-
}
|
|
85
|
-
splitGroup(index) {
|
|
86
|
-
_classPrivateFieldSet(_userGroupedConditions, this, this._ungroup(_classPrivateFieldGet(_userGroupedConditions, this), index));
|
|
87
|
-
_classPrivateFieldSet(_groupedConditions, this, this._applyGroups(_classPrivateFieldGet(_userGroupedConditions, this)));
|
|
88
|
-
return this;
|
|
89
|
-
}
|
|
90
|
-
moveEarlier(index) {
|
|
91
|
-
if (index > 0 && index < _classPrivateFieldGet(_userGroupedConditions, this).length) {
|
|
92
|
-
_classPrivateFieldGet(_userGroupedConditions, this).splice(index - 1, 0, _classPrivateFieldGet(_userGroupedConditions, this).splice(index, 1)[0]);
|
|
93
|
-
if (index === 1) {
|
|
94
|
-
this.switchCoordinators();
|
|
95
|
-
}
|
|
96
|
-
_classPrivateFieldSet(_groupedConditions, this, this._applyGroups(_classPrivateFieldGet(_userGroupedConditions, this)));
|
|
97
|
-
}
|
|
98
|
-
return this;
|
|
99
|
-
}
|
|
100
|
-
moveLater(index) {
|
|
101
|
-
if (index >= 0 && index < _classPrivateFieldGet(_userGroupedConditions, this).length - 1) {
|
|
102
|
-
_classPrivateFieldGet(_userGroupedConditions, this).splice(index + 1, 0, _classPrivateFieldGet(_userGroupedConditions, this).splice(index, 1)[0]);
|
|
103
|
-
if (index === 0) {
|
|
104
|
-
this.switchCoordinators();
|
|
105
|
-
}
|
|
106
|
-
_classPrivateFieldSet(_groupedConditions, this, this._applyGroups(_classPrivateFieldGet(_userGroupedConditions, this)));
|
|
107
|
-
}
|
|
108
|
-
return this;
|
|
109
|
-
}
|
|
110
|
-
switchCoordinators() {
|
|
111
|
-
_classPrivateFieldGet(_userGroupedConditions, this)[1].setCoordinator(_classPrivateFieldGet(_userGroupedConditions, this)[0].getCoordinator());
|
|
112
|
-
_classPrivateFieldGet(_userGroupedConditions, this)[0].setCoordinator(undefined);
|
|
113
|
-
}
|
|
114
|
-
get asPerUserGroupings() {
|
|
115
|
-
return [..._classPrivateFieldGet(_userGroupedConditions, this)];
|
|
116
|
-
}
|
|
117
|
-
get hasConditions() {
|
|
118
|
-
return _classPrivateFieldGet(_userGroupedConditions, this).length > 0;
|
|
119
|
-
}
|
|
120
|
-
get lastIndex() {
|
|
121
|
-
return _classPrivateFieldGet(_userGroupedConditions, this).length - 1;
|
|
122
|
-
}
|
|
123
|
-
toPresentationString() {
|
|
124
|
-
return _classPrivateFieldGet(_groupedConditions, this).map(condition => (0, _helpers.toPresentationString)(condition)).join(' ');
|
|
125
|
-
}
|
|
126
|
-
toExpression() {
|
|
127
|
-
return _classPrivateFieldGet(_groupedConditions, this).map(condition => (0, _helpers.toExpression)(condition)).join(' ');
|
|
128
|
-
}
|
|
129
|
-
_applyGroups(userGroupedConditions) {
|
|
130
|
-
const correctedUserGroups = userGroupedConditions.map(condition => condition instanceof _conditionGroup.ConditionGroup && condition.conditions.length > 2 ? new _conditionGroup.ConditionGroup(this._group(condition.conditions, this._autoGroupDefs(condition.conditions))) : condition);
|
|
131
|
-
return this._group(correctedUserGroups, this._autoGroupDefs(correctedUserGroups));
|
|
132
|
-
}
|
|
133
|
-
_group(conditions, groupDefs) {
|
|
134
|
-
return conditions.reduce((groups, condition, index, conditions) => {
|
|
135
|
-
const groupDef = groupDefs.find(groupDef => groupDef.contains(index));
|
|
136
|
-
if (groupDef) {
|
|
137
|
-
if (groupDef.startsWith(index)) {
|
|
138
|
-
const groupConditions = groupDef.applyTo(conditions);
|
|
139
|
-
groups.push(new _conditionGroup.ConditionGroup(groupConditions));
|
|
140
|
-
}
|
|
141
|
-
} else {
|
|
142
|
-
groups.push(condition);
|
|
143
|
-
}
|
|
144
|
-
return groups;
|
|
145
|
-
}, []);
|
|
146
|
-
}
|
|
147
|
-
_ungroup(conditions, splitIndex) {
|
|
148
|
-
if (conditions[splitIndex].isGroup()) {
|
|
149
|
-
const copy = [...conditions];
|
|
150
|
-
copy.splice(splitIndex, 1, ...conditions[splitIndex].getGroupedConditions());
|
|
151
|
-
return copy;
|
|
152
|
-
}
|
|
153
|
-
return conditions;
|
|
154
|
-
}
|
|
155
|
-
_autoGroupDefs(conditions) {
|
|
156
|
-
const orPositions = [];
|
|
157
|
-
conditions.forEach((condition, index) => {
|
|
158
|
-
if (condition.getCoordinator() === _enums.Coordinator.OR) {
|
|
159
|
-
orPositions.push(index);
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
const hasOr = orPositions.length > 0;
|
|
163
|
-
const hasAnd = !!conditions.find(condition => condition.getCoordinator() === _enums.Coordinator.AND);
|
|
164
|
-
if (hasAnd && hasOr) {
|
|
165
|
-
let start = 0;
|
|
166
|
-
const groupDefs = [];
|
|
167
|
-
orPositions.forEach((position, index) => {
|
|
168
|
-
if (start < position - 1) {
|
|
169
|
-
groupDefs.push(new _conditionGroupDef.ConditionGroupDef(start, position - 1));
|
|
170
|
-
}
|
|
171
|
-
const thisIsTheLastOr = orPositions.length === index + 1;
|
|
172
|
-
const thereAreMoreConditions = conditions.length - 1 > position;
|
|
173
|
-
if (thisIsTheLastOr && thereAreMoreConditions) {
|
|
174
|
-
groupDefs.push(new _conditionGroupDef.ConditionGroupDef(position, conditions.length - 1));
|
|
175
|
-
}
|
|
176
|
-
start = position;
|
|
177
|
-
});
|
|
178
|
-
return groupDefs;
|
|
179
|
-
}
|
|
180
|
-
return [];
|
|
181
|
-
}
|
|
182
|
-
toJSON() {
|
|
183
|
-
const name = _classPrivateFieldGet(_conditionName, this);
|
|
184
|
-
const conditions = _classPrivateFieldGet(_userGroupedConditions, this);
|
|
185
|
-
return {
|
|
186
|
-
name,
|
|
187
|
-
conditions: conditions.map(it => it.clone())
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
// TODO:- why is this not a constructor?
|
|
192
|
-
static from(obj) {
|
|
193
|
-
if (obj instanceof ConditionsModel) {
|
|
194
|
-
return obj;
|
|
195
|
-
}
|
|
196
|
-
const toReturn = new ConditionsModel();
|
|
197
|
-
_classPrivateFieldSet(_conditionName, toReturn, obj.name);
|
|
198
|
-
_classPrivateFieldSet(_userGroupedConditions, toReturn, obj.conditions.map(condition => conditionFrom(condition)));
|
|
199
|
-
_classPrivateFieldSet(_groupedConditions, toReturn, toReturn._applyGroups(_classPrivateFieldGet(_userGroupedConditions, toReturn)));
|
|
200
|
-
return toReturn;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
_exports.ConditionsModel = ConditionsModel;
|
|
204
|
-
const conditionFrom = function conditionFrom(it) {
|
|
205
|
-
if ('conditions' in it) {
|
|
206
|
-
return new _conditionGroup.ConditionGroup(it.conditions.map(condition => conditionFrom(condition)));
|
|
207
|
-
}
|
|
208
|
-
if ('conditionName' in it) {
|
|
209
|
-
return new _conditionRef.ConditionRef(it.conditionName, it.conditionDisplayName, it.coordinator);
|
|
210
|
-
}
|
|
211
|
-
return new _condition2.Condition(_conditionField.ConditionField.from(it.field), it.operator, (0, _conditionValues.conditionValueFrom)(it.value), it.coordinator);
|
|
212
|
-
};
|
|
213
|
-
});
|
|
214
|
-
//# sourceMappingURL=condition-model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition-model.js","names":["ConditionsModel","constructor","_conditionsObject","_classPrivateFieldInitSpec","_groupedConditions","_userGroupedConditions","_conditionName","undefined","clone","toReturn","_classPrivateFieldSet","_classPrivateFieldGet","map","it","clear","name","add","condition","coordinatorExpected","length","getCoordinator","Error","push","_applyGroups","replace","index","splice","remove","indexes","filter","_condition","includes","asFirstCondition","addGroups","groupDefs","_group","splitGroup","_ungroup","moveEarlier","switchCoordinators","moveLater","setCoordinator","asPerUserGroupings","hasConditions","lastIndex","toPresentationString","join","toExpression","userGroupedConditions","correctedUserGroups","ConditionGroup","conditions","_autoGroupDefs","reduce","groups","groupDef","find","contains","startsWith","groupConditions","applyTo","splitIndex","isGroup","copy","getGroupedConditions","orPositions","forEach","Coordinator","OR","hasOr","hasAnd","AND","start","position","ConditionGroupDef","thisIsTheLastOr","thereAreMoreConditions","toJSON","from","obj","conditionFrom","_exports","ConditionRef","conditionName","conditionDisplayName","coordinator","Condition","ConditionField","field","operator","conditionValueFrom","value"],"sources":["../../../src/conditions/condition-model.ts"],"sourcesContent":["import { ConditionField } from '~/src/conditions/condition-field'\nimport { ConditionGroupDef } from '~/src/conditions/condition-group-def'\nimport { Condition } from '~/src/conditions/condition'\nimport { ConditionRef } from '~/src/conditions/condition-ref'\nimport { ConditionGroup } from '~/src/conditions/condition-group'\nimport { conditionValueFrom } from '~/src/conditions/condition-values'\nimport { Coordinator } from '~/src/conditions/enums'\nimport { toPresentationString, toExpression } from '~/src/conditions/helpers'\nimport { type ConditionsArray } from '~/src/conditions/types'\n\ntype ConditionRawObject =\n | ConditionsModel\n | {\n name: string\n conditions: Condition[]\n }\n\nexport class ConditionsModel {\n #groupedConditions: ConditionsArray = []\n #userGroupedConditions: ConditionsArray = []\n #conditionName: string | undefined = undefined\n\n constructor(_conditionsObject?: ConditionRawObject) {}\n\n clone() {\n const toReturn = new ConditionsModel()\n toReturn.#groupedConditions = this.#groupedConditions.map((it) =>\n it.clone()\n )\n toReturn.#userGroupedConditions = this.#userGroupedConditions.map((it) =>\n it.clone()\n )\n toReturn.#conditionName = this.#conditionName\n return toReturn\n }\n\n clear() {\n this.#userGroupedConditions = []\n this.#groupedConditions = []\n this.#conditionName = undefined\n return this\n }\n\n set name(name) {\n this.#conditionName = name\n }\n\n get name() {\n return this.#conditionName\n }\n\n add(condition: Condition) {\n const coordinatorExpected = this.#userGroupedConditions.length !== 0\n\n if (condition.getCoordinator() && !coordinatorExpected) {\n throw Error('No coordinator allowed on the first condition')\n } else if (!condition.getCoordinator() && coordinatorExpected) {\n throw Error('Coordinator must be present on subsequent conditions')\n }\n\n this.#userGroupedConditions.push(condition)\n this.#groupedConditions = this._applyGroups(this.#userGroupedConditions)\n\n return this\n }\n\n replace(index: number, condition: Condition) {\n const coordinatorExpected = index !== 0\n\n if (condition.getCoordinator() && !coordinatorExpected) {\n throw Error('No coordinator allowed on the first condition')\n } else if (!condition.getCoordinator() && coordinatorExpected) {\n throw Error('Coordinator must be present on subsequent conditions')\n } else if (index >= this.#userGroupedConditions.length) {\n throw Error(\n `Cannot replace condition ${index} as no such condition exists`\n )\n }\n\n this.#userGroupedConditions.splice(index, 1, condition)\n this.#groupedConditions = this._applyGroups(this.#userGroupedConditions)\n\n return this\n }\n\n remove(indexes: number[]) {\n this.#userGroupedConditions = this.#userGroupedConditions\n .filter((_condition, index) => !indexes.includes(index))\n .map((condition, index) =>\n index === 0 ? condition.asFirstCondition() : condition\n )\n\n this.#groupedConditions = this._applyGroups(this.#userGroupedConditions)\n return this\n }\n\n addGroups(groupDefs: ConditionGroupDef[]) {\n this.#userGroupedConditions = this._group(\n this.#userGroupedConditions,\n groupDefs\n )\n this.#groupedConditions = this._applyGroups(this.#userGroupedConditions)\n return this\n }\n\n splitGroup(index: number) {\n this.#userGroupedConditions = this._ungroup(\n this.#userGroupedConditions,\n index\n )\n this.#groupedConditions = this._applyGroups(this.#userGroupedConditions)\n return this\n }\n\n moveEarlier(index: number) {\n if (index > 0 && index < this.#userGroupedConditions.length) {\n this.#userGroupedConditions.splice(\n index - 1,\n 0,\n this.#userGroupedConditions.splice(index, 1)[0]\n )\n if (index === 1) {\n this.switchCoordinators()\n }\n this.#groupedConditions = this._applyGroups(this.#userGroupedConditions)\n }\n return this\n }\n\n moveLater(index: number) {\n if (index >= 0 && index < this.#userGroupedConditions.length - 1) {\n this.#userGroupedConditions.splice(\n index + 1,\n 0,\n this.#userGroupedConditions.splice(index, 1)[0]\n )\n if (index === 0) {\n this.switchCoordinators()\n }\n this.#groupedConditions = this._applyGroups(this.#userGroupedConditions)\n }\n return this\n }\n\n switchCoordinators() {\n this.#userGroupedConditions[1].setCoordinator(\n this.#userGroupedConditions[0].getCoordinator()\n )\n this.#userGroupedConditions[0].setCoordinator(undefined)\n }\n\n get asPerUserGroupings() {\n return [...this.#userGroupedConditions]\n }\n\n get hasConditions() {\n return this.#userGroupedConditions.length > 0\n }\n\n get lastIndex() {\n return this.#userGroupedConditions.length - 1\n }\n\n toPresentationString() {\n return this.#groupedConditions\n .map((condition) => toPresentationString(condition))\n .join(' ')\n }\n\n toExpression() {\n return this.#groupedConditions\n .map((condition) => toExpression(condition))\n .join(' ')\n }\n\n _applyGroups(\n userGroupedConditions: (Condition | ConditionGroup | ConditionRef)[]\n ) {\n const correctedUserGroups = userGroupedConditions.map((condition) =>\n condition instanceof ConditionGroup && condition.conditions.length > 2\n ? new ConditionGroup(\n this._group(\n condition.conditions,\n this._autoGroupDefs(condition.conditions)\n )\n )\n : condition\n )\n\n return this._group(\n correctedUserGroups,\n this._autoGroupDefs(correctedUserGroups)\n )\n }\n\n _group(conditions: ConditionsArray, groupDefs: ConditionGroupDef[]) {\n return conditions.reduce((groups, condition, index, conditions) => {\n const groupDef = groupDefs.find((groupDef) => groupDef.contains(index))\n\n if (groupDef) {\n if (groupDef.startsWith(index)) {\n const groupConditions = groupDef.applyTo(conditions)\n groups.push(new ConditionGroup(groupConditions))\n }\n } else {\n groups.push(condition)\n }\n\n return groups\n }, [] as ConditionsArray)\n }\n\n _ungroup(conditions: ConditionsArray, splitIndex: number) {\n if (conditions[splitIndex].isGroup()) {\n const copy = [...conditions]\n copy.splice(\n splitIndex,\n 1,\n ...conditions[splitIndex].getGroupedConditions()\n )\n return copy\n }\n return conditions\n }\n\n _autoGroupDefs(conditions: ConditionsArray) {\n const orPositions: number[] = []\n\n conditions.forEach((condition, index) => {\n if (condition.getCoordinator() === Coordinator.OR) {\n orPositions.push(index)\n }\n })\n\n const hasOr = orPositions.length > 0\n const hasAnd = !!conditions.find(\n (condition) => condition.getCoordinator() === Coordinator.AND\n )\n\n if (hasAnd && hasOr) {\n let start = 0\n const groupDefs: ConditionGroupDef[] = []\n orPositions.forEach((position, index) => {\n if (start < position - 1) {\n groupDefs.push(new ConditionGroupDef(start, position - 1))\n }\n const thisIsTheLastOr = orPositions.length === index + 1\n const thereAreMoreConditions = conditions.length - 1 > position\n if (thisIsTheLastOr && thereAreMoreConditions) {\n groupDefs.push(new ConditionGroupDef(position, conditions.length - 1))\n }\n start = position\n })\n return groupDefs\n }\n\n return []\n }\n\n toJSON() {\n const name = this.#conditionName\n const conditions = this.#userGroupedConditions\n return {\n name,\n conditions: conditions.map((it) => it.clone())\n }\n }\n\n // TODO:- why is this not a constructor?\n static from(obj: ConditionRawObject | ConditionsModel) {\n if (obj instanceof ConditionsModel) {\n return obj\n }\n const toReturn = new ConditionsModel()\n toReturn.#conditionName = obj.name\n toReturn.#userGroupedConditions = obj.conditions.map((condition) =>\n conditionFrom(condition)\n )\n toReturn.#groupedConditions = toReturn._applyGroups(\n toReturn.#userGroupedConditions\n )\n return toReturn\n }\n}\n\ninterface ConditionFrom {\n (\n it: Condition | ConditionRef | ConditionGroup\n ): Condition | ConditionRef | ConditionGroup\n}\n\nconst conditionFrom: ConditionFrom = function (it) {\n if ('conditions' in it) {\n return new ConditionGroup(\n (it as ConditionGroup).conditions.map((condition) =>\n conditionFrom(condition)\n )\n )\n }\n\n if ('conditionName' in it) {\n return new ConditionRef(\n it.conditionName,\n it.conditionDisplayName,\n it.coordinator\n )\n }\n\n return new Condition(\n ConditionField.from(it.field),\n it.operator,\n conditionValueFrom(it.value),\n it.coordinator\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports", "./condition-values"], factory);
|
|
4
|
-
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports, require("./condition-values"));
|
|
6
|
-
} else {
|
|
7
|
-
var mod = {
|
|
8
|
-
exports: {}
|
|
9
|
-
};
|
|
10
|
-
factory(mod.exports, global.conditionValues);
|
|
11
|
-
global.conditionOperators = mod.exports;
|
|
12
|
-
}
|
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _conditionValues) {
|
|
14
|
-
"use strict";
|
|
15
|
-
|
|
16
|
-
_exports.__esModule = true;
|
|
17
|
-
_exports.customOperators = _exports.absoluteDateOrTimeOperatorNames = void 0;
|
|
18
|
-
_exports.getExpression = getExpression;
|
|
19
|
-
_exports.getOperatorConfig = getOperatorConfig;
|
|
20
|
-
_exports.getOperatorNames = getOperatorNames;
|
|
21
|
-
_exports.relativeDateOrTimeOperatorNames = void 0;
|
|
22
|
-
const defaultOperators = {
|
|
23
|
-
is: inline('=='),
|
|
24
|
-
'is not': inline('!=')
|
|
25
|
-
};
|
|
26
|
-
function withDefaults(param) {
|
|
27
|
-
return Object.assign({}, param, defaultOperators);
|
|
28
|
-
}
|
|
29
|
-
const textBasedFieldCustomisations = {
|
|
30
|
-
'is longer than': lengthIs('>'),
|
|
31
|
-
'is shorter than': lengthIs('<'),
|
|
32
|
-
'has length': lengthIs('==')
|
|
33
|
-
};
|
|
34
|
-
const absoluteDateTimeOperators = {
|
|
35
|
-
is: absoluteDateTime('=='),
|
|
36
|
-
'is not': absoluteDateTime('!='),
|
|
37
|
-
'is before': absoluteDateTime('<'),
|
|
38
|
-
'is after': absoluteDateTime('>')
|
|
39
|
-
};
|
|
40
|
-
const relativeTimeOperators = units => ({
|
|
41
|
-
'is at least': relativeTime('<=', '>=', units),
|
|
42
|
-
'is at most': relativeTime('>=', '<=', units),
|
|
43
|
-
'is less than': relativeTime('>', '<', units),
|
|
44
|
-
'is more than': relativeTime('<', '>', units)
|
|
45
|
-
});
|
|
46
|
-
const customOperators = _exports.customOperators = {
|
|
47
|
-
CheckboxesField: {
|
|
48
|
-
contains: reverseInline('in'),
|
|
49
|
-
'does not contain': not(reverseInline('in'))
|
|
50
|
-
},
|
|
51
|
-
NumberField: withDefaults({
|
|
52
|
-
'is at least': inline('>='),
|
|
53
|
-
'is at most': inline('<='),
|
|
54
|
-
'is less than': inline('<'),
|
|
55
|
-
'is more than': inline('>')
|
|
56
|
-
}),
|
|
57
|
-
DateField: Object.assign({}, absoluteDateTimeOperators, relativeTimeOperators(_conditionValues.dateUnits)),
|
|
58
|
-
TimeField: Object.assign({}, absoluteDateTimeOperators, relativeTimeOperators(_conditionValues.timeUnits)),
|
|
59
|
-
DatePartsField: Object.assign({}, absoluteDateTimeOperators, relativeTimeOperators(_conditionValues.dateUnits)),
|
|
60
|
-
DateTimeField: Object.assign({}, absoluteDateTimeOperators, relativeTimeOperators(_conditionValues.dateTimeUnits)),
|
|
61
|
-
DateTimePartsField: Object.assign({}, absoluteDateTimeOperators, relativeTimeOperators(_conditionValues.dateTimeUnits)),
|
|
62
|
-
TextField: withDefaults(textBasedFieldCustomisations),
|
|
63
|
-
MultilineTextField: withDefaults(textBasedFieldCustomisations),
|
|
64
|
-
EmailAddressField: withDefaults(textBasedFieldCustomisations)
|
|
65
|
-
};
|
|
66
|
-
function getOperatorNames(fieldType) {
|
|
67
|
-
return Object.keys(getConditionals(fieldType)).sort();
|
|
68
|
-
}
|
|
69
|
-
function getExpression(fieldType, fieldName, operator, value) {
|
|
70
|
-
return getConditionals(fieldType)[operator].expression({
|
|
71
|
-
type: fieldType,
|
|
72
|
-
name: fieldName
|
|
73
|
-
}, value);
|
|
74
|
-
}
|
|
75
|
-
function getOperatorConfig(fieldType, operator) {
|
|
76
|
-
return getConditionals(fieldType)[operator];
|
|
77
|
-
}
|
|
78
|
-
function getConditionals(fieldType) {
|
|
79
|
-
return customOperators[fieldType] || defaultOperators;
|
|
80
|
-
}
|
|
81
|
-
function inline(operator) {
|
|
82
|
-
return {
|
|
83
|
-
expression: (field, value) => `${field.name} ${operator} ${formatValue(field.type, value.value)}`
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
function lengthIs(operator) {
|
|
87
|
-
return {
|
|
88
|
-
expression: (field, value) => `length(${field.name}) ${operator} ${value.value}`
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
function reverseInline(operator) {
|
|
92
|
-
return {
|
|
93
|
-
expression: (field, value) => `${formatValue(field.type, value.value)} ${operator} ${field.name}`
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
function not(operatorDefinition) {
|
|
97
|
-
return {
|
|
98
|
-
expression: (field, value) => `not (${operatorDefinition.expression(field, value)})`
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
function formatValue(fieldType, value) {
|
|
102
|
-
if (fieldType === 'NumberField' || fieldType === 'YesNoField') {
|
|
103
|
-
return value;
|
|
104
|
-
}
|
|
105
|
-
return `'${value}'`;
|
|
106
|
-
}
|
|
107
|
-
const absoluteDateOrTimeOperatorNames = _exports.absoluteDateOrTimeOperatorNames = Object.keys(absoluteDateTimeOperators);
|
|
108
|
-
const relativeDateOrTimeOperatorNames = _exports.relativeDateOrTimeOperatorNames = Object.keys(relativeTimeOperators(_conditionValues.dateTimeUnits));
|
|
109
|
-
function absoluteDateTime(operator) {
|
|
110
|
-
return {
|
|
111
|
-
expression: (field, value) => {
|
|
112
|
-
if (value instanceof _conditionValues.ConditionValue) {
|
|
113
|
-
return `${field.name} ${operator} '${value.toExpression()}'`;
|
|
114
|
-
}
|
|
115
|
-
throw Error('only Value types are supported');
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
function relativeTime(pastOperator, futureOperator, units) {
|
|
120
|
-
return {
|
|
121
|
-
units,
|
|
122
|
-
expression: (field, value) => {
|
|
123
|
-
if (value instanceof _conditionValues.RelativeTimeValue) {
|
|
124
|
-
const operator = value.direction === _conditionValues.DateDirections.PAST ? pastOperator : futureOperator;
|
|
125
|
-
return `${field.name} ${operator} ${value.toExpression()}`;
|
|
126
|
-
}
|
|
127
|
-
throw Error('time shift requires a TimeShiftValue');
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
//# sourceMappingURL=condition-operators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition-operators.js","names":["defaultOperators","is","inline","withDefaults","param","Object","assign","textBasedFieldCustomisations","lengthIs","absoluteDateTimeOperators","absoluteDateTime","relativeTimeOperators","units","relativeTime","customOperators","_exports","CheckboxesField","contains","reverseInline","not","NumberField","DateField","dateUnits","TimeField","timeUnits","DatePartsField","DateTimeField","dateTimeUnits","DateTimePartsField","TextField","MultilineTextField","EmailAddressField","getOperatorNames","fieldType","keys","getConditionals","sort","getExpression","fieldName","operator","value","expression","type","name","getOperatorConfig","field","formatValue","operatorDefinition","absoluteDateOrTimeOperatorNames","relativeDateOrTimeOperatorNames","ConditionValue","toExpression","Error","pastOperator","futureOperator","RelativeTimeValue","direction","DateDirections","PAST"],"sources":["../../../src/conditions/condition-operators.ts"],"sourcesContent":["import { type ComponentType, type ComponentDef } from '~/src/components/types'\nimport { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract'\nimport {\n timeUnits,\n dateUnits,\n dateTimeUnits,\n ConditionValue,\n DateDirections,\n RelativeTimeValue\n} from '~/src/conditions/condition-values'\n\ntype Operator = '==' | '!=' | '>=' | '<=' | '<' | '>'\n\nconst defaultOperators = {\n is: inline('=='),\n 'is not': inline('!=')\n}\n\nfunction withDefaults<T>(param: T) {\n return Object.assign({}, param, defaultOperators)\n}\n\nconst textBasedFieldCustomisations = {\n 'is longer than': lengthIs('>'),\n 'is shorter than': lengthIs('<'),\n 'has length': lengthIs('==')\n}\n\nconst absoluteDateTimeOperators = {\n is: absoluteDateTime('=='),\n 'is not': absoluteDateTime('!='),\n 'is before': absoluteDateTime('<'),\n 'is after': absoluteDateTime('>')\n}\n\nconst relativeTimeOperators = (units) => ({\n 'is at least': relativeTime('<=', '>=', units),\n 'is at most': relativeTime('>=', '<=', units),\n 'is less than': relativeTime('>', '<', units),\n 'is more than': relativeTime('<', '>', units)\n})\n\nexport const customOperators = {\n CheckboxesField: {\n contains: reverseInline('in'),\n 'does not contain': not(reverseInline('in'))\n },\n NumberField: withDefaults({\n 'is at least': inline('>='),\n 'is at most': inline('<='),\n 'is less than': inline('<'),\n 'is more than': inline('>')\n }),\n DateField: Object.assign(\n {},\n absoluteDateTimeOperators,\n relativeTimeOperators(dateUnits)\n ),\n TimeField: Object.assign(\n {},\n absoluteDateTimeOperators,\n relativeTimeOperators(timeUnits)\n ),\n DatePartsField: Object.assign(\n {},\n absoluteDateTimeOperators,\n relativeTimeOperators(dateUnits)\n ),\n DateTimeField: Object.assign(\n {},\n absoluteDateTimeOperators,\n relativeTimeOperators(dateTimeUnits)\n ),\n DateTimePartsField: Object.assign(\n {},\n absoluteDateTimeOperators,\n relativeTimeOperators(dateTimeUnits)\n ),\n TextField: withDefaults(textBasedFieldCustomisations),\n MultilineTextField: withDefaults(textBasedFieldCustomisations),\n EmailAddressField: withDefaults(textBasedFieldCustomisations)\n}\n\nexport function getOperatorNames(fieldType) {\n return Object.keys(getConditionals(fieldType)).sort()\n}\n\nexport function getExpression(\n fieldType: ComponentType,\n fieldName: string,\n operator: string,\n value: ConditionValueAbstract\n) {\n return getConditionals(fieldType)[operator].expression(\n { type: fieldType, name: fieldName },\n value\n )\n}\n\nexport function getOperatorConfig(fieldType: ComponentType, operator) {\n return getConditionals(fieldType)[operator]\n}\n\nfunction getConditionals(fieldType: ComponentType) {\n return customOperators[fieldType] || defaultOperators\n}\n\nfunction inline(operator: Operator) {\n return {\n expression: (field: ComponentDef, value) =>\n `${field.name} ${operator} ${formatValue(field.type, value.value)}`\n }\n}\n\nfunction lengthIs(operator: Operator) {\n return {\n expression: (field: ComponentDef, value) =>\n `length(${field.name}) ${operator} ${value.value}`\n }\n}\n\nfunction reverseInline(operator: 'in') {\n return {\n expression: (field: ComponentDef, value) =>\n `${formatValue(field.type, value.value)} ${operator} ${field.name}`\n }\n}\n\nfunction not(operatorDefinition) {\n return {\n expression: (field: ComponentDef, value) =>\n `not (${operatorDefinition.expression(field, value)})`\n }\n}\n\nfunction formatValue(fieldType: ComponentType, value) {\n if (fieldType === 'NumberField' || fieldType === 'YesNoField') {\n return value\n }\n return `'${value}'`\n}\n\nexport const absoluteDateOrTimeOperatorNames = Object.keys(\n absoluteDateTimeOperators\n)\nexport const relativeDateOrTimeOperatorNames = Object.keys(\n relativeTimeOperators(dateTimeUnits)\n)\n\nfunction absoluteDateTime(operator: Operator) {\n return {\n expression: (field: ComponentDef, value) => {\n if (value instanceof ConditionValue) {\n return `${field.name} ${operator} '${value.toExpression()}'`\n }\n throw Error('only Value types are supported')\n }\n }\n}\n\nfunction relativeTime(pastOperator, futureOperator, units) {\n return {\n units,\n expression: (field: ComponentDef, value) => {\n if (value instanceof RelativeTimeValue) {\n const operator =\n value.direction === DateDirections.PAST\n ? pastOperator\n : futureOperator\n return `${field.name} ${operator} ${value.toExpression()}`\n }\n throw Error('time shift requires a TimeShiftValue')\n }\n }\n}\n"],"mappings":"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"}
|