@ovok/native 1.10.2 → 1.10.3

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 (136) hide show
  1. package/README.md +5 -5
  2. package/lib/commonjs/modules/auth/default-translation.js +5 -0
  3. package/lib/commonjs/modules/auth/default-translation.js.map +1 -1
  4. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js +3 -6
  5. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  6. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +3 -3
  7. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  8. package/lib/commonjs/modules/auth/session/logout-session.js +5 -2
  9. package/lib/commonjs/modules/auth/session/logout-session.js.map +1 -1
  10. package/lib/commonjs/modules/auth/session/session-store-types.js +17 -0
  11. package/lib/commonjs/modules/auth/session/session-store-types.js.map +1 -0
  12. package/lib/commonjs/modules/auth/session/session-store.js +25 -13
  13. package/lib/commonjs/modules/auth/session/session-store.js.map +1 -1
  14. package/lib/commonjs/modules/auth/utils/sign-in-error.js +6 -2
  15. package/lib/commonjs/modules/auth/utils/sign-in-error.js.map +1 -1
  16. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +5 -0
  17. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  18. package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js +36 -1
  19. package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js.map +1 -1
  20. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js +25 -0
  21. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
  22. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js +6 -0
  23. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
  24. package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js +22 -36
  25. package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
  26. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
  27. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  28. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +33 -19
  29. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  30. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js +51 -11
  31. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js.map +1 -1
  32. package/lib/commonjs/modules/data-sync/utils/health-units.js +1 -0
  33. package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -1
  34. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +31 -15
  35. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -1
  36. package/lib/commonjs/modules/ui/default-translation.js +50 -0
  37. package/lib/commonjs/modules/ui/default-translation.js.map +1 -0
  38. package/lib/module/modules/auth/default-translation.js +5 -0
  39. package/lib/module/modules/auth/default-translation.js.map +1 -1
  40. package/lib/module/modules/auth/profile/components/profile-form-provider.js +3 -6
  41. package/lib/module/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  42. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +2 -3
  43. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  44. package/lib/module/modules/auth/session/logout-session.js +5 -2
  45. package/lib/module/modules/auth/session/logout-session.js.map +1 -1
  46. package/lib/module/modules/auth/session/session-store-types.js +13 -0
  47. package/lib/module/modules/auth/session/session-store-types.js.map +1 -0
  48. package/lib/module/modules/auth/session/session-store.js +22 -10
  49. package/lib/module/modules/auth/session/session-store.js.map +1 -1
  50. package/lib/module/modules/auth/utils/sign-in-error.js +5 -2
  51. package/lib/module/modules/auth/utils/sign-in-error.js.map +1 -1
  52. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +5 -0
  53. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  54. package/lib/module/modules/bt-management/hooks/declined-device-storage.js +33 -1
  55. package/lib/module/modules/bt-management/hooks/declined-device-storage.js.map +1 -1
  56. package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js +20 -0
  57. package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
  58. package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js +4 -0
  59. package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
  60. package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js +21 -35
  61. package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
  62. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
  63. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  64. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +33 -19
  65. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  66. package/lib/module/modules/data-sync/utils/health-data-catalog.js +51 -11
  67. package/lib/module/modules/data-sync/utils/health-data-catalog.js.map +1 -1
  68. package/lib/module/modules/data-sync/utils/health-units.js +1 -0
  69. package/lib/module/modules/data-sync/utils/health-units.js.map +1 -1
  70. package/lib/module/modules/ui/components/bluetooth-state-notice.js +31 -15
  71. package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -1
  72. package/lib/module/modules/ui/default-translation.js +45 -0
  73. package/lib/module/modules/ui/default-translation.js.map +1 -0
  74. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +5 -0
  75. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/src/modules/auth/session/logout-session.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts +27 -0
  80. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts.map +1 -0
  81. package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts +1 -18
  82. package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts +2 -1
  84. package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts +10 -1
  87. package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
  89. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
  91. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
  92. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +6 -14
  93. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +7 -0
  96. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts +2 -0
  99. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
  102. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts +30 -0
  104. package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts.map +1 -0
  105. package/lib/typescript/module/src/modules/auth/default-translation.d.ts +5 -0
  106. package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -1
  107. package/lib/typescript/module/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  108. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  109. package/lib/typescript/module/src/modules/auth/session/logout-session.d.ts.map +1 -1
  110. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts +27 -0
  111. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts.map +1 -0
  112. package/lib/typescript/module/src/modules/auth/session/session-store.d.ts +1 -18
  113. package/lib/typescript/module/src/modules/auth/session/session-store.d.ts.map +1 -1
  114. package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts +2 -1
  115. package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  116. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  117. package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts +10 -1
  118. package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -1
  119. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
  120. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
  121. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
  122. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
  123. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +6 -14
  124. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
  125. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  126. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +7 -0
  127. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  128. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  129. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts +2 -0
  130. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
  131. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  132. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
  133. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
  134. package/lib/typescript/module/src/modules/ui/default-translation.d.ts +30 -0
  135. package/lib/typescript/module/src/modules/ui/default-translation.d.ts.map +1 -0
  136. package/package.json +4 -7
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.notNearbyError = exports.getDismissedLater = void 0;
7
+ var _bluetoothError = require("../types/bluetooth-error.js");
8
+ const dismissedLaterByRuntime = new WeakMap();
9
+ const getDismissedLater = (runtime, storageKey) => {
10
+ let byStorageKey = dismissedLaterByRuntime.get(runtime);
11
+ if (!byStorageKey) {
12
+ byStorageKey = new Map();
13
+ dismissedLaterByRuntime.set(runtime, byStorageKey);
14
+ }
15
+ let dismissed = byStorageKey.get(storageKey);
16
+ if (!dismissed) {
17
+ dismissed = new Set();
18
+ byStorageKey.set(storageKey, dismissed);
19
+ }
20
+ return dismissed;
21
+ };
22
+ exports.getDismissedLater = getDismissedLater;
23
+ const notNearbyError = () => new _bluetoothError.BluetoothError(_bluetoothError.BluetoothErrorCode.CONNECTION_FAILED, "The device is no longer nearby.");
24
+ exports.notNearbyError = notNearbyError;
25
+ //# sourceMappingURL=nearby-device-offer-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_bluetoothError","require","dismissedLaterByRuntime","WeakMap","getDismissedLater","runtime","storageKey","byStorageKey","get","Map","set","dismissed","Set","exports","notNearbyError","BluetoothError","BluetoothErrorCode","CONNECTION_FAILED"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/nearby-device-offer-state.ts"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,OAAA;AAEA,MAAMC,uBAAuB,GAAG,IAAIC,OAAO,CAGzC,CAAC;AAEH,MAAMC,iBAAiB,GAAGA,CACxBC,OAAyB,EACzBC,UAAkB,KACF;EAChB,IAAIC,YAAY,GAAGL,uBAAuB,CAACM,GAAG,CAACH,OAAO,CAAC;EAEvD,IAAI,CAACE,YAAY,EAAE;IACjBA,YAAY,GAAG,IAAIE,GAAG,CAAC,CAAC;IACxBP,uBAAuB,CAACQ,GAAG,CAACL,OAAO,EAAEE,YAAY,CAAC;EACpD;EAEA,IAAII,SAAS,GAAGJ,YAAY,CAACC,GAAG,CAACF,UAAU,CAAC;EAE5C,IAAI,CAACK,SAAS,EAAE;IACdA,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;IACrBL,YAAY,CAACG,GAAG,CAACJ,UAAU,EAAEK,SAAS,CAAC;EACzC;EAEA,OAAOA,SAAS;AAClB,CAAC;AAACE,OAAA,CAAAT,iBAAA,GAAAA,iBAAA;AAEF,MAAMU,cAAc,GAAGA,CAAA,KACrB,IAAIC,8BAAc,CAChBC,kCAAkB,CAACC,iBAAiB,EACpC,iCACF,CAAC;AAACJ,OAAA,CAAAC,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=nearby-device-offer-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/nearby-device-offer-types.ts"],"mappings":"","ignoreList":[]}
@@ -7,32 +7,17 @@ exports.useNearbyDeviceOffer = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _bluetoothError = require("../types/bluetooth-error.js");
9
9
  var _declinedDeviceStorage = require("./declined-device-storage.js");
