@trudb/tru-common-lib 0.0.726 → 0.0.728

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 (404) hide show
  1. package/{esm2020 → esm2022}/lib/assets/tru-icon-module.mjs +32 -32
  2. package/{esm2020 → esm2022}/lib/assets/tru-search-icon-module.mjs +36 -36
  3. package/{esm2020 → esm2022}/lib/base-classes/tru-component-config-base.mjs +3 -3
  4. package/{esm2020 → esm2022}/lib/base-classes/tru-control-component-config-base.mjs +3 -3
  5. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-control-base.mjs +17 -17
  6. package/esm2022/lib/base-classes/tru-edit-control-config-base.mjs +6 -0
  7. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-parent-control-config-base.mjs +3 -3
  8. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-pkey-control-config-base.mjs +3 -3
  9. package/esm2022/lib/base-classes/tru-entity-base.mjs +14 -0
  10. package/esm2022/lib/base-classes/tru-list-control-config-base.mjs +6 -0
  11. package/{esm2020 → esm2022}/lib/base-classes/tru-property-config-base.mjs +14 -15
  12. package/{esm2020 → esm2022}/lib/base-classes/tru-search-config-base.mjs +3 -3
  13. package/esm2022/lib/base-classes/tru-search-control-base.mjs +45 -0
  14. package/esm2022/lib/base-classes/tru-search-control-config-base.mjs +5 -0
  15. package/esm2022/lib/base-classes/tru-search-control-range-base.mjs +45 -0
  16. package/esm2022/lib/base-classes/tru-table-config-base.mjs +12 -0
  17. package/{esm2020 → esm2022}/lib/base-views/detail/tru-detail-view-base-module.mjs +19 -19
  18. package/esm2022/lib/base-views/detail/tru-detail-view-base.mjs +83 -0
  19. package/esm2022/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +25 -0
  20. package/esm2022/lib/base-views/search/services/tru-search-view-event-handler.mjs +25 -0
  21. package/{esm2020 → esm2022}/lib/base-views/search/tru-search-view-base-module.mjs +19 -19
  22. package/esm2022/lib/base-views/search/tru-search-view-base.mjs +68 -0
  23. package/{esm2020 → esm2022}/lib/base-views/search-result/tru-search-result-view-base-module.mjs +19 -19
  24. package/esm2022/lib/base-views/search-result/tru-search-result-view-base.mjs +54 -0
  25. package/{esm2020 → esm2022}/lib/classes/tru-choice.mjs +2 -2
  26. package/esm2022/lib/classes/tru-context-filter-choice.mjs +11 -0
  27. package/esm2022/lib/classes/tru-context-filter.mjs +16 -0
  28. package/esm2022/lib/classes/tru-data-change-parser.mjs +287 -0
  29. package/esm2022/lib/classes/tru-data-change.mjs +5 -0
  30. package/{esm2020 → esm2022}/lib/classes/tru-formula-eval.mjs +156 -156
  31. package/esm2022/lib/classes/tru-merge-data-set.mjs +11 -0
  32. package/esm2022/lib/classes/tru-merge-data.mjs +20 -0
  33. package/{esm2020 → esm2022}/lib/classes/tru-name-value.mjs +2 -2
  34. package/esm2022/lib/classes/tru-predicate.mjs +47 -0
  35. package/{esm2020 → esm2022}/lib/classes/tru-property-config-cloud-file.mjs +4 -4
  36. package/esm2022/lib/classes/tru-property-config-date.mjs +7 -0
  37. package/esm2022/lib/classes/tru-property-config-decimal.mjs +9 -0
  38. package/{esm2020 → esm2022}/lib/classes/tru-property-config-file.mjs +6 -8
  39. package/esm2022/lib/classes/tru-property-config-foreign-key.mjs +8 -0
  40. package/esm2022/lib/classes/tru-property-config-integer.mjs +7 -0
  41. package/esm2022/lib/classes/tru-property-config-password.mjs +6 -0
  42. package/esm2022/lib/classes/tru-property-config-percentage.mjs +7 -0
  43. package/esm2022/lib/classes/tru-property-config-scientific.mjs +7 -0
  44. package/{esm2020 → esm2022}/lib/classes/tru-property-config-text-choices.mjs +6 -8
  45. package/{esm2020 → esm2022}/lib/classes/tru-property-config-text.mjs +8 -10
  46. package/{esm2020 → esm2022}/lib/classes/tru-property-config-usa-address.mjs +6 -8
  47. package/{esm2020 → esm2022}/lib/classes/tru-property-config-zip-code.mjs +6 -8
  48. package/esm2022/lib/classes/tru-query-predicate-manager.mjs +49 -0
  49. package/{esm2020 → esm2022}/lib/components/confirm-dialog/tru-confirm-dialog-module.mjs +20 -20
  50. package/esm2022/lib/components/confirm-dialog/tru-confirm-dialog.mjs +59 -0
  51. package/{esm2020 → esm2022}/lib/components/data-grid/classes/tru-data-grid-config.mjs +1 -1
  52. package/{esm2020 → esm2022}/lib/components/data-grid/enums/tru-data-grid-types.mjs +6 -6
  53. package/esm2022/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +40 -0
  54. package/esm2022/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +27 -0
  55. package/esm2022/lib/components/data-grid/tru-data-grid-module.mjs +67 -0
  56. package/esm2022/lib/components/data-grid/tru-data-grid.mjs +382 -0
  57. package/{esm2020 → esm2022}/lib/components/desktop/classes/tru-desktop-title.mjs +2 -2
  58. package/esm2022/lib/components/desktop/classes/tru-desktop-view-config.mjs +21 -0
  59. package/{esm2020 → esm2022}/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.mjs +19 -19
  60. package/esm2022/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +122 -0
  61. package/{esm2020 → esm2022}/lib/components/desktop/menubar/tru-desktop-menubar-module.mjs +56 -56
  62. package/esm2022/lib/components/desktop/menubar/tru-desktop-menubar.mjs +36 -0
  63. package/esm2022/lib/components/desktop/services/tru-desktop-manager.mjs +86 -0
  64. package/esm2022/lib/components/desktop/services/tru-desktop-service.mjs +108 -0
  65. package/esm2022/lib/components/desktop/services/tru-window-action-event-handler.mjs +25 -0
  66. package/esm2022/lib/components/desktop/services/tru-window-event-args.mjs +24 -0
  67. package/esm2022/lib/components/desktop/services/tru-window-event-handler.mjs +42 -0
  68. package/{esm2020 → esm2022}/lib/components/desktop/statusbar/tru-desktop-statusbar-module.mjs +19 -19
  69. package/esm2022/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +20 -0
  70. package/{esm2020 → esm2022}/lib/components/desktop/taskbar/tru-desktop-taskbar-module.mjs +21 -21
  71. package/esm2022/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +41 -0
  72. package/{esm2020 → esm2022}/lib/components/desktop/tru-desktop-module.mjs +72 -72
  73. package/esm2022/lib/components/desktop/tru-desktop.mjs +737 -0
  74. package/{esm2020 → esm2022}/lib/components/desktop/view/tru-desktop-view-module.mjs +19 -19
  75. package/esm2022/lib/components/desktop/view/tru-desktop-view.mjs +29 -0
  76. package/{esm2020 → esm2022}/lib/components/desktop/viewport/tru-desktop-viewport-module.mjs +20 -20
  77. package/esm2022/lib/components/desktop/viewport/tru-desktop-viewport.mjs +117 -0
  78. package/{esm2020 → esm2022}/lib/components/desktop/window/tru-desktop-window-module.mjs +58 -58
  79. package/esm2022/lib/components/desktop/window/tru-desktop-window.mjs +467 -0
  80. package/{esm2020 → esm2022}/lib/components/export-dialog/tru-export-dialog-module.mjs +20 -20
  81. package/esm2022/lib/components/export-dialog/tru-export-dialog.mjs +61 -0
  82. package/{esm2020 → esm2022}/lib/components/layout/column/tru-column-module.mjs +19 -19
  83. package/{esm2020 → esm2022}/lib/components/layout/column/tru-column.mjs +12 -12
  84. package/{esm2020 → esm2022}/lib/components/layout/form/tru-form-module.mjs +19 -19
  85. package/esm2022/lib/components/layout/form/tru-form.mjs +35 -0
  86. package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box-module.mjs +19 -19
  87. package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box.mjs +12 -12
  88. package/{esm2020 → esm2022}/lib/components/layout/row/tru-row-module.mjs +19 -19
  89. package/{esm2020 → esm2022}/lib/components/layout/row/tru-row.mjs +12 -12
  90. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-config.mjs +7 -7
  91. package/esm2022/lib/components/login/classes/tru-auth-jwt-strategy.mjs +63 -0
  92. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-login-request.mjs +5 -3
  93. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-logout-request.mjs +4 -3
  94. package/esm2022/lib/components/login/classes/tru-auth-session-strategy.mjs +21 -0
  95. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-strategy-provider.mjs +19 -19
  96. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-token.mjs +11 -8
  97. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-user-request.mjs +4 -3
  98. package/esm2022/lib/components/login/services/tru-auth-cache.mjs +20 -0
  99. package/esm2022/lib/components/login/services/tru-auth-interceptor.mjs +46 -0
  100. package/esm2022/lib/components/login/services/tru-auth.mjs +87 -0
  101. package/esm2022/lib/components/login/tru-login-module.mjs +46 -0
  102. package/esm2022/lib/components/login/tru-login.mjs +59 -0
  103. package/{esm2020 → esm2022}/lib/components/password-dialog/tru-password-dialog-module.mjs +20 -20
  104. package/esm2022/lib/components/password-dialog/tru-password-dialog.mjs +53 -0
  105. package/{esm2020 → esm2022}/lib/components/toolbar/button/tru-toolbar-button-module.mjs +32 -32
  106. package/esm2022/lib/components/toolbar/button/tru-toolbar-button.mjs +40 -0
  107. package/{esm2020 → esm2022}/lib/components/toolbar/classes/tru-toolbar-dropdown-option.mjs +1 -1
  108. package/{esm2020 → esm2022}/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.mjs +44 -44
  109. package/esm2022/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +26 -0
  110. package/{esm2020 → esm2022}/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.mjs +36 -36
  111. package/esm2022/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +45 -0
  112. package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.mjs +19 -19
  113. package/esm2022/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +17 -0
  114. package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.mjs +19 -19
  115. package/esm2022/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +26 -0
  116. package/{esm2020 → esm2022}/lib/components/toolbar/menu/tru-toolbar-menu-module.mjs +32 -32
  117. package/esm2022/lib/components/toolbar/menu/tru-toolbar-menu.mjs +33 -0
  118. package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator-module.mjs +19 -19
  119. package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator.mjs +12 -12
  120. package/{esm2020 → esm2022}/lib/components/toolbar/text/tru-toolbar-text-module.mjs +32 -32
  121. package/esm2022/lib/components/toolbar/text/tru-toolbar-text.mjs +27 -0
  122. package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar-module.mjs +73 -73
  123. package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar.mjs +20 -21
  124. package/{esm2020 → esm2022}/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.mjs +36 -36
  125. package/esm2022/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +38 -0
  126. package/esm2022/lib/components/validation-dialog/tru-validation-dialog-config.mjs +25 -0
  127. package/{esm2020 → esm2022}/lib/components/validation-dialog/tru-validation-dialog-module.mjs +19 -19
  128. package/esm2022/lib/components/validation-dialog/tru-validation-dialog.mjs +83 -0
  129. package/{esm2020 → esm2022}/lib/directives/breeze-validator/tru-breeze-validator-module.mjs +19 -19
  130. package/esm2022/lib/directives/breeze-validator/tru-breeze-validator.mjs +107 -0
  131. package/{esm2020 → esm2022}/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.mjs +19 -19
  132. package/esm2022/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +155 -0
  133. package/{esm2020 → esm2022}/lib/directives/select-panel/tru-mat-select-panel-module.mjs +19 -19
  134. package/esm2022/lib/directives/select-panel/tru-mat-select-panel.mjs +69 -0
  135. package/{esm2020 → esm2022}/lib/interfaces/tru-value.mjs +1 -1
  136. package/{esm2020 → esm2022}/lib/material.module.mjs +192 -192
  137. package/esm2022/lib/services/tru-app-environment.mjs +113 -0
  138. package/esm2022/lib/services/tru-breeze-context-factory.mjs +84 -0
  139. package/esm2022/lib/services/tru-breeze-metadata-provider.mjs +21 -0
  140. package/esm2022/lib/services/tru-component-lookup.mjs +23 -0
  141. package/esm2022/lib/services/tru-connection-hub.mjs +52 -0
  142. package/esm2022/lib/services/tru-context-filters.mjs +28 -0
  143. package/esm2022/lib/services/tru-data-context.mjs +263 -0
  144. package/esm2022/lib/services/tru-entity-accessor.mjs +292 -0
  145. package/esm2022/lib/services/tru-model-property-lookup.mjs +21 -0
  146. package/{esm2020 → esm2022}/lib/services/tru-predicate-map.mjs +11 -11
  147. package/esm2022/lib/services/tru-search-result-view-manager.mjs +18 -0
  148. package/esm2022/lib/services/tru-sort.mjs +113 -0
  149. package/esm2022/lib/services/tru-table-registry.mjs +15 -0
  150. package/esm2022/lib/services/tru-text-manager.mjs +148 -0
  151. package/esm2022/lib/services/tru-ui-notification.mjs +107 -0
  152. package/esm2022/lib/services/tru-user.mjs +62 -0
  153. package/esm2022/lib/services/tru-util.mjs +76 -0
  154. package/{esm2020 → esm2022}/lib/tru-common-module.mjs +16 -16
  155. package/{esm2020 → esm2022}/public-api.mjs +144 -144
  156. package/{esm2020 → esm2022}/trudb-tru-common-lib.mjs +4 -4
  157. package/fesm2022/trudb-tru-common-lib.mjs +6932 -0
  158. package/fesm2022/trudb-tru-common-lib.mjs.map +1 -0
  159. package/index.d.ts +5 -5
  160. package/lib/assets/tru-icon-module.d.ts +11 -11
  161. package/lib/assets/tru-search-icon-module.d.ts +11 -11
  162. package/lib/base-classes/tru-component-config-base.d.ts +3 -3
  163. package/lib/base-classes/tru-control-component-config-base.d.ts +20 -20
  164. package/lib/base-classes/tru-edit-control-base.d.ts +10 -10
  165. package/lib/base-classes/tru-edit-control-config-base.d.ts +21 -21
  166. package/lib/base-classes/tru-edit-parent-control-config-base.d.ts +9 -9
  167. package/lib/base-classes/tru-edit-pkey-control-config-base.d.ts +11 -11
  168. package/lib/base-classes/tru-entity-base.d.ts +14 -14
  169. package/lib/base-classes/tru-list-control-config-base.d.ts +21 -21
  170. package/lib/base-classes/tru-property-config-base.d.ts +13 -13
  171. package/lib/base-classes/tru-search-config-base.d.ts +9 -9
  172. package/lib/base-classes/tru-search-control-base.d.ts +21 -21
  173. package/lib/base-classes/tru-search-control-config-base.d.ts +13 -13
  174. package/lib/base-classes/tru-search-control-range-base.d.ts +25 -25
  175. package/lib/base-classes/tru-table-config-base.d.ts +11 -11
  176. package/lib/base-views/detail/tru-detail-view-base-module.d.ts +9 -9
  177. package/lib/base-views/detail/tru-detail-view-base.d.ts +32 -32
  178. package/lib/base-views/search/services/tru-search-view-control-event-handler.d.ts +12 -12
  179. package/lib/base-views/search/services/tru-search-view-event-handler.d.ts +11 -11
  180. package/lib/base-views/search/tru-search-view-base-module.d.ts +9 -9
  181. package/lib/base-views/search/tru-search-view-base.d.ts +36 -36
  182. package/lib/base-views/search-result/tru-search-result-view-base-module.d.ts +9 -9
  183. package/lib/base-views/search-result/tru-search-result-view-base.d.ts +25 -25
  184. package/lib/classes/tru-choice.d.ts +8 -8
  185. package/lib/classes/tru-context-filter-choice.d.ts +6 -6
  186. package/lib/classes/tru-context-filter.d.ts +10 -10
  187. package/lib/classes/tru-data-change-parser.d.ts +33 -33
  188. package/lib/classes/tru-data-change.d.ts +4 -4
  189. package/lib/classes/tru-formula-eval.d.ts +31 -31
  190. package/lib/classes/tru-merge-data-set.d.ts +7 -7
  191. package/lib/classes/tru-merge-data.d.ts +9 -9
  192. package/lib/classes/tru-name-value.d.ts +9 -9
  193. package/lib/classes/tru-predicate.d.ts +8 -8
  194. package/lib/classes/tru-property-config-cloud-file.d.ts +4 -4
  195. package/lib/classes/tru-property-config-date.d.ts +6 -6
  196. package/lib/classes/tru-property-config-decimal.d.ts +8 -8
  197. package/lib/classes/tru-property-config-file.d.ts +5 -5
  198. package/lib/classes/tru-property-config-foreign-key.d.ts +7 -7
  199. package/lib/classes/tru-property-config-integer.d.ts +6 -6
  200. package/lib/classes/tru-property-config-password.d.ts +5 -5
  201. package/lib/classes/tru-property-config-percentage.d.ts +6 -6
  202. package/lib/classes/tru-property-config-scientific.d.ts +6 -6
  203. package/lib/classes/tru-property-config-text-choices.d.ts +5 -5
  204. package/lib/classes/tru-property-config-text.d.ts +7 -7
  205. package/lib/classes/tru-property-config-usa-address.d.ts +5 -5
  206. package/lib/classes/tru-property-config-zip-code.d.ts +5 -5
  207. package/lib/classes/tru-query-predicate-manager.d.ts +26 -26
  208. package/lib/components/confirm-dialog/tru-confirm-dialog-module.d.ts +10 -10
  209. package/lib/components/confirm-dialog/tru-confirm-dialog.d.ts +28 -28
  210. package/lib/components/data-grid/classes/tru-data-grid-config.d.ts +7 -7
  211. package/lib/components/data-grid/enums/tru-data-grid-types.d.ts +5 -5
  212. package/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.d.ts +13 -13
  213. package/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.d.ts +13 -13
  214. package/lib/components/data-grid/tru-data-grid-module.d.ts +15 -15
  215. package/lib/components/data-grid/tru-data-grid.d.ts +67 -67
  216. package/lib/components/desktop/classes/tru-desktop-title.d.ts +4 -4
  217. package/lib/components/desktop/classes/tru-desktop-view-config.d.ts +16 -16
  218. package/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.d.ts +9 -9
  219. package/lib/components/desktop/directives/resizable/tru-desktop-resizable.d.ts +32 -32
  220. package/lib/components/desktop/menubar/tru-desktop-menubar-module.d.ts +17 -17
  221. package/lib/components/desktop/menubar/tru-desktop-menubar.d.ts +15 -15
  222. package/lib/components/desktop/services/tru-desktop-manager.d.ts +33 -33
  223. package/lib/components/desktop/services/tru-desktop-service.d.ts +95 -95
  224. package/lib/components/desktop/services/tru-window-action-event-handler.d.ts +12 -12
  225. package/lib/components/desktop/services/tru-window-event-args.d.ts +17 -17
  226. package/lib/components/desktop/services/tru-window-event-handler.d.ts +20 -20
  227. package/lib/components/desktop/statusbar/tru-desktop-statusbar-module.d.ts +9 -9
  228. package/lib/components/desktop/statusbar/tru-desktop-statusbar.d.ts +10 -10
  229. package/lib/components/desktop/taskbar/tru-desktop-taskbar-module.d.ts +11 -11
  230. package/lib/components/desktop/taskbar/tru-desktop-taskbar.d.ts +15 -15
  231. package/lib/components/desktop/tru-desktop-module.d.ts +20 -20
  232. package/lib/components/desktop/tru-desktop.d.ts +337 -337
  233. package/lib/components/desktop/view/tru-desktop-view-module.d.ts +9 -9
  234. package/lib/components/desktop/view/tru-desktop-view.d.ts +14 -14
  235. package/lib/components/desktop/viewport/tru-desktop-viewport-module.d.ts +10 -10
  236. package/lib/components/desktop/viewport/tru-desktop-viewport.d.ts +48 -48
  237. package/lib/components/desktop/window/tru-desktop-window-module.d.ts +17 -17
  238. package/lib/components/desktop/window/tru-desktop-window.d.ts +189 -189
  239. package/lib/components/export-dialog/tru-export-dialog-module.d.ts +10 -10
  240. package/lib/components/export-dialog/tru-export-dialog.d.ts +26 -26
  241. package/lib/components/layout/column/tru-column-module.d.ts +9 -9
  242. package/lib/components/layout/column/tru-column.d.ts +6 -6
  243. package/lib/components/layout/form/tru-form-module.d.ts +9 -9
  244. package/lib/components/layout/form/tru-form.d.ts +10 -10
  245. package/lib/components/layout/group-box/tru-group-box-module.d.ts +9 -9
  246. package/lib/components/layout/group-box/tru-group-box.d.ts +6 -6
  247. package/lib/components/layout/row/tru-row-module.d.ts +9 -9
  248. package/lib/components/layout/row/tru-row.d.ts +6 -6
  249. package/lib/components/login/classes/tru-auth-config.d.ts +16 -16
  250. package/lib/components/login/classes/tru-auth-jwt-strategy.d.ts +15 -15
  251. package/lib/components/login/classes/tru-auth-login-request.d.ts +4 -4
  252. package/lib/components/login/classes/tru-auth-logout-request.d.ts +3 -3
  253. package/lib/components/login/classes/tru-auth-session-strategy.d.ts +13 -13
  254. package/lib/components/login/classes/tru-auth-strategy-provider.d.ts +9 -9
  255. package/lib/components/login/classes/tru-auth-token.d.ts +6 -6
  256. package/lib/components/login/classes/tru-auth-user-request.d.ts +3 -3
  257. package/lib/components/login/services/tru-auth-cache.d.ts +11 -11
  258. package/lib/components/login/services/tru-auth-interceptor.d.ts +16 -16
  259. package/lib/components/login/services/tru-auth.d.ts +29 -29
  260. package/lib/components/login/tru-login-module.d.ts +11 -11
  261. package/lib/components/login/tru-login.d.ts +21 -21
  262. package/lib/components/password-dialog/tru-password-dialog-module.d.ts +10 -10
  263. package/lib/components/password-dialog/tru-password-dialog.d.ts +24 -24
  264. package/lib/components/toolbar/button/tru-toolbar-button-module.d.ts +11 -11
  265. package/lib/components/toolbar/button/tru-toolbar-button.d.ts +16 -16
  266. package/lib/components/toolbar/classes/tru-toolbar-dropdown-option.d.ts +4 -4
  267. package/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.d.ts +14 -14
  268. package/lib/components/toolbar/context-filter/tru-toolbar-context-filter.d.ts +13 -13
  269. package/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.d.ts +12 -12
  270. package/lib/components/toolbar/dropdown/tru-toolbar-dropdown.d.ts +18 -18
  271. package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.d.ts +9 -9
  272. package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.d.ts +7 -7
  273. package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.d.ts +9 -9
  274. package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.d.ts +8 -8
  275. package/lib/components/toolbar/menu/tru-toolbar-menu-module.d.ts +11 -11
  276. package/lib/components/toolbar/menu/tru-toolbar-menu.d.ts +10 -10
  277. package/lib/components/toolbar/separator/tru-toolbar-separator-module.d.ts +9 -9
  278. package/lib/components/toolbar/separator/tru-toolbar-separator.d.ts +6 -6
  279. package/lib/components/toolbar/text/tru-toolbar-text-module.d.ts +11 -11
  280. package/lib/components/toolbar/text/tru-toolbar-text.d.ts +12 -12
  281. package/lib/components/toolbar/tru-toolbar-module.d.ts +16 -16
  282. package/lib/components/toolbar/tru-toolbar.d.ts +9 -9
  283. package/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.d.ts +12 -12
  284. package/lib/components/toolbar/user-profile/tru-toolbar-user-profile.d.ts +17 -17
  285. package/lib/components/validation-dialog/tru-validation-dialog-config.d.ts +13 -13
  286. package/lib/components/validation-dialog/tru-validation-dialog-module.d.ts +9 -9
  287. package/lib/components/validation-dialog/tru-validation-dialog.d.ts +20 -20
  288. package/lib/directives/breeze-validator/tru-breeze-validator-module.d.ts +9 -9
  289. package/lib/directives/breeze-validator/tru-breeze-validator.d.ts +27 -27
  290. package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.d.ts +9 -9
  291. package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.d.ts +40 -40
  292. package/lib/directives/select-panel/tru-mat-select-panel-module.d.ts +9 -9
  293. package/lib/directives/select-panel/tru-mat-select-panel.d.ts +17 -17
  294. package/lib/interfaces/tru-value.d.ts +6 -6
  295. package/lib/material.module.d.ts +50 -50
  296. package/lib/services/tru-app-environment.d.ts +57 -57
  297. package/lib/services/tru-breeze-context-factory.d.ts +32 -32
  298. package/lib/services/tru-breeze-metadata-provider.d.ts +9 -9
  299. package/lib/services/tru-component-lookup.d.ts +9 -9
  300. package/lib/services/tru-connection-hub.d.ts +18 -18
  301. package/lib/services/tru-context-filters.d.ts +10 -10
  302. package/lib/services/tru-data-context.d.ts +42 -42
  303. package/lib/services/tru-entity-accessor.d.ts +46 -46
  304. package/lib/services/tru-model-property-lookup.d.ts +10 -10
  305. package/lib/services/tru-predicate-map.d.ts +6 -6
  306. package/lib/services/tru-search-result-view-manager.d.ts +10 -10
  307. package/lib/services/tru-sort.d.ts +56 -56
  308. package/lib/services/tru-table-registry.d.ts +8 -8
  309. package/lib/services/tru-text-manager.d.ts +68 -68
  310. package/lib/services/tru-ui-notification.d.ts +36 -36
  311. package/lib/services/tru-user.d.ts +29 -29
  312. package/lib/services/tru-util.d.ts +14 -14
  313. package/lib/tru-common-module.d.ts +6 -6
  314. package/package.json +5 -11
  315. package/public-api.d.ts +117 -117
  316. package/esm2020/lib/base-classes/tru-edit-control-config-base.mjs +0 -4
  317. package/esm2020/lib/base-classes/tru-entity-base.mjs +0 -13
  318. package/esm2020/lib/base-classes/tru-list-control-config-base.mjs +0 -4
  319. package/esm2020/lib/base-classes/tru-search-control-base.mjs +0 -47
  320. package/esm2020/lib/base-classes/tru-search-control-config-base.mjs +0 -4
  321. package/esm2020/lib/base-classes/tru-search-control-range-base.mjs +0 -47
  322. package/esm2020/lib/base-classes/tru-table-config-base.mjs +0 -13
  323. package/esm2020/lib/base-views/detail/tru-detail-view-base.mjs +0 -76
  324. package/esm2020/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +0 -27
  325. package/esm2020/lib/base-views/search/services/tru-search-view-event-handler.mjs +0 -27
  326. package/esm2020/lib/base-views/search/tru-search-view-base.mjs +0 -63
  327. package/esm2020/lib/base-views/search-result/tru-search-result-view-base.mjs +0 -51
  328. package/esm2020/lib/classes/tru-context-filter-choice.mjs +0 -8
  329. package/esm2020/lib/classes/tru-context-filter.mjs +0 -16
  330. package/esm2020/lib/classes/tru-data-change-parser.mjs +0 -277
  331. package/esm2020/lib/classes/tru-data-change.mjs +0 -7
  332. package/esm2020/lib/classes/tru-merge-data-set.mjs +0 -12
  333. package/esm2020/lib/classes/tru-merge-data.mjs +0 -17
  334. package/esm2020/lib/classes/tru-predicate.mjs +0 -47
  335. package/esm2020/lib/classes/tru-property-config-date.mjs +0 -9
  336. package/esm2020/lib/classes/tru-property-config-decimal.mjs +0 -11
  337. package/esm2020/lib/classes/tru-property-config-foreign-key.mjs +0 -10
  338. package/esm2020/lib/classes/tru-property-config-integer.mjs +0 -9
  339. package/esm2020/lib/classes/tru-property-config-password.mjs +0 -8
  340. package/esm2020/lib/classes/tru-property-config-percentage.mjs +0 -9
  341. package/esm2020/lib/classes/tru-property-config-scientific.mjs +0 -9
  342. package/esm2020/lib/classes/tru-query-predicate-manager.mjs +0 -49
  343. package/esm2020/lib/components/confirm-dialog/tru-confirm-dialog.mjs +0 -45
  344. package/esm2020/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +0 -39
  345. package/esm2020/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +0 -26
  346. package/esm2020/lib/components/data-grid/tru-data-grid-module.mjs +0 -67
  347. package/esm2020/lib/components/data-grid/tru-data-grid.mjs +0 -370
  348. package/esm2020/lib/components/desktop/classes/tru-desktop-view-config.mjs +0 -21
  349. package/esm2020/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +0 -109
  350. package/esm2020/lib/components/desktop/menubar/tru-desktop-menubar.mjs +0 -34
  351. package/esm2020/lib/components/desktop/services/tru-desktop-manager.mjs +0 -84
  352. package/esm2020/lib/components/desktop/services/tru-desktop-service.mjs +0 -116
  353. package/esm2020/lib/components/desktop/services/tru-window-action-event-handler.mjs +0 -27
  354. package/esm2020/lib/components/desktop/services/tru-window-event-args.mjs +0 -26
  355. package/esm2020/lib/components/desktop/services/tru-window-event-handler.mjs +0 -44
  356. package/esm2020/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +0 -18
  357. package/esm2020/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +0 -40
  358. package/esm2020/lib/components/desktop/tru-desktop.mjs +0 -731
  359. package/esm2020/lib/components/desktop/view/tru-desktop-view.mjs +0 -25
  360. package/esm2020/lib/components/desktop/viewport/tru-desktop-viewport.mjs +0 -113
  361. package/esm2020/lib/components/desktop/window/tru-desktop-window.mjs +0 -457
  362. package/esm2020/lib/components/export-dialog/tru-export-dialog.mjs +0 -57
  363. package/esm2020/lib/components/layout/form/tru-form.mjs +0 -34
  364. package/esm2020/lib/components/login/classes/tru-auth-jwt-strategy.mjs +0 -65
  365. package/esm2020/lib/components/login/classes/tru-auth-session-strategy.mjs +0 -19
  366. package/esm2020/lib/components/login/services/tru-auth-cache.mjs +0 -22
  367. package/esm2020/lib/components/login/services/tru-auth-interceptor.mjs +0 -43
  368. package/esm2020/lib/components/login/services/tru-auth.mjs +0 -81
  369. package/esm2020/lib/components/login/tru-login-module.mjs +0 -46
  370. package/esm2020/lib/components/login/tru-login.mjs +0 -58
  371. package/esm2020/lib/components/password-dialog/tru-password-dialog.mjs +0 -48
  372. package/esm2020/lib/components/toolbar/button/tru-toolbar-button.mjs +0 -41
  373. package/esm2020/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +0 -24
  374. package/esm2020/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +0 -43
  375. package/esm2020/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +0 -16
  376. package/esm2020/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +0 -26
  377. package/esm2020/lib/components/toolbar/menu/tru-toolbar-menu.mjs +0 -33
  378. package/esm2020/lib/components/toolbar/text/tru-toolbar-text.mjs +0 -28
  379. package/esm2020/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +0 -35
  380. package/esm2020/lib/components/validation-dialog/tru-validation-dialog-config.mjs +0 -21
  381. package/esm2020/lib/components/validation-dialog/tru-validation-dialog.mjs +0 -79
  382. package/esm2020/lib/directives/breeze-validator/tru-breeze-validator.mjs +0 -100
  383. package/esm2020/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +0 -151
  384. package/esm2020/lib/directives/select-panel/tru-mat-select-panel.mjs +0 -66
  385. package/esm2020/lib/services/tru-app-environment.mjs +0 -94
  386. package/esm2020/lib/services/tru-breeze-context-factory.mjs +0 -79
  387. package/esm2020/lib/services/tru-breeze-metadata-provider.mjs +0 -22
  388. package/esm2020/lib/services/tru-component-lookup.mjs +0 -25
  389. package/esm2020/lib/services/tru-connection-hub.mjs +0 -48
  390. package/esm2020/lib/services/tru-context-filters.mjs +0 -29
  391. package/esm2020/lib/services/tru-data-context.mjs +0 -258
  392. package/esm2020/lib/services/tru-entity-accessor.mjs +0 -287
  393. package/esm2020/lib/services/tru-model-property-lookup.mjs +0 -22
  394. package/esm2020/lib/services/tru-search-result-view-manager.mjs +0 -17
  395. package/esm2020/lib/services/tru-sort.mjs +0 -114
  396. package/esm2020/lib/services/tru-table-registry.mjs +0 -16
  397. package/esm2020/lib/services/tru-text-manager.mjs +0 -134
  398. package/esm2020/lib/services/tru-ui-notification.mjs +0 -103
  399. package/esm2020/lib/services/tru-user.mjs +0 -63
  400. package/esm2020/lib/services/tru-util.mjs +0 -77
  401. package/fesm2015/trudb-tru-common-lib.mjs +0 -6803
  402. package/fesm2015/trudb-tru-common-lib.mjs.map +0 -1
  403. package/fesm2020/trudb-tru-common-lib.mjs +0 -6780
  404. package/fesm2020/trudb-tru-common-lib.mjs.map +0 -1
