@icure/form 2.0.11 → 3.0.2

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 (253) hide show
  1. package/.yarn/cache/@babel-runtime-npm-7.26.9-8369ff039f-838492d8a9.zip +0 -0
  2. package/.yarn/cache/@icure-motss-app-datepicker-npm-6.0.0-rc.36-66219db2d1-5f34375d97.zip +0 -0
  3. package/.yarn/cache/@lit-labs-ssr-dom-shim-npm-1.3.0-6bfa115c08-c2003e8bb6.zip +0 -0
  4. package/.yarn/cache/@lit-reactive-element-npm-1.6.3-4828441e51-79b58631c3.zip +0 -0
  5. package/.yarn/cache/@lit-reactive-element-npm-2.0.4-4836436301-368d788d9e.zip +0 -0
  6. package/.yarn/cache/@material-animation-npm-14.0.0-canary.53b3cad2f.0-06a813cdea-9b5190654c.zip +0 -0
  7. package/.yarn/cache/@material-base-npm-14.0.0-canary.53b3cad2f.0-d195c1fdc4-9f4928d115.zip +0 -0
  8. package/.yarn/cache/@material-button-npm-14.0.0-canary.53b3cad2f.0-d4b070f508-873295c56a.zip +0 -0
  9. package/.yarn/cache/@material-density-npm-14.0.0-canary.53b3cad2f.0-48c1f65059-a23f00edfe.zip +0 -0
  10. package/.yarn/cache/@material-dialog-npm-14.0.0-canary.53b3cad2f.0-96168fa294-c1a498b81a.zip +0 -0
  11. package/.yarn/cache/@material-dom-npm-14.0.0-canary.53b3cad2f.0-ac009dc871-f5817f76dd.zip +0 -0
  12. package/.yarn/cache/@material-elevation-npm-14.0.0-canary.53b3cad2f.0-3312f06793-2f8945c7b6.zip +0 -0
  13. package/.yarn/cache/@material-feature-targeting-npm-14.0.0-canary.53b3cad2f.0-a919042d50-e7a1ed68f9.zip +0 -0
  14. package/.yarn/cache/@material-floating-label-npm-14.0.0-canary.53b3cad2f.0-eb8f330f2f-5295dc481d.zip +0 -0
  15. package/.yarn/cache/@material-focus-ring-npm-14.0.0-canary.53b3cad2f.0-b22f851a2e-92273b1247.zip +0 -0
  16. package/.yarn/cache/@material-icon-button-npm-14.0.0-canary.53b3cad2f.0-e158d26048-19b51665f2.zip +0 -0
  17. package/.yarn/cache/@material-line-ripple-npm-14.0.0-canary.53b3cad2f.0-d089468db9-6518961487.zip +0 -0
  18. package/.yarn/cache/@material-list-npm-14.0.0-canary.53b3cad2f.0-df9ce05084-6c977f518d.zip +0 -0
  19. package/.yarn/cache/@material-menu-npm-14.0.0-canary.53b3cad2f.0-9489b592c8-71b6a1f4dd.zip +0 -0
  20. package/.yarn/cache/@material-menu-surface-npm-14.0.0-canary.53b3cad2f.0-52212f38f4-ad48e168ca.zip +0 -0
  21. package/.yarn/cache/@material-mwc-base-npm-0.27.0-79caf3ef2b-07af17edfc.zip +0 -0
  22. package/.yarn/cache/@material-mwc-button-npm-0.27.0-4b85f2b26f-2ef5cc0951.zip +0 -0
  23. package/.yarn/cache/@material-mwc-checkbox-npm-0.27.0-e837031d8e-ba53a6ea8c.zip +0 -0
  24. package/.yarn/cache/@material-mwc-dialog-npm-0.27.0-77c6071543-ffab528e8e.zip +0 -0
  25. package/.yarn/cache/@material-mwc-floating-label-npm-0.27.0-80e62b22c0-fbbf4f2e42.zip +0 -0
  26. package/.yarn/cache/@material-mwc-icon-button-npm-0.27.0-41f82f135b-7315c0735b.zip +0 -0
  27. package/.yarn/cache/@material-mwc-icon-npm-0.27.0-98c9e8509f-6dfa5115d5.zip +0 -0
  28. package/.yarn/cache/@material-mwc-line-ripple-npm-0.27.0-e6704221e0-6862ede0f4.zip +0 -0
  29. package/.yarn/cache/@material-mwc-list-npm-0.27.0-5344fc9de4-6c2ae4f1c6.zip +0 -0
  30. package/.yarn/cache/@material-mwc-menu-npm-0.27.0-7c2bb47797-126f733659.zip +0 -0
  31. package/.yarn/cache/@material-mwc-notched-outline-npm-0.27.0-0e0d1c4d5f-2739032f76.zip +0 -0
  32. package/.yarn/cache/@material-mwc-radio-npm-0.27.0-aa2098a280-0b0a0a6b99.zip +0 -0
  33. package/.yarn/cache/@material-mwc-ripple-npm-0.27.0-ed37672f08-9cd73fdfe4.zip +0 -0
  34. package/.yarn/cache/@material-mwc-textfield-npm-0.27.0-dabd704f55-978c893aca.zip +0 -0
  35. package/.yarn/cache/@material-notched-outline-npm-14.0.0-canary.53b3cad2f.0-ecacde98db-1a9f8db4d8.zip +0 -0
  36. package/.yarn/cache/@material-radio-npm-14.0.0-canary.53b3cad2f.0-c50de64d41-898554f2b3.zip +0 -0
  37. package/.yarn/cache/@material-ripple-npm-14.0.0-canary.53b3cad2f.0-49060bfe7e-08b71917e2.zip +0 -0
  38. package/.yarn/cache/@material-rtl-npm-14.0.0-canary.53b3cad2f.0-daca794b76-3c1b8b48c6.zip +0 -0
  39. package/.yarn/cache/@material-shape-npm-14.0.0-canary.53b3cad2f.0-5bcff722a6-6ad9b020c0.zip +0 -0
  40. package/.yarn/cache/@material-textfield-npm-14.0.0-canary.53b3cad2f.0-4414808dda-7072e3c9df.zip +0 -0
  41. package/.yarn/cache/@material-theme-npm-14.0.0-canary.53b3cad2f.0-9a24e7b046-fd44e92917.zip +0 -0
  42. package/.yarn/cache/@material-tokens-npm-14.0.0-canary.53b3cad2f.0-f1c87523da-efa909f861.zip +0 -0
  43. package/.yarn/cache/@material-touch-target-npm-14.0.0-canary.53b3cad2f.0-fa6a2d0875-dbc13cbe7a.zip +0 -0
  44. package/.yarn/cache/@material-typography-npm-14.0.0-canary.53b3cad2f.0-f4a58946f1-fa2671df40.zip +0 -0
  45. package/.yarn/cache/@types-trusted-types-npm-2.0.7-a07fc44f59-8e4202766a.zip +0 -0
  46. package/.yarn/cache/@webcomponents-webcomponentsjs-npm-2.8.0-36c07db4d2-186373c030.zip +0 -0
  47. package/.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip +0 -0
  48. package/.yarn/cache/blocking-elements-npm-0.1.1-423f51c76e-9a34084405.zip +0 -0
  49. package/.yarn/cache/date-fns-npm-2.30.0-895c790e0f-f7be015232.zip +0 -0
  50. package/.yarn/cache/entities-npm-4.5.0-7cdb83b832-853f8ebd5b.zip +0 -0
  51. package/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip +0 -0
  52. package/.yarn/cache/linkify-it-npm-5.0.0-adb5f9c96f-b0b86cadaf.zip +0 -0
  53. package/.yarn/cache/lit-element-npm-3.3.3-2f9f9e38c0-29a596fa55.zip +0 -0
  54. package/.yarn/cache/lit-element-npm-4.1.1-bb20932b82-74d0f2d6fb.zip +0 -0
  55. package/.yarn/cache/lit-html-npm-2.8.0-82f88d6ebf-2d70df0724.zip +0 -0
  56. package/.yarn/cache/lit-html-npm-3.2.1-1662fc597d-1bacd9f8b2.zip +0 -0
  57. package/.yarn/cache/lit-npm-2.8.0-92bb1333a4-2480e733f7.zip +0 -0
  58. package/.yarn/cache/lit-npm-3.2.1-27cb5b7782-ee22bbc53d.zip +0 -0
  59. package/.yarn/cache/markdown-it-npm-14.1.0-e337d75bfe-07296b45eb.zip +0 -0
  60. package/.yarn/cache/mdurl-npm-2.0.0-3259713daf-880bc289ef.zip +0 -0
  61. package/.yarn/cache/orderedmap-npm-2.1.1-64b8a0684f-082cf970b0.zip +0 -0
  62. package/.yarn/cache/prosemirror-commands-npm-1.5.2-27f8f3fee9-ff65063a8c.zip +0 -0
  63. package/.yarn/cache/prosemirror-history-npm-1.3.2-cc128c8ee6-b85fe6378a.zip +0 -0
  64. package/.yarn/cache/prosemirror-keymap-npm-1.2.2-efb8276b00-85fe4fc303.zip +0 -0
  65. package/.yarn/cache/prosemirror-markdown-npm-1.12.0-28e990f443-d7607ee1a6.zip +0 -0
  66. package/.yarn/cache/prosemirror-model-npm-1.19.4-4fd32211c8-12c277ed30.zip +0 -0
  67. package/.yarn/cache/prosemirror-model-npm-1.24.1-6467e55b40-386076e2ff.zip +0 -0
  68. package/.yarn/cache/prosemirror-schema-basic-npm-1.2.2-def7bf2ec7-1f93f8678c.zip +0 -0
  69. package/.yarn/cache/prosemirror-schema-list-npm-1.3.0-23c1830a7e-03654e37c8.zip +0 -0
  70. package/.yarn/cache/prosemirror-state-npm-1.4.3-d6540e44ad-28857d935c.zip +0 -0
  71. package/.yarn/cache/prosemirror-transform-npm-1.10.2-1c2da9123e-93b0c03aff.zip +0 -0
  72. package/.yarn/cache/prosemirror-transform-npm-1.8.0-ea3ca0411f-6d16ca4f95.zip +0 -0
  73. package/.yarn/cache/prosemirror-view-npm-1.32.7-63c3e4b182-40c9038a52.zip +0 -0
  74. package/.yarn/cache/prosemirror-view-npm-1.38.0-9061dc9cf4-0d0f17c1b2.zip +0 -0
  75. package/.yarn/cache/punycode.js-npm-2.3.1-9084ecbbf5-13466d7ed5.zip +0 -0
  76. package/.yarn/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-9f57c93277.zip +0 -0
  77. package/.yarn/cache/rope-sequence-npm-1.3.4-3b09587e5f-95cca2f99a.zip +0 -0
  78. package/.yarn/cache/tslib-npm-2.8.1-66590b21b8-e4aba30e63.zip +0 -0
  79. package/.yarn/cache/uc.micro-npm-2.1.0-c45282c865-3719735824.zip +0 -0
  80. package/.yarn/cache/uuid-npm-9.0.1-39a8442bc6-39931f6da7.zip +0 -0
  81. package/.yarn/cache/w3c-keyname-npm-2.2.8-66d7d5317a-95bafa4c04.zip +0 -0
  82. package/.yarn/cache/wicg-inert-npm-3.1.3-38590e83f2-45b3cfec63.zip +0 -0
  83. package/.yarn/install-state.gz +0 -0
  84. package/components/common/field-with-options.js +9 -5
  85. package/components/common/field-with-options.js.map +1 -1
  86. package/components/common/field.js +25 -21
  87. package/components/common/field.js.map +1 -1
  88. package/components/common/index.js +17 -1
  89. package/components/common/index.js.map +1 -1
  90. package/components/common/metadata-buttons-bar.d.ts +1 -1
  91. package/components/common/metadata-buttons-bar.js +58 -65
  92. package/components/common/metadata-buttons-bar.js.map +1 -1
  93. package/components/common/styles/paths.js +13 -10
  94. package/components/common/styles/paths.js.map +1 -1
  95. package/components/common/utils.js +21 -11
  96. package/components/common/utils.js.map +1 -1
  97. package/components/icure-button/index.js +19 -15
  98. package/components/icure-button/index.js.map +1 -1
  99. package/components/icure-button-group/index.js +26 -22
  100. package/components/icure-button-group/index.js.map +1 -1
  101. package/components/icure-date-picker/index.d.ts +2 -2
  102. package/components/icure-date-picker/index.js +31 -27
  103. package/components/icure-date-picker/index.js.map +1 -1
  104. package/components/icure-dropdown-field/index.js +25 -21
  105. package/components/icure-dropdown-field/index.js.map +1 -1
  106. package/components/icure-form/fields/button/button.js +17 -13
  107. package/components/icure-form/fields/button/button.js.map +1 -1
  108. package/components/icure-form/fields/button/index.js +17 -1
  109. package/components/icure-form/fields/button/index.js.map +1 -1
  110. package/components/icure-form/fields/button-group/checkbox.js +14 -10
  111. package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
  112. package/components/icure-form/fields/button-group/index.js +18 -2
  113. package/components/icure-form/fields/button-group/index.js.map +1 -1
  114. package/components/icure-form/fields/button-group/radio-button.js +14 -10
  115. package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
  116. package/components/icure-form/fields/date-picker/date-picker.js +12 -8
  117. package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
  118. package/components/icure-form/fields/date-picker/date-time-picker.js +12 -8
  119. package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
  120. package/components/icure-form/fields/date-picker/index.js +19 -3
  121. package/components/icure-form/fields/date-picker/index.js.map +1 -1
  122. package/components/icure-form/fields/date-picker/time-picker.js +12 -8
  123. package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
  124. package/components/icure-form/fields/dropdown/dropdown-field.js +14 -10
  125. package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
  126. package/components/icure-form/fields/dropdown/index.js +17 -1
  127. package/components/icure-form/fields/dropdown/index.js.map +1 -1
  128. package/components/icure-form/fields/index.js +26 -10
  129. package/components/icure-form/fields/index.js.map +1 -1
  130. package/components/icure-form/fields/items-list-field/index.js +17 -1
  131. package/components/icure-form/fields/items-list-field/index.js.map +1 -1
  132. package/components/icure-form/fields/items-list-field/items-list-field.js +11 -7
  133. package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
  134. package/components/icure-form/fields/label/index.js +17 -1
  135. package/components/icure-form/fields/label/index.js.map +1 -1
  136. package/components/icure-form/fields/label/label.js +15 -11
  137. package/components/icure-form/fields/label/label.js.map +1 -1
  138. package/components/icure-form/fields/measure-field/index.js +17 -1
  139. package/components/icure-form/fields/measure-field/index.js.map +1 -1
  140. package/components/icure-form/fields/measure-field/measure-field.js +12 -8
  141. package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
  142. package/components/icure-form/fields/number-field/index.js +17 -1
  143. package/components/icure-form/fields/number-field/index.js.map +1 -1
  144. package/components/icure-form/fields/number-field/number-field.js +12 -8
  145. package/components/icure-form/fields/number-field/number-field.js.map +1 -1
  146. package/components/icure-form/fields/text-field/index.js +17 -1
  147. package/components/icure-form/fields/text-field/index.js.map +1 -1
  148. package/components/icure-form/fields/text-field/text-field.js +24 -20
  149. package/components/icure-form/fields/text-field/text-field.js.map +1 -1
  150. package/components/icure-form/fields/token-field/index.js +17 -1
  151. package/components/icure-form/fields/token-field/index.js.map +1 -1
  152. package/components/icure-form/fields/token-field/token-field.js +12 -8
  153. package/components/icure-form/fields/token-field/token-field.js.map +1 -1
  154. package/components/icure-form/fields/utils/index.js +13 -5
  155. package/components/icure-form/fields/utils/index.js.map +1 -1
  156. package/components/icure-form/index.js +32 -28
  157. package/components/icure-form/index.js.map +1 -1
  158. package/components/icure-form/renderer/form/form-selection-button.js +19 -15
  159. package/components/icure-form/renderer/form/form-selection-button.js.map +1 -1
  160. package/components/icure-form/renderer/form/form.js +127 -123
  161. package/components/icure-form/renderer/form/form.js.map +1 -1
  162. package/components/icure-form/renderer/index.js +2 -1
  163. package/components/icure-label/index.js +17 -13
  164. package/components/icure-label/index.js.map +1 -1
  165. package/components/icure-text-field/index.js +106 -98
  166. package/components/icure-text-field/index.js.map +1 -1
  167. package/components/icure-text-field/plugin/caret-fix-plugin.js +7 -3
  168. package/components/icure-text-field/plugin/caret-fix-plugin.js.map +1 -1
  169. package/components/icure-text-field/plugin/has-content-class-plugin.js +7 -3
  170. package/components/icure-text-field/plugin/has-content-class-plugin.js.map +1 -1
  171. package/components/icure-text-field/plugin/mask-plugin.js +11 -7
  172. package/components/icure-text-field/plugin/mask-plugin.js.map +1 -1
  173. package/components/icure-text-field/plugin/regexp-plugin.js +9 -5
  174. package/components/icure-text-field/plugin/regexp-plugin.js.map +1 -1
  175. package/components/icure-text-field/prosemirror-commands.js +15 -10
  176. package/components/icure-text-field/prosemirror-commands.js.map +1 -1
  177. package/components/icure-text-field/prosemirror-utils.js +5 -1
  178. package/components/icure-text-field/prosemirror-utils.js.map +1 -1
  179. package/components/icure-text-field/schema/common-marks.js +7 -3
  180. package/components/icure-text-field/schema/common-marks.js.map +1 -1
  181. package/components/icure-text-field/schema/date-time-schema.js +9 -3
  182. package/components/icure-text-field/schema/date-time-schema.js.map +1 -1
  183. package/components/icure-text-field/schema/decimal-schema.js +5 -1
  184. package/components/icure-text-field/schema/decimal-schema.js.map +1 -1
  185. package/components/icure-text-field/schema/index.js +21 -17
  186. package/components/icure-text-field/schema/index.js.map +1 -1
  187. package/components/icure-text-field/schema/items-list-schema.js +7 -3
  188. package/components/icure-text-field/schema/items-list-schema.js.map +1 -1
  189. package/components/icure-text-field/schema/markdown-schema.js +9 -5
  190. package/components/icure-text-field/schema/markdown-schema.js.map +1 -1
  191. package/components/icure-text-field/schema/measure-schema.js +12 -6
  192. package/components/icure-text-field/schema/measure-schema.js.map +1 -1
  193. package/components/icure-text-field/schema/token-schema.js +9 -5
  194. package/components/icure-text-field/schema/token-schema.js.map +1 -1
  195. package/components/icure-text-field/schema/utils.js +7 -2
  196. package/components/icure-text-field/schema/utils.js.map +1 -1
  197. package/components/icure-text-field/selection-companion.js +5 -1
  198. package/components/icure-text-field/selection-companion.js.map +1 -1
  199. package/components/icure-text-field/suggestion-palette.js +10 -3
  200. package/components/icure-text-field/suggestion-palette.js.map +1 -1
  201. package/components/index.js +21 -5
  202. package/components/index.js.map +1 -1
  203. package/components/model/index.js +46 -22
  204. package/components/model/index.js.map +1 -1
  205. package/components/themes/default/index.js +32 -30
  206. package/components/themes/default/index.js.map +1 -1
  207. package/components/themes/icure-blue/index.js +47 -45
  208. package/components/themes/icure-blue/index.js.map +1 -1
  209. package/components/themes/kendo/index.js +47 -45
  210. package/components/themes/kendo/index.js.map +1 -1
  211. package/conversion/ckmeans-grouping.js +10 -3
  212. package/conversion/ckmeans-grouping.js.map +1 -1
  213. package/conversion/ckmeans.js +3 -1
  214. package/conversion/ckmeans.js.map +1 -1
  215. package/generic/index.js +17 -1
  216. package/generic/index.js.map +1 -1
  217. package/generic/model.js +2 -1
  218. package/icure/form-values-container.d.ts +14 -14
  219. package/icure/form-values-container.js +45 -37
  220. package/icure/form-values-container.js.map +1 -1
  221. package/icure/icure-utils.d.ts +7 -7
  222. package/icure/icure-utils.js +28 -16
  223. package/icure/icure-utils.js.map +1 -1
  224. package/icure/index.js +18 -2
  225. package/icure/index.js.map +1 -1
  226. package/icure/model.d.ts +1 -1
  227. package/icure/model.js +2 -1
  228. package/icure/model.js.map +1 -1
  229. package/index.js +17 -1
  230. package/index.js.map +1 -1
  231. package/package.json +3 -2
  232. package/utils/code-utils.d.ts +10 -1
  233. package/utils/code-utils.js +59 -11
  234. package/utils/code-utils.js.map +1 -1
  235. package/utils/dates.js +21 -9
  236. package/utils/dates.js.map +1 -1
  237. package/utils/fields-values-provider.js +17 -8
  238. package/utils/fields-values-provider.js.map +1 -1
  239. package/utils/form-value-container.js +7 -3
  240. package/utils/form-value-container.js.map +1 -1
  241. package/utils/interpreter.js +5 -1
  242. package/utils/interpreter.js.map +1 -1
  243. package/utils/languages.js +8 -3
  244. package/utils/languages.js.map +1 -1
  245. package/utils/markdown.js +11 -6
  246. package/utils/markdown.js.map +1 -1
  247. package/utils/no-lodash.js +9 -3
  248. package/utils/no-lodash.js.map +1 -1
  249. package/utils/primitive.js +12 -7
  250. package/utils/primitive.js.map +1 -1
  251. package/conversion/icure-convert.d.ts +0 -3
  252. package/conversion/icure-convert.js +0 -161
  253. package/conversion/icure-convert.js.map +0 -1
