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

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
@@ -7,16 +7,36 @@ exports.useRookAutoSync = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
9
  var _errors = require("../utils/errors");
10
- var _utils = require("../../utils");
10
+ var _getNativeModule = _interopRequireDefault(require("../../utils/getNativeModule"));
11
+ var _nativeModules = _interopRequireDefault(require("../../utils/nativeModules"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
13
  /* eslint-disable react-hooks/exhaustive-deps */
12
14
 
13
15
  const MESSAGE_TYPE = 'ROOK_BACKGROUND_ENABLED';
16
+
17
+ /**
18
+ * The above TypeScript code defines a function `useRookAutoSync` that handles background
19
+ * synchronization, including user ID validation and error messaging.
20
+ * @property {boolean} enableBackground - The `enableBackground` property in the `useRookAutoSync`
21
+ * function determines whether background synchronization should be enabled. If `enableBackground` is
22
+ * set to `true`, the function will listen for changes in the app state and trigger the
23
+ * `startBackgroundSync` function when the app transitions from
24
+ * @property {boolean} enableLogs - The `enableLogs` property in the `useRookAutoSync` function is a
25
+ * boolean value that determines whether logging should be enabled or not. If `enableLogs` is set to
26
+ * `true`, logging messages will be displayed in the console to provide information about the
27
+ * background synchronization process. If `
28
+ * @property {RookSyncGateState} state - The `state` property in the `useRookAutoSync` function
29
+ * represents the current state of the RookSyncGate. It includes information such as whether the state
30
+ * is ready, the permissions status, and the user ID associated with the state. This state is used to
31
+ * determine when to start the
32
+ */
14
33
  const useRookAutoSync = ({
15
34
  enableBackground,
16
35
  enableLogs,
17
36
  state
18
37
  }) => {
19
38
  const appState = (0, _react.useRef)(_reactNative.AppState.currentState);
39
+ const [changeAppState, setChangeState] = (0, _react.useState)(0);
20
40
  (0, _react.useEffect)(() => {
21
41
  if (!enableBackground) return;
22
42
  const subscription = _reactNative.AppState.addEventListener('change', nextAppState => {
@@ -24,7 +44,7 @@ const useRookAutoSync = ({
24
44
  // Check previous state to check if he app was inactive or in background
25
45
  // and then pass to be active
26
46
  appState.current.match(/inactive|background/) && nextAppState === 'active') {
27
- startBackgroundServices();
47
+ setChangeState(prev => prev + 1);
28
48
  }
29
49
  appState.current = nextAppState;
30
50
  });
@@ -33,60 +53,99 @@ const useRookAutoSync = ({
33
53
  };
34
54
  }, []);
35
55
  (0, _react.useEffect)(() => {
36
- if (!state.ready || state.permissions === 0) return;
56
+ if (!state.ready) return;
37
57
  startBackgroundServices();
38
- }, [state.ready, state.permissions, state.userID]);
58
+ }, [state, changeAppState]);
39
59
  const startBackgroundServices = () => {
40
- if (_reactNative.Platform.OS === 'android') startAndroidBackgroundSync();else startIOSBackgroundSync();
60
+ const {
61
+ clientUUID,
62
+ password,
63
+ ready
64
+ } = state;
65
+ if (!ready || !clientUUID || !password) {
66
+ return;
67
+ }
68
+ if (_reactNative.Platform.OS === 'android') {
69
+ startAndroidBackgroundSync();
70
+ return;
71
+ }
72
+ startIOSBackgroundSync();
41
73
  };
74
+
75
+ /**
76
+ * The function `startAndroidBackgroundSync` in TypeScript initiates background synchronization for an
77
+ * Android app, handling user ID validation and error messaging.
78
+ * @returns If the `userID` is not available, an error message is logged and a message is sent to
79
+ * broadcast with `value` set to `false`. If an error occurs during the process, a message is sent to
80
+ * broadcast with `value` set to `false` and an error message is logged.
81
+ */
42
82
  const startAndroidBackgroundSync = async () => {
83
+ const {
84
+ clientUUID,
85
+ password,
86
+ environment,
87
+ ready
88
+ } = state;
89
+ if (!ready || !clientUUID || !password) {
90
+ return;
91
+ }
92
+ const rookPermissionsModule = (0, _getNativeModule.default)(_nativeModules.default.android.PERMISSIONS);
93
+ const rookModule = (0, _getNativeModule.default)(_nativeModules.default.android.CONFIGURATION);
94
+ const rookSyncModule = (0, _getNativeModule.default)(_nativeModules.default.android.SYNC);
95
+ const rookStepsModule = (0, _getNativeModule.default)(_nativeModules.default.android.STEPS);
43
96
  try {
44
- const rookSyncModule = (0, _utils.getRookModule)();
45
- const userID = await rookSyncModule.getUserID();
97
+ const userID = await rookModule.getUserID();
46
98
  if (!userID) {
47
99
  if (enableLogs) console.log(_errors.errors.noUserIDAndroidBackground);
48
100
  sendMessageToBroadcast({
49
- type: MESSAGE_TYPE,
101
+ type: 'ROOK_BACKGROUND_ENABLED',
50
102
  value: false,
51
103
  message: _errors.errors.noUserIDAndroidBackground
52
104
  });
53
105
  return;
54
106
  }
55
- const hasHCPermissions = await rookSyncModule.checkPermissions();
56
- const hasAndroidPermissions = await rookSyncModule.hasAndroidBackgroundPermissions();
57
- const {
58
- clientUUID,
59
- password,
60
- environment
61
- } = state;
62
- if (hasHCPermissions && hasAndroidPermissions) {
63
- await rookSyncModule.scheduleYesterdaySync({
64
- clientPassword: password,
65
- clientUUID,
66
- doOnEnd: 'oldest',
67
- environment
68
- });
69
- await rookSyncModule.enableBackgroundAndroidSteps();
70
- sendMessageToBroadcast({
71
- type: MESSAGE_TYPE,
72
- value: true
73
- });
74
- if (enableLogs) console.log('ROOK - Background enabled successfully');
75
- } else {
107
+ const hasHCPermissions = await rookPermissionsModule.checkPermissions();
108
+ const hasAndroidPermissions = await rookPermissionsModule.hasAndroidBackgroundPermissions();
109
+ if (!hasHCPermissions || !hasAndroidPermissions) {
76
110
  if (enableLogs) console.log(_errors.errors.autoStartAndroidBackgroundSync);
77
111
  sendMessageToBroadcast({
78
- type: MESSAGE_TYPE,
112
+ type: 'ROOK_BACKGROUND_ENABLED',
79
113
  value: false,
80
114
  message: _errors.errors.autoStartAndroidBackgroundSync
81
115
  });
116
+ return;
82
117
  }
118
+ await rookSyncModule.scheduleYesterdaySync({
119
+ clientPassword: password,
120
+ clientUUID,
121
+ doOnEnd: 'oldest',
122
+ environment
123
+ });
124
+ await rookStepsModule.enableBackgroundAndroidSteps();
125
+ sendMessageToBroadcast({
126
+ type: 'ROOK_BACKGROUND_ENABLED',
127
+ value: true
128
+ });
129
+ if (enableLogs) console.log('ROOK - Background enabled successfully');
83
130
  } catch (error) {
84
131
  console.log(error);
132
+ sendMessageToBroadcast({
133
+ type: 'ROOK_BACKGROUND_ENABLED',
134
+ value: false
135
+ });
85
136
  }
86
137
  };
138
+
139
+ /**
140
+ * The function `startIOSBackgroundSync` in TypeScript initiates background synchronization for an
141
+ * iOS app, handling user ID validation and error messaging.
142
+ * @returns If the `userID` is not available, an error message is logged and a message is sent to
143
+ * broadcast with `value` set to `false`. If an error occurs during the process, a message is sent to
144
+ * broadcast with `value` set to `false` and an error message is logged.
145
+ */
87
146
  const startIOSBackgroundSync = async () => {
88
147
  try {
89
- const rookSyncModule = (0, _utils.getRookModule)();
148
+ const rookSyncModule = (0, _getNativeModule.default)(_nativeModules.default.ios.MAIN);
90
149
  const userID = await rookSyncModule.getUserID();
91
150
  if (!userID) {
92
151
  if (enableLogs) console.error(_errors.errors.noUserIDAndroidBackground);
@@ -116,8 +175,17 @@ const useRookAutoSync = ({
116
175
  }
117
176
  }
118
177
  };
178
+
179
+ /**
180
+ * The function `sendMessageToBroadcast` sends a message to be broadcasted using a Rook module.
181
+ * @param {Message} message - The `message` parameter is of type `Message`, which is likely an object
182
+ * containing information to be sent as a broadcast message.
183
+ */
119
184
  const sendMessageToBroadcast = message => {
120
- const rookSyncModule = (0, _utils.getRookModule)();
185
+ const rookSyncModule = (0, _getNativeModule.default)(_reactNative.Platform.select({
186
+ android: () => _nativeModules.default.android.MAIN,
187
+ default: () => _nativeModules.default.ios.MAIN
188
+ })());
121
189
  rookSyncModule.sendMessageToBroadcast(message).then().catch();
122
190
  };
123
191
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_errors","_utils","MESSAGE_TYPE","useRookAutoSync","enableBackground","enableLogs","state","appState","useRef","AppState","currentState","useEffect","subscription","addEventListener","nextAppState","current","match","startBackgroundServices","remove","ready","permissions","userID","Platform","OS","startAndroidBackgroundSync","startIOSBackgroundSync","rookSyncModule","getRookModule","getUserID","console","log","errors","noUserIDAndroidBackground","sendMessageToBroadcast","type","value","message","hasHCPermissions","checkPermissions","hasAndroidPermissions","hasAndroidBackgroundPermissions","clientUUID","password","environment","scheduleYesterdaySync","clientPassword","doOnEnd","enableBackgroundAndroidSteps","autoStartAndroidBackgroundSync","error","getTodaySteps","enableBackGroundUpdates","err","autoStartIOSBackgroundSync","includes","then","catch","exports"],"sourceRoot":"../../../../src","sources":["modules/hook/useRookAutoSync.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_errors","_getNativeModule","_interopRequireDefault","_nativeModules","obj","__esModule","default","MESSAGE_TYPE","useRookAutoSync","enableBackground","enableLogs","state","appState","useRef","AppState","currentState","changeAppState","setChangeState","useState","useEffect","subscription","addEventListener","nextAppState","current","match","prev","remove","ready","startBackgroundServices","clientUUID","password","Platform","OS","startAndroidBackgroundSync","startIOSBackgroundSync","environment","rookPermissionsModule","getNativeModule","nativeModules","android","PERMISSIONS","rookModule","CONFIGURATION","rookSyncModule","SYNC","rookStepsModule","STEPS","userID","getUserID","console","log","errors","noUserIDAndroidBackground","sendMessageToBroadcast","type","value","message","hasHCPermissions","checkPermissions","hasAndroidPermissions","hasAndroidBackgroundPermissions","autoStartAndroidBackgroundSync","scheduleYesterdaySync","clientPassword","doOnEnd","enableBackgroundAndroidSteps","error","ios","MAIN","getTodaySteps","enableBackGroundUpdates","err","autoStartIOSBackgroundSync","includes","select","then","catch","exports"],"sourceRoot":"../../../../src","sources":["modules/hook/useRookAutoSync.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=PermissionsType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/PermissionsType.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getNativeModule = exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ /**
9
+ * The function `getRookSyncModule` returns the Android Rook Sync module if available, otherwise it
10
+ * throws an error indicating the package needs to be linked.
11
+ * @returns The `getRookSyncModule` function returns the `AndroidRookSync` object, which is either the
12
+ * `NativeModules.RookSdkHealthConnect` object if it exists, or a new `Proxy` object with a custom
13
+ * error message if `NativeModules.RookSdkHealthConnect` is falsy.
14
+ */
15
+ const getNativeModule = module => {
16
+ const LINKING_ERROR = `The package 'react-native-rook-sdk-health-connect' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
17
+ ios: "- You have run 'pod install'\n",
18
+ default: ''
19
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
20
+ const AndroidRookSync = _reactNative.NativeModules[module] ? _reactNative.NativeModules[module] : new Proxy({}, {
21
+ get() {
22
+ throw new Error(LINKING_ERROR);
23
+ }
24
+ });
25
+ return AndroidRookSync;
26
+ };
27
+ exports.getNativeModule = getNativeModule;
28
+ var _default = exports.default = getNativeModule;
29
+ //# sourceMappingURL=getNativeModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","getNativeModule","module","LINKING_ERROR","Platform","select","ios","default","AndroidRookSync","NativeModules","Proxy","get","Error","exports","_default"],"sourceRoot":"../../../src","sources":["utils/getNativeModule.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,GAAIC,MAAc,IAAK;EACjD,MAAMC,aAAa,GAChB,+FAA8F,GAC/FC,qBAAQ,CAACC,MAAM,CAAC;IAAEC,GAAG,EAAE,gCAAgC;IAAEC,OAAO,EAAE;EAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;EAEjC,MAAMC,eAAe,GAAGC,0BAAa,CAACP,MAAM,CAAC,GACzCO,0BAAa,CAACP,MAAM,CAAC,GACrB,IAAIQ,KAAK,CACP,CAAC,CAAC,EACF;IACEC,GAAGA,CAAA,EAAG;MACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;IAChC;EACF,CACF,CAAC;EAEL,OAAOK,eAAe;AACxB,CAAC;AAACK,OAAA,CAAAZ,eAAA,GAAAA,eAAA;AAAA,IAAAa,QAAA,GAAAD,OAAA,CAAAN,OAAA,GAEaN,eAAe","ignoreList":[]}
@@ -5,6 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getRookModule = void 0;
7
7
  var _reactNative = require("react-native");
8
+ /**
9
+ * The function `getRookModule` returns the `RookSdkAppleHealth` module if available, otherwise it
10
+ * throws an error related to linking.
11
+ * @returns The `getRookModule` function returns the `RookSdkAppleHealth` module if it is available
12
+ * from `NativeModules.RookSdkAppleHealth`. If the module is not available, it returns a `Proxy` object
13
+ * with a custom error message defined in the `LINKING_ERROR` constant.
14
+ */
8
15
  const getRookModule = () => {
9
16
  const LINKING_ERROR = `The package 'react-native-rook-sdk' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
10
17
  ios: "- You have run 'pod install'\n",
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","getRookModule","LINKING_ERROR","Platform","select","ios","default","RookSdk","NativeModules","Proxy","get","Error","exports"],"sourceRoot":"../../../src","sources":["utils/getRookModule.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,aAAa,GAChB,gFAA+E,GAChFC,qBAAQ,CAACC,MAAM,CAAC;IAAEC,GAAG,EAAE,gCAAgC;IAAEC,OAAO,EAAE;EAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;EAEjC,MAAMC,OAAO,GAAGC,0BAAa,CAACD,OAAO,GACjCC,0BAAa,CAACD,OAAO,GACrB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;IACEC,GAAGA,CAAA,EAAG;MACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;IAChC;EACF,CACF,CAAC;EAEL,OAAOK,OAAO;AAChB,CAAC;AAACK,OAAA,CAAAX,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","getRookModule","LINKING_ERROR","Platform","select","ios","default","RookSdk","NativeModules","Proxy","get","Error","exports"],"sourceRoot":"../../../src","sources":["utils/getRookModule.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,aAAa,GAChB,gFAA+E,GAChFC,qBAAQ,CAACC,MAAM,CAAC;IAAEC,GAAG,EAAE,gCAAgC;IAAEC,OAAO,EAAE;EAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;EAEjC,MAAMC,OAAO,GAAGC,0BAAa,CAACD,OAAO,GACjCC,0BAAa,CAACD,OAAO,GACrB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;IACEC,GAAGA,CAAA,EAAG;MACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;IAChC;EACF,CACF,CAAC;EAEL,OAAOK,OAAO;AAChB,CAAC;AAACK,OAAA,CAAAX,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isModuleReady = void 0;
7
+ /**
8
+ * The function `isModuleReady` checks if a module is ready and throws an error if it is not.
9
+ * @param {boolean} ready - The `ready` parameter in the `isModuleReady` function is a boolean value
10
+ * that indicates whether a certain module or hook is ready for use. If `ready` is `true`, it means the
11
+ * module is ready, and if `ready` is `false`, it means the module is not
12
+ */
7
13
  const isModuleReady = ready => {
8
14
  if (!ready) {
9
15
  throw new Error('The hook is not ready, please check your credentials and link of the package');
@@ -1 +1 @@
1
- {"version":3,"names":["isModuleReady","ready","Error","exports"],"sourceRoot":"../../../src","sources":["utils/isModuleReady.ts"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAIC,KAAc,IAAW;EACrD,IAAI,CAACA,KAAK,EAAE;IACV,MAAM,IAAIC,KAAK,CACb,8EACF,CAAC;EACH;AACF,CAAC;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["isModuleReady","ready","Error","exports"],"sourceRoot":"../../../src","sources":["utils/isModuleReady.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,aAAa,GAAIC,KAAc,IAAW;EACrD,IAAI,CAACA,KAAK,EAAE;IACV,MAAM,IAAIC,KAAK,CACb,8EACF,CAAC;EACH;AACF,CAAC;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isValidDate = void 0;
7
+ /**
8
+ * The isValidDate function in TypeScript validates if a given date string is in the format YYYY-MM-DD.
9
+ * @param {string} date - The `isValidDate` function you provided checks if a given date string is in
10
+ * the format `YYYY-MM-DD`. If the date string does not match this format, it throws an error
11
+ * indicating the correct format.
12
+ */
7
13
  const isValidDate = date => {
8
14
  const regex = /^\d{4}-\d{2}-\d{2}$/;
9
15
  if (!regex.test(date)) {
@@ -1 +1 @@
1
- {"version":3,"names":["isValidDate","date","regex","test","Error","exports"],"sourceRoot":"../../../src","sources":["utils/isValidDate.ts"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAIC,IAAY,IAAK;EAC3C,MAAMC,KAAK,GAAG,qBAAqB;EAEnC,IAAI,CAACA,KAAK,CAACC,IAAI,CAACF,IAAI,CAAC,EAAE;IACrB,MAAM,IAAIG,KAAK,CACZ,mBAAkBH,IAAK,oCAC1B,CAAC;EACH;AACF,CAAC;AAACI,OAAA,CAAAL,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["isValidDate","date","regex","test","Error","exports"],"sourceRoot":"../../../src","sources":["utils/isValidDate.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,WAAW,GAAIC,IAAY,IAAK;EAC3C,MAAMC,KAAK,GAAG,qBAAqB;EAEnC,IAAI,CAACA,KAAK,CAACC,IAAI,CAACF,IAAI,CAAC,EAAE;IACrB,MAAM,IAAIG,KAAK,CACZ,mBAAkBH,IAAK,oCAC1B,CAAC;EACH;AACF,CAAC;AAACI,OAAA,CAAAL,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = exports.default = {
8
+ android: {
9
+ CONFIGURATION: 'RookConfigurationModule',
10
+ MAIN: 'RookSdk',
11
+ PERMISSIONS: 'RookPermissionsModule',
12
+ SYNC: 'RookSyncModule',
13
+ STEPS: 'RookStepsModule'
14
+ },
15
+ ios: {
16
+ MAIN: 'RookSdk'
17
+ }
18
+ };
19
+ //# sourceMappingURL=nativeModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["android","CONFIGURATION","MAIN","PERMISSIONS","SYNC","STEPS","ios"],"sourceRoot":"../../../src","sources":["utils/nativeModules.ts"],"mappings":";;;;;;iCAAe;EACbA,OAAO,EAAE;IACPC,aAAa,EAAE,yBAAyB;IACxCC,IAAI,EAAE,SAAS;IACfC,WAAW,EAAE,uBAAuB;IACpCC,IAAI,EAAE,gBAAgB;IACtBC,KAAK,EAAE;EACT,CAAC;EACDC,GAAG,EAAE;IACHJ,IAAI,EAAE;EACR;AACF,CAAC","ignoreList":[]}
@@ -1,6 +1,18 @@
1
1
  // RookSyncGateContext.tsx
2
2
  import { createContext, useContext } from 'react';
3
+ /* This line of code is creating a context using the `createContext` function provided by React. The
4
+ context being created is named `RookSyncGateContext` and it is defined to hold an object with two
5
+ properties: `state` of type `RookSyncGateState` and `dispatch` of type `Dispatch<Action>`. The
6
+ `Dispatch` type is a generic type that represents a function to dispatch actions. */
3
7
  export const RookSyncGateContext = /*#__PURE__*/createContext(undefined);
8
+
9
+ /**
10
+ * The function `useRookSyncGateContext` ensures that it is used within the `RookSyncGateProvider`
11
+ * context.
12
+ * @returns The `useRookSyncGateContext` custom hook is returning the context obtained from the
13
+ * `RookSyncGateContext` using the `useContext` hook. If the context is not found, it throws an error
14
+ * indicating that `useRookSyncGateContext` should be used inside `RookSyncGateProvider`.
15
+ */
4
16
  export const useRookSyncGateContext = () => {
5
17
  const context = useContext(RookSyncGateContext);
6
18
  if (!context) {
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","RookSyncGateContext","undefined","useRookSyncGateContext","context","Error"],"sourceRoot":"../../../src","sources":["context/RookSyncGateContext.ts"],"mappings":"AAAA;AACA,SAASA,aAAa,EAAEC,UAAU,QAAuB,OAAO;AAGhE,OAAO,MAAMC,mBAAmB,gBAAGF,aAAa,CAE9CG,SAAS,CAAC;AAEZ,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;EAC1C,MAAMC,OAAO,GAAGJ,UAAU,CAACC,mBAAmB,CAAC;EAC/C,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,mEACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","RookSyncGateContext","undefined","useRookSyncGateContext","context","Error"],"sourceRoot":"../../../src","sources":["context/RookSyncGateContext.ts"],"mappings":"AAAA;AACA,SAASA,aAAa,EAAEC,UAAU,QAAuB,OAAO;AAGhE;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,gBAAGF,aAAa,CAE9CG,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;EAC1C,MAAMC,OAAO,GAAGJ,UAAU,CAACC,mBAAmB,CAAC;EAC/C,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,mEACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -3,7 +3,9 @@ import React, { useReducer, useEffect } from 'react';
3
3
  import { rookSyncGateReducer } from './RookSyncGateReducer'; // Importa el reducer
4
4
 
5
5
  import { RookSyncGateContext } from './RookSyncGateContext';
6
- import { credentials, getRookModule, packageInfo } from '../utils';
6
+ import { credentials } from '../utils/credentials';
7
+ import { getRookModule } from '../utils/getRookModule';
8
+ import { packageInfo } from '../utils/packageInfo';
7
9
  import { useRookAutoSync } from '../modules/hook/useRookAutoSync';
8
10
  const initialState = {
9
11
  clientUUID: '',
@@ -13,6 +15,11 @@ const initialState = {
13
15
  userID: '',
14
16
  permissions: 0
15
17
  };
18
+
19
+ /*
20
+ * This code snippet is defining a React functional component called `RookSyncGateProvider`.
21
+ * this define the provider for the SDK
22
+ */
16
23
  const RookSyncGateProvider = ({
17
24
  environment,
18
25
  clientUUID,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useReducer","useEffect","rookSyncGateReducer","RookSyncGateContext","credentials","getRookModule","packageInfo","useRookAutoSync","initialState","clientUUID","environment","password","ready","userID","permissions","RookSyncGateProvider","children","enableLogs","enableBackgroundSync","enableEventsBackgroundSync","state","dispatch","startBackgroundServices","enableBackground","initModule","type","rookSyncModule","initRook","debug","uuid","pdw","error","console","log","createElement","Provider","value"],"sourceRoot":"../../../src","sources":["context/RookSyncGateProvider.tsx"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAIC,UAAU,EAAWC,SAAS,QAAQ,OAAO;AAC7D,SAASC,mBAAmB,QAAQ,uBAAuB,CAAC,CAAC;;AAK7D,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,EAAEC,aAAa,EAAEC,WAAW,QAAQ,UAAU;AAClE,SAASC,eAAe,QAAQ,iCAAiC;AAEjE,MAAMC,YAA+B,GAAG;EACtCC,UAAU,EAAE,EAAE;EACdC,WAAW,EAAE,SAAS;EACtBC,QAAQ,EAAE,EAAE;EACZC,KAAK,EAAE,KAAK;EACZC,MAAM,EAAE,EAAE;EACVC,WAAW,EAAE;AACf,CAAC;AAED,MAAMC,oBAAmD,GAAGA,CAAC;EAC3DL,WAAW;EACXD,UAAU;EACVE,QAAQ;EACRK,QAAQ;EACRC,UAAU,GAAG,KAAK;EAClBC,oBAAoB;EACpBC,0BAA0B,GAAG;AAC/B,CAAC,KAAK;EACJ,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGrB,UAAU,CAACE,mBAAmB,EAAEM,YAAY,CAAC;EAEvE,MAAM;IAAEc;EAAwB,CAAC,GAAGf,eAAe,CAAC;IAClDa,KAAK;IACLG,gBAAgB,EAAEL,oBAAoB;IACtCD;EACF,CAAC,CAAC;EAEFhB,SAAS,CAAC,MAAM;IACduB,UAAU,CAAC,CAAC;EACd,CAAC,EAAE,CAACd,WAAW,EAAED,UAAU,EAAEE,QAAQ,CAAC,CAAC;EAEvC,MAAMa,UAAU,GAAG,MAAAA,CAAA,KAA2B;IAC5CH,QAAQ,CAAC;MAAEI,IAAI,EAAE,sBAAsB;MAAEf;IAAY,CAAC,CAAC;IACvDW,QAAQ,CAAC;MAAEI,IAAI,EAAE,iBAAiB;MAAEhB;IAAW,CAAC,CAAC;IACjDY,QAAQ,CAAC;MAAEI,IAAI,EAAE,cAAc;MAAEd;IAAS,CAAC,CAAC;IAE5C,IAAI;MACF,MAAMe,cAAc,GAAGrB,aAAa,CAAC,CAAC;MAEtC,MAAMqB,cAAc,CAACC,QAAQ,CAAC;QAC5BjB,WAAW,EAAEJ,WAAW,CAACsB,KAAK,GAAG,aAAa,GAAGlB,WAAW;QAC5DD,UAAU,EAAEH,WAAW,CAACsB,KAAK,GAAGxB,WAAW,CAACyB,IAAI,GAAGpB,UAAU;QAC7DE,QAAQ,EAAEL,WAAW,CAACsB,KAAK,GAAGxB,WAAW,CAAC0B,GAAG,GAAGnB,QAAQ;QACxDM,UAAU;QACVE,0BAA0B;QAC1BI,gBAAgB,EAAEL;MACpB,CAAC,CAAC;MAEF,IAAIA,oBAAoB,EAAEI,uBAAuB,CAAC,CAAC;MAEnDD,QAAQ,CAAC;QAAEI,IAAI,EAAE,WAAW;QAAEb,KAAK,EAAE;MAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdC,OAAO,CAACC,GAAG,CAACF,KAAK,CAAC;IACpB;EACF,CAAC;EAED,oBACEhC,KAAA,CAAAmC,aAAA,CAAC/B,mBAAmB,CAACgC,QAAQ;IAACC,KAAK,EAAE;MAAEhB,KAAK;MAAEC;IAAS;EAAE,GACtDL,QAC2B,CAAC;AAEnC,CAAC;AAED,eAAeD,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["React","useReducer","useEffect","rookSyncGateReducer","RookSyncGateContext","credentials","getRookModule","packageInfo","useRookAutoSync","initialState","clientUUID","environment","password","ready","userID","permissions","RookSyncGateProvider","children","enableLogs","enableBackgroundSync","enableEventsBackgroundSync","state","dispatch","startBackgroundServices","enableBackground","initModule","type","rookSyncModule","initRook","debug","uuid","pdw","error","console","log","createElement","Provider","value"],"sourceRoot":"../../../src","sources":["context/RookSyncGateProvider.tsx"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAIC,UAAU,EAAWC,SAAS,QAAQ,OAAO;AAC7D,SAASC,mBAAmB,QAAQ,uBAAuB,CAAC,CAAC;;AAK7D,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SAASC,eAAe,QAAQ,iCAAiC;AAEjE,MAAMC,YAA+B,GAAG;EACtCC,UAAU,EAAE,EAAE;EACdC,WAAW,EAAE,SAAS;EACtBC,QAAQ,EAAE,EAAE;EACZC,KAAK,EAAE,KAAK;EACZC,MAAM,EAAE,EAAE;EACVC,WAAW,EAAE;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,oBAAmD,GAAGA,CAAC;EAC3DL,WAAW;EACXD,UAAU;EACVE,QAAQ;EACRK,QAAQ;EACRC,UAAU,GAAG,KAAK;EAClBC,oBAAoB;EACpBC,0BAA0B,GAAG;AAC/B,CAAC,KAAK;EACJ,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGrB,UAAU,CAACE,mBAAmB,EAAEM,YAAY,CAAC;EAEvE,MAAM;IAAEc;EAAwB,CAAC,GAAGf,eAAe,CAAC;IAClDa,KAAK;IACLG,gBAAgB,EAAEL,oBAAoB;IACtCD;EACF,CAAC,CAAC;EAEFhB,SAAS,CAAC,MAAM;IACduB,UAAU,CAAC,CAAC;EACd,CAAC,EAAE,CAACd,WAAW,EAAED,UAAU,EAAEE,QAAQ,CAAC,CAAC;EAEvC,MAAMa,UAAU,GAAG,MAAAA,CAAA,KAA2B;IAC5CH,QAAQ,CAAC;MAAEI,IAAI,EAAE,sBAAsB;MAAEf;IAAY,CAAC,CAAC;IACvDW,QAAQ,CAAC;MAAEI,IAAI,EAAE,iBAAiB;MAAEhB;IAAW,CAAC,CAAC;IACjDY,QAAQ,CAAC;MAAEI,IAAI,EAAE,cAAc;MAAEd;IAAS,CAAC,CAAC;IAE5C,IAAI;MACF,MAAMe,cAAc,GAAGrB,aAAa,CAAC,CAAC;MAEtC,MAAMqB,cAAc,CAACC,QAAQ,CAAC;QAC5BjB,WAAW,EAAEJ,WAAW,CAACsB,KAAK,GAAG,aAAa,GAAGlB,WAAW;QAC5DD,UAAU,EAAEH,WAAW,CAACsB,KAAK,GAAGxB,WAAW,CAACyB,IAAI,GAAGpB,UAAU;QAC7DE,QAAQ,EAAEL,WAAW,CAACsB,KAAK,GAAGxB,WAAW,CAAC0B,GAAG,GAAGnB,QAAQ;QACxDM,UAAU;QACVE,0BAA0B;QAC1BI,gBAAgB,EAAEL;MACpB,CAAC,CAAC;MAEF,IAAIA,oBAAoB,EAAEI,uBAAuB,CAAC,CAAC;MAEnDD,QAAQ,CAAC;QAAEI,IAAI,EAAE,WAAW;QAAEb,KAAK,EAAE;MAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdC,OAAO,CAACC,GAAG,CAACF,KAAK,CAAC;IACpB;EACF,CAAC;EAED,oBACEhC,KAAA,CAAAmC,aAAA,CAAC/B,mBAAmB,CAACgC,QAAQ;IAACC,KAAK,EAAE;MAAEhB,KAAK;MAAEC;IAAS;EAAE,GACtDL,QAC2B,CAAC;AAEnC,CAAC;AAED,eAAeD,oBAAoB","ignoreList":[]}
@@ -1,3 +1,18 @@
1
+ /**
2
+ * The rookSyncGateReducer function in TypeScript handles various actions to update the state of a
3
+ * RookSyncGate component.
4
+ * @param {RookSyncGateState} state - The `state` parameter in the `rookSyncGateReducer` function
5
+ * represents the current state of the RookSyncGate module. It contains various properties such as
6
+ * `ready`, `environment`, `clientUUID`, `password`, `userID`, and `permissions`. The reducer function
7
+ * takes an action and
8
+ * @param {Action} action - The `action` parameter in the `rookSyncGateReducer` function represents an
9
+ * object that contains information about the action being dispatched. It typically has a `type`
10
+ * property that indicates the type of action being performed, along with any additional data needed to
11
+ * update the state. The reducer function uses this
12
+ * @returns The reducer function `rookSyncGateReducer` returns a new state object based on the action
13
+ * type provided. The state object is updated with the corresponding values based on the action type.
14
+ * If the action type is not recognized, it returns the current state unchanged.
15
+ */
1
16
  export const rookSyncGateReducer = (state, action) => {
2
17
  switch (action.type) {
3
18
  case 'SET_READY':
@@ -1 +1 @@
1
- {"version":3,"names":["rookSyncGateReducer","state","action","type","ready","environment","clientUUID","password","userID","permissions"],"sourceRoot":"../../../src","sources":["context/RookSyncGateReducer.ts"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB,GAAGA,CACjCC,KAAwB,EACxBC,MAAc,KACQ;EACtB,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK,WAAW;MACd,OAAO;QAAE,GAAGF,KAAK;QAAEG,KAAK,EAAEF,MAAM,CAACE;MAAM,CAAC;IAC1C,KAAK,sBAAsB;MACzB,OAAO;QAAE,GAAGH,KAAK;QAAEI,WAAW,EAAEH,MAAM,CAACG;MAAY,CAAC;IACtD,KAAK,iBAAiB;MACpB,OAAO;QAAE,GAAGJ,KAAK;QAAEK,UAAU,EAAEJ,MAAM,CAACI;MAAW,CAAC;IACpD,KAAK,cAAc;MACjB,OAAO;QAAE,GAAGL,KAAK;QAAEM,QAAQ,EAAEL,MAAM,CAACK;MAAS,CAAC;IAChD,KAAK,aAAa;MAChB,OAAO;QAAE,GAAGN,KAAK;QAAEO,MAAM,EAAEN,MAAM,CAACM;MAAO,CAAC;IAC5C,KAAK,iBAAiB;MACpB,OAAO;QACL,GAAGP,KAAK;QACRQ,WAAW,EAAER,KAAK,CAACQ,WAAW,GAAG;MACnC,CAAC;IACH;MACE,OAAOR,KAAK;EAChB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["rookSyncGateReducer","state","action","type","ready","environment","clientUUID","password","userID","permissions"],"sourceRoot":"../../../src","sources":["context/RookSyncGateReducer.ts"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,GAAGA,CACjCC,KAAwB,EACxBC,MAAc,KACQ;EACtB,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK,WAAW;MACd,OAAO;QAAE,GAAGF,KAAK;QAAEG,KAAK,EAAEF,MAAM,CAACE;MAAM,CAAC;IAC1C,KAAK,sBAAsB;MACzB,OAAO;QAAE,GAAGH,KAAK;QAAEI,WAAW,EAAEH,MAAM,CAACG;MAAY,CAAC;IACtD,KAAK,iBAAiB;MACpB,OAAO;QAAE,GAAGJ,KAAK;QAAEK,UAAU,EAAEJ,MAAM,CAACI;MAAW,CAAC;IACpD,KAAK,cAAc;MACjB,OAAO;QAAE,GAAGL,KAAK;QAAEM,QAAQ,EAAEL,MAAM,CAACK;MAAS,CAAC;IAChD,KAAK,aAAa;MAChB,OAAO;QAAE,GAAGN,KAAK;QAAEO,MAAM,EAAEN,MAAM,CAACM;MAAO,CAAC;IAC5C,KAAK,iBAAiB;MACpB,OAAO;QACL,GAAGP,KAAK;QACRQ,WAAW,EAAER,KAAK,CAACQ,WAAW,GAAG;MACnC,CAAC;IACH;MACE,OAAOR,KAAK;EAChB;AACF,CAAC","ignoreList":[]}
@@ -1,8 +1,18 @@
1
1
  import { useRef } from 'react';
2
2
  import { useRookSyncGateContext } from '../context/RookSyncGateContext';
3
- import { getRookModule, isModuleReady, isRunningOnAndroid } from '../utils';
3
+ import getNativeModule from '../utils/getNativeModule';
4
+ import { isModuleReady } from '../utils/isModuleReady';
5
+ import isRunningOnAndroid from '../utils/isRunningOnAndroid';
6
+ import nativeModules from '../utils/nativeModules';
7
+
8
+ /**
9
+ * The `useRookAndroidBackgroundSteps` function provides various methods for managing and retrieving
10
+ * step count data on Android devices using the Rook module.
11
+ * @returns The `useRookAndroidBackgroundSteps` function returns a hook with the functions that allows the user to
12
+ * control de steps sync
13
+ */
4
14
  export const useRookAndroidBackgroundSteps = () => {
5
- const rookSync = useRef(getRookModule());
15
+ const rookSync = useRef(getNativeModule(nativeModules.android.STEPS));
6
16
  const {
7
17
  state: {
8
18
  ready
@@ -19,30 +29,6 @@ export const useRookAndroidBackgroundSteps = () => {
19
29
  return rookSync.current.isStepsAvailable();
20
30
  };
21
31
 
22
- /**
23
- * The function `hasStepsPermissions` checks if the current user has permissions to access step data.
24
- * @returns The function `hasStepsPermissions` is returning a promise that resolve in a boolean value.
25
- */
26
- const hasStepsPermissions = async () => {
27
- isRunningOnAndroid();
28
- isModuleReady(ready);
29
- return rookSync.current.hasStepsPermissions();
30
- };
31
-
32
- /**
33
- * @deprecated instead use useRookPermissions().requestAndroidBackgroundPermissions
34
- *
35
- * The function `requestStepsPermissions` requests permission to access step count data.
36
- * @returns The function `requestStepsPermissions` is returning a Promise that resolves to a boolean
37
- * value.
38
- */
39
- const requestStepsPermissions = async () => {
40
- isRunningOnAndroid();
41
- isModuleReady(ready);
42
- await rookSync.current.requestAndroidBackgroundPermissions();
43
- return true;
44
- };
45
-
46
32
  /**
47
33
  * The function `enableBackgroundAndroidSteps` starts collecting of steps during the day
48
34
  * @returns The `enableBackgroundAndroidSteps` function is returning a Promise that resolves to a boolean
@@ -89,15 +75,14 @@ export const useRookAndroidBackgroundSteps = () => {
89
75
  * @returns The function `syncTodayHealthConnectStepsCount` is returning the result of calling
90
76
  */
91
77
  const syncTodayHealthConnectStepsCount = () => {
78
+ const currentModule = getNativeModule(nativeModules.android.SYNC);
92
79
  isRunningOnAndroid();
93
80
  isModuleReady(ready);
94
- return rookSync.current.syncTodayHealthConnectStepsCount();
81
+ return currentModule.syncTodayHealthConnectStepsCount();
95
82
  };
96
83
  return {
97
84
  ready,
98
85
  isStepsAvailable,
99
- hasStepsPermissions,
100
- requestStepsPermissions,
101
86
  enableBackgroundAndroidSteps,
102
87
  disableBackgroundAndroidSteps,
103
88
  isBackgroundAndroidStepsActive,
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOnAndroid","useRookAndroidBackgroundSteps","rookSync","state","ready","isStepsAvailable","current","hasStepsPermissions","requestStepsPermissions","requestAndroidBackgroundPermissions","enableBackgroundAndroidSteps","disableBackgroundAndroidSteps","isBackgroundAndroidStepsActive","syncTodayAndroidStepsCount","syncTodayHealthConnectStepsCount"],"sourceRoot":"../../../src","sources":["hooks/useRookAndroidBackgroundSteps.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,aAAa,EAAEC,aAAa,EAAEC,kBAAkB,QAAQ,UAAU;AAE3E,OAAO,MAAMC,6BAA6B,GAAGA,CAAA,KAAM;EACjD,MAAMC,QAAQ,GAAGN,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EAExC,MAAM;IACJK,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGP,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMQ,gBAAgB,GAAG,MAAAA,CAAA,KAA8B;IACrDL,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACD,gBAAgB,CAAC,CAAC;EAC5C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAME,mBAAmB,GAAG,MAAAA,CAAA,KAA8B;IACxDP,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACC,mBAAmB,CAAC,CAAC;EAC/C,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,uBAAuB,GAAG,MAAAA,CAAA,KAA8B;IAC5DR,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,MAAMF,QAAQ,CAACI,OAAO,CAACG,mCAAmC,CAAC,CAAC;IAE5D,OAAO,IAAI;EACb,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;IACjEV,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACI,4BAA4B,CAAC,CAAC;EACxD,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,6BAA6B,GAAGA,CAAA,KAAwB;IAC5DX,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACK,6BAA6B,CAAC,CAAC;EACzD,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,8BAA8B,GAAGA,CAAA,KAAwB;IAC7DZ,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACM,8BAA8B,CAAC,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,0BAA0B,GAAGA,CAAA,KAAuB;IACxDb,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACO,0BAA0B,CAAC,CAAC;EACtD,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,gCAAgC,GAAGA,CAAA,KAAuB;IAC9Dd,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACQ,gCAAgC,CAAC,CAAC;EAC5D,CAAC;EAED,OAAO;IACLV,KAAK;IACLC,gBAAgB;IAChBE,mBAAmB;IACnBC,uBAAuB;IACvBE,4BAA4B;IAC5BC,6BAA6B;IAC7BC,8BAA8B;IAC9BC,0BAA0B;IAC1BC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","nativeModules","useRookAndroidBackgroundSteps","rookSync","android","STEPS","state","ready","isStepsAvailable","current","enableBackgroundAndroidSteps","disableBackgroundAndroidSteps","isBackgroundAndroidStepsActive","syncTodayAndroidStepsCount","syncTodayHealthConnectStepsCount","currentModule","SYNC"],"sourceRoot":"../../../src","sources":["hooks/useRookAndroidBackgroundSteps.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,OAAOC,aAAa,MAAM,wBAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,6BAA6B,GAAGA,CAAA,KAAM;EACjD,MAAMC,QAAQ,GAAGP,MAAM,CAACE,eAAe,CAACG,aAAa,CAACG,OAAO,CAACC,KAAK,CAAC,CAAC;EAErE,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGV,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMW,gBAAgB,GAAG,MAAAA,CAAA,KAA8B;IACrDR,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACM,OAAO,CAACD,gBAAgB,CAAC,CAAC;EAC5C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAME,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;IACjEV,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACM,OAAO,CAACC,4BAA4B,CAAC,CAAC;EACxD,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,6BAA6B,GAAGA,CAAA,KAAwB;IAC5DX,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACM,OAAO,CAACE,6BAA6B,CAAC,CAAC;EACzD,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,8BAA8B,GAAGA,CAAA,KAAwB;IAC7DZ,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACM,OAAO,CAACG,8BAA8B,CAAC,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,0BAA0B,GAAGA,CAAA,KAAuB;IACxDb,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACM,OAAO,CAACI,0BAA0B,CAAC,CAAC;EACtD,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,gCAAgC,GAAGA,CAAA,KAAuB;IAC9D,MAAMC,aAAa,GAAGjB,eAAe,CAACG,aAAa,CAACG,OAAO,CAACY,IAAI,CAAC;IAEjEhB,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOQ,aAAa,CAACD,gCAAgC,CAAC,CAAC;EACzD,CAAC;EAED,OAAO;IACLP,KAAK;IACLC,gBAAgB;IAChBE,4BAA4B;IAC5BC,6BAA6B;IAC7BC,8BAA8B;IAC9BC,0BAA0B;IAC1BC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,8 +1,11 @@
1
1
  import { useRef } from 'react';
2
2
  import { useRookSyncGateContext } from '../context/RookSyncGateContext';
3
- import { getRookModule, isModuleReady, isRunningOniOS } from '../utils';
3
+ import getNativeModule from '../utils/getNativeModule';
4
+ import { isModuleReady } from '../utils/isModuleReady';
5
+ import { isRunningOniOS } from '../utils/isRunningOniOS';
6
+ import nativeModules from '../utils/nativeModules';
4
7
  export const useRookAppleHealth = () => {
5
- const rookSync = useRef(getRookModule());
8
+ const rookSync = useRef(getNativeModule(nativeModules.ios.MAIN));
6
9
  const {
7
10
  state: {
8
11
  ready
@@ -32,11 +35,21 @@ export const useRookAppleHealth = () => {
32
35
  isModuleReady(ready);
33
36
  return rookSync.current.disableBackGroundUpdates();
34
37
  };
38
+
39
+ /**
40
+ * This function checks if background summaries are enabled.
41
+ * @returns The function `isBackGroundForSummariesEnable` is returning a boolean value
42
+ */
35
43
  const isBackGroundForSummariesEnable = async () => {
36
44
  isRunningOniOS();
37
45
  isModuleReady(ready);
38
46
  return rookSync.current.isBackGroundForSummariesEnable();
39
47
  };
48
+
49
+ /**
50
+ * This function checks if background events are enabled.
51
+ * @returns The function `isBackGroundForEventsEnable` is returning a boolean value
52
+ */
40
53
  const isBackGroundForEventsEnable = async () => {
41
54
  isRunningOniOS();
42
55
  isModuleReady(ready);
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOniOS","useRookAppleHealth","rookSync","state","ready","enableBackGroundUpdates","current","disableBackGroundUpdates","isBackGroundForSummariesEnable","isBackGroundForEventsEnable"],"sourceRoot":"../../../src","sources":["hooks/useRookAppleHealth.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,aAAa,EAAEC,aAAa,EAAEC,cAAc,QAAQ,UAAU;AAEvE,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,QAAQ,GAAGN,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EACxC,MAAM;IACJK,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGP,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;EACE,MAAMQ,uBAAuB,GAAGA,CAAA,KAAwB;IACtDL,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACD,uBAAuB,CAAC,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAME,wBAAwB,GAAGA,CAAA,KAAwB;IACvDP,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACC,wBAAwB,CAAC,CAAC;EACpD,CAAC;EAED,MAAMC,8BAA8B,GAAG,MAAAA,CAAA,KAA2B;IAChER,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACE,8BAA8B,CAAC,CAAC;EAC1D,CAAC;EAED,MAAMC,2BAA2B,GAAG,MAAAA,CAAA,KAA2B;IAC7DT,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACG,2BAA2B,CAAC,CAAC;EACvD,CAAC;EAED,OAAO;IACLL,KAAK;IACLC,uBAAuB;IACvBE,wBAAwB;IACxBE,2BAA2B;IAC3BD;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOniOS","nativeModules","useRookAppleHealth","rookSync","ios","MAIN","state","ready","enableBackGroundUpdates","current","disableBackGroundUpdates","isBackGroundForSummariesEnable","isBackGroundForEventsEnable"],"sourceRoot":"../../../src","sources":["hooks/useRookAppleHealth.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,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,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;AACA;AACA;EACE,MAAMW,uBAAuB,GAAGA,CAAA,KAAwB;IACtDR,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACM,OAAO,CAACD,uBAAuB,CAAC,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAME,wBAAwB,GAAGA,CAAA,KAAwB;IACvDV,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACM,OAAO,CAACC,wBAAwB,CAAC,CAAC;EACpD,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,8BAA8B,GAAG,MAAAA,CAAA,KAA8B;IACnEX,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACM,OAAO,CAACE,8BAA8B,CAAC,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,2BAA2B,GAAG,MAAAA,CAAA,KAA2B;IAC7DZ,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACM,OAAO,CAACG,2BAA2B,CAAC,CAAC;EACvD,CAAC;EAED,OAAO;IACLL,KAAK;IACLC,uBAAuB;IACvBE,wBAAwB;IACxBE,2BAA2B;IAC3BD;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,13 +1,31 @@
1
1
  import { useRef } from 'react';
2
2
  import { useRookSyncGateContext } from '../context/RookSyncGateContext';
3
- import { getRookModule, isModuleReady, isRunningOniOS } from '../utils';
3
+ import getNativeModule from '../utils/getNativeModule';
4
+ import { isModuleReady } from '../utils/isModuleReady';
5
+ import { isRunningOniOS } from '../utils/isRunningOniOS';
6
+ import nativeModules from '../utils/nativeModules';
7
+
8
+ /**
9
+ * The `useRookAppleHealthVariable` hook returns an object with a `ready` boolean and an
10
+ * asynchronous function `getTodaySteps` that retrieves the number of steps taken today.
11
+ * @returns The `useRookVariable` hook is returning an object with two properties:
12
+ * 1. `ready`: This property is coming from the `useRookSyncGateContext` hook and represents the state
13
+ * of readiness.
14
+ * 2. `getTodaySteps`: This property is a function that retrieves the number of steps taken today
15
+ * asynchronously and returns a Promise<string> representing the number of steps taken today.
16
+ */
4
17
  export const useRookAppleHealthVariables = () => {
5
- const rookSync = useRef(getRookModule());
18
+ const rookSync = useRef(getNativeModule(nativeModules.ios.MAIN));
6
19
  const {
7
20
  state: {
8
21
  ready
9
22
  }
10
23
  } = useRookSyncGateContext();
24
+
25
+ /**
26
+ * The function `getTodaySteps` retrieves the number of steps taken today asynchronously.
27
+ * @returns The function `getTodaySteps` is returning a string representing the number of steps taken today.
28
+ */
11
29
  const getTodaySteps = async () => {
12
30
  isRunningOniOS();
13
31
  isModuleReady(ready);