@@ -1,156 +1,156 @@
1
- import * as _ from 'underscore';
2
- import moment from 'moment/moment';
3
- export class TruFormulaEval {
4
- static isString(s) {
5
- return typeof s === 'string';
6
- }
7
- static isDate(v) {
8
- return Object.prototype.toString.call(v) === '[object Date]';
9
- }
10
- static toValue(value) {
11
- return value;
12
- }
13
- static toString(value) {
14
- //if (_.isBoolean(value))
15
- // return value ? 'TRUE' : 'FALSE';
16
- return value.toString();
17
- }
18
- static toDouble(value) {
19
- return Number(value);
20
- }
21
- static toInteger(value) {
22
- return Math.round(value);
23
- }
24
- static toBoolean(value) {
25
- if (_.isBoolean(value))
26
- return value;
27
- var number = Number(value);
28
- if (isNaN(number))
29
- return NaN;
30
- return number !== 0;
31
- }
32
- static toDate(value) {
33
- return value;
34
- }
35
- statictoDateTime(value) {
36
- return value;
37
- }
38
- /**
39
- * Exposed for testing.
40
- */
41
- static _calculate(f, left, right) {
42
- if (TruFormulaEval.isString(left))
43
- left = parseFloat(left);
44
- if (TruFormulaEval.isString(left))
45
- if (TruFormulaEval.isString(right))
46
- right = parseFloat(right);
47
- return f(left, right);
48
- }
49
- static _calculateDate(left, right, add) {
50
- if (add) {
51
- if (TruFormulaEval.isDate(left) && !TruFormulaEval.isDate(right)) {
52
- return moment(left).add(right, 'day').toDate();
53
- }
54
- if (!TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
55
- return moment(right).add(left, 'day').toDate();
56
- }
57
- if (TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
58
- moment(left).add(right).toDate();
59
- }
60
- }
61
- else {
62
- if (TruFormulaEval.isDate(left) && !TruFormulaEval.isDate(right)) {
63
- return moment(left).subtract(right, 'day').toDate();
64
- }
65
- if (!TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
66
- return moment(right).subtract(left, 'day').toDate();
67
- }
68
- if (TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
69
- //var m = moment(left).diff(right, 'days'); //Integer value, but Excel uses decimal for date time
70
- var m = moment(left).diff(moment(right)) / 86400000; //divide by miliseconds in a day, decimal answer 1.0 = 1 day, 0.5 = 12 hours
71
- return m;
72
- }
73
- }
74
- return null;
75
- }
76
- static add(left, right) {
77
- if (left === null || left === undefined || right === null || right === undefined)
78
- return undefined;
79
- if (TruFormulaEval.isDate(left) || TruFormulaEval.isDate(right))
80
- return TruFormulaEval._calculateDate(left, right, true);
81
- return TruFormulaEval._calculate(function (l, r) { return l + r; }, left, right);
82
- }
83
- static subtract(left, right) {
84
- if (left === null || left === undefined || right === null || right === undefined)
85
- return undefined;
86
- if (TruFormulaEval.isDate(left) || TruFormulaEval.isDate(right))
87
- return TruFormulaEval._calculateDate(left, right, true);
88
- return TruFormulaEval._calculate(function (l, r) { return l - r; }, left, right);
89
- }
90
- static multiply(left, right) {
91
- if (left === null || left === undefined || right === null || right === undefined)
92
- return undefined;
93
- return TruFormulaEval._calculate(function (l, r) { return l * r; }, left, right);
94
- }
95
- static divide(left, right) {
96
- if (left === null || left === undefined || right === null || right === undefined)
97
- return undefined;
98
- return TruFormulaEval._calculate(function (l, r) { return l / r; }, left, right);
99
- }
100
- static power(left, right) {
101
- if (left === null || left === undefined || right === null || right === undefined)
102
- return undefined;
103
- return TruFormulaEval._calculate(Math.pow, left, right);
104
- }
105
- static concatenate(left, right) {
106
- if (_.isBoolean(left))
107
- left = left ? 'TRUE' : 'FALSE';
108
- else if (!TruFormulaEval.isString(left))
109
- //NOTE: only need to convert left to string since concat() will coerce parameters
110
- left = left.toString();
111
- if (_.isBoolean(right))
112
- right = right ? 'TRUE' : 'FALSE';
113
- return left.concat(right);
114
- }
115
- static equal(left, right) {
116
- return left === right;
117
- }
118
- static notEqual(left, right) {
119
- return left !== right;
120
- }
121
- static lessThan(left, right) {
122
- if (typeof (left) !== typeof (right))
123
- return !TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
124
- return left < right;
125
- }
126
- static greaterThan(left, right) {
127
- if (typeof (left) !== typeof (right))
128
- return TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
129
- return left > right;
130
- }
131
- static lessThanOrEqual(left, right) {
132
- if (typeof (left) !== typeof (right))
133
- return !TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
134
- return left <= right;
135
- }
136
- static greaterThanOrEqual(left, right) {
137
- if (typeof (left) !== typeof (right))
138
- return TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
139
- return left >= right;
140
- }
141
- static negate(operand) {
142
- return -operand;
143
- }
144
- static percent(operand) {
145
- return operand / 100.0;
146
- }
147
- }
148
- TruFormulaEval.compareResultForMismatchedParams = {
149
- booleanstring: true,
150
- booleannumber: true,
151
- stringnumber: true,
152
- stringboolean: false,
153
- numberstring: false,
154
- numberboolean: false
155
- };
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWZvcm11bGEtZXZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY2xhc3Nlcy90cnUtZm9ybXVsYS1ldmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUVuQyxNQUFNLE9BQU8sY0FBYztJQUVsQixNQUFNLENBQUMsUUFBUSxDQUFDLENBQU07UUFDM0IsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBTTtRQUN6QixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxlQUFlLENBQUE7SUFDOUQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBVTtRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQVU7UUFDL0IseUJBQXlCO1FBQ3pCLHNDQUFzQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFVO1FBQy9CLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDaEMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNwQixPQUFPLEtBQUssQ0FBQztRQUNmLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FB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LEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQzlFLE9BQU8sU0FBUyxDQUFDO1FBRW5CLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQU0sRUFBRSxDQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ00sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUN4QyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQzlFLE9BQU8sU0FBUyxDQUFDO1FBRW5CLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQU0sRUFBRSxDQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ00sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUN2QyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQzlFLE9BQU8sU0FBUyxDQUFDO1FBRW5CLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUM3QyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ25CLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNyQyxpRkFBaUY7WUFDakYsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ3BCLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ00sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUN2QyxPQUFPLElBQUksS0FBSyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNNLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDMUMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFVTSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVMsRUFBRSxLQUFVO1FBQzFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUYsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVMsRUFBRSxLQUFVO1FBQzdDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbEMsT0FBTyxjQUFjLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ00sTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUNqRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxjQUFjLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFGLE9BQU8sSUFBSSxJQUFJLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ00sTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQVMsRUFBRSxLQUFVO1FBQ3BELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbEMsT0FBTyxjQUFjLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxJQUFJLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFZO1FBQy9CLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDbEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBWTtRQUNoQyxPQUFPLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQzs7QUFuQ2EsK0NBQWdDLEdBQVE7SUFDcEQsYUFBYSxFQUFFLElBQUk7SUFDbkIsYUFBYSxFQUFFLElBQUk7SUFDbkIsWUFBWSxFQUFFLElBQUk7SUFDbEIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsYUFBYSxFQUFFLEtBQUs7Q0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIF8gZnJvbSAndW5kZXJzY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7IFxyXG5cclxuZXhwb3J0IGNsYXNzIFRydUZvcm11bGFFdmFsIHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc1N0cmluZyhzOiBhbnkpIHtcclxuICAgIHJldHVybiB0eXBlb2YgcyA9PT0gJ3N0cmluZyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzRGF0ZSh2OiBhbnkpIHtcclxuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodikgPT09ICdbb2JqZWN0IERhdGVdJ1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b1ZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9TdHJpbmcodmFsdWU6IGFueSkge1xyXG4gICAgLy9pZiAoXy5pc0Jvb2xlYW4odmFsdWUpKVxyXG4gICAgLy8gICAgcmV0dXJuIHZhbHVlID8gJ1RSVUUnIDogJ0ZBTFNFJztcclxuICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b0RvdWJsZSh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9JbnRlZ2VyKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9Cb29sZWFuKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmIChfLmlzQm9vbGVhbih2YWx1ZSkpXHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIHZhciBudW1iZXIgPSBOdW1iZXIodmFsdWUpO1xyXG4gICAgaWYgKGlzTmFOKG51bWJlcikpXHJcbiAgICAgIHJldHVybiBOYU47XHJcbiAgICByZXR1cm4gbnVtYmVyICE9PSAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b0RhdGUodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpY3RvRGF0ZVRpbWUodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwb3NlZCBmb3IgdGVzdGluZy5cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIF9jYWxjdWxhdGUoZjogYW55LCBsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChUcnVGb3JtdWxhRXZhbC5pc1N0cmluZyhsZWZ0KSlcclxuICAgICAgbGVmdCA9IHBhcnNlRmxvYXQobGVmdCk7XHJcbiAgICBpZiAoVHJ1Rm9ybXVsYUV2YWwuaXNTdHJpbmcobGVmdCkpXHJcbiAgICAgIGlmIChUcnVGb3JtdWxhRXZhbC5pc1N0cmluZyhyaWdodCkpXHJcbiAgICAgICAgcmlnaHQgPSBwYXJzZUZsb2F0KHJpZ2h0KTtcclxuICAgIHJldHVybiBmKGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgX2NhbGN1bGF0ZURhdGUobGVmdDogYW55LCByaWdodDogYW55LCBhZGQ6IGFueSkge1xyXG4gICAgaWYgKGFkZCkge1xyXG4gICAgICBpZiAoVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpICYmICFUcnVGb3JtdWxhRXZhbC5pc0RhdGUocmlnaHQpKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChsZWZ0KS5hZGQocmlnaHQsICdkYXknKS50b0RhdGUoKTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpICYmIFRydUZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KHJpZ2h0KS5hZGQobGVmdCwgJ2RheScpLnRvRGF0ZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpICYmIFRydUZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpIHtcclxuICAgICAgICBtb21lbnQobGVmdCkuYWRkKHJpZ2h0KS50b0RhdGUoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKFRydUZvcm11bGFFdmFsLmlzRGF0ZShsZWZ0KSAmJiAhVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSkge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQobGVmdCkuc3VidHJhY3QocmlnaHQsICdkYXknKS50b0RhdGUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFUcnVGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgJiYgVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSkge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQocmlnaHQpLnN1YnRyYWN0KGxlZnQsICdkYXknKS50b0RhdGUoKTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChUcnVGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgJiYgVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSkge1xyXG4gICAgICAgIC8vdmFyIG0gPSBtb21lbnQobGVmdCkuZGlmZihyaWdodCwgJ2RheXMnKTsgLy9JbnRlZ2VyIHZhbHVlLCBidXQgRXhjZWwgdXNlcyBkZWNpbWFsIGZvciBkYXRlIHRpbWVcclxuICAgICAgICB2YXIgbSA9IG1vbWVudChsZWZ0KS5kaWZmKG1vbWVudChyaWdodCkpIC8gODY0MDAwMDA7IC8vZGl2aWRlIGJ5IG1pbGlzZWNvbmRzIGluIGEgZGF5LCBkZWNpbWFsIGFuc3dlciAxLjAgPSAxIGRheSwgMC41ID0gMTIgaG91cnNcclxuICAgICAgICByZXR1cm4gbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGFkZChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChsZWZ0ID09PSBudWxsIHx8IGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gbnVsbCB8fCByaWdodCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmIChUcnVGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgfHwgVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSlcclxuICAgICAgcmV0dXJuIFRydUZvcm11bGFFdmFsLl9jYWxjdWxhdGVEYXRlKGxlZnQsIHJpZ2h0LCB0cnVlKTtcclxuXHJcbiAgICByZXR1cm4gVHJ1Rm9ybXVsYUV2YWwuX2NhbGN1bGF0ZShmdW5jdGlvbiAobDogYW55LCByOiBhbnkpIHsgcmV0dXJuIGwgKyByIH0sIGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBzdWJ0cmFjdChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChsZWZ0ID09PSBudWxsIHx8IGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gbnVsbCB8fCByaWdodCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmIChUcnVGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgfHwgVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSlcclxuICAgICAgcmV0dXJuIFRydUZvcm11bGFFdmFsLl9jYWxjdWxhdGVEYXRlKGxlZnQsIHJpZ2h0LCB0cnVlKTtcclxuXHJcbiAgICByZXR1cm4gVHJ1Rm9ybXVsYUV2YWwuX2NhbGN1bGF0ZShmdW5jdGlvbiAobDogYW55LCByOiBhbnkpIHsgcmV0dXJuIGwgLSByIH0sIGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBtdWx0aXBseShsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChsZWZ0ID09PSBudWxsIHx8IGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gbnVsbCB8fCByaWdodCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgIHJldHVybiBUcnVGb3JtdWxhRXZhbC5fY2FsY3VsYXRlKGZ1bmN0aW9uIChsOiBhbnksIHI6IGFueSkgeyByZXR1cm4gbCAqIHIgfSwgbGVmdCwgcmlnaHQpO1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIGRpdmlkZShsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChsZWZ0ID09PSBudWxsIHx8IGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gbnVsbCB8fCByaWdodCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgIHJldHVybiBUcnVGb3JtdWxhRXZhbC5fY2FsY3VsYXRlKGZ1bmN0aW9uIChsOiBhbnksIHI6IGFueSkgeyByZXR1cm4gbCAvIHIgfSwgbGVmdCwgcmlnaHQpO1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIHBvd2VyKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKGxlZnQgPT09IG51bGwgfHwgbGVmdCA9PT0gdW5kZWZpbmVkIHx8IHJpZ2h0ID09PSBudWxsIHx8IHJpZ2h0ID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgcmV0dXJuIFRydUZvcm11bGFFdmFsLl9jYWxjdWxhdGUoTWF0aC5wb3csIGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY29uY2F0ZW5hdGUobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAoXy5pc0Jvb2xlYW4obGVmdCkpXHJcbiAgICAgIGxlZnQgPSBsZWZ0ID8gJ1RSVUUnIDogJ0ZBTFNFJztcclxuICAgIGVsc2UgaWYgKCFUcnVGb3JtdWxhRXZhbC5pc1N0cmluZyhsZWZ0KSlcclxuICAgICAgLy9OT1RFOiBvbmx5IG5lZWQgdG8gY29udmVydCBsZWZ0IHRvIHN0cmluZyBzaW5jZSBjb25jYXQoKSB3aWxsIGNvZXJjZSBwYXJhbWV0ZXJzXHJcbiAgICAgIGxlZnQgPSBsZWZ0LnRvU3RyaW5nKCk7XHJcbiAgICBpZiAoXy5pc0Jvb2xlYW4ocmlnaHQpKVxyXG4gICAgICByaWdodCA9IHJpZ2h0ID8gJ1RSVUUnIDogJ0ZBTFNFJztcclxuICAgIHJldHVybiBsZWZ0LmNvbmNhdChyaWdodCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgZXF1YWwobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICByZXR1cm4gbGVmdCA9PT0gcmlnaHQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgbm90RXF1YWwobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICByZXR1cm4gbGVmdCAhPT0gcmlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNvbXBhcmVSZXN1bHRGb3JNaXNtYXRjaGVkUGFyYW1zOiBhbnkgPSB7XHJcbiAgICBib29sZWFuc3RyaW5nOiB0cnVlLFxyXG4gICAgYm9vbGVhbm51bWJlcjogdHJ1ZSxcclxuICAgIHN0cmluZ251bWJlcjogdHJ1ZSxcclxuICAgIHN0cmluZ2Jvb2xlYW46IGZhbHNlLFxyXG4gICAgbnVtYmVyc3RyaW5nOiBmYWxzZSxcclxuICAgIG51bWJlcmJvb2xlYW46IGZhbHNlXHJcbiAgfTtcclxuICBwdWJsaWMgc3RhdGljIGxlc3NUaGFuKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiAobGVmdCkgIT09IHR5cGVvZiAocmlnaHQpKVxyXG4gICAgICByZXR1cm4gIVRydUZvcm11bGFFdmFsLmNvbXBhcmVSZXN1bHRGb3JNaXNtYXRjaGVkUGFyYW1zW3R5cGVvZiAobGVmdCkgKyB0eXBlb2YgKHJpZ2h0KV07XHJcbiAgICByZXR1cm4gbGVmdCA8IHJpZ2h0O1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIGdyZWF0ZXJUaGFuKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiAobGVmdCkgIT09IHR5cGVvZiAocmlnaHQpKVxyXG4gICAgICByZXR1cm4gVHJ1Rm9ybXVsYUV2YWwuY29tcGFyZVJlc3VsdEZvck1pc21hdGNoZWRQYXJhbXNbdHlwZW9mIChsZWZ0KSArIHR5cGVvZiAocmlnaHQpXTtcclxuICAgIHJldHVybiBsZWZ0ID4gcmlnaHQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgbGVzc1RoYW5PckVxdWFsKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiAobGVmdCkgIT09IHR5cGVvZiAocmlnaHQpKVxyXG4gICAgICByZXR1cm4gIVRydUZvcm11bGFFdmFsLmNvbXBhcmVSZXN1bHRGb3JNaXNtYXRjaGVkUGFyYW1zW3R5cGVvZiAobGVmdCkgKyB0eXBlb2YgKHJpZ2h0KV07XHJcbiAgICByZXR1cm4gbGVmdCA8PSByaWdodDtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBncmVhdGVyVGhhbk9yRXF1YWwobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIChsZWZ0KSAhPT0gdHlwZW9mIChyaWdodCkpXHJcbiAgICAgIHJldHVybiBUcnVGb3JtdWxhRXZhbC5jb21wYXJlUmVzdWx0Rm9yTWlzbWF0Y2hlZFBhcmFtc1t0eXBlb2YgKGxlZnQpICsgdHlwZW9mIChyaWdodCldO1xyXG4gICAgcmV0dXJuIGxlZnQgPj0gcmlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIG5lZ2F0ZShvcGVyYW5kOiBhbnkpIHtcclxuICAgIHJldHVybiAtb3BlcmFuZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgcGVyY2VudChvcGVyYW5kOiBhbnkpIHtcclxuICAgIHJldHVybiBvcGVyYW5kIC8gMTAwLjA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import * as _ from 'underscore';
2
+ import moment from 'moment/moment';
3
+ export class TruFormulaEval {
4
+ static isString(s) {
5
+ return typeof s === 'string';
6
+ }
7
+ static isDate(v) {
8
+ return Object.prototype.toString.call(v) === '[object Date]';
9
+ }
10
+ static toValue(value) {
11
+ return value;
12
+ }
13
+ static toString(value) {
14
+ //if (_.isBoolean(value))
15
+ // return value ? 'TRUE' : 'FALSE';
16
+ return value.toString();
17
+ }
18
+ static toDouble(value) {
19
+ return Number(value);
20
+ }
21
+ static toInteger(value) {
22
+ return Math.round(value);
23
+ }
24
+ static toBoolean(value) {
25
+ if (_.isBoolean(value))
26
+ return value;
27
+ var number = Number(value);
28
+ if (isNaN(number))
29
+ return NaN;
30
+ return number !== 0;
31
+ }
32
+ static toDate(value) {
33
+ return value;
34
+ }
35
+ statictoDateTime(value) {
36
+ return value;
37
+ }
38
+ /**
39
+ * Exposed for testing.
40
+ */
41
+ static _calculate(f, left, right) {
42
+ if (TruFormulaEval.isString(left))
43
+ left = parseFloat(left);
44
+ if (TruFormulaEval.isString(left))
45
+ if (TruFormulaEval.isString(right))
46
+ right = parseFloat(right);
47
+ return f(left, right);
48
+ }
49
+ static _calculateDate(left, right, add) {
50
+ if (add) {
51
+ if (TruFormulaEval.isDate(left) && !TruFormulaEval.isDate(right)) {
52
+ return moment(left).add(right, 'day').toDate();
53
+ }
54
+ if (!TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
55
+ return moment(right).add(left, 'day').toDate();
56
+ }
57
+ if (TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
58
+ moment(left).add(right).toDate();
59
+ }
60
+ }
61
+ else {
62
+ if (TruFormulaEval.isDate(left) && !TruFormulaEval.isDate(right)) {
63
+ return moment(left).subtract(right, 'day').toDate();
64
+ }
65
+ if (!TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
66
+ return moment(right).subtract(left, 'day').toDate();
67
+ }
68
+ if (TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
69
+ //var m = moment(left).diff(right, 'days'); //Integer value, but Excel uses decimal for date time
70
+ var m = moment(left).diff(moment(right)) / 86400000; //divide by miliseconds in a day, decimal answer 1.0 = 1 day, 0.5 = 12 hours
71
+ return m;
72
+ }
73
+ }
74
+ return null;
75
+ }
76
+ static add(left, right) {
77
+ if (left === null || left === undefined || right === null || right === undefined)
78
+ return undefined;
79
+ if (TruFormulaEval.isDate(left) || TruFormulaEval.isDate(right))
80
+ return TruFormulaEval._calculateDate(left, right, true);
81
+ return TruFormulaEval._calculate(function (l, r) { return l + r; }, left, right);
82
+ }
83
+ static subtract(left, right) {
84
+ if (left === null || left === undefined || right === null || right === undefined)
85
+ return undefined;
86
+ if (TruFormulaEval.isDate(left) || TruFormulaEval.isDate(right))
87
+ return TruFormulaEval._calculateDate(left, right, true);
88
+ return TruFormulaEval._calculate(function (l, r) { return l - r; }, left, right);
89
+ }
90
+ static multiply(left, right) {
91
+ if (left === null || left === undefined || right === null || right === undefined)
92
+ return undefined;
93
+ return TruFormulaEval._calculate(function (l, r) { return l * r; }, left, right);
94
+ }
95
+ static divide(left, right) {
96
+ if (left === null || left === undefined || right === null || right === undefined)
97
+ return undefined;
98
+ return TruFormulaEval._calculate(function (l, r) { return l / r; }, left, right);
99
+ }
100
+ static power(left, right) {
101
+ if (left === null || left === undefined || right === null || right === undefined)
102
+ return undefined;
103
+ return TruFormulaEval._calculate(Math.pow, left, right);
104
+ }
105
+ static concatenate(left, right) {
106
+ if (_.isBoolean(left))
107
+ left = left ? 'TRUE' : 'FALSE';
108
+ else if (!TruFormulaEval.isString(left))
109
+ //NOTE: only need to convert left to string since concat() will coerce parameters
110
+ left = left.toString();
111
+ if (_.isBoolean(right))
112
+ right = right ? 'TRUE' : 'FALSE';
113
+ return left.concat(right);
114
+ }
115
+ static equal(left, right) {
116
+ return left === right;
117
+ }
118
+ static notEqual(left, right) {
119
+ return left !== right;
120
+ }
121
+ static compareResultForMismatchedParams = {
122
+ booleanstring: true,
123
+ booleannumber: true,
124
+ stringnumber: true,
125
+ stringboolean: false,
126
+ numberstring: false,
127
+ numberboolean: false
128
+ };
129
+ static lessThan(left, right) {
130
+ if (typeof (left) !== typeof (right))
131
+ return !TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
132
+ return left < right;
133
+ }
134
+ static greaterThan(left, right) {
135
+ if (typeof (left) !== typeof (right))
136
+ return TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
137
+ return left > right;
138
+ }
139
+ static lessThanOrEqual(left, right) {
140
+ if (typeof (left) !== typeof (right))
141
+ return !TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
142
+ return left <= right;
143
+ }
144
+ static greaterThanOrEqual(left, right) {
145
+ if (typeof (left) !== typeof (right))
146
+ return TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
147
+ return left >= right;
148
+ }
149
+ static negate(operand) {
150
+ return -operand;
151
+ }
152
+ static percent(operand) {
153
+ return operand / 100.0;
154
+ }
155
+ }
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWZvcm11bGEtZXZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY2xhc3Nlcy90cnUtZm9ybXVsYS1ldmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUVuQyxNQUFNLE9BQU8sY0FBYztJQUVsQixNQUFNLENBQUMsUUFBUSxDQUFDLENBQU07UUFDM0IsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBTTtRQUN6QixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxlQUFlLENBQUE7SUFDOUQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBVTtRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQVU7UUFDL0IseUJBQXlCO1FBQ3pCLHNDQUFzQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFVO1FBQy9CLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDaEMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNwQixPQUFPLEtBQUssQ0FBQztRQUNmLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FB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LEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQzlFLE9BQU8sU0FBUyxDQUFDO1FBRW5CLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQU0sRUFBRSxDQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ00sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUN4QyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQzlFLE9BQU8sU0FBUyxDQUFDO1FBRW5CLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQU0sRUFBRSxDQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ00sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUN2QyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQzlFLE9BQU8sU0FBUyxDQUFDO1FBRW5CLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUM3QyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ25CLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNyQyxpRkFBaUY7WUFDakYsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ3BCLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ00sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUN2QyxPQUFPLElBQUksS0FBSyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNNLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDMUMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxNQUFNLENBQUMsZ0NBQWdDLEdBQVE7UUFDcEQsYUFBYSxFQUFFLElBQUk7UUFDbkIsYUFBYSxFQUFFLElBQUk7UUFDbkIsWUFBWSxFQUFFLElBQUk7UUFDbEIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsWUFBWSxFQUFFLEtBQUs7UUFDbkIsYUFBYSxFQUFFLEtBQUs7S0FDckIsQ0FBQztJQUNLLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNsQyxPQUFPLENBQUMsY0FBYyxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRixPQUFPLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNNLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDN0MsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNsQyxPQUFPLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVMsRUFBRSxLQUFVO1FBQ2pELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUYsT0FBTyxJQUFJLElBQUksS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFDTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDcEQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNsQyxPQUFPLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLElBQUksS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQVk7UUFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFZO1FBQ2hDLE9BQU8sT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICd1bmRlcnNjb3JlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JzsgXHJcblxyXG5leHBvcnQgY2xhc3MgVHJ1Rm9ybXVsYUV2YWwge1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzU3RyaW5nKHM6IGFueSkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiBzID09PSAnc3RyaW5nJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNEYXRlKHY6IGFueSkge1xyXG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2KSA9PT0gJ1tvYmplY3QgRGF0ZV0nXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHRvVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b1N0cmluZyh2YWx1ZTogYW55KSB7XHJcbiAgICAvL2lmIChfLmlzQm9vbGVhbih2YWx1ZSkpXHJcbiAgICAvLyAgICByZXR1cm4gdmFsdWUgPyAnVFJVRScgOiAnRkFMU0UnO1xyXG4gICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHRvRG91YmxlKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b0ludGVnZXIodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b0Jvb2xlYW4odmFsdWU6IGFueSkge1xyXG4gICAgaWYgKF8uaXNCb29sZWFuKHZhbHVlKSlcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgdmFyIG51bWJlciA9IE51bWJlcih2YWx1ZSk7XHJcbiAgICBpZiAoaXNOYU4obnVtYmVyKSlcclxuICAgICAgcmV0dXJuIE5hTjtcclxuICAgIHJldHVybiBudW1iZXIgIT09IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHRvRGF0ZSh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljdG9EYXRlVGltZSh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeHBvc2VkIGZvciB0ZXN0aW5nLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgX2NhbGN1bGF0ZShmOiBhbnksIGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKFRydUZvcm11bGFFdmFsLmlzU3RyaW5nKGxlZnQpKVxyXG4gICAgICBsZWZ0ID0gcGFyc2VGbG9hdChsZWZ0KTtcclxuICAgIGlmIChUcnVGb3JtdWxhRXZhbC5pc1N0cmluZyhsZWZ0KSlcclxuICAgICAgaWYgKFRydUZvcm11bGFFdmFsLmlzU3RyaW5nKHJpZ2h0KSlcclxuICAgICAgICByaWdodCA9IHBhcnNlRmxvYXQocmlnaHQpO1xyXG4gICAgcmV0dXJuIGYobGVmdCwgcmlnaHQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBfY2FsY3VsYXRlRGF0ZShsZWZ0OiBhbnksIHJpZ2h0OiBhbnksIGFkZDogYW55KSB7XHJcbiAgICBpZiAoYWRkKSB7XHJcbiAgICAgIGlmIChUcnVGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgJiYgIVRydUZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGxlZnQpLmFkZChyaWdodCwgJ2RheScpLnRvRGF0ZSgpO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFUcnVGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgJiYgVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSkge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQocmlnaHQpLmFkZChsZWZ0LCAnZGF5JykudG9EYXRlKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChUcnVGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgJiYgVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSkge1xyXG4gICAgICAgIG1vbWVudChsZWZ0KS5hZGQocmlnaHQpLnRvRGF0ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpICYmICFUcnVGb3JtdWxhRXZhbC5pc0RhdGUocmlnaHQpKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChsZWZ0KS5zdWJ0cmFjdChyaWdodCwgJ2RheScpLnRvRGF0ZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIVRydUZvcm11bGFFdmFsLmlzRGF0ZShsZWZ0KSAmJiBUcnVGb3JtdWxhRXZhbC5pc0RhdGUocmlnaHQpKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChyaWdodCkuc3VidHJhY3QobGVmdCwgJ2RheScpLnRvRGF0ZSgpO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKFRydUZvcm11bGFFdmFsLmlzRGF0ZShsZWZ0KSAmJiBUcnVGb3JtdWxhRXZhbC5pc0RhdGUocmlnaHQpKSB7XHJcbiAgICAgICAgLy92YXIgbSA9IG1vbWVudChsZWZ0KS5kaWZmKHJpZ2h0LCAnZGF5cycpOyAvL0ludGVnZXIgdmFsdWUsIGJ1dCBFeGNlbCB1c2VzIGRlY2ltYWwgZm9yIGRhdGUgdGltZVxyXG4gICAgICAgIHZhciBtID0gbW9tZW50KGxlZnQpLmRpZmYobW9tZW50KHJpZ2h0KSkgLyA4NjQwMDAwMDsgLy9kaXZpZGUgYnkgbWlsaXNlY29uZHMgaW4gYSBkYXksIGRlY2ltYWwgYW5zd2VyIDEuMCA9IDEgZGF5LCAwLjUgPSAxMiBob3Vyc1xyXG4gICAgICAgIHJldHVybiBtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgYWRkKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKGxlZnQgPT09IG51bGwgfHwgbGVmdCA9PT0gdW5kZWZpbmVkIHx8IHJpZ2h0ID09PSBudWxsIHx8IHJpZ2h0ID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgaWYgKFRydUZvcm11bGFFdmFsLmlzRGF0ZShsZWZ0KSB8fCBUcnVGb3JtdWxhRXZhbC5pc0RhdGUocmlnaHQpKVxyXG4gICAgICByZXR1cm4gVHJ1Rm9ybXVsYUV2YWwuX2NhbGN1bGF0ZURhdGUobGVmdCwgcmlnaHQsIHRydWUpO1xyXG5cclxuICAgIHJldHVybiBUcnVGb3JtdWxhRXZhbC5fY2FsY3VsYXRlKGZ1bmN0aW9uIChsOiBhbnksIHI6IGFueSkgeyByZXR1cm4gbCArIHIgfSwgbGVmdCwgcmlnaHQpO1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIHN1YnRyYWN0KGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKGxlZnQgPT09IG51bGwgfHwgbGVmdCA9PT0gdW5kZWZpbmVkIHx8IHJpZ2h0ID09PSBudWxsIHx8IHJpZ2h0ID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgaWYgKFRydUZvcm11bGFFdmFsLmlzRGF0ZShsZWZ0KSB8fCBUcnVGb3JtdWxhRXZhbC5pc0RhdGUocmlnaHQpKVxyXG4gICAgICByZXR1cm4gVHJ1Rm9ybXVsYUV2YWwuX2NhbGN1bGF0ZURhdGUobGVmdCwgcmlnaHQsIHRydWUpO1xyXG5cclxuICAgIHJldHVybiBUcnVGb3JtdWxhRXZhbC5fY2FsY3VsYXRlKGZ1bmN0aW9uIChsOiBhbnksIHI6IGFueSkgeyByZXR1cm4gbCAtIHIgfSwgbGVmdCwgcmlnaHQpO1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIG11bHRpcGx5KGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKGxlZnQgPT09IG51bGwgfHwgbGVmdCA9PT0gdW5kZWZpbmVkIHx8IHJpZ2h0ID09PSBudWxsIHx8IHJpZ2h0ID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgcmV0dXJuIFRydUZvcm11bGFFdmFsLl9jYWxjdWxhdGUoZnVuY3Rpb24gKGw6IGFueSwgcjogYW55KSB7IHJldHVybiBsICogciB9LCBsZWZ0LCByaWdodCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgZGl2aWRlKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKGxlZnQgPT09IG51bGwgfHwgbGVmdCA9PT0gdW5kZWZpbmVkIHx8IHJpZ2h0ID09PSBudWxsIHx8IHJpZ2h0ID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgcmV0dXJuIFRydUZvcm11bGFFdmFsLl9jYWxjdWxhdGUoZnVuY3Rpb24gKGw6IGFueSwgcjogYW55KSB7IHJldHVybiBsIC8gciB9LCBsZWZ0LCByaWdodCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgcG93ZXIobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAobGVmdCA9PT0gbnVsbCB8fCBsZWZ0ID09PSB1bmRlZmluZWQgfHwgcmlnaHQgPT09IG51bGwgfHwgcmlnaHQgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICByZXR1cm4gVHJ1Rm9ybXVsYUV2YWwuX2NhbGN1bGF0ZShNYXRoLnBvdywgbGVmdCwgcmlnaHQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBjb25jYXRlbmF0ZShsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChfLmlzQm9vbGVhbihsZWZ0KSlcclxuICAgICAgbGVmdCA9IGxlZnQgPyAnVFJVRScgOiAnRkFMU0UnO1xyXG4gICAgZWxzZSBpZiAoIVRydUZvcm11bGFFdmFsLmlzU3RyaW5nKGxlZnQpKVxyXG4gICAgICAvL05PVEU6IG9ubHkgbmVlZCB0byBjb252ZXJ0IGxlZnQgdG8gc3RyaW5nIHNpbmNlIGNvbmNhdCgpIHdpbGwgY29lcmNlIHBhcmFtZXRlcnNcclxuICAgICAgbGVmdCA9IGxlZnQudG9TdHJpbmcoKTtcclxuICAgIGlmIChfLmlzQm9vbGVhbihyaWdodCkpXHJcbiAgICAgIHJpZ2h0ID0gcmlnaHQgPyAnVFJVRScgOiAnRkFMU0UnO1xyXG4gICAgcmV0dXJuIGxlZnQuY29uY2F0KHJpZ2h0KTtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBlcXVhbChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIHJldHVybiBsZWZ0ID09PSByaWdodDtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBub3RFcXVhbChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIHJldHVybiBsZWZ0ICE9PSByaWdodDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY29tcGFyZVJlc3VsdEZvck1pc21hdGNoZWRQYXJhbXM6IGFueSA9IHtcclxuICAgIGJvb2xlYW5zdHJpbmc6IHRydWUsXHJcbiAgICBib29sZWFubnVtYmVyOiB0cnVlLFxyXG4gICAgc3RyaW5nbnVtYmVyOiB0cnVlLFxyXG4gICAgc3RyaW5nYm9vbGVhbjogZmFsc2UsXHJcbiAgICBudW1iZXJzdHJpbmc6IGZhbHNlLFxyXG4gICAgbnVtYmVyYm9vbGVhbjogZmFsc2VcclxuICB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgbGVzc1RoYW4obGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIChsZWZ0KSAhPT0gdHlwZW9mIChyaWdodCkpXHJcbiAgICAgIHJldHVybiAhVHJ1Rm9ybXVsYUV2YWwuY29tcGFyZVJlc3VsdEZvck1pc21hdGNoZWRQYXJhbXNbdHlwZW9mIChsZWZ0KSArIHR5cGVvZiAocmlnaHQpXTtcclxuICAgIHJldHVybiBsZWZ0IDwgcmlnaHQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgZ3JlYXRlclRoYW4obGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIChsZWZ0KSAhPT0gdHlwZW9mIChyaWdodCkpXHJcbiAgICAgIHJldHVybiBUcnVGb3JtdWxhRXZhbC5jb21wYXJlUmVzdWx0Rm9yTWlzbWF0Y2hlZFBhcmFtc1t0eXBlb2YgKGxlZnQpICsgdHlwZW9mIChyaWdodCldO1xyXG4gICAgcmV0dXJuIGxlZnQgPiByaWdodDtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBsZXNzVGhhbk9yRXF1YWwobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIChsZWZ0KSAhPT0gdHlwZW9mIChyaWdodCkpXHJcbiAgICAgIHJldHVybiAhVHJ1Rm9ybXVsYUV2YWwuY29tcGFyZVJlc3VsdEZvck1pc21hdGNoZWRQYXJhbXNbdHlwZW9mIChsZWZ0KSArIHR5cGVvZiAocmlnaHQpXTtcclxuICAgIHJldHVybiBsZWZ0IDw9IHJpZ2h0O1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIGdyZWF0ZXJUaGFuT3JFcXVhbChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgKGxlZnQpICE9PSB0eXBlb2YgKHJpZ2h0KSlcclxuICAgICAgcmV0dXJuIFRydUZvcm11bGFFdmFsLmNvbXBhcmVSZXN1bHRGb3JNaXNtYXRjaGVkUGFyYW1zW3R5cGVvZiAobGVmdCkgKyB0eXBlb2YgKHJpZ2h0KV07XHJcbiAgICByZXR1cm4gbGVmdCA+PSByaWdodDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgbmVnYXRlKG9wZXJhbmQ6IGFueSkge1xyXG4gICAgcmV0dXJuIC1vcGVyYW5kO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBwZXJjZW50KG9wZXJhbmQ6IGFueSkge1xyXG4gICAgcmV0dXJuIG9wZXJhbmQgLyAxMDAuMDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,11 @@
1
+ export class TruMergeDataSet {
2
+ _data = {};
3
+ getData = (propertyName) => {
4
+ return this._data[propertyName];
5
+ };
6
+ setData = (propertyName, data) => {
7
+ this._data[propertyName] = data;
8
+ };
9
+ constructor() { }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1lcmdlLWRhdGEtc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1tZXJnZS1kYXRhLXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZUFBZTtJQUNsQixLQUFLLEdBQWlDLEVBQUUsQ0FBQztJQUVqRCxPQUFPLEdBQUcsQ0FBQyxZQUFvQixFQUE0QixFQUFFO1FBQzNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUE7SUFFRCxPQUFPLEdBQUcsQ0FBQyxZQUFvQixFQUFFLElBQWtCLEVBQUUsRUFBRTtRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDLENBQUE7SUFFRCxnQkFBZSxDQUFDO0NBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJ1TWVyZ2VEYXRhIH0gZnJvbSBcIi4vdHJ1LW1lcmdlLWRhdGFcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVNZXJnZURhdGFTZXQge1xyXG4gIHByaXZhdGUgX2RhdGE6IFJlY29yZDxzdHJpbmcsIFRydU1lcmdlRGF0YT4gPSB7fTtcclxuXHJcbiAgZ2V0RGF0YSA9IChwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IFRydU1lcmdlRGF0YSB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YSA9IChwcm9wZXJ0eU5hbWU6IHN0cmluZywgZGF0YTogVHJ1TWVyZ2VEYXRhKSA9PiB7XHJcbiAgICB0aGlzLl9kYXRhW3Byb3BlcnR5TmFtZV0gPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ export class TruMergeData {
2
+ _value;
3
+ _modifiedBy;
4
+ _hid;
5
+ get value() {
6
+ return this._value;
7
+ }
8
+ get modifiedBy() {
9
+ return this._modifiedBy;
10
+ }
11
+ get hid() {
12
+ return this._hid;
13
+ }
14
+ constructor(value, modifiedBy, hid) {
15
+ this._value = value;
16
+ this._modifiedBy = modifiedBy;
17
+ this._hid = hid;
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1lcmdlLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NsYXNzZXMvdHJ1LW1lcmdlLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFlBQVk7SUFDZixNQUFNLENBQU07SUFDWixXQUFXLENBQVM7SUFDcEIsSUFBSSxDQUFTO0lBR3JCLElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZLEtBQVUsRUFBRSxVQUFrQixFQUFFLEdBQVc7UUFDckQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRydU1lcmdlRGF0YSB7XHJcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcclxuICBwcml2YXRlIF9tb2RpZmllZEJ5OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfaGlkOiBzdHJpbmc7XHJcblxyXG5cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG1vZGlmaWVkQnkoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9tb2RpZmllZEJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoaWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9oaWQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogYW55LCBtb2RpZmllZEJ5OiBzdHJpbmcsIGhpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fbW9kaWZpZWRCeSA9IG1vZGlmaWVkQnk7XHJcbiAgICB0aGlzLl9oaWQgPSBoaWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,3 +1,3 @@
1
- export class TruNameValue {
2
- }
1
+ export class TruNameValue {
2
+ }
3
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW5hbWUtdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NsYXNzZXMvdHJ1LW5hbWUtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQixZQUFZO0NBTWpDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRydU5hbWVWYWx1ZSB7XHJcbiAgYWJzdHJhY3QgbmFtZTogc3RyaW5nO1xyXG4gIGFic3RyYWN0IHZhbHVlOiB7ICQ6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgfTtcclxuICBhYnN0cmFjdCBlbnRpdHk/OiBhbnk7XHJcbiAgYWJzdHJhY3QgY2hlY2tlZD86IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIGFic3RyYWN0IG5vdEFuT3B0aW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { AndOrPredicate, BinaryPredicate, breeze } from "breeze-client";
2
+ export class TruPredicate {
3
+ _breezePredicate = null;
4
+ constructor(field, operator, value, propertyQueryPath, overQuoted = false) {
5
+ if (typeof field === 'string') {
6
+ var args = propertyQueryPath?.slice(0);
7
+ args[args.length - 1] += field;
8
+ args.push(operator);
9
+ args.push(value);
10
+ this._breezePredicate = new breeze.Predicate(args);
11
+ this._breezePredicate.overQuoted = overQuoted;
12
+ }
13
+ else if (arguments[0].constructor === TruPredicate || arguments[0].constructor === BinaryPredicate || arguments[0].constructor === AndOrPredicate) {
14
+ this._breezePredicate = arguments[0];
15
+ }
16
+ else {
17
+ throw new TypeError('Unexpected parameter type <' + arguments[0].constructor + '>.');
18
+ }
19
+ }
20
+ handleOperator = (fieldOrPredicate, oper, operator, value) => {
21
+ var breezePredicate;
22
+ if (Array.isArray(fieldOrPredicate)) {
23
+ breezePredicate = new TruPredicate(fieldOrPredicate[0], fieldOrPredicate[1], fieldOrPredicate[2], []);
24
+ }
25
+ else if (fieldOrPredicate.constructor === TruPredicate || fieldOrPredicate.constructor === BinaryPredicate || fieldOrPredicate.constructor === AndOrPredicate) {
26
+ breezePredicate = fieldOrPredicate;
27
+ }
28
+ else {
29
+ throw new TypeError('Unexpected parameter type <' + fieldOrPredicate.constructor + '>.');
30
+ }
31
+ breezePredicate = oper(breezePredicate);
32
+ return new TruPredicate(breezePredicate, null, null, null);
33
+ };
34
+ and = (fieldOrPredicate, operator, value) => {
35
+ var that = this;
36
+ return this.handleOperator(fieldOrPredicate, function (p) { return that._breezePredicate.and(p); }, operator, value);
37
+ };
38
+ or = (fieldOrPredicate, operator, value) => {
39
+ var that = this;
40
+ return this.handleOperator(fieldOrPredicate, function (p) { return that._breezePredicate.and(p); }, operator, value);
41
+ };
42
+ not = () => {
43
+ var breezePredicate = this._breezePredicate.not();
44
+ return new TruPredicate(breezePredicate, null, null, null);
45
+ };
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByZWRpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY2xhc3Nlcy90cnUtcHJlZGljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxNQUFNLE9BQU8sWUFBWTtJQUN2QixnQkFBZ0IsR0FBUSxJQUFJLENBQUM7SUFFN0IsWUFBWSxLQUFVLEVBQUUsUUFBdUIsRUFBRSxLQUFVLEVBQUUsaUJBQXVDLEVBQUUsYUFBc0IsS0FBSztRQUMvSCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLElBQUksR0FBRyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFrQixDQUFDO1lBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQWtCLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBa0IsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1NBQy9DO2FBQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLFlBQVksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLGVBQWUsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLGNBQWMsRUFBRTtZQUNuSixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO2FBQU07WUFDTCxNQUFNLElBQUksU0FBUyxDQUFDLDZCQUE2QixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDdEY7SUFDSCxDQUFDO0lBRUQsY0FBYyxHQUFHLENBQUMsZ0JBQXFCLEVBQUUsSUFBb0IsRUFBRSxRQUFpQixFQUFFLEtBQVcsRUFBRSxFQUFFO1FBQy9GLElBQUksZUFBZSxDQUFDO1FBQ3BCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ25DLGVBQWUsR0FBRyxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN2RzthQUFNLElBQUksZ0JBQWdCLENBQUMsV0FBVyxLQUFLLFlBQVksSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEtBQUssZUFBZSxJQUFJLGdCQUFnQixDQUFDLFdBQVcsS0FBSyxjQUFjLEVBQUU7WUFDL0osZUFBZSxHQUFHLGdCQUFnQixDQUFDO1NBQ3BDO2FBQU07WUFDTCxNQUFNLElBQUksU0FBUyxDQUFDLDZCQUE2QixHQUFHLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUMxRjtRQUNELGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLFlBQVksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDLENBQUE7SUFFRCxHQUFHLEdBQUcsQ0FBQyxnQkFBcUIsRUFBRSxRQUFpQixFQUFFLEtBQVcsRUFBRSxFQUFFO1FBQzlELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2SCxDQUFDLENBQUE7SUFFRCxFQUFFLEdBQUcsQ0FBQyxnQkFBcUIsRUFBRSxRQUFpQixFQUFFLEtBQVcsRUFBRSxFQUFFO1FBQzdELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2SCxDQUFDLENBQUE7SUFFRCxHQUFHLEdBQUcsR0FBRyxFQUFFO1FBQ1QsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2xELE9BQU8sSUFBSSxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmRPclByZWRpY2F0ZSwgQmluYXJ5UHJlZGljYXRlLCBicmVlemUgfSBmcm9tIFwiYnJlZXplLWNsaWVudFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRydVByZWRpY2F0ZSB7XHJcbiAgX2JyZWV6ZVByZWRpY2F0ZTogYW55ID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoZmllbGQ6IGFueSwgb3BlcmF0b3I6IHN0cmluZyB8IG51bGwsIHZhbHVlOiBhbnksIHByb3BlcnR5UXVlcnlQYXRoOiBBcnJheTxzdHJpbmc+IHwgbnVsbCwgb3ZlclF1b3RlZDogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAodHlwZW9mIGZpZWxkID09PSAnc3RyaW5nJykge1xyXG4gICAgICB2YXIgYXJncyA9IHByb3BlcnR5UXVlcnlQYXRoPy5zbGljZSgwKSBhcyBBcnJheTxzdHJpbmc+O1xyXG4gICAgICBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gKz0gZmllbGQ7XHJcbiAgICAgIGFyZ3MucHVzaChvcGVyYXRvciBhcyBzdHJpbmcpO1xyXG4gICAgICBhcmdzLnB1c2godmFsdWUpO1xyXG4gICAgICB0aGlzLl9icmVlemVQcmVkaWNhdGUgPSBuZXcgYnJlZXplLlByZWRpY2F0ZShhcmdzIGFzIEFycmF5PGFueT4pO1xyXG4gICAgICB0aGlzLl9icmVlemVQcmVkaWNhdGUub3ZlclF1b3RlZCA9IG92ZXJRdW90ZWQ7XHJcbiAgICB9IGVsc2UgaWYgKGFyZ3VtZW50c1swXS5jb25zdHJ1Y3RvciA9PT0gVHJ1UHJlZGljYXRlIHx8IGFyZ3VtZW50c1swXS5jb25zdHJ1Y3RvciA9PT0gQmluYXJ5UHJlZGljYXRlIHx8IGFyZ3VtZW50c1swXS5jb25zdHJ1Y3RvciA9PT0gQW5kT3JQcmVkaWNhdGUpIHtcclxuICAgICAgdGhpcy5fYnJlZXplUHJlZGljYXRlID0gYXJndW1lbnRzWzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5leHBlY3RlZCBwYXJhbWV0ZXIgdHlwZSA8JyArIGFyZ3VtZW50c1swXS5jb25zdHJ1Y3RvciArICc+LicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlT3BlcmF0b3IgPSAoZmllbGRPclByZWRpY2F0ZTogYW55LCBvcGVyOiAocDogYW55KSA9PiB7fSwgb3BlcmF0b3I/OiBzdHJpbmcsIHZhbHVlPzogYW55KSA9PiB7XHJcbiAgICB2YXIgYnJlZXplUHJlZGljYXRlO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRPclByZWRpY2F0ZSkpIHtcclxuICAgICAgYnJlZXplUHJlZGljYXRlID0gbmV3IFRydVByZWRpY2F0ZShmaWVsZE9yUHJlZGljYXRlWzBdLCBmaWVsZE9yUHJlZGljYXRlWzFdLCBmaWVsZE9yUHJlZGljYXRlWzJdLCBbXSk7XHJcbiAgICB9IGVsc2UgaWYgKGZpZWxkT3JQcmVkaWNhdGUuY29uc3RydWN0b3IgPT09IFRydVByZWRpY2F0ZSB8fCBmaWVsZE9yUHJlZGljYXRlLmNvbnN0cnVjdG9yID09PSBCaW5hcnlQcmVkaWNhdGUgfHwgZmllbGRPclByZWRpY2F0ZS5jb25zdHJ1Y3RvciA9PT0gQW5kT3JQcmVkaWNhdGUpIHtcclxuICAgICAgYnJlZXplUHJlZGljYXRlID0gZmllbGRPclByZWRpY2F0ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1VuZXhwZWN0ZWQgcGFyYW1ldGVyIHR5cGUgPCcgKyBmaWVsZE9yUHJlZGljYXRlLmNvbnN0cnVjdG9yICsgJz4uJyk7XHJcbiAgICB9XHJcbiAgICBicmVlemVQcmVkaWNhdGUgPSBvcGVyKGJyZWV6ZVByZWRpY2F0ZSk7XHJcbiAgICByZXR1cm4gbmV3IFRydVByZWRpY2F0ZShicmVlemVQcmVkaWNhdGUsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgYW5kID0gKGZpZWxkT3JQcmVkaWNhdGU6IGFueSwgb3BlcmF0b3I/OiBzdHJpbmcsIHZhbHVlPzogYW55KSA9PiB7XHJcbiAgICB2YXIgdGhhdCA9IHRoaXM7XHJcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVPcGVyYXRvcihmaWVsZE9yUHJlZGljYXRlLCBmdW5jdGlvbiAocCkgeyByZXR1cm4gdGhhdC5fYnJlZXplUHJlZGljYXRlLmFuZChwKTsgfSwgb3BlcmF0b3IsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9yID0gKGZpZWxkT3JQcmVkaWNhdGU6IGFueSwgb3BlcmF0b3I/OiBzdHJpbmcsIHZhbHVlPzogYW55KSA9PiB7XHJcbiAgICB2YXIgdGhhdCA9IHRoaXM7XHJcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVPcGVyYXRvcihmaWVsZE9yUHJlZGljYXRlLCBmdW5jdGlvbiAocCkgeyByZXR1cm4gdGhhdC5fYnJlZXplUHJlZGljYXRlLmFuZChwKTsgfSwgb3BlcmF0b3IsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5vdCA9ICgpID0+IHtcclxuICAgIHZhciBicmVlemVQcmVkaWNhdGUgPSB0aGlzLl9icmVlemVQcmVkaWNhdGUubm90KCk7XHJcbiAgICByZXR1cm4gbmV3IFRydVByZWRpY2F0ZShicmVlemVQcmVkaWNhdGUsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
- import { TruPropertyConfigForeignKey } from './tru-property-config-foreign-key';
2
- export class TruPropertyConfigCloudFile extends TruPropertyConfigForeignKey {
3
- constructor() { super(); }
4
- }
1
+ import { TruPropertyConfigForeignKey } from './tru-property-config-foreign-key';
2
+ export class TruPropertyConfigCloudFile extends TruPropertyConfigForeignKey {
3
+ constructor() { super(); }
4
+ }
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1jbG91ZC1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctY2xvdWQtZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVoRixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsMkJBQTJCO0lBQ3pFLGdCQUFnQixLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUM7Q0FFMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0ZvcmVpZ25LZXkgfSBmcm9tICcuL3RydS1wcm9wZXJ0eS1jb25maWctZm9yZWlnbi1rZXknO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRydVByb3BlcnR5Q29uZmlnQ2xvdWRGaWxlIGV4dGVuZHMgVHJ1UHJvcGVydHlDb25maWdGb3JlaWduS2V5IHtcclxuICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKSB9XHJcbiBcclxufVxyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { TruPropertyConfigBase } from '../base-classes/tru-property-config-base';
2
+ export class TruPropertyConfigDate extends TruPropertyConfigBase {
3
+ constructor() { super(); }
4
+ minimumValue = undefined;
5
+ maximumValue = undefined;
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1kYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRixNQUFNLE9BQU8scUJBQXNCLFNBQVEscUJBQXFCO0lBQzlELGdCQUFnQixLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFFekIsWUFBWSxHQUF1QixTQUFTLENBQUM7SUFDN0MsWUFBWSxHQUF1QixTQUFTLENBQUM7Q0FDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2UgfSBmcm9tICcuLi9iYXNlLWNsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1iYXNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcm9wZXJ0eUNvbmZpZ0RhdGUgZXh0ZW5kcyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH1cclxuXHJcbiAgbWluaW11bVZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgbWF4aW11bVZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbn1cclxuIl19
@@ -0,0 +1,9 @@
1
+ import { TruPropertyConfigBase } from '../base-classes/tru-property-config-base';
2
+ export class TruPropertyConfigDecimal extends TruPropertyConfigBase {
3
+ constructor() { super(); }
4
+ decimalPlaces = undefined;
5
+ totalDigits = undefined;
6
+ minimumValue = undefined;
7
+ maximumValue = undefined;
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1kZWNpbWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctZGVjaW1hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEscUJBQXFCO0lBQ2pFLGdCQUFnQixLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDekIsYUFBYSxHQUF1QixTQUFTLENBQUM7SUFDOUMsV0FBVyxHQUF1QixTQUFTLENBQUM7SUFDNUMsWUFBWSxHQUF1QixTQUFTLENBQUM7SUFDN0MsWUFBWSxHQUF1QixTQUFTLENBQUM7Q0FDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2UgfSBmcm9tICcuLi9iYXNlLWNsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1iYXNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcm9wZXJ0eUNvbmZpZ0RlY2ltYWwgZXh0ZW5kcyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH1cclxuICBkZWNpbWFsUGxhY2VzOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgdG90YWxEaWdpdHM6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBtaW5pbXVtVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBtYXhpbXVtVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
@@ -1,8 +1,6 @@
1
- import { TruPropertyConfigBase } from '../base-classes/tru-property-config-base';
2
- export class TruPropertyConfigFile extends TruPropertyConfigBase {
3
- constructor() {
4
- super();
5
- this.maxSize = undefined;
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRixNQUFNLE9BQU8scUJBQXNCLFNBQVEscUJBQXFCO0lBQzlEO1FBQWdCLEtBQUssRUFBRSxDQUFBO1FBRXZCLFlBQU8sR0FBdUIsU0FBUyxDQUFDO0lBRmhCLENBQUM7Q0FHMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2UgfSBmcm9tICcuLi9iYXNlLWNsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1iYXNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcm9wZXJ0eUNvbmZpZ0ZpbGUgZXh0ZW5kcyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH1cclxuXHJcbiAgbWF4U2l6ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG59XHJcbiJdfQ==
1
+ import { TruPropertyConfigBase } from '../base-classes/tru-property-config-base';
2
+ export class TruPropertyConfigFile extends TruPropertyConfigBase {
3
+ constructor() { super(); }
4
+ maxSize = undefined;
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRixNQUFNLE9BQU8scUJBQXNCLFNBQVEscUJBQXFCO0lBQzlELGdCQUFnQixLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFFekIsT0FBTyxHQUF1QixTQUFTLENBQUM7Q0FDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2UgfSBmcm9tICcuLi9iYXNlLWNsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1iYXNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcm9wZXJ0eUNvbmZpZ0ZpbGUgZXh0ZW5kcyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH1cclxuXHJcbiAgbWF4U2l6ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { TruPropertyConfigBase } from '../base-classes/tru-property-config-base';
2
+ export class TruPropertyConfigForeignKey extends TruPropertyConfigBase {
3
+ constructor() { super(); }
4
+ table = undefined;
5
+ foreignTableName = undefined;
6
+ choicesQuery = undefined;
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1mb3JlaWduLWtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWZvcmVpZ24ta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWpGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxxQkFBcUI7SUFDcEUsZ0JBQWdCLEtBQUssRUFBRSxDQUFBLENBQUMsQ0FBQztJQUN6QixLQUFLLEdBQXVCLFNBQVMsQ0FBQztJQUN0QyxnQkFBZ0IsR0FBdUIsU0FBUyxDQUFDO0lBQ2pELFlBQVksR0FBdUIsU0FBUyxDQUFDO0NBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJ1UHJvcGVydHlDb25maWdCYXNlIH0gZnJvbSAnLi4vYmFzZS1jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctYmFzZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgVHJ1UHJvcGVydHlDb25maWdGb3JlaWduS2V5IGV4dGVuZHMgVHJ1UHJvcGVydHlDb25maWdCYXNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKSB9XHJcbiAgdGFibGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBmb3JlaWduVGFibGVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgY2hvaWNlc1F1ZXJ5OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbn1cclxuIl19
@@ -0,0 +1,7 @@
1
+ import { TruPropertyConfigBase } from '../base-classes/tru-property-config-base';
2
+ export class TruPropertyConfigInteger extends TruPropertyConfigBase {
3
+ constructor() { super(); }
4
+ minimumValue = undefined;
5
+ maximumValue = undefined;
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1pbnRlZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctaW50ZWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEscUJBQXFCO0lBQ2pFLGdCQUFnQixLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFFekIsWUFBWSxHQUF1QixTQUFTLENBQUM7SUFDN0MsWUFBWSxHQUF1QixTQUFTLENBQUM7Q0FDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2UgfSBmcm9tICcuLi9iYXNlLWNsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1iYXNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcm9wZXJ0eUNvbmZpZ0ludGVnZXIgZXh0ZW5kcyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH1cclxuICBcclxuICBtaW5pbXVtVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBtYXhpbXVtVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
@@ -0,0 +1,6 @@
1
+ import { TruPropertyConfigText } from './tru-property-config-text';
2
+ export class TruPropertyConfigPassword extends TruPropertyConfigText {
3
+ constructor() { super(); }
4
+ encryptionType = undefined;
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1wYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxxQkFBcUI7SUFDbEUsZ0JBQWdCLEtBQUssRUFBRSxDQUFBLENBQUMsQ0FBQztJQUV6QixjQUFjLEdBQXVCLFNBQVMsQ0FBQztDQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRydVByb3BlcnR5Q29uZmlnVGV4dCB9IGZyb20gJy4vdHJ1LXByb3BlcnR5LWNvbmZpZy10ZXh0JztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcm9wZXJ0eUNvbmZpZ1Bhc3N3b3JkIGV4dGVuZHMgVHJ1UHJvcGVydHlDb25maWdUZXh0IHtcclxuICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKSB9XHJcblxyXG4gIGVuY3J5cHRpb25UeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbn1cclxuIl19
@@ -0,0 +1,7 @@
1
+ import { TruPropertyConfigBase } from '../base-classes/tru-property-config-base';
2
+ export class TruPropertyConfigPercentage extends TruPropertyConfigBase {
3
+ constructor() { super(); }
4
+ minimumValue = undefined;
5
+ maximumValue = undefined;
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1wZXJjZW50YWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctcGVyY2VudGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEscUJBQXFCO0lBQ3BFLGdCQUFnQixLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFFekIsWUFBWSxHQUF1QixTQUFTLENBQUM7SUFDN0MsWUFBWSxHQUF1QixTQUFTLENBQUM7Q0FDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2UgfSBmcm9tICcuLi9iYXNlLWNsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1iYXNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcm9wZXJ0eUNvbmZpZ1BlcmNlbnRhZ2UgZXh0ZW5kcyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH1cclxuICBcclxuICBtaW5pbXVtVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBtYXhpbXVtVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { TruPropertyConfigBase } from '../base-classes/tru-property-config-base';
2
+ export class TruPropertyConfigScientific extends TruPropertyConfigBase {
3
+ constructor() { super(); }
4
+ minimumValue = undefined;
5
+ maximumValue = undefined;
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy1zY2llbnRpZmljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctc2NpZW50aWZpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEscUJBQXFCO0lBQ3BFLGdCQUFnQixLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFFekIsWUFBWSxHQUF1QixTQUFTLENBQUM7SUFDN0MsWUFBWSxHQUF1QixTQUFTLENBQUM7Q0FDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2UgfSBmcm9tICcuLi9iYXNlLWNsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1iYXNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcm9wZXJ0eUNvbmZpZ1NjaWVudGlmaWMgZXh0ZW5kcyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH1cclxuICBcclxuICBtaW5pbXVtVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBtYXhpbXVtVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
@@ -1,8 +1,6 @@
1
- import { TruPropertyConfigText } from './tru-property-config-text';
2
- export class TruPropertyConfigTextChoices extends TruPropertyConfigText {
3
- constructor() {
4
- super();
5
- this.choices = {};
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy10ZXh0LWNob2ljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy10ZXh0LWNob2ljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkUsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHFCQUFxQjtJQUNyRTtRQUFnQixLQUFLLEVBQUUsQ0FBQTtRQUN2QixZQUFPLEdBQVEsRUFBRSxDQUFDO0lBRE0sQ0FBQztDQUUxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRydVByb3BlcnR5Q29uZmlnVGV4dCB9IGZyb20gJy4vdHJ1LXByb3BlcnR5LWNvbmZpZy10ZXh0JztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcm9wZXJ0eUNvbmZpZ1RleHRDaG9pY2VzIGV4dGVuZHMgVHJ1UHJvcGVydHlDb25maWdUZXh0IHtcclxuICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKSB9XHJcbiAgY2hvaWNlczogYW55ID0ge307XHJcbn1cclxuIl19
1
+ import { TruPropertyConfigText } from './tru-property-config-text';
2
+ export class TruPropertyConfigTextChoices extends TruPropertyConfigText {
3
+ constructor() { super(); }
4
+ choices = {};
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByb3BlcnR5LWNvbmZpZy10ZXh0LWNob2ljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy10ZXh0LWNob2ljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkUsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHFCQUFxQjtJQUNyRSxnQkFBZ0IsS0FBSyxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBQ3pCLE9BQU8sR0FBUSxFQUFFLENBQUM7Q0FDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ1RleHQgfSBmcm9tICcuL3RydS1wcm9wZXJ0eS1jb25maWctdGV4dCc7XHJcblxyXG5leHBvcnQgY2xhc3MgVHJ1UHJvcGVydHlDb25maWdUZXh0Q2hvaWNlcyBleHRlbmRzIFRydVByb3BlcnR5Q29uZmlnVGV4dCB7XHJcbiAgY29uc3RydWN0b3IoKSB7IHN1cGVyKCkgfVxyXG4gIGNob2ljZXM6IGFueSA9IHt9O1xyXG59XHJcbiJdfQ==