@@ -1,4 +1,8 @@
1
- export function isCodeEqual(c1, c2) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.codeStubToCode = exports.contentToPrimitiveType = exports.primitiveTypeToContent = exports.isServiceContentEqual = exports.isContentEqual = exports.isServiceEqual = exports.areCodesEqual = exports.isCodeEqual = void 0;
4
+ const cardinal_sdk_1 = require("@icure/cardinal-sdk");
5
+ function isCodeEqual(c1, c2) {
2
6
  var _a, _b;
3
7
  const idParts1 = (_a = c1.id) === null || _a === void 0 ? void 0 : _a.split('|');
4
8
  const idParts2 = (_b = c2.id) === null || _b === void 0 ? void 0 : _b.split('|');
@@ -10,13 +14,16 @@ export function isCodeEqual(c1, c2) {
10
14
  const version2 = c2.version || (idParts2 === null || idParts2 === void 0 ? void 0 : idParts2[2]);
11
15
  return type1 === type2 && code1 === code2 && version1 === version2;
12
16
  }
13
- export function areCodesEqual(c1s, c2s) {
17
+ exports.isCodeEqual = isCodeEqual;
18
+ function areCodesEqual(c1s, c2s) {
14
19
  return c1s.every((c1) => c2s.some((c2) => isCodeEqual(c1, c2)) || false) && c2s.every((c2) => c1s.some((c1) => isCodeEqual(c1, c2)) || false);
15
20
  }
16
- export function isServiceEqual(svc1, svc2) {
17
- return (svc1.id === svc2.id && svc1.valueDate === svc2.valueDate && areCodesEqual(svc1.codes || [], svc2.codes || []) && isServiceContentEqual(svc1.content || {}, svc2.content || {}));
21
+ exports.areCodesEqual = areCodesEqual;
22
+ function isServiceEqual(svc1, svc2) {
23
+ return svc1.id === svc2.id && svc1.valueDate === svc2.valueDate && areCodesEqual(svc1.codes || [], svc2.codes || []) && isServiceContentEqual(svc1.content || {}, svc2.content || {});
18
24
  }
19
- export function isContentEqual(content1, content2) {
25
+ exports.isServiceEqual = isServiceEqual;
26
+ function isContentEqual(content1, content2) {
20
27
  var _a, _b;
21
28
  if (!content1 && !content2) {
22
29
  return true;
@@ -40,29 +47,32 @@ export function isContentEqual(content1, content2) {
40
47
  ((((_a = content1.compoundValue) === null || _a === void 0 ? void 0 : _a.every((s1) => { var _a; return (_a = content2.compoundValue) === null || _a === void 0 ? void 0 : _a.some((s2) => isServiceEqual(s1, s2)); })) || false) &&
41
48
  (((_b = content2 === null || content2 === void 0 ? void 0 : content2.compoundValue) === null || _b === void 0 ? void 0 : _b.every((s2) => { var _a; return (_a = content1 === null || content1 === void 0 ? void 0 : content1.compoundValue) === null || _a === void 0 ? void 0 : _a.some((s1) => isServiceEqual(s1, s2)); })) || false))));
42
49
  }
43
- export function isServiceContentEqual(content1, content2) {
50
+ exports.isContentEqual = isContentEqual;
51
+ function isServiceContentEqual(content1, content2) {
44
52
  return Object.keys(content1).reduce((isEqual, lng) => isEqual && isContentEqual(content1[lng], content2[lng]), true);
45
53
  }
46
- export const primitiveTypeToContent = (language, value) => {
47
- return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (value.type === 'number' ? { numberValue: value.value } : {})), (value.type === 'measure'
54
+ exports.isServiceContentEqual = isServiceContentEqual;
55
+ const primitiveTypeToContent = (language, value) => {
56
+ return new cardinal_sdk_1.DecryptedContent(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (value.type === 'number' ? { numberValue: value.value } : {})), (value.type === 'measure'
48
57
  ? {
49
- measureValue: {
58
+ measureValue: new cardinal_sdk_1.Measure({
50
59
  value: value.value,
51
60
  unit: value.unit,
52
- },
61
+ }),
53
62
  }
54
63
  : {})), (value.type === 'string' ? { stringValue: value.value } : {})), (value.type === 'datetime' ? { fuzzyDateValue: value.value } : {})), (value.type === 'boolean' ? { booleanValue: value.value } : {})), (value.type === 'timestamp' ? { instantValue: value.value } : {})), (value.type === 'compound'
55
64
  ? {
56
- compoundValue: Object.entries(value.value).map(([label, value]) => ({
65
+ compoundValue: Object.entries(value.value).map(([label, value]) => new cardinal_sdk_1.DecryptedService({
57
66
  label,
58
67
  content: {
59
- [language]: primitiveTypeToContent(language, value),
68
+ [language]: (0, exports.primitiveTypeToContent)(language, value),
60
69
  },
61
70
  })),
62
71
  }
63
- : {}));
72
+ : {})));
64
73
  };
