@ovok/native 1.16.1-dev.2187 → 1.16.1-dev.2191

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 (169) hide show
  1. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
  2. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
  4. package/lib/commonjs/modules/bt-management/index.js +12 -0
  5. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  6. package/lib/commonjs/modules/bt-management/services/bt-manager.js +7 -0
  7. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  8. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
  9. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +2 -1
  11. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  12. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +4 -0
  13. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  14. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +25 -7
  15. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  16. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +19 -14
  17. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  18. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js +75 -0
  19. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
  20. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js +52 -0
  21. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
  22. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
  23. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
  24. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js +27 -0
  25. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
  26. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +3 -5
  27. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  28. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +13 -1
  29. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
  30. package/lib/commonjs/modules/bt-management/types/device-waveform.js +6 -0
  31. package/lib/commonjs/modules/bt-management/types/device-waveform.js.map +1 -0
  32. package/lib/commonjs/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
  33. package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js +14 -0
  34. package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
  35. package/lib/commonjs/modules/next/bluetooth/connections.js +7 -1
  36. package/lib/commonjs/modules/next/bluetooth/connections.js.map +1 -1
  37. package/lib/commonjs/modules/next/bluetooth/driver.js.map +1 -1
  38. package/lib/commonjs/modules/next/bluetooth/runtime.js +8 -1
  39. package/lib/commonjs/modules/next/bluetooth/runtime.js.map +1 -1
  40. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
  41. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  42. package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
  43. package/lib/module/modules/bt-management/index.js +1 -0
  44. package/lib/module/modules/bt-management/index.js.map +1 -1
  45. package/lib/module/modules/bt-management/services/bt-manager.js +7 -0
  46. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  47. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
  48. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  49. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +2 -1
  50. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  51. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +4 -0
  52. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  53. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +25 -7
  54. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  55. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +19 -14
  56. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  57. package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js +72 -0
  58. package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
  59. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js +48 -0
  60. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
  61. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
  62. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
  63. package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js +22 -0
  64. package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
  65. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +3 -6
  66. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  67. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +14 -1
  68. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
  69. package/lib/module/modules/bt-management/types/device-waveform.js +4 -0
  70. package/lib/module/modules/bt-management/types/device-waveform.js.map +1 -0
  71. package/lib/module/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
  72. package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js +14 -0
  73. package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
  74. package/lib/module/modules/next/bluetooth/connections.js +7 -1
  75. package/lib/module/modules/next/bluetooth/connections.js.map +1 -1
  76. package/lib/module/modules/next/bluetooth/driver.js.map +1 -1
  77. package/lib/module/modules/next/bluetooth/runtime.js +8 -1
  78. package/lib/module/modules/next/bluetooth/runtime.js.map +1 -1
  79. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
  81. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
  83. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +4 -0
  85. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  89. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
  91. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +4 -3
  93. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
  95. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
  96. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
  97. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
  98. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
  99. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
  101. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
  102. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +1 -1
  103. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  106. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
  108. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts +15 -0
  110. package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
  112. package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts +3 -1
  115. package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts +6 -1
  117. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts +1 -1
  119. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts.map +1 -1
  120. package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts +4 -1
  121. package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts +14 -1
  123. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  124. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  125. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
  126. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  127. package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
  128. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  129. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +4 -0
  130. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  131. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  132. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  133. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  134. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  135. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
  136. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  137. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +4 -3
  138. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  139. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
  140. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
  141. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
  142. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
  143. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
  144. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
  145. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
  146. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
  147. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +1 -1
  148. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  149. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
  150. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  151. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  152. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
  153. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  154. package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts +15 -0
  155. package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
  156. package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
  157. package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
  158. package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
  159. package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts +3 -1
  160. package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  161. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts +6 -1
  162. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  163. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts +1 -1
  164. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts.map +1 -1
  165. package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts +4 -1
  166. package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
  167. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts +14 -1
  168. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  169. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.file-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAsB5D,sCAAsC;AACtC,UAAU,QAAQ;IAEhB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,sCAAsC;AACtC,UAAU,sBAAsB;IAE9B,kDAAkD;IAClD,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpC,yFAAyF;IACzF,OAAO,EAAE,kBAAkB,CAAC;IAE5B,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IAC7E,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAEjC,yFAAyF;IACzF,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,mEAAmE;IACnE,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEhC,gFAAgF;IAChF,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAEvC,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,SAAS,aAAa,EAAE,CAAC;IAE/C,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;CACZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,cAAM,gBAAiB,YAAW,gBAAgB;IAS7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAR1C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAS;gBAEa,MAAM,EAAE,sBAAsB;IAE3D,iBAAiB,QAAO,OAAO,CAAS;IAExC,eAAe,GACpB,qBAAqB,MAAM,KAC1B,SAAS,aAAa,EAAE,CAEzB;IAEK,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CA+BrC;IAEF,OAAO,CAAC,YAAY,CA4BlB;IAEF,0FAA0F;IAC1F,OAAO,CAAC,UAAU,CAqBhB;IAEF;;;;OAIG;IACH,OAAO,CAAC,WAAW,CA2BjB;IAEF,OAAO,CAAC,UAAU,CAgBhB;IAEF,OAAO,CAAC,SAAS,CAEf;IAEF;;;;;OAKG;IACH,OAAO,CAAC,IAAI,CAWV;IAEF,OAAO,CAAC,UAAU,CAQf;CACJ;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"lepu.file-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAqB5D,sCAAsC;AACtC,UAAU,QAAQ;IAEhB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,sCAAsC;AACtC,UAAU,sBAAsB;IAE9B,kDAAkD;IAClD,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpC,yFAAyF;IACzF,OAAO,EAAE,kBAAkB,CAAC;IAE5B,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IAC7E,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAEjC,yFAAyF;IACzF,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,mEAAmE;IACnE,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEhC,gFAAgF;IAChF,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAEvC,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,SAAS,aAAa,EAAE,CAAC;IAE/C,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;CACZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,cAAM,gBAAiB,YAAW,gBAAgB;IAU7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAT1C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAS;gBAEa,MAAM,EAAE,sBAAsB;IAE3D,iBAAiB,QAAO,OAAO,CAAS;IAExC,eAAe,GACpB,qBAAqB,MAAM,KAC1B,SAAS,aAAa,EAAE,CAEzB;IAEK,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CA+BrC;IAEF,OAAO,CAAC,YAAY,CA6BlB;IAEF,0FAA0F;IAC1F,OAAO,CAAC,UAAU,CAuBhB;IAEF;;;;OAIG;IACH,OAAO,CAAC,WAAW,CA2BjB;IAEF,OAAO,CAAC,UAAU,CAgBhB;IAEF,OAAO,CAAC,SAAS,CAEf;IAEF;;;;;OAKG;IACH,OAAO,CAAC,IAAI,CAWV;IAEF,OAAO,CAAC,UAAU,CAQf;CACJ;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { MeasurementTypeKey } from "@ovok/core/next";
