react-native-rook-sdk 0.7.0 → 1.0.0-rc.0

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 (127) hide show
  1. package/android/src/main/java/com/rooksdk/RookSdkModule.kt +51 -597
  2. package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +17 -1
  3. package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +18 -0
  4. package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +18 -0
  5. package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +108 -0
  6. package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +160 -0
  7. package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +105 -0
  8. package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +497 -0
  9. package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +49 -0
  10. package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +20 -0
  11. package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +8 -0
  12. package/ios/RookSdk.mm +296 -8
  13. package/lib/commonjs/context/RookSyncGateContext.js +12 -0
  14. package/lib/commonjs/context/RookSyncGateContext.js.map +1 -1
  15. package/lib/commonjs/context/RookSyncGateProvider.js +12 -5
  16. package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -1
  17. package/lib/commonjs/context/RookSyncGateReducer.js +15 -0
  18. package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -1
  19. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +26 -41
  20. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
  21. package/lib/commonjs/hooks/useRookAppleHealth.js +24 -10
  22. package/lib/commonjs/hooks/useRookAppleHealth.js.map +1 -1
  23. package/lib/commonjs/hooks/useRookAppleHealthVariables.js +22 -4
  24. package/lib/commonjs/hooks/useRookAppleHealthVariables.js.map +1 -1
  25. package/lib/commonjs/hooks/useRookConfiguration.js +32 -16
  26. package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -1
  27. package/lib/commonjs/hooks/useRookDataSources.js +18 -5
  28. package/lib/commonjs/hooks/useRookDataSources.js.map +1 -1
  29. package/lib/commonjs/hooks/useRookEvents.js +61 -57
  30. package/lib/commonjs/hooks/useRookEvents.js.map +1 -1
  31. package/lib/commonjs/hooks/useRookPermissions.js +59 -28
  32. package/lib/commonjs/hooks/useRookPermissions.js.map +1 -1
  33. package/lib/commonjs/hooks/useRookSummaries.js +23 -30
  34. package/lib/commonjs/hooks/useRookSummaries.js.map +1 -1
  35. package/lib/commonjs/modules/hook/useRookAutoSync.js +100 -32
  36. package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -1
  37. package/lib/commonjs/types/PermissionsType.js +2 -0
  38. package/lib/commonjs/types/PermissionsType.js.map +1 -0
  39. package/lib/commonjs/utils/getNativeModule.js +29 -0
  40. package/lib/commonjs/utils/getNativeModule.js.map +1 -0
  41. package/lib/commonjs/utils/getRookModule.js +7 -0
  42. package/lib/commonjs/utils/getRookModule.js.map +1 -1
  43. package/lib/commonjs/utils/isModuleReady.js +6 -0
  44. package/lib/commonjs/utils/isModuleReady.js.map +1 -1
  45. package/lib/commonjs/utils/isValidDate.js +6 -0
  46. package/lib/commonjs/utils/isValidDate.js.map +1 -1
  47. package/lib/commonjs/utils/nativeModules.js +19 -0
  48. package/lib/commonjs/utils/nativeModules.js.map +1 -0
  49. package/lib/module/context/RookSyncGateContext.js +12 -0
  50. package/lib/module/context/RookSyncGateContext.js.map +1 -1
  51. package/lib/module/context/RookSyncGateProvider.js +8 -1
  52. package/lib/module/context/RookSyncGateProvider.js.map +1 -1
  53. package/lib/module/context/RookSyncGateReducer.js +15 -0
  54. package/lib/module/context/RookSyncGateReducer.js.map +1 -1
  55. package/lib/module/hooks/useRookAndroidBackgroundSteps.js +14 -29
  56. package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
  57. package/lib/module/hooks/useRookAppleHealth.js +15 -2
  58. package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
  59. package/lib/module/hooks/useRookAppleHealthVariables.js +20 -2
  60. package/lib/module/hooks/useRookAppleHealthVariables.js.map +1 -1
  61. package/lib/module/hooks/useRookConfiguration.js +18 -3
  62. package/lib/module/hooks/useRookConfiguration.js.map +1 -1
  63. package/lib/module/hooks/useRookDataSources.js +14 -2
  64. package/lib/module/hooks/useRookDataSources.js.map +1 -1
  65. package/lib/module/hooks/useRookEvents.js +32 -28
  66. package/lib/module/hooks/useRookEvents.js.map +1 -1
  67. package/lib/module/hooks/useRookPermissions.js +39 -9
  68. package/lib/module/hooks/useRookPermissions.js.map +1 -1
  69. package/lib/module/hooks/useRookSummaries.js +16 -23
  70. package/lib/module/hooks/useRookSummaries.js.map +1 -1
  71. package/lib/module/modules/hook/useRookAutoSync.js +100 -33
  72. package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
  73. package/lib/module/types/PermissionsType.js +2 -0
  74. package/lib/module/types/PermissionsType.js.map +1 -0
  75. package/lib/module/utils/getNativeModule.js +23 -0
  76. package/lib/module/utils/getNativeModule.js.map +1 -0
  77. package/lib/module/utils/getRookModule.js +8 -0
  78. package/lib/module/utils/getRookModule.js.map +1 -1
  79. package/lib/module/utils/isModuleReady.js +6 -0
  80. package/lib/module/utils/isModuleReady.js.map +1 -1
  81. package/lib/module/utils/isValidDate.js +6 -0
  82. package/lib/module/utils/isValidDate.js.map +1 -1
  83. package/lib/module/utils/nativeModules.js +13 -0
  84. package/lib/module/utils/nativeModules.js.map +1 -0
  85. package/lib/typescript/src/context/RookSyncGateContext.d.ts +7 -0
  86. package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
  87. package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
  88. package/lib/typescript/src/context/RookSyncGateReducer.d.ts +15 -0
  89. package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
  90. package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts +6 -2
  91. package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
  92. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts +1 -1
  93. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
  94. package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts +9 -0
  95. package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts.map +1 -1
  96. package/lib/typescript/src/hooks/useRookConfiguration.d.ts +6 -0
  97. package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
  98. package/lib/typescript/src/hooks/useRookDataSources.d.ts +6 -0
  99. package/lib/typescript/src/hooks/useRookDataSources.d.ts.map +1 -1
  100. package/lib/typescript/src/hooks/useRookEvents.d.ts +9 -1
  101. package/lib/typescript/src/hooks/useRookEvents.d.ts.map +1 -1
  102. package/lib/typescript/src/hooks/useRookPermissions.d.ts +10 -0
  103. package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
  104. package/lib/typescript/src/hooks/useRookSummaries.d.ts +6 -6
  105. package/lib/typescript/src/hooks/useRookSummaries.d.ts.map +1 -1
  106. package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts +16 -0
  107. package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
  108. package/lib/typescript/src/types/PermissionsType.d.ts +6 -0
  109. package/lib/typescript/src/types/PermissionsType.d.ts.map +1 -0
  110. package/lib/typescript/src/utils/getNativeModule.d.ts +10 -0
  111. package/lib/typescript/src/utils/getNativeModule.d.ts.map +1 -0
  112. package/lib/typescript/src/utils/getRookModule.d.ts +7 -0
  113. package/lib/typescript/src/utils/getRookModule.d.ts.map +1 -1
  114. package/lib/typescript/src/utils/isModuleReady.d.ts +6 -0
  115. package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
  116. package/lib/typescript/src/utils/isValidDate.d.ts +6 -0
  117. package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
  118. package/lib/typescript/src/utils/nativeModules.d.ts +14 -0
  119. package/lib/typescript/src/utils/nativeModules.d.ts.map +1 -0
  120. package/package.json +1 -1
  121. package/react-native-rook-sdk.podspec +1 -1
  122. package/lib/commonjs/utils/index.js +0 -69
  123. package/lib/commonjs/utils/index.js.map +0 -1
  124. package/lib/module/utils/index.js +0 -9
  125. package/lib/module/utils/index.js.map +0 -1
  126. package/lib/typescript/src/utils/index.d.ts +0 -9
  127. package/lib/typescript/src/utils/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOniOS","useRookAppleHealthVariables","rookSync","state","ready","getTodaySteps","result","current"],"sourceRoot":"../../../src","sources":["hooks/useRookAppleHealthVariables.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,aAAa,EAAEC,aAAa,EAAEC,cAAc,QAAQ,UAAU;AAEvE,OAAO,MAAMC,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAMC,QAAQ,GAAGN,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EACxC,MAAM;IACJK,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGP,sBAAsB,CAAC,CAAC;EAE5B,MAAMQ,aAAa,GAAG,MAAAA,CAAA,KAA2B;IAC/CL,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACK,KAAK,CAAC;IAEpB,MAAME,MAAM,GAAG,MAAMJ,QAAQ,CAACK,OAAO,CAACF,aAAa,CAAC,CAAC;IACrD,OAAOC,MAAM;EACf,CAAC;EAED,OAAO;IACLF,KAAK;IACLC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOniOS","nativeModules","useRookAppleHealthVariables","rookSync","ios","MAIN","state","ready","getTodaySteps","result","current"],"sourceRoot":"../../../src","sources":["hooks/useRookAppleHealthVariables.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,cAAc,QAAQ,yBAAyB;AACxD,OAAOC,aAAa,MAAM,wBAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAMC,QAAQ,GAAGP,MAAM,CAACE,eAAe,CAACG,aAAa,CAACG,GAAG,CAACC,IAAI,CAAC,CAAC;EAChE,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGV,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMW,aAAa,GAAG,MAAAA,CAAA,KAA2B;IAC/CR,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,MAAME,MAAM,GAAG,MAAMN,QAAQ,CAACO,OAAO,CAACF,aAAa,CAAC,CAAC;IACrD,OAAOC,MAAM;EACf,CAAC;EAED,OAAO;IACLF,KAAK;IACLC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,8 +1,22 @@
