@o3r/rules-engine 10.0.0-next.9 → 11.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +16 -17
  2. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts +1 -1
  3. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts.map +1 -1
  4. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts +2 -0
  5. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts.map +1 -1
  6. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.js +10 -2
  7. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.js.map +1 -1
  8. package/builders/rules-engine-extractor/index.js.map +1 -1
  9. package/builders/rules-engine-extractor/schema.json +1 -1
  10. package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts +2 -2
  11. package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts.map +1 -1
  12. package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts +1 -1
  13. package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts.map +1 -1
  14. package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts +1 -3
  15. package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts.map +1 -1
  16. package/components/rules-engine/shared/ruleset-history.helper.d.ts +0 -2
  17. package/components/rules-engine/shared/ruleset-history.helper.d.ts.map +1 -1
  18. package/devkit/rules-engine-devtools.console.service.d.ts +0 -7
  19. package/devkit/rules-engine-devtools.console.service.d.ts.map +1 -1
  20. package/devkit/rules-engine-devtools.message.service.d.ts +4 -6
  21. package/devkit/rules-engine-devtools.message.service.d.ts.map +1 -1
  22. package/devkit/rules-engine-devtools.module.d.ts +0 -1
  23. package/devkit/rules-engine-devtools.module.d.ts.map +1 -1
  24. package/devkit/rules-engine-devtools.service.d.ts +3 -10
  25. package/devkit/rules-engine-devtools.service.d.ts.map +1 -1
  26. package/engine/debug/engine.debug.d.ts +4 -12
  27. package/engine/debug/engine.debug.d.ts.map +1 -1
  28. package/engine/debug/helpers.d.ts +2 -4
  29. package/engine/debug/helpers.d.ts.map +1 -1
  30. package/engine/engine.d.ts +4 -13
  31. package/engine/engine.d.ts.map +1 -1
  32. package/engine/engine.interface.d.ts +2 -6
  33. package/engine/engine.interface.d.ts.map +1 -1
  34. package/engine/fact/fact.interfaces.d.ts +2 -0
  35. package/engine/fact/fact.interfaces.d.ts.map +1 -1
  36. package/engine/helpers/filter-ruleset-event.operator.d.ts +0 -1
  37. package/engine/helpers/filter-ruleset-event.operator.d.ts.map +1 -1
  38. package/engine/operator/operator.helpers.d.ts +10 -9
  39. package/engine/operator/operator.helpers.d.ts.map +1 -1
  40. package/engine/operator/operator.interface.d.ts +4 -1
  41. package/engine/operator/operator.interface.d.ts.map +1 -1
  42. package/engine/operator/operators/array-based.operators.d.ts +0 -23
  43. package/engine/operator/operators/array-based.operators.d.ts.map +1 -1
  44. package/engine/operator/operators/basic.operators.d.ts +5 -8
  45. package/engine/operator/operators/basic.operators.d.ts.map +1 -1
  46. package/engine/operator/operators/date-based.operators.d.ts +13 -6
  47. package/engine/operator/operators/date-based.operators.d.ts.map +1 -1
  48. package/engine/operator/operators/index.d.ts +1 -1
  49. package/engine/operator/operators/index.d.ts.map +1 -1
  50. package/engine/operator/operators/number-based.operators.d.ts +0 -4
  51. package/engine/operator/operators/number-based.operators.d.ts.map +1 -1
  52. package/engine/rule/rule.helpers.d.ts +0 -7
  53. package/engine/rule/rule.helpers.d.ts.map +1 -1
  54. package/engine/ruleset-executor.d.ts +15 -13
  55. package/engine/ruleset-executor.d.ts.map +1 -1
  56. package/engine/structure.d.ts +9 -5
  57. package/engine/structure.d.ts.map +1 -1
  58. package/esm2022/components/rules-engine/rule-actions/rule-actions-pres.component.mjs +4 -4
  59. package/esm2022/components/rules-engine/rule-condition/rule-condition-pres.component.mjs +8 -13
  60. package/esm2022/components/rules-engine/rule-key-value/rule-key-value-pres.component.mjs +5 -5
  61. package/esm2022/components/rules-engine/rule-tree/rule-tree-pres.component.mjs +5 -5
  62. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +6 -8
  63. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.module.mjs +4 -4
  64. package/esm2022/components/rules-engine/shared/fallback-to.pipe.mjs +3 -3
  65. package/esm2022/components/rules-engine/shared/ruleset-history.helper.mjs +1 -3
  66. package/esm2022/devkit/rules-engine-devtools.console.service.mjs +6 -13
  67. package/esm2022/devkit/rules-engine-devtools.message.service.mjs +6 -8
  68. package/esm2022/devkit/rules-engine-devtools.module.mjs +5 -6
  69. package/esm2022/devkit/rules-engine-devtools.service.mjs +7 -14
  70. package/esm2022/engine/debug/engine.debug.mjs +2 -10
  71. package/esm2022/engine/debug/helpers.mjs +1 -4
  72. package/esm2022/engine/engine.interface.mjs +1 -1
  73. package/esm2022/engine/engine.mjs +1 -9
  74. package/esm2022/engine/fact/fact.interfaces.mjs +1 -1
  75. package/esm2022/engine/helpers/filter-ruleset-event.operator.mjs +1 -2
  76. package/esm2022/engine/operator/index.mjs +1 -1
  77. package/esm2022/engine/operator/operator.helpers.mjs +33 -13
  78. package/esm2022/engine/operator/operator.interface.mjs +1 -1
  79. package/esm2022/engine/operator/operators/array-based.operators.mjs +6 -29
  80. package/esm2022/engine/operator/operators/basic.operators.mjs +16 -11
  81. package/esm2022/engine/operator/operators/date-based.operators.mjs +48 -8
  82. package/esm2022/engine/operator/operators/number-based.operators.mjs +1 -5
  83. package/esm2022/engine/rule/rule.helpers.mjs +1 -8
  84. package/esm2022/engine/ruleset-executor.mjs +58 -32
  85. package/esm2022/engine/structure.mjs +1 -1
  86. package/esm2022/fact/fact.abstract-service.mjs +1 -1
  87. package/esm2022/facts/current-time/current-time.facts.mjs +2 -0
  88. package/esm2022/facts/current-time/index.mjs +2 -0
  89. package/esm2022/facts/index.mjs +2 -0
  90. package/esm2022/fixtures/jasmine/index.mjs +2 -2
  91. package/esm2022/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.mjs +14 -0
  92. package/esm2022/fixtures/jest/index.mjs +2 -2
  93. package/esm2022/fixtures/jest/rules-engine.runner.service.fixture.jest.mjs +14 -0
  94. package/esm2022/interfaces/action.interfaces.mjs +1 -1
  95. package/esm2022/public_api.mjs +2 -1
  96. package/esm2022/services/index.mjs +2 -3
  97. package/esm2022/services/rules-engine.token.mjs +2 -1
  98. package/esm2022/services/runner/index.mjs +3 -0
  99. package/esm2022/services/runner/rules-engine.runner.module.mjs +37 -0
  100. package/esm2022/services/runner/rules-engine.runner.service.mjs +119 -0
  101. package/esm2022/stores/rulesets/rulesets.effect.mjs +4 -4
  102. package/esm2022/stores/rulesets/rulesets.module.mjs +4 -4
  103. package/esm2022/stores/rulesets/rulesets.selectors.mjs +3 -4
  104. package/fact/fact.abstract-service.d.ts +3 -3
  105. package/fact/fact.abstract-service.d.ts.map +1 -1
  106. package/facts/current-time/current-time.facts.d.ts +11 -0
  107. package/facts/current-time/current-time.facts.d.ts.map +1 -0
  108. package/facts/current-time/index.d.ts +2 -0
  109. package/facts/current-time/index.d.ts.map +1 -0
  110. package/facts/index.d.ts +2 -0
  111. package/facts/index.d.ts.map +1 -0
  112. package/fesm2022/o3r-rules-engine-fixtures-jasmine.mjs +3 -6
  113. package/fesm2022/o3r-rules-engine-fixtures-jasmine.mjs.map +1 -1
  114. package/fesm2022/o3r-rules-engine-fixtures-jest.mjs +3 -6
  115. package/fesm2022/o3r-rules-engine-fixtures-jest.mjs.map +1 -1
  116. package/fesm2022/o3r-rules-engine.mjs +264 -560
  117. package/fesm2022/o3r-rules-engine.mjs.map +1 -1
  118. package/fixtures/jasmine/index.d.ts +1 -1
  119. package/fixtures/jasmine/index.d.ts.map +1 -1
  120. package/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.d.ts +14 -0
  121. package/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.d.ts.map +1 -0
  122. package/fixtures/jest/index.d.ts +1 -1
  123. package/fixtures/jest/index.d.ts.map +1 -1
  124. package/fixtures/jest/index.js +1 -1
  125. package/fixtures/jest/index.js.map +1 -1
  126. package/fixtures/jest/rules-engine.runner.service.fixture.jest.d.ts +14 -0
  127. package/fixtures/jest/rules-engine.runner.service.fixture.jest.d.ts.map +1 -0
  128. package/fixtures/jest/{rules-engine.service.fixture.jest.js → rules-engine.runner.service.fixture.jest.js} +3 -6
  129. package/fixtures/jest/rules-engine.runner.service.fixture.jest.js.map +1 -0
  130. package/interfaces/action.interfaces.d.ts +5 -0
  131. package/interfaces/action.interfaces.d.ts.map +1 -1
  132. package/migration.json +10 -0
  133. package/package.json +57 -46
  134. package/public_api.d.ts +1 -0
  135. package/public_api.d.ts.map +1 -1
  136. package/rules.facts.metadata.json +7 -1
  137. package/rules.operators.metadata.json +61 -0
  138. package/schemas/rulesets.schema.json +6 -110
  139. package/schematics/cms-adapter/index.d.ts +0 -1
  140. package/schematics/cms-adapter/index.d.ts.map +1 -1
  141. package/schematics/cms-adapter/index.js +5 -9
  142. package/schematics/cms-adapter/index.js.map +1 -1
  143. package/schematics/facts-service/schema.json +1 -1
  144. package/schematics/ng-add/helpers/devtools-registration.d.ts +11 -0
  145. package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -0
  146. package/schematics/ng-add/helpers/devtools-registration.js +36 -0
  147. package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
  148. package/schematics/ng-add/index.d.ts +1 -0
  149. package/schematics/ng-add/index.d.ts.map +1 -1
  150. package/schematics/ng-add/index.js +8 -4
  151. package/schematics/ng-add/index.js.map +1 -1
  152. package/schematics/ng-add/schema.json +1 -1
  153. package/schematics/ng-update/index.d.ts +6 -0
  154. package/schematics/ng-update/index.d.ts.map +1 -0
  155. package/schematics/ng-update/index.js +22 -0
  156. package/schematics/ng-update/index.js.map +1 -0
  157. package/schematics/ng-update/v10.0/action-module-split.d.ts +6 -0
  158. package/schematics/ng-update/v10.0/action-module-split.d.ts.map +1 -0
  159. package/schematics/ng-update/v10.0/action-module-split.js +21 -0
  160. package/schematics/ng-update/v10.0/action-module-split.js.map +1 -0
  161. package/schematics/operator/schema.json +1 -1
  162. package/schematics/rules-engine-to-component/index.d.ts +0 -1
  163. package/schematics/rules-engine-to-component/index.d.ts.map +1 -1
  164. package/schematics/rules-engine-to-component/index.js +7 -8
  165. package/schematics/rules-engine-to-component/index.js.map +1 -1
  166. package/schematics/rules-engine-to-component/schema.json +1 -1
  167. package/services/index.d.ts +1 -2
  168. package/services/index.d.ts.map +1 -1
  169. package/services/rules-engine.token.d.ts +1 -0
  170. package/services/rules-engine.token.d.ts.map +1 -1
  171. package/services/runner/index.d.ts +3 -0
  172. package/services/runner/index.d.ts.map +1 -0
  173. package/services/runner/rules-engine.runner.module.d.ts +13 -0
  174. package/services/runner/rules-engine.runner.module.d.ts.map +1 -0
  175. package/services/runner/rules-engine.runner.service.d.ts +60 -0
  176. package/services/runner/rules-engine.runner.service.d.ts.map +1 -0
  177. package/stores/rulesets/rulesets.selectors.d.ts.map +1 -1
  178. package/builders/package.json +0 -3
  179. package/esm2022/fixtures/jasmine/rules-engine.service.fixture.jasmine.mjs +0 -17
  180. package/esm2022/fixtures/jest/rules-engine.service.fixture.jest.mjs +0 -17
  181. package/esm2022/services/rules-engine.effect.mjs +0 -162
  182. package/esm2022/services/rules-engine.module.mjs +0 -50
  183. package/esm2022/services/rules-engine.service.mjs +0 -272
  184. package/fixtures/jasmine/rules-engine.service.fixture.jasmine.d.ts +0 -17
  185. package/fixtures/jasmine/rules-engine.service.fixture.jasmine.d.ts.map +0 -1
  186. package/fixtures/jest/rules-engine.service.fixture.jest.d.ts +0 -18
  187. package/fixtures/jest/rules-engine.service.fixture.jest.d.ts.map +0 -1
  188. package/fixtures/jest/rules-engine.service.fixture.jest.js.map +0 -1
  189. package/schematics/package.json +0 -3
  190. package/services/rules-engine.effect.d.ts +0 -53
  191. package/services/rules-engine.effect.d.ts.map +0 -1
  192. package/services/rules-engine.module.d.ts +0 -16
  193. package/services/rules-engine.module.d.ts.map +0 -1
  194. package/services/rules-engine.service.d.ts +0 -90
  195. package/services/rules-engine.service.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"engine.debug.d.ts","sourceRoot":"","sources":["../../../src/engine/debug/engine.debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,MAAM,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAwB,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAqD,MAAM,qBAAqB,CAAC;AACzL,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,cAAc;IAEzB,OAAO,CAAC,oBAAoB,CAAC,CAAc;IAE3C,OAAO,CAAC,kBAAkB,CAAsC;IAGhE,OAAO,CAAC,mBAAmB,CAA0D;IAErF,OAAO,CAAC,oBAAoB,CAAoC;IAEhE,oEAAoE;IACpE,SAAgB,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAErD,yDAAyD;IACzD,IAAW,WAAW,IAAI,WAAW,GAAG,SAAS,CAEhD;IAED;;;;OAIG;gBACS,OAAO,CAAC,EAAE,qBAAqB;IA+B3C,OAAO,CAAC,6BAA6B;YAUvB,+BAA+B;YAmB/B,gBAAgB;YAuBhB,qBAAqB;IAuBnC;;;;OAIG;IACI,kBAAkB,CAAC,WAAW,EAAE,WAAW;IAIlD;;;;;;;;;;OAUG;IACI,+BAA+B,CACpC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,EAC3C,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,OAAO;;;;;IAgBlB;;;;OAIG;IACI,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE;IAU/C;;;;;OAKG;IACI,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE;IAc/G;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE;IAK9C;;;;;;;;;;;OAWG;IACI,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EACxE,iBAAiB,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACtG,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE;IAMtG;;;;;;;;;;OAUG;IACI,6BAA6B,CAClC,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EACjE,eAAe,EAAE,cAAc,EAAE;IAMnC;;;;OAIG;IACU,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE;kBACxB,MAAM;eAAS,GAAG;;CAS7C"}
