@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.
Files changed (239) hide show
  1. package/dist/module/components/component-types.js +1 -5
  2. package/dist/module/components/component-types.js.map +1 -1
  3. package/dist/module/components/conditional-component-types.js +1 -5
  4. package/dist/module/components/conditional-component-types.js.map +1 -1
  5. package/dist/module/components/enums.js +1 -5
  6. package/dist/module/components/enums.js.map +1 -1
  7. package/dist/module/components/index.js +3 -24
  8. package/dist/module/components/index.js.map +1 -1
  9. package/dist/module/components/types.js +1 -1
  10. package/dist/module/conditions/condition-abstract.js +3 -8
  11. package/dist/module/conditions/condition-abstract.js.map +1 -1
  12. package/dist/module/conditions/condition-field.js +3 -8
  13. package/dist/module/conditions/condition-field.js.map +1 -1
  14. package/dist/module/conditions/condition-group-def.js +1 -6
  15. package/dist/module/conditions/condition-group-def.js.map +1 -1
  16. package/dist/module/conditions/condition-group.js +4 -9
  17. package/dist/module/conditions/condition-group.js.map +1 -1
  18. package/dist/module/conditions/condition-model.js +20 -25
  19. package/dist/module/conditions/condition-model.js.map +1 -1
  20. package/dist/module/conditions/condition-operators.js +15 -23
  21. package/dist/module/conditions/condition-operators.js.map +1 -1
  22. package/dist/module/conditions/condition-ref.js +2 -7
  23. package/dist/module/conditions/condition-ref.js.map +1 -1
  24. package/dist/module/conditions/condition-value-abstract.js +3 -8
  25. package/dist/module/conditions/condition-value-abstract.js.map +1 -1
  26. package/dist/module/conditions/condition-value-registration.js +1 -6
  27. package/dist/module/conditions/condition-value-registration.js.map +1 -1
  28. package/dist/module/conditions/condition-values.js +12 -20
  29. package/dist/module/conditions/condition-values.js.map +1 -1
  30. package/dist/module/conditions/condition.js +9 -14
  31. package/dist/module/conditions/condition.js.map +1 -1
  32. package/dist/module/conditions/enums.js +1 -5
  33. package/dist/module/conditions/enums.js.map +1 -1
  34. package/dist/module/conditions/helpers.js +2 -7
  35. package/dist/module/conditions/helpers.js.map +1 -1
  36. package/dist/module/conditions/index.js +10 -139
  37. package/dist/module/conditions/index.js.map +1 -1
  38. package/dist/module/conditions/inline-condition-model.js +15 -26
  39. package/dist/module/conditions/inline-condition-model.js.map +1 -1
  40. package/dist/module/conditions/inline-condition-operators.js +15 -23
  41. package/dist/module/conditions/inline-condition-operators.js.map +1 -1
  42. package/dist/module/conditions/inline-condition-values.js +9 -17
  43. package/dist/module/conditions/inline-condition-values.js.map +1 -1
  44. package/dist/module/conditions/types.js +1 -1
  45. package/dist/module/conditions/types.js.map +1 -1
  46. package/dist/module/data-model/conditions-wrapper.js +3 -8
  47. package/dist/module/data-model/conditions-wrapper.js.map +1 -1
  48. package/dist/module/data-model/enums.js +1 -5
  49. package/dist/module/data-model/enums.js.map +1 -1
  50. package/dist/module/data-model/index.js +3 -24
  51. package/dist/module/data-model/index.js.map +1 -1
  52. package/dist/module/data-model/input-wrapper.js +3 -8
  53. package/dist/module/data-model/input-wrapper.js.map +1 -1
  54. package/dist/module/data-model/types.js +1 -5
  55. package/dist/module/data-model/types.js.map +1 -1
  56. package/dist/module/form/form-configuration.js +1 -6
  57. package/dist/module/form/form-configuration.js.map +1 -1
  58. package/dist/module/form/index.js +1 -10
  59. package/dist/module/form/index.js.map +1 -1
  60. package/dist/module/index.js +8 -91
  61. package/dist/module/index.js.map +1 -1
  62. package/dist/module/migration/index.js +1 -10
  63. package/dist/module/migration/index.js.map +1 -1
  64. package/dist/module/migration/migration.0-2.js +1 -5
  65. package/dist/module/migration/migration.0-2.js.map +1 -1
  66. package/dist/module/migration/migration.1-2.js +3 -6
  67. package/dist/module/migration/migration.1-2.js.map +1 -1
  68. package/dist/module/migration/types.js +1 -1
  69. package/dist/module/migration/whichMigrations.js +5 -9
  70. package/dist/module/migration/whichMigrations.js.map +1 -1
  71. package/dist/module/schema/index.js +1 -16
  72. package/dist/module/schema/index.js.map +1 -1
  73. package/dist/module/schema/schema.js +163 -167
  74. package/dist/module/schema/schema.js.map +1 -1
  75. package/dist/module/utils/helpers.js +5 -13
  76. package/dist/module/utils/helpers.js.map +1 -1
  77. package/dist/module/utils/logger.js +1 -6
  78. package/dist/module/utils/logger.js.map +1 -1
  79. package/dist/types/components/component-types.d.ts +1 -1
  80. package/dist/types/components/component-types.d.ts.map +1 -1
  81. package/dist/types/components/conditional-component-types.d.ts +1 -1
  82. package/dist/types/components/conditional-component-types.d.ts.map +1 -1
  83. package/dist/types/components/index.d.ts +3 -3
  84. package/dist/types/components/index.d.ts.map +1 -1
  85. package/dist/types/conditions/condition-abstract.d.ts +1 -1
  86. package/dist/types/conditions/condition-abstract.d.ts.map +1 -1
  87. package/dist/types/conditions/condition-field.d.ts +1 -1
  88. package/dist/types/conditions/condition-field.d.ts.map +1 -1
  89. package/dist/types/conditions/condition-group-def.d.ts +2 -2
  90. package/dist/types/conditions/condition-group-def.d.ts.map +1 -1
  91. package/dist/types/conditions/condition-group.d.ts +2 -2
  92. package/dist/types/conditions/condition-group.d.ts.map +1 -1
  93. package/dist/types/conditions/condition-model.d.ts +5 -5
  94. package/dist/types/conditions/condition-model.d.ts.map +1 -1
  95. package/dist/types/conditions/condition-operators.d.ts +2 -2
  96. package/dist/types/conditions/condition-operators.d.ts.map +1 -1
  97. package/dist/types/conditions/condition-ref.d.ts +2 -2
  98. package/dist/types/conditions/condition-ref.d.ts.map +1 -1
  99. package/dist/types/conditions/condition-value-abstract.d.ts +1 -1
  100. package/dist/types/conditions/condition-value-abstract.d.ts.map +1 -1
  101. package/dist/types/conditions/condition-values.d.ts +3 -3
  102. package/dist/types/conditions/condition-values.d.ts.map +1 -1
  103. package/dist/types/conditions/condition.d.ts +4 -4
  104. package/dist/types/conditions/condition.d.ts.map +1 -1
  105. package/dist/types/conditions/index.d.ts +10 -10
  106. package/dist/types/conditions/index.d.ts.map +1 -1
  107. package/dist/types/conditions/types.d.ts +3 -3
  108. package/dist/types/conditions/types.d.ts.map +1 -1
  109. package/dist/types/data-model/conditions-wrapper.d.ts +1 -1
  110. package/dist/types/data-model/conditions-wrapper.d.ts.map +1 -1
  111. package/dist/types/data-model/index.d.ts +3 -3
  112. package/dist/types/data-model/index.d.ts.map +1 -1
  113. package/dist/types/data-model/input-wrapper.d.ts +2 -2
  114. package/dist/types/data-model/input-wrapper.d.ts.map +1 -1
  115. package/dist/types/data-model/types.d.ts +3 -3
  116. package/dist/types/data-model/types.d.ts.map +1 -1
  117. package/dist/types/form/index.d.ts +1 -1
  118. package/dist/types/form/index.d.ts.map +1 -1
  119. package/dist/types/index.d.ts +11 -11
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/types/migration/index.d.ts +1 -1
  122. package/dist/types/migration/index.d.ts.map +1 -1
  123. package/dist/types/migration/migration.0-2.d.ts +1 -1
  124. package/dist/types/migration/migration.0-2.d.ts.map +1 -1
  125. package/dist/types/migration/migration.1-2.d.ts +1 -1
  126. package/dist/types/migration/migration.1-2.d.ts.map +1 -1
  127. package/dist/types/migration/whichMigrations.d.ts +1 -1
  128. package/dist/types/migration/whichMigrations.d.ts.map +1 -1
  129. package/dist/types/schema/index.d.ts +1 -1
  130. package/dist/types/schema/index.d.ts.map +1 -1
  131. package/package.json +3 -4
  132. package/src/components/component-types.ts +1 -1
  133. package/src/components/conditional-component-types.ts +1 -1
  134. package/src/components/index.ts +3 -3
  135. package/src/conditions/condition-abstract.ts +1 -1
  136. package/src/conditions/condition-field.ts +2 -2
  137. package/src/conditions/condition-group-def.ts +1 -1
  138. package/src/conditions/condition-group.ts +3 -3
  139. package/src/conditions/condition-model.ts +9 -9
  140. package/src/conditions/condition-operators.ts +6 -3
  141. package/src/conditions/condition-ref.ts +2 -2
  142. package/src/conditions/condition-value-abstract.ts +1 -1
  143. package/src/conditions/condition-values.ts +3 -3
  144. package/src/conditions/condition.ts +6 -6
  145. package/src/conditions/index.ts +10 -10
  146. package/src/conditions/inline-condition-model.ts +3 -3
  147. package/src/conditions/inline-condition-operators.ts +1 -1
  148. package/src/conditions/types.ts +3 -3
  149. package/src/data-model/conditions-wrapper.ts +2 -2
  150. package/src/data-model/index.ts +3 -3
  151. package/src/data-model/input-wrapper.ts +3 -3
  152. package/src/data-model/types.ts +3 -3
  153. package/src/form/index.ts +1 -1
  154. package/src/index.ts +11 -11
  155. package/src/migration/index.ts +1 -1
  156. package/src/migration/migration.0-2.ts +1 -1
  157. package/src/migration/migration.1-2.ts +2 -2
  158. package/src/migration/whichMigrations.ts +3 -3
  159. package/src/schema/index.ts +1 -1
  160. package/dist/browser/components/component-types.js +0 -220
  161. package/dist/browser/components/component-types.js.map +0 -1
  162. package/dist/browser/components/conditional-component-types.js +0 -28
  163. package/dist/browser/components/conditional-component-types.js.map +0 -1
  164. package/dist/browser/components/enums.js +0 -46
  165. package/dist/browser/components/enums.js.map +0 -1
  166. package/dist/browser/components/index.js +0 -36
  167. package/dist/browser/components/index.js.map +0 -1
  168. package/dist/browser/components/types.js +0 -16
  169. package/dist/browser/components/types.js.map +0 -1
  170. package/dist/browser/conditions/condition-abstract.js +0 -62
  171. package/dist/browser/conditions/condition-abstract.js.map +0 -1
  172. package/dist/browser/conditions/condition-field.js +0 -45
  173. package/dist/browser/conditions/condition-field.js.map +0 -1
  174. package/dist/browser/conditions/condition-group-def.js +0 -45
  175. package/dist/browser/conditions/condition-group-def.js.map +0 -1
  176. package/dist/browser/conditions/condition-group.js +0 -64
  177. package/dist/browser/conditions/condition-group.js.map +0 -1
  178. package/dist/browser/conditions/condition-model.js +0 -214
  179. package/dist/browser/conditions/condition-model.js.map +0 -1
  180. package/dist/browser/conditions/condition-operators.js +0 -132
  181. package/dist/browser/conditions/condition-operators.js.map +0 -1
  182. package/dist/browser/conditions/condition-ref.js +0 -51
  183. package/dist/browser/conditions/condition-ref.js.map +0 -1
  184. package/dist/browser/conditions/condition-value-abstract.js +0 -41
  185. package/dist/browser/conditions/condition-value-abstract.js.map +0 -1
  186. package/dist/browser/conditions/condition-value-registration.js +0 -37
  187. package/dist/browser/conditions/condition-value-registration.js.map +0 -1
  188. package/dist/browser/conditions/condition-values.js +0 -127
  189. package/dist/browser/conditions/condition-values.js.map +0 -1
  190. package/dist/browser/conditions/condition.js +0 -56
  191. package/dist/browser/conditions/condition.js.map +0 -1
  192. package/dist/browser/conditions/enums.js +0 -24
  193. package/dist/browser/conditions/enums.js.map +0 -1
  194. package/dist/browser/conditions/helpers.js +0 -26
  195. package/dist/browser/conditions/helpers.js.map +0 -1
  196. package/dist/browser/conditions/index.js +0 -144
  197. package/dist/browser/conditions/index.js.map +0 -1
  198. package/dist/browser/conditions/inline-condition-model.js +0 -418
  199. package/dist/browser/conditions/inline-condition-model.js.map +0 -1
  200. package/dist/browser/conditions/inline-condition-operators.js +0 -132
  201. package/dist/browser/conditions/inline-condition-operators.js.map +0 -1
  202. package/dist/browser/conditions/inline-condition-values.js +0 -159
  203. package/dist/browser/conditions/inline-condition-values.js.map +0 -1
  204. package/dist/browser/conditions/types.js +0 -16
  205. package/dist/browser/conditions/types.js.map +0 -1
  206. package/dist/browser/data-model/conditions-wrapper.js +0 -49
  207. package/dist/browser/data-model/conditions-wrapper.js.map +0 -1
  208. package/dist/browser/data-model/enums.js +0 -25
  209. package/dist/browser/data-model/enums.js.map +0 -1
  210. package/dist/browser/data-model/index.js +0 -36
  211. package/dist/browser/data-model/index.js.map +0 -1
  212. package/dist/browser/data-model/input-wrapper.js +0 -49
  213. package/dist/browser/data-model/input-wrapper.js.map +0 -1
  214. package/dist/browser/data-model/types.js +0 -27
  215. package/dist/browser/data-model/types.js.map +0 -1
  216. package/dist/browser/form/form-configuration.js +0 -38
  217. package/dist/browser/form/form-configuration.js.map +0 -1
  218. package/dist/browser/form/index.js +0 -24
  219. package/dist/browser/form/index.js.map +0 -1
  220. package/dist/browser/index.js +0 -98
  221. package/dist/browser/index.js.map +0 -1
  222. package/dist/browser/migration/index.js +0 -24
  223. package/dist/browser/migration/index.js.map +0 -1
  224. package/dist/browser/migration/migration.0-2.js +0 -65
  225. package/dist/browser/migration/migration.0-2.js.map +0 -1
  226. package/dist/browser/migration/migration.1-2.js +0 -108
  227. package/dist/browser/migration/migration.1-2.js.map +0 -1
  228. package/dist/browser/migration/types.js +0 -16
  229. package/dist/browser/migration/types.js.map +0 -1
  230. package/dist/browser/migration/whichMigrations.js +0 -38
  231. package/dist/browser/migration/whichMigrations.js.map +0 -1
  232. package/dist/browser/schema/index.js +0 -30
  233. package/dist/browser/schema/index.js.map +0 -1
  234. package/dist/browser/schema/schema.js +0 -255
  235. package/dist/browser/schema/schema.js.map +0 -1
  236. package/dist/browser/utils/helpers.js +0 -48
  237. package/dist/browser/utils/helpers.js.map +0 -1
  238. package/dist/browser/utils/logger.js +0 -46
  239. package/dist/browser/utils/logger.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"condition-operators.js","names":["_conditionValues","require","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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"}