65
- export const contentToPrimitiveType = (language, content) => {
74
+ exports.primitiveTypeToContent = primitiveTypeToContent;
75
+ const contentToPrimitiveType = (language, content) => {
66
76
  var _a, _b, _c, _d, _e, _f;
67
77
  if (!content) {
68
78
  return undefined;
@@ -89,18 +99,20 @@ export const contentToPrimitiveType = (language, content) => {
89
99
  return {
90
100
  type: 'compound',
91
101
  value: content.compoundValue.reduce((acc, { label, content }) => {
92
- const primitiveValue = contentToPrimitiveType(language, content === null || content === void 0 ? void 0 : content[language]);
102
+ const primitiveValue = (0, exports.contentToPrimitiveType)(language, content === null || content === void 0 ? void 0 : content[language]);
93
103
  return label && primitiveValue ? Object.assign(Object.assign({}, acc), { [label]: primitiveValue }) : acc;
94
104
  }, {}),
95
105
  };
96
106
  }
97
107
  return undefined;
98
108
  };
99
- export const codeStubToCode = (c) => {
109
+ exports.contentToPrimitiveType = contentToPrimitiveType;
110
+ const codeStubToCode = (c) => {
100
111
  var _a, _b;
101
112
  return ({
102
113
  id: (_a = c.id) !== null && _a !== void 0 ? _a : `${c.type}|${c.code}|${c.version}`,
103
114
  label: (_b = c.label) !== null && _b !== void 0 ? _b : {},
104
115
  });
105
116
  };
117
+ exports.codeStubToCode = codeStubToCode;
106
118
  //# sourceMappingURL=icure-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icure-utils.js","sourceRoot":"","sources":["../../tmp/icure/icure-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { CodeStub, Content, Service } from '@icure/api'\nimport { BooleanType, CompoundType, DateTimeType, MeasureType, NumberType, PrimitiveType, StringType, TimestampType } from '../components/model'\n\nexport function isCodeEqual(c1: CodeStub, c2: CodeStub): boolean {\n\tconst idParts1 = c1.id?.split('|')\n\tconst idParts2 = c2.id?.split('|')\n\tconst type1 = c1.type || idParts1?.[0]\n\tconst type2 = c2.type || idParts2?.[0]\n\tconst code1 = c1.code || idParts1?.[1]\n\tconst code2 = c2.code || idParts2?.[1]\n\tconst version1 = c1.version || idParts1?.[2]\n\tconst version2 = c2.version || idParts2?.[2]\n\treturn type1 === type2 && code1 === code2 && version1 === version2\n}\n\nexport function areCodesEqual(c1s: CodeStub[], c2s: CodeStub[]): boolean {\n\treturn c1s.every((c1) => c2s.some((c2) => isCodeEqual(c1, c2)) || false) && c2s.every((c2) => c1s.some((c1) => isCodeEqual(c1, c2)) || false)\n}\n\nexport function isServiceEqual(svc1: Service, svc2: Service): boolean {\n\treturn (\n\t\tsvc1.id === svc2.id && svc1.valueDate === svc2.valueDate && areCodesEqual(svc1.codes || [], svc2.codes || []) && isServiceContentEqual(svc1.content || {}, svc2.content || {})\n\t)\n}\n\nexport function isContentEqual(content1: Content | undefined, content2: Content | undefined): boolean {\n\tif (!content1 && !content2) {\n\t\treturn true\n\t}\n\tif (!content1 || !content2) {\n\t\treturn false\n\t}\n\treturn (\n\t\t((!content1.binaryValue && !content2.binaryValue) || content1.binaryValue === content2.binaryValue) &&\n\t\t(((content1.booleanValue === null || content1.booleanValue === undefined) && (content2.booleanValue === null || content2.booleanValue === undefined)) ||\n\t\t\tcontent1.booleanValue === content2.booleanValue) &&\n\t\t((!content1.documentId && !content2.documentId) || content1.documentId === content2.documentId) &&\n\t\t(((content1.fuzzyDateValue === null || content1.fuzzyDateValue === undefined) && (content2.fuzzyDateValue === null || content2.fuzzyDateValue === undefined)) ||\n\t\t\tcontent1.fuzzyDateValue === content2.fuzzyDateValue) &&\n\t\t((!content1.instantValue && !content2.instantValue) || content1.instantValue === content2.instantValue) &&\n\t\t((!content1.measureValue && !content2.measureValue) || content1.measureValue === content2.measureValue) &&\n\t\t((!content1.medicationValue && !content2.medicationValue) || content1.medicationValue === content2.medicationValue) &&\n\t\t((!content1.stringValue && !content2.stringValue) || content1.stringValue === content2.stringValue) &&\n\t\t(((content1.numberValue === null || content1.numberValue === undefined) && (content2.numberValue === null || content2.numberValue === undefined)) ||\n\t\t\tcontent1.numberValue === content2.numberValue) &&\n\t\t((!content1.compoundValue && !content2.compoundValue) ||\n\t\t\t((content1.compoundValue?.every((s1) => content2.compoundValue?.some((s2) => isServiceEqual(s1, s2))) || false) &&\n\t\t\t\t(content2?.compoundValue?.every((s2) => content1?.compoundValue?.some((s1) => isServiceEqual(s1, s2))) || false)))\n\t)\n}\n\nexport function isServiceContentEqual(content1: { [language: string]: Content }, content2: { [language: string]: Content }): boolean {\n\treturn Object.keys(content1).reduce((isEqual, lng) => isEqual && isContentEqual(content1[lng], content2[lng]), true as boolean)\n}\n\nexport const primitiveTypeToContent = (language: string, value: PrimitiveType): Content => {\n\treturn {\n\t\t...(value.type === 'number' ? { numberValue: (value as NumberType).value } : {}),\n\t\t...(value.type === 'measure'\n\t\t\t? {\n\t\t\t\t\tmeasureValue: {\n\t\t\t\t\t\tvalue: (value as MeasureType).value,\n\t\t\t\t\t\tunit: (value as MeasureType).unit,\n\t\t\t\t\t},\n\t\t\t }\n\t\t\t: {}),\n\t\t...(value.type === 'string' ? { stringValue: (value as StringType).value } : {}),\n\t\t...(value.type === 'datetime' ? { fuzzyDateValue: (value as DateTimeType).value } : {}),\n\t\t...(value.type === 'boolean' ? { booleanValue: (value as BooleanType).value } : {}),\n\t\t...(value.type === 'timestamp' ? { instantValue: (value as TimestampType).value } : {}),\n\t\t...(value.type === 'compound'\n\t\t\t? {\n\t\t\t\t\tcompoundValue: Object.entries((value as CompoundType).value).map(([label, value]) => ({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t[language]: primitiveTypeToContent(language, value),\n\t\t\t\t\t\t},\n\t\t\t\t\t})),\n\t\t\t }\n\t\t\t: {}),\n\t}\n}\nexport const contentToPrimitiveType = (language: string, content: Content | undefined): PrimitiveType | undefined => {\n\tif (!content) {\n\t\treturn undefined\n\t}\n\tif (content.numberValue || content.numberValue === 0) {\n\t\treturn { type: 'number', value: content.numberValue }\n\t}\n\tif (content.measureValue?.value || content.measureValue?.value === 0 || content.measureValue?.unit?.length) {\n\t\treturn { type: 'measure', value: content.measureValue?.value, unit: content.measureValue?.unit }\n\t}\n\tif (content.stringValue) {\n\t\treturn { type: 'string', value: content.stringValue }\n\t}\n\tif (content.fuzzyDateValue) {\n\t\treturn { type: 'datetime', value: content.fuzzyDateValue }\n\t}\n\tif (content.booleanValue) {\n\t\treturn { type: 'boolean', value: content.booleanValue }\n\t}\n\tif (content.instantValue) {\n\t\treturn { type: 'timestamp', value: content.instantValue }\n\t}\n\tif (content.compoundValue) {\n\t\treturn {\n\t\t\ttype: 'compound',\n\t\t\tvalue: content.compoundValue.reduce((acc: { [label: string]: PrimitiveType }, { label, content }) => {\n\t\t\t\tconst primitiveValue = contentToPrimitiveType(language, content?.[language])\n\t\t\t\treturn label && primitiveValue ? { ...acc, [label]: primitiveValue } : acc\n\t\t\t}, {}),\n\t\t}\n\t}\n\n\treturn undefined\n}\nexport const codeStubToCode = (c: CodeStub) => ({\n\tid: c.id ?? `${c.type}|${c.code}|${c.version}`,\n\tlabel: c.label ?? {},\n})\n"]}
1
+ {"version":3,"file":"icure-utils.js","sourceRoot":"","sources":["../../tmp/icure/icure-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { CodeStub, DecryptedContent, DecryptedService, Measure } from '@icure/cardinal-sdk'\nimport { BooleanType, CompoundType, DateTimeType, MeasureType, NumberType, PrimitiveType, StringType, TimestampType } from '../components/model'\n\nexport function isCodeEqual(c1: CodeStub, c2: CodeStub): boolean {\n\tconst idParts1 = c1.id?.split('|')\n\tconst idParts2 = c2.id?.split('|')\n\tconst type1 = c1.type || idParts1?.[0]\n\tconst type2 = c2.type || idParts2?.[0]\n\tconst code1 = c1.code || idParts1?.[1]\n\tconst code2 = c2.code || idParts2?.[1]\n\tconst version1 = c1.version || idParts1?.[2]\n\tconst version2 = c2.version || idParts2?.[2]\n\treturn type1 === type2 && code1 === code2 && version1 === version2\n}\n\nexport function areCodesEqual(c1s: CodeStub[], c2s: CodeStub[]): boolean {\n\treturn c1s.every((c1) => c2s.some((c2) => isCodeEqual(c1, c2)) || false) && c2s.every((c2) => c1s.some((c1) => isCodeEqual(c1, c2)) || false)\n}\n\nexport function isServiceEqual(svc1: DecryptedService, svc2: DecryptedService): boolean {\n\treturn svc1.id === svc2.id && svc1.valueDate === svc2.valueDate && areCodesEqual(svc1.codes || [], svc2.codes || []) && isServiceContentEqual(svc1.content || {}, svc2.content || {})\n}\n\nexport function isContentEqual(content1: DecryptedContent | undefined, content2: DecryptedContent | undefined): boolean {\n\tif (!content1 && !content2) {\n\t\treturn true\n\t}\n\tif (!content1 || !content2) {\n\t\treturn false\n\t}\n\treturn (\n\t\t((!content1.binaryValue && !content2.binaryValue) || content1.binaryValue === content2.binaryValue) &&\n\t\t(((content1.booleanValue === null || content1.booleanValue === undefined) && (content2.booleanValue === null || content2.booleanValue === undefined)) ||\n\t\t\tcontent1.booleanValue === content2.booleanValue) &&\n\t\t((!content1.documentId && !content2.documentId) || content1.documentId === content2.documentId) &&\n\t\t(((content1.fuzzyDateValue === null || content1.fuzzyDateValue === undefined) && (content2.fuzzyDateValue === null || content2.fuzzyDateValue === undefined)) ||\n\t\t\tcontent1.fuzzyDateValue === content2.fuzzyDateValue) &&\n\t\t((!content1.instantValue && !content2.instantValue) || content1.instantValue === content2.instantValue) &&\n\t\t((!content1.measureValue && !content2.measureValue) || content1.measureValue === content2.measureValue) &&\n\t\t((!content1.medicationValue && !content2.medicationValue) || content1.medicationValue === content2.medicationValue) &&\n\t\t((!content1.stringValue && !content2.stringValue) || content1.stringValue === content2.stringValue) &&\n\t\t(((content1.numberValue === null || content1.numberValue === undefined) && (content2.numberValue === null || content2.numberValue === undefined)) ||\n\t\t\tcontent1.numberValue === content2.numberValue) &&\n\t\t((!content1.compoundValue && !content2.compoundValue) ||\n\t\t\t((content1.compoundValue?.every((s1) => content2.compoundValue?.some((s2) => isServiceEqual(s1, s2))) || false) &&\n\t\t\t\t(content2?.compoundValue?.every((s2) => content1?.compoundValue?.some((s1) => isServiceEqual(s1, s2))) || false)))\n\t)\n}\n\nexport function isServiceContentEqual(content1: { [language: string]: DecryptedContent }, content2: { [language: string]: DecryptedContent }): boolean {\n\treturn Object.keys(content1).reduce((isEqual, lng) => isEqual && isContentEqual(content1[lng], content2[lng]), true as boolean)\n}\n\nexport const primitiveTypeToContent = (language: string, value: PrimitiveType): DecryptedContent => {\n\treturn new DecryptedContent({\n\t\t...(value.type === 'number' ? { numberValue: (value as NumberType).value } : {}),\n\t\t...(value.type === 'measure'\n\t\t\t? {\n\t\t\t\t\tmeasureValue: new Measure({\n\t\t\t\t\t\tvalue: (value as MeasureType).value,\n\t\t\t\t\t\tunit: (value as MeasureType).unit,\n\t\t\t\t\t}),\n\t\t\t }\n\t\t\t: {}),\n\t\t...(value.type === 'string' ? { stringValue: (value as StringType).value } : {}),\n\t\t...(value.type === 'datetime' ? { fuzzyDateValue: (value as DateTimeType).value } : {}),\n\t\t...(value.type === 'boolean' ? { booleanValue: (value as BooleanType).value } : {}),\n\t\t...(value.type === 'timestamp' ? { instantValue: (value as TimestampType).value } : {}),\n\t\t...(value.type === 'compound'\n\t\t\t? {\n\t\t\t\t\tcompoundValue: Object.entries((value as CompoundType).value).map(\n\t\t\t\t\t\t([label, value]) =>\n\t\t\t\t\t\t\tnew DecryptedService({\n\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\t[language]: primitiveTypeToContent(language, value),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t }\n\t\t\t: {}),\n\t})\n}\nexport const contentToPrimitiveType = (language: string, content: DecryptedContent | undefined): PrimitiveType | undefined => {\n\tif (!content) {\n\t\treturn undefined\n\t}\n\tif (content.numberValue || content.numberValue === 0) {\n\t\treturn { type: 'number', value: content.numberValue }\n\t}\n\tif (content.measureValue?.value || content.measureValue?.value === 0 || content.measureValue?.unit?.length) {\n\t\treturn { type: 'measure', value: content.measureValue?.value, unit: content.measureValue?.unit }\n\t}\n\tif (content.stringValue) {\n\t\treturn { type: 'string', value: content.stringValue }\n\t}\n\tif (content.fuzzyDateValue) {\n\t\treturn { type: 'datetime', value: content.fuzzyDateValue }\n\t}\n\tif (content.booleanValue) {\n\t\treturn { type: 'boolean', value: content.booleanValue }\n\t}\n\tif (content.instantValue) {\n\t\treturn { type: 'timestamp', value: content.instantValue }\n\t}\n\tif (content.compoundValue) {\n\t\treturn {\n\t\t\ttype: 'compound',\n\t\t\tvalue: content.compoundValue.reduce((acc: { [label: string]: PrimitiveType }, { label, content }) => {\n\t\t\t\tconst primitiveValue = contentToPrimitiveType(language, content?.[language])\n\t\t\t\treturn label && primitiveValue ? { ...acc, [label]: primitiveValue } : acc\n\t\t\t}, {}),\n\t\t}\n\t}\n\n\treturn undefined\n}\nexport const codeStubToCode = (c: CodeStub) => ({\n\tid: c.id ?? `${c.type}|${c.code}|${c.version}`,\n\tlabel: c.label ?? {},\n})\n"]}
package/icure/index.js CHANGED
@@ -1,3 +1,19 @@
1
- export * from './model';
2
- export * from './form-values-container';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./model"), exports);
18
+ __exportStar(require("./form-values-container"), exports);
3
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tmp/icure/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,yBAAyB,CAAA","sourcesContent":["export * from './model'\nexport * from './form-values-container'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tmp/icure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,0DAAuC","sourcesContent":["export * from './model'\nexport * from './form-values-container'\n"]}
package/icure/model.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CodeStub } from '@icure/api';
1
+ import { CodeStub } from '@icure/cardinal-sdk';
2
2
  export interface ServiceMetadata {
3
3
  label: string;
4
4
  index?: number;
package/icure/model.js CHANGED
@@ -1,2 +1,3 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../tmp/icure/model.ts"],"names":[],"mappings":"","sourcesContent":["import { CodeStub } from '@icure/api'\n\nexport interface ServiceMetadata {\n\tlabel: string\n\tindex?: number\n\tvalueDate?: number\n\tauthor?: string\n\tresponsible?: string\n\tcodes?: CodeStub[]\n\ttags?: CodeStub[]\n}\n"]}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../tmp/icure/model.ts"],"names":[],"mappings":"","sourcesContent":["import { CodeStub } from '@icure/cardinal-sdk'\n\nexport interface ServiceMetadata {\n\tlabel: string\n\tindex?: number\n\tvalueDate?: number\n\tauthor?: string\n\tresponsible?: string\n\tcodes?: CodeStub[]\n\ttags?: CodeStub[]\n}\n"]}
package/index.js CHANGED
@@ -1,2 +1,18 @@
1
- export * from './components';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./components"), exports);
2
18
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../tmp/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA","sourcesContent":["export * from './components'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../tmp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B","sourcesContent":["export * from './components'\n"]}
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@icure/form",
3
- "version": "2.0.11",
3
+ "version": "3.0.2",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "./lib/index.d.ts",
7
7
  "dependencies": {
8
+ "@icure/motss-app-datepicker": "^6.0.0-rc.36",
8
9
  "@webcomponents/webcomponentsjs": "^2.7.0",
9
- "app-datepicker": "^6.0.0-rc.33",
10
+ "date-fns": "^2.23.0",
10
11
  "fast-deep-equal": "^3.1.3",
11
12
  "lit": "^3.1.3",
12
13
  "markdown-it": "^14.1.0",
@@ -1,6 +1,6 @@
1
1
  import { Code, Field, SortOptions } from '../components/model';
2
2
  import { Suggestion } from '../generic';
3
- import { CodeStub } from '@icure/api';
3
+ import { CodeStub } from '@icure/cardinal-sdk';
4
4
  /**
5
5
  * Maps the options defined in a field into a list of codes
6
6
  *
@@ -13,3 +13,12 @@ export declare const sortCodes: (codes: Code[], language: string, sortOptions?:
13
13
  export declare const sortSuggestions: (codes: (Code | Suggestion)[], language: string, sortOptions?: SortOptions) => Suggestion[];
14
14
  export declare const filterAndSortOptionsFromFieldDefinition: (language: string, fg: Field, translationProvider: ((language: string, text: string) => string) | undefined, terms?: string[]) => Promise<Code[]>;
15
15
  export declare const normalizeCodes: (codes: CodeStub[]) => CodeStub[];
16
+ /**
17
+ * Normalizes the code's four main fields (type, code, version and id). The first three are considered to be
18
+ * authoritative, while the id is a pure function of them. The authoritative fields are filled in from the id if
19
+ * missing, or the version is set to '1' if it is the only missing authoritative field. The id is then rederived from
20
+ * the three fields.
21
+ * @param code The code to normalize.
22
+ * @returns A shallow copy of the input with its type, code, version and id normalized.
23
+ */
24
+ export declare function normalizeCode(code: CodeStub): CodeStub;
@@ -1,5 +1,8 @@
1
- import { defaultCodePromoter, defaultCodesComparator, makePromoter, naturalCodesComparator } from '../components/common/utils';
2
- import { normalizeCode } from '@icure/api';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeCode = exports.normalizeCodes = exports.filterAndSortOptionsFromFieldDefinition = exports.sortSuggestions = exports.sortCodes = exports.optionMapper = void 0;
4
+ const utils_1 = require("../components/common/utils");
5
+ const cardinal_sdk_1 = require("@icure/cardinal-sdk");
3
6
  /**
4
7
  * Maps the options defined in a field into a list of codes
5
8
  *
@@ -7,7 +10,7 @@ import { normalizeCode } from '@icure/api';
7
10
  * @param field
8
11
  * @param translationProvider
9
12
  */
10
- export const optionMapper = (language, field, translationProvider) => {
13
+ const optionMapper = (language, field, translationProvider) => {
11
14
  var _a;
12
15
  return Object.keys((_a = field === null || field === void 0 ? void 0 : field.options) !== null && _a !== void 0 ? _a : []).map((optionKey) => {
13
16
  var _a, _b;
@@ -18,12 +21,57 @@ export const optionMapper = (language, field, translationProvider) => {
18
21
  };
19
22
  });
20
23
  };
21
- export const sortCodes = (codes, language, sortOptions) => (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) && (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) !== 'natural'
22
- ? codes.sort(defaultCodesComparator(language, (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) === 'asc', (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.promotions) ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))
23
- : codes.sort(naturalCodesComparator((sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.promotions) ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter));
24
- export const sortSuggestions = (codes, language, sortOptions) => ((sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) && (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) !== 'natural'
25
- ? codes.sort(defaultCodesComparator(language, (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) === 'asc', (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.promotions) ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))
26
- : codes.sort(naturalCodesComparator((sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.promotions) ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))).map((c) => { var _a; return ({ id: c.id, label: c.label, text: (_a = c.label[language]) !== null && _a !== void 0 ? _a : '', terms: [] }); });
27
- export const filterAndSortOptionsFromFieldDefinition = (language, fg, translationProvider, terms) => Promise.resolve(sortCodes(optionMapper(language, fg, translationProvider).filter((x) => (terms !== null && terms !== void 0 ? terms : []).map((st) => st.toLowerCase()).every((st) => x.label[language].toLowerCase().includes(st))), language, fg.sortOptions));
28
- export const normalizeCodes = (codes) => codes.map((c) => normalizeCode(c));
24
+ exports.optionMapper = optionMapper;
25
+ const sortCodes = (codes, language, sortOptions) => (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) && (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) !== 'natural'
26
+ ? codes.sort((0, utils_1.defaultCodesComparator)(language, (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) === 'asc', (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.promotions) ? (0, utils_1.makePromoter)(sortOptions.promotions.split(/ ?, ?/)) : utils_1.defaultCodePromoter))
27
+ : codes.sort((0, utils_1.naturalCodesComparator)((sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.promotions) ? (0, utils_1.makePromoter)(sortOptions.promotions.split(/ ?, ?/)) : utils_1.defaultCodePromoter));
28
+ exports.sortCodes = sortCodes;
29
+ const sortSuggestions = (codes, language, sortOptions) => ((sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) && (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) !== 'natural'
30
+ ? codes.sort((0, utils_1.defaultCodesComparator)(language, (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.sort) === 'asc', (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.promotions) ? (0, utils_1.makePromoter)(sortOptions.promotions.split(/ ?, ?/)) : utils_1.defaultCodePromoter))
31
+ : codes.sort((0, utils_1.naturalCodesComparator)((sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.promotions) ? (0, utils_1.makePromoter)(sortOptions.promotions.split(/ ?, ?/)) : utils_1.defaultCodePromoter))).map((c) => { var _a; return ({ id: c.id, label: c.label, text: (_a = c.label[language]) !== null && _a !== void 0 ? _a : '', terms: [] }); });
32
+ exports.sortSuggestions = sortSuggestions;
33
+ const filterAndSortOptionsFromFieldDefinition = (language, fg, translationProvider, terms) => Promise.resolve((0, exports.sortCodes)((0, exports.optionMapper)(language, fg, translationProvider).filter((x) => (terms !== null && terms !== void 0 ? terms : []).map((st) => st.toLowerCase()).every((st) => x.label[language].toLowerCase().includes(st))), language, fg.sortOptions));
34
+ exports.filterAndSortOptionsFromFieldDefinition = filterAndSortOptionsFromFieldDefinition;
35
+ const normalizeCodes = (codes) => codes.map((c) => normalizeCode(c));
36
+ exports.normalizeCodes = normalizeCodes;
37
+ /**
38
+ * Normalizes the code's four main fields (type, code, version and id). The first three are considered to be
39
+ * authoritative, while the id is a pure function of them. The authoritative fields are filled in from the id if
40
+ * missing, or the version is set to '1' if it is the only missing authoritative field. The id is then rederived from
41
+ * the three fields.
42
+ * @param code The code to normalize.
43
+ * @returns A shallow copy of the input with its type, code, version and id normalized.
44
+ */
45
+ function normalizeCode(code) {
46
+ code = new cardinal_sdk_1.CodeStub(code);
47
+ if (code.type && code.code && code.version) {
48
+ // do nothing, we all have the authoritative fields we need
49
+ }
50
+ else if (code.id) {
51
+ // reconstruct the authoritative fields from the id
52
+ const [idType, idCode, idVersion, ...idRest] = code.id.split('|');
53
+ if (idType && idCode && idVersion && idRest.length === 0) {
54
+ if (!code.type)
55
+ code.type = idType;
56
+ if (!code.code)
57
+ code.code = idCode;
58
+ if (!code.version)
59
+ code.version = idVersion;
60
+ }
61
+ else {
62
+ throw new Error(`attempted to normalize from a malformed code id "${code.id}"`);
63
+ }
64
+ }
65
+ else if (code.type && code.code && !code.version) {
66
+ // we can provide a default value
67
+ code.version = '1';
68
+ }
69
+ else {
70
+ throw new Error('could not reconstruct the code');
71
+ }
72
+ // Recompute the id to ensure that it matches the reconstructed code.
73
+ code.id = `${code.type}|${code.code}|${code.version}`;
74
+ return code;
75
+ }
76
+ exports.normalizeCode = normalizeCode;
29
77
  //# sourceMappingURL=code-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-utils.js","sourceRoot":"","sources":["../../tmp/utils/code-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Code, Field, SortOptions } from '../components/model'\nimport { defaultCodePromoter, defaultCodesComparator, makePromoter, naturalCodesComparator } from '../components/common/utils'\nimport { Suggestion } from '../generic'\nimport { CodeStub, normalizeCode } from '@icure/api'\n\n/**\n * Maps the options defined in a field into a list of codes\n *\n * @param language\n * @param field\n * @param translationProvider\n */\nexport const optionMapper = (language: string, field: Field, translationProvider?: (language: string, text: string) => string): Code[] =>\n\tObject.keys(field?.options ?? []).map((optionKey) => {\n\t\tconst text: string = (field?.options?.[optionKey] as string) ?? ''\n\t\treturn {\n\t\t\tid: optionKey,\n\t\t\tlabel: { [language]: translationProvider ? translationProvider(language, text) : text },\n\t\t}\n\t})\n\nexport const sortCodes = (codes: Code[], language: string, sortOptions?: SortOptions) =>\n\tsortOptions?.sort && sortOptions?.sort !== 'natural'\n\t\t? codes.sort(defaultCodesComparator(language, sortOptions?.sort === 'asc', sortOptions?.promotions ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))\n\t\t: codes.sort(naturalCodesComparator(sortOptions?.promotions ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))\n\nexport const sortSuggestions = (codes: (Code | Suggestion)[], language: string, sortOptions?: SortOptions): Suggestion[] =>\n\t(sortOptions?.sort && sortOptions?.sort !== 'natural'\n\t\t? codes.sort(defaultCodesComparator(language, sortOptions?.sort === 'asc', sortOptions?.promotions ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))\n\t\t: codes.sort(naturalCodesComparator(sortOptions?.promotions ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))\n\t).map((c) => ({ id: c.id, label: c.label, text: c.label[language] ?? '', terms: [] }))\n\nexport const filterAndSortOptionsFromFieldDefinition = (\n\tlanguage: string,\n\tfg: Field,\n\ttranslationProvider: ((language: string, text: string) => string) | undefined,\n\tterms?: string[],\n) =>\n\tPromise.resolve(\n\t\tsortCodes(\n\t\t\toptionMapper(language, fg, translationProvider).filter((x) => (terms ?? []).map((st) => st.toLowerCase()).every((st) => x.label[language].toLowerCase().includes(st))),\n\t\t\tlanguage,\n\t\t\tfg.sortOptions,\n\t\t),\n\t)\n\nexport const normalizeCodes = (codes: CodeStub[]): CodeStub[] => codes.map((c) => normalizeCode(c))\n"]}
1
+ {"version":3,"file":"code-utils.js","sourceRoot":"","sources":["../../tmp/utils/code-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Code, Field, SortOptions } from '../components/model'\nimport { defaultCodePromoter, defaultCodesComparator, makePromoter, naturalCodesComparator } from '../components/common/utils'\nimport { Suggestion } from '../generic'\nimport { CodeStub } from '@icure/cardinal-sdk'\n\n/**\n * Maps the options defined in a field into a list of codes\n *\n * @param language\n * @param field\n * @param translationProvider\n */\nexport const optionMapper = (language: string, field: Field, translationProvider?: (language: string, text: string) => string): Code[] =>\n\tObject.keys(field?.options ?? []).map((optionKey) => {\n\t\tconst text: string = (field?.options?.[optionKey] as string) ?? ''\n\t\treturn {\n\t\t\tid: optionKey,\n\t\t\tlabel: { [language]: translationProvider ? translationProvider(language, text) : text },\n\t\t}\n\t})\n\nexport const sortCodes = (codes: Code[], language: string, sortOptions?: SortOptions) =>\n\tsortOptions?.sort && sortOptions?.sort !== 'natural'\n\t\t? codes.sort(defaultCodesComparator(language, sortOptions?.sort === 'asc', sortOptions?.promotions ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))\n\t\t: codes.sort(naturalCodesComparator(sortOptions?.promotions ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))\n\nexport const sortSuggestions = (codes: (Code | Suggestion)[], language: string, sortOptions?: SortOptions): Suggestion[] =>\n\t(sortOptions?.sort && sortOptions?.sort !== 'natural'\n\t\t? codes.sort(defaultCodesComparator(language, sortOptions?.sort === 'asc', sortOptions?.promotions ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))\n\t\t: codes.sort(naturalCodesComparator(sortOptions?.promotions ? makePromoter(sortOptions.promotions.split(/ ?, ?/)) : defaultCodePromoter))\n\t).map((c) => ({ id: c.id, label: c.label, text: c.label[language] ?? '', terms: [] }))\n\nexport const filterAndSortOptionsFromFieldDefinition = (\n\tlanguage: string,\n\tfg: Field,\n\ttranslationProvider: ((language: string, text: string) => string) | undefined,\n\tterms?: string[],\n) =>\n\tPromise.resolve(\n\t\tsortCodes(\n\t\t\toptionMapper(language, fg, translationProvider).filter((x) => (terms ?? []).map((st) => st.toLowerCase()).every((st) => x.label[language].toLowerCase().includes(st))),\n\t\t\tlanguage,\n\t\t\tfg.sortOptions,\n\t\t),\n\t)\n\nexport const normalizeCodes = (codes: CodeStub[]): CodeStub[] => codes.map((c) => normalizeCode(c))\n\n/**\n * Normalizes the code's four main fields (type, code, version and id). The first three are considered to be\n * authoritative, while the id is a pure function of them. The authoritative fields are filled in from the id if\n * missing, or the version is set to '1' if it is the only missing authoritative field. The id is then rederived from\n * the three fields.\n * @param code The code to normalize.\n * @returns A shallow copy of the input with its type, code, version and id normalized.\n */\nexport function normalizeCode(code: CodeStub): CodeStub {\n\tcode = new CodeStub(code)\n\n\tif (code.type && code.code && code.version) {\n\t\t// do nothing, we all have the authoritative fields we need\n\t} else if (code.id) {\n\t\t// reconstruct the authoritative fields from the id\n\t\tconst [idType, idCode, idVersion, ...idRest] = code.id.split('|')\n\t\tif (idType && idCode && idVersion && idRest.length === 0) {\n\t\t\tif (!code.type) code.type = idType\n\t\t\tif (!code.code) code.code = idCode\n\t\t\tif (!code.version) code.version = idVersion\n\t\t} else {\n\t\t\tthrow new Error(`attempted to normalize from a malformed code id \"${code.id}\"`)\n\t\t}\n\t} else if (code.type && code.code && !code.version) {\n\t\t// we can provide a default value\n\t\tcode.version = '1'\n\t} else {\n\t\tthrow new Error('could not reconstruct the code')\n\t}\n\n\t// Recompute the id to ensure that it matches the reconstructed code.\n\tcode.id = `${code.type}|${code.code}|${code.version}`\n\n\treturn code\n}\n"]}
package/utils/dates.js CHANGED
@@ -1,5 +1,11 @@
1
- import parse from 'date-fns/parse';
2
- export function anyDateToDate(dateOrEpochOrLongCalendar) {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.currentDateTime = exports.currentDate = exports.currentTime = exports.anyDateToFuzzyDate = exports.dateToFuzzyDate = exports.anyDateToDate = void 0;
7
+ const parse_1 = __importDefault(require("date-fns/parse"));
8
+ function anyDateToDate(dateOrEpochOrLongCalendar) {
3
9
  if (dateOrEpochOrLongCalendar === undefined) {
4
10
  return undefined;
5
11
  }
@@ -10,37 +16,43 @@ export function anyDateToDate(dateOrEpochOrLongCalendar) {
10
16
  return undefined;
11
17
  }
12
18
  if (dateOrEpochOrLongCalendar >= 18000101 && dateOrEpochOrLongCalendar < 25400000) {
13
- return parse('' + dateOrEpochOrLongCalendar, 'yyyyMMdd', new Date());
19
+ return (0, parse_1.default)('' + dateOrEpochOrLongCalendar, 'yyyyMMdd', new Date());
14
20
  }
15
21
  else if (dateOrEpochOrLongCalendar >= 18000101000000) {
16
- return parse('' + dateOrEpochOrLongCalendar, 'yyyyMMddHHmmss', new Date());
22
+ return (0, parse_1.default)('' + dateOrEpochOrLongCalendar, 'yyyyMMddHHmmss', new Date());
17
23
  }
18
24
  else {
19
25
  return new Date(dateOrEpochOrLongCalendar);
20
26
  }
21
27
  }
22
- export function dateToFuzzyDate(date) {
28
+ exports.anyDateToDate = anyDateToDate;
29
+ function dateToFuzzyDate(date) {
23
30
  return parseInt(`${date.getFullYear()}${(date.getMonth() + 1).toString().padStart(2, '0')}${date.getDate().toString().padStart(2, '0')}${date.getHours().toString().padStart(2, '0')}${date
24
31
  .getMinutes()
25
32
  .toString()
26
33
  .padStart(2, '0')}${date.getSeconds().toString().padStart(2, '0')}`);
27
34
  }
28
- export function anyDateToFuzzyDate(dateOrEpochOrLongCalendar) {
35
+ exports.dateToFuzzyDate = dateToFuzzyDate;
36
+ function anyDateToFuzzyDate(dateOrEpochOrLongCalendar) {
29
37
  const date = anyDateToDate(dateOrEpochOrLongCalendar);
30
38
  if (!date) {
31
39
  return undefined;
32
40
  }
33
41
  return dateToFuzzyDate(date);
34
42
  }
35
- export function currentTime() {
43
+ exports.anyDateToFuzzyDate = anyDateToFuzzyDate;
44
+ function currentTime() {
36
45
  const now = new Date();
37
46
  return `${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}:${now.getSeconds().toString().padStart(2, '0')}`;
38
47
  }
39
- export function currentDate() {
48
+ exports.currentTime = currentTime;
49
+ function currentDate() {
40
50
  const now = new Date();
41
51
  return `${now.getDate().toString().padStart(2, '0')}/${(now.getMonth() + 1).toString().padStart(2, '0')}/${now.getFullYear()}`;
42
52
  }
43
- export function currentDateTime() {
53
+ exports.currentDate = currentDate;
54
+ function currentDateTime() {
44
55
  return `${currentDate()} ${currentTime()}`;
45
56
  }
57
+ exports.currentDateTime = currentDateTime;
46
58
  //# sourceMappingURL=dates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../tmp/utils/dates.ts"],"names":[],"mappings":"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","sourcesContent":["import parse from 'date-fns/parse'\n\nexport function anyDateToDate(dateOrEpochOrLongCalendar?: Date | number | undefined): Date | undefined {\n\tif (dateOrEpochOrLongCalendar === undefined) {\n\t\treturn undefined\n\t}\n\tif (dateOrEpochOrLongCalendar instanceof Date) {\n\t\treturn anyDateToDate(+dateOrEpochOrLongCalendar)\n\t}\n\tif (!dateOrEpochOrLongCalendar && dateOrEpochOrLongCalendar !== 0) {\n\t\treturn undefined\n\t}\n\tif (dateOrEpochOrLongCalendar >= 18000101 && dateOrEpochOrLongCalendar < 25400000) {\n\t\treturn parse('' + dateOrEpochOrLongCalendar, 'yyyyMMdd', new Date())\n\t} else if (dateOrEpochOrLongCalendar >= 18000101000000) {\n\t\treturn parse('' + dateOrEpochOrLongCalendar, 'yyyyMMddHHmmss', new Date())\n\t} else {\n\t\treturn new Date(dateOrEpochOrLongCalendar)\n\t}\n}\n\nexport function dateToFuzzyDate(date: Date): number {\n\treturn parseInt(\n\t\t`${date.getFullYear()}${(date.getMonth() + 1).toString().padStart(2, '0')}${date.getDate().toString().padStart(2, '0')}${date.getHours().toString().padStart(2, '0')}${date\n\t\t\t.getMinutes()\n\t\t\t.toString()\n\t\t\t.padStart(2, '0')}${date.getSeconds().toString().padStart(2, '0')}`,\n\t)\n}\n\nexport function anyDateToFuzzyDate(dateOrEpochOrLongCalendar: Date | number) {\n\tconst date = anyDateToDate(dateOrEpochOrLongCalendar)\n\tif (!date) {\n\t\treturn undefined\n\t}\n\treturn dateToFuzzyDate(date)\n}\n\nexport function currentTime() {\n\tconst now = new Date()\n\treturn `${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}:${now.getSeconds().toString().padStart(2, '0')}`\n}\n\nexport function currentDate() {\n\tconst now = new Date()\n\treturn `${now.getDate().toString().padStart(2, '0')}/${(now.getMonth() + 1).toString().padStart(2, '0')}/${now.getFullYear()}`\n}\n\nexport function currentDateTime() {\n\treturn `${currentDate()} ${currentTime()}`\n}\n"]}
1
+ {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../tmp/utils/dates.ts"],"names":[],"mappings":"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","sourcesContent":["import parse from 'date-fns/parse'\n\nexport function anyDateToDate(dateOrEpochOrLongCalendar?: Date | number | undefined): Date | undefined {\n\tif (dateOrEpochOrLongCalendar === undefined) {\n\t\treturn undefined\n\t}\n\tif (dateOrEpochOrLongCalendar instanceof Date) {\n\t\treturn anyDateToDate(+dateOrEpochOrLongCalendar)\n\t}\n\tif (!dateOrEpochOrLongCalendar && dateOrEpochOrLongCalendar !== 0) {\n\t\treturn undefined\n\t}\n\tif (dateOrEpochOrLongCalendar >= 18000101 && dateOrEpochOrLongCalendar < 25400000) {\n\t\treturn parse('' + dateOrEpochOrLongCalendar, 'yyyyMMdd', new Date())\n\t} else if (dateOrEpochOrLongCalendar >= 18000101000000) {\n\t\treturn parse('' + dateOrEpochOrLongCalendar, 'yyyyMMddHHmmss', new Date())\n\t} else {\n\t\treturn new Date(dateOrEpochOrLongCalendar)\n\t}\n}\n\nexport function dateToFuzzyDate(date: Date): number {\n\treturn parseInt(\n\t\t`${date.getFullYear()}${(date.getMonth() + 1).toString().padStart(2, '0')}${date.getDate().toString().padStart(2, '0')}${date.getHours().toString().padStart(2, '0')}${date\n\t\t\t.getMinutes()\n\t\t\t.toString()\n\t\t\t.padStart(2, '0')}${date.getSeconds().toString().padStart(2, '0')}`,\n\t)\n}\n\nexport function anyDateToFuzzyDate(dateOrEpochOrLongCalendar: Date | number) {\n\tconst date = anyDateToDate(dateOrEpochOrLongCalendar)\n\tif (!date) {\n\t\treturn undefined\n\t}\n\treturn dateToFuzzyDate(date)\n}\n\nexport function currentTime() {\n\tconst now = new Date()\n\treturn `${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}:${now.getSeconds().toString().padStart(2, '0')}`\n}\n\nexport function currentDate() {\n\tconst now = new Date()\n\treturn `${now.getDate().toString().padStart(2, '0')}/${(now.getMonth() + 1).toString().padStart(2, '0')}/${now.getFullYear()}`\n}\n\nexport function currentDateTime() {\n\treturn `${currentDate()} ${currentTime()}`\n}\n"]}
@@ -1,16 +1,21 @@
1
- import { dateToFuzzyDate } from './dates';
2
- export function getRevisionsFilter(field) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMetadataChangedProvider = exports.handleValueChangedProvider = exports.getValidationError = exports.makeMetadata = exports.fieldValuesProvider = exports.getRevisionsFilter = void 0;
4
+ const dates_1 = require("./dates");
5
+ function getRevisionsFilter(field) {
3
6
  return (id, history) => history
4
7
  .filter((fmd) => { var _a, _b; return (((_a = field.tags) === null || _a === void 0 ? void 0 : _a.length) ? field.tags.every((t) => { var _a, _b; return (_b = (_a = fmd === null || fmd === void 0 ? void 0 : fmd.value) === null || _a === void 0 ? void 0 : _a.tags) === null || _b === void 0 ? void 0 : _b.some((tt) => tt.id === t); }) : ((_b = fmd === null || fmd === void 0 ? void 0 : fmd.value) === null || _b === void 0 ? void 0 : _b.label) === field.label()); })
5
8
  .map((fmd) => fmd.revision)
6
9
  .filter((r) => r !== undefined); //null is used as a new revision indicator
7
10
  }
8
- export const fieldValuesProvider = (formValuesContainer, field) => () => formValuesContainer.getValues(getRevisionsFilter(field));
9
- export function makeMetadata(field, owner, index) {
11
+ exports.getRevisionsFilter = getRevisionsFilter;
12
+ const fieldValuesProvider = (formValuesContainer, field) => () => formValuesContainer.getValues(getRevisionsFilter(field));
13
+ exports.fieldValuesProvider = fieldValuesProvider;
14
+ function makeMetadata(field, owner, index) {
10
15
  var _a;
11
16
  return {
12
17
  label: field.label(),
13
- valueDate: dateToFuzzyDate(new Date()),
18
+ valueDate: (0, dates_1.dateToFuzzyDate)(new Date()),
14
19
  owner: owner,
15
20
  index: index,
16
21
  tags: (_a = field.tags) === null || _a === void 0 ? void 0 : _a.map((t) => ({
@@ -19,12 +24,14 @@ export function makeMetadata(field, owner, index) {
19
24
  })),
20
25
  };
21
26
  }
22
- export const getValidationError = (formsValueContainer, field) => () => {
27
+ exports.makeMetadata = makeMetadata;
28
+ const getValidationError = (formsValueContainer, field) => () => {
23
29
  var _a;
24
30
  const validators = (_a = formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.getValidationErrors()) !== null && _a !== void 0 ? _a : [];
25
31
  return validators.filter(([metadata]) => metadata.label === (field === null || field === void 0 ? void 0 : field.label()));
26
32
  };
27
- export const handleValueChangedProvider = (formsValueContainer, field, owner) => {
33
+ exports.getValidationError = getValidationError;
34
+ const handleValueChangedProvider = (formsValueContainer, field, owner) => {
28
35
  return (label, language, value, id) => {
29
36
  if (formsValueContainer) {
30
37
  formsValueContainer.setValue(label, language, value, id, !id && field // If the id is not set, we are creating a new value. In this case, we set the metadata.
@@ -33,11 +40,13 @@ export const handleValueChangedProvider = (formsValueContainer, field, owner) =>
33
40
  }
34
41
  };
35
42
  };
36
- export const handleMetadataChangedProvider = (formsValueContainer) => {
43
+ exports.handleValueChangedProvider = handleValueChangedProvider;
44
+ const handleMetadataChangedProvider = (formsValueContainer) => {
37
45
  return (metadata, id) => {
38
46
  if (formsValueContainer) {
39
47
  formsValueContainer.setMetadata(metadata, id);
40
48
  }
41
49
  };
42
50
  };
51
+ exports.handleMetadataChangedProvider = handleMetadataChangedProvider;
43
52
  //# sourceMappingURL=fields-values-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields-values-provider.js","sourceRoot":"","sources":["../../tmp/utils/fields-values-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, FieldMetadata, FieldValue } from '../components/model'\nimport { FormValuesContainer, Version, VersionedData } from '../generic'\n\nimport { dateToFuzzyDate } from './dates'\n\nexport function getRevisionsFilter(field: Field): (id: string, history: Version<FieldMetadata>[]) => string[] {\n\treturn (id, history) =>\n\t\thistory\n\t\t\t.filter((fmd) => (field.tags?.length ? field.tags.every((t) => fmd?.value?.tags?.some((tt) => tt.id === t)) : fmd?.value?.label === field.label()))\n\t\t\t.map((fmd) => fmd.revision)\n\t\t\t.filter((r) => r !== undefined) as string[] //null is used as a new revision indicator\n}\n\nexport const fieldValuesProvider =\n\t(formValuesContainer: FormValuesContainer<FieldValue, FieldMetadata>, field: Field): (() => VersionedData<FieldValue>) =>\n\t() =>\n\t\tformValuesContainer.getValues(getRevisionsFilter(field))\n\nexport function makeMetadata(field: Field, owner?: string, index?: number) {\n\treturn {\n\t\tlabel: field.label(),\n\t\tvalueDate: dateToFuzzyDate(new Date()),\n\t\towner: owner,\n\t\tindex: index,\n\t\ttags: field.tags?.map((t) => ({\n\t\t\tid: t,\n\t\t\tlabel: {},\n\t\t})),\n\t}\n}\n\nexport const getValidationError =\n\t(formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>, field?: Field): (() => [FieldMetadata, string][]) =>\n\t() => {\n\t\tconst validators = formsValueContainer?.getValidationErrors() ?? []\n\t\treturn validators.filter(([metadata]) => metadata.label === field?.label())\n\t}\n\nexport const handleValueChangedProvider = (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>, field?: Field, owner?: string) => {\n\treturn (label: string, language: string, value?: FieldValue, id?: string) => {\n\t\tif (formsValueContainer) {\n\t\t\tformsValueContainer.setValue(\n\t\t\t\tlabel,\n\t\t\t\tlanguage,\n\t\t\t\tvalue,\n\t\t\t\tid,\n\t\t\t\t!id && field // If the id is not set, we are creating a new value. In this case, we set the metadata.\n\t\t\t\t\t? makeMetadata(field, owner)\n\t\t\t\t\t: undefined,\n\t\t\t)\n\t\t}\n\t}\n}\n\nexport const handleMetadataChangedProvider = (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>) => {\n\treturn (metadata: FieldMetadata, id?: string) => {\n\t\tif (formsValueContainer) {\n\t\t\tformsValueContainer.setMetadata(metadata, id)\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"fields-values-provider.js","sourceRoot":"","sources":["../../tmp/utils/fields-values-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, FieldMetadata, FieldValue } from '../components/model'\nimport { FormValuesContainer, Version, VersionedData } from '../generic'\n\nimport { dateToFuzzyDate } from './dates'\n\nexport function getRevisionsFilter(field: Field): (id: string, history: Version<FieldMetadata>[]) => string[] {\n\treturn (id, history) =>\n\t\thistory\n\t\t\t.filter((fmd) => (field.tags?.length ? field.tags.every((t) => fmd?.value?.tags?.some((tt) => tt.id === t)) : fmd?.value?.label === field.label()))\n\t\t\t.map((fmd) => fmd.revision)\n\t\t\t.filter((r) => r !== undefined) as string[] //null is used as a new revision indicator\n}\n\nexport const fieldValuesProvider =\n\t(formValuesContainer: FormValuesContainer<FieldValue, FieldMetadata>, field: Field): (() => VersionedData<FieldValue>) =>\n\t() =>\n\t\tformValuesContainer.getValues(getRevisionsFilter(field))\n\nexport function makeMetadata(field: Field, owner?: string, index?: number) {\n\treturn {\n\t\tlabel: field.label(),\n\t\tvalueDate: dateToFuzzyDate(new Date()),\n\t\towner: owner,\n\t\tindex: index,\n\t\ttags: field.tags?.map((t) => ({\n\t\t\tid: t,\n\t\t\tlabel: {},\n\t\t})),\n\t}\n}\n\nexport const getValidationError =\n\t(formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>, field?: Field): (() => [FieldMetadata, string][]) =>\n\t() => {\n\t\tconst validators = formsValueContainer?.getValidationErrors() ?? []\n\t\treturn validators.filter(([metadata]) => metadata.label === field?.label())\n\t}\n\nexport const handleValueChangedProvider = (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>, field?: Field, owner?: string) => {\n\treturn (label: string, language: string, value?: FieldValue, id?: string) => {\n\t\tif (formsValueContainer) {\n\t\t\tformsValueContainer.setValue(\n\t\t\t\tlabel,\n\t\t\t\tlanguage,\n\t\t\t\tvalue,\n\t\t\t\tid,\n\t\t\t\t!id && field // If the id is not set, we are creating a new value. In this case, we set the metadata.\n\t\t\t\t\t? makeMetadata(field, owner)\n\t\t\t\t\t: undefined,\n\t\t\t)\n\t\t}\n\t}\n}\n\nexport const handleMetadataChangedProvider = (formsValueContainer?: FormValuesContainer<FieldValue, FieldMetadata>) => {\n\treturn (metadata: FieldMetadata, id?: string) => {\n\t\tif (formsValueContainer) {\n\t\t\tformsValueContainer.setMetadata(metadata, id)\n\t\t}\n\t}\n}\n"]}
@@ -1,5 +1,8 @@
1
- import { makeMetadata } from './fields-values-provider';
2
- export const computeFormDefaultValues = (formValuesContainer, form, language, owner) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeFormDefaultValues = void 0;
4
+ const fields_values_provider_1 = require("./fields-values-provider");
5
+ const computeFormDefaultValues = (formValuesContainer, form, language, owner) => {
3
6
  var _a;
4
7
  const extractDefaultValues = (fgs, language) => fgs.reduce((acc, fg) => {
5
8
  var _a, _b, _c;
@@ -15,7 +18,7 @@ export const computeFormDefaultValues = (formValuesContainer, form, language, ow
15
18
  value.content[lng] = value.content['*'];
16
19
  }
17
20
  if (value.content[lng]) {
18
- return [...acc, [value, makeMetadata(fg, owner)]];
21
+ return [...acc, [value, (0, fields_values_provider_1.makeMetadata)(fg, owner)]];
19
22
  }
20
23
  }
21
24
  }
@@ -27,4 +30,5 @@ export const computeFormDefaultValues = (formValuesContainer, form, language, ow
27
30
  return [...acc, ...extractDefaultValues((_a = section.fields) !== null && _a !== void 0 ? _a : [], language)];
28
31
  }, [])) !== null && _a !== void 0 ? _a : []);
29
32
  };
33
+ exports.computeFormDefaultValues = computeFormDefaultValues;
30
34
  //# sourceMappingURL=form-value-container.js.map