1
+ {"version":3,"file":"engine.debug.d.ts","sourceRoot":"","sources":["../../../src/engine/debug/engine.debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,MAAM,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAwB,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAqD,MAAM,qBAAqB,CAAC;AAClL,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,cAAc;IAEzB,OAAO,CAAC,oBAAoB,CAAC,CAAc;IAE3C,OAAO,CAAC,kBAAkB,CAAsC;IAGhE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0D;IAE9F,OAAO,CAAC,oBAAoB,CAAoC;IAEhE,oEAAoE;IACpE,SAAgB,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAErD,yDAAyD;IACzD,IAAW,WAAW,IAAI,WAAW,GAAG,SAAS,CAEhD;IAED;;;OAGG;gBACS,OAAO,CAAC,EAAE,qBAAqB;IA+B3C,OAAO,CAAC,6BAA6B;YAUvB,+BAA+B;YAmB/B,gBAAgB;YAuBhB,qBAAqB;IAuBnC;;;OAGG;IACI,kBAAkB,CAAC,WAAW,EAAE,WAAW;IAIlD;;;;;;;;;OASG;IACI,+BAA+B,CACpC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,EAC3C,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,OAAO;;;;;;IAiBlB;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE;IAU/C;;;;OAIG;IACI,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE;IAc/G;;;OAGG;IACI,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE;IAK9C;;;;;;;;;;OAUG;IACI,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EACxE,iBAAiB,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACtG,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE;IAMtG;;;;;;;;;OASG;IACI,6BAA6B,CAClC,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EACjE,eAAe,EAAE,cAAc,EAAE;IAMnC;;;OAGG;IACU,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE;kBACxB,MAAM;eAAS,GAAG;;CAS7C"}
@@ -1,8 +1,8 @@
1
- import { EvaluationReason, Facts, RuleEvaluation, RuleEvaluationOutput } from '../engine.interface';
1
+ import { EvaluationReason, RuleEvaluation, RuleEvaluationOutput } from '../engine.interface';
2
+ import type { Facts } from '../fact';
2
3
  import { ActionBlock, Rule } from '../structure';
3
4
  /**
4
5
  * Function to retrive from 2 sequential executions only the triggers which activated the last ruleset execution
5
- *
6
6
  * @param currRes Current ruleset execution object
7
7
  * @param prevRes Previous ruleset execution object
8
8
  * @returns The triggers list which activates the last ruleset execution
@@ -10,7 +10,6 @@ import { ActionBlock, Rule } from '../structure';
10
10
  export declare function retrieveRulesetTriggers(currRes: RuleEvaluationOutput[], prevRes: RuleEvaluationOutput[] | undefined): Record<string, Record<string, EvaluationReason>>;
11
11
  /**
12
12
  * Flag as cached the rules evaluations which are from previous ruleset executions
13
- *
14
13
  * @param rulesEvaluations all rules evaluations list
15
14
  * @param triggers Ruleset triggers object
16
15
  * @returns Rules evaluation list with flagged rules evaluation from previous ruleset executions
@@ -20,7 +19,6 @@ export declare function flagCachedRules(rulesEvaluations: RuleEvaluation[], trig
20
19
  })[];
21
20
  /**
22
21
  * Create the debug rule evaluation object
23
- *
24
22
  * @param rule
25
23
  * @param rulesetName
26
24
  * @param outputActions
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/engine/debug/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,oDAsCnH;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC,EAAE,CASvK;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,WAAW,EAAE,GAAG,SAAS,EACxC,WAAW,EAAE,GAAG,EAChB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,UAAU,EAAE,GAAG,EAAE,GAAG,SAAS,EAC7B,aAAa,EAAE,GAAG,EAAE,GAAG,SAAS,kBA8BjC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/engine/debug/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,oDAsCnH;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC,EAAE,CASvK;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,WAAW,EAAE,GAAG,SAAS,EACxC,WAAW,EAAE,GAAG,EAChB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,UAAU,EAAE,GAAG,EAAE,GAAG,SAAS,EAC7B,aAAa,EAAE,GAAG,EAAE,GAAG,SAAS,kBA8BjC"}
@@ -1,14 +1,14 @@
1
+ import type { Logger } from '@o3r/logger';
1
2
  import { Observable } from 'rxjs';
2
3
  import { EngineDebugger } from './debug/engine.debug';
3
- import { Facts, RulesEngineOptions } from './engine.interface';
4
- import { Fact } from './fact/index';
4
+ import { RulesEngineOptions } from './engine.interface';
5
+ import type { Fact, Facts } from './fact/index';
5
6
  import { Operator, UnaryOperator } from './operator/index';
6
7
  import { ActionBlock, Ruleset } from './structure';
7
- import type { Logger } from '@o3r/logger';
8
8
  /** Rules engine */
9
9
  export declare class RulesEngine {
10
10
  /** Map of registered fact stream, this map is mutated by the ruleset executors */
11
- private factMap;
11
+ private readonly factMap;
12
12
  /** Subject containing the rulesets and the results stream*/
13
13
  private readonly rulesetMapSubject;
14
14
  /** Map of available operators */
@@ -25,7 +25,6 @@ export declare class RulesEngine {
25
25
  readonly rulesEngineInstanceName: string;
26
26
  /**
27
27
  * Performance reporter to use for performance measurements.
28
- *
29
28
  * @default window.performance on browser only, undefined on node
30
29
  */
31
30
  readonly performance: import("./engine.interface").CrossPlatformPerformance | undefined;
@@ -39,27 +38,23 @@ export declare class RulesEngine {
39
38
  get debugMode(): boolean;
40
39
  /**
41
40
  * Rules engine
42
- *
43
41
  * @param options rules engine options
44
42
  * @param logger
45
43
  */
46
44
  constructor(options?: RulesEngineOptions);
47
45
  /**
48
46
  * Attach debug events to actions stream if debug engine is activated
49
- *
50
47
  * @param actionsStream
51
48
  */
52
49
  private handleActionsStreamOutput;
53
50
  /**
54
51
  * Create the actions stream event based on provided active rulesets ids; Handle debug too
55
- *
56
52
  * @param ruleSets
57
53
  */
58
54
  private prepareActionsStream;
59
55
  /**
60
56
  * Create or retrieve a fact stream
61
57
  * The fact stream created will be registered in the engine
62
- *
63
58
  * @param id ID of the fact to retrieve
64
59
  * @param factValue$ Value stream for the fact
65
60
  */
@@ -67,26 +62,22 @@ export declare class RulesEngine {
67
62
  /**
68
63
  * Retrieve the promise of the latest value of a fact.
69
64
  * Return undefined if the fact is not defined.
70
- *
71
65
  * @param id ID of the fact to retrieve
72
66
  */
73
67
  retrieveFactValue<T = unknown>(id: string): Promise<T | undefined> | undefined;
74
68
  /**
75
69
  * Update or insert fact in rules engine
76
- *
77
70
  * @param facts fact list to add / update
78
71
  */
79
72
  upsertFacts<T = unknown>(facts: Fact<T> | Fact<T>[]): void;
80
73
  /**
81
74
  * Update or insert rule in rules engine
82
- *
83
75
  * @param rules rule list to add / update
84
76
  * @param rulesets
85
77
  */
86
78
  upsertRulesets(rulesets: Ruleset[]): void;
87
79
  /**
88
80
  * Update or insert operator in rules engine
89
- *
90
81
  * @param operators operator list to add / update
91
82
  */
92
83
  upsertOperators(operators: (Operator | UnaryOperator)[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,UAAU,EAAM,MAAM,MAAM,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAc,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAgB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAC,MAAM,aAAa,CAAC;AAEzC,mBAAmB;AACnB,qBAAa,WAAW;IAEtB,kFAAkF;IAClF,OAAO,CAAC,OAAO,CAAuC;IAEtD,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4D;IAE9F,iCAAiC;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7D,+DAA+D;IAC/D,SAAgB,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IAEnD,gDAAgD;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,cAAc,CAAC;IAE7C,wCAAwC;IACxC,SAAgB,uBAAuB,EAAE,MAAM,CAAC;IAEhD;;;;OAIG;IACH,SAAgB,WAAW,oEAAC;IAE5B;;OAEG;IACH,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;;;;OAKG;gBACS,OAAO,CAAC,EAAE,kBAAkB;IA2BxC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;OAMG;IACI,0BAA0B,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IA4B/G;;;;;OAKG;IACI,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS;IAIrF;;;;OAIG;IACI,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;IAM1D;;;;;OAKG;IACI,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;IAWzC;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE;IAO9D;;;OAGG;IACI,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC;IAQjI,6CAA6C;IACtC,uBAAuB;CAI/B"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAA0C,UAAU,EAAM,MAAM,MAAM,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAc,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAgB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEnD,mBAAmB;AACnB,qBAAa,WAAW;IAEtB,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAE/D,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4D;IAE9F,iCAAiC;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7D,+DAA+D;IAC/D,SAAgB,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IAEnD,gDAAgD;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,cAAc,CAAC;IAE7C,wCAAwC;IACxC,SAAgB,uBAAuB,EAAE,MAAM,CAAC;IAEhD;;;OAGG;IACH,SAAgB,WAAW,oEAAC;IAE5B;;OAEG;IACH,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;;;OAIG;gBACS,OAAO,CAAC,EAAE,kBAAkB;IA2BxC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;OAKG;IACI,0BAA0B,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IA4B/G;;;;OAIG;IACI,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS;IAIrF;;;OAGG;IACI,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;IAM1D;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;IAWzC;;;OAGG;IACI,eAAe,CAAC,SAAS,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE;IAO9D;;;OAGG;IACI,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC;IAQjI,6CAA6C;IACtC,uBAAuB;CAI/B"}
@@ -1,8 +1,8 @@
1
1
  import type { Logger } from '@o3r/core';
2
2
  import { BehaviorSubject, Observable } from 'rxjs';
3
3
  import type { EngineDebugger } from './debug/engine.debug';
4
- import { Fact } from './fact';
5
- import { Operator } from './operator';
4
+ import type { Fact, Facts } from './fact';
5
+ import type { Operator } from './operator';
6
6
  import { ActionBlock, Rule, Ruleset } from './structure';
7
7
  /** Performance object supporting NodeJs Performance and Web Performance reporting */
8
8
  export type CrossPlatformPerformance = {
@@ -18,8 +18,6 @@ export interface FactObject<T> {
18
18
  /** Stream of the fact value */
19
19
  value$: Observable<T | undefined>;
20
20
  }
21
- /** Represents all the supported facts types TOCHECK utils.Date vs Date */
22
- export type Facts = string | number | boolean | null | Date | Record<string, unknown> | unknown[];
23
21
  /** Rule Engine constructor options */
24
22
  export interface RulesEngineOptions {
25
23
  /** List of facts */
@@ -41,13 +39,11 @@ export interface RulesEngineOptions {
41
39
  debugger?: EngineDebugger;
42
40
  /**
43
41
  * Instance of the performance reporter to use for performance measurements.
44
- *
45
42
  * @default window.performance on browser only, undefined on node
46
43
  */
47
44
  performance?: CrossPlatformPerformance;
48
45
  /**
49
46
  * Name of the rules engine instance
50
- *
51
47
  * @default RulesEngine
52
48
  */
53
49
  rulesEngineInstanceName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.interface.d.ts","sourceRoot":"","sources":["../../src/engine/engine.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.interface.d.ts","sourceRoot":"","sources":["../../src/engine/engine.interface.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
+ /** Represents all the supported facts types TOCHECK utils.Date vs Date */
3
+ export type Facts = string | number | boolean | null | Date | Record<string, unknown> | unknown[];
2
4
  /** Fact basic value type */
3
5
  export type FactBasicValues = number | boolean | string | string[] | boolean[] | number[] | undefined;
4
6
  /** Map of fact name / type pairs */
@@ -1 +1 @@
1
- {"version":3,"file":"fact.interfaces.d.ts","sourceRoot":"","sources":["../../../src/engine/fact/fact.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,4BAA4B;AAC5B,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAG,GAAG,SAAS,CAAC;AAEvG,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,oCAAoC;AACpC,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAElE,mBAAmB;AACnB,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,eAAe,IAAI;KAC9C,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;CAC3D,CAAC;AAEF,uBAAuB;AACvB,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAErE,kBAAkB;AAClB,MAAM,WAAW,IAAI,CAAC,CAAC,GAAG,OAAO;IAC/B,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IAEX,oCAAoC;IACpC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAC5B"}
1
+ {"version":3,"file":"fact.interfaces.d.ts","sourceRoot":"","sources":["../../../src/engine/fact/fact.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,0EAA0E;AAC1E,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;AAElG,4BAA4B;AAC5B,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAG,GAAG,SAAS,CAAC;AAEvG,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,oCAAoC;AACpC,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAElE,mBAAmB;AACnB,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,eAAe,IAAI;KAC9C,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;CAC3D,CAAC;AAEF,uBAAuB;AACvB,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAErE,kBAAkB;AAClB,MAAM,WAAW,IAAI,CAAC,CAAC,GAAG,OAAO;IAC/B,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IAEX,oCAAoC;IACpC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAC5B"}
@@ -2,7 +2,6 @@ import { Observable } from 'rxjs';
2
2
  import { RulesetExecutor } from '../ruleset-executor';
3
3
  /**
4
4
  * Filter the actions outputted by the rules engine, based on active rulesets
5
- *
6
5
  * @param restrictiveRuleSets list of rules sets to get the event stream for
7
6
  */
8
7
  export declare function filterRulesetsEventStream(restrictiveRuleSets?: string[]): (source$: Observable<Record<string, RulesetExecutor>>) => Observable<import("@o3r/rules-engine").ActionBlock[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"filter-ruleset-event.operator.d.ts","sourceRoot":"","sources":["../../../src/engine/helpers/filter-ruleset-event.operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,MAAM,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,aACrD,WAAW,OAAO,MAAM,EAAE,eAAe,CAAC,CAAC,2DAe7D"}
1
+ {"version":3,"file":"filter-ruleset-event.operator.d.ts","sourceRoot":"","sources":["../../../src/engine/helpers/filter-ruleset-event.operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,MAAM,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,aACrD,WAAW,OAAO,MAAM,EAAE,eAAe,CAAC,CAAC,2DAe7D"}
@@ -1,52 +1,53 @@
1
1
  import { DateInput, Operator, SupportedSimpleTypes } from './operator.interface';
2
+ import type { Facts } from '../fact';
2
3
  /**
3
4
  * Execute Operator
4
- *
5
5
  * @param lhs Left hand side
6
6
  * @param rhs Right hand side
7
7
  * @param operator Operator to compare values
8
+ * @param operatorFacts Facts that operator can depend on
8
9
  */
9
- export declare function executeOperator<L = unknown, R = unknown>(lhs: L, rhs: R, operator: Operator<L, R>): boolean;
10
+ export declare function executeOperator<L = unknown, R = unknown>(lhs: L, rhs: R, operator: Operator<L, R>, operatorFacts?: Record<string, Facts | undefined>): boolean;
10
11
  /**
11
12
  * Validate a number operand
12
- *
13
13
  * @param operand value of one of the operands
14
14
  */
15
15
  export declare function numberValidator(operand: unknown): operand is number | string;
16
16
  /**
17
17
  * Validate an operand is a range of numbers
18
- *
19
18
  * @param operatorInput value of one of the operands
20
19
  */
21
20
  export declare function isRangeNumber(operatorInput: unknown): operatorInput is [number | string, number | string];
22
21
  /**
23
22
  * Verifies if the parameter is a valid date for the operator (getTime function available returning a number)
24
- *
25
23
  * @param operatorInput
26
24
  */
27
25
  export declare const isValidDate: (operatorInput: any) => operatorInput is Date;
28
26
  /**
29
27
  * Verifies if the parameter is a valid input for Date constructor (new Date returns a valid date)
30
- *
31
28
  * @param operatorInput
32
29
  */
33
30
  export declare const isValidDateInput: (operatorInput: any) => operatorInput is DateInput;
34
31
  /**
35
32
  * Verifies if the parameter is a valid date range
36
- *
37
33
  * @param operatorInput
38
34
  */
39
35
  export declare const isValidDateRange: (operatorInput: any) => operatorInput is [DateInput, DateInput];
40
36
  /**
41
37
  * Validate that a value is a supported simple type
42
- *
43
38
  * @param value value to validate
44
39
  */
45
40
  export declare function isSupportedSimpleTypes(value: unknown): value is SupportedSimpleTypes;
46
41
  /**
47
42
  * Validate that a value is a string
48
- *
49
43
  * @param value
50
44
  */
51
45
  export declare function isString(value: unknown): value is string;
46
+ /**
47
+ * Parse input to return RegExp
48
+ * @param value value to test whether pattern exists (can be string or array of strings)
49
+ * @param inputString regexp pattern
50
+ * @param inputRegExp
51
+ */
52
+ export declare function parseRegExp(inputRegExp: string): RegExp;
52
53
  //# sourceMappingURL=operator.helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operator.helpers.d.ts","sourceRoot":"","sources":["../../../src/engine/operator/operator.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE/E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,WAWjG;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,MAAM,GAAG,MAAM,CAG5E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,OAAO,GAAG,aAAa,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAMzG;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,kBAAmB,GAAG,0BAM7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBAAmB,GAAG,+BAElD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBAAmB,GAAG,4CAMlD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEpF;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD"}
1
+ {"version":3,"file":"operator.helpers.d.ts","sourceRoot":"","sources":["../../../src/engine/operator/operator.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAEnC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,WAsBpJ;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,MAAM,GAAG,MAAM,CAG5E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,OAAO,GAAG,aAAa,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAMzG;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,kBAAmB,GAAG,0BAM7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,kBAAmB,GAAG,+BAElD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,kBAAmB,GAAG,4CAMlD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEpF;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,UAQ9C"}
@@ -1,3 +1,4 @@
1
+ import type { Facts } from '../fact/fact.interfaces';
1
2
  /**
2
3
  * Rule Engine operator
3
4
  */
@@ -11,7 +12,9 @@ export interface Operator<LeftExposed = unknown, RightExposed = unknown, LeftSup
11
12
  /** Right Hand Value validator function */
12
13
  validateRhs?: unknown extends RightSupported ? (operand: unknown) => boolean : (operand: unknown) => operand is RightSupported;
13
14
  /** Evaluate the values */
14
- evaluator: (lhs: LeftSupported, rhs: RightSupported) => boolean;
15
+ evaluator: (lhs: LeftSupported, rhs: RightSupported, operatorFactValues?: Record<string, Facts>) => boolean;
16
+ /** List of facts names that the operator can depend on */
17
+ factImplicitDependencies?: string[];
15
18
  }
16
19
  /**
17
20
  * Rule Engine unary operator
@@ -1 +1 @@
1
- {"version":3,"file":"operator.interface.d.ts","sourceRoot":"","sources":["../../../src/engine/operator/operator.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,WAAW,GAAG,OAAO,EAAE,YAAY,GAAG,OAAO,EAAE,aAAa,GAAG,WAAW,EAAE,cAAc,GAAG,YAAY;IACjI,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,SAAS,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,aAAa,CAAC;IAC7H,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,SAAS,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,cAAc,CAAC;IAC/H,0BAA0B;IAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC;IACrG,0BAA0B;IAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"operator.interface.d.ts","sourceRoot":"","sources":["../../../src/engine/operator/operator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,WAAW,GAAG,OAAO,EAAE,YAAY,GAAG,OAAO,EAAE,aAAa,GAAG,WAAW,EAAE,cAAc,GAAG,YAAY;IACjI,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,SAAS,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,aAAa,CAAC;IAC7H,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,SAAS,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,cAAc,CAAC;IAC/H,0BAA0B;IAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,OAAO,CAAC;IAC5G,0DAA0D;IAC1D,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC;IACrG,0BAA0B;IAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC"}
@@ -1,139 +1,116 @@
1
1
  import { Operator, SupportedSimpleTypes } from '../operator.interface';
2
2
  /**
3
3
  * Check if any of the variable's value is equal to a specific value
4
- *
5
4
  * @title contains
6
5
  */
7
6
  export declare const arrayContains: Operator<SupportedSimpleTypes[], SupportedSimpleTypes>;
8
7
  /**
9
8
  * Check if the specified text value is included in the text variable
10
- *
11
9
  * @title contains
12
10
  */
13
11
  export declare const stringContains: Operator<string, string>;
14
12
  /**
15
13
  * Check if every value of the variable is different from a specific value
16
- *
17
14
  * @title does not contain
18
15
  */
19
16
  export declare const notArrayContains: Operator<SupportedSimpleTypes[], SupportedSimpleTypes>;
20
17
  /**
21
18
  * Check if the specified text value is not included in the text variable
22
- *
23
19
  * @title does not contain
24
20
  */
25
21
  export declare const notStringContains: Operator<string, string>;
26
22
  /**
27
23
  * Check if every value of the variable equals a specific value
28
- *
29
24
  * @title all equal to
30
25
  */
31
26
  export declare const allEqual: Operator<SupportedSimpleTypes[], SupportedSimpleTypes>;
32
27
  /**
33
28
  * Check if every numerical value of the variable is greater than a specific value
34
- *
35
29
  * @title all >
36
30
  */
37
31
  export declare const allGreater: Operator<SupportedSimpleTypes[], number | string>;
38
32
  /**
39
33
  * Check if every value of the variable is in a specific list
40
- *
41
34
  * @title all in
42
35
  */
43
36
  export declare const allIn: Operator<SupportedSimpleTypes[], SupportedSimpleTypes[]>;
44
37
  /**
45
38
  * Check if every value of the variable is not in a specific list
46
- *
47
39
  * @title none in
48
40
  */
49
41
  export declare const allNotIn: Operator<SupportedSimpleTypes[], SupportedSimpleTypes[]>;
50
42
  /**
51
43
  * Check if every numerical value of the variable is lower than a specific value
52
- *
53
44
  * @title all <
54
45
  */
55
46
  export declare const allLower: Operator<number[], number | string>;
56
47
  /**
57
48
  * Check if every string value of the variable matches a specific pattern
58
- *
59
49
  * @title all match
60
50
  */
61
51
  export declare const allMatch: Operator<string[], string>;
62
52
  /**
63
53
  * Check if every value of the variable is included in a specified range
64
- *
65
54
  * @title all between
66
55
  */
67
56
  export declare const allRangeNumber: Operator<number[], [number | string, number | string]>;
68
57
  /**
69
58
  * Check if at least one of the values of the variable equals a specific value
70
- *
71
59
  * @title one equal to
72
60
  */
73
61
  export declare const oneEquals: Operator<SupportedSimpleTypes[], SupportedSimpleTypes>;
74
62
  /**
75
63
  * Check if one of the values of the variable is greater than a specific value
76
- *
77
64
  * @title one >
78
65
  */
79
66
  export declare const oneGreater: Operator<number[], number | string>;
80
67
  /**
81
68
  * Check if at least one of the values of the variable is equal to one in a specified list
82
- *
83
69
  * @title one in
84
70
  */
85
71
  export declare const oneIn: Operator<SupportedSimpleTypes[], SupportedSimpleTypes[]>;
86
72
  /**
87
73
  * Check if one of the values of the variable is lower than a specific value
88
- *
89
74
  * @title one <
90
75
  */
91
76
  export declare const oneLower: Operator<number[], number | string>;
92
77
  /**
93
78
  * Check if one of the values of the variable matches a specific pattern
94
- *
95
79
  * @title one matches
96
80
  */
97
81
  export declare const oneMatches: Operator<string[], string>;
98
82
  /**
99
83
  * Check if one of the values of the variable is included in a specified range
100
- *
101
84
  * @title one between
102
85
  */
103
86
  export declare const oneRangeNumber: Operator<number[], [number | string, number | string]>;
104
87
  /**
105
88
  * Check if the number of values of the variable is equal to a specific value
106
- *
107
89
  * @title number of =
108
90
  */
109
91
  export declare const lengthEquals: Operator<any[], number | string>;
110
92
  /**
111
93
  * Check if the number of values of the variable is different from a specific value
112
- *
113
94
  * @title number of ≠
114
95
  */
115
96
  export declare const lengthNotEquals: Operator<any[], number | string>;
116
97
  /**
117
98
  * Check if the number of values of the variable is lower or equal to a specific value
118
- *
119
99
  * @title number of ≤
120
100
  */
121
101
  export declare const lengthLessThanOrEquals: Operator<any[], number | string>;
122
102
  /**
123
103
  * Check if the number of values of the variable is lower than a specific value
124
- *
125
104
  * @title number of <
126
105
  */
127
106
  export declare const lengthLessThan: Operator<any[], number | string>;
128
107
  /**
129
108
  * Check if the number of values of the variable is greater or equal to a specific value
130
- *
131
109
  * @title number of ≥
132
110
  */
133
111
  export declare const lengthGreaterThanOrEquals: Operator<any[], number | string>;
134
112
  /**
135
113
  * Check if the number of values of the variable is greater than a specific value
136
- *
137
114
  * @title number of >
138
115
  */
139
116
  export declare const lengthGreaterThan: Operator<any[], number | string>;
@@ -1 +1 @@
1
- {"version":3,"file":"array-based.operators.d.ts","sourceRoot":"","sources":["../../../../src/engine/operator/operators/array-based.operators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array-based.operators.d.ts","sourceRoot":"","sources":["../../../../src/engine/operator/operators/array-based.operators.ts"],"names":[],"mappings":"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"}
@@ -1,52 +1,49 @@
1
1
  import { Operator, SupportedSimpleTypes, UnaryOperator } from '../operator.interface';
2
2
  /**
3
3
  * Check if a variable is equal to a specific value
4
- *
5
4
  * @title is equal to
6
5
  */
7
6
  export declare const equals: Operator;
8
7
  /**
9
8
  * Check if a variable is different from a specific value
10
- *
11
9
  * @title is not equal to
12
10
  */
13
11
  export declare const notEquals: Operator;
14
12
  /**
15
13
  * Check if the variable's value is included in a specified list
16
- *
17
14
  * @title is in
18
15
  */
19
16
  export declare const inArray: Operator<SupportedSimpleTypes, SupportedSimpleTypes[]>;
20
17
  /**
21
18
  * Check if the variable's value is not included in the value list
22
- *
23
19
  * @title is not in
24
20
  */
25
21
  export declare const notInArray: Operator<SupportedSimpleTypes, SupportedSimpleTypes[]>;
26
22
  /**
27
23
  * Check if the text variable is part of the specified value
28
- *
29
24
  * @title within
30
25
  */
31
26
  export declare const inString: Operator<string, string>;
32
27
  /**
33
28
  * Check if the text variable is not part of the specified value
34
- *
35
29
  * @title not within
36
30
  */
37
31
  export declare const notInString: Operator<string, string>;
38
32
  /**
39
33
  * Check if the variable and its value are defined
40
- *
41
34
  * @title is defined
42
35
  */
43
36
  export declare const isDefined: UnaryOperator<any>;
44
37
  /**
45
38
  * Check if the variable and its value are undefined
46
- *
47
39
  * @title is not defined
48
40
  */
49
41
  export declare const isUndefined: UnaryOperator<any>;
42
+ /**
43
+ * Check if the text variable matches the specified RegExp pattern
44
+ * @title matches the pattern
45
+ */
46
+ export declare const matchesPattern: Operator<string, string>;
50
47
  /** List of all default basic operators */
51
48
  export declare const basicOperators: (Operator<string, string, string, string> | Operator<unknown, unknown, unknown, unknown> | Operator<SupportedSimpleTypes, SupportedSimpleTypes[], SupportedSimpleTypes, SupportedSimpleTypes[]> | UnaryOperator<any>)[];
52
49
  //# sourceMappingURL=basic.operators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"basic.operators.d.ts","sourceRoot":"","sources":["../../../../src/engine/operator/operators/basic.operators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtF;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,QAIpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAIvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,CAK1E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,CAK7E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAK7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,GAAG,CAGxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,GAAG,CAG1C,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,cAAc,yNAE1B,CAAC"}
1
+ {"version":3,"file":"basic.operators.d.ts","sourceRoot":"","sources":["../../../../src/engine/operator/operators/basic.operators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,QAIpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,QAIvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,CAK1E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,CAK7E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAK7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,GAAG,CAGxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,GAAG,CAG1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAQnD,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,cAAc,yNAE1B,CAAC"}
@@ -1,33 +1,40 @@
1
1
  import { DateInput, Operator } from '../operator.interface';
2
2
  /**
3
3
  * Check if a date variable is in a specified date range
4
- *
5
4
  * @title is between
6
5
  */
7
6
  export declare const inRangeDate: Operator<Date, [DateInput, DateInput], DateInput>;
7
+ /**
8
+ * Check if the value of the variable is in the next x minutes
9
+ * @title is in next minutes
10
+ * @returns false for dates before `now` and for dates after `now` + `nextMinutes`, true for dates between `now` and `now` + `nextMinutes`
11
+ */
12
+ export declare const dateInNextMinutes: Operator<Date, string | number, DateInput>;
13
+ /**
14
+ * Check if the value of the variable is not in the next x minutes
15
+ * @title is not in next minutes
16
+ * @returns false for dates before `now` and for dates between `now` and `now` + `nextMinutes`, true for dates after `now` + `nextMinutes`
17
+ */
18
+ export declare const dateNotInNextMinutes: Operator<Date, string | number, DateInput>;
8
19
  /**
9
20
  * Check if a date variable is prior than a specified date
10
- *
11
21
  * @title is before
12
22
  */
13
23
  export declare const dateBefore: Operator<Date, DateInput, DateInput>;
14
24
  /**
15
25
  * Check if a date variable is posterior than a specified date
16
- *
17
26
  * @title is after
18
27
  */
19
28
  export declare const dateAfter: Operator<Date, DateInput, DateInput>;
20
29
  /**
21
30
  * Check if a date variable is the same as a specified date
22
- *
23
31
  * @title is equal to
24
32
  */
25
33
  export declare const dateEquals: Operator<Date, DateInput, DateInput>;
26
34
  /**
27
35
  * Check if a date variable is different from a specified date
28
- *
29
36
  * @title is not equal
30
37
  */
31
38
  export declare const dateNotEquals: Operator<Date, DateInput, DateInput>;
32
- export declare const dateBasedOperators: (Operator<Date, [DateInput, DateInput], DateInput, [DateInput, DateInput]> | Operator<Date, DateInput, DateInput, DateInput>)[];
39
+ export declare const dateBasedOperators: (Operator<Date, [DateInput, DateInput], DateInput, [DateInput, DateInput]> | Operator<Date, string | number, DateInput, string | number> | Operator<Date, DateInput, DateInput, DateInput>)[];
33
40
  //# sourceMappingURL=date-based.operators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-based.operators.d.ts","sourceRoot":"","sources":["../../../../src/engine/operator/operators/date-based.operators.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAQzE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAS3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAS1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAS3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAS9D,CAAC;AAEF,eAAO,MAAM,kBAAkB,iIAE9B,CAAC"}
1
+ {"version":3,"file":"date-based.operators.d.ts","sourceRoot":"","sources":["../../../../src/engine/operator/operators/date-based.operators.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAQzE,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,CAexE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,CAkB3E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAS3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAS1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAS3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAS9D,CAAC;AAEF,eAAO,MAAM,kBAAkB,+LAE9B,CAAC"}
@@ -2,5 +2,5 @@ export * from './array-based.operators';
2
2
  export * from './basic.operators';
3
3
  export * from './number-based.operators';
4
4
  export * from './date-based.operators';
5
- export declare const operatorList: (import("@o3r/rules-engine").Operator<import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes, import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes> | import("@o3r/rules-engine").Operator<string, string, string, string> | import("@o3r/rules-engine").Operator<import("@o3r/rules-engine").SupportedSimpleTypes[], string | number, import("@o3r/rules-engine").SupportedSimpleTypes[], string | number> | import("@o3r/rules-engine").Operator<import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes[]> | import("@o3r/rules-engine").Operator<number[], string | number, number[], string | number> | import("@o3r/rules-engine").Operator<string[], string, string[], string> | import("@o3r/rules-engine").Operator<number[], [string | number, string | number], number[], [string | number, string | number]> | import("@o3r/rules-engine").Operator<any[], string | number, any[], string | number> | import("@o3r/rules-engine").Operator<unknown, unknown, unknown, unknown> | import("@o3r/rules-engine").Operator<import("@o3r/rules-engine").SupportedSimpleTypes, import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes, import("@o3r/rules-engine").SupportedSimpleTypes[]> | import("@o3r/rules-engine").UnaryOperator<any> | import("@o3r/rules-engine").Operator<number, string | number, string | number, string | number> | import("@o3r/rules-engine").Operator<Date, [import("@o3r/rules-engine").DateInput, import("@o3r/rules-engine").DateInput], import("@o3r/rules-engine").DateInput, [import("@o3r/rules-engine").DateInput, import("@o3r/rules-engine").DateInput]> | import("@o3r/rules-engine").Operator<Date, import("@o3r/rules-engine").DateInput, import("@o3r/rules-engine").DateInput, import("@o3r/rules-engine").DateInput>)[];
5
+ export declare const operatorList: (import("@o3r/rules-engine").Operator<import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes, import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes> | import("@o3r/rules-engine").Operator<string, string, string, string> | import("@o3r/rules-engine").Operator<import("@o3r/rules-engine").SupportedSimpleTypes[], string | number, import("@o3r/rules-engine").SupportedSimpleTypes[], string | number> | import("@o3r/rules-engine").Operator<import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes[]> | import("@o3r/rules-engine").Operator<number[], string | number, number[], string | number> | import("@o3r/rules-engine").Operator<string[], string, string[], string> | import("@o3r/rules-engine").Operator<number[], [string | number, string | number], number[], [string | number, string | number]> | import("@o3r/rules-engine").Operator<any[], string | number, any[], string | number> | import("@o3r/rules-engine").Operator<unknown, unknown, unknown, unknown> | import("@o3r/rules-engine").Operator<import("@o3r/rules-engine").SupportedSimpleTypes, import("@o3r/rules-engine").SupportedSimpleTypes[], import("@o3r/rules-engine").SupportedSimpleTypes, import("@o3r/rules-engine").SupportedSimpleTypes[]> | import("@o3r/rules-engine").UnaryOperator<any> | import("@o3r/rules-engine").Operator<number, string | number, string | number, string | number> | import("@o3r/rules-engine").Operator<Date, [import("@o3r/rules-engine").DateInput, import("@o3r/rules-engine").DateInput], import("@o3r/rules-engine").DateInput, [import("@o3r/rules-engine").DateInput, import("@o3r/rules-engine").DateInput]> | import("@o3r/rules-engine").Operator<Date, string | number, import("@o3r/rules-engine").DateInput, string | number> | import("@o3r/rules-engine").Operator<Date, import("@o3r/rules-engine").DateInput, import("@o3r/rules-engine").DateInput, import("@o3r/rules-engine").DateInput>)[];
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engine/operator/operators/index.ts"],"names":[],"mappings":"AAKA,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAEvC,eAAO,MAAM,YAAY,88DAA8F,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engine/operator/operators/index.ts"],"names":[],"mappings":"AAKA,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAEvC,eAAO,MAAM,YAAY,okEAA8F,CAAC"}