1
1
  import { useRef } from 'react';
2
2
  import { useRookSyncGateContext } from '../context/RookSyncGateContext';
3
- import { getRookModule, isModuleReady, isRunningOnAndroid, isRunningOniOS } from '../utils';
3
+ import getNativeModule from '../utils/getNativeModule';
4
+ import { isModuleReady } from '../utils/isModuleReady';
5
+ import isRunningOnAndroid from '../utils/isRunningOnAndroid';
6
+ import { isRunningOniOS } from '../utils/isRunningOniOS';
7
+ import nativeModules from '../utils/nativeModules';
8
+ import { Platform } from 'react-native';
9
+ /**
10
+ * The `useRookConfiguration` hook provides various asynchronous methods for managing the configuration
11
+ * of the ROOK SDK
12
+ * @returns The `useRookConfiguration` function returns an object containing that allow the user to configure
13
+ * the SDK
14
+ */
4
15
  export const useRookConfiguration = () => {
5
- const rookSync = useRef(getRookModule());
16
+ const rookSync = useRef(getNativeModule(Platform.select({
17
+ android: () => nativeModules.android.CONFIGURATION,
18
+ default: () => nativeModules.ios.MAIN
19
+ })()));
6
20
  const {
7
21
  state: {
8
22
  ready,
@@ -129,9 +143,10 @@ export const useRookConfiguration = () => {
129
143
  * value.
130
144
  */
131
145
  const scheduleAndroidYesterdaySync = async doOnEnd => {
146
+ const syncModule = getNativeModule(nativeModules.android.SYNC);
132
147
  isRunningOnAndroid();
133
148
  isModuleReady(ready);
134
- return rookSync.current.scheduleYesterdaySync({
149
+ return syncModule.scheduleYesterdaySync({
135
150
  clientUUID,
136
151
  clientPassword: password,
137
152
  environment,
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOnAndroid","isRunningOniOS","useRookConfiguration","rookSync","state","ready","clientUUID","password","environment","dispatch","getUserID","result","current","type","userID","updateUserID","clearUserID","syncUserTimeZone","removeUserFromRook","enableAppleHealthSync","enableSync","disableAppleHealthSync","disableSync","isAppleHealthSyncEnabled","isSyncEnable","scheduleAndroidYesterdaySync","doOnEnd","scheduleYesterdaySync","clientPassword"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","isRunningOniOS","nativeModules","Platform","useRookConfiguration","rookSync","select","android","CONFIGURATION","default","ios","MAIN","state","ready","clientUUID","password","environment","dispatch","getUserID","result","current","type","userID","updateUserID","clearUserID","syncUserTimeZone","removeUserFromRook","enableAppleHealthSync","enableSync","disableAppleHealthSync","disableSync","isAppleHealthSyncEnabled","isSyncEnable","scheduleAndroidYesterdaySync","doOnEnd","syncModule","SYNC","scheduleYesterdaySync","clientPassword"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,OAAOC,kBAAkB,MAAM,6BAA6B;AAC5D,SAASC,cAAc,QAAQ,yBAAyB;AACxD,OAAOC,aAAa,MAAM,wBAAwB;AAClD,SAASC,QAAQ,QAAQ,cAAc;AAIvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,QAAQ,GAAGT,MAAM,CACrBE,eAAe,CACbK,QAAQ,CAACG,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAML,aAAa,CAACK,OAAO,CAACC,aAAa;IAClDC,OAAO,EAAEA,CAAA,KAAMP,aAAa,CAACQ,GAAG,CAACC;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EACD,MAAM;IACJC,KAAK,EAAE;MAAEC,KAAK;MAAEC,UAAU;MAAEC,QAAQ;MAAEC;IAAY,CAAC;IACnDC;EACF,CAAC,GAAGpB,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMqB,SAAS,GAAG,MAAAA,CAAA,KAA6B;IAC7CnB,aAAa,CAACc,KAAK,CAAC;IAEpB,MAAMM,MAAM,GAAG,MAAMd,QAAQ,CAACe,OAAO,CAACF,SAAS,CAAC,CAAC;IAEjD,IAAIC,MAAM,EAAEF,QAAQ,CAAC;MAAEI,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAEH;IAAO,CAAC,CAAC;IAE7D,OAAOA,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMI,YAAY,GAAG,MAAOD,MAAc,IAAuB;IAC/DvB,aAAa,CAACc,KAAK,CAAC;IAEpB,MAAMM,MAAe,GAAG,MAAMd,QAAQ,CAACe,OAAO,CAACG,YAAY,CAACD,MAAM,CAAC;IAEnEL,QAAQ,CAAC;MAAEI,IAAI,EAAE,aAAa;MAAEC;IAAO,CAAC,CAAC;IAEzC,OAAOH,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMK,WAAW,GAAG,MAAAA,CAAA,KAA8B;IAChDzB,aAAa,CAACc,KAAK,CAAC;IAEpBI,QAAQ,CAAC;MAAEI,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAE;IAAG,CAAC,CAAC;IAE7C,MAAMH,MAAe,GAAG,MAAMd,QAAQ,CAACe,OAAO,CAACI,WAAW,CAAC,CAAC;IAC5D,OAAOL,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMM,gBAAgB,GAAG,MAAAA,CAAA,KAA8B;IACrD1B,aAAa,CAACc,KAAK,CAAC;IAEpB,MAAMM,MAAe,GAAG,MAAMd,QAAQ,CAACe,OAAO,CAACK,gBAAgB,CAAC,CAAC;IACjE,OAAON,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMO,kBAAkB,GAAG,MAAAA,CAAA,KAA8B;IACvD3B,aAAa,CAACc,KAAK,CAAC;IAEpB,MAAMM,MAAe,GAAG,MAAMd,QAAQ,CAACe,OAAO,CAACM,kBAAkB,CAAC,CAAC;IAEnET,QAAQ,CAAC;MAAEI,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAE;IAAG,CAAC,CAAC;IAE7C,OAAOH,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMQ,qBAAqB,GAAG,MAAAA,CAAA,KAA8B;IAC1D1B,cAAc,CAAC,CAAC;IAChBF,aAAa,CAACc,KAAK,CAAC;IAEpB,MAAMM,MAAe,GAAG,MAAMd,QAAQ,CAACe,OAAO,CAACQ,UAAU,CAAC,CAAC;IAC3D,OAAOT,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMU,sBAAsB,GAAG,MAAAA,CAAA,KAA8B;IAC3D5B,cAAc,CAAC,CAAC;IAChBF,aAAa,CAACc,KAAK,CAAC;IAEpB,MAAMM,MAAe,GAAG,MAAMd,QAAQ,CAACe,OAAO,CAACU,WAAW,CAAC,CAAC;IAC5D,OAAOX,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMY,wBAAwB,GAAG,MAAAA,CAAA,KAA8B;IAC7D9B,cAAc,CAAC,CAAC;IAChBF,aAAa,CAACc,KAAK,CAAC;IAEpB,MAAMM,MAAe,GAAG,MAAMd,QAAQ,CAACe,OAAO,CAACY,YAAY,CAAC,CAAC;IAC7D,OAAOb,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMc,4BAA4B,GAAG,MACnCC,OAAiB,IACI;IACrB,MAAMC,UAAU,GAAGrC,eAAe,CAACI,aAAa,CAACK,OAAO,CAAC6B,IAAI,CAAC;IAE9DpC,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOsB,UAAU,CAACE,qBAAqB,CAAC;MACtCvB,UAAU;MACVwB,cAAc,EAAEvB,QAAQ;MACxBC,WAAW;MACXkB;IACF,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLrB,KAAK;IACLW,WAAW;IACXK,sBAAsB;IACtBF,qBAAqB;IACrBT,SAAS;IACTa,wBAAwB;IACxBL,kBAAkB;IAClBD,gBAAgB;IAChBF,YAAY;IACZU;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,8 +1,20 @@
1
1
  import { useRef } from 'react';
2
+ import { isModuleReady } from '../utils/isModuleReady';
3
+ import { Platform } from 'react-native';
2
4
  import { useRookSyncGateContext } from '../context/RookSyncGateContext';
3
- import { getRookModule, isModuleReady } from '../utils';
5
+ import getNativeModule from '../utils/getNativeModule';
6
+ import nativeModules from '../utils/nativeModules';
7
+ /**
8
+ * The `useRookDataSources` hook provides functionality to interact with data sources in Rook,
9
+ * including retrieving available data sources, presenting a connections page, and revoking user
10
+ * authorization for a specific data source.
11
+ * @returns An object is being returned from the `useRookDataSources` hook to allow the user to access to the sources API
12
+ */
4
13
  export const useRookDataSources = () => {
5
- const rookSync = useRef(getRookModule());
14
+ const rookSync = useRef(getNativeModule(Platform.select({
15
+ android: () => nativeModules.android.SYNC,
16
+ default: () => nativeModules.ios.MAIN
17
+ })()));
6
18
  const {
7
19
  state: {
8
20
  ready
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","useRookDataSources","rookSync","state","ready","getAvailableDataSources","options","current","presentDataSourceView","revokeDataSource","type"],"sourceRoot":"../../../src","sources":["hooks/useRookDataSources.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,aAAa,EAAEC,aAAa,QAAQ,UAAU;AAOvD,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,QAAQ,GAAGL,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EACxC,MAAM;IACJI,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGN,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMO,uBAAuB,GAC3BC,OAAiB,IACS;IAC1BN,aAAa,CAACI,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACK,OAAO,CAACF,uBAAuB,CAACC,OAAO,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAME,qBAAqB,GAAIF,OAAiB,IAAuB;IACrEN,aAAa,CAACI,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACK,OAAO,CAACC,qBAAqB,CAACF,OAAO,CAAC;EACxD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMG,gBAAgB,GAAIC,IAAoB,IAAuB;IACnEV,aAAa,CAACI,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACK,OAAO,CAACE,gBAAgB,CAACC,IAAI,CAAC;EAChD,CAAC;EAED,OAAO;IACLN,KAAK;IACLC,uBAAuB;IACvBG,qBAAqB;IACrBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","isModuleReady","Platform","useRookSyncGateContext","getNativeModule","nativeModules","useRookDataSources","rookSync","select","android","SYNC","default","ios","MAIN","state","ready","getAvailableDataSources","options","current","presentDataSourceView","revokeDataSource","type"],"sourceRoot":"../../../src","sources":["hooks/useRookDataSources.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,OAAOC,aAAa,MAAM,wBAAwB;AAOlD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,QAAQ,GAAGP,MAAM,CACrBI,eAAe,CACbF,QAAQ,CAACM,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMJ,aAAa,CAACI,OAAO,CAACC,IAAI;IACzCC,OAAO,EAAEA,CAAA,KAAMN,aAAa,CAACO,GAAG,CAACC;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EAED,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGZ,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMa,uBAAuB,GAC3BC,OAAiB,IACS;IAC1BhB,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACW,OAAO,CAACF,uBAAuB,CAACC,OAAO,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAME,qBAAqB,GAAIF,OAAiB,IAAuB;IACrEhB,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACW,OAAO,CAACC,qBAAqB,CAACF,OAAO,CAAC;EACxD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMG,gBAAgB,GAAIC,IAAoB,IAAuB;IACnEpB,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACW,OAAO,CAACE,gBAAgB,CAACC,IAAI,CAAC;EAChD,CAAC;EAED,OAAO;IACLN,KAAK;IACLC,uBAAuB;IACvBG,qBAAqB;IACrBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,24 +1,33 @@
1
1
  import { useRef } from 'react';
2
2
  import { useRookSyncGateContext } from '../context/RookSyncGateContext';
3
- import { getRookModule, isModuleReady, isRunningOnAndroid, isValidDate, packageInfo } from '../utils';
3
+ import getNativeModule from '../utils/getNativeModule';
4
+ import { isModuleReady } from '../utils/isModuleReady';
5
+ import isRunningOnAndroid from '../utils/isRunningOnAndroid';
6
+ import { isValidDate } from '../utils/isValidDate';
7
+ import { packageInfo } from '../utils/packageInfo';
8
+ import nativeModules from '../utils/nativeModules';
9
+ import { Platform } from 'react-native';
10
+
11
+ /**
12
+ * The `useRookEvents` hook defines multiple async functions to sync various
13
+ * health-related events and returns them along with a `ready` state.
14
+ * @returns The `useRookEvents` hook is being returned, which includes various functions for syncing
15
+ * different types of health events like body heart rate, physical heart rate, body oxygenation,
16
+ * physical oxygenation, training, temperature, blood pressure, blood glucose, and body metrics events.
17
+ * Each function takes a date parameter in the format YYYY-MM-DD and returns a boolean indicating if
18
+ * the sync was successful. Additionally,
19
+ */
4
20
  export const useRookEvents = () => {
5
- const rookSync = useRef(getRookModule());
21
+ const rookSync = useRef(getNativeModule(Platform.select({
22
+ android: () => nativeModules.android.SYNC,
23
+ default: () => nativeModules.ios.MAIN
24
+ })()));
6
25
  const {
7
26
  state: {
8
27
  ready
9
28
  }
10
29
  } = useRookSyncGateContext();
11
30
 
12
- /**
13
- * The function `syncEvents` asynchronously synchronizes yesterday's events and returns a
14
- * boolean indicating success.
15
- * @returns A boolean value is being returned from the `syncEvents` function.
16
- */
17
- const syncEvents = () => {
18
- isModuleReady(ready);
19
- return rookSync.current.syncYesterdayEvents();
20
- };
21
-
22
31
  /**
23
32
  * The function `syncBodyHeartRateEvents` takes a date string as input, performs some checks, and
24
33
  * then syncs body heart rate events for that date.
@@ -89,11 +98,10 @@ export const useRookEvents = () => {
89
98
  * @returns The function `syncTemperatureEvents` is returning a Promise that resolves to a boolean
90
99
  * value.
91
100
  */
92
- const syncTemperatureEvent = async date => {
101
+ const syncTemperatureEvent = date => {
93
102
  isModuleReady(ready);
94
103
  isValidDate(date);
95
- const result = await rookSync.current.syncTemperatureEvent(date);
96
- return result;
104
+ return rookSync.current.syncTemperatureEvent(date);
97
105
  };
98
106
 
99
107
  /**
@@ -103,7 +111,7 @@ export const useRookEvents = () => {
103
111
  * @returns function `syncBloodPressureEvents` is returning a `Promise` that resolves to a boolean
104
112
  * value.`
105
113
  */
106
- const syncPressureEvent = async date => {
114
+ const syncPressureEvent = date => {
107
115
  isModuleReady(ready);
108
116
  isValidDate(date);
109
117
  if (packageInfo.isAndroid) return rookSync.current.syncBloodPressureEvents(date);
@@ -118,7 +126,7 @@ export const useRookEvents = () => {
118
126
  * @returns function `syncBloodGlucoseEvents` is returning a `Promise` that resolves to a boolean
119
127
  * value.`
120
128
  */
121
- const syncGlucoseEvent = async date => {
129
+ const syncGlucoseEvent = date => {
122
130
  isModuleReady(ready);
123
131
  isValidDate(date);
124
132
  if (packageInfo.isAndroid) return rookSync.current.syncBloodGlucoseEvents(date);
@@ -132,11 +140,10 @@ export const useRookEvents = () => {
132
140
  * @returns function `syncBodyMetricsEvents` is returning a `Promise` that resolves to a boolean
133
141
  * value.`
134
142
  */
135
- const syncBodyMetricsEvent = async date => {
143
+ const syncBodyMetricsEvent = date => {
136
144
  isModuleReady(ready);
137
145
  isValidDate(date);
138
- const result = await rookSync.current.syncBodyMetricsEvent(date);
139
- return result;
146
+ return rookSync.current.syncBodyMetricsEvent(date);
140
147
  };
141
148
 
142
149
  /**
@@ -146,12 +153,11 @@ export const useRookEvents = () => {
146
153
  * @returns The function `syncHydrationEvents` is returning a `Promise` that resolves to a boolean
147
154
  * value.
148
155
  */
149
- const syncHealthConnectHydrationEvents = async date => {
156
+ const syncHealthConnectHydrationEvents = date => {
150
157
  isRunningOnAndroid();
151
158
  isModuleReady(ready);
152
159
  isValidDate(date);
153
- const result = await rookSync.current.syncHydrationEvents(date);
154
- return result;
160
+ return rookSync.current.syncHydrationEvents(date);
155
161
  };
156
162
 
157
163
  /**
@@ -160,12 +166,11 @@ export const useRookEvents = () => {
160
166
  * particular format, such as "YYYY-MM-DD".
161
167
  * @returns The function `syncNutritionEvents` is returning the result of the sync
162
168
  */
163
- const syncHealthConnectNutritionEvents = async date => {
169
+ const syncHealthConnectNutritionEvents = date => {
164
170
  isRunningOnAndroid();
165
171
  isModuleReady(ready);
166
172
  isValidDate(date);
167
- const result = await rookSync.current.syncNutritionEvents(date);
168
- return result;
173
+ return rookSync.current.syncNutritionEvents(date);
169
174
  };
170
175
 
171
176
  /**
@@ -173,7 +178,7 @@ export const useRookEvents = () => {
173
178
  * @returns The function `syncPendingEvents` is returning the result of the
174
179
  * call, which is a boolean value.
175
180
  */
176
- const reSyncFailedEvents = async () => {
181
+ const reSyncFailedEvents = () => {
177
182
  isModuleReady(ready);
178
183
  if (packageInfo.isAndroid) return rookSync.current.syncPendingEvents();
179
184
  return new Promise(resolve => {
@@ -182,7 +187,6 @@ export const useRookEvents = () => {
182
187
  };
183
188
  return {
184
189
  ready,
185
- syncEvents,
186
190
  reSyncFailedEvents,
187
191
  syncBodyHeartRateEvent,
188
192
  syncPhysicalHeartRateEvent,
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOnAndroid","isValidDate","packageInfo","useRookEvents","rookSync","state","ready","syncEvents","current","syncYesterdayEvents","syncBodyHeartRateEvent","date","syncPhysicalHeartRateEvent","syncBodyOxygenationEvent","syncPhysicalOxygenationEvent","syncTrainingEvent","isAndroid","syncPhysicalEvents","syncTemperatureEvent","result","syncPressureEvent","syncBloodPressureEvents","syncGlucoseEvent","syncBloodGlucoseEvents","syncBodyMetricsEvent","syncHealthConnectHydrationEvents","syncHydrationEvents","syncHealthConnectNutritionEvents","syncNutritionEvents","reSyncFailedEvents","syncPendingEvents","Promise","resolve","syncBloodPressureEvent","syncBloodGlucoseEvent"],"sourceRoot":"../../../src","sources":["hooks/useRookEvents.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SACEC,aAAa,EACbC,aAAa,EACbC,kBAAkB,EAClBC,WAAW,EACXC,WAAW,QACN,UAAU;AAEjB,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,QAAQ,GAAGR,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EAExC,MAAM;IACJO,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGT,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;EACE,MAAMU,UAAU,GAAGA,CAAA,KAAqB;IACtCR,aAAa,CAACO,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACC,mBAAmB,CAAC,CAAC;EAC/C,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,sBAAsB,GAAIC,IAAY,IAAuB;IACjEZ,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,OAAOP,QAAQ,CAACI,OAAO,CAACE,sBAAsB,CAACC,IAAI,CAAC;EACtD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,0BAA0B,GAAID,IAAY,IAAuB;IACrEZ,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,OAAOP,QAAQ,CAACI,OAAO,CAACI,0BAA0B,CAACD,IAAI,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAME,wBAAwB,GAAIF,IAAY,IAAuB;IACnEZ,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,OAAOP,QAAQ,CAACI,OAAO,CAACK,wBAAwB,CAACF,IAAI,CAAC;EACxD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMG,4BAA4B,GAAIH,IAAY,IAAuB;IACvEZ,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,OAAOP,QAAQ,CAACI,OAAO,CAACM,4BAA4B,CAACH,IAAI,CAAC;EAC5D,CAAC;EAED,MAAMI,iBAAiB,GAAIJ,IAAY,IAAuB;IAC5DZ,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,IAAIT,WAAW,CAACc,SAAS,EAAE,OAAOZ,QAAQ,CAACI,OAAO,CAACS,kBAAkB,CAACN,IAAI,CAAC;IAE3E,OAAOP,QAAQ,CAACI,OAAO,CAACO,iBAAiB,CAACJ,IAAI,CAAC;EACjD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMO,oBAAoB,GAAG,MAAOP,IAAY,IAAuB;IACrEZ,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,MAAMQ,MAAM,GAAG,MAAMf,QAAQ,CAACI,OAAO,CAACU,oBAAoB,CAACP,IAAI,CAAC;IAChE,OAAOQ,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,iBAAiB,GAAG,MAAOT,IAAY,IAAuB;IAClEZ,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,IAAIT,WAAW,CAACc,SAAS,EACvB,OAAOZ,QAAQ,CAACI,OAAO,CAACa,uBAAuB,CAACV,IAAI,CAAC;IAEvD,OAAOP,QAAQ,CAACI,OAAO,CAACY,iBAAiB,CAACT,IAAI,CAAC;EACjD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMW,gBAAgB,GAAG,MAAOX,IAAY,IAAuB;IACjEZ,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,IAAIT,WAAW,CAACc,SAAS,EACvB,OAAOZ,QAAQ,CAACI,OAAO,CAACe,sBAAsB,CAACZ,IAAI,CAAC;IAEtD,OAAOP,QAAQ,CAACI,OAAO,CAACc,gBAAgB,CAACX,IAAI,CAAC;EAChD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMa,oBAAoB,GAAG,MAAOb,IAAY,IAAuB;IACrEZ,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,MAAMQ,MAAM,GAAG,MAAMf,QAAQ,CAACI,OAAO,CAACgB,oBAAoB,CAACb,IAAI,CAAC;IAChE,OAAOQ,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMM,gCAAgC,GAAG,MACvCd,IAAY,IACS;IACrBX,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,MAAMQ,MAAM,GAAG,MAAMf,QAAQ,CAACI,OAAO,CAACkB,mBAAmB,CAACf,IAAI,CAAC;IAC/D,OAAOQ,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMQ,gCAAgC,GAAG,MACvChB,IAAY,IACS;IACrBX,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACO,KAAK,CAAC;IACpBL,WAAW,CAACU,IAAI,CAAC;IAEjB,MAAMQ,MAAM,GAAG,MAAMf,QAAQ,CAACI,OAAO,CAACoB,mBAAmB,CAACjB,IAAI,CAAC;IAC/D,OAAOQ,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMU,kBAAkB,GAAG,MAAAA,CAAA,KAA8B;IACvD9B,aAAa,CAACO,KAAK,CAAC;IAEpB,IAAIJ,WAAW,CAACc,SAAS,EAAE,OAAOZ,QAAQ,CAACI,OAAO,CAACsB,iBAAiB,CAAC,CAAC;IAEtE,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;MAC9BA,OAAO,CAAC,IAAI,CAAC;IACf,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACL1B,KAAK;IACLC,UAAU;IACVsB,kBAAkB;IAClBnB,sBAAsB;IACtBE,0BAA0B;IAC1BC,wBAAwB;IACxBC,4BAA4B;IAC5BC,iBAAiB;IACjBG,oBAAoB;IACpBe,sBAAsB,EAAEb,iBAAiB;IACzCc,qBAAqB,EAAEZ,gBAAgB;IACvCE,oBAAoB;IACpBC,gCAAgC;IAChCE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","isValidDate","packageInfo","nativeModules","Platform","useRookEvents","rookSync","select","android","SYNC","default","ios","MAIN","state","ready","syncBodyHeartRateEvent","date","current","syncPhysicalHeartRateEvent","syncBodyOxygenationEvent","syncPhysicalOxygenationEvent","syncTrainingEvent","isAndroid","syncPhysicalEvents","syncTemperatureEvent","syncPressureEvent","syncBloodPressureEvents","syncGlucoseEvent","syncBloodGlucoseEvents","syncBodyMetricsEvent","syncHealthConnectHydrationEvents","syncHydrationEvents","syncHealthConnectNutritionEvents","syncNutritionEvents","reSyncFailedEvents","syncPendingEvents","Promise","resolve","syncBloodPressureEvent","syncBloodGlucoseEvent"],"sourceRoot":"../../../src","sources":["hooks/useRookEvents.ts"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,24 @@
1
1
  import { useRef } from 'react';
2
+ import { Platform } from 'react-native';
2
3
  import { useRookSyncGateContext } from '../context/RookSyncGateContext';
3
- import { getRookModule, isModuleReady, isRunningOniOS, packageInfo, isRunningOnAndroid } from '../utils';
4
+ import getNativeModule from '../utils/getNativeModule';
5
+ import { isModuleReady } from '../utils/isModuleReady';
6
+ import isRunningOnAndroid from '../utils/isRunningOnAndroid';
7
+ import { isRunningOniOS } from '../utils/isRunningOniOS';
8
+ import { packageInfo } from '../utils/packageInfo';
9
+ import nativeModules from '../utils/nativeModules';
10
+ /**
11
+ * The `useRookPermissions` hook manages permissions for accessing Apple Health and Health Connect data,
12
+ * including requesting various types of permissions and checking their status.
13
+ * @returns The `useRookPermissions` hook is being returned, which provides various functions related
14
+ * to requesting and checking permissions for Apple Health. The hook returns an object containing the
15
+ * following properties and functions:
16
+ */
4
17
  export const useRookPermissions = () => {
5
- const rookSync = useRef(getRookModule());
18
+ const rookSync = useRef(getNativeModule(Platform.select({
19
+ android: () => nativeModules.android.PERMISSIONS,
20
+ default: () => nativeModules.ios.MAIN
21
+ })()));
6
22
  const {
7
23
  state: {
8
24
  ready
@@ -26,12 +42,23 @@ export const useRookPermissions = () => {
26
42
  * access.
27
43
  * @returns The function `healthConnectHasPermissions` is returning a boolean`.
28
44
  */
29
- const healthConnectHasPermissions = async () => {
45
+ const healthConnectHasPermissions = () => {
30
46
  isRunningOnAndroid();
31
47
  isModuleReady(ready);
32
48
  return rookSync.current.checkPermissions();
33
49
  };
34
50
 
51
+ /**
52
+ * The function `appleHealthHasPermissions` checks if the app has permissions for apple health data
53
+ * access.
54
+ * @returns The function `healthConnectHasPermissions` is returning a boolean`.
55
+ */
56
+ const appleHealthHasPermissions = param => {
57
+ isRunningOniOS();
58
+ isModuleReady(ready);
59
+ return rookSync.current.checkPermissionsStatus(param ? param.type : null);
60
+ };
61
+
35
62
  /**
36
63
  * The function `requestAllAppleHealthPermissions` requests all permissions for apple health
37
64
  */
@@ -52,7 +79,7 @@ export const useRookPermissions = () => {
52
79
  const requestAllHealthConnectPermissions = async () => {
53
80
  isRunningOnAndroid();
54
81
  isModuleReady(ready);
55
- return rookSync.current.requestPermissions();
82
+ return rookSync.current.requestAllPermissions();
56
83
  };
57
84
 
58
85
  /**
@@ -60,9 +87,6 @@ export const useRookPermissions = () => {
60
87
  */
61
88
  const requestAllPermissions = async () => {
62
89
  isModuleReady(ready);
63
- if (packageInfo.isAndroid) {
64
- return rookSync.current.requestPermissions();
65
- }
66
90
  await rookSync.current.requestAllPermissions();
67
91
  setTimeout(() => {
68
92
  dispatch({
@@ -71,6 +95,10 @@ export const useRookPermissions = () => {
71
95
  }, 60000);
72
96
  return 'REQUEST_SENT';
73
97
  };
98
+
99
+ /**
100
+ * The function `openAppleHealthSettings` opens the apple health settings
101
+ */
74
102
  const openAppleHealthSettings = async () => {
75
103
  isRunningOniOS();
76
104
  isModuleReady(ready);
@@ -100,7 +128,8 @@ export const useRookPermissions = () => {
100
128
  /**
101
129
  * The function `hasAndroidBackgroundPermissions` checks if the app has background permissions on an
102
130
  * Android device.
103
- * @returns The function `rookSync.current.hasBackgroundPermissions()` is being returned.
131
+ * @returns The function `hasBackgroundPermissions()` is returning a boolean indicating the status of
132
+ * the permissions.
104
133
  */
105
134
  const hasAndroidBackgroundPermissions = () => {
106
135
  isRunningOnAndroid();
@@ -116,10 +145,11 @@ export const useRookPermissions = () => {
116
145
  const shouldRequestAndroidBackgroundPermissions = () => {
117
146
  isRunningOnAndroid();
118
147
  isModuleReady(ready);
119
- return rookSync.current.shouldRequestPermissions();
148
+ return rookSync.current.shouldRequestAndroidBackgroundPermissions();
120
149
  };
121
150
  return {
122
151
  ready,
152
+ appleHealthHasPermissions,
123
153
  checkAvailability,
124
154
  requestAllAppleHealthPermissions,
125
155
  requestAllHealthConnectPermissions,
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOniOS","packageInfo","isRunningOnAndroid","useRookPermissions","rookSync","state","ready","dispatch","checkAvailability","isAndroid","current","Promise","resolve","healthConnectHasPermissions","checkPermissions","requestAllAppleHealthPermissions","setTimeout","type","requestAllPermissions","requestAllHealthConnectPermissions","requestPermissions","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","hasAndroidBackgroundPermissions","shouldRequestAndroidBackgroundPermissions","shouldRequestPermissions"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","isRunningOniOS","packageInfo","nativeModules","useRookPermissions","rookSync","select","android","PERMISSIONS","default","ios","MAIN","state","ready","dispatch","checkAvailability","isAndroid","current","Promise","resolve","healthConnectHasPermissions","checkPermissions","appleHealthHasPermissions","param","checkPermissionsStatus","type","requestAllAppleHealthPermissions","setTimeout","requestAllPermissions","requestAllHealthConnectPermissions","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","hasAndroidBackgroundPermissions","shouldRequestAndroidBackgroundPermissions"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"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","ignoreList":[]}
@@ -1,34 +1,28 @@
1
1
  import { useRef } from 'react';
2
+ import { Platform } from 'react-native';
2
3
  import { useRookSyncGateContext } from '../context/RookSyncGateContext';
3
- import { getRookModule, isModuleReady, isValidDate, packageInfo } from '../utils';
4
+ import getNativeModule from '../utils/getNativeModule';
5
+ import { isModuleReady } from '../utils/isModuleReady';
6
+ import { isValidDate } from '../utils/isValidDate';
7
+ import nativeModules from '../utils/nativeModules';
8
+
9
+ /**
10
+ * The `useRookSummaries` hook provides methods to sync various types of summaries and handle
11
+ * failed syncs using a Rook module
12
+ * @returns The `useRookSummaries` hook returns an object with the properties and methods that allows the user to
13
+ * sync summaries with ROOK
14
+ */
4
15
  export const useRookSummaries = () => {
5
- const rookSync = useRef(getRookModule());
16
+ const rookSync = useRef(getNativeModule(Platform.select({
17
+ android: () => nativeModules.android.SYNC,
18
+ default: () => nativeModules.ios.MAIN
19
+ })()));
6
20
  const {
7
21
  state: {
8
22
  ready
9
23
  }
10
24
  } = useRookSyncGateContext();
11
25
 
12
- /**
13
- * @deprecated this function is not longer needed and will be removed
14
- * Checks if in the specific date the health kit contains available data
15
- * @param {'SLEEP' | 'PHYSICAL' | 'BODY'} props.type - specifies the type of summary that you want to sync
16
- * @param {string} props.date - The `date` parameter is a string that represents a specific date for which
17
- * the physical summary is being requested, should have the YYYY-MM-DD format.
18
- * @returns
19
- */
20
- const shouldSyncFor = props => {
21
- isModuleReady(ready);
22
- const {
23
- type,
24
- date
25
- } = props;
26
- if (!packageInfo.isAndroid) {
27
- return new Promise(resolve => resolve(true));
28
- }
29
- return rookSync.current.shouldSyncFor(type, date);
30
- };
31
-
32
26
  /**
33
27
  * The function `syncSleepSummary` sync sleep summary for the specific date.
34
28
  * @param {string} date - The `date` parameter is a string that represents a specific date for which
@@ -75,7 +69,6 @@ export const useRookSummaries = () => {
75
69
  };
76
70
  return {
77
71
  ready,
78
- shouldSyncFor,
79
72
  reSyncFailedSummaries,
80
73
  syncSleepSummary,
81
74
  syncPhysicalSummary,
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isValidDate","packageInfo","useRookSummaries","rookSync","state","ready","shouldSyncFor","props","type","date","isAndroid","Promise","resolve","current","syncSleepSummary","syncPhysicalSummary","syncBodySummary","reSyncFailedSummaries","syncPendingSummaries"],"sourceRoot":"../../../src","sources":["hooks/useRookSummaries.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SACEC,aAAa,EACbC,aAAa,EACbC,WAAW,EACXC,WAAW,QACN,UAAU;AAOjB,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,QAAQ,GAAGP,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EACxC,MAAM;IACJM,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGR,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMS,aAAa,GAAIC,KAAyB,IAAuB;IACrER,aAAa,CAACM,KAAK,CAAC;IAEpB,MAAM;MAAEG,IAAI;MAAEC;IAAK,CAAC,GAAGF,KAAK;IAE5B,IAAI,CAACN,WAAW,CAACS,SAAS,EAAE;MAC1B,OAAO,IAAIC,OAAO,CAAWC,OAAO,IAAKA,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;IAEA,OAAOT,QAAQ,CAACU,OAAO,CAACP,aAAa,CAACE,IAAI,EAAEC,IAAI,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMK,gBAAgB,GAAIL,IAAY,IAAuB;IAC3DV,aAAa,CAACM,KAAK,CAAC;IACpBL,WAAW,CAACS,IAAI,CAAC;IAEjB,OAAON,QAAQ,CAACU,OAAO,CAACC,gBAAgB,CAACL,IAAI,CAAC;EAChD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMM,mBAAmB,GAAIN,IAAY,IAAuB;IAC9DV,aAAa,CAACM,KAAK,CAAC;IACpBL,WAAW,CAACS,IAAI,CAAC;IAEjB,OAAON,QAAQ,CAACU,OAAO,CAACE,mBAAmB,CAACN,IAAI,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMO,eAAe,GAAIP,IAAY,IAAuB;IAC1DV,aAAa,CAACM,KAAK,CAAC;IACpBL,WAAW,CAACS,IAAI,CAAC;IAEjB,OAAON,QAAQ,CAACU,OAAO,CAACG,eAAe,CAACP,IAAI,CAAC;EAC/C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMQ,qBAAqB,GAAGA,CAAA,KAAwB;IACpDlB,aAAa,CAACM,KAAK,CAAC;IACpB,OAAOF,QAAQ,CAACU,OAAO,CAACK,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,OAAO;IACLb,KAAK;IACLC,aAAa;IACbW,qBAAqB;IACrBH,gBAAgB;IAChBC,mBAAmB;IACnBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","isValidDate","nativeModules","useRookSummaries","rookSync","select","android","SYNC","default","ios","MAIN","state","ready","syncSleepSummary","date","current","syncPhysicalSummary","syncBodySummary","reSyncFailedSummaries","syncPendingSummaries"],"sourceRoot":"../../../src","sources":["hooks/useRookSummaries.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,WAAW,QAAQ,sBAAsB;AAClD,OAAOC,aAAa,MAAM,wBAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,QAAQ,GAAGR,MAAM,CACrBG,eAAe,CACbF,QAAQ,CAACQ,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMJ,aAAa,CAACI,OAAO,CAACC,IAAI;IACzCC,OAAO,EAAEA,CAAA,KAAMN,aAAa,CAACO,GAAG,CAACC;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EAED,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGd,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;EACE,MAAMe,gBAAgB,GAAIC,IAAY,IAAuB;IAC3Dd,aAAa,CAACY,KAAK,CAAC;IACpBX,WAAW,CAACa,IAAI,CAAC;IAEjB,OAAOV,QAAQ,CAACW,OAAO,CAACF,gBAAgB,CAACC,IAAI,CAAC;EAChD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAME,mBAAmB,GAAIF,IAAY,IAAuB;IAC9Dd,aAAa,CAACY,KAAK,CAAC;IACpBX,WAAW,CAACa,IAAI,CAAC;IAEjB,OAAOV,QAAQ,CAACW,OAAO,CAACC,mBAAmB,CAACF,IAAI,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMG,eAAe,GAAIH,IAAY,IAAuB;IAC1Dd,aAAa,CAACY,KAAK,CAAC;IACpBX,WAAW,CAACa,IAAI,CAAC;IAEjB,OAAOV,QAAQ,CAACW,OAAO,CAACE,eAAe,CAACH,IAAI,CAAC;EAC/C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMI,qBAAqB,GAAGA,CAAA,KAAwB;IACpDlB,aAAa,CAACY,KAAK,CAAC;IACpB,OAAOR,QAAQ,CAACW,OAAO,CAACI,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,OAAO;IACLP,KAAK;IACLM,qBAAqB;IACrBL,gBAAgB;IAChBG,mBAAmB;IACnBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}