@ovok/native 1.10.2 → 1.10.4

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 (570) hide show
  1. package/README.md +5 -5
  2. package/lib/commonjs/modules/auth/default-translation.js +22 -0
  3. package/lib/commonjs/modules/auth/default-translation.js.map +1 -1
  4. package/lib/commonjs/modules/auth/hooks/use-session.js +3 -0
  5. package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -1
  6. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js +3 -6
  7. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  8. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +1 -0
  9. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  10. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +4 -3
  11. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  12. package/lib/commonjs/modules/auth/session/logout-session.js +5 -2
  13. package/lib/commonjs/modules/auth/session/logout-session.js.map +1 -1
  14. package/lib/commonjs/modules/auth/session/session-store-refresh.js +125 -0
  15. package/lib/commonjs/modules/auth/session/session-store-refresh.js.map +1 -0
  16. package/lib/commonjs/modules/auth/session/session-store-request-state.js +73 -0
  17. package/lib/commonjs/modules/auth/session/session-store-request-state.js.map +1 -0
  18. package/lib/commonjs/modules/auth/session/session-store-types.js +17 -0
  19. package/lib/commonjs/modules/auth/session/session-store-types.js.map +1 -0
  20. package/lib/commonjs/modules/auth/session/session-store.js +56 -123
  21. package/lib/commonjs/modules/auth/session/session-store.js.map +1 -1
  22. package/lib/commonjs/modules/auth/utils/sign-in-error.js +10 -4
  23. package/lib/commonjs/modules/auth/utils/sign-in-error.js.map +1 -1
  24. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +5 -0
  25. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  26. package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js +36 -1
  27. package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js.map +1 -1
  28. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js +25 -0
  29. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
  30. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js +6 -0
  31. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
  32. package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js +22 -36
  33. package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
  34. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
  35. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  36. package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
  37. package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
  38. package/lib/commonjs/modules/data-sync/services/apple-health-sync-service.js.map +1 -1
  39. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +74 -34
  40. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  41. package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js +19 -16
  42. package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
  43. package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js +17 -4
  44. package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
  45. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  46. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  47. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js +219 -16
  48. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js.map +1 -1
  49. package/lib/commonjs/modules/data-sync/utils/health-record-timing.js +52 -0
  50. package/lib/commonjs/modules/data-sync/utils/health-record-timing.js.map +1 -0
  51. package/lib/commonjs/modules/data-sync/utils/health-units.js +1 -0
  52. package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -1
  53. package/lib/commonjs/modules/data-sync/utils/healthkit-data-types.js.map +1 -1
  54. package/lib/commonjs/modules/data-sync/utils/normalize-core-health-observation.js +74 -0
  55. package/lib/commonjs/modules/data-sync/utils/normalize-core-health-observation.js.map +1 -0
  56. package/lib/commonjs/modules/picker-sheet/components/value-wheel-picker.js +41 -0
  57. package/lib/commonjs/modules/picker-sheet/components/value-wheel-picker.js.map +1 -0
  58. package/lib/commonjs/modules/picker-sheet/components/wheel-picker.js +56 -15
  59. package/lib/commonjs/modules/picker-sheet/components/wheel-picker.js.map +1 -1
  60. package/lib/commonjs/modules/picker-sheet/index.js +11 -0
  61. package/lib/commonjs/modules/picker-sheet/index.js.map +1 -1
  62. package/lib/commonjs/modules/questionnaire-response-form/README.md +59 -20
  63. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-item.js +8 -0
  64. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-item.js.map +1 -1
  65. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js +8 -0
  66. package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js.map +1 -1
  67. package/lib/commonjs/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js +8 -3
  68. package/lib/commonjs/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js.map +1 -1
  69. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js +9 -3
  70. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js.map +1 -1
  71. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +18 -8
  72. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
  73. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js +41 -2
  74. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js.map +1 -1
  75. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js +43 -5
  76. package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js.map +1 -1
  77. package/lib/commonjs/modules/questionnaire-response-form/components/header/questionnaire-header-title.js +3 -1
  78. package/lib/commonjs/modules/questionnaire-response-form/components/header/questionnaire-header-title.js.map +1 -1
  79. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +37 -11
  80. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  81. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form.js +1 -0
  82. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form.js.map +1 -1
  83. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +9 -3
  84. package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
  85. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-initial-selected-values.js +5 -3
  86. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-initial-selected-values.js.map +1 -1
  87. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-navigation-handlers.js +15 -4
  88. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-navigation-handlers.js.map +1 -1
  89. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js +14 -7
  90. package/lib/commonjs/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js.map +1 -1
  91. package/lib/commonjs/modules/questionnaire-response-form/index.js +20 -0
  92. package/lib/commonjs/modules/questionnaire-response-form/index.js.map +1 -1
  93. package/lib/commonjs/modules/questionnaire-response-form/types/questionnaire-form-values.js +4 -0
  94. package/lib/commonjs/modules/questionnaire-response-form/types/questionnaire-item-render-props.js +6 -0
  95. package/lib/commonjs/modules/questionnaire-response-form/types/questionnaire-item-render-props.js.map +1 -0
  96. package/lib/commonjs/modules/questionnaire-response-form/types/response-values.js +4 -0
  97. package/lib/commonjs/modules/questionnaire-response-form/utils/condition-utils.js +37 -6
  98. package/lib/commonjs/modules/questionnaire-response-form/utils/condition-utils.js.map +1 -1
  99. package/lib/commonjs/modules/questionnaire-response-form/utils/conditions/fhir-condition.js +148 -0
  100. package/lib/commonjs/modules/questionnaire-response-form/utils/conditions/fhir-condition.js.map +1 -0
  101. package/lib/commonjs/modules/questionnaire-response-form/utils/create-answer-from-value.js +127 -0
  102. package/lib/commonjs/modules/questionnaire-response-form/utils/create-answer-from-value.js.map +1 -0
  103. package/lib/commonjs/modules/questionnaire-response-form/utils/fields/get-option-text.js +4 -3
  104. package/lib/commonjs/modules/questionnaire-response-form/utils/fields/get-option-text.js.map +1 -1
  105. package/lib/commonjs/modules/questionnaire-response-form/utils/form-utils.js +71 -64
  106. package/lib/commonjs/modules/questionnaire-response-form/utils/form-utils.js.map +1 -1
  107. package/lib/commonjs/modules/questionnaire-response-form/utils/form-validation.js +23 -5
  108. package/lib/commonjs/modules/questionnaire-response-form/utils/form-validation.js.map +1 -1
  109. package/lib/commonjs/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js +10 -0
  110. package/lib/commonjs/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js.map +1 -0
  111. package/lib/commonjs/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js +83 -0
  112. package/lib/commonjs/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js.map +1 -0
  113. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-date-utils.js +54 -0
  114. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-date-utils.js.map +1 -0
  115. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js +75 -0
  116. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js.map +1 -0
  117. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js +63 -0
  118. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js.map +1 -0
  119. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js +49 -18
  120. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js.map +1 -1
  121. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-picker-options.js +117 -0
  122. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-picker-options.js.map +1 -0
  123. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js +109 -0
  124. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js.map +1 -0
  125. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js +2 -2
  126. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js.map +1 -1
  127. package/lib/commonjs/modules/questionnaire-response-form/utils/translate-fhir-text.js +36 -0
  128. package/lib/commonjs/modules/questionnaire-response-form/utils/translate-fhir-text.js.map +1 -0
  129. package/lib/commonjs/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js +49 -0
  130. package/lib/commonjs/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js.map +1 -0
  131. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +31 -15
  132. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -1
  133. package/lib/commonjs/modules/ui/components/prerequisite-gate.js +73 -0
  134. package/lib/commonjs/modules/ui/components/prerequisite-gate.js.map +1 -0
  135. package/lib/commonjs/modules/ui/default-translation.js +50 -0
  136. package/lib/commonjs/modules/ui/default-translation.js.map +1 -0
  137. package/lib/commonjs/modules/ui/index.js +11 -0
  138. package/lib/commonjs/modules/ui/index.js.map +1 -1
  139. package/lib/commonjs/polyfills/index.js +9 -7
  140. package/lib/commonjs/polyfills/index.js.map +1 -1
  141. package/lib/module/modules/auth/default-translation.js +22 -0
  142. package/lib/module/modules/auth/default-translation.js.map +1 -1
  143. package/lib/module/modules/auth/hooks/use-session.js +3 -0
  144. package/lib/module/modules/auth/hooks/use-session.js.map +1 -1
  145. package/lib/module/modules/auth/profile/components/profile-form-provider.js +3 -6
  146. package/lib/module/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  147. package/lib/module/modules/auth/register/components/form/register-form-provider.js +1 -0
  148. package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  149. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +3 -3
  150. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  151. package/lib/module/modules/auth/session/logout-session.js +5 -2
  152. package/lib/module/modules/auth/session/logout-session.js.map +1 -1
  153. package/lib/module/modules/auth/session/session-store-refresh.js +121 -0
  154. package/lib/module/modules/auth/session/session-store-refresh.js.map +1 -0
  155. package/lib/module/modules/auth/session/session-store-request-state.js +69 -0
  156. package/lib/module/modules/auth/session/session-store-request-state.js.map +1 -0
  157. package/lib/module/modules/auth/session/session-store-types.js +13 -0
  158. package/lib/module/modules/auth/session/session-store-types.js.map +1 -0
  159. package/lib/module/modules/auth/session/session-store.js +56 -123
  160. package/lib/module/modules/auth/session/session-store.js.map +1 -1
  161. package/lib/module/modules/auth/utils/sign-in-error.js +9 -4
  162. package/lib/module/modules/auth/utils/sign-in-error.js.map +1 -1
  163. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +5 -0
  164. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  165. package/lib/module/modules/bt-management/hooks/declined-device-storage.js +33 -1
  166. package/lib/module/modules/bt-management/hooks/declined-device-storage.js.map +1 -1
  167. package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js +20 -0
  168. package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
  169. package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js +4 -0
  170. package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
  171. package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js +21 -35
  172. package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
  173. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
  174. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  175. package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
  176. package/lib/module/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
  177. package/lib/module/modules/data-sync/services/apple-health-sync-service.js.map +1 -1
  178. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +74 -34
  179. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  180. package/lib/module/modules/data-sync/utils/convert-records-to-observation.js +19 -16
  181. package/lib/module/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
  182. package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js +17 -4
  183. package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
  184. package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  185. package/lib/module/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  186. package/lib/module/modules/data-sync/utils/health-data-catalog.js +219 -16
  187. package/lib/module/modules/data-sync/utils/health-data-catalog.js.map +1 -1
  188. package/lib/module/modules/data-sync/utils/health-record-timing.js +47 -0
  189. package/lib/module/modules/data-sync/utils/health-record-timing.js.map +1 -0
  190. package/lib/module/modules/data-sync/utils/health-units.js +1 -0
  191. package/lib/module/modules/data-sync/utils/health-units.js.map +1 -1
  192. package/lib/module/modules/data-sync/utils/healthkit-data-types.js.map +1 -1
  193. package/lib/module/modules/data-sync/utils/normalize-core-health-observation.js +69 -0
  194. package/lib/module/modules/data-sync/utils/normalize-core-health-observation.js.map +1 -0
  195. package/lib/module/modules/picker-sheet/components/value-wheel-picker.js +36 -0
  196. package/lib/module/modules/picker-sheet/components/value-wheel-picker.js.map +1 -0
  197. package/lib/module/modules/picker-sheet/components/wheel-picker.js +56 -15
  198. package/lib/module/modules/picker-sheet/components/wheel-picker.js.map +1 -1
  199. package/lib/module/modules/picker-sheet/index.js +1 -0
  200. package/lib/module/modules/picker-sheet/index.js.map +1 -1
  201. package/lib/module/modules/questionnaire-response-form/README.md +59 -20
  202. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-item.js +8 -0
  203. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-item.js.map +1 -1
  204. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js +8 -0
  205. package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.js.map +1 -1
  206. package/lib/module/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js +8 -3
  207. package/lib/module/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.js.map +1 -1
  208. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js +9 -3
  209. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.js.map +1 -1
  210. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +18 -8
  211. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
  212. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js +42 -3
  213. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.js.map +1 -1
  214. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js +41 -3
  215. package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-text-field.js.map +1 -1
  216. package/lib/module/modules/questionnaire-response-form/components/header/questionnaire-header-title.js +3 -1
  217. package/lib/module/modules/questionnaire-response-form/components/header/questionnaire-header-title.js.map +1 -1
  218. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +37 -11
  219. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
  220. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form.js +1 -0
  221. package/lib/module/modules/questionnaire-response-form/components/questionnaire-form.js.map +1 -1
  222. package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +9 -3
  223. package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
  224. package/lib/module/modules/questionnaire-response-form/hooks/use-initial-selected-values.js +5 -3
  225. package/lib/module/modules/questionnaire-response-form/hooks/use-initial-selected-values.js.map +1 -1
  226. package/lib/module/modules/questionnaire-response-form/hooks/use-navigation-handlers.js +15 -4
  227. package/lib/module/modules/questionnaire-response-form/hooks/use-navigation-handlers.js.map +1 -1
  228. package/lib/module/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js +14 -7
  229. package/lib/module/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.js.map +1 -1
  230. package/lib/module/modules/questionnaire-response-form/index.js +2 -0
  231. package/lib/module/modules/questionnaire-response-form/index.js.map +1 -1
  232. package/lib/module/modules/questionnaire-response-form/types/questionnaire-form-values.js +2 -0
  233. package/lib/module/modules/questionnaire-response-form/types/questionnaire-item-render-props.js +4 -0
  234. package/lib/module/modules/questionnaire-response-form/types/questionnaire-item-render-props.js.map +1 -0
  235. package/lib/module/modules/questionnaire-response-form/types/response-values.js +2 -0
  236. package/lib/module/modules/questionnaire-response-form/utils/condition-utils.js +37 -6
  237. package/lib/module/modules/questionnaire-response-form/utils/condition-utils.js.map +1 -1
  238. package/lib/module/modules/questionnaire-response-form/utils/conditions/fhir-condition.js +140 -0
  239. package/lib/module/modules/questionnaire-response-form/utils/conditions/fhir-condition.js.map +1 -0
  240. package/lib/module/modules/questionnaire-response-form/utils/create-answer-from-value.js +122 -0
  241. package/lib/module/modules/questionnaire-response-form/utils/create-answer-from-value.js.map +1 -0
  242. package/lib/module/modules/questionnaire-response-form/utils/fields/get-option-text.js +4 -3
  243. package/lib/module/modules/questionnaire-response-form/utils/fields/get-option-text.js.map +1 -1
  244. package/lib/module/modules/questionnaire-response-form/utils/form-utils.js +71 -64
  245. package/lib/module/modules/questionnaire-response-form/utils/form-utils.js.map +1 -1
  246. package/lib/module/modules/questionnaire-response-form/utils/form-validation.js +23 -5
  247. package/lib/module/modules/questionnaire-response-form/utils/form-validation.js.map +1 -1
  248. package/lib/module/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js +5 -0
  249. package/lib/module/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.js.map +1 -0
  250. package/lib/module/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js +77 -0
  251. package/lib/module/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.js.map +1 -0
  252. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-date-utils.js +49 -0
  253. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-date-utils.js.map +1 -0
  254. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js +71 -0
  255. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-constraints.js.map +1 -0
  256. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js +57 -0
  257. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.js.map +1 -0
  258. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js +49 -18
  259. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.js.map +1 -1
  260. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-picker-options.js +112 -0
  261. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-picker-options.js.map +1 -0
  262. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js +105 -0
  263. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.js.map +1 -0
  264. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js +2 -2
  265. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js.map +1 -1
  266. package/lib/module/modules/questionnaire-response-form/utils/translate-fhir-text.js +31 -0
  267. package/lib/module/modules/questionnaire-response-form/utils/translate-fhir-text.js.map +1 -0
  268. package/lib/module/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js +44 -0
  269. package/lib/module/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.js.map +1 -0
  270. package/lib/module/modules/ui/components/bluetooth-state-notice.js +31 -15
  271. package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -1
  272. package/lib/module/modules/ui/components/prerequisite-gate.js +67 -0
  273. package/lib/module/modules/ui/components/prerequisite-gate.js.map +1 -0
  274. package/lib/module/modules/ui/default-translation.js +45 -0
  275. package/lib/module/modules/ui/default-translation.js.map +1 -0
  276. package/lib/module/modules/ui/index.js +1 -0
  277. package/lib/module/modules/ui/index.js.map +1 -1
  278. package/lib/module/polyfills/index.js +11 -1
  279. package/lib/module/polyfills/index.js.map +1 -1
  280. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +22 -0
  281. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -1
  282. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +4 -1
  283. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  285. package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  286. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/src/modules/auth/session/logout-session.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/src/modules/auth/session/session-store-refresh.d.ts +8 -0
  289. package/lib/typescript/commonjs/src/modules/auth/session/session-store-refresh.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/src/modules/auth/session/session-store-request-state.d.ts +23 -0
  291. package/lib/typescript/commonjs/src/modules/auth/session/session-store-request-state.d.ts.map +1 -0
  292. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts +33 -0
  293. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts.map +1 -0
  294. package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts +1 -18
  295. package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts.map +1 -1
  296. package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts +4 -2
  297. package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  298. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  299. package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts +10 -1
  300. package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -1
  301. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
  302. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
  304. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
  305. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +6 -14
  306. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  308. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +7 -0
  309. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  310. package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts +2 -3
  312. package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/src/modules/data-sync/services/apple-health-sync-service.d.ts +4 -5
  314. package/lib/typescript/commonjs/src/modules/data-sync/services/apple-health-sync-service.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +4 -2
  316. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -1
  318. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
  319. package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +2 -1
  320. package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
  321. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts +3 -2
  322. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  323. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
  324. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -4
  326. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts +2 -2
  328. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts +5 -1
  330. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
  331. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-record-timing.d.ts +10 -0
  332. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-record-timing.d.ts.map +1 -0
  333. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  334. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-data-types.d.ts +6 -5
  335. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-data-types.d.ts.map +1 -1
  336. package/lib/typescript/commonjs/src/modules/data-sync/utils/normalize-core-health-observation.d.ts +13 -0
  337. package/lib/typescript/commonjs/src/modules/data-sync/utils/normalize-core-health-observation.d.ts.map +1 -0
  338. package/lib/typescript/commonjs/src/modules/picker-sheet/components/value-wheel-picker.d.ts +21 -0
  339. package/lib/typescript/commonjs/src/modules/picker-sheet/components/value-wheel-picker.d.ts.map +1 -0
  340. package/lib/typescript/commonjs/src/modules/picker-sheet/components/wheel-picker.d.ts +7 -3
  341. package/lib/typescript/commonjs/src/modules/picker-sheet/components/wheel-picker.d.ts.map +1 -1
  342. package/lib/typescript/commonjs/src/modules/picker-sheet/index.d.ts +1 -0
  343. package/lib/typescript/commonjs/src/modules/picker-sheet/index.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-item.d.ts.map +1 -1
  345. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.d.ts.map +1 -1
  346. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.d.ts.map +1 -1
  347. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.d.ts.map +1 -1
  348. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts +3 -1
  349. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts.map +1 -1
  350. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts +9 -3
  351. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts.map +1 -1
  352. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts +5 -1
  353. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts.map +1 -1
  354. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/header/questionnaire-header-title.d.ts.map +1 -1
  355. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts +1 -1
  356. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  357. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form.d.ts.map +1 -1
  358. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
  359. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-initial-selected-values.d.ts.map +1 -1
  360. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +6 -1
  361. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
  362. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts +2 -1
  363. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts.map +1 -1
  364. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/index.d.ts +4 -1
  365. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/index.d.ts.map +1 -1
  366. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts +7 -1
  367. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts.map +1 -1
  368. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +6 -0
  369. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
  370. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts +3 -1
  371. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts.map +1 -1
  372. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts +11 -0
  373. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts.map +1 -1
  374. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts +5 -2
  375. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts.map +1 -1
  376. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts +15 -0
  377. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts.map +1 -0
  378. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +5 -0
  379. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
  380. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/response-values.d.ts +2 -1
  381. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/response-values.d.ts.map +1 -1
  382. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/condition-utils.d.ts.map +1 -1
  383. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts +9 -0
  384. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts.map +1 -0
  385. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts +7 -0
  386. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts.map +1 -0
  387. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts +1 -1
  388. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts.map +1 -1
  389. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-utils.d.ts +4 -1
  390. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-utils.d.ts.map +1 -1
  391. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-validation.d.ts +4 -1
  392. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/form-validation.d.ts.map +1 -1
  393. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts +3 -0
  394. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts +8 -0
  396. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts.map +1 -0
  397. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts +5 -0
  398. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts.map +1 -0
  399. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts +22 -0
  400. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts.map +1 -0
  401. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts +10 -0
  402. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts.map +1 -0
  403. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts +2 -1
  404. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts.map +1 -1
  405. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts +15 -0
  406. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts.map +1 -0
  407. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts +5 -0
  408. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts.map +1 -0
  409. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts +3 -1
  410. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts.map +1 -1
  411. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts +4 -0
  412. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts.map +1 -0
  413. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts +6 -0
  414. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts.map +1 -0
  415. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
  416. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
  417. package/lib/typescript/commonjs/src/modules/ui/components/prerequisite-gate.d.ts +19 -0
  418. package/lib/typescript/commonjs/src/modules/ui/components/prerequisite-gate.d.ts.map +1 -0
  419. package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts +30 -0
  420. package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts.map +1 -0
  421. package/lib/typescript/commonjs/src/modules/ui/index.d.ts +1 -0
  422. package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -1
  423. package/lib/typescript/commonjs/src/polyfills/index.d.ts +7 -1
  424. package/lib/typescript/commonjs/src/polyfills/index.d.ts.map +1 -1
  425. package/lib/typescript/module/src/modules/auth/default-translation.d.ts +22 -0
  426. package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -1
  427. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +4 -1
  428. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -1
  429. package/lib/typescript/module/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  430. package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  431. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  432. package/lib/typescript/module/src/modules/auth/session/logout-session.d.ts.map +1 -1
  433. package/lib/typescript/module/src/modules/auth/session/session-store-refresh.d.ts +8 -0
  434. package/lib/typescript/module/src/modules/auth/session/session-store-refresh.d.ts.map +1 -0
  435. package/lib/typescript/module/src/modules/auth/session/session-store-request-state.d.ts +23 -0
  436. package/lib/typescript/module/src/modules/auth/session/session-store-request-state.d.ts.map +1 -0
  437. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts +33 -0
  438. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts.map +1 -0
  439. package/lib/typescript/module/src/modules/auth/session/session-store.d.ts +1 -18
  440. package/lib/typescript/module/src/modules/auth/session/session-store.d.ts.map +1 -1
  441. package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts +4 -2
  442. package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  443. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  444. package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts +10 -1
  445. package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -1
  446. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
  447. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
  448. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
  449. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
  450. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +6 -14
  451. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
  452. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  453. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +7 -0
  454. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  455. package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
  456. package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts +2 -3
  457. package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
  458. package/lib/typescript/module/src/modules/data-sync/services/apple-health-sync-service.d.ts +4 -5
  459. package/lib/typescript/module/src/modules/data-sync/services/apple-health-sync-service.d.ts.map +1 -1
  460. package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +4 -2
  461. package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
  462. package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -1
  463. package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
  464. package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +2 -1
  465. package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
  466. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts +3 -2
  467. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  468. package/lib/typescript/module/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
  469. package/lib/typescript/module/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
  470. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -4
  471. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  472. package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts +2 -2
  473. package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  474. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts +5 -1
  475. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
  476. package/lib/typescript/module/src/modules/data-sync/utils/health-record-timing.d.ts +10 -0
  477. package/lib/typescript/module/src/modules/data-sync/utils/health-record-timing.d.ts.map +1 -0
  478. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  479. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-data-types.d.ts +6 -5
  480. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-data-types.d.ts.map +1 -1
  481. package/lib/typescript/module/src/modules/data-sync/utils/normalize-core-health-observation.d.ts +13 -0
  482. package/lib/typescript/module/src/modules/data-sync/utils/normalize-core-health-observation.d.ts.map +1 -0
  483. package/lib/typescript/module/src/modules/picker-sheet/components/value-wheel-picker.d.ts +21 -0
  484. package/lib/typescript/module/src/modules/picker-sheet/components/value-wheel-picker.d.ts.map +1 -0
  485. package/lib/typescript/module/src/modules/picker-sheet/components/wheel-picker.d.ts +7 -3
  486. package/lib/typescript/module/src/modules/picker-sheet/components/wheel-picker.d.ts.map +1 -1
  487. package/lib/typescript/module/src/modules/picker-sheet/index.d.ts +1 -0
  488. package/lib/typescript/module/src/modules/picker-sheet/index.d.ts.map +1 -1
  489. package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-item.d.ts.map +1 -1
  490. package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-specific-item.d.ts.map +1 -1
  491. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/common/questionnaire-field-wrapper.d.ts.map +1 -1
  492. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-choice-field.d.ts.map +1 -1
  493. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts +3 -1
  494. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-date-field.d.ts.map +1 -1
  495. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts +9 -3
  496. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-item-renderer.d.ts.map +1 -1
  497. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts +5 -1
  498. package/lib/typescript/module/src/modules/questionnaire-response-form/components/fields/questionnaire-text-field.d.ts.map +1 -1
  499. package/lib/typescript/module/src/modules/questionnaire-response-form/components/header/questionnaire-header-title.d.ts.map +1 -1
  500. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts +1 -1
  501. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
  502. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form.d.ts.map +1 -1
  503. package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
  504. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-initial-selected-values.d.ts.map +1 -1
  505. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +6 -1
  506. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
  507. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts +2 -1
  508. package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation-state.d.ts.map +1 -1
  509. package/lib/typescript/module/src/modules/questionnaire-response-form/index.d.ts +4 -1
  510. package/lib/typescript/module/src/modules/questionnaire-response-form/index.d.ts.map +1 -1
  511. package/lib/typescript/module/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts +7 -1
  512. package/lib/typescript/module/src/modules/questionnaire-response-form/types/extended-questionnaire-item.d.ts.map +1 -1
  513. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +6 -0
  514. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
  515. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts +3 -1
  516. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-props.d.ts.map +1 -1
  517. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts +11 -0
  518. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-provider-props.d.ts.map +1 -1
  519. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts +5 -2
  520. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-values.d.ts.map +1 -1
  521. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts +15 -0
  522. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-item-render-props.d.ts.map +1 -0
  523. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +5 -0
  524. package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
  525. package/lib/typescript/module/src/modules/questionnaire-response-form/types/response-values.d.ts +2 -1
  526. package/lib/typescript/module/src/modules/questionnaire-response-form/types/response-values.d.ts.map +1 -1
  527. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/condition-utils.d.ts.map +1 -1
  528. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts +9 -0
  529. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/conditions/fhir-condition.d.ts.map +1 -0
  530. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts +7 -0
  531. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/create-answer-from-value.d.ts.map +1 -0
  532. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts +1 -1
  533. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/fields/get-option-text.d.ts.map +1 -1
  534. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-utils.d.ts +4 -1
  535. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-utils.d.ts.map +1 -1
  536. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-validation.d.ts +4 -1
  537. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/form-validation.d.ts.map +1 -1
  538. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts +3 -0
  539. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-answerable-questionnaire-item.d.ts.map +1 -0
  540. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts +8 -0
  541. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/is-valid-questionnaire-answer.d.ts.map +1 -0
  542. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts +5 -0
  543. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-date-utils.d.ts.map +1 -0
  544. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts +22 -0
  545. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-constraints.d.ts.map +1 -0
  546. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts +10 -0
  547. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-item-value-constraint-validators.d.ts.map +1 -0
  548. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts +2 -1
  549. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-navigation-utils.d.ts.map +1 -1
  550. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts +15 -0
  551. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-picker-options.d.ts.map +1 -0
  552. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts +5 -0
  553. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-string-constraint-validator.d.ts.map +1 -0
  554. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts +3 -1
  555. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts.map +1 -1
  556. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts +4 -0
  557. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/translate-fhir-text.d.ts.map +1 -0
  558. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts +6 -0
  559. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/validate-questionnaire-item-value.d.ts.map +1 -0
  560. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
  561. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
  562. package/lib/typescript/module/src/modules/ui/components/prerequisite-gate.d.ts +19 -0
  563. package/lib/typescript/module/src/modules/ui/components/prerequisite-gate.d.ts.map +1 -0
  564. package/lib/typescript/module/src/modules/ui/default-translation.d.ts +30 -0
  565. package/lib/typescript/module/src/modules/ui/default-translation.d.ts.map +1 -0
  566. package/lib/typescript/module/src/modules/ui/index.d.ts +1 -0
  567. package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -1
  568. package/lib/typescript/module/src/polyfills/index.d.ts +7 -1
  569. package/lib/typescript/module/src/polyfills/index.d.ts.map +1 -1
  570. package/package.json +5 -8