10
+ var _nearbyDeviceOfferState = require("./nearby-device-offer-state.js");
10
11
  var _runtimeContext = require("./runtime-context.js");
11
12
  var _useNearbyDevices = require("./use-nearby-devices.js");
12
13
  var _usePairedDevices = require("./use-paired-devices.js");
13
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
- /* eslint-disable import/group-exports */
15
-
16
- const dismissedLaterByRuntime = new WeakMap();
17
- const getDismissedLater = (runtime, storageKey) => {
18
- let byStorageKey = dismissedLaterByRuntime.get(runtime);
19
- if (!byStorageKey) {
20
- byStorageKey = new Map();
21
- dismissedLaterByRuntime.set(runtime, byStorageKey);
22
- }
23
- let dismissed = byStorageKey.get(storageKey);
24
- if (!dismissed) {
25
- dismissed = new Set();
26
- byStorageKey.set(storageKey, dismissed);
27
- }
28
- return dismissed;
29
- };
30
- const notNearbyError = () => new _bluetoothError.BluetoothError(_bluetoothError.BluetoothErrorCode.CONNECTION_FAILED, "The device is no longer nearby.");
31
15
  const useNearbyDeviceOffer = ({
32
16
  storage,
33
17
  storageKey = _usePairedDevices.DEFAULT_PAIRED_DEVICE_STORAGE_KEY,
34
18
  declinedStorageKey = `${storageKey}.declined-nearby-devices`,
35
19
  enabled = true,
20
+ shouldOffer,
36
21
  onPaired,
37
22
  onError
38
23
  }) => {
@@ -48,7 +33,8 @@ const useNearbyDeviceOffer = ({
48
33
  storage,
49
34
  storageKey
50
35
  });
51
- const [declinedIds, setDeclinedIds] = React.useState(undefined);
36
+ const declinedState = React.useMemo(() => (0, _declinedDeviceStorage.getDeclinedDeviceState)(runtime, declinedStorageKey), [runtime, declinedStorageKey]);
37
+ const declinedIds = declinedState.ids;
52
38
  const [status, setStatus] = React.useState("idle");
53
39
  const [error, setError] = React.useState(undefined);
54
40
  const [, redraw] = React.useReducer(value => value + 1, 0);
@@ -57,15 +43,13 @@ const useNearbyDeviceOffer = ({
57
43
  const previousDeviceIdRef = React.useRef(undefined);
58
44
  const onErrorRef = React.useRef(onError);
59
45
  onErrorRef.current = onError;
60
- const dismissedLater = React.useMemo(() => getDismissedLater(runtime, storageKey), [runtime, storageKey]);
46
+ const dismissedLater = React.useMemo(() => (0, _nearbyDeviceOfferState.getDismissedLater)(runtime, storageKey), [runtime, storageKey]);
61
47
  const pairedIdsLoaded = runtime.getPairedDeviceIds(storageKey) !== undefined;
62
48
  React.useEffect(() => {
63
49
  let active = true;
64
- void Promise.resolve().then(() => storage.getItem(declinedStorageKey)).then(_declinedDeviceStorage.parseDeclinedDeviceIds).then(ids => {
65
- if (active) {
66
- setDeclinedIds(ids);
67
- }
68
- }).catch(cause => {
50
+ const notify = () => redraw();
51
+ declinedState.listeners.add(notify);
52
+ void (0, _declinedDeviceStorage.loadDeclinedDeviceIds)(declinedState, storage, declinedStorageKey).catch(cause => {
69
53
  if (active) {
70
54
  const normalized = (0, _bluetoothError.toBluetoothError)(cause);
71
55
  setError(normalized);
@@ -75,9 +59,10 @@ const useNearbyDeviceOffer = ({
75
59
  });
76
60
  return () => {
77
61
  active = false;
62
+ declinedState.listeners.delete(notify);
78
63
  };
79
- }, [declinedStorageKey, storage]);
80
- const device = enabled && pairedIdsLoaded && declinedIds !== undefined ? devices.find(candidate => !paired.includes(candidate.id) && !declinedIds.includes(candidate.id) && !dismissedLater.has(candidate.id)) : undefined;
64
+ }, [declinedState, declinedStorageKey, storage]);
65
+ 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;
81
66
  deviceRef.current = device;
82
67
  const deviceId = device?.id;
83
68
  const hasDevice = device !== undefined;
@@ -95,7 +80,7 @@ const useNearbyDeviceOffer = ({
95
80
  }
96
81
  const selected = deviceRef.current;
97
82
  if (!selected) {
98
- const missing = notNearbyError();
83
+ const missing = (0, _nearbyDeviceOfferState.notNearbyError)();
99
84
  setError(missing);
100
85
  setStatus("error");
101
86
  onError?.(missing);
@@ -107,7 +92,7 @@ const useNearbyDeviceOffer = ({
107
92
  try {
108
93
  const connected = await pair(selected.id);
109
94
  if (!connected) {
110
- throw notNearbyError();
95
+ throw (0, _nearbyDeviceOfferState.notNearbyError)();
111
96
  }
112
97
  await remember(connected);
113
98
  setStatus("paired");
@@ -122,28 +107,29 @@ const useNearbyDeviceOffer = ({
122
107
  busyRef.current = false;
123
108
  }
124
109
  }, [onError, onPaired, pair, remember]);
125
- const decline = React.useCallback(async () => {
110
+ const decline = React.useCallback(async deviceId => {
126
111
  const selected = deviceRef.current;
127
- if (!selected) {
112
+ const selectedId = deviceId ?? selected?.id;
113
+ if (!selectedId) {
128
114
  return;
129
115
  }
130
116
  try {
131
- const next = await (0, _declinedDeviceStorage.updateDeclinedDeviceIds)(storage, declinedStorageKey, ids => [...new Set([...ids, selected.id])]);
132
- setDeclinedIds(next);
117
+ const next = await (0, _declinedDeviceStorage.updateDeclinedDeviceIds)(storage, declinedStorageKey, ids => [...new Set([...ids, selectedId])]);
118
+ (0, _declinedDeviceStorage.publishDeclinedDeviceIds)(declinedState, next);
133
119
  setError(undefined);
134
120
  setStatus("idle");
135
121
  } catch (cause) {
136
122
  const normalized = (0, _bluetoothError.toBluetoothError)(cause);
137
- onError?.(normalized, selected);
123
+ onError?.(normalized, selected?.id === selectedId ? selected : undefined);
138
124
  throw normalized;
139
125
  }
140
- }, [declinedStorageKey, onError, storage]);
126
+ }, [declinedState, declinedStorageKey, onError, storage]);
141
127
  const undecline = React.useCallback(async deviceId => {
142
128
  const next = await (0, _declinedDeviceStorage.updateDeclinedDeviceIds)(storage, declinedStorageKey, ids => ids.filter(id => id !== deviceId));
143
- setDeclinedIds(next);
129
+ (0, _declinedDeviceStorage.publishDeclinedDeviceIds)(declinedState, next);
144
130
  setError(undefined);
145
131
  setStatus("idle");
146
- }, [declinedStorageKey, storage]);
132
+ }, [declinedState, declinedStorageKey, storage]);
147
133
  const later = React.useCallback(() => {
148
134
  const selected = deviceRef.current;
149
135
  if (!selected) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_bluetoothError","_declinedDeviceStorage","_runtimeContext","_useNearbyDevices","_usePairedDevices","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","dismissedLaterByRuntime","getDismissedLater","runtime","storageKey","byStorageKey","Map","dismissed","Set","notNearbyError","BluetoothError","BluetoothErrorCode","CONNECTION_FAILED","useNearbyDeviceOffer","storage","DEFAULT_PAIRED_DEVICE_STORAGE_KEY","declinedStorageKey","enabled","onPaired","onError","useBluetoothRuntime","devices","useBluetoothSelector","snapshot","pair","useNearbyDevices","paired","remember","usePairedDevices","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","parseDeclinedDeviceIds","ids","catch","cause","normalized","toBluetoothError","device","find","candidate","includes","id","deviceId","hasDevice","accept","useCallback","selected","missing","connected","decline","next","updateDeclinedDeviceIds","undecline","filter","later","add","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-device-offer.ts"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AAMA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAMA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAI8B,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAtB9B;;AAmCA,MAAMkB,uBAAuB,GAAG,IAAIjB,OAAO,CAA6C,CAAC;AAEzF,MAAMkB,iBAAiB,GAAGA,CAACC,OAAyB,EAAEC,UAAkB,KAAkB;EACxF,IAAIC,YAAY,GAAGJ,uBAAuB,CAACP,GAAG,CAACS,OAAO,CAAC;EAEvD,IAAI,CAACE,YAAY,EAAE;IACjBA,YAAY,GAAG,IAAIC,GAAG,CAAC,CAAC;IACxBL,uBAAuB,CAACN,GAAG,CAACQ,OAAO,EAAEE,YAAY,CAAC;EACpD;EAEA,IAAIE,SAAS,GAAGF,YAAY,CAACX,GAAG,CAACU,UAAU,CAAC;EAE5C,IAAI,CAACG,SAAS,EAAE;IACdA,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;IACrBH,YAAY,CAACV,GAAG,CAACS,UAAU,EAAEG,SAAS,CAAC;EACzC;EAEA,OAAOA,SAAS;AAClB,CAAC;AAED,MAAME,cAAc,GAAGA,CAAA,KAAsB,IAAIC,8BAAc,CAC7DC,kCAAkB,CAACC,iBAAiB,EACpC,iCACF,CAAC;AAEM,MAAMC,oBAAoB,GAAGA,CAAC;EACnCC,OAAO;EACPV,UAAU,GAAGW,mDAAiC;EAC9CC,kBAAkB,GAAG,GAAGZ,UAAU,0BAA0B;EAC5Da,OAAO,GAAG,IAAI;EACdC,QAAQ;EACRC;AAC2B,CAAC,KAQzB;EACH,MAAMhB,OAAO,GAAG,IAAAiB,mCAAmB,EAAC,CAAC;EACrC,MAAMC,OAAO,GAAG,IAAAC,oCAAoB,EAAEC,QAAQ,IAAKA,QAAQ,CAACF,OAAO,CAAC;EACpE,MAAM;IAAEG;EAAK,CAAC,GAAG,IAAAC,kCAAgB,EAAC,CAAC;EACnC,MAAM;IAAEC,MAAM;IAAEF,IAAI,EAAEG;EAAS,CAAC,GAAG,IAAAC,kCAAgB,EAAC;IAAEd,OAAO;IAAEV;EAAW,CAAC,CAAC;EAC5E,MAAM,CAACyB,WAAW,EAAEC,cAAc,CAAC,GAAGxD,KAAK,CAACyD,QAAQ,CAAgCC,SAAS,CAAC;EAC9F,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG5D,KAAK,CAACyD,QAAQ,CAA0B,MAAM,CAAC;EAC3E,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAG9D,KAAK,CAACyD,QAAQ,CAA6BC,SAAS,CAAC;EAC/E,MAAM,GAAGK,MAAM,CAAC,GAAG/D,KAAK,CAACgE,UAAU,CAAEC,KAAK,IAAKA,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;EAC5D,MAAMC,OAAO,GAAGlE,KAAK,CAACmE,MAAM,CAAC,KAAK,CAAC;EACnC,MAAMC,SAAS,GAAGpE,KAAK,CAACmE,MAAM,CAA4BT,SAAS,CAAC;EACpE,MAAMW,mBAAmB,GAAGrE,KAAK,CAACmE,MAAM,CAAqBT,SAAS,CAAC;EACvE,MAAMY,UAAU,GAAGtE,KAAK,CAACmE,MAAM,CAACtB,OAAO,CAAC;EAExCyB,UAAU,CAACC,OAAO,GAAG1B,OAAO;EAE5B,MAAM2B,cAAc,GAAGxE,KAAK,CAACyE,OAAO,CAClC,MAAM7C,iBAAiB,CAACC,OAAO,EAAEC,UAAU,CAAC,EAC5C,CAACD,OAAO,EAAEC,UAAU,CACtB,CAAC;EAED,MAAM4C,eAAe,GAAG7C,OAAO,CAAC8C,kBAAkB,CAAC7C,UAAU,CAAC,KAAK4B,SAAS;EAE5E1D,KAAK,CAAC4E,SAAS,CAAC,MAAM;IACpB,IAAIC,MAAM,GAAG,IAAI;IAEjB,KAAKC,OAAO,CAACC,OAAO,CAAC,CAAC,CACnBC,IAAI,CAAC,MAAMxC,OAAO,CAACyC,OAAO,CAACvC,kBAAkB,CAAC,CAAC,CAC/CsC,IAAI,CAACE,6CAAsB,CAAC,CAC5BF,IAAI,CAAEG,GAAG,IAAK;MACb,IAAIN,MAAM,EAAE;QACVrB,cAAc,CAAC2B,GAAG,CAAC;MACrB;IACF,CAAC,CAAC,CACDC,KAAK,CAAEC,KAAc,IAAK;MACzB,IAAIR,MAAM,EAAE;QACV,MAAMS,UAAU,GAAG,IAAAC,gCAAgB,EAACF,KAAK,CAAC;QAE1CvB,QAAQ,CAACwB,UAAU,CAAC;QACpB1B,SAAS,CAAC,OAAO,CAAC;QAClBU,UAAU,CAACC,OAAO,GAAGe,UAAU,CAAC;MAClC;IACF,CAAC,CAAC;IAEJ,OAAO,MAAM;MACXT,MAAM,GAAG,KAAK;IAChB,CAAC;EACH,CAAC,EAAE,CAACnC,kBAAkB,EAAEF,OAAO,CAAC,CAAC;EAEjC,MAAMgD,MAAM,GAAG7C,OAAO,IAAI+B,eAAe,IAAInB,WAAW,KAAKG,SAAS,GAClEX,OAAO,CAAC0C,IAAI,CAAEC,SAAS,IACvB,CAACtC,MAAM,CAACuC,QAAQ,CAACD,SAAS,CAACE,EAAE,CAAC,IAC9B,CAACrC,WAAW,CAACoC,QAAQ,CAACD,SAAS,CAACE,EAAE,CAAC,IACnC,CAACpB,cAAc,CAACrD,GAAG,CAACuE,SAAS,CAACE,EAAE,CAClC,CAAC,GACClC,SAAS;EAEbU,SAAS,CAACG,OAAO,GAAGiB,MAAM;EAE1B,MAAMK,QAAQ,GAAGL,MAAM,EAAEI,EAAE;EAC3B,MAAME,SAAS,GAAGN,MAAM,KAAK9B,SAAS;EAEtC1D,KAAK,CAAC4E,SAAS,CAAC,MAAM;IACpB,IAAIP,mBAAmB,CAACE,OAAO,KAAKsB,QAAQ,EAAE;MAC5C;IACF;IAEAxB,mBAAmB,CAACE,OAAO,GAAGsB,QAAQ;IACtC/B,QAAQ,CAACJ,SAAS,CAAC;IACnBE,SAAS,CAACkC,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;EAC3C,CAAC,EAAE,CAACD,QAAQ,EAAEC,SAAS,CAAC,CAAC;EAEzB,MAAMC,MAAM,GAAG/F,KAAK,CAACgG,WAAW,CAAC,YAAY;IAC3C,IAAI9B,OAAO,CAACK,OAAO,EAAE;MACnB;IACF;IAEA,MAAM0B,QAAQ,GAAG7B,SAAS,CAACG,OAAO;IAElC,IAAI,CAAC0B,QAAQ,EAAE;MACb,MAAMC,OAAO,GAAG/D,cAAc,CAAC,CAAC;MAEhC2B,QAAQ,CAACoC,OAAO,CAAC;MACjBtC,SAAS,CAAC,OAAO,CAAC;MAClBf,OAAO,GAAGqD,OAAO,CAAC;MAClB,MAAMA,OAAO;IACf;IAEAhC,OAAO,CAACK,OAAO,GAAG,IAAI;IACtBT,QAAQ,CAACJ,SAAS,CAAC;IACnBE,SAAS,CAAC,SAAS,CAAC;IAEpB,IAAI;MACF,MAAMuC,SAAS,GAAG,MAAMjD,IAAI,CAAC+C,QAAQ,CAACL,EAAE,CAAC;MAEzC,IAAI,CAACO,SAAS,EAAE;QACd,MAAMhE,cAAc,CAAC,CAAC;MACxB;MAEA,MAAMkB,QAAQ,CAAC8C,SAAS,CAAC;MACzBvC,SAAS,CAAC,QAAQ,CAAC;MACnBhB,QAAQ,GAAGuD,SAAS,CAAC;IACvB,CAAC,CAAC,OAAOd,KAAK,EAAE;MACd,MAAMC,UAAU,GAAG,IAAAC,gCAAgB,EAACF,KAAK,CAAC;MAE1CvB,QAAQ,CAACwB,UAAU,CAAC;MACpB1B,SAAS,CAAC,OAAO,CAAC;MAClBf,OAAO,GAAGyC,UAAU,EAAEW,QAAQ,CAAC;MAC/B,MAAMX,UAAU;IAClB,CAAC,SAAS;MACRpB,OAAO,CAACK,OAAO,GAAG,KAAK;IACzB;EACF,CAAC,EAAE,CAAC1B,OAAO,EAAED,QAAQ,EAAEM,IAAI,EAAEG,QAAQ,CAAC,CAAC;EAEvC,MAAM+C,OAAO,GAAGpG,KAAK,CAACgG,WAAW,CAAC,YAAY;IAC5C,MAAMC,QAAQ,GAAG7B,SAAS,CAACG,OAAO;IAElC,IAAI,CAAC0B,QAAQ,EAAE;MACb;IACF;IAEA,IAAI;MACF,MAAMI,IAAI,GAAG,MAAM,IAAAC,8CAAuB,EACxC9D,OAAO,EACPE,kBAAkB,EACjByC,GAAG,IAAK,CAAC,GAAG,IAAIjD,GAAG,CAAC,CAAC,GAAGiD,GAAG,EAAEc,QAAQ,CAACL,EAAE,CAAC,CAAC,CAC7C,CAAC;MAEDpC,cAAc,CAAC6C,IAAI,CAAC;MACpBvC,QAAQ,CAACJ,SAAS,CAAC;MACnBE,SAAS,CAAC,MAAM,CAAC;IACnB,CAAC,CAAC,OAAOyB,KAAK,EAAE;MACd,MAAMC,UAAU,GAAG,IAAAC,gCAAgB,EAACF,KAAK,CAAC;MAE1CxC,OAAO,GAAGyC,UAAU,EAAEW,QAAQ,CAAC;MAC/B,MAAMX,UAAU;IAClB;EACF,CAAC,EAAE,CAAC5C,kBAAkB,EAAEG,OAAO,EAAEL,OAAO,CAAC,CAAC;EAE1C,MAAM+D,SAAS,GAAGvG,KAAK,CAACgG,WAAW,CAAC,MAAOH,QAAgB,IAAK;IAC9D,MAAMQ,IAAI,GAAG,MAAM,IAAAC,8CAAuB,EACxC9D,OAAO,EACPE,kBAAkB,EACjByC,GAAG,IAAKA,GAAG,CAACqB,MAAM,CAAEZ,EAAE,IAAKA,EAAE,KAAKC,QAAQ,CAC7C,CAAC;IAEDrC,cAAc,CAAC6C,IAAI,CAAC;IACpBvC,QAAQ,CAACJ,SAAS,CAAC;IACnBE,SAAS,CAAC,MAAM,CAAC;EACnB,CAAC,EAAE,CAAClB,kBAAkB,EAAEF,OAAO,CAAC,CAAC;EAEjC,MAAMiE,KAAK,GAAGzG,KAAK,CAACgG,WAAW,CAAC,MAAM;IACpC,MAAMC,QAAQ,GAAG7B,SAAS,CAACG,OAAO;IAElC,IAAI,CAAC0B,QAAQ,EAAE;MACb;IACF;IAEAzB,cAAc,CAACkC,GAAG,CAACT,QAAQ,CAACL,EAAE,CAAC;IAC/B9B,QAAQ,CAACJ,SAAS,CAAC;IACnBE,SAAS,CAAC,MAAM,CAAC;IACjBG,MAAM,CAAC,CAAC;EACV,CAAC,EAAE,CAACS,cAAc,CAAC,CAAC;EAEpB,OAAO;IACLgB,MAAM;IACN7B,MAAM,EAAE6B,MAAM,IAAI7B,MAAM,KAAK,MAAM,GAAG,SAAS,GAAGA,MAAM;IACxDE,KAAK;IACLkC,MAAM;IACNK,OAAO;IACPG,SAAS;IACTE;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAApE,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_bluetoothError","_declinedDeviceStorage","_nearbyDeviceOfferState","_runtimeContext","_useNearbyDevices","_usePairedDevices","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useNearbyDeviceOffer","storage","storageKey","DEFAULT_PAIRED_DEVICE_STORAGE_KEY","declinedStorageKey","enabled","shouldOffer","onPaired","onError","runtime","useBluetoothRuntime","devices","useBluetoothSelector","snapshot","pair","useNearbyDevices","paired","remember","usePairedDevices","declinedState","useMemo","getDeclinedDeviceState","declinedIds","ids","status","setStatus","useState","error","setError","undefined","redraw","useReducer","value","busyRef","useRef","deviceRef","previousDeviceIdRef","onErrorRef","current","dismissedLater","getDismissedLater","pairedIdsLoaded","getPairedDeviceIds","useEffect","active","notify","listeners","add","loadDeclinedDeviceIds","catch","cause","normalized","toBluetoothError","delete","device","find","candidate","includes","id","deviceId","hasDevice","accept","useCallback","selected","missing","notNearbyError","connected","decline","selectedId","next","updateDeclinedDeviceIds","Set","publishDeclinedDeviceIds","undecline","filter","later","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-device-offer.ts"],"mappings":"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","ignoreList":[]}
@@ -35,8 +35,13 @@ class BackgroundSyncCoordinator {
35
35
  enqueue = result => this.runExclusive(async () => {
36
36
  const queue = await this.readQueue();
37
37
  const stableId = result.id ?? createResultId();
38
+ const ownerKey = this.options.getOwnerKey?.();
39
+ if (typeof ownerKey !== "string" || !ownerKey.trim()) {
40
+ throw new Error("Background sync requires a stable owner key before queueing a result.");
41
+ }
38
42
  queue.push({
39
43
  queueId: createQueueId(),
44
+ ownerKey,
40
45
  queuedAt: new Date().toISOString(),
41
46
  attempt: 0,
42
47
  nextAttemptAt: 0,
@@ -93,7 +98,13 @@ class BackgroundSyncCoordinator {
93
98
  flushQueue = async (queue, options = {}) => {
94
99
  let changed = false;
95
100
  const now = Date.now();
101
+ const ownerKey = this.options.getOwnerKey?.();
96
102
  for (const item of [...queue]) {
103
+ // Legacy items have no owner and are deliberately retained. Guessing here
104
+ // could deliver one person's private reading to the next signed-in account.
105
+ if (!ownerKey || item.ownerKey !== ownerKey) {
106
+ continue;
107
+ }
97
108
  if (item.exhausted && options.resetExhausted) {
98
109
  item.attempt = 0;
99
110
  item.exhausted = false;
@@ -1 +1 @@
1
- {"version":3,"names":["_telemetry","require","_resultIdentity","DEFAULT_QUEUE_KEY","exports","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","recordOvokMetric","length","flushQueue","flush","next","then","catch","undefined","serialized","storage","getItem","parsed","JSON","parse","Array","isArray","Error","map","item","typed","reviveResultDates","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":["_telemetry","require","_resultIdentity","DEFAULT_QUEUE_KEY","exports","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","recordOvokMetric","length","flushQueue","flush","next","then","catch","undefined","serialized","storage","getItem","parsed","JSON","parse","Array","isArray","map","item","typed","reviveResultDates","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":[]}
@@ -11,6 +11,7 @@ var _healthObservationDevice = require("./health-observation-device.js");
11
11
  const FHIR_UNIT_SYSTEM = "http://unitsofmeasure.org";
12
12
  const LOINC_SYSTEM = "http://loinc.org";
13
13
  const HEALTH_RECORD_DATA_EXTENSION = "https://api.ovok.com/fhir/StructureDefinition/health-record-data";
14
+ const HEALTHKIT_BODY_MASS_INDEX = "HKQuantityTypeIdentifierBodyMassIndex";
14
15
  const convertGenericHealthDataToObservation = async ({
15
16
  data,
16
17
  patientId,
@@ -31,7 +32,7 @@ const convertGenericHealthDataToObservation = async ({
31
32
  const configuredSystem = typeIdentifierCodeSystems?.[typeIdentifier];
32
33
  const system = configuredSystem === LOINC_SYSTEM ? configuredCode && isLoincCode(configuredCode) ? LOINC_SYSTEM : undefined : configuredSystem;
33
34
  const interval = getInterval(data);
34
- const measurement = getMeasurement(first, mode, interval);
35
+ const measurement = getMeasurement(first, mode, interval, typeIdentifier);
35
36
  if (!measurement || !patientId) {
36
37
  return [];
37
38
  }
@@ -108,14 +109,14 @@ const toPortableRecordData = value => {
108
109
  }
109
110
  return Object.fromEntries(Object.entries(value).filter(([key]) => !OMITTED_RECORD_FIELDS.has(key)).map(([key, child]) => [key, toPortableRecordData(child)]));
110
111
  };
111
- const getMeasurement = (value, mode, interval) => {
112
+ const getMeasurement = (value, mode, interval, typeIdentifier) => {
112
113
  const raw = value;
113
114
  if ((0, _healthData.isAggregatedHealthData)(value)) {
114
115
  const number = value.kind === "daily-summary" ? value.average : value.value;
115
116
  return number === undefined ? {
116
117
  valueString: JSON.stringify(toPortableRecordData(value)) ?? String(value)
117
118
  } : {
118
- valueQuantity: quantity(number, value.unit)
119
+ valueQuantity: quantity(number, value.unit, typeIdentifier)
119
120
  };
120
121
  }
121
122
  if (mode === "session" && interval) {
@@ -125,7 +126,7 @@ const getMeasurement = (value, mode, interval) => {
125
126
  }
126
127
  const extracted = extractValue(raw);
127
128
  return extracted ? {
128
- valueQuantity: quantity(extracted.value, extracted.unit)
129
+ valueQuantity: quantity(extracted.value, typeIdentifier === HEALTHKIT_BODY_MASS_INDEX && mode === "point" ? "kg/m2" : extracted.unit, typeIdentifier)
129
130
  } : {
130
131
  valueString: JSON.stringify(toPortableRecordData(raw)) ?? String(raw)
131
132
  };
@@ -237,25 +238,38 @@ const component = (label, value, unit) => ({
237
238
  },
238
239
  valueQuantity: quantity(value, unit)
239
240
  });
240
- const quantity = (value, unit) => ({
241
+ const quantity = (value, unit, typeIdentifier) => ({
241
242
  value,
242
243
  unit,
243
244
  system: FHIR_UNIT_SYSTEM,
244
- code: normalizeUnit(unit)
245
+ code: normalizeUnit(unit, typeIdentifier)
245
246
  });
246
- const normalizeUnit = unit => ({
247
- kilometers: "km",
248
- meters: "m",
249
- miles: "mi",
250
- kilograms: "kg",
251
- grams: "g",
252
- milligrams: "mg",
253
- kilocalories: "kcal",
254
- calories: "cal",
255
- minutes: "min",
256
- seconds: "s",
257
- beatsPerMinute: "count/min"
258
- })[unit] ?? unit;
247
+ const normalizeUnit = (unit, typeIdentifier) => {
248
+ if (unit === "count/min") {
249
+ if (["HKQuantityTypeIdentifierHeartRate", "HKQuantityTypeIdentifierRestingHeartRate", "HKQuantityTypeIdentifierWalkingHeartRateAverage", "HeartRate", "RestingHeartRate"].includes(typeIdentifier ?? "")) {
250
+ return "{beats}/min";
251
+ }
252
+ if (["HKQuantityTypeIdentifierRespiratoryRate", "RespiratoryRate"].includes(typeIdentifier ?? "")) {
253
+ return "{breaths}/min";
254
+ }
255
+ return "{counts}/min";
256
+ }
257
+ return {
258
+ kilometers: "km",
259
+ meters: "m",
260
+ miles: "mi",
261
+ kilograms: "kg",
262
+ grams: "g",
263
+ milligrams: "mg",
264
+ kilocalories: "kcal",
265
+ calories: "cal",
266
+ minutes: "min",
267
+ seconds: "s",
268
+ beatsPerMinute: "count/min",
269
+ mmHg: "mm[Hg]",
270
+ degC: "Cel"
271
+ }[unit] ?? unit;
272
+ };
259
273
  const getStableObservationId = ({
260
274
  typeIdentifier,
261
275
  code,
@@ -1 +1 @@
1
- {"version":3,"names":["_healthData","require","_healthObservationDevice","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","getHealthObservationDevice","observationDate","start","getDate","observation","resourceType","id","getStableObservationId","date","status","subject","reference","coding","display","extension","url","valueString","JSON","stringify","map","toPortableRecordData","effectivePeriod","toISOString","end","effectiveDateTime","isAggregatedHealthData","component","minimum","unit","maximum","stageComponents","getSleepStageComponents","length","exports","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":["_healthData","require","_healthObservationDevice","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","getHealthObservationDevice","observationDate","start","getDate","observation","resourceType","id","getStableObservationId","date","status","subject","reference","coding","display","extension","url","valueString","JSON","stringify","map","toPortableRecordData","effectivePeriod","toISOString","end","effectiveDateTime","isAggregatedHealthData","component","minimum","unit","maximum","stageComponents","getSleepStageComponents","length","exports","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","includes","kilometers","meters","miles","kilograms","grams","milligrams","kilocalories","calories","minutes","seconds","beatsPerMinute","mmHg","degC","join","replace","slice"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/convert-generic-health-data.ts"],"mappings":"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","ignoreList":[]}