1
+ {"version":3,"file":"condition-operators.js","names":["timeUnits","dateUnits","dateTimeUnits","ConditionValue","DateDirections","RelativeTimeValue","defaultOperators","is","inline","withDefaults","param","Object","assign","textBasedFieldCustomisations","lengthIs","absoluteDateTimeOperators","absoluteDateTime","relativeTimeOperators","units","relativeTime","customOperators","CheckboxesField","contains","reverseInline","not","NumberField","DateField","TimeField","DatePartsField","DateTimeField","DateTimePartsField","TextField","MultilineTextField","EmailAddressField","getOperatorNames","fieldType","keys","getConditionals","sort","getExpression","fieldName","operator","value","expression","type","name","getOperatorConfig","field","formatValue","operatorDefinition","absoluteDateOrTimeOperatorNames","relativeDateOrTimeOperatorNames","toExpression","Error","pastOperator","futureOperator","direction","PAST"],"sources":["../../../src/conditions/condition-operators.ts"],"sourcesContent":["import {\n type ComponentType,\n type ComponentDef\n} from '~/src/components/types.js'\nimport { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract.js'\nimport {\n timeUnits,\n dateUnits,\n dateTimeUnits,\n ConditionValue,\n DateDirections,\n RelativeTimeValue\n} from '~/src/conditions/condition-values.js'\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":"AAKA,SACEA,SAAS,EACTC,SAAS,EACTC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,iBAAiB;AAKnB,MAAMC,gBAAgB,GAAG;EACvBC,EAAE,EAAEC,MAAM,CAAC,IAAI,CAAC;EAChB,QAAQ,EAAEA,MAAM,CAAC,IAAI;AACvB,CAAC;AAED,SAASC,YAAYA,CAAIC,KAAQ,EAAE;EACjC,OAAOC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEF,KAAK,EAAEJ,gBAAgB,CAAC;AACnD;AAEA,MAAMO,4BAA4B,GAAG;EACnC,gBAAgB,EAAEC,QAAQ,CAAC,GAAG,CAAC;EAC/B,iBAAiB,EAAEA,QAAQ,CAAC,GAAG,CAAC;EAChC,YAAY,EAAEA,QAAQ,CAAC,IAAI;AAC7B,CAAC;AAED,MAAMC,yBAAyB,GAAG;EAChCR,EAAE,EAAES,gBAAgB,CAAC,IAAI,CAAC;EAC1B,QAAQ,EAAEA,gBAAgB,CAAC,IAAI,CAAC;EAChC,WAAW,EAAEA,gBAAgB,CAAC,GAAG,CAAC;EAClC,UAAU,EAAEA,gBAAgB,CAAC,GAAG;AAClC,CAAC;AAED,MAAMC,qBAAqB,GAAIC,KAAK,KAAM;EACxC,aAAa,EAAEC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAED,KAAK,CAAC;EAC9C,YAAY,EAAEC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAED,KAAK,CAAC;EAC7C,cAAc,EAAEC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAED,KAAK,CAAC;EAC7C,cAAc,EAAEC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAED,KAAK;AAC9C,CAAC,CAAC;AAEF,OAAO,MAAME,eAAe,GAAG;EAC7BC,eAAe,EAAE;IACfC,QAAQ,EAAEC,aAAa,CAAC,IAAI,CAAC;IAC7B,kBAAkB,EAAEC,GAAG,CAACD,aAAa,CAAC,IAAI,CAAC;EAC7C,CAAC;EACDE,WAAW,EAAEhB,YAAY,CAAC;IACxB,aAAa,EAAED,MAAM,CAAC,IAAI,CAAC;IAC3B,YAAY,EAAEA,MAAM,CAAC,IAAI,CAAC;IAC1B,cAAc,EAAEA,MAAM,CAAC,GAAG,CAAC;IAC3B,cAAc,EAAEA,MAAM,CAAC,GAAG;EAC5B,CAAC,CAAC;EACFkB,SAAS,EAAEf,MAAM,CAACC,MAAM,CACtB,CAAC,CAAC,EACFG,yBAAyB,EACzBE,qBAAqB,CAAChB,SAAS,CACjC,CAAC;EACD0B,SAAS,EAAEhB,MAAM,CAACC,MAAM,CACtB,CAAC,CAAC,EACFG,yBAAyB,EACzBE,qBAAqB,CAACjB,SAAS,CACjC,CAAC;EACD4B,cAAc,EAAEjB,MAAM,CAACC,MAAM,CAC3B,CAAC,CAAC,EACFG,yBAAyB,EACzBE,qBAAqB,CAAChB,SAAS,CACjC,CAAC;EACD4B,aAAa,EAAElB,MAAM,CAACC,MAAM,CAC1B,CAAC,CAAC,EACFG,yBAAyB,EACzBE,qBAAqB,CAACf,aAAa,CACrC,CAAC;EACD4B,kBAAkB,EAAEnB,MAAM,CAACC,MAAM,CAC/B,CAAC,CAAC,EACFG,yBAAyB,EACzBE,qBAAqB,CAACf,aAAa,CACrC,CAAC;EACD6B,SAAS,EAAEtB,YAAY,CAACI,4BAA4B,CAAC;EACrDmB,kBAAkB,EAAEvB,YAAY,CAACI,4BAA4B,CAAC;EAC9DoB,iBAAiB,EAAExB,YAAY,CAACI,4BAA4B;AAC9D,CAAC;AAED,OAAO,SAASqB,gBAAgBA,CAACC,SAAS,EAAE;EAC1C,OAAOxB,MAAM,CAACyB,IAAI,CAACC,eAAe,CAACF,SAAS,CAAC,CAAC,CAACG,IAAI,CAAC,CAAC;AACvD;AAEA,OAAO,SAASC,aAAaA,CAC3BJ,SAAwB,EACxBK,SAAiB,EACjBC,QAAgB,EAChBC,KAA6B,EAC7B;EACA,OAAOL,eAAe,CAACF,SAAS,CAAC,CAACM,QAAQ,CAAC,CAACE,UAAU,CACpD;IAAEC,IAAI,EAAET,SAAS;IAAEU,IAAI,EAAEL;EAAU,CAAC,EACpCE,KACF,CAAC;AACH;AAEA,OAAO,SAASI,iBAAiBA,CAACX,SAAwB,EAAEM,QAAQ,EAAE;EACpE,OAAOJ,eAAe,CAACF,SAAS,CAAC,CAACM,QAAQ,CAAC;AAC7C;AAEA,SAASJ,eAAeA,CAACF,SAAwB,EAAE;EACjD,OAAOf,eAAe,CAACe,SAAS,CAAC,IAAI7B,gBAAgB;AACvD;AAEA,SAASE,MAAMA,CAACiC,QAAkB,EAAE;EAClC,OAAO;IACLE,UAAU,EAAEA,CAACI,KAAmB,EAAEL,KAAK,KACpC,GAAEK,KAAK,CAACF,IAAK,IAAGJ,QAAS,IAAGO,WAAW,CAACD,KAAK,CAACH,IAAI,EAAEF,KAAK,CAACA,KAAK,CAAE;EACtE,CAAC;AACH;AAEA,SAAS5B,QAAQA,CAAC2B,QAAkB,EAAE;EACpC,OAAO;IACLE,UAAU,EAAEA,CAACI,KAAmB,EAAEL,KAAK,KACpC,UAASK,KAAK,CAACF,IAAK,KAAIJ,QAAS,IAAGC,KAAK,CAACA,KAAM;EACrD,CAAC;AACH;AAEA,SAASnB,aAAaA,CAACkB,QAAc,EAAE;EACrC,OAAO;IACLE,UAAU,EAAEA,CAACI,KAAmB,EAAEL,KAAK,KACpC,GAAEM,WAAW,CAACD,KAAK,CAACH,IAAI,EAAEF,KAAK,CAACA,KAAK,CAAE,IAAGD,QAAS,IAAGM,KAAK,CAACF,IAAK;EACtE,CAAC;AACH;AAEA,SAASrB,GAAGA,CAACyB,kBAAkB,EAAE;EAC/B,OAAO;IACLN,UAAU,EAAEA,CAACI,KAAmB,EAAEL,KAAK,KACpC,QAAOO,kBAAkB,CAACN,UAAU,CAACI,KAAK,EAAEL,KAAK,CAAE;EACxD,CAAC;AACH;AAEA,SAASM,WAAWA,CAACb,SAAwB,EAAEO,KAAK,EAAE;EACpD,IAAIP,SAAS,KAAK,aAAa,IAAIA,SAAS,KAAK,YAAY,EAAE;IAC7D,OAAOO,KAAK;EACd;EACA,OAAQ,IAAGA,KAAM,GAAE;AACrB;AAEA,OAAO,MAAMQ,+BAA+B,GAAGvC,MAAM,CAACyB,IAAI,CACxDrB,yBACF,CAAC;AACD,OAAO,MAAMoC,+BAA+B,GAAGxC,MAAM,CAACyB,IAAI,CACxDnB,qBAAqB,CAACf,aAAa,CACrC,CAAC;AAED,SAASc,gBAAgBA,CAACyB,QAAkB,EAAE;EAC5C,OAAO;IACLE,UAAU,EAAEA,CAACI,KAAmB,EAAEL,KAAK,KAAK;MAC1C,IAAIA,KAAK,YAAYvC,cAAc,EAAE;QACnC,OAAQ,GAAE4C,KAAK,CAACF,IAAK,IAAGJ,QAAS,KAAIC,KAAK,CAACU,YAAY,CAAC,CAAE,GAAE;MAC9D;MACA,MAAMC,KAAK,CAAC,gCAAgC,CAAC;IAC/C;EACF,CAAC;AACH;AAEA,SAASlC,YAAYA,CAACmC,YAAY,EAAEC,cAAc,EAAErC,KAAK,EAAE;EACzD,OAAO;IACLA,KAAK;IACLyB,UAAU,EAAEA,CAACI,KAAmB,EAAEL,KAAK,KAAK;MAC1C,IAAIA,KAAK,YAAYrC,iBAAiB,EAAE;QACtC,MAAMoC,QAAQ,GACZC,KAAK,CAACc,SAAS,KAAKpD,cAAc,CAACqD,IAAI,GACnCH,YAAY,GACZC,cAAc;QACpB,OAAQ,GAAER,KAAK,CAACF,IAAK,IAAGJ,QAAS,IAAGC,KAAK,CAACU,YAAY,CAAC,CAAE,EAAC;MAC5D;MACA,MAAMC,KAAK,CAAC,sCAAsC,CAAC;IACrD;EACF,CAAC;AACH"}
@@ -1,9 +1,5 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.ConditionRef = void 0;
5
- var _conditionAbstract = require("./condition-abstract");
6
- class ConditionRef extends _conditionAbstract.ConditionAbstract {
1
+ import { ConditionAbstract } from "./condition-abstract.js";
2
+ export class ConditionRef extends ConditionAbstract {
7
3
  constructor(conditionName, conditionDisplayName, coordinator) {
8
4
  super(coordinator);
9
5
  if (typeof conditionName !== 'string') {
@@ -29,5 +25,4 @@ class ConditionRef extends _conditionAbstract.ConditionAbstract {
29
25
  return new ConditionRef(this.conditionName, this.conditionDisplayName, this.coordinator);
30
26
  }
31
27
  }
32
- exports.ConditionRef = ConditionRef;
33
28
  //# sourceMappingURL=condition-ref.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-ref.js","names":["_conditionAbstract","require","ConditionRef","ConditionAbstract","constructor","conditionName","conditionDisplayName","coordinator","Error","asFirstCondition","_asFirstCondition","conditionString","conditionExpression","clone","exports"],"sources":["../../../src/conditions/condition-ref.ts"],"sourcesContent":["import { ConditionAbstract } from '~/src/conditions/condition-abstract'\nimport { Coordinator } from '~/src/conditions/enums'\n\nexport class ConditionRef extends ConditionAbstract {\n conditionName: string\n conditionDisplayName: string\n\n constructor(\n conditionName: string,\n conditionDisplayName: string,\n coordinator: Coordinator | undefined\n ) {\n super(coordinator)\n\n if (typeof conditionName !== 'string') {\n throw Error(`condition name ${conditionName} is not valid`)\n }\n\n if (typeof conditionDisplayName !== 'string') {\n throw Error(`condition display name ${conditionDisplayName} is not valid`)\n }\n\n this.conditionName = conditionName\n this.conditionDisplayName = conditionDisplayName\n }\n\n asFirstCondition() {\n this._asFirstCondition()\n return this\n }\n\n conditionString() {\n return `'${this.conditionDisplayName}'`\n }\n\n conditionExpression() {\n return this.conditionName\n }\n\n clone() {\n return new ConditionRef(\n this.conditionName,\n this.conditionDisplayName,\n this.coordinator\n )\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAGO,MAAMC,YAAY,SAASC,oCAAiB,CAAC;EAIlDC,WAAWA,CACTC,aAAqB,EACrBC,oBAA4B,EAC5BC,WAAoC,EACpC;IACA,KAAK,CAACA,WAAW,CAAC;IAElB,IAAI,OAAOF,aAAa,KAAK,QAAQ,EAAE;MACrC,MAAMG,KAAK,CAAE,kBAAiBH,aAAc,eAAc,CAAC;IAC7D;IAEA,IAAI,OAAOC,oBAAoB,KAAK,QAAQ,EAAE;MAC5C,MAAME,KAAK,CAAE,0BAAyBF,oBAAqB,eAAc,CAAC;IAC5E;IAEA,IAAI,CAACD,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACC,oBAAoB,GAAGA,oBAAoB;EAClD;EAEAG,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,OAAO,IAAI;EACb;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAQ,IAAG,IAAI,CAACL,oBAAqB,GAAE;EACzC;EAEAM,mBAAmBA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACP,aAAa;EAC3B;EAEAQ,KAAKA,CAAA,EAAG;IACN,OAAO,IAAIX,YAAY,CACrB,IAAI,CAACG,aAAa,EAClB,IAAI,CAACC,oBAAoB,EACzB,IAAI,CAACC,WACP,CAAC;EACH;AACF;AAACO,OAAA,CAAAZ,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"file":"condition-ref.js","names":["ConditionAbstract","ConditionRef","constructor","conditionName","conditionDisplayName","coordinator","Error","asFirstCondition","_asFirstCondition","conditionString","conditionExpression","clone"],"sources":["../../../src/conditions/condition-ref.ts"],"sourcesContent":["import { ConditionAbstract } from '~/src/conditions/condition-abstract.js'\nimport { Coordinator } from '~/src/conditions/enums.js'\n\nexport class ConditionRef extends ConditionAbstract {\n conditionName: string\n conditionDisplayName: string\n\n constructor(\n conditionName: string,\n conditionDisplayName: string,\n coordinator: Coordinator | undefined\n ) {\n super(coordinator)\n\n if (typeof conditionName !== 'string') {\n throw Error(`condition name ${conditionName} is not valid`)\n }\n\n if (typeof conditionDisplayName !== 'string') {\n throw Error(`condition display name ${conditionDisplayName} is not valid`)\n }\n\n this.conditionName = conditionName\n this.conditionDisplayName = conditionDisplayName\n }\n\n asFirstCondition() {\n this._asFirstCondition()\n return this\n }\n\n conditionString() {\n return `'${this.conditionDisplayName}'`\n }\n\n conditionExpression() {\n return this.conditionName\n }\n\n clone() {\n return new ConditionRef(\n this.conditionName,\n this.conditionDisplayName,\n this.coordinator\n )\n }\n}\n"],"mappings":"AAAA,SAASA,iBAAiB;AAG1B,OAAO,MAAMC,YAAY,SAASD,iBAAiB,CAAC;EAIlDE,WAAWA,CACTC,aAAqB,EACrBC,oBAA4B,EAC5BC,WAAoC,EACpC;IACA,KAAK,CAACA,WAAW,CAAC;IAElB,IAAI,OAAOF,aAAa,KAAK,QAAQ,EAAE;MACrC,MAAMG,KAAK,CAAE,kBAAiBH,aAAc,eAAc,CAAC;IAC7D;IAEA,IAAI,OAAOC,oBAAoB,KAAK,QAAQ,EAAE;MAC5C,MAAME,KAAK,CAAE,0BAAyBF,oBAAqB,eAAc,CAAC;IAC5E;IAEA,IAAI,CAACD,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACC,oBAAoB,GAAGA,oBAAoB;EAClD;EAEAG,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,OAAO,IAAI;EACb;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAQ,IAAG,IAAI,CAACL,oBAAqB,GAAE;EACzC;EAEAM,mBAAmBA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACP,aAAa;EAC3B;EAEAQ,KAAKA,CAAA,EAAG;IACN,OAAO,IAAIV,YAAY,CACrB,IAAI,CAACE,aAAa,EAClB,IAAI,CAACC,oBAAoB,EACzB,IAAI,CAACC,WACP,CAAC;EACH;AACF"}
@@ -1,14 +1,10 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.ConditionValueAbstract = void 0;
5
- var _conditionValueRegistration = require("./condition-value-registration");
6
- class ConditionValueAbstract {
1
+ import { Registration } from "./condition-value-registration.js";
2
+ export class ConditionValueAbstract {
7
3
  constructor(registration) {
8
4
  if (new.target === ConditionValueAbstract) {
9
5
  throw new TypeError('Cannot construct ConditionValue instances directly');
10
6
  }
11
- if (!(registration instanceof _conditionValueRegistration.Registration)) {
7
+ if (!(registration instanceof Registration)) {
12
8
  throw new TypeError('You must register your value type! Call registerValueType!');
13
9
  }
14
10
  this.type = registration.type;
@@ -20,5 +16,4 @@ class ConditionValueAbstract {
20
16
  throw new Error('Unsupported Operation. Method toExpression have not been implemented');
21
17
  }
22
18
  }
23
- exports.ConditionValueAbstract = ConditionValueAbstract;
24
19
  //# sourceMappingURL=condition-value-abstract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-value-abstract.js","names":["_conditionValueRegistration","require","ConditionValueAbstract","constructor","registration","new","target","TypeError","Registration","type","toPresentationString","Error","toExpression","exports"],"sources":["../../../src/conditions/condition-value-abstract.ts"],"sourcesContent":["import { Registration } from '~/src/conditions/condition-value-registration'\n\nexport class ConditionValueAbstract {\n type: string\n\n constructor(registration: Registration) {\n if (new.target === ConditionValueAbstract) {\n throw new TypeError('Cannot construct ConditionValue instances directly')\n }\n\n if (!(registration instanceof Registration)) {\n throw new TypeError(\n 'You must register your value type! Call registerValueType!'\n )\n }\n\n this.type = registration.type\n }\n\n toPresentationString() {\n throw new Error(\n 'Unsupported Operation. Method toPresentationString have not been implemented'\n )\n }\n\n toExpression() {\n throw new Error(\n 'Unsupported Operation. Method toExpression have not been implemented'\n )\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,2BAAA,GAAAC,OAAA;AAEO,MAAMC,sBAAsB,CAAC;EAGlCC,WAAWA,CAACC,YAA0B,EAAE;IACtC,IAAIC,GAAG,CAACC,MAAM,KAAKJ,sBAAsB,EAAE;MACzC,MAAM,IAAIK,SAAS,CAAC,oDAAoD,CAAC;IAC3E;IAEA,IAAI,EAAEH,YAAY,YAAYI,wCAAY,CAAC,EAAE;MAC3C,MAAM,IAAID,SAAS,CACjB,4DACF,CAAC;IACH;IAEA,IAAI,CAACE,IAAI,GAAGL,YAAY,CAACK,IAAI;EAC/B;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,MAAM,IAAIC,KAAK,CACb,8EACF,CAAC;EACH;EAEAC,YAAYA,CAAA,EAAG;IACb,MAAM,IAAID,KAAK,CACb,sEACF,CAAC;EACH;AACF;AAACE,OAAA,CAAAX,sBAAA,GAAAA,sBAAA"}
1
+ {"version":3,"file":"condition-value-abstract.js","names":["Registration","ConditionValueAbstract","constructor","registration","new","target","TypeError","type","toPresentationString","Error","toExpression"],"sources":["../../../src/conditions/condition-value-abstract.ts"],"sourcesContent":["import { Registration } from '~/src/conditions/condition-value-registration.js'\n\nexport class ConditionValueAbstract {\n type: string\n\n constructor(registration: Registration) {\n if (new.target === ConditionValueAbstract) {\n throw new TypeError('Cannot construct ConditionValue instances directly')\n }\n\n if (!(registration instanceof Registration)) {\n throw new TypeError(\n 'You must register your value type! Call registerValueType!'\n )\n }\n\n this.type = registration.type\n }\n\n toPresentationString() {\n throw new Error(\n 'Unsupported Operation. Method toPresentationString have not been implemented'\n )\n }\n\n toExpression() {\n throw new Error(\n 'Unsupported Operation. Method toExpression have not been implemented'\n )\n }\n}\n"],"mappings":"AAAA,SAASA,YAAY;AAErB,OAAO,MAAMC,sBAAsB,CAAC;EAGlCC,WAAWA,CAACC,YAA0B,EAAE;IACtC,IAAIC,GAAG,CAACC,MAAM,KAAKJ,sBAAsB,EAAE;MACzC,MAAM,IAAIK,SAAS,CAAC,oDAAoD,CAAC;IAC3E;IAEA,IAAI,EAAEH,YAAY,YAAYH,YAAY,CAAC,EAAE;MAC3C,MAAM,IAAIM,SAAS,CACjB,4DACF,CAAC;IACH;IAEA,IAAI,CAACC,IAAI,GAAGJ,YAAY,CAACI,IAAI;EAC/B;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,MAAM,IAAIC,KAAK,CACb,8EACF,CAAC;EACH;EAEAC,YAAYA,CAAA,EAAG;IACb,MAAM,IAAID,KAAK,CACb,sEACF,CAAC;EACH;AACF"}
@@ -1,9 +1,5 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.Registration = void 0;
5
1
  const conditionValueFactories = {};
6
- class Registration {
2
+ export class Registration {
7
3
  constructor(type, factory) {
8
4
  conditionValueFactories[type] = factory;
9
5
  this.type = type;
@@ -15,5 +11,4 @@ class Registration {
15
11
  return conditionValueFactories[obj.type](obj);
16
12
  }
17
13
  }
18
- exports.Registration = Registration;
19
14
  //# sourceMappingURL=condition-value-registration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-value-registration.js","names":["conditionValueFactories","Registration","constructor","type","factory","register","conditionValueFrom","obj","exports"],"sources":["../../../src/conditions/condition-value-registration.ts"],"sourcesContent":["const conditionValueFactories = {}\n\nexport class Registration {\n type: string\n\n constructor(type: string, factory: (obj: any) => Registration) {\n conditionValueFactories[type] = factory\n this.type = type\n }\n\n static register(type: string, factory: (obj: any) => Registration) {\n return new Registration(type, factory)\n }\n\n static conditionValueFrom(obj: { type: string; [prop: string]: any }) {\n return conditionValueFactories[obj.type](obj)\n }\n}\n"],"mappings":";;;;AAAA,MAAMA,uBAAuB,GAAG,CAAC,CAAC;AAE3B,MAAMC,YAAY,CAAC;EAGxBC,WAAWA,CAACC,IAAY,EAAEC,OAAmC,EAAE;IAC7DJ,uBAAuB,CAACG,IAAI,CAAC,GAAGC,OAAO;IACvC,IAAI,CAACD,IAAI,GAAGA,IAAI;EAClB;EAEA,OAAOE,QAAQA,CAACF,IAAY,EAAEC,OAAmC,EAAE;IACjE,OAAO,IAAIH,YAAY,CAACE,IAAI,EAAEC,OAAO,CAAC;EACxC;EAEA,OAAOE,kBAAkBA,CAACC,GAA0C,EAAE;IACpE,OAAOP,uBAAuB,CAACO,GAAG,CAACJ,IAAI,CAAC,CAACI,GAAG,CAAC;EAC/C;AACF;AAACC,OAAA,CAAAP,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"file":"condition-value-registration.js","names":["conditionValueFactories","Registration","constructor","type","factory","register","conditionValueFrom","obj"],"sources":["../../../src/conditions/condition-value-registration.ts"],"sourcesContent":["const conditionValueFactories = {}\n\nexport class Registration {\n type: string\n\n constructor(type: string, factory: (obj: any) => Registration) {\n conditionValueFactories[type] = factory\n this.type = type\n }\n\n static register(type: string, factory: (obj: any) => Registration) {\n return new Registration(type, factory)\n }\n\n static conditionValueFrom(obj: { type: string; [prop: string]: any }) {\n return conditionValueFactories[obj.type](obj)\n }\n}\n"],"mappings":"AAAA,MAAMA,uBAAuB,GAAG,CAAC,CAAC;AAElC,OAAO,MAAMC,YAAY,CAAC;EAGxBC,WAAWA,CAACC,IAAY,EAAEC,OAAmC,EAAE;IAC7DJ,uBAAuB,CAACG,IAAI,CAAC,GAAGC,OAAO;IACvC,IAAI,CAACD,IAAI,GAAGA,IAAI;EAClB;EAEA,OAAOE,QAAQA,CAACF,IAAY,EAAEC,OAAmC,EAAE;IACjE,OAAO,IAAIH,YAAY,CAACE,IAAI,EAAEC,OAAO,CAAC;EACxC;EAEA,OAAOE,kBAAkBA,CAACC,GAA0C,EAAE;IACpE,OAAOP,uBAAuB,CAACO,GAAG,CAACJ,IAAI,CAAC,CAACI,GAAG,CAAC;EAC/C;AACF"}
@@ -1,12 +1,6 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.RelativeTimeValue = exports.DateDirections = exports.ConditionValue = void 0;
5
- exports.conditionValueFrom = conditionValueFrom;
6
- exports.timeUnits = exports.relativeTimeValueType = exports.dateUnits = exports.dateTimeUnits = void 0;
7
- var _conditionValueAbstract = require("./condition-value-abstract");
8
- var _conditionValueRegistration = require("./condition-value-registration");
9
- class ConditionValue extends _conditionValueAbstract.ConditionValueAbstract {
1
+ import { ConditionValueAbstract } from "./condition-value-abstract.js";
2
+ import { Registration } from "./condition-value-registration.js";
3
+ export class ConditionValue extends ConditionValueAbstract {
10
4
  constructor(value, display) {
11
5
  super(valueType);
12
6
  if (!value || typeof value !== 'string') {
@@ -31,14 +25,13 @@ class ConditionValue extends _conditionValueAbstract.ConditionValueAbstract {
31
25
  return ConditionValue.from(this);
32
26
  }
33
27
  }
34
- exports.ConditionValue = ConditionValue;
35
- const valueType = _conditionValueRegistration.Registration.register('Value', obj => ConditionValue.from(obj));
36
- let DateDirections = exports.DateDirections = /*#__PURE__*/function (DateDirections) {
28
+ const valueType = Registration.register('Value', obj => ConditionValue.from(obj));
29
+ export let DateDirections = /*#__PURE__*/function (DateDirections) {
37
30
  DateDirections["FUTURE"] = "in the future";
38
31
  DateDirections["PAST"] = "in the past";
39
32
  return DateDirections;
40
33
  }({});
41
- const dateUnits = exports.dateUnits = {
34
+ export const dateUnits = {
42
35
  YEARS: {
43
36
  display: 'year(s)',
44
37
  value: 'years'
@@ -52,7 +45,7 @@ const dateUnits = exports.dateUnits = {
52
45
  value: 'days'
53
46
  }
54
47
  };
55
- const timeUnits = exports.timeUnits = {
48
+ export const timeUnits = {
56
49
  HOURS: {
57
50
  display: 'hour(s)',
58
51
  value: 'hours'
@@ -66,8 +59,8 @@ const timeUnits = exports.timeUnits = {
66
59
  value: 'seconds'
67
60
  }
68
61
  };
69
- const dateTimeUnits = exports.dateTimeUnits = Object.assign({}, dateUnits, timeUnits);
70
- class RelativeTimeValue extends _conditionValueAbstract.ConditionValueAbstract {
62
+ export const dateTimeUnits = Object.assign({}, dateUnits, timeUnits);
63
+ export class RelativeTimeValue extends ConditionValueAbstract {
71
64
  constructor(timePeriod, timeUnit, direction, timeOnly = false) {
72
65
  super(relativeTimeValueType);
73
66
  if (typeof timePeriod !== 'string') {
@@ -98,9 +91,8 @@ class RelativeTimeValue extends _conditionValueAbstract.ConditionValueAbstract {
98
91
  return RelativeTimeValue.from(this);
99
92
  }
100
93
  }
101
- exports.RelativeTimeValue = RelativeTimeValue;
102
- const relativeTimeValueType = exports.relativeTimeValueType = _conditionValueRegistration.Registration.register('RelativeTime', obj => RelativeTimeValue.from(obj));
103
- function conditionValueFrom(obj) {
104
- return _conditionValueRegistration.Registration.conditionValueFrom(obj);
94
+ export const relativeTimeValueType = Registration.register('RelativeTime', obj => RelativeTimeValue.from(obj));
95
+ export function conditionValueFrom(obj) {
96
+ return Registration.conditionValueFrom(obj);
105
97
  }
106
98
  //# sourceMappingURL=condition-values.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-values.js","names":["_conditionValueAbstract","require","_conditionValueRegistration","ConditionValue","ConditionValueAbstract","constructor","value","display","valueType","Error","toPresentationString","toExpression","from","obj","clone","exports","Registration","register","DateDirections","dateUnits","YEARS","MONTHS","DAYS","timeUnits","HOURS","MINUTES","SECONDS","dateTimeUnits","Object","assign","RelativeTimeValue","timePeriod","timeUnit","direction","timeOnly","relativeTimeValueType","values","map","unit","includes","PAST","Number","conditionValueFrom"],"sources":["../../../src/conditions/condition-values.ts"],"sourcesContent":["import { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract'\nimport { Registration } from '~/src/conditions/condition-value-registration'\nimport {\n type DateTimeUnitValues,\n type DateUnits,\n type TimeUnits\n} from '~/src/conditions/types'\n\nexport class ConditionValue extends ConditionValueAbstract {\n value: string\n display: string\n\n constructor(value: string, display?: string) {\n super(valueType)\n\n if (!value || typeof value !== 'string') {\n throw Error(`value ${value} is not valid`)\n }\n\n if (display && typeof display !== 'string') {\n throw Error(`display ${display} is not valid`)\n }\n\n this.value = value\n this.display = display || value\n }\n\n toPresentationString() {\n return this.display\n }\n\n toExpression() {\n return this.value\n }\n\n static from(obj: { value: string; display?: string }) {\n return new ConditionValue(obj.value, obj.display)\n }\n\n clone() {\n return ConditionValue.from(this)\n }\n}\n\nconst valueType = Registration.register('Value', (obj) =>\n ConditionValue.from(obj)\n)\n\nexport enum DateDirections {\n FUTURE = 'in the future',\n PAST = 'in the past'\n}\n\nexport const dateUnits: DateUnits = {\n YEARS: { display: 'year(s)', value: 'years' },\n MONTHS: { display: 'month(s)', value: 'months' },\n DAYS: { display: 'day(s)', value: 'days' }\n}\n\nexport const timeUnits: TimeUnits = {\n HOURS: { display: 'hour(s)', value: 'hours' },\n MINUTES: { display: 'minute(s)', value: 'minutes' },\n SECONDS: { display: 'second(s)', value: 'seconds' }\n}\n\nexport const dateTimeUnits: DateUnits & TimeUnits = Object.assign(\n {},\n dateUnits,\n timeUnits\n)\n\nexport class RelativeTimeValue extends ConditionValueAbstract {\n timePeriod: string\n timeUnit: DateTimeUnitValues\n direction: DateDirections\n timeOnly: boolean\n\n constructor(\n timePeriod: string,\n timeUnit: DateTimeUnitValues,\n direction: DateDirections,\n timeOnly = false\n ) {\n super(relativeTimeValueType)\n\n if (typeof timePeriod !== 'string') {\n throw Error(`time period ${timePeriod} is not valid`)\n }\n\n if (\n !Object.values(dateTimeUnits)\n .map((unit) => unit.value)\n .includes(timeUnit)\n ) {\n throw Error(`time unit ${timeUnit} is not valid`)\n }\n\n if (!Object.values(DateDirections).includes(direction)) {\n throw Error(`direction ${direction} is not valid`)\n }\n\n this.timePeriod = timePeriod\n this.timeUnit = timeUnit\n this.direction = direction\n this.timeOnly = timeOnly\n }\n\n toPresentationString() {\n return `${this.timePeriod} ${this.timeUnit} ${this.direction}`\n }\n\n toExpression(): string {\n const timePeriod =\n this.direction === DateDirections.PAST\n ? 0 - Number(this.timePeriod)\n : this.timePeriod\n return this.timeOnly\n ? `timeForComparison(${timePeriod}, '${this.timeUnit}')`\n : `dateForComparison(${timePeriod}, '${this.timeUnit}')`\n }\n\n static from(obj) {\n return new RelativeTimeValue(\n obj.timePeriod,\n obj.timeUnit,\n obj.direction,\n obj.timeOnly\n )\n }\n\n clone() {\n return RelativeTimeValue.from(this)\n }\n}\n\nexport const relativeTimeValueType = Registration.register(\n 'RelativeTime',\n (obj): RelativeTimeValue => RelativeTimeValue.from(obj)\n)\n\ntype ConditionValueFrom =\n | Pick<ConditionValue, 'type' | 'value' | 'display'>\n | Pick<\n RelativeTimeValue,\n 'type' | 'timePeriod' | 'timeUnit' | 'direction' | 'timeOnly'\n >\n\nexport function conditionValueFrom(obj: ConditionValueFrom) {\n return Registration.conditionValueFrom(obj)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"condition-values.js","names":["ConditionValueAbstract","Registration","ConditionValue","constructor","value","display","valueType","Error","toPresentationString","toExpression","from","obj","clone","register","DateDirections","dateUnits","YEARS","MONTHS","DAYS","timeUnits","HOURS","MINUTES","SECONDS","dateTimeUnits","Object","assign","RelativeTimeValue","timePeriod","timeUnit","direction","timeOnly","relativeTimeValueType","values","map","unit","includes","PAST","Number","conditionValueFrom"],"sources":["../../../src/conditions/condition-values.ts"],"sourcesContent":["import { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract.js'\nimport { Registration } from '~/src/conditions/condition-value-registration.js'\nimport {\n type DateTimeUnitValues,\n type DateUnits,\n type TimeUnits\n} from '~/src/conditions/types.js'\n\nexport class ConditionValue extends ConditionValueAbstract {\n value: string\n display: string\n\n constructor(value: string, display?: string) {\n super(valueType)\n\n if (!value || typeof value !== 'string') {\n throw Error(`value ${value} is not valid`)\n }\n\n if (display && typeof display !== 'string') {\n throw Error(`display ${display} is not valid`)\n }\n\n this.value = value\n this.display = display || value\n }\n\n toPresentationString() {\n return this.display\n }\n\n toExpression() {\n return this.value\n }\n\n static from(obj: { value: string; display?: string }) {\n return new ConditionValue(obj.value, obj.display)\n }\n\n clone() {\n return ConditionValue.from(this)\n }\n}\n\nconst valueType = Registration.register('Value', (obj) =>\n ConditionValue.from(obj)\n)\n\nexport enum DateDirections {\n FUTURE = 'in the future',\n PAST = 'in the past'\n}\n\nexport const dateUnits: DateUnits = {\n YEARS: { display: 'year(s)', value: 'years' },\n MONTHS: { display: 'month(s)', value: 'months' },\n DAYS: { display: 'day(s)', value: 'days' }\n}\n\nexport const timeUnits: TimeUnits = {\n HOURS: { display: 'hour(s)', value: 'hours' },\n MINUTES: { display: 'minute(s)', value: 'minutes' },\n SECONDS: { display: 'second(s)', value: 'seconds' }\n}\n\nexport const dateTimeUnits: DateUnits & TimeUnits = Object.assign(\n {},\n dateUnits,\n timeUnits\n)\n\nexport class RelativeTimeValue extends ConditionValueAbstract {\n timePeriod: string\n timeUnit: DateTimeUnitValues\n direction: DateDirections\n timeOnly: boolean\n\n constructor(\n timePeriod: string,\n timeUnit: DateTimeUnitValues,\n direction: DateDirections,\n timeOnly = false\n ) {\n super(relativeTimeValueType)\n\n if (typeof timePeriod !== 'string') {\n throw Error(`time period ${timePeriod} is not valid`)\n }\n\n if (\n !Object.values(dateTimeUnits)\n .map((unit) => unit.value)\n .includes(timeUnit)\n ) {\n throw Error(`time unit ${timeUnit} is not valid`)\n }\n\n if (!Object.values(DateDirections).includes(direction)) {\n throw Error(`direction ${direction} is not valid`)\n }\n\n this.timePeriod = timePeriod\n this.timeUnit = timeUnit\n this.direction = direction\n this.timeOnly = timeOnly\n }\n\n toPresentationString() {\n return `${this.timePeriod} ${this.timeUnit} ${this.direction}`\n }\n\n toExpression(): string {\n const timePeriod =\n this.direction === DateDirections.PAST\n ? 0 - Number(this.timePeriod)\n : this.timePeriod\n return this.timeOnly\n ? `timeForComparison(${timePeriod}, '${this.timeUnit}')`\n : `dateForComparison(${timePeriod}, '${this.timeUnit}')`\n }\n\n static from(obj) {\n return new RelativeTimeValue(\n obj.timePeriod,\n obj.timeUnit,\n obj.direction,\n obj.timeOnly\n )\n }\n\n clone() {\n return RelativeTimeValue.from(this)\n }\n}\n\nexport const relativeTimeValueType = Registration.register(\n 'RelativeTime',\n (obj): RelativeTimeValue => RelativeTimeValue.from(obj)\n)\n\ntype ConditionValueFrom =\n | Pick<ConditionValue, 'type' | 'value' | 'display'>\n | Pick<\n RelativeTimeValue,\n 'type' | 'timePeriod' | 'timeUnit' | 'direction' | 'timeOnly'\n >\n\nexport function conditionValueFrom(obj: ConditionValueFrom) {\n return Registration.conditionValueFrom(obj)\n}\n"],"mappings":"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"}
@@ -1,21 +1,17 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.Condition = void 0;
5
- var _conditionField = require("./condition-field");
6
- var _conditionAbstract = require("./condition-abstract");
7
- var _conditionOperators = require("./condition-operators");
8
- var _conditionValueAbstract = require("./condition-value-abstract");
9
- class Condition extends _conditionAbstract.ConditionAbstract {
1
+ import { ConditionField } from "./condition-field.js";
2
+ import { ConditionAbstract } from "./condition-abstract.js";
3
+ import { getExpression } from "./condition-operators.js";
4
+ import { ConditionValueAbstract } from "./condition-value-abstract.js";
5
+ export class Condition extends ConditionAbstract {
10
6
  constructor(field, operator, value, coordinator) {
11
7
  super(coordinator);
12
- if (!(field instanceof _conditionField.ConditionField)) {
8
+ if (!(field instanceof ConditionField)) {
13
9
  throw Error(`field ${field} is not a valid ConditionField object`);
14
10
  }
15
11
  if (typeof operator !== 'string') {
16
12
  throw Error(`operator ${operator} is not a valid operator`);
17
13
  }
18
- if (!(value instanceof _conditionValueAbstract.ConditionValueAbstract)) {
14
+ if (!(value instanceof ConditionValueAbstract)) {
19
15
  throw Error(`value ${value} is not a valid value type`);
20
16
  }
21
17
  this.field = field;
@@ -30,11 +26,10 @@ class Condition extends _conditionAbstract.ConditionAbstract {
30
26
  return `'${this.field.display}' ${this.operator} '${this.value.toPresentationString()}'`;
31
27
  }
32
28
  conditionExpression() {
33
- return (0, _conditionOperators.getExpression)(this.field.type, this.field.name, this.operator, this.value);
29
+ return getExpression(this.field.type, this.field.name, this.operator, this.value);
34
30
  }
35
31
  clone() {
36
- return new Condition(_conditionField.ConditionField.from(this.field), this.operator, this.value.clone(), this.coordinator);
32
+ return new Condition(ConditionField.from(this.field), this.operator, this.value.clone(), this.coordinator);
37
33
  }
38
34
  }
39
- exports.Condition = Condition;
40
35
  //# sourceMappingURL=condition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition.js","names":["_conditionField","require","_conditionAbstract","_conditionOperators","_conditionValueAbstract","Condition","ConditionAbstract","constructor","field","operator","value","coordinator","ConditionField","Error","ConditionValueAbstract","asFirstCondition","_asFirstCondition","conditionString","display","toPresentationString","conditionExpression","getExpression","type","name","clone","from","exports"],"sources":["../../../src/conditions/condition.ts"],"sourcesContent":["import { ConditionField } from '~/src/conditions/condition-field'\nimport { ConditionAbstract } from '~/src/conditions/condition-abstract'\nimport { getExpression } from '~/src/conditions/condition-operators'\nimport {\n ConditionValue,\n RelativeTimeValue\n} from '~/src/conditions/condition-values'\nimport { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract'\nimport { Coordinator } from '~/src/conditions/enums'\n\nexport class Condition extends ConditionAbstract {\n field: ConditionField\n operator: string\n value: ConditionValue | RelativeTimeValue\n\n constructor(\n field: ConditionField,\n operator: string,\n value: ConditionValue | RelativeTimeValue,\n coordinator?: Coordinator\n ) {\n super(coordinator)\n\n if (!(field instanceof ConditionField)) {\n throw Error(`field ${field} is not a valid ConditionField object`)\n }\n if (typeof operator !== 'string') {\n throw Error(`operator ${operator} is not a valid operator`)\n }\n if (!(value instanceof ConditionValueAbstract)) {\n throw Error(`value ${value} is not a valid value type`)\n }\n\n this.field = field\n this.operator = operator\n this.value = value\n }\n\n asFirstCondition() {\n this._asFirstCondition()\n return this\n }\n\n conditionString() {\n return `'${this.field.display}' ${\n this.operator\n } '${this.value.toPresentationString()}'`\n }\n\n conditionExpression() {\n return getExpression(\n this.field.type,\n this.field.name,\n this.operator,\n this.value\n )\n }\n\n clone() {\n return new Condition(\n ConditionField.from(this.field),\n this.operator,\n this.value.clone(),\n this.coordinator\n )\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAKA,IAAAG,uBAAA,GAAAH,OAAA;AAGO,MAAMI,SAAS,SAASC,oCAAiB,CAAC;EAK/CC,WAAWA,CACTC,KAAqB,EACrBC,QAAgB,EAChBC,KAAyC,EACzCC,WAAyB,EACzB;IACA,KAAK,CAACA,WAAW,CAAC;IAElB,IAAI,EAAEH,KAAK,YAAYI,8BAAc,CAAC,EAAE;MACtC,MAAMC,KAAK,CAAE,SAAQL,KAAM,uCAAsC,CAAC;IACpE;IACA,IAAI,OAAOC,QAAQ,KAAK,QAAQ,EAAE;MAChC,MAAMI,KAAK,CAAE,YAAWJ,QAAS,0BAAyB,CAAC;IAC7D;IACA,IAAI,EAAEC,KAAK,YAAYI,8CAAsB,CAAC,EAAE;MAC9C,MAAMD,KAAK,CAAE,SAAQH,KAAM,4BAA2B,CAAC;IACzD;IAEA,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;EAEAK,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,OAAO,IAAI;EACb;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAQ,IAAG,IAAI,CAACT,KAAK,CAACU,OAAQ,KAC5B,IAAI,CAACT,QACN,KAAI,IAAI,CAACC,KAAK,CAACS,oBAAoB,CAAC,CAAE,GAAE;EAC3C;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,OAAO,IAAAC,iCAAa,EAClB,IAAI,CAACb,KAAK,CAACc,IAAI,EACf,IAAI,CAACd,KAAK,CAACe,IAAI,EACf,IAAI,CAACd,QAAQ,EACb,IAAI,CAACC,KACP,CAAC;EACH;EAEAc,KAAKA,CAAA,EAAG;IACN,OAAO,IAAInB,SAAS,CAClBO,8BAAc,CAACa,IAAI,CAAC,IAAI,CAACjB,KAAK,CAAC,EAC/B,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,KAAK,CAACc,KAAK,CAAC,CAAC,EAClB,IAAI,CAACb,WACP,CAAC;EACH;AACF;AAACe,OAAA,CAAArB,SAAA,GAAAA,SAAA"}
1
+ {"version":3,"file":"condition.js","names":["ConditionField","ConditionAbstract","getExpression","ConditionValueAbstract","Condition","constructor","field","operator","value","coordinator","Error","asFirstCondition","_asFirstCondition","conditionString","display","toPresentationString","conditionExpression","type","name","clone","from"],"sources":["../../../src/conditions/condition.ts"],"sourcesContent":["import { ConditionField } from '~/src/conditions/condition-field.js'\nimport { ConditionAbstract } from '~/src/conditions/condition-abstract.js'\nimport { getExpression } from '~/src/conditions/condition-operators.js'\nimport {\n ConditionValue,\n RelativeTimeValue\n} from '~/src/conditions/condition-values.js'\nimport { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract.js'\nimport { Coordinator } from '~/src/conditions/enums.js'\n\nexport class Condition extends ConditionAbstract {\n field: ConditionField\n operator: string\n value: ConditionValue | RelativeTimeValue\n\n constructor(\n field: ConditionField,\n operator: string,\n value: ConditionValue | RelativeTimeValue,\n coordinator?: Coordinator\n ) {\n super(coordinator)\n\n if (!(field instanceof ConditionField)) {\n throw Error(`field ${field} is not a valid ConditionField object`)\n }\n if (typeof operator !== 'string') {\n throw Error(`operator ${operator} is not a valid operator`)\n }\n if (!(value instanceof ConditionValueAbstract)) {\n throw Error(`value ${value} is not a valid value type`)\n }\n\n this.field = field\n this.operator = operator\n this.value = value\n }\n\n asFirstCondition() {\n this._asFirstCondition()\n return this\n }\n\n conditionString() {\n return `'${this.field.display}' ${\n this.operator\n } '${this.value.toPresentationString()}'`\n }\n\n conditionExpression() {\n return getExpression(\n this.field.type,\n this.field.name,\n this.operator,\n this.value\n )\n }\n\n clone() {\n return new Condition(\n ConditionField.from(this.field),\n this.operator,\n this.value.clone(),\n this.coordinator\n )\n }\n}\n"],"mappings":"AAAA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,aAAa;AAKtB,SAASC,sBAAsB;AAG/B,OAAO,MAAMC,SAAS,SAASH,iBAAiB,CAAC;EAK/CI,WAAWA,CACTC,KAAqB,EACrBC,QAAgB,EAChBC,KAAyC,EACzCC,WAAyB,EACzB;IACA,KAAK,CAACA,WAAW,CAAC;IAElB,IAAI,EAAEH,KAAK,YAAYN,cAAc,CAAC,EAAE;MACtC,MAAMU,KAAK,CAAE,SAAQJ,KAAM,uCAAsC,CAAC;IACpE;IACA,IAAI,OAAOC,QAAQ,KAAK,QAAQ,EAAE;MAChC,MAAMG,KAAK,CAAE,YAAWH,QAAS,0BAAyB,CAAC;IAC7D;IACA,IAAI,EAAEC,KAAK,YAAYL,sBAAsB,CAAC,EAAE;MAC9C,MAAMO,KAAK,CAAE,SAAQF,KAAM,4BAA2B,CAAC;IACzD;IAEA,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;EAEAG,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,OAAO,IAAI;EACb;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAQ,IAAG,IAAI,CAACP,KAAK,CAACQ,OAAQ,KAC5B,IAAI,CAACP,QACN,KAAI,IAAI,CAACC,KAAK,CAACO,oBAAoB,CAAC,CAAE,GAAE;EAC3C;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,OAAOd,aAAa,CAClB,IAAI,CAACI,KAAK,CAACW,IAAI,EACf,IAAI,CAACX,KAAK,CAACY,IAAI,EACf,IAAI,CAACX,QAAQ,EACb,IAAI,CAACC,KACP,CAAC;EACH;EAEAW,KAAKA,CAAA,EAAG;IACN,OAAO,IAAIf,SAAS,CAClBJ,cAAc,CAACoB,IAAI,CAAC,IAAI,CAACd,KAAK,CAAC,EAC/B,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,KAAK,CAACW,KAAK,CAAC,CAAC,EAClB,IAAI,CAACV,WACP,CAAC;EACH;AACF"}
@@ -1,8 +1,4 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.Coordinator = void 0;
5
- let Coordinator = exports.Coordinator = /*#__PURE__*/function (Coordinator) {
1
+ export let Coordinator = /*#__PURE__*/function (Coordinator) {
6
2
  Coordinator["AND"] = "and";
7
3
  Coordinator["OR"] = "or";
8
4
  return Coordinator;
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["Coordinator","exports"],"sources":["../../../src/conditions/enums.ts"],"sourcesContent":["export enum Coordinator {\n AND = 'and',\n OR = 'or'\n}\n"],"mappings":";;;;IAAYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA"}
1
+ {"version":3,"file":"enums.js","names":["Coordinator"],"sources":["../../../src/conditions/enums.ts"],"sourcesContent":["export enum Coordinator {\n AND = 'and',\n OR = 'or'\n}\n"],"mappings":"AAAA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA"}
@@ -1,12 +1,7 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.toExpression = toExpression;
5
- exports.toPresentationString = toPresentationString;
6
- function toPresentationString(condition) {
1
+ export function toPresentationString(condition) {
7
2
  return `${condition.coordinatorString()}${condition.conditionString()}`;
8
3
  }
9
- function toExpression(condition) {
4
+ export function toExpression(condition) {
10
5
  return `${condition.coordinatorString()}${condition.conditionExpression()}`;
11
6
  }
12
7
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["toPresentationString","condition","coordinatorString","conditionString","toExpression","conditionExpression"],"sources":["../../../src/conditions/helpers.ts"],"sourcesContent":["export function toPresentationString(condition) {\n return `${condition.coordinatorString()}${condition.conditionString()}`\n}\n\nexport function toExpression(condition) {\n return `${condition.coordinatorString()}${condition.conditionExpression()}`\n}\n"],"mappings":";;;;;AAAO,SAASA,oBAAoBA,CAACC,SAAS,EAAE;EAC9C,OAAQ,GAAEA,SAAS,CAACC,iBAAiB,CAAC,CAAE,GAAED,SAAS,CAACE,eAAe,CAAC,CAAE,EAAC;AACzE;AAEO,SAASC,YAAYA,CAACH,SAAS,EAAE;EACtC,OAAQ,GAAEA,SAAS,CAACC,iBAAiB,CAAC,CAAE,GAAED,SAAS,CAACI,mBAAmB,CAAC,CAAE,EAAC;AAC7E"}
1
+ {"version":3,"file":"helpers.js","names":["toPresentationString","condition","coordinatorString","conditionString","toExpression","conditionExpression"],"sources":["../../../src/conditions/helpers.ts"],"sourcesContent":["export function toPresentationString(condition) {\n return `${condition.coordinatorString()}${condition.conditionString()}`\n}\n\nexport function toExpression(condition) {\n return `${condition.coordinatorString()}${condition.conditionExpression()}`\n}\n"],"mappings":"AAAA,OAAO,SAASA,oBAAoBA,CAACC,SAAS,EAAE;EAC9C,OAAQ,GAAEA,SAAS,CAACC,iBAAiB,CAAC,CAAE,GAAED,SAAS,CAACE,eAAe,CAAC,CAAE,EAAC;AACzE;AAEA,OAAO,SAASC,YAAYA,CAACH,SAAS,EAAE;EACtC,OAAQ,GAAEA,SAAS,CAACC,iBAAiB,CAAC,CAAE,GAAED,SAAS,CAACI,mBAAmB,CAAC,CAAE,EAAC;AAC7E"}
@@ -1,140 +1,11 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- Object.defineProperty(exports, "Condition", {
5
- enumerable: true,
6
- get: function () {
7
- return _condition.Condition;
8
- }
9
- });
10
- Object.defineProperty(exports, "ConditionField", {
11
- enumerable: true,
12
- get: function () {
13
- return _conditionField.ConditionField;
14
- }
15
- });
16
- Object.defineProperty(exports, "ConditionGroup", {
17
- enumerable: true,
18
- get: function () {
19
- return _conditionGroup.ConditionGroup;
20
- }
21
- });
22
- Object.defineProperty(exports, "ConditionGroupDef", {
23
- enumerable: true,
24
- get: function () {
25
- return _conditionGroupDef.ConditionGroupDef;
26
- }
27
- });
28
- Object.defineProperty(exports, "ConditionRef", {
29
- enumerable: true,
30
- get: function () {
31
- return _conditionRef.ConditionRef;
32
- }
33
- });
34
- Object.defineProperty(exports, "ConditionValue", {
35
- enumerable: true,
36
- get: function () {
37
- return _conditionValues.ConditionValue;
38
- }
39
- });
40
- Object.defineProperty(exports, "ConditionsModel", {
41
- enumerable: true,
42
- get: function () {
43
- return _conditionModel.ConditionsModel;
44
- }
45
- });
46
- Object.defineProperty(exports, "Coordinator", {
47
- enumerable: true,
48
- get: function () {
49
- return _enums.Coordinator;
50
- }
51
- });
52
- Object.defineProperty(exports, "DateDirections", {
53
- enumerable: true,
54
- get: function () {
55
- return _conditionValues.DateDirections;
56
- }
57
- });
58
- Object.defineProperty(exports, "RelativeTimeValue", {
59
- enumerable: true,
60
- get: function () {
61
- return _conditionValues.RelativeTimeValue;
62
- }
63
- });
64
- Object.defineProperty(exports, "absoluteDateOrTimeOperatorNames", {
65
- enumerable: true,
66
- get: function () {
67
- return _conditionOperators.absoluteDateOrTimeOperatorNames;
68
- }
69
- });
70
- Object.defineProperty(exports, "conditionValueFrom", {
71
- enumerable: true,
72
- get: function () {
73
- return _conditionValues.conditionValueFrom;
74
- }
75
- });
76
- Object.defineProperty(exports, "dateTimeUnits", {
77
- enumerable: true,
78
- get: function () {
79
- return _conditionValues.dateTimeUnits;
80
- }
81
- });
82
- Object.defineProperty(exports, "dateUnits", {
83
- enumerable: true,
84
- get: function () {
85
- return _conditionValues.dateUnits;
86
- }
87
- });
88
- Object.defineProperty(exports, "getExpression", {
89
- enumerable: true,
90
- get: function () {
91
- return _conditionOperators.getExpression;
92
- }
93
- });
94
- Object.defineProperty(exports, "getOperatorConfig", {
95
- enumerable: true,
96
- get: function () {
97
- return _conditionOperators.getOperatorConfig;
98
- }
99
- });
100
- Object.defineProperty(exports, "getOperatorNames", {
101
- enumerable: true,
102
- get: function () {
103
- return _conditionOperators.getOperatorNames;
104
- }
105
- });
106
- Object.defineProperty(exports, "relativeDateOrTimeOperatorNames", {
107
- enumerable: true,
108
- get: function () {
109
- return _conditionOperators.relativeDateOrTimeOperatorNames;
110
- }
111
- });
112
- Object.defineProperty(exports, "timeUnits", {
113
- enumerable: true,
114
- get: function () {
115
- return _conditionValues.timeUnits;
116
- }
117
- });
118
- Object.defineProperty(exports, "toExpression", {
119
- enumerable: true,
120
- get: function () {
121
- return _helpers.toExpression;
122
- }
123
- });
124
- Object.defineProperty(exports, "toPresentationString", {
125
- enumerable: true,
126
- get: function () {
127
- return _helpers.toPresentationString;
128
- }
129
- });
130
- var _conditionOperators = require("./condition-operators");
131
- var _conditionValues = require("./condition-values");
132
- var _conditionField = require("./condition-field");
133
- var _condition = require("./condition");
134
- var _conditionRef = require("./condition-ref");
135
- var _conditionGroup = require("./condition-group");
136
- var _conditionModel = require("./condition-model");
137
- var _conditionGroupDef = require("./condition-group-def");
138
- var _helpers = require("./helpers");
139
- var _enums = require("./enums");
1
+ export { getExpression, getOperatorConfig, getOperatorNames, absoluteDateOrTimeOperatorNames, relativeDateOrTimeOperatorNames } from "./condition-operators.js";
2
+ export { timeUnits, dateUnits, dateTimeUnits, ConditionValue, DateDirections, RelativeTimeValue, conditionValueFrom } from "./condition-values.js";
3
+ export { ConditionField } from "./condition-field.js";
4
+ export { Condition } from "./condition.js";
5
+ export { ConditionRef } from "./condition-ref.js";
6
+ export { ConditionGroup } from "./condition-group.js";
7
+ export { ConditionsModel } from "./condition-model.js";
8
+ export { ConditionGroupDef } from "./condition-group-def.js";
9
+ export { toExpression, toPresentationString } from "./helpers.js";
10
+ export { Coordinator } from "./enums.js";
140
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_conditionOperators","require","_conditionValues","_conditionField","_condition","_conditionRef","_conditionGroup","_conditionModel","_conditionGroupDef","_helpers","_enums"],"sources":["../../../src/conditions/index.ts"],"sourcesContent":["export {\n getExpression,\n getOperatorConfig,\n getOperatorNames,\n absoluteDateOrTimeOperatorNames,\n relativeDateOrTimeOperatorNames\n} from '~/src/conditions/condition-operators'\n\nexport {\n timeUnits,\n dateUnits,\n dateTimeUnits,\n ConditionValue,\n DateDirections,\n RelativeTimeValue,\n conditionValueFrom\n} from '~/src/conditions/condition-values'\n\nexport { ConditionField } from '~/src/conditions/condition-field'\nexport { Condition } from '~/src/conditions/condition'\nexport { ConditionRef } from '~/src/conditions/condition-ref'\nexport { ConditionGroup } from '~/src/conditions/condition-group'\nexport { ConditionsModel } from '~/src/conditions/condition-model'\nexport { ConditionGroupDef } from '~/src/conditions/condition-group-def'\nexport { toExpression, toPresentationString } from '~/src/conditions/helpers'\n\nexport { Coordinator } from '~/src/conditions/enums'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAQA,IAAAC,gBAAA,GAAAD,OAAA;AAUA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,kBAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAEA,IAAAS,MAAA,GAAAT,OAAA"}
1
+ {"version":3,"file":"index.js","names":["getExpression","getOperatorConfig","getOperatorNames","absoluteDateOrTimeOperatorNames","relativeDateOrTimeOperatorNames","timeUnits","dateUnits","dateTimeUnits","ConditionValue","DateDirections","RelativeTimeValue","conditionValueFrom","ConditionField","Condition","ConditionRef","ConditionGroup","ConditionsModel","ConditionGroupDef","toExpression","toPresentationString","Coordinator"],"sources":["../../../src/conditions/index.ts"],"sourcesContent":["export {\n getExpression,\n getOperatorConfig,\n getOperatorNames,\n absoluteDateOrTimeOperatorNames,\n relativeDateOrTimeOperatorNames\n} from '~/src/conditions/condition-operators.js'\n\nexport {\n timeUnits,\n dateUnits,\n dateTimeUnits,\n ConditionValue,\n DateDirections,\n RelativeTimeValue,\n conditionValueFrom\n} from '~/src/conditions/condition-values.js'\n\nexport { ConditionField } from '~/src/conditions/condition-field.js'\nexport { Condition } from '~/src/conditions/condition.js'\nexport { ConditionRef } from '~/src/conditions/condition-ref.js'\nexport { ConditionGroup } from '~/src/conditions/condition-group.js'\nexport { ConditionsModel } from '~/src/conditions/condition-model.js'\nexport { ConditionGroupDef } from '~/src/conditions/condition-group-def.js'\nexport { toExpression, toPresentationString } from '~/src/conditions/helpers.js'\n\nexport { Coordinator } from '~/src/conditions/enums.js'\n"],"mappings":"AAAA,SACEA,aAAa,EACbC,iBAAiB,EACjBC,gBAAgB,EAChBC,+BAA+B,EAC/BC,+BAA+B;AAGjC,SACEC,SAAS,EACTC,SAAS,EACTC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EACjBC,kBAAkB;AAGpB,SAASC,cAAc;AACvB,SAASC,SAAS;AAClB,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,YAAY,EAAEC,oBAAoB;AAE3C,SAASC,WAAW"}