@ovok/native 0.4.1 → 0.4.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 (318) hide show
  1. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  2. package/lib/commonjs/modules/bt-management/components/bt-provider.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/constants/custom-device-brand.js +12 -0
  4. package/lib/commonjs/modules/bt-management/constants/custom-device-brand.js.map +1 -0
  5. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +111 -0
  6. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -0
  7. package/lib/commonjs/modules/bt-management/index.js +209 -0
  8. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  10. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +116 -0
  11. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js.map +1 -0
  12. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js +83 -0
  13. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js.map +1 -0
  14. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-frame.js +64 -0
  15. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-frame.js.map +1 -0
  16. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-monitor.js +76 -0
  17. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-monitor.js.map +1 -0
  18. package/lib/commonjs/modules/bt-management/services/custom/custom-device-error.js +13 -0
  19. package/lib/commonjs/modules/bt-management/services/custom/custom-device-error.js.map +1 -0
  20. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +120 -0
  21. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -0
  22. package/lib/commonjs/modules/bt-management/services/custom/normalize-ble-uuid.js +32 -0
  23. package/lib/commonjs/modules/bt-management/services/custom/normalize-ble-uuid.js.map +1 -0
  24. package/lib/commonjs/modules/bt-management/services/device-creator.js +52 -26
  25. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  26. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +22 -5
  27. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  28. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +103 -0
  30. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -0
  31. package/lib/commonjs/modules/bt-management/types/accepted-device.js +6 -0
  32. package/lib/commonjs/modules/bt-management/types/accepted-device.js.map +1 -0
  33. package/lib/commonjs/modules/bt-management/types/compiled-custom-field.js +6 -0
  34. package/lib/commonjs/modules/bt-management/types/compiled-custom-field.js.map +1 -0
  35. package/lib/commonjs/modules/bt-management/types/custom-byte-order.js +2 -0
  36. package/lib/commonjs/modules/bt-management/types/custom-byte-order.js.map +1 -0
  37. package/lib/commonjs/modules/bt-management/types/custom-case-kind.js +2 -0
  38. package/lib/commonjs/modules/bt-management/types/custom-case-kind.js.map +1 -0
  39. package/lib/commonjs/modules/bt-management/types/custom-case-spec.js +6 -0
  40. package/lib/commonjs/modules/bt-management/types/custom-case-spec.js.map +1 -0
  41. package/lib/commonjs/modules/bt-management/types/custom-device-definition.js +4 -0
  42. package/lib/commonjs/modules/bt-management/types/custom-device-definition.js.map +1 -0
  43. package/lib/commonjs/modules/bt-management/types/custom-device-id.js +2 -0
  44. package/lib/commonjs/modules/bt-management/types/custom-device-id.js.map +1 -0
  45. package/lib/commonjs/modules/bt-management/types/custom-device-spec.js +6 -0
  46. package/lib/commonjs/modules/bt-management/types/custom-device-spec.js.map +1 -0
  47. package/lib/commonjs/modules/bt-management/types/custom-field-encoding.js +2 -0
  48. package/lib/commonjs/modules/bt-management/types/custom-field-encoding.js.map +1 -0
  49. package/lib/commonjs/modules/bt-management/types/custom-field-spec.js +6 -0
  50. package/lib/commonjs/modules/bt-management/types/custom-field-spec.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/types/custom-frame-spec.js +6 -0
  52. package/lib/commonjs/modules/bt-management/types/custom-frame-spec.js.map +1 -0
  53. package/lib/commonjs/modules/bt-management/types/custom-measurement.js +6 -0
  54. package/lib/commonjs/modules/bt-management/types/custom-measurement.js.map +1 -0
  55. package/lib/commonjs/modules/bt-management/types/custom-monitor-spec.js +6 -0
  56. package/lib/commonjs/modules/bt-management/types/custom-monitor-spec.js.map +1 -0
  57. package/lib/commonjs/modules/bt-management/types/custom-service-spec.js +6 -0
  58. package/lib/commonjs/modules/bt-management/types/custom-service-spec.js.map +1 -0
  59. package/lib/commonjs/modules/bt-management/types/device-key-of.js +6 -0
  60. package/lib/commonjs/modules/bt-management/types/device-key-of.js.map +1 -0
  61. package/lib/commonjs/modules/bt-management/types/device-key.js +6 -0
  62. package/lib/commonjs/modules/bt-management/types/device-key.js.map +1 -0
  63. package/lib/commonjs/modules/bt-management/types/device-measurement-map.js.map +1 -1
  64. package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js +54 -0
  65. package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js.map +1 -0
  66. package/lib/commonjs/modules/bt-management/utils/create-frame-validator.js +40 -0
  67. package/lib/commonjs/modules/bt-management/utils/create-frame-validator.js.map +1 -0
  68. package/lib/commonjs/modules/bt-management/utils/decode-medical-float.js +38 -0
  69. package/lib/commonjs/modules/bt-management/utils/decode-medical-float.js.map +1 -0
  70. package/lib/commonjs/modules/bt-management/utils/is-custom-device-definition.js +15 -0
  71. package/lib/commonjs/modules/bt-management/utils/is-custom-device-definition.js.map +1 -0
  72. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  73. package/lib/module/modules/bt-management/components/bt-provider.js.map +1 -1
  74. package/lib/module/modules/bt-management/constants/custom-device-brand.js +8 -0
  75. package/lib/module/modules/bt-management/constants/custom-device-brand.js.map +1 -0
  76. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +108 -0
  77. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -0
  78. package/lib/module/modules/bt-management/index.js +19 -0
  79. package/lib/module/modules/bt-management/index.js.map +1 -1
  80. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  81. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +112 -0
  82. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -0
  83. package/lib/module/modules/bt-management/services/custom/compile-custom-field.js +78 -0
  84. package/lib/module/modules/bt-management/services/custom/compile-custom-field.js.map +1 -0
  85. package/lib/module/modules/bt-management/services/custom/compile-custom-frame.js +59 -0
  86. package/lib/module/modules/bt-management/services/custom/compile-custom-frame.js.map +1 -0
  87. package/lib/module/modules/bt-management/services/custom/compile-custom-monitor.js +71 -0
  88. package/lib/module/modules/bt-management/services/custom/compile-custom-monitor.js.map +1 -0
  89. package/lib/module/modules/bt-management/services/custom/custom-device-error.js +8 -0
  90. package/lib/module/modules/bt-management/services/custom/custom-device-error.js.map +1 -0
  91. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +115 -0
  92. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -0
  93. package/lib/module/modules/bt-management/services/custom/normalize-ble-uuid.js +27 -0
  94. package/lib/module/modules/bt-management/services/custom/normalize-ble-uuid.js.map +1 -0
  95. package/lib/module/modules/bt-management/services/device-creator.js +52 -26
  96. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  97. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +22 -5
  98. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  99. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  100. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +98 -0
  101. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -0
  102. package/lib/module/modules/bt-management/types/accepted-device.js +4 -0
  103. package/lib/module/modules/bt-management/types/accepted-device.js.map +1 -0
  104. package/lib/module/modules/bt-management/types/compiled-custom-field.js +4 -0
  105. package/lib/module/modules/bt-management/types/compiled-custom-field.js.map +1 -0
  106. package/lib/module/modules/bt-management/types/custom-byte-order.js +2 -0
  107. package/lib/module/modules/bt-management/types/custom-byte-order.js.map +1 -0
  108. package/lib/module/modules/bt-management/types/custom-case-kind.js +2 -0
  109. package/lib/module/modules/bt-management/types/custom-case-kind.js.map +1 -0
  110. package/lib/module/modules/bt-management/types/custom-case-spec.js +4 -0
  111. package/lib/module/modules/bt-management/types/custom-case-spec.js.map +1 -0
  112. package/lib/module/modules/bt-management/types/custom-device-definition.js +8 -0
  113. package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -0
  114. package/lib/module/modules/bt-management/types/custom-device-id.js +2 -0
  115. package/lib/module/modules/bt-management/types/custom-device-id.js.map +1 -0
  116. package/lib/module/modules/bt-management/types/custom-device-spec.js +4 -0
  117. package/lib/module/modules/bt-management/types/custom-device-spec.js.map +1 -0
  118. package/lib/module/modules/bt-management/types/custom-field-encoding.js +2 -0
  119. package/lib/module/modules/bt-management/types/custom-field-encoding.js.map +1 -0
  120. package/lib/module/modules/bt-management/types/custom-field-spec.js +4 -0
  121. package/lib/module/modules/bt-management/types/custom-field-spec.js.map +1 -0
  122. package/lib/module/modules/bt-management/types/custom-frame-spec.js +4 -0
  123. package/lib/module/modules/bt-management/types/custom-frame-spec.js.map +1 -0
  124. package/lib/module/modules/bt-management/types/custom-measurement.js +4 -0
  125. package/lib/module/modules/bt-management/types/custom-measurement.js.map +1 -0
  126. package/lib/module/modules/bt-management/types/custom-monitor-spec.js +4 -0
  127. package/lib/module/modules/bt-management/types/custom-monitor-spec.js.map +1 -0
  128. package/lib/module/modules/bt-management/types/custom-service-spec.js +4 -0
  129. package/lib/module/modules/bt-management/types/custom-service-spec.js.map +1 -0
  130. package/lib/module/modules/bt-management/types/device-key-of.js +4 -0
  131. package/lib/module/modules/bt-management/types/device-key-of.js.map +1 -0
  132. package/lib/module/modules/bt-management/types/device-key.js +4 -0
  133. package/lib/module/modules/bt-management/types/device-key.js.map +1 -0
  134. package/lib/module/modules/bt-management/types/device-measurement-map.js +5 -0
  135. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  136. package/lib/module/modules/bt-management/utils/create-custom-field-parser.js +49 -0
  137. package/lib/module/modules/bt-management/utils/create-custom-field-parser.js.map +1 -0
  138. package/lib/module/modules/bt-management/utils/create-frame-validator.js +35 -0
  139. package/lib/module/modules/bt-management/utils/create-frame-validator.js.map +1 -0
  140. package/lib/module/modules/bt-management/utils/decode-medical-float.js +33 -0
  141. package/lib/module/modules/bt-management/utils/decode-medical-float.js.map +1 -0
  142. package/lib/module/modules/bt-management/utils/is-custom-device-definition.js +10 -0
  143. package/lib/module/modules/bt-management/utils/is-custom-device-definition.js.map +1 -0
  144. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts +2 -2
  145. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider.d.ts +2 -2
  147. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/src/modules/bt-management/constants/custom-device-brand.d.ts +6 -0
  149. package/lib/typescript/commonjs/src/modules/bt-management/constants/custom-device-brand.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts +26 -0
  151. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +19 -0
  153. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +5 -4
  155. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts +6 -0
  157. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -0
  158. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-field.d.ts +6 -0
  159. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -0
  160. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-frame.d.ts +13 -0
  161. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-frame.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts +10 -0
  163. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts.map +1 -0
  164. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/custom-device-error.d.ts +6 -0
  165. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/custom-device-error.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts +12 -0
  167. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/normalize-ble-uuid.d.ts +7 -0
  169. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/normalize-ble-uuid.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts +12 -5
  171. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +12 -1
  173. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -1
  175. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +43 -0
  177. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/src/modules/bt-management/types/accepted-device.d.ts +5 -0
  179. package/lib/typescript/commonjs/src/modules/bt-management/types/accepted-device.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +5 -4
  181. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  182. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-props.d.ts +2 -2
  183. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-props.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/src/modules/bt-management/types/compiled-custom-field.d.ts +16 -0
  185. package/lib/typescript/commonjs/src/modules/bt-management/types/compiled-custom-field.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +2 -2
  187. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  188. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-byte-order.d.ts +6 -0
  189. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-byte-order.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-kind.d.ts +12 -0
  191. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-kind.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts +18 -0
  193. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -0
  194. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +22 -0
  195. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -0
  196. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-id.d.ts +10 -0
  197. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-id.d.ts.map +1 -0
  198. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +12 -0
  199. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -0
  200. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts +10 -0
  201. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -0
  202. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-spec.d.ts +33 -0
  203. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-spec.d.ts.map +1 -0
  204. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-frame-spec.d.ts +27 -0
  205. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-frame-spec.d.ts.map +1 -0
  206. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-measurement.d.ts +10 -0
  207. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-measurement.d.ts.map +1 -0
  208. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-monitor-spec.d.ts +14 -0
  209. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-monitor-spec.d.ts.map +1 -0
  210. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-service-spec.d.ts +15 -0
  211. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-service-spec.d.ts.map +1 -0
  212. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +2 -2
  213. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/src/modules/bt-management/types/device-key-of.d.ts +8 -0
  215. package/lib/typescript/commonjs/src/modules/bt-management/types/device-key-of.d.ts.map +1 -0
  216. package/lib/typescript/commonjs/src/modules/bt-management/types/device-key.d.ts +5 -0
  217. package/lib/typescript/commonjs/src/modules/bt-management/types/device-key.d.ts.map +1 -0
  218. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +10 -5
  219. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +2 -2
  221. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  222. package/lib/typescript/commonjs/src/modules/bt-management/utils/create-custom-field-parser.d.ts +12 -0
  223. package/lib/typescript/commonjs/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/src/modules/bt-management/utils/create-frame-validator.d.ts +10 -0
  225. package/lib/typescript/commonjs/src/modules/bt-management/utils/create-frame-validator.d.ts.map +1 -0
  226. package/lib/typescript/commonjs/src/modules/bt-management/utils/decode-medical-float.d.ts +9 -0
  227. package/lib/typescript/commonjs/src/modules/bt-management/utils/decode-medical-float.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/src/modules/bt-management/utils/is-custom-device-definition.d.ts +9 -0
  229. package/lib/typescript/commonjs/src/modules/bt-management/utils/is-custom-device-definition.d.ts.map +1 -0
  230. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  231. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts +2 -2
  232. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  233. package/lib/typescript/module/src/modules/bt-management/components/bt-provider.d.ts +2 -2
  234. package/lib/typescript/module/src/modules/bt-management/components/bt-provider.d.ts.map +1 -1
  235. package/lib/typescript/module/src/modules/bt-management/constants/custom-device-brand.d.ts +6 -0
  236. package/lib/typescript/module/src/modules/bt-management/constants/custom-device-brand.d.ts.map +1 -0
  237. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts +26 -0
  238. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -0
  239. package/lib/typescript/module/src/modules/bt-management/index.d.ts +19 -0
  240. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  241. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +5 -4
  242. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  243. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts +6 -0
  244. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -0
  245. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-field.d.ts +6 -0
  246. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -0
  247. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-frame.d.ts +13 -0
  248. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-frame.d.ts.map +1 -0
  249. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts +10 -0
  250. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts.map +1 -0
  251. package/lib/typescript/module/src/modules/bt-management/services/custom/custom-device-error.d.ts +6 -0
  252. package/lib/typescript/module/src/modules/bt-management/services/custom/custom-device-error.d.ts.map +1 -0
  253. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts +12 -0
  254. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -0
  255. package/lib/typescript/module/src/modules/bt-management/services/custom/normalize-ble-uuid.d.ts +7 -0
  256. package/lib/typescript/module/src/modules/bt-management/services/custom/normalize-ble-uuid.d.ts.map +1 -0
  257. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts +12 -5
  258. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  259. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +12 -1
  260. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  261. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -1
  262. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  263. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +43 -0
  264. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -0
  265. package/lib/typescript/module/src/modules/bt-management/types/accepted-device.d.ts +5 -0
  266. package/lib/typescript/module/src/modules/bt-management/types/accepted-device.d.ts.map +1 -0
  267. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +5 -4
  268. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  269. package/lib/typescript/module/src/modules/bt-management/types/btprovider-props.d.ts +2 -2
  270. package/lib/typescript/module/src/modules/bt-management/types/btprovider-props.d.ts.map +1 -1
  271. package/lib/typescript/module/src/modules/bt-management/types/compiled-custom-field.d.ts +16 -0
  272. package/lib/typescript/module/src/modules/bt-management/types/compiled-custom-field.d.ts.map +1 -0
  273. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +2 -2
  274. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  275. package/lib/typescript/module/src/modules/bt-management/types/custom-byte-order.d.ts +6 -0
  276. package/lib/typescript/module/src/modules/bt-management/types/custom-byte-order.d.ts.map +1 -0
  277. package/lib/typescript/module/src/modules/bt-management/types/custom-case-kind.d.ts +12 -0
  278. package/lib/typescript/module/src/modules/bt-management/types/custom-case-kind.d.ts.map +1 -0
  279. package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts +18 -0
  280. package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -0
  281. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +22 -0
  282. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -0
  283. package/lib/typescript/module/src/modules/bt-management/types/custom-device-id.d.ts +10 -0
  284. package/lib/typescript/module/src/modules/bt-management/types/custom-device-id.d.ts.map +1 -0
  285. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +12 -0
  286. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -0
  287. package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts +10 -0
  288. package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -0
  289. package/lib/typescript/module/src/modules/bt-management/types/custom-field-spec.d.ts +33 -0
  290. package/lib/typescript/module/src/modules/bt-management/types/custom-field-spec.d.ts.map +1 -0
  291. package/lib/typescript/module/src/modules/bt-management/types/custom-frame-spec.d.ts +27 -0
  292. package/lib/typescript/module/src/modules/bt-management/types/custom-frame-spec.d.ts.map +1 -0
  293. package/lib/typescript/module/src/modules/bt-management/types/custom-measurement.d.ts +10 -0
  294. package/lib/typescript/module/src/modules/bt-management/types/custom-measurement.d.ts.map +1 -0
  295. package/lib/typescript/module/src/modules/bt-management/types/custom-monitor-spec.d.ts +14 -0
  296. package/lib/typescript/module/src/modules/bt-management/types/custom-monitor-spec.d.ts.map +1 -0
  297. package/lib/typescript/module/src/modules/bt-management/types/custom-service-spec.d.ts +15 -0
  298. package/lib/typescript/module/src/modules/bt-management/types/custom-service-spec.d.ts.map +1 -0
  299. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +2 -2
  300. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  301. package/lib/typescript/module/src/modules/bt-management/types/device-key-of.d.ts +8 -0
  302. package/lib/typescript/module/src/modules/bt-management/types/device-key-of.d.ts.map +1 -0
  303. package/lib/typescript/module/src/modules/bt-management/types/device-key.d.ts +5 -0
  304. package/lib/typescript/module/src/modules/bt-management/types/device-key.d.ts.map +1 -0
  305. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +10 -5
  306. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  307. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +2 -2
  308. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  309. package/lib/typescript/module/src/modules/bt-management/utils/create-custom-field-parser.d.ts +12 -0
  310. package/lib/typescript/module/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -0
  311. package/lib/typescript/module/src/modules/bt-management/utils/create-frame-validator.d.ts +10 -0
  312. package/lib/typescript/module/src/modules/bt-management/utils/create-frame-validator.d.ts.map +1 -0
  313. package/lib/typescript/module/src/modules/bt-management/utils/decode-medical-float.d.ts +9 -0
  314. package/lib/typescript/module/src/modules/bt-management/utils/decode-medical-float.d.ts.map +1 -0
  315. package/lib/typescript/module/src/modules/bt-management/utils/is-custom-device-definition.d.ts +9 -0
  316. package/lib/typescript/module/src/modules/bt-management/utils/is-custom-device-definition.d.ts.map +1 -0
  317. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  318. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,eAAO,MAAM,sBAAsB,EA+G9B,CAAC,CAAC,SAAS,SAAS,iBAAiB,EAAE,EAC1C,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,KAC3D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,eAAO,MAAM,sBAAsB,EA+G9B,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE,EACvC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,KAC3D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
+ import { AcceptedDevice } from "../types/accepted-device";
2
3
  import { BTProviderProps } from "../types/btprovider-props";
3
- import { IntegratedDevices } from "../types/integrated-devices";
4
- export declare const BTProvider: <T extends readonly IntegratedDevices[]>({ permissionFallback, onAccessPermissionChanged, ...props }: React.PropsWithChildren<BTProviderProps<T>>) => string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
4
+ export declare const BTProvider: <T extends readonly AcceptedDevice[]>({ permissionFallback, onAccessPermissionChanged, ...props }: React.PropsWithChildren<BTProviderProps<T>>) => string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
5
5
  //# sourceMappingURL=bt-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bt-provider.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAKhE,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,SAAS,iBAAiB,EAAE,EAAE,6DAIhE,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,oSAkB7C,CAAC"}
1
+ {"version":3,"file":"bt-provider.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAK5D,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,6DAI7D,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,oSAkB7C,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Marks an object as the output of defineCustomDevice. A hand-rolled definition that
3
+ * skipped registration validation therefore cannot be passed to acceptedDevices.
4
+ */
5
+ export declare const CUSTOM_DEVICE_BRAND: unique symbol;
6
+ //# sourceMappingURL=custom-device-brand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-device-brand.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/constants/custom-device-brand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAwC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { MeasurementTypeKey } from "@ovok/core";
2
+ /**
3
+ * The measurement types a declaration may produce, the properties each one accepts, the
4
+ * canonical unit of every property, and the physiological envelope outside which a decoded
5
+ * value is treated as a decoding fault rather than a reading.
6
+ *
7
+ * A measurement type absent from this catalog cannot be declared. ECG, urine analysis and
8
+ * the cosinuss multi-parameter stream are absent on purpose: they are assembled across
9
+ * several notifications and need a device class, not a declaration.
10
+ *
11
+ * The property names mirror the measurement types in @ovok/core. A typo would otherwise
12
+ * produce an object the backend silently drops, so it is rejected at registration instead.
13
+ *
14
+ * `required` marks the properties without which the reading is not that measurement. Every
15
+ * property in @ovok/core is optional, so a declaration that named only `systolic` would
16
+ * otherwise compile and then post a blood pressure with no diastolic - a plausible clinical
17
+ * record of something that was never measured. A "result" case must declare all of them.
18
+ */
19
+ export interface CatalogField {
20
+ unit: string;
21
+ min: number;
22
+ max: number;
23
+ required?: boolean;
24
+ }
25
+ export declare const measurementFieldCatalog: Readonly<Partial<Record<MeasurementTypeKey, Readonly<Record<string, CatalogField>>>>>;
26
+ //# sourceMappingURL=measurement-field-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement-field-catalog.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/constants/measurement-field-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAC5C,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CA4B5E,CAAC"}
@@ -1,4 +1,20 @@
1
1
  export * from "./types/i-bt-managed-device";
2
+ export * from "./types/accepted-device";
3
+ export * from "./types/compiled-custom-field";
4
+ export * from "./types/custom-byte-order";
5
+ export * from "./types/custom-case-kind";
6
+ export * from "./types/custom-case-spec";
7
+ export * from "./types/custom-device-definition";
8
+ export * from "./types/custom-device-id";
9
+ export * from "./types/custom-device-spec";
10
+ export * from "./types/custom-field-encoding";
11
+ export * from "./types/custom-field-spec";
12
+ export * from "./types/custom-frame-spec";
13
+ export * from "./types/custom-measurement";
14
+ export * from "./types/custom-monitor-spec";
15
+ export * from "./types/custom-service-spec";
16
+ export * from "./types/device-key";
17
+ export * from "./types/device-key-of";
2
18
  export * from "./types/device-data";
3
19
  export * from "./types/device-status";
4
20
  export * from "./types/integrated-devices";
@@ -11,7 +27,10 @@ export * from "./types/result-callback";
11
27
  export * from "./types/error-callback";
12
28
  export * from "./types/device-status-change-callback";
13
29
  export * from "./services/devices/bt-managed-device";
30
+ export * from "./services/devices/custom/custom.device";
14
31
  export * from "./services/bt-manager";
32
+ export * from "./services/custom/define-custom-device";
33
+ export * from "./constants/measurement-field-catalog";
15
34
  export * from "./components/bt-provider";
16
35
  export * from "./components/default-permission-fallback";
17
36
  export * from "./hooks/use-request-permissions";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AAEtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uBAAuB,CAAC;AAEtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AAEtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { BleManager } from "react-native-ble-plx";
2
+ import { AcceptedDevice } from "../types/accepted-device";
3
+ import { DeviceKeyOf } from "../types/device-key-of";
2
4
  import { DeviceStatusChangeCallback } from "../types/device-status-change-callback";
3
5
  import { ErrorCallback } from "../types/error-callback";
4
- import { IntegratedDevices } from "../types/integrated-devices";
5
6
  import { ResultCallback } from "../types/result-callback";
6
7
  import { BTManagedDevice } from "./devices/bt-managed-device";
7
- export declare class BTManager<T extends readonly IntegratedDevices[]> {
8
+ export declare class BTManager<T extends readonly AcceptedDevice[]> {
8
9
  private readonly bleManager;
9
10
  private readonly acceptedDevices;
10
11
  private static readonly MAX_DEVICES;
@@ -17,10 +18,10 @@ export declare class BTManager<T extends readonly IntegratedDevices[]> {
17
18
  destroy: () => void;
18
19
  startScan: () => void;
19
20
  stopScan: () => void;
20
- onDeviceFound: (callback?: (device: BTManagedDevice<T[number]>, manager: BTManager<T>) => Promise<void>) => void;
21
+ onDeviceFound: (callback?: (device: BTManagedDevice<DeviceKeyOf<T>>, manager: BTManager<T>) => Promise<void>) => void;
21
22
  onError: (callback?: (data: ErrorCallback) => void) => void;
22
23
  onDeviceStatusChanged: (callback?: (data: DeviceStatusChangeCallback) => void) => void;
23
- onResult: (callback?: (data: ResultCallback<T[number]>) => void) => void;
24
+ onResult: (callback?: (data: ResultCallback<DeviceKeyOf<T>>) => void) => void;
24
25
  private onResultCallback?;
25
26
  private onErrorCallback?;
26
27
  private onDeviceFoundCallback?;
@@ -1 +1 @@
1
- {"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EAKX,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,qBAAa,SAAS,CAAC,CAAC,SAAS,SAAS,iBAAiB,EAAE;IAWzD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAXlC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAM;IACzC,OAAO,CAAC,OAAO,CAAiD;IAEhE,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,kBAAkB,CAAsB;IAEhD,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,iBAAiB,CAAa;gBAGnB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,CAAC;IAK9B,OAAO,aAyBZ;IAEK,SAAS,aA0Dd;IAEK,QAAQ,aAmBb;IAEK,aAAa,GAClB,WAAW,CACT,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAClC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,OAAO,CAAC,IAAI,CAAC,UAIlB;IAEK,OAAO,GAAI,WAAW,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,UAGxD;IAEK,qBAAqB,GAC1B,WAAW,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,UAIrD;IAEK,QAAQ,GAAI,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,UAGrE;IAGF,OAAO,CAAC,gBAAgB,CAAC,CAA4C;IACrE,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD,OAAO,CAAC,qBAAqB,CAAC,CAGX;IACnB,OAAO,CAAC,6BAA6B,CAAC,CAE5B;IAEV,OAAO,CAAC,YAAY,CAsElB;IAEF,OAAO,CAAC,8BAA8B,CAUpC;CACH"}
1
+ {"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EAKX,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,qBAAa,SAAS,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE;IAWtD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAXlC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAM;IACzC,OAAO,CAAC,OAAO,CAAsD;IAErE,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,kBAAkB,CAAsB;IAEhD,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,iBAAiB,CAAa;gBAGnB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,CAAC;IAK9B,OAAO,aAyBZ;IAEK,SAAS,aA0Dd;IAEK,QAAQ,aAmBb;IAEK,aAAa,GAClB,WAAW,CACT,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EACvC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,OAAO,CAAC,IAAI,CAAC,UAIlB;IAEK,OAAO,GAAI,WAAW,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,UAGxD;IAEK,qBAAqB,GAC1B,WAAW,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,UAIrD;IAEK,QAAQ,GACb,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,UAIzD;IAGF,OAAO,CAAC,gBAAgB,CAAC,CAAiD;IAC1E,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD,OAAO,CAAC,qBAAqB,CAAC,CAGX;IACnB,OAAO,CAAC,6BAA6B,CAAC,CAE5B;IAEV,OAAO,CAAC,YAAY,CAsElB;IAEF,OAAO,CAAC,8BAA8B,CAUpC;CACH"}
@@ -0,0 +1,6 @@
1
+ import { CompiledCustomField } from "../../types/compiled-custom-field";
2
+ import { CustomCaseSpec } from "../../types/custom-case-spec";
3
+ import { ParsingCase } from "../../types/parsing-case";
4
+ /** Validates one declared frame shape and turns it into a parsing case. */
5
+ export declare const compileCustomCase: (id: string, path: string, caseSpec: CustomCaseSpec, minLengthBytes: number, fields: Map<string, CompiledCustomField>) => ParsingCase;
6
+ //# sourceMappingURL=compile-custom-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-custom-case.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-case.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAgJvD,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,UAAU,cAAc,EACxB,gBAAgB,MAAM,EACtB,QAAQ,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KACvC,WA4DF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { MeasurementTypeKey } from "@ovok/core";
2
+ import { CompiledCustomField } from "../../types/compiled-custom-field";
3
+ import { CustomFieldSpec } from "../../types/custom-field-spec";
4
+ /** Validates one declared field against the measurement catalog and resolves its defaults. */
5
+ export declare const compileCustomField: (id: string, path: string, field: CustomFieldSpec, measurementTypeKey: MeasurementTypeKey, minLengthBytes: number) => CompiledCustomField;
6
+ //# sourceMappingURL=compile-custom-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-custom-field.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAsGhE,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,OAAO,eAAe,EACtB,oBAAoB,kBAAkB,EACtC,gBAAgB,MAAM,KACrB,mBAyDF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { CustomFrameSpec } from "../../types/custom-frame-spec";
2
+ /**
3
+ * Checks that a frame declaration can actually recognise a complete package, and returns a
4
+ * frozen, lower-cased copy of it.
5
+ *
6
+ * The copy matters twice. The received buffer is always lower-case hex, so a header declared
7
+ * as ["AA","55"] would never match and the device would silently produce nothing until the
8
+ * stuck-data timeout. And the runtime must not read an object the caller still holds a
9
+ * reference to: mutating the declaration after registration would otherwise move byte offsets
10
+ * that were bounds-checked at registration.
11
+ */
12
+ export declare const compileCustomFrame: (id: string, path: string, frame: CustomFrameSpec) => CustomFrameSpec;
13
+ //# sourceMappingURL=compile-custom-frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-custom-frame.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAMhE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,OAAO,eAAe,KACrB,eA6EF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { CompiledCustomField } from "../../types/compiled-custom-field";
2
+ import { CustomFrameSpec } from "../../types/custom-frame-spec";
3
+ import { CustomMonitorSpec } from "../../types/custom-monitor-spec";
4
+ import { IMonitorCharacteristic } from "../../types/monitor-characteristic";
5
+ /** Validates one notify characteristic and turns it into a parsing model and a frame. */
6
+ export declare const compileCustomMonitor: (id: string, path: string, monitor: CustomMonitorSpec, fields: Map<string, CompiledCustomField>) => {
7
+ characteristic: IMonitorCharacteristic;
8
+ frame: CustomFrameSpec;
9
+ };
10
+ //# sourceMappingURL=compile-custom-monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-custom-monitor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AA2F5E,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,GAC/B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,SAAS,iBAAiB,EAC1B,QAAQ,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KACvC;IAAE,cAAc,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CA+ClE,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Every registration failure names the exact position in the declaration, because the
3
+ * author is looking at a datasheet and needs to know which line of it is wrong.
4
+ */
5
+ export declare const customDeviceError: (id: string, path: string, message: string) => Error;
6
+ //# sourceMappingURL=custom-device-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-device-error.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/custom-device-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,SAAS,MAAM,KACd,KAA+D,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { CustomDeviceDefinition } from "../../types/custom-device-definition";
2
+ import { CustomDeviceSpec } from "../../types/custom-device-spec";
3
+ /**
4
+ * Validates a declaration and compiles it into a runnable device.
5
+ *
6
+ * Every rule the declarative decoder relies on is checked here, at registration, because the
7
+ * alternative is a plausible wrong number at read time. Registration fails loudly - it
8
+ * throws, naming the exact position in the declaration - and a device that fails to compile
9
+ * is never scanned for.
10
+ */
11
+ export declare const defineCustomDevice: (spec: CustomDeviceSpec) => CustomDeviceDefinition;
12
+ //# sourceMappingURL=define-custom-device.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-custom-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/define-custom-device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAwGlE;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,gBAAgB,KACrB,sBAqEF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Accepts a 16-bit, 32-bit or 128-bit UUID and returns the 128-bit form, because that is
3
+ * what react-native-ble-plx reports back on a notification and what the parsing model is
4
+ * matched against.
5
+ */
6
+ export declare const normalizeBleUuid: (id: string, path: string, value: unknown) => string;
7
+ //# sourceMappingURL=normalize-ble-uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-ble-uuid.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/normalize-ble-uuid.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,OAAO,OAAO,KACb,MAoBF,CAAC"}
@@ -1,15 +1,22 @@
1
+ import { AcceptedDevice } from "../types/accepted-device";
1
2
  import { CreateDeviceParams } from "../types/create-device-params";
2
- import { IntegratedDevices } from "../types/integrated-devices";
3
+ import { DeviceKey } from "../types/device-key";
4
+ import { DeviceKeyOf } from "../types/device-key-of";
3
5
  import { BTManagedDevice } from "./devices/bt-managed-device";
4
- export declare class DeviceCreator<T extends readonly IntegratedDevices[]> {
6
+ export declare class DeviceCreator<T extends readonly AcceptedDevice[]> {
5
7
  private readonly acceptedDeviceNames;
6
8
  private deviceNameCache;
7
9
  private readonly CACHE_MAX_SIZE;
10
+ private readonly customDevices;
8
11
  constructor(acceptedDeviceNames: T);
9
- getDeviceName: (foundName: string) => IntegratedDevices | undefined;
10
- createDevice<T extends IntegratedDevices>(params: CreateDeviceParams<T>): BTManagedDevice<T>;
12
+ getDeviceName: (foundName: string) => DeviceKeyOf<T> | undefined;
13
+ createDevice<K extends DeviceKey>(params: CreateDeviceParams<K>): BTManagedDevice<K>;
11
14
  destroy: () => void;
12
- private getIntegratedDeviceName;
15
+ /**
16
+ * A built-in device always wins over a declaration: its decoder is compiled and tested,
17
+ * and a declaration that happens to match the same advertised name must not displace it.
18
+ */
19
+ private matchDeviceName;
13
20
  private cacheDeviceName;
14
21
  }
15
22
  //# sourceMappingURL=device-creator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-creator.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/device-creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAI9D,qBAAa,aAAa,CAAC,CAAC,SAAS,SAAS,iBAAiB,EAAE;IAInD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAHhD,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;gBAET,mBAAmB,EAAE,CAAC;IAE5C,aAAa,GAAI,WAAW,MAAM,KAAG,iBAAiB,GAAG,SAAS,CAYvE;IAEK,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAC7C,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC5B,eAAe,CAAC,CAAC,CAAC;IAiCd,OAAO,aAEZ;IAEF,OAAO,CAAC,uBAAuB,CA4B7B;IAEF,OAAO,CAAC,eAAe;CAexB"}
1
+ {"version":3,"file":"device-creator.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/device-creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAyC9D,qBAAa,aAAa,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE;IAKhD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAJhD,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;gBAEvC,mBAAmB,EAAE,CAAC;IAI5C,aAAa,GAAI,WAAW,MAAM,KAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAkBpE;IAEK,YAAY,CAAC,CAAC,SAAS,SAAS,EACrC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC5B,eAAe,CAAC,CAAC,CAAC;IAwCd,OAAO,aAEZ;IAEF;;;OAGG;IACH,OAAO,CAAC,eAAe,CAmBrB;IAEF,OAAO,CAAC,eAAe;CAexB"}
@@ -18,10 +18,21 @@ export declare class BTDataProcessor<T extends Measurement> {
18
18
  private readonly mainServices;
19
19
  private readonly stuckDataTimeoutDuration;
20
20
  private readonly callbacks;
21
- private collectedValues;
21
+ /**
22
+ * One buffer per characteristic.
23
+ *
24
+ * A frame that is still incomplete stays buffered until the rest of it arrives, so a
25
+ * shared buffer would prepend one characteristic's leftover bytes to the next
26
+ * characteristic's notification. Every declared byte offset is absolute, so that frame
27
+ * would then be decoded at a shifted offset - a plausible wrong reading rather than an
28
+ * error. Keeping the buffers apart makes that impossible.
29
+ */
30
+ private buffers;
22
31
  private isMeasuring;
23
32
  private stuckDataTimeout;
24
33
  constructor(device: Device, mainServices: IMedicalDevice["mainService"], stuckDataTimeoutDuration: number, callbacks: DataProcessorCallbacks<T>);
34
+ private get collectedValues();
35
+ private currentUuid;
25
36
  destroy: () => void;
26
37
  processData: (uuid: string, hexValue: string[]) => void;
27
38
  private extractData;
@@ -1 +1 @@
1
- {"version":3,"file":"bt-data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-data-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,UAAU,sBAAsB,CAAC,CAAC,SAAS,WAAW;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAChD,eAAe,EAAE,MAAM,EAAE,KACtB,OAAO,GAAG,IAAI,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,qBAAqB,CAAC,EAAE,CACtB,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAClC,4BAA4B,CAAC,CAAC,CAAC,CAAC;CACtC;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAK9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAA4C;gBAEjD,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC3C,wBAAwB,EAAE,MAAM,EAChC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAGhD,OAAO,aAKZ;IAEK,WAAW,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,UA+BpD;IAEF,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,+BAA+B,CAGrC;IAEF,OAAO,CAAC,iBAAiB,CAevB;CACH"}
1
+ {"version":3,"file":"bt-data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-data-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,UAAU,sBAAsB,CAAC,CAAC,SAAS,WAAW;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAChD,eAAe,EAAE,MAAM,EAAE,KACtB,OAAO,GAAG,IAAI,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,qBAAqB,CAAC,EAAE,CACtB,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAClC,4BAA4B,CAAC,CAAC,CAAC,CAAC;CACtC;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAc9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAhB5B;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAA4C;gBAEjD,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC3C,wBAAwB,EAAE,MAAM,EAChC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAGvD,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,WAAW,CAAc;IAE1B,OAAO,aAMZ;IAEK,WAAW,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,UAoCpD;IAEF,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,+BAA+B,CAGrC;IAEF,OAAO,CAAC,iBAAiB,CAevB;CACH"}
@@ -3,13 +3,14 @@ import { BleError, Device } from "react-native-ble-plx";
3
3
  import { CreateDeviceParams } from "../../types/create-device-params";
4
4
  import { DependentResultHandlerParams } from "../../types/dependent-result-handler-params";
5
5
  import { DeviceData } from "../../types/device-data";
6
+ import { DeviceKey } from "../../types/device-key";
6
7
  import { MeasurementTypeForDevices } from "../../types/device-measurement-map";
7
8
  import { DeviceStatus } from "../../types/device-status";
8
9
  import { IBTManagedDevice } from "../../types/i-bt-managed-device";
9
10
  import { IMedicalDevice } from "../../types/i-medical-device";
10
11
  import { IntegratedDevices } from "../../types/integrated-devices";
11
12
  import { MeasurementWithCaseType } from "../../types/measurement-with-case-type";
12
- export declare abstract class BTManagedDevice<T extends IntegratedDevices = IntegratedDevices.BP2> implements IBTManagedDevice {
13
+ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDevices.BP2> implements IBTManagedDevice {
13
14
  readonly device: Device;
14
15
  id: string;
15
16
  private connectionHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,8BAAsB,eAAe,CACnC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CACnD,YAAW,gBAAgB;aA8CT,MAAM,EAAE,MAAM;IA5CzB,EAAE,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,aAAa,CAEP;IACP,UAAU,EAAE,UAAU,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAChC,IAAI,EAAE,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC/D,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAE/D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7E,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CACpC,aAAa,EAAE,uBAAuB,CAAC,WAAW,CAAC,EACnD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IAEV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,qBAAqB,CAAC,EAAE,CAC7B,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACH,QAAQ,CAAC,EAAE,CAChB,IAAI,EAAE,uBAAuB,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC1D,IAAI,CAAC;IACH,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;gBAEvB,MAAM,EAAE,MAAM,EAE9B,EACE,UAAU,EACV,OAAO,EAAE,eAAe,EACxB,qBAAqB,EAAE,6BAA6B,EACpD,QAAQ,EAAE,gBAAgB,EAC1B,oBAAoB,EAAE,4BAA4B,GACnD,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAsEnB,OAAO,aAUZ;IAEK,OAAO,sBAgDZ;IAEF,OAAO,CAAC,+BAA+B,CAarC;CACH"}
1
+ {"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,8BAAsB,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAC/E,YAAW,gBAAgB;aA8CT,MAAM,EAAE,MAAM;IA5CzB,EAAE,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,aAAa,CAEP;IACP,UAAU,EAAE,UAAU,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAChC,IAAI,EAAE,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC/D,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAE/D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7E,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CACpC,aAAa,EAAE,uBAAuB,CAAC,WAAW,CAAC,EACnD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IAEV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,qBAAqB,CAAC,EAAE,CAC7B,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACH,QAAQ,CAAC,EAAE,CAChB,IAAI,EAAE,uBAAuB,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC1D,IAAI,CAAC;IACH,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;gBAEvB,MAAM,EAAE,MAAM,EAE9B,EACE,UAAU,EACV,OAAO,EAAE,eAAe,EACxB,qBAAqB,EAAE,6BAA6B,EACpD,QAAQ,EAAE,gBAAgB,EAC1B,oBAAoB,EAAE,4BAA4B,GACnD,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAsEnB,OAAO,aAUZ;IAEK,OAAO,sBAgDZ;IAEF,OAAO,CAAC,+BAA+B,CAarC;CACH"}
@@ -0,0 +1,43 @@
1
+ import { Device } from "react-native-ble-plx";
2
+ import { CreateDeviceParams } from "../../../types/create-device-params";
3
+ import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
4
+ import { CustomDeviceId } from "../../../types/custom-device-id";
5
+ import { DependentResultHandlerParams } from "../../../types/dependent-result-handler-params";
6
+ import { MeasurementTypeForDevices } from "../../../types/device-measurement-map";
7
+ import { IService } from "../../../types/service.type";
8
+ import { BTManagedDevice } from "../bt-managed-device";
9
+ type CustomMeasurementOf = MeasurementTypeForDevices<[CustomDeviceId]>;
10
+ /**
11
+ * Runs a device registered with defineCustomDevice.
12
+ *
13
+ * Everything specific to the device is data: the services and characteristics it exposes,
14
+ * how a complete frame is recognised, which frame carries which reading, and how each byte
15
+ * range becomes a number. What is left here is the safety net - a reading is reported only
16
+ * when every property the declaration named decoded to a finite number inside the range the
17
+ * catalog accepts. Anything else is reported through onError and no measurement is emitted.
18
+ */
19
+ export declare class CustomDevice extends BTManagedDevice<CustomDeviceId> {
20
+ protected mainServices: IService[];
21
+ protected stuckDataTimeout: number;
22
+ protected onStreamStart?: (() => void) | undefined;
23
+ private readonly definition;
24
+ private readonly validators;
25
+ constructor(device: Device, params: CreateDeviceParams<CustomDeviceId>, definition: CustomDeviceDefinition);
26
+ protected validatePackage: (pkg: string[], uuid: string) => boolean;
27
+ /**
28
+ * Every declared "result" frame arrives here, whether or not the device streamed first.
29
+ * The reading is checked and reported, and the frame is then handed back as OTHER so the
30
+ * processor returns the device to CONNECTED without reporting it a second time.
31
+ */
32
+ protected handleDependentResult: (data: DependentResultHandlerParams<CustomMeasurementOf>) => DependentResultHandlerParams<CustomMeasurementOf>;
33
+ /**
34
+ * Stream frames reach this while the device is measuring. They carry no fields, and the
35
+ * readings themselves are reported from handleDependentResult, so there is nothing to do.
36
+ */
37
+ protected handleSuccessResult(): void | boolean;
38
+ private report;
39
+ private reject;
40
+ private fail;
41
+ }
42
+ export {};
43
+ //# sourceMappingURL=custom.device.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,KAAK,mBAAmB,GAAG,yBAAyB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAKvE;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,eAAe,CAAC,cAAc,CAAC;IAC/D,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IACnC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAEnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiD;gBAG1E,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,cAAc,CAAC,EAC1C,UAAU,EAAE,sBAAsB;IAapC,SAAS,CAAC,eAAe,GAAI,KAAK,MAAM,EAAE,EAAE,MAAM,MAAM,KAAG,OAAO,CAQhE;IAEF;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,GAC7B,MAAM,4BAA4B,CAAC,mBAAmB,CAAC,KACtD,4BAA4B,CAAC,mBAAmB,CAAC,CAWlD;IAEF;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI,GAAG,OAAO;IAI/C,OAAO,CAAC,MAAM;IAgCd,OAAO,CAAC,MAAM;IAsBd,OAAO,CAAC,IAAI;CAOb"}
@@ -0,0 +1,5 @@
1
+ import { CustomDeviceDefinition } from "./custom-device-definition";
2
+ import { IntegratedDevices } from "./integrated-devices";
3
+ /** An entry of BTProvider's `acceptedDevices`: a built-in device, or a declared one. */
4
+ export type AcceptedDevice = IntegratedDevices | CustomDeviceDefinition;
5
+ //# sourceMappingURL=accepted-device.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accepted-device.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/accepted-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,wFAAwF;AACxF,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,sBAAsB,CAAC"}
@@ -1,16 +1,17 @@
1
1
  import { BleManager } from "react-native-ble-plx";
2
2
  import { BTManager } from "../services/bt-manager";
3
3
  import { BTManagedDevice } from "../services/devices/bt-managed-device";
4
+ import { AcceptedDevice } from "./accepted-device";
5
+ import { DeviceKeyOf } from "./device-key-of";
4
6
  import { DeviceStatusChangeCallback } from "./device-status-change-callback";
5
7
  import { ErrorCallback } from "./error-callback";
6
- import { IntegratedDevices } from "./integrated-devices";
7
8
  import { ResultCallback } from "./result-callback";
8
- export interface BTProviderChildWrapperProps<T extends readonly IntegratedDevices[]> {
9
+ export interface BTProviderChildWrapperProps<T extends readonly AcceptedDevice[]> {
9
10
  bleManager: BleManager;
10
11
  acceptedDevices: T;
11
- onDeviceFound?: (device: BTManagedDevice<T[number]>, manager: BTManager<T>) => Promise<void>;
12
+ onDeviceFound?: (device: BTManagedDevice<DeviceKeyOf<T>>, manager: BTManager<T>) => Promise<void>;
12
13
  onError?: (data: ErrorCallback) => void;
13
14
  onDeviceStatusChanged?: (data: DeviceStatusChangeCallback) => void;
14
- onResult?: (data: ResultCallback<T[number]>) => void;
15
+ onResult?: (data: ResultCallback<DeviceKeyOf<T>>) => void;
15
16
  }
16
17
  //# sourceMappingURL=btprovider-children-props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"btprovider-children-props.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/btprovider-children-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,2BAA2B,CAC1C,CAAC,SAAS,SAAS,iBAAiB,EAAE;IAEtC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,CACd,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAClC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;CACtD"}
1
+ {"version":3,"file":"btprovider-children-props.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/btprovider-children-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,2BAA2B,CAC1C,CAAC,SAAS,SAAS,cAAc,EAAE;IAEnC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,CACd,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EACvC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC3D"}
@@ -1,6 +1,6 @@
1
+ import { AcceptedDevice } from "./accepted-device";
1
2
  import { BTProviderChildWrapperProps } from "./btprovider-children-props";
2
- import { IntegratedDevices } from "./integrated-devices";
3
- export interface BTProviderProps<T extends readonly IntegratedDevices[]> extends BTProviderChildWrapperProps<T> {
3
+ export interface BTProviderProps<T extends readonly AcceptedDevice[]> extends BTProviderChildWrapperProps<T> {
4
4
  onAccessPermissionChanged?: (accessPermission: boolean) => void;
5
5
  /**
6
6
  * Callback to be called when the access permission is not granted and the user is asked to open the settings
@@ -1 +1 @@
1
- {"version":3,"file":"btprovider-props.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/btprovider-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,SAAS,iBAAiB,EAAE,CACrE,SAAQ,2BAA2B,CAAC,CAAC,CAAC;IACtC,yBAAyB,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,KAAK,IAAI,CAAC;IAEhE;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;CAC5C"}
1
+ {"version":3,"file":"btprovider-props.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/btprovider-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE,CAClE,SAAQ,2BAA2B,CAAC,CAAC,CAAC;IACtC,yBAAyB,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,KAAK,IAAI,CAAC;IAEhE;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;CAC5C"}
@@ -0,0 +1,16 @@
1
+ import { CustomFieldEncoding } from "./custom-field-encoding";
2
+ /** A validated field spec with every default resolved. */
3
+ export interface CompiledCustomField {
4
+ name: string;
5
+ /** Already reordered for the declared byte order. */
6
+ byteIndexes: number[];
7
+ encoding: CustomFieldEncoding;
8
+ scale: number;
9
+ offset: number;
10
+ decimals?: number;
11
+ unit: string;
12
+ /** Hard accepted range. A decoded value outside it is an error, never a reading. */
13
+ min: number;
14
+ max: number;
15
+ }
16
+ //# sourceMappingURL=compiled-custom-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiled-custom-field.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/compiled-custom-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,qDAAqD;IACrD,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,QAAQ,EAAE,mBAAmB,CAAC;IAE9B,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;IAEb,oFAAoF;IACpF,GAAG,EAAE,MAAM,CAAC;IAEZ,GAAG,EAAE,MAAM,CAAC;CACb"}
@@ -1,9 +1,9 @@
1
1
  import { Device } from "react-native-ble-plx";
2
+ import { DeviceKey } from "./device-key";
2
3
  import { DeviceStatusChangeCallback } from "./device-status-change-callback";
3
4
  import { ErrorCallback } from "./error-callback";
4
- import { IntegratedDevices } from "./integrated-devices";
5
5
  import { ResultCallback } from "./result-callback";
6
- export interface CreateDeviceParams<T extends IntegratedDevices> {
6
+ export interface CreateDeviceParams<T extends DeviceKey> {
7
7
  device: Device;
8
8
  deviceName: T;
9
9
  onError?: (data: ErrorCallback) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"create-device-params.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/create-device-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,iBAAiB;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7C,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC"}
1
+ {"version":3,"file":"create-device-params.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/create-device-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,SAAS;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7C,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Order in which the declared byte indexes are assembled into a single value.
3
+ * "big" keeps the declared order, "little" reverses it.
4
+ */
5
+ export type CustomByteOrder = "big" | "little";
6
+ //# sourceMappingURL=custom-byte-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-byte-order.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-byte-order.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The three frame roles a declared device may use.
3
+ *
4
+ * - "result" a completed reading; its fields are decoded, bounds-checked and reported
5
+ * - "stream" the device is mid-measurement; moves the device into MEASURING
6
+ * - "idle" anything else the device emits (heartbeats, menu state); moves it back to CONNECTED
7
+ *
8
+ * The stateful roles the built-in device classes use (dependent, sn, error) are deliberately
9
+ * not available to declarations - they require a device class.
10
+ */
11
+ export type CustomCaseKind = "result" | "stream" | "idle";
12
+ //# sourceMappingURL=custom-case-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-case-kind.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-case-kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { MeasurementTypeKey } from "@ovok/core";
2
+ import { CustomCaseKind } from "./custom-case-kind";
3
+ import { CustomFieldSpec } from "./custom-field-spec";
4
+ /** One frame shape the device emits, selected by the monitor's `caseSelectorBytes`. */
5
+ export interface CustomCaseSpec {
6
+ /**
7
+ * Concatenated hex of the selector bytes that identifies this frame, e.g. "aa0f0801".
8
+ * Empty string when the characteristic declares no selector and has a single case.
9
+ */
10
+ selector: string;
11
+ kind: CustomCaseKind;
12
+ /** Required for a "result" case. Must be a type the declarative decoder supports. */
13
+ measurementTypeKey?: MeasurementTypeKey;
14
+ /** Required and non-empty for a "result" case, forbidden otherwise. */
15
+ fields?: CustomFieldSpec[];
16
+ description?: string;
17
+ }
18
+ //# sourceMappingURL=custom-case-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-case-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-case-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAE7B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,cAAc,CAAC;IAErB,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC,uEAAuE;IACvE,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAE3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,22 @@
1
+ import { CUSTOM_DEVICE_BRAND } from "../constants/custom-device-brand";
2
+ import { CompiledCustomField } from "./compiled-custom-field";
3
+ import { CustomDeviceId } from "./custom-device-id";
4
+ import { CustomDeviceSpec } from "./custom-device-spec";
5
+ import { CustomFrameSpec } from "./custom-frame-spec";
6
+ import { IService } from "./service.type";
7
+ /**
8
+ * A validated, ready-to-run custom device. Only defineCustomDevice produces one.
9
+ */
10
+ export interface CustomDeviceDefinition {
11
+ readonly [CUSTOM_DEVICE_BRAND]: true;
12
+ readonly id: CustomDeviceId;
13
+ readonly spec: CustomDeviceSpec;
14
+ readonly nameMatch: RegExp;
15
+ readonly mainServices: IService[];
16
+ readonly stuckDataTimeout: number;
17
+ /** Keyed by `${measurementTypeKey}:${fieldName}`, used to bounds-check every reading. */
18
+ readonly fields: ReadonlyMap<string, CompiledCustomField>;
19
+ /** Frame declaration of every monitor characteristic, keyed by its 128-bit UUID. */
20
+ readonly frames: ReadonlyMap<string, CustomFrameSpec>;
21
+ }
22
+ //# sourceMappingURL=custom-device-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-device-definition.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-device-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC;IAErC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAE5B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAEhC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IAElC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAE1D,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACvD"}