2
+ import { CaseType } from "../../../types/case-type";
3
+ import { Waveform } from "./lepu.waveform";
4
+ /** A stretch of a recording sent live, before the device's own file supersedes it. */
5
+ interface LiveEcgChunk {
6
+ measurementTypeKey: MeasurementTypeKey.ecg;
7
+ caseType: CaseType.RESULT;
8
+ /** The samples, in millivolts. */
9
+ diagramPoints: number[];
10
+ /** Seconds of samples it holds. */
11
+ duration: number;
12
+ /** When its first sample was taken. */
13
+ recordedAt: Date;
14
+ /** `<recording key>-live-<n>`, the key being the device's file name for the recording. */
15
+ recordingId: string;
16
+ /** Taken live, so the device's file for the same span supersedes it. */
17
+ live: true;
18
+ /** Samples received out of those expected for its span, 0 to 1; below 1 means gaps. */
19
+ coverage: number;
20
+ }
21
+ /** Collects one recording's live samples and hands them over in chunks of five minutes or less. */
22
+ declare class LiveEcgChunks {
23
+ private readonly waveform;
24
+ private readonly onChunk;
25
+ private counts;
26
+ private startedAt;
27
+ private lastAt;
28
+ private recordingKey;
29
+ private index;
30
+ constructor(waveform: Waveform, onChunk: (chunk: LiveEcgChunk) => void);
31
+ /** Adds the samples an answer at `at` carried, `recordedSeconds` into the recording. */
32
+ append: (samples: readonly number[], at: Date, recordedSeconds: number) => void;
33
+ /** Hands over what has been collected; the recording may continue into a further chunk. */
34
+ flush: () => void;
35
+ /** Hands over the rest and forgets the recording, so the next one starts its own chunks. */
36
+ endRecording: () => void;
37
+ private secondsOf;
38
+ private coverage;
39
+ }
40
+ export { LiveEcgChunks };
41
+ export type { LiveEcgChunk };
42
+ //# sourceMappingURL=lepu.live-ecg-chunks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lepu.live-ecg-chunks.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAgB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAQzD,sFAAsF;AACtF,UAAU,YAAY;IACpB,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,CAAC;IAC3C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;IAE1B,kCAAkC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IAEjB,uCAAuC;IACvC,UAAU,EAAE,IAAI,CAAC;IAEjB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IAEpB,wEAAwE;IACxE,IAAI,EAAE,IAAI,CAAC;IAEX,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,mGAAmG;AACnG,cAAM,aAAa;IAQf,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,KAAK,CAAK;gBAGC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI;IAGzD,wFAAwF;IACjF,MAAM,GAAI,SAAS,SAAS,MAAM,EAAE,EAAE,IAAI,IAAI,EAAE,iBAAiB,MAAM,KAAG,IAAI,CASnF;IAEF,2FAA2F;IACpF,KAAK,QAAO,IAAI,CAmBrB;IAEF,4FAA4F;IACrF,YAAY,QAAO,IAAI,CAI5B;IAEF,OAAO,CAAC,SAAS,CAAqE;IAEtF,OAAO,CAAC,QAAQ,CAKd;CACH;AASD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { CustomLepuSpec } from "../../../types/custom-lepu-spec";
2
+ import { DeviceConnectionEvent } from "../../../types/device-connection-event";
3
+ import { LiveEcgChunk } from "./lepu.live-ecg-chunks";
4
+ type RecordingStatus = NonNullable<CustomLepuSpec["recordingStatus"]>;
5
+ interface LepuRecorderCallbacks {
6
+ onRecordingChanged: (recording: DeviceConnectionEvent["recording"]) => void;
7
+ /** The samples of one answer while recording, for display. */
8
+ onSamples: (samples: readonly number[], at: Date) => void;
9
+ /** A chunk of the recording, to be saved. */
10
+ onChunk: (chunk: LiveEcgChunk) => void;
11
+ }
12
+ /**
13
+ * Follows a recorder's open recording through its poll answers: reports its state, feeds the live
14
+ * trace while it records, and hands its samples over in chunks.
15
+ */
16
+ declare class LepuRecorder {
17
+ private readonly status;
18
+ private readonly callbacks;
19
+ private readonly watch;
20
+ private readonly chunks;
21
+ constructor(status: RecordingStatus, callbacks: LepuRecorderCallbacks);
22
+ /** Reads one poll answer; true when it is the first in the saved state, so the files are read. */
23
+ observe: (pollAnswer: readonly string[]) => boolean;
24
+ isOpen: () => boolean;
25
+ /** Hands over what is collected, for a connection that is ending. */
26
+ flush: () => void;
27
+ private record;
28
+ }
29
+ export { LepuRecorder };
30
+ //# sourceMappingURL=lepu.recorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lepu.recorder.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAiB,MAAM,wBAAwB,CAAC;AAIrE,KAAK,eAAe,GAAG,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEtE,UAAU,qBAAqB;IAC7B,kBAAkB,EAAE,CAAC,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAE5E,8DAA8D;IAC9D,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,KAAK,IAAI,CAAC;IAE1D,6CAA6C;IAC7C,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,cAAM,YAAY;IAKd,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;gBAGhC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,qBAAqB;IAMnD,kGAAkG;IAC3F,OAAO,GAAI,YAAY,SAAS,MAAM,EAAE,KAAG,OAAO,CAYvD;IAEK,MAAM,QAAO,OAAO,CAAwB;IAEnD,qEAAqE;IAC9D,KAAK,QAAO,IAAI,CAAyB;IAEhD,OAAO,CAAC,MAAM,CAcZ;CACH;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -7,6 +7,7 @@ declare class LepuRecordingWatch {
7
7
  private readonly status;