@@ -1,33 +1,18 @@
1
1
  "use strict";
2
2
 
3
- /* eslint-disable import/group-exports */
4
-
5
3
  import * as React from "react";
6
- import { BluetoothError, BluetoothErrorCode, toBluetoothError } from "../types/bluetooth-error.js";
7
- import { parseDeclinedDeviceIds, updateDeclinedDeviceIds } from "./declined-device-storage.js";
4
+ import { toBluetoothError } from "../types/bluetooth-error.js";
5
+ import { getDeclinedDeviceState, loadDeclinedDeviceIds, publishDeclinedDeviceIds, updateDeclinedDeviceIds } from "./declined-device-storage.js";
6
+ import { getDismissedLater, notNearbyError } from "./nearby-device-offer-state.js";
8
7
  import { useBluetoothRuntime, useBluetoothSelector } from "./runtime-context.js";
9
8
  import { useNearbyDevices } from "./use-nearby-devices.js";
10
9
  import { DEFAULT_PAIRED_DEVICE_STORAGE_KEY, usePairedDevices } from "./use-paired-devices.js";
11
- const dismissedLaterByRuntime = new WeakMap();
12
- const getDismissedLater = (runtime, storageKey) => {
13
- let byStorageKey = dismissedLaterByRuntime.get(runtime);
14
- if (!byStorageKey) {
15
- byStorageKey = new Map();
16
- dismissedLaterByRuntime.set(runtime, byStorageKey);
17
- }
18
- let dismissed = byStorageKey.get(storageKey);
19
- if (!dismissed) {
20
- dismissed = new Set();
21
- byStorageKey.set(storageKey, dismissed);
22
- }
23
- return dismissed;
24
- };
25
- const notNearbyError = () => new BluetoothError(BluetoothErrorCode.CONNECTION_FAILED, "The device is no longer nearby.");
26
10
  export const useNearbyDeviceOffer = ({
27
11
  storage,
28
12
  storageKey = DEFAULT_PAIRED_DEVICE_STORAGE_KEY,
29
13
  declinedStorageKey = `${storageKey}.declined-nearby-devices`,
30
14
  enabled = true,
15
+ shouldOffer,
31
16
  onPaired,
32
17
  onError
33
18
  }) => {
@@ -43,7 +28,8 @@ export const useNearbyDeviceOffer = ({
43
28
  storage,
44
29
  storageKey
45
30
  });
46
- const [declinedIds, setDeclinedIds] = React.useState(undefined);
31
+ const declinedState = React.useMemo(() => getDeclinedDeviceState(runtime, declinedStorageKey), [runtime, declinedStorageKey]);
32
+ const declinedIds = declinedState.ids;
47
33
  const [status, setStatus] = React.useState("idle");
48
34
  const [error, setError] = React.useState(undefined);
49
35
  const [, redraw] = React.useReducer(value => value + 1, 0);
@@ -56,11 +42,9 @@ export const useNearbyDeviceOffer = ({
56
42
  const pairedIdsLoaded = runtime.getPairedDeviceIds(storageKey) !== undefined;
57
43
  React.useEffect(() => {
58
44
  let active = true;
59
- void Promise.resolve().then(() => storage.getItem(declinedStorageKey)).then(parseDeclinedDeviceIds).then(ids => {
60
- if (active) {
61
- setDeclinedIds(ids);
62
- }
63
- }).catch(cause => {
45
+ const notify = () => redraw();
46
+ declinedState.listeners.add(notify);
47
+ void loadDeclinedDeviceIds(declinedState, storage, declinedStorageKey).catch(cause => {
64
48
  if (active) {
65
49
  const normalized = toBluetoothError(cause);
66
50
  setError(normalized);
@@ -70,9 +54,10 @@ export const useNearbyDeviceOffer = ({
70
54
  });
71
55
  return () => {
72
56
  active = false;
57
+ declinedState.listeners.delete(notify);
73
58
  };
74
- }, [declinedStorageKey, storage]);
75
- const device = enabled && pairedIdsLoaded && declinedIds !== undefined ? devices.find(candidate => !paired.includes(candidate.id) && !declinedIds.includes(candidate.id) && !dismissedLater.has(candidate.id)) : undefined;
59
+ }, [declinedState, declinedStorageKey, storage]);
60
+ const device = enabled && pairedIdsLoaded && declinedIds !== undefined ? devices.find(candidate => !paired.includes(candidate.id) && !declinedIds.includes(candidate.id) && !dismissedLater.has(candidate.id) && (shouldOffer?.(candidate) ?? true)) : undefined;
76
61
  deviceRef.current = device;
77
62
  const deviceId = device?.id;
78
63
  const hasDevice = device !== undefined;
@@ -117,28 +102,29 @@ export const useNearbyDeviceOffer = ({
117
102
  busyRef.current = false;
118
103
  }
119
104
  }, [onError, onPaired, pair, remember]);
120
- const decline = React.useCallback(async () => {
105
+ const decline = React.useCallback(async deviceId => {
121
106
  const selected = deviceRef.current;
122
- if (!selected) {
107
+ const selectedId = deviceId ?? selected?.id;
108
+ if (!selectedId) {
123
109
  return;
124
110
  }
125
111
  try {
126
- const next = await updateDeclinedDeviceIds(storage, declinedStorageKey, ids => [...new Set([...ids, selected.id])]);
127
- setDeclinedIds(next);
112
+ const next = await updateDeclinedDeviceIds(storage, declinedStorageKey, ids => [...new Set([...ids, selectedId])]);
113
+ publishDeclinedDeviceIds(declinedState, next);
128
114
  setError(undefined);
129
115
  setStatus("idle");
130
116
  } catch (cause) {
131
117
  const normalized = toBluetoothError(cause);
132
- onError?.(normalized, selected);
118
+ onError?.(normalized, selected?.id === selectedId ? selected : undefined);
133
119
  throw normalized;
134
120
  }
135
- }, [declinedStorageKey, onError, storage]);
121
+ }, [declinedState, declinedStorageKey, onError, storage]);
136
122
  const undecline = React.useCallback(async deviceId => {
137
123
  const next = await updateDeclinedDeviceIds(storage, declinedStorageKey, ids => ids.filter(id => id !== deviceId));
138
- setDeclinedIds(next);
124
+ publishDeclinedDeviceIds(declinedState, next);
139
125
  setError(undefined);
140
126
  setStatus("idle");
141
- }, [declinedStorageKey, storage]);
127
+ }, [declinedState, declinedStorageKey, storage]);
142
128
  const later = React.useCallback(() => {
143
129
  const selected = deviceRef.current;
144
130
  if (!selected) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","BluetoothError","BluetoothErrorCode","toBluetoothError","parseDeclinedDeviceIds","updateDeclinedDeviceIds","useBluetoothRuntime","useBluetoothSelector","useNearbyDevices","DEFAULT_PAIRED_DEVICE_STORAGE_KEY","usePairedDevices","dismissedLaterByRuntime","WeakMap","getDismissedLater","runtime","storageKey","byStorageKey","get","Map","set","dismissed","Set","notNearbyError","CONNECTION_FAILED","useNearbyDeviceOffer","storage","declinedStorageKey","enabled","onPaired","onError","devices","snapshot","pair","paired","remember","declinedIds","setDeclinedIds","useState","undefined","status","setStatus","error","setError","redraw","useReducer","value","busyRef","useRef","deviceRef","previousDeviceIdRef","onErrorRef","current","dismissedLater","useMemo","pairedIdsLoaded","getPairedDeviceIds","useEffect","active","Promise","resolve","then","getItem","ids","catch","cause","normalized","device","find","candidate","includes","id","has","deviceId","hasDevice","accept","useCallback","selected","missing","connected","decline","next","undecline","filter","later","add"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-device-offer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","toBluetoothError","getDeclinedDeviceState","loadDeclinedDeviceIds","publishDeclinedDeviceIds","updateDeclinedDeviceIds","getDismissedLater","notNearbyError","useBluetoothRuntime","useBluetoothSelector","useNearbyDevices","DEFAULT_PAIRED_DEVICE_STORAGE_KEY","usePairedDevices","useNearbyDeviceOffer","storage","storageKey","declinedStorageKey","enabled","shouldOffer","onPaired","onError","runtime","devices","snapshot","pair","paired","remember","declinedState","useMemo","declinedIds","ids","status","setStatus","useState","error","setError","undefined","redraw","useReducer","value","busyRef","useRef","deviceRef","previousDeviceIdRef","onErrorRef","current","dismissedLater","pairedIdsLoaded","getPairedDeviceIds","useEffect","active","notify","listeners","add","catch","cause","normalized","delete","device","find","candidate","includes","id","has","deviceId","hasDevice","accept","useCallback","selected","missing","connected","decline","selectedId","next","Set","undecline","filter","later"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-device-offer.ts"],"mappings":"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","ignoreList":[]}
@@ -31,8 +31,13 @@ class BackgroundSyncCoordinator {
31
31
  enqueue = result => this.runExclusive(async () => {
32
32
  const queue = await this.readQueue();
33
33
  const stableId = result.id ?? createResultId();
34
+ const ownerKey = this.options.getOwnerKey?.();
35
+ if (typeof ownerKey !== "string" || !ownerKey.trim()) {
36
+ throw new Error("Background sync requires a stable owner key before queueing a result.");
37
+ }
34
38
  queue.push({
35
39
  queueId: createQueueId(),
40
+ ownerKey,
36
41
  queuedAt: new Date().toISOString(),
37
42
  attempt: 0,
38
43
  nextAttemptAt: 0,
@@ -89,7 +94,13 @@ class BackgroundSyncCoordinator {
89
94
  flushQueue = async (queue, options = {}) => {
90
95
  let changed = false;
91
96
  const now = Date.now();
97
+ const ownerKey = this.options.getOwnerKey?.();
92
98
  for (const item of [...queue]) {
99
+ // Legacy items have no owner and are deliberately retained. Guessing here
100
+ // could deliver one person's private reading to the next signed-in account.
101
+ if (!ownerKey || item.ownerKey !== ownerKey) {
102
+ continue;
103
+ }
93
104
  if (item.exhausted && options.resetExhausted) {
94
105
  item.attempt = 0;
95
106
  item.exhausted = false;
@@ -1 +1 @@
1
- {"version":3,"names":["recordOvokMetric","reviveResultDates","DEFAULT_QUEUE_KEY","DEFAULT_MAX_RETRIES","DEFAULT_RETRY_BACKOFF_MS","resultSequence","createResultId","Date","now","Math","random","toString","slice","createQueueId","BackgroundSyncCoordinator","operation","Promise","resolve","constructor","options","storageKey","maxRetries","max","retryBackoffMs","enqueue","result","runExclusive","queue","readQueue","stableId","id","push","queueId","queuedAt","toISOString","attempt","nextAttemptAt","writeQueue","length","flushQueue","flush","next","then","catch","undefined","serialized","storage","getItem","parsed","JSON","parse","Array","isArray","Error","map","item","typed","error","queueError","message","String","setItem","onError","stringify","changed","exhausted","resetExhausted","includeExhausted","onResult","splice","indexOf","measurementTypeKey","data","Number","MAX_SAFE_INTEGER"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["recordOvokMetric","reviveResultDates","DEFAULT_QUEUE_KEY","DEFAULT_MAX_RETRIES","DEFAULT_RETRY_BACKOFF_MS","resultSequence","createResultId","Date","now","Math","random","toString","slice","createQueueId","BackgroundSyncCoordinator","operation","Promise","resolve","constructor","options","storageKey","maxRetries","max","retryBackoffMs","enqueue","result","runExclusive","queue","readQueue","stableId","id","ownerKey","getOwnerKey","trim","Error","push","queueId","queuedAt","toISOString","attempt","nextAttemptAt","writeQueue","length","flushQueue","flush","next","then","catch","undefined","serialized","storage","getItem","parsed","JSON","parse","Array","isArray","map","item","typed","error","queueError","message","String","setItem","onError","stringify","changed","exhausted","resetExhausted","includeExhausted","onResult","splice","indexOf","measurementTypeKey","data","Number","MAX_SAFE_INTEGER"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["getRequestStatusForAuthorization","HKAuthorizationRequestStatus","useHealthkitAuthorization","React","HealthAuthorizationContext","AppleHealthAuthorizationContext","getNotRequestedIdentifiers","Fragment","_Fragment","jsx","_jsx","AppleHealthAuthorizationProvider","memo","readIdentifiers","writeIdentifiers","dataToSync","fallback","children","skipRequest","renderManualRequestUI","onAuthorizationStatusChange","authorizationStatus","requestAuthorization","requestState","setRequestState","useState","notRequestedReadIdentifiers","setNotRequestedReadIdentifiers","notRequestedWriteIdentifiers","setNotRequestedWriteIdentifiers","requestError","setRequestError","requestKey","join","identifiersRef","useRef","current","previousRequestKey","status","useMemo","error","state","notRequestedMeasurementTypes","Object","entries","filter","data","typeIdentifiers","some","typeIdentifier","includes","map","key","useEffect","inspectAuthorization","useCallback","currentRead","currentWrite","notRequestedRead","notRequestedWrite","Promise","all","identifier","requestAccess","undefined","normalizedError","Error","String","shouldRequest","currentState","then","catch","needsAuthorization","shouldRenderManualRequestUI","shouldRenderFallback","exposedStatus","authorizationValue","platform","missingTypes","request","content","unknown","unnecessary","Provider","value"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/apple/apple-health-authorization-provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getRequestStatusForAuthorization","HKAuthorizationRequestStatus","useHealthkitAuthorization","React","HealthAuthorizationContext","AppleHealthAuthorizationContext","getNotRequestedIdentifiers","Fragment","_Fragment","jsx","_jsx","AppleHealthAuthorizationProvider","memo","readIdentifiers","writeIdentifiers","dataToSync","fallback","children","skipRequest","renderManualRequestUI","onAuthorizationStatusChange","authorizationStatus","requestAuthorization","requestState","setRequestState","useState","notRequestedReadIdentifiers","setNotRequestedReadIdentifiers","notRequestedWriteIdentifiers","setNotRequestedWriteIdentifiers","requestError","setRequestError","requestKey","join","identifiersRef","useRef","current","previousRequestKey","status","useMemo","error","state","notRequestedMeasurementTypes","Object","entries","filter","data","typeIdentifiers","some","typeIdentifier","includes","map","key","useEffect","inspectAuthorization","useCallback","currentRead","currentWrite","notRequestedRead","notRequestedWrite","Promise","all","identifier","requestAccess","undefined","normalizedError","Error","String","shouldRequest","currentState","then","catch","needsAuthorization","shouldRenderManualRequestUI","shouldRenderFallback","exposedStatus","authorizationValue","platform","missingTypes","request","content","unknown","unnecessary","Provider","value"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/apple/apple-health-authorization-provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Healthkit","HKUpdateFrequency","React","useListenChanges","dataToSync","onChange","backgroundDelivery","onError","timeoutRef","useRef","undefined","onChangeRef","onErrorRef","identifiers","useMemo","Object","values","flatMap","data","typeIdentifiers","map","identifier","typeIdentifier","backgroundDeliveryEnabled","backgroundDeliveryFrequency","frequency","hourly","debouncedOnChange","useCallback","current","clearTimeout","setTimeout","useEffect","subscriptions","initSubscriptions","Promise","all","enableBackgroundDelivery","subscription","subscribeToChanges","push","error","forEach","disableBackgroundDelivery","catch"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/hooks/use-listen-changes.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Healthkit","HKUpdateFrequency","React","useListenChanges","dataToSync","onChange","backgroundDelivery","onError","timeoutRef","useRef","undefined","onChangeRef","onErrorRef","identifiers","useMemo","Object","values","flatMap","data","typeIdentifiers","map","identifier","typeIdentifier","backgroundDeliveryEnabled","backgroundDeliveryFrequency","frequency","hourly","debouncedOnChange","useCallback","current","clearTimeout","setTimeout","useEffect","subscriptions","initSubscriptions","Promise","all","enableBackgroundDelivery","subscription","subscribeToChanges","push","error","forEach","disableBackgroundDelivery","catch"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/hooks/use-listen-changes.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["convertSamplesToObservation","getSamplesFromHealth","getTotalSamplesCount","BaseHealthSyncService","InstanceManager","AppleHealthSyncService","constructor","props","getProviderName","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","getInstance","getInstanceInternal"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/apple-health-sync-service.ts"],"mappings":";;AAUA,SAASA,2BAA2B,QAAQ,4CAAyC;AACrF,SAASC,oBAAoB,QAAQ,qCAAkC;AACvE,SAASC,oBAAoB,QAAQ,qCAAkC;AAEvE,SAASC,qBAAqB,QAAQ,+BAA4B;AAClE,SAASC,eAAe,QAAQ,gCAA6B;AAM7D,OAAO,MAAMC,sBAAsB,SAASF,qBAAqB,CAI/D;EACQG,WAAWA,CAACC,KAAkC,EAAE;IACtD,KAAK,CAACA,KAAK,CAAC;EACd;EAEUC,eAAeA,CAAA,EAAmB;IAC1C,OAAO,cAAc;EACvB;EAEUC,sBAAsBA,CAAA,EAEX;IACnB,OAAOP,oBAAoB;EAC7B;EAEUQ,2BAA2BA,CAAA,EAOnC;IACA,OAAOT,oBAAoB;EAC7B;EAEUU,oBAAoBA,CAAA,EAEF;IAC1B,OAAOX,2BAA2B;EACpC;EAEA,OAAOY,WAAWA,CAChBL,KAAkC,EACV;IACxB,OAAOH,eAAe,CAACS,mBAAmB,CACxC,wBAAwB,EACxBN,KAAK,EACL,MAAM,IAAIF,sBAAsB,CAACE,KAAK,CACxC,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"names":["convertSamplesToObservation","getSamplesFromHealth","getTotalSamplesCount","BaseHealthSyncService","InstanceManager","AppleHealthSyncService","constructor","props","getProviderName","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","getInstance","getInstanceInternal"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/apple-health-sync-service.ts"],"mappings":";;AAYA,SAASA,2BAA2B,QAAQ,4CAAyC;AACrF,SAASC,oBAAoB,QAAQ,qCAAkC;AACvE,SAASC,oBAAoB,QAAQ,qCAAkC;AAEvE,SAASC,qBAAqB,QAAQ,+BAA4B;AAClE,SAASC,eAAe,QAAQ,gCAA6B;AAM7D,OAAO,MAAMC,sBAAsB,SAASF,qBAAqB,CAI/D;EACQG,WAAWA,CAACC,KAAkC,EAAE;IACtD,KAAK,CAACA,KAAK,CAAC;EACd;EAEUC,eAAeA,CAAA,EAAmB;IAC1C,OAAO,cAAc;EACvB;EAEUC,sBAAsBA,CAAA,EAEX;IACnB,OAAOP,oBAAoB;EAC7B;EAEUQ,2BAA2BA,CAAA,EAOnC;IACA,OAAOT,oBAAoB;EAC7B;EAEUU,oBAAoBA,CAAA,EAEF;IAC1B,OAAOX,2BAA2B;EACpC;EAEA,OAAOY,WAAWA,CAChBL,KAAkC,EACV;IACxB,OAAOH,eAAe,CAACS,mBAAmB,CACxC,wBAAwB,EACxBN,KAAK,EACL,MAAM,IAAIF,sBAAsB,CAACE,KAAK,CACxC,CAAC;EACH;AACF","ignoreList":[]}
@@ -7,7 +7,8 @@ import { getHealthObservationDevice } from "./health-observation-device.js";
7
7
  const FHIR_UNIT_SYSTEM = "http://unitsofmeasure.org";
8
8
  const LOINC_SYSTEM = "http://loinc.org";
9
9
  const HEALTH_RECORD_DATA_EXTENSION = "https://api.ovok.com/fhir/StructureDefinition/health-record-data";
10
- export const convertGenericHealthDataToObservation = async ({
10
+ const HEALTHKIT_BODY_MASS_INDEX = "HKQuantityTypeIdentifierBodyMassIndex";
11
+ const convertGenericHealthDataToObservation = async ({
11
12
  data,
12
13
  patientId,
13
14
  mode,
@@ -27,7 +28,7 @@ export const convertGenericHealthDataToObservation = async ({
27
28
  const configuredSystem = typeIdentifierCodeSystems?.[typeIdentifier];
28
29
  const system = configuredSystem === LOINC_SYSTEM ? configuredCode && isLoincCode(configuredCode) ? LOINC_SYSTEM : undefined : configuredSystem;
29
30
  const interval = getInterval(data);
30
- const measurement = getMeasurement(first, mode, interval);
31
+ const measurement = getMeasurement(first, mode, interval, typeIdentifier);
31
32
  if (!measurement || !patientId) {
32
33
  return [];
33
34
  }
@@ -103,14 +104,14 @@ const toPortableRecordData = value => {
103
104
  }
104
105
  return Object.fromEntries(Object.entries(value).filter(([key]) => !OMITTED_RECORD_FIELDS.has(key)).map(([key, child]) => [key, toPortableRecordData(child)]));
105
106
  };
106
- const getMeasurement = (value, mode, interval) => {
107
+ const getMeasurement = (value, mode, interval, typeIdentifier) => {
107
108
  const raw = value;
108
109
  if (isAggregatedHealthData(value)) {
109
110
  const number = value.kind === "daily-summary" ? value.average : value.value;
110
111
  return number === undefined ? {
111
112
  valueString: JSON.stringify(toPortableRecordData(value)) ?? String(value)
112
113
  } : {
113
- valueQuantity: quantity(number, value.unit)
114
+ valueQuantity: quantity(number, value.unit, typeIdentifier)
114
115
  };
115
116
  }
116
117
  if (mode === "session" && interval) {
@@ -120,7 +121,7 @@ const getMeasurement = (value, mode, interval) => {
120
121
  }
121
122
  const extracted = extractValue(raw);
122
123
  return extracted ? {
123
- valueQuantity: quantity(extracted.value, extracted.unit)
124
+ valueQuantity: quantity(extracted.value, typeIdentifier === HEALTHKIT_BODY_MASS_INDEX && mode === "point" ? "kg/m2" : extracted.unit, typeIdentifier)
124
125
  } : {
125
126
  valueString: JSON.stringify(toPortableRecordData(raw)) ?? String(raw)
126
127
  };
@@ -132,6 +133,13 @@ const extractValue = raw => {
132
133
  unit: String(raw.unit ?? "1")
133
134
  };
134
135
  }
136
+ const quantity = raw.quantity;
137
+ if (typeof quantity?.value === "number") {
138
+ return {
139
+ value: quantity.value,
140
+ unit: String(quantity.unit ?? raw.unit ?? "1")
141
+ };
142
+ }
135
143
  const candidates = [["height", "inMeters", "m"], ["bodyFat", "percentage", "%"], ["mass", "inKilograms", "kg"], ["weight", "inKilograms", "kg"], ["distance", "inMeters", "m"], ["energy", "inKilocalories", "kcal"]];
136
144
  for (const [containerKey, valueKey, fallbackUnit] of candidates) {
137
145
  const container = raw[containerKey];
@@ -166,9 +174,12 @@ const extractValue = raw => {
166
174
  const getInterval = data => {
167
175
  const intervals = data.map(item => {
168
176
  const raw = item;
169
- const startValue = raw.startDate ?? raw.startTime ?? 0;
177
+ const startValue = raw.startDate ?? raw.startTime ?? raw.time ?? raw.endDate ?? raw.endTime;
178
+ if (startValue === undefined) {
179
+ return undefined;
180
+ }
170
181
  const start = new Date(startValue);
171
- const endValue = raw.endDate ?? raw.endTime ?? start;
182
+ const endValue = raw.endDate ?? raw.endTime ?? raw.time ?? raw.startDate ?? raw.startTime;
172
183
  const end = new Date(endValue);
173
184
  return Number.isNaN(start.getTime()) || Number.isNaN(end.getTime()) ? undefined : {
174
185
  start,
@@ -178,14 +189,16 @@ const getInterval = data => {
178
189
  if (intervals.length === 0) {
179
190
  return undefined;
180
191
  }
181
- return {
182
- start: new Date(Math.min(...intervals.map(({
183
- start
184
- }) => start.getTime()))),
185
- end: new Date(Math.max(...intervals.map(({
186
- end
187
- }) => end.getTime())))
188
- };
192
+ const start = new Date(Math.min(...intervals.map(({
193
+ start
194
+ }) => start.getTime())));
195
+ const end = new Date(Math.max(...intervals.map(({
196
+ end
197
+ }) => end.getTime())));
198
+ return end.getTime() > start.getTime() ? {
199
+ start,
200
+ end
201
+ } : undefined;
189
202
  };
190
203
  const getDate = value => {
191
204
  const raw = value;
@@ -232,25 +245,51 @@ const component = (label, value, unit) => ({
232
245
  },
233
246
  valueQuantity: quantity(value, unit)
234
247
  });
235
- const quantity = (value, unit) => ({
236
- value,
237
- unit,
238
- system: FHIR_UNIT_SYSTEM,
239
- code: normalizeUnit(unit)
240
- });
241
- const normalizeUnit = unit => ({
242
- kilometers: "km",
243
- meters: "m",
244
- miles: "mi",
245
- kilograms: "kg",
246
- grams: "g",
247
- milligrams: "mg",
248
- kilocalories: "kcal",
249
- calories: "cal",
250
- minutes: "min",
251
- seconds: "s",
252
- beatsPerMinute: "count/min"
253
- })[unit] ?? unit;
248
+ const quantity = (value, unit, typeIdentifier) => {
249
+ const code = getUcumCode(unit, typeIdentifier);
250
+ return {
251
+ value,
252
+ unit,
253
+ ...(code ? {
254
+ system: FHIR_UNIT_SYSTEM,
255
+ code
256
+ } : {})
257
+ };
258
+ };
259
+ const getUcumCode = (unit, typeIdentifier) => {
260
+ if (unit === "count/min") {
261
+ if (["HKQuantityTypeIdentifierHeartRate", "HKQuantityTypeIdentifierRestingHeartRate", "HKQuantityTypeIdentifierWalkingHeartRateAverage", "HeartRate", "RestingHeartRate"].includes(typeIdentifier ?? "")) {
262
+ return "{beats}/min";
263
+ }
264
+ if (["HKQuantityTypeIdentifierRespiratoryRate", "RespiratoryRate"].includes(typeIdentifier ?? "")) {
265
+ return "{breaths}/min";
266
+ }
267
+ return "{counts}/min";
268
+ }
269
+ const normalized = {
270
+ kilometers: "km",
271
+ meters: "m",
272
+ miles: "[mi_i]",
273
+ count: "{count}",
274
+ steps: "{steps}",
275
+ kilograms: "kg",
276
+ grams: "g",
277
+ milligrams: "mg",
278
+ kilocalories: "kcal",
279
+ calories: "cal",
280
+ minutes: "min",
281
+ seconds: "s",
282
+ beatsPerMinute: "{beats}/min",
283
+ bpm: "{beats}/min",
284
+ "breaths/min": "{breaths}/min",
285
+ "°C": "Cel",
286
+ mmHg: "mm[Hg]",
287
+ degC: "Cel"
288
+ }[unit] ?? unit;
289
+ return UCUM_CODES.has(normalized) ? normalized : undefined;
290
+ };
291
+ const UCUM_CODES = new Set(["1", "%", "Cel", "cal", "g", "h", "kcal", "kg", "kg/m2", "km", "m", "mL/kg/min", "mg", "mg/dL", "min", "[mi_i]", "mm[Hg]", "mmol/L", "ms", "mV", "s", "{beats}/min", "{breaths}/min", "{count}", "{counts}/min", "{ratio}", "{steps}"]);
292
+ const normalizeUnit = (unit, typeIdentifier) => getUcumCode(unit, typeIdentifier) ?? unit;
254
293
  const getStableObservationId = ({
255
294
  typeIdentifier,
256
295
  code,
@@ -262,4 +301,5 @@ const getStableObservationId = ({
262
301
  const value = measurement.valueQuantity?.value ?? measurement.valueString ?? "empty";
263
302
  return `health-${[typeIdentifier, code, time, value].join("-").replace(/[^a-zA-Z0-9.-]/g, "-").slice(0, 64)}`;
264
303
  };
304
+ export { convertGenericHealthDataToObservation, getUcumCode };
265
305
  //# sourceMappingURL=convert-generic-health-data.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isAggregatedHealthData","getHealthObservationDevice","FHIR_UNIT_SYSTEM","LOINC_SYSTEM","HEALTH_RECORD_DATA_EXTENSION","convertGenericHealthDataToObservation","data","patientId","mode","typeIdentifier","configuredTypeIdentifier","typeIdentifierCodes","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","first","value","String","quantityType","categoryType","recordType","configuredCode","code","configuredSystem","system","isLoincCode","undefined","interval","getInterval","measurement","getMeasurement","metadata","getMetadata","device","observationDate","start","getDate","observation","resourceType","id","getStableObservationId","date","status","subject","reference","coding","display","extension","url","valueString","JSON","stringify","map","toPortableRecordData","effectivePeriod","toISOString","end","effectiveDateTime","component","minimum","unit","maximum","stageComponents","getSleepStageComponents","length","test","OMITTED_RECORD_FIELDS","Set","Date","Array","isArray","Object","fromEntries","entries","filter","key","has","child","raw","number","kind","average","valueQuantity","quantity","getTime","extracted","extractValue","candidates","containerKey","valueKey","fallbackUnit","container","normalizeUnit","alternateCandidates","scalarCandidates","intervals","item","startValue","startDate","startTime","endValue","endDate","endTime","Number","isNaN","Boolean","Math","min","max","time","parsed","sourceRevision","source","manufacturer","dataOrigin","model","sourceApp","name","recordingMethod","flatMap","stages","duration","isFinite","stage","label","text","kilometers","meters","miles","kilograms","grams","milligrams","kilocalories","calories","minutes","seconds","beatsPerMinute","join","replace","slice"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/convert-generic-health-data.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isAggregatedHealthData","getHealthObservationDevice","FHIR_UNIT_SYSTEM","LOINC_SYSTEM","HEALTH_RECORD_DATA_EXTENSION","HEALTHKIT_BODY_MASS_INDEX","convertGenericHealthDataToObservation","data","patientId","mode","typeIdentifier","configuredTypeIdentifier","typeIdentifierCodes","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","first","value","String","quantityType","categoryType","recordType","configuredCode","code","configuredSystem","system","isLoincCode","undefined","interval","getInterval","measurement","getMeasurement","metadata","getMetadata","device","observationDate","start","getDate","observation","resourceType","id","getStableObservationId","date","status","subject","reference","coding","display","extension","url","valueString","JSON","stringify","map","toPortableRecordData","effectivePeriod","toISOString","end","effectiveDateTime","component","minimum","unit","maximum","stageComponents","getSleepStageComponents","length","test","OMITTED_RECORD_FIELDS","Set","Date","Array","isArray","Object","fromEntries","entries","filter","key","has","child","raw","number","kind","average","valueQuantity","quantity","getTime","extracted","extractValue","candidates","containerKey","valueKey","fallbackUnit","container","normalizeUnit","alternateCandidates","scalarCandidates","intervals","item","startValue","startDate","startTime","time","endDate","endTime","endValue","Number","isNaN","Boolean","Math","min","max","parsed","sourceRevision","source","manufacturer","dataOrigin","model","sourceApp","name","recordingMethod","flatMap","stages","duration","isFinite","stage","label","text","getUcumCode","includes","normalized","kilometers","meters","miles","count","steps","kilograms","grams","milligrams","kilocalories","calories","minutes","seconds","beatsPerMinute","bpm","mmHg","degC","UCUM_CODES","join","replace","slice"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/convert-generic-health-data.ts"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,8 @@
3
3
  import { MeasurementTypeKey, ObservationServiceCreator } from "@ovok/core";
4
4
  import { convertGenericHealthDataToObservation } from "./convert-generic-health-data.js";
5
5
  import { getHealthObservationDevice } from "./health-observation-device.js";
6
+ import { withHealthRecordTiming } from "./health-record-timing.js";
7
+ import { hasConfiguredNonLoincCoding, normalizeCoreHealthObservation } from "./normalize-core-health-observation.js";
6
8
  export const convertRecordsToObservation = async props => {
7
9
  const {
8
10
  data,
@@ -20,6 +22,12 @@ export const convertRecordsToObservation = async props => {
20
22
  if (!record) {
21
23
  return [];
22
24
  }
25
+ if (hasConfiguredNonLoincCoding(props)) {
26
+ return convertGenericHealthDataToObservation({
27
+ ...props,
28
+ mode
29
+ });
30
+ }
23
31
  if (!isCoreMeasurementTypeKey(measurementTypeKey)) {
24
32
  return convertGenericHealthDataToObservation({
25
33
  ...props,
@@ -35,35 +43,30 @@ export const convertRecordsToObservation = async props => {
35
43
  const observationBody = await client.generateObservationBodiesByMeasurement({
36
44
  measurement
37
45
  });
38
- const recordTime = getRecordTime(record);
46
+ const typedRecordTiming = record;
39
47
  const device = getHealthObservationDevice({
40
48
  manufacturer: typedRecord.metadata?.device?.manufacturer,
41
49
  model: typedRecord.metadata?.device?.model,
42
50
  sourceApp: typedRecord.metadata?.dataOrigin,
43
51
  recordingMethod: typedRecord.metadata?.recordingMethod
44
52
  });
45
- return observationBody.map(observation => ({
53
+ return observationBody.map(observation => normalizeCoreHealthObservation(withHealthRecordTiming({
46
54
  ...observation,
47
55
  ...(device ? {
48
56
  device: {
49
57
  ...(observation.device ?? {}),
50
58
  ...device
51
59
  }
52
- } : {}),
53
- effectiveDateTime: recordTime ?? observation.effectiveDateTime
60
+ } : {})
61
+ }, typedRecordTiming.time !== undefined ? {
62
+ point: typedRecordTiming.time
63
+ } : {
64
+ start: typedRecordTiming.startTime,
65
+ end: typedRecordTiming.endTime
66
+ }), {
67
+ ...props,
68
+ applyCatalogCoding: observationBody.length === 1 && data.length === 1
54
69
  }));
55
70
  };
56
71
  const isCoreMeasurementTypeKey = value => Object.values(MeasurementTypeKey).includes(value);
57
- const getRecordTime = record => {
58
- if ("time" in record) {
59
- return record.time;
60
- }
61
- if ("endTime" in record) {
62
- return record.endTime;
63
- }
64
- if ("startTime" in record) {
65
- return record.startTime;
66
- }
67
- return undefined;
68
- };
69
72
  //# sourceMappingURL=convert-records-to-observation.js.map