8
8
  private readonly onRecordingChanged;
9
9
  private state;
10
+ private seconds;
10
11
  private leadOffSince;
11
12
  private reported;
12
13
  constructor(status: RecordingStatus, onRecordingChanged: (recording: Recording | undefined) => void);
@@ -14,6 +15,10 @@ declare class LepuRecordingWatch {
14
15
  observe: (pollAnswer: readonly string[]) => boolean;
15
16
  /** Whether a recording is open, so that stopping it means something. */
16
17
  isOpen: () => boolean;
18
+ /** Whether the electrodes have contact and samples are being recorded. */
19
+ isRecording: () => boolean;
20
+ /** Seconds recorded, as of the last answer. */
21
+ recordedSeconds: () => number;
17
22
  private recordingIn;
18
23
  private isLeadOff;
19
24
  /** Reports a change in what the app would act on, not every tick of the seconds. */
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.recording-watch.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.recording-watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAO/E,KAAK,eAAe,GAAG,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEtE,KAAK,SAAS,GAAG,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;AAEjE,oEAAoE;AACpE,cAAM,kBAAkB;IAMpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IANrC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,QAAQ,CAAqB;gBAGlB,MAAM,EAAE,eAAe,EACvB,kBAAkB,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI;IAGjF,kGAAkG;IAC3F,OAAO,GAAI,YAAY,SAAS,MAAM,EAAE,KAAG,OAAO,CAQvD;IAEF,wEAAwE;IACjE,MAAM,QAAO,OAAO,CACqC;IAEhE,OAAO,CAAC,WAAW,CAYjB;IAEF,OAAO,CAAC,SAAS,CAA0D;IAE3E,oFAAoF;IACpF,OAAO,CAAC,MAAM,CAYZ;CACH;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"lepu.recording-watch.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.recording-watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAO/E,KAAK,eAAe,GAAG,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEtE,KAAK,SAAS,GAAG,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;AAEjE,oEAAoE;AACpE,cAAM,kBAAkB;IAOpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAPrC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,QAAQ,CAAqB;gBAGlB,MAAM,EAAE,eAAe,EACvB,kBAAkB,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI;IAGjF,kGAAkG;IAC3F,OAAO,GAAI,YAAY,SAAS,MAAM,EAAE,KAAG,OAAO,CASvD;IAEF,wEAAwE;IACjE,MAAM,QAAO,OAAO,CAA2C;IAEtE,0EAA0E;IACnE,WAAW,QAAO,OAAO,CAA8C;IAE9E,+CAA+C;IACxC,eAAe,QAAO,MAAM,CAAiB;IAEpD,OAAO,CAAC,WAAW,CAOH;IAEhB,OAAO,CAAC,SAAS,CAA0D;IAE3E,oFAAoF;IACpF,OAAO,CAAC,MAAM,CAYZ;CACH;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { CustomLepuSpec } from "../../../types/custom-lepu-spec";
2
+ type Waveform = NonNullable<NonNullable<CustomLepuSpec["recordingStatus"]>["waveform"]>;
3
+ /** The raw sample counts a poll answer carries, never more than the frame holds. */
4
+ declare const waveformSamples: (pollAnswer: readonly string[], waveform: Waveform) => number[];
5
+ /** One count in millivolts; the no-signal marker reads as 0. */
6
+ declare const millivoltsOf: (count: number, waveform: Waveform) => number;
7
+ export { millivoltsOf, waveformSamples };
8
+ export type { Waveform };
9
+ //# sourceMappingURL=lepu.waveform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lepu.waveform.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.waveform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAIjE,KAAK,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAMxF,oFAAoF;AACpF,QAAA,MAAM,eAAe,GAAI,YAAY,SAAS,MAAM,EAAE,EAAE,UAAU,QAAQ,KAAG,MAAM,EAOlF,CAAC;AAEF,gEAAgE;AAChE,QAAA,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,UAAU,QAAQ,KAAG,MACkB,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,CAAC"}
@@ -15,7 +15,7 @@ interface ViatomEcgRecording {
15
15
  * Decodes an ER1/ER2 recording. A file whose waveform does not last as long as its tail
16
16
  * records is returned empty, because that file is in a format this decoder does not read.
17
17
  */
18
- declare const decodeViatomEcgRecording: (content: readonly string[]) => ViatomEcgRecording;
18
+ declare const decodeViatomEcgRecording: (bytes: Uint8Array) => ViatomEcgRecording;
19
19
  export type { ViatomEcgRecording };
20
20
  export { decodeViatomEcgRecording, recordedAtFromViatomFileName, VIATOM_ECG_MILLIVOLTS_PER_COUNT, VIATOM_ECG_SAMPLE_RATE_HZ, };
21
21
  //# sourceMappingURL=viatom.ecg-files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"viatom.ecg-files.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"names":[],"mappings":"AAEA,gCAAgC;AAChC,QAAA,MAAM,yBAAyB,MAAM,CAAC;AAEtC,kDAAkD;AAClD,QAAA,MAAM,+BAA+B,WAAW,CAAC;AAsBjD,0EAA0E;AAC1E,QAAA,MAAM,4BAA4B,GAAI,MAAM,MAAM,KAAG,IAAI,GAAG,SA0B3D,CAAC;AAiBF,mCAAmC;AACnC,UAAU,kBAAkB;IAE1B,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAsFD;;;GAGG;AACH,QAAA,MAAM,wBAAwB,GAC5B,SAAS,SAAS,MAAM,EAAE,KACzB,kBAeF,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"viatom.ecg-files.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,QAAA,MAAM,yBAAyB,MAAM,CAAC;AAEtC,kDAAkD;AAClD,QAAA,MAAM,+BAA+B,WAAW,CAAC;AAsBjD,0EAA0E;AAC1E,QAAA,MAAM,4BAA4B,GAAI,MAAM,MAAM,KAAG,IAAI,GAAG,SA0B3D,CAAC;AAiBF,mCAAmC;AACnC,UAAU,kBAAkB;IAE1B,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAsFD;;;GAGG;AACH,QAAA,MAAM,wBAAwB,GAAI,OAAO,UAAU,KAAG,kBAcrD,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viatom.ecg-recording-status.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,gEAAgE;AAChE,QAAA,MAAM,eAAe,KAAK,CAAC;AAC3B,QAAA,MAAM,eAAe,IAAI,CAAC;AAe1B,4EAA4E;AAC5E,QAAA,MAAM,qBAAqB,GACzB,gBAAgB,MAAM,KACrB,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAU9C,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"viatom.ecg-recording-status.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAIjE,gEAAgE;AAChE,QAAA,MAAM,eAAe,KAAK,CAAC;AAC3B,QAAA,MAAM,eAAe,IAAI,CAAC;AAoB1B,4EAA4E;AAC5E,QAAA,MAAM,qBAAqB,GACzB,gBAAgB,MAAM,KACrB,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAgB9C,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC"}
@@ -6,6 +6,7 @@ import { DeviceConnectionEvent } from "./device-connection-event";
6
6
  import { DeviceData } from "./device-data";
7
7
  import { DeviceKey } from "./device-key";
8
8
  import { DeviceStatusChangeCallback } from "./device-status-change-callback";
9
+ import { DeviceWaveform } from "./device-waveform";
9
10
  import { ErrorCallback } from "./error-callback";
10
11
  import { ResultCallback } from "./result-callback";
11
12
  import { DeviceResultPolicy } from "./result-policy";
@@ -22,6 +23,8 @@ export interface CreateDeviceParams<T extends DeviceKey> {
22
23
  onSeriesValue?: (deviceData: DeviceData, reading: Measurement) => boolean;
23
24
  hasResultReceiver?: () => boolean;
24
25
  onConnectionEvent?: (data: DeviceConnectionEvent) => void;
26
+ /** Called with the ECG samples of each realtime answer while a recorder records; for display only. */
27
+ onWaveform?: (waveform: DeviceWaveform) => void;
25
28
  onDeviceDisconnected?: () => void;
26
29
  oneReadingPerConnection?: boolean;
27
30
  deliveredEcgFileNames?: readonly string[];
@@ -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,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,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;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,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;IAE7C;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;IAC1E,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC1D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC,sHAAsH;IACtH,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAE5C,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B"}
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,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,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;IAE7C;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;IAC1E,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAE1D,sGAAsG;IACtG,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC,sHAAsH;IACtH,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAE5C,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B"}
@@ -83,6 +83,17 @@ export interface CustomLepuSpec {
83
83
  minimumStoredSeconds: number;
84
84
  /** The opcode that stops the recording, storing it when it is long enough. */
85
85
  stopCommand: number;
86
+ /** Where a poll answer carries the ECG samples taken since the last one, for live display and chunks. */
87
+ waveform?: {
88
+ /** Index of the u16 little-endian sample count, header included; int16 samples follow it. */
89
+ countByteIndex: number;
90
+ /** Samples per second. */
91
+ sampleRateHz: number;
92
+ /** Millivolts per sample count. */
93
+ millivoltsPerCount: number;
94
+ /** The count that means no signal, stored as 0 mV. */
95
+ noSignalCount?: number;
96
+ };
86
97
  };
87
98
  /** Sends the command through the write-without-response characteristic. */
88
99
  writeWithoutResponse?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,eAAe,CAAC,EAAE;QAEhB,oGAAoG;QACpG,SAAS,EAAE,MAAM,CAAC;QAElB,mFAAmF;QACnF,gBAAgB,EAAE,MAAM,CAAC;QAEzB,wCAAwC;QACxC,cAAc,EAAE,MAAM,CAAC;QAEvB,0FAA0F;QAC1F,YAAY,EAAE,MAAM,CAAC;QAErB,2DAA2D;QAC3D,UAAU,EAAE,MAAM,CAAC;QAEnB,mEAAmE;QACnE,oBAAoB,EAAE,MAAM,CAAC;QAE7B,8EAA8E;QAC9E,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
1
+ {"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,eAAe,CAAC,EAAE;QAEhB,oGAAoG;QACpG,SAAS,EAAE,MAAM,CAAC;QAElB,mFAAmF;QACnF,gBAAgB,EAAE,MAAM,CAAC;QAEzB,wCAAwC;QACxC,cAAc,EAAE,MAAM,CAAC;QAEvB,0FAA0F;QAC1F,YAAY,EAAE,MAAM,CAAC;QAErB,2DAA2D;QAC3D,UAAU,EAAE,MAAM,CAAC;QAEnB,mEAAmE;QACnE,oBAAoB,EAAE,MAAM,CAAC;QAE7B,8EAA8E;QAC9E,WAAW,EAAE,MAAM,CAAC;QAEpB,yGAAyG;QACzG,QAAQ,CAAC,EAAE;YAET,6FAA6F;YAC7F,cAAc,EAAE,MAAM,CAAC;YAEvB,0BAA0B;YAC1B,YAAY,EAAE,MAAM,CAAC;YAErB,mCAAmC;YACnC,kBAAkB,EAAE,MAAM,CAAC;YAE3B,sDAAsD;YACtD,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;KACH,CAAC;IAEF,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
@@ -0,0 +1,15 @@
1
+ import { DeviceData } from "./device-data";
2
+ /** The ECG samples a recorder sent in one realtime answer, for drawing a live trace; never saved. */
3
+ export interface DeviceWaveform {
4
+ /** Device the samples came from. */
5
+ deviceData: DeviceData;
6
+ /** Raw sample counts, oldest first. */
7
+ samples: readonly number[];
8
+ /** Samples per second. */
9
+ sampleRateHz: number;
10
+ /** Millivolts per sample count. */
11
+ millivoltsPerCount: number;
12
+ /** When the answer carrying them arrived. */
13
+ at: Date;
14
+ }
15
+ //# sourceMappingURL=device-waveform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-waveform.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/device-waveform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qGAAqG;AACrG,MAAM,WAAW,cAAc;IAE7B,oCAAoC;IACpC,UAAU,EAAE,UAAU,CAAC;IAEvB,uCAAuC;IACvC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAE3B,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;IAErB,mCAAmC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,6CAA6C;IAC7C,EAAE,EAAE,IAAI,CAAC;CACV"}
@@ -1,2 +1,2 @@
1
- export declare const i16FromHex: (hex: string[], i: number) => number;
1
+ export declare const i16FromHex: (hex: readonly string[], i: number) => number;
2
2
  //# sourceMappingURL=i-16-from-hex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-16-from-hex.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/i-16-from-hex.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,EAAE,GAAG,MAAM,KAAG,MAIrD,CAAC"}
1
+ {"version":3,"file":"i-16-from-hex.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/i-16-from-hex.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,MAAM,EAAE,EAAE,GAAG,MAAM,KAAG,MAI9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-driver.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/next/bluetooth/ble-plx/legacy-driver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAe,MAAM,EAAiB,MAAM,WAAW,CAAC;AAW/D,4GAA4G;AAC5G,QAAA,MAAM,YAAY,GAAI,SAAS,aAAa,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,YAAY,SAAS,KAAG,MAuC9F,CAAC;AAEJ,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"legacy-driver.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/next/bluetooth/ble-plx/legacy-driver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAe,MAAM,EAAiB,MAAM,WAAW,CAAC;AAW/D,4GAA4G;AAC5G,QAAA,MAAM,YAAY,GAAI,SAAS,aAAa,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,YAAY,SAAS,KAAG,MAyC9F,CAAC;AAEJ,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Driver } from "./driver";
2
2
  import { ReadingLog } from "./readings";
3
3
  import { ResultPolicy } from "./result-policy";
4
+ import { DeviceWaveform } from "./snapshot";
4
5
  import { SnapshotStore } from "./store";
5
6
  import { Peripheral } from "./transport";
6
7
  /** One driver run per connected device, its events folded into the snapshot. */
@@ -9,9 +10,10 @@ declare class Connections {
9
10
  private readonly readings;
10
11
  private readonly policy;
11
12
  private readonly onEnded;
13
+ private readonly onWaveform;
12
14
  private readonly sessions;
13
15
  private readonly recordingStops;
14
- constructor(store: SnapshotStore, readings: ReadingLog, policy: ResultPolicy, onEnded: (id: string) => void);
16
+ constructor(store: SnapshotStore, readings: ReadingLog, policy: ResultPolicy, onEnded: (id: string) => void, onWaveform: (waveform: DeviceWaveform) => void);
15
17
  isActive(id: string): boolean;
16
18
  /** Resolves once connected; joins a connection still opening or open, and waits out one being closed. */
17
19
  connect(peripheral: Peripheral, driver: Driver): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/connections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,gFAAgF;AAChF,cAAM,WAAW;IAKb,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0C;gBAGtD,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;IAGzC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIpC,yGAAyG;IAC5F,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD;;;;OAIG;IACU,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,0EAA0E;IAC7D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C,OAAO,CAAC,KAAK;YAwCC,GAAG;IAMjB,OAAO,CAAC,KAAK;CAqBd;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/connections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,gFAAgF;AAChF,cAAM,WAAW;IAKb,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAR7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0C;gBAGtD,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI;IAG1D,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIpC,yGAAyG;IAC5F,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD;;;;OAIG;IACU,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,0EAA0E;IAC7D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C,OAAO,CAAC,KAAK;YAwCC,GAAG;IAMjB,OAAO,CAAC,KAAK;CAuBd;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Measurement } from "@ovok/core/next";
2
2
  import { BluetoothError } from "./errors";
3
3
  import { DeviceInformation, Link } from "./link";
4
- import { DeviceRecording } from "./snapshot";
4
+ import { DeviceRecording, DeviceWaveform } from "./snapshot";
5
5
  import { Peripheral } from "./transport";
6
6
  /** What a driver reports while it runs. */
7
7
  type DeviceEvent = {
@@ -28,6 +28,11 @@ type DeviceEvent = {
28
28
  recording: DeviceRecording | null;
29
29
  /** Stops the open recording. */
30
30
  stop: () => Promise<void>;
31
+ } | {
32
+ /** The device sent live ECG samples while recording; for display only. */
33
+ kind: "waveform";
34
+ /** The samples, without the device, which the runtime adds. */
35
+ waveform: Omit<DeviceWaveform, "deviceId">;
31
36
  } | {
32
37
  /** The device or its protocol reported an error; the connection may continue. */
33
38
  kind: "error";
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,2CAA2C;AAC3C,KAAK,WAAW,GACZ;IAEA,+BAA+B;IAC/B,IAAI,EAAE,QAAQ,CAAC;IAEf,2BAA2B;IAC3B,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;CACpD,GACC;IAEA,gFAAgF;IAChF,IAAI,EAAE,aAAa,CAAC;IAEpB,wBAAwB;IACxB,WAAW,EAAE,iBAAiB,CAAC;CAChC,GACC;IAEA,iCAAiC;IACjC,IAAI,EAAE,SAAS,CAAC;IAEhB,+GAA+G;IAC/G,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAElB,2BAA2B;IAC3B,OAAO,EAAE,WAAW,CAAC;CACtB,GACC;IAEA,mDAAmD;IACnD,IAAI,EAAE,WAAW,CAAC;IAElB,wDAAwD;IACxD,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAElC,gCAAgC;IAChC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,GACC;IAEA,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAC;IAEd,iBAAiB;IACjB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEJ,iGAAiG;AACjG,KAAK,MAAM,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC;AAE1F,0EAA0E;AAC1E,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC;AAEjE,8GAA8G;AAC9G,QAAA,MAAM,aAAa,GAAI,SAAS,WAAW,KAAG,OAI7C,CAAC;AAMF,yCAAyC;AACzC,QAAA,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,UAAU,cAAc,KAAG,MAgBzD,CAAC;AAEJ,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,2CAA2C;AAC3C,KAAK,WAAW,GACZ;IAEA,+BAA+B;IAC/B,IAAI,EAAE,QAAQ,CAAC;IAEf,2BAA2B;IAC3B,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;CACpD,GACC;IAEA,gFAAgF;IAChF,IAAI,EAAE,aAAa,CAAC;IAEpB,wBAAwB;IACxB,WAAW,EAAE,iBAAiB,CAAC;CAChC,GACC;IAEA,iCAAiC;IACjC,IAAI,EAAE,SAAS,CAAC;IAEhB,+GAA+G;IAC/G,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAElB,2BAA2B;IAC3B,OAAO,EAAE,WAAW,CAAC;CACtB,GACC;IAEA,mDAAmD;IACnD,IAAI,EAAE,WAAW,CAAC;IAElB,wDAAwD;IACxD,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAElC,gCAAgC;IAChC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,GACC;IAEA,0EAA0E;IAC1E,IAAI,EAAE,UAAU,CAAC;IAEjB,+DAA+D;IAC/D,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;CAC5C,GACC;IAEA,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAC;IAEd,iBAAiB;IACjB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEJ,iGAAiG;AACjG,KAAK,MAAM,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC;AAE1F,0EAA0E;AAC1E,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC;AAEjE,8GAA8G;AAC9G,QAAA,MAAM,aAAa,GAAI,SAAS,WAAW,KAAG,OAI7C,CAAC;AAMF,yCAAyC;AACzC,QAAA,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,UAAU,cAAc,KAAG,MAgBzD,CAAC;AAEJ,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC"}
@@ -11,7 +11,7 @@ export { BluetoothRuntime } from "./runtime";
11
11
  export type { BluetoothRuntimeOptions } from "./runtime";
12
12
  export { BluetoothError } from "./errors";
13
13
  export type { BluetoothErrorCode } from "./errors";
14
- export type { BluetoothSnapshot, ConnectionState, DeviceReading, DeviceRecording, NearbyDevice, SaveState } from "./snapshot";
14
+ export type { BluetoothSnapshot, ConnectionState, DeviceReading, DeviceRecording, DeviceWaveform, NearbyDevice, SaveState } from "./snapshot";
15
15
  export type { AdapterState, Advertisement, BluetoothScanner, Peripheral } from "./transport";
16
16
  export type { BluetoothPermission, BluetoothPermissions } from "./permissions";
17
17
  export type { ReadingSink, SaveResult } from "./sink";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC9H,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7F,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9E,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,YAAY,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,YAAY,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC9I,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7F,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9E,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,YAAY,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,YAAY,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
@@ -3,7 +3,7 @@ import { DeviceSupport } from "./devices";
3
3
  import { BluetoothPermission, BluetoothPermissions } from "./permissions";
4
4
  import { ResultPolicy } from "./result-policy";
5
5
  import { ReadingSink } from "./sink";
6
- import { BluetoothSnapshot } from "./snapshot";
6
+ import { BluetoothSnapshot, DeviceWaveform } from "./snapshot";
7
7
  import { BluetoothScanner } from "./transport";
8
8
  /** What a `BluetoothRuntime` is built from. */
9
9
  type BluetoothRuntimeOptions = {
@@ -31,6 +31,7 @@ declare class BluetoothRuntime {
31
31
  private readonly held;
32
32
  private readonly backoff;
33
33
  private readonly retryTimers;
34
+ private readonly waveformListeners;
34
35
  private readonly readings;
35
36
  private readonly connections;
36
37
  private readonly paired;
@@ -43,6 +44,8 @@ declare class BluetoothRuntime {
43
44
  getSnapshot: () => BluetoothSnapshot;
44
45
  /** Calls `listener` after every state change; returns the unsubscribe. */
45
46
  subscribe: (listener: () => void) => (() => void);
47
+ /** Calls `listener` with the live ECG samples of recording devices, for display; returns the unsubscribe. */
48
+ subscribeWaveform: (listener: (waveform: DeviceWaveform) => void) => (() => void);
46
49
  /** Reads the permission without prompting. */
47
50
  checkPermission(): Promise<BluetoothPermission>;
48
51
  /** Prompts for the permission when the OS still can. */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/runtime.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,19 @@ type NearbyDevice = {
22
22
  /** The recording the device holds open, for recorders that report one; absent when none is open. */
23
23
  recording?: DeviceRecording;
24
24
  };
25
+ /** The ECG samples a recording device sent in one realtime answer, for drawing a live trace; never saved. */
26
+ type DeviceWaveform = {
27
+ /** Platform identifier of the device. */
28
+ deviceId: string;
29
+ /** Raw sample counts, oldest first. */
30
+ samples: readonly number[];
31
+ /** Samples per second. */
32
+ sampleRateHz: number;
33
+ /** Millivolts per sample count. */
34
+ millivoltsPerCount: number;
35
+ /** When the answer carrying them arrived. */
36
+ at: Date;
37
+ };
25
38
  /** A recording a recorder holds open, as its last realtime answer reported it. */
26
39
  type DeviceRecording = {
27
40
  /** Seconds recorded so far, as of the last change. */
@@ -82,5 +95,5 @@ type BluetoothSnapshot = {
82
95
  /** Recent readings, oldest first. */
83
96
  readings: readonly DeviceReading[];
84
97
  };
85
- export type { BluetoothSnapshot, ConnectionState, DeviceReading, DeviceRecording, NearbyDevice, SaveState };
98
+ export type { BluetoothSnapshot, ConnectionState, DeviceReading, DeviceRecording, DeviceWaveform, NearbyDevice, SaveState };
86
99
  //# sourceMappingURL=snapshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,0CAA0C;AAC1C,KAAK,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;AAErG,6CAA6C;AAC7C,KAAK,YAAY,GAAG;IAElB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IAEX,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IAEZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,4BAA4B;IAC5B,UAAU,EAAE,eAAe,CAAC;IAE5B,yDAAyD;IACzD,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAE7B,mGAAmG;IACnG,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC,oGAAoG;IACpG,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,kFAAkF;AAClF,KAAK,eAAe,GAAG;IAErB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB,mFAAmF;IACnF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,qCAAqC;AACrC,KAAK,SAAS,GACV;IAEA,qCAAqC;IACrC,MAAM,EAAE,QAAQ,CAAC;CAClB,GACC;IAEA,aAAa;IACb,MAAM,EAAE,OAAO,CAAC;CACjB,GACC;IAEA,uDAAuD;IACvD,MAAM,EAAE,QAAQ,CAAC;IAEjB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB,GACC;IAEA,qEAAqE;IACrE,MAAM,EAAE,QAAQ,CAAC;IAEjB,oCAAoC;IACpC,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEJ,8DAA8D;AAC9D,KAAK,aAAa,GAAG;IAEnB,mFAAmF;IACnF,EAAE,EAAE,MAAM,CAAC;IAEX,+BAA+B;IAC/B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC;IAElE,+BAA+B;IAC/B,WAAW,EAAE,WAAW,CAAC;IAEzB,gCAAgC;IAChC,UAAU,EAAE,IAAI,CAAC;IAEjB,8BAA8B;IAC9B,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,6EAA6E;AAC7E,KAAK,iBAAiB,GAAG;IAEvB,+BAA+B;IAC/B,OAAO,EAAE,YAAY,CAAC;IAEtB,2DAA2D;IAC3D,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAE5C,uEAAuE;IACvE,QAAQ,EAAE,OAAO,CAAC;IAElB,kEAAkE;IAClE,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAEjC,uDAAuD;IACvD,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAEjC,6EAA6E;IAC7E,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1B,qCAAqC;IACrC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/snapshot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ovok/native",
3
- "version": "1.16.1-dev.2187+fea3e76",
3
+ "version": "1.16.1-dev.2191+47c8a2e",
4
4
  "description": "React native component sdk for OVOK",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",