react-native-rook-sdk 4.0.0-beta.2 → 5.0.0-beta.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 (99) hide show
  1. package/RNRookSdk.podspec +1 -1
  2. package/android/build.gradle +6 -0
  3. package/android/src/main/java/com/rooksdk/RookSdkModule.kt +1850 -6
  4. package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +62 -0
  5. package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +64 -0
  6. package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +44 -0
  7. package/android/src/main/java/com/rooksdk/utils/DatasourceUtils.kt +35 -0
  8. package/android/src/main/java/com/rooksdk/utils/PermissionConvertions.kt +21 -0
  9. package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +144 -0
  10. package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +26 -0
  11. package/android/src/main/java/com/rooksdk/utils/RookGsonBuilder.kt +20 -0
  12. package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +22 -0
  13. package/android/src/main/java/com/rooksdk/utils/Source.kt +6 -0
  14. package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +41 -0
  15. package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +18 -0
  16. package/android/src/main/java/com/rooksdk/utils/serializers/LocalDateSerializer.kt +21 -0
  17. package/android/src/main/java/com/rooksdk/utils/serializers/ZoneDateTimeSerializer.kt +18 -0
  18. package/ios/EncodableSDKState.swift +95 -0
  19. package/ios/NutritionMapper.swift +114 -0
  20. package/ios/RookConfiguration.swift +13 -0
  21. package/ios/RookData.swift +29 -0
  22. package/ios/RookEntry.swift +5 -4
  23. package/ios/RookPermissions.swift +33 -9
  24. package/ios/RookSdk.h +1 -13
  25. package/ios/RookSdk.mm +44 -237
  26. package/lib/module/NativeRookSdk.js +98 -10
  27. package/lib/module/NativeRookSdk.js.map +1 -1
  28. package/lib/module/context/RookSyncGateProvider.js +29 -21
  29. package/lib/module/context/RookSyncGateProvider.js.map +1 -1
  30. package/lib/module/context/RookSyncGateReducer.js +12 -2
  31. package/lib/module/context/RookSyncGateReducer.js.map +1 -1
  32. package/lib/module/hooks/useRookConfiguration.js +20 -1
  33. package/lib/module/hooks/useRookConfiguration.js.map +1 -1
  34. package/lib/module/hooks/useRookData.js +13 -4
  35. package/lib/module/hooks/useRookData.js.map +1 -1
  36. package/lib/module/hooks/useRookPermissions.js +13 -1
  37. package/lib/module/hooks/useRookPermissions.js.map +1 -1
  38. package/lib/module/hooks/useRookSync.js +1 -1
  39. package/lib/module/hooks/useRookSync.js.map +1 -1
  40. package/lib/module/hooks/useRookVariables.js +16 -1
  41. package/lib/module/hooks/useRookVariables.js.map +1 -1
  42. package/lib/module/modules/components/RookStateManager.js +31 -0
  43. package/lib/module/modules/components/RookStateManager.js.map +1 -0
  44. package/lib/module/modules/hook/useRookAutoSync.js +5 -4
  45. package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
  46. package/lib/module/modules/hook/useRookEmitter.js +61 -0
  47. package/lib/module/modules/hook/useRookEmitter.js.map +1 -0
  48. package/lib/module/types/AppleHealthNutritionEvent.js +72 -0
  49. package/lib/module/types/AppleHealthNutritionEvent.js.map +1 -0
  50. package/lib/module/types/HCMealData.js +61 -0
  51. package/lib/module/types/HCMealData.js.map +1 -0
  52. package/lib/module/types/WriteNutrition.js +14 -0
  53. package/lib/module/types/WriteNutrition.js.map +1 -0
  54. package/lib/module/utils/isValidDate.js +20 -0
  55. package/lib/module/utils/isValidDate.js.map +1 -1
  56. package/lib/typescript/src/NativeRookSdk.d.ts +622 -33
  57. package/lib/typescript/src/NativeRookSdk.d.ts.map +1 -1
  58. package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
  59. package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
  60. package/lib/typescript/src/context/RookSyncGateTypes.d.ts +14 -4
  61. package/lib/typescript/src/context/RookSyncGateTypes.d.ts.map +1 -1
  62. package/lib/typescript/src/hooks/useRookConfiguration.d.ts +3 -1
  63. package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
  64. package/lib/typescript/src/hooks/useRookData.d.ts +2 -2
  65. package/lib/typescript/src/hooks/useRookData.d.ts.map +1 -1
  66. package/lib/typescript/src/hooks/useRookPermissions.d.ts +2 -0
  67. package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
  68. package/lib/typescript/src/hooks/useRookVariables.d.ts +2 -0
  69. package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
  70. package/lib/typescript/src/modules/components/RookStateManager.d.ts +10 -0
  71. package/lib/typescript/src/modules/components/RookStateManager.d.ts.map +1 -0
  72. package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
  73. package/lib/typescript/src/modules/hook/useRookEmitter.d.ts +4 -0
  74. package/lib/typescript/src/modules/hook/useRookEmitter.d.ts.map +1 -0
  75. package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts +76 -0
  76. package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts.map +1 -0
  77. package/lib/typescript/src/types/HCMealData.d.ts +60 -0
  78. package/lib/typescript/src/types/HCMealData.d.ts.map +1 -0
  79. package/lib/typescript/src/types/WriteNutrition.d.ts +61 -0
  80. package/lib/typescript/src/types/WriteNutrition.d.ts.map +1 -0
  81. package/lib/typescript/src/utils/isValidDate.d.ts +8 -0
  82. package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
  83. package/package.json +1 -1
  84. package/src/NativeRookSdk.ts +682 -117
  85. package/src/context/RookSyncGateProvider.tsx +20 -16
  86. package/src/context/RookSyncGateReducer.ts +6 -2
  87. package/src/context/RookSyncGateTypes.ts +9 -3
  88. package/src/hooks/useRookConfiguration.ts +26 -2
  89. package/src/hooks/useRookData.ts +18 -7
  90. package/src/hooks/useRookPermissions.ts +16 -0
  91. package/src/hooks/useRookSync.ts +1 -1
  92. package/src/hooks/useRookVariables.ts +22 -1
  93. package/src/modules/components/RookStateManager.tsx +41 -0
  94. package/src/modules/hook/useRookAutoSync.ts +6 -4
  95. package/src/modules/hook/useRookEmitter.ts +94 -0
  96. package/src/types/AppleHealthNutritionEvent.ts +142 -0
  97. package/src/types/HCMealData.ts +114 -0
  98. package/src/types/WriteNutrition.ts +66 -0
  99. package/src/utils/isValidDate.ts +24 -0
@@ -1 +1 @@
1
- {"version":3,"names":["RookSdk","useEffect","useRef","useState","AppState","Platform","errors","AppleHealthPermission","MESSAGE_TYPE","useRookAutoSync","enableBackground","enableLogs","state","appState","currentState","changeAppState","setChangeState","subscription","addEventListener","nextAppState","current","match","prev","remove","ready","startBackgroundServices","clientUUID","password","OS","startAndroidBackgroundSync","startIOSBackgroundSync","isValidUser","userID","getUserID","console","error","noUserIDAndroidBackground","Error","sendMessageToBroadcast","type","message","value","tryToStartBackgroundSync","backgroundStatus","checkHealthConnectBackgroundReadStatus","result","scheduleBackgroundSync","tryToStartForegroundSync","hasHCPermissions","healthConnectHasPartialPermissions","hasAndroidPermissions","androidHasBackgroundPermissions","autoStartAndroidBackgroundSync","enableBackgroundAndroidSteps","tryToStartSamsungHealthSync","isAvailable","checkSamsungAvailability","enableSamsungSync","enabledSources","isValid","isSamsungEnabled","isEnabled","push","isForegroundEnabled","join","log","status","appleHealthHasPermissions","STEP_COUNT","enableBackGroundUpdates","sync","err","autoStartIOSBackgroundSync","includes","sendMessage"],"sourceRoot":"../../../../src","sources":["modules/hook/useRookAutoSync.ts"],"mappings":";;AAAA;AACA,OAAOA,OAAO,MAAM,wBAAqB;AACzC,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACnD,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,cAAc;AAEjD,SAASC,MAAM,QAAQ,oBAAiB;AAExC,SAASC,qBAAqB,QAAQ,uCAAoC;AAQ1E,MAAMC,YAAY,GAAG,yBAAyB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,gBAAgB;EAChBC,UAAU;EACVC;AACmB,CAAC,KAAK;EACzB,MAAMC,QAAQ,GAAGX,MAAM,CAACE,QAAQ,CAACU,YAAY,CAAC;EAC9C,MAAM,CAACC,cAAc,EAAEC,cAAc,CAAC,GAAGb,QAAQ,CAAC,CAAC,CAAC;EAEpDF,SAAS,CAAC,MAAM;IACd,IAAI,CAACS,gBAAgB,EAAE;IAEvB,MAAMO,YAAY,GAAGb,QAAQ,CAACc,gBAAgB,CAAC,QAAQ,EAAGC,YAAY,IAAK;MACzE;MACE;MACA;MACAN,QAAQ,CAACO,OAAO,EAAEC,KAAK,CAAC,qBAAqB,CAAC,IAC9CF,YAAY,KAAK,QAAQ,EACzB;QACAH,cAAc,CAAEM,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;MACpC;MAEAT,QAAQ,CAACO,OAAO,GAAGD,YAAY;IACjC,CAAC,CAAC;IAEF,OAAO,MAAM;MACXF,YAAY,CAACM,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENtB,SAAS,CAAC,MAAM;IACd,IAAI,CAACW,KAAK,CAACY,KAAK,IAAI,CAACd,gBAAgB,EAAE;IAEvCe,uBAAuB,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACb,KAAK,EAAEG,cAAc,CAAC,CAAC;EAE3B,MAAMU,uBAAuB,GAAGA,CAAA,KAAM;IACpC,MAAM;MAAEC,UAAU;MAAEC,QAAQ;MAAEH;IAAM,CAAC,GAAGZ,KAAK;IAE7C,IAAI,CAACY,KAAK,IAAI,CAACE,UAAU,IAAI,CAACC,QAAQ,EAAE;MACtC;IACF;IAEA,IAAItB,QAAQ,CAACuB,EAAE,KAAK,SAAS,EAAE;MAC7BC,0BAA0B,CAAC,CAAC;MAC5B;IACF;IAEAC,sBAAsB,CAAC,CAAC;EAC1B,CAAC;EAED,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAA8B;IAChD,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMhC,OAAO,CAACiC,SAAS,CAAC,CAAC;MAExC,IAAID,MAAM,EAAE,OAAO,IAAI;MAEvB,IAAIrB,UAAU,EAAEuB,OAAO,CAACC,KAAK,CAAC7B,MAAM,CAAC8B,yBAAyB,CAAC;MAE/D,MAAM,IAAIC,KAAK,CAAC/B,MAAM,CAAC8B,yBAAyB,CAAC;IACnD,CAAC,CAAC,OAAOD,KAAK,EAAE;MACdG,sBAAsB,CAAC;QACrBC,IAAI,EAAE,yBAAyB;QAC/BC,OAAO,EAAGL,KAAK,CAASK,OAAO,IAAI,wBAAwB;QAC3DC,KAAK,EAAE;MACT,CAAC,CAAC;MAEF,OAAO,KAAK;IACd;EACF,CAAC;EAED,MAAMC,wBAAwB,GAAG,MAAAA,CAAA,KAA8B;IAC7D,IAAI;MACF,MAAMC,gBAAgB,GACpB,MAAM3C,OAAO,CAAC4C,sCAAsC,CAAC,CAAC;MAExD,IAAID,gBAAgB,KAAK,oBAAoB,EAC3C,MAAM,IAAIN,KAAK,CAAC,wCAAwC,CAAC;MAE3D,MAAMQ,MAAM,GAAG,MAAM7C,OAAO,CAAC8C,sBAAsB,CAACnC,UAAU,CAAC;MAE/D,OAAOkC,MAAM;IACf,CAAC,CAAC,OAAOV,KAAK,EAAE;MACdG,sBAAsB,CAAC;QACrBC,IAAI,EAAE,yBAAyB;QAC/BC,OAAO,EACJL,KAAK,CAASK,OAAO,IACtB,iGAAiG;QACnGC,KAAK,EAAE;MACT,CAAC,CAAC;MAEF,OAAO,KAAK;IACd;EACF,CAAC;EAED,MAAMM,wBAAwB,GAAG,MAAAA,CAAA,KAA8B;IAC7D,IAAI;MACF,MAAMC,gBAAgB,GACpB,MAAMhD,OAAO,CAACiD,kCAAkC,CAAC,CAAC;MACpD,MAAMC,qBAAqB,GACzB,MAAMlD,OAAO,CAACmD,+BAA+B,CAAC,CAAC;MAEjD,IAAI,CAACH,gBAAgB,IAAI,CAACE,qBAAqB,EAAE;QAC/C,IAAIvC,UAAU,EAAEuB,OAAO,CAACC,KAAK,CAAC7B,MAAM,CAAC8C,8BAA8B,CAAC;QAEpE,MAAM,IAAIf,KAAK,CAAC/B,MAAM,CAAC8C,8BAA8B,CAAC;MACxD;MAEA,IAAIhD,QAAQ,CAACU,YAAY,KAAK,QAAQ,IAAID,QAAQ,CAACO,OAAO,KAAK,QAAQ,EAAE;QACvE,MAAMpB,OAAO,CAACqD,4BAA4B,CAAC,CAAC;QAE5C,OAAO,IAAI;MACb;MAEA,OAAO,KAAK;IACd,CAAC,CAAC,OAAOlB,KAAK,EAAE;MACdG,sBAAsB,CAAC;QACrBC,IAAI,EAAE,yBAAyB;QAC/BE,KAAK,EAAE,KAAK;QACZD,OAAO,EAAGL,KAAK,CAAWK;MAC5B,CAAC,CAAC;MAEF,OAAO,KAAK;IACd;EACF,CAAC;EAED,MAAMc,2BAA2B,GAAG,MAAAA,CAAA,KAA8B;IAChE,IAAI;MACF,MAAMC,WAAW,GAAG,MAAMvD,OAAO,CAACwD,wBAAwB,CAAC,CAAC;MAE5D,IAAID,WAAW,KAAK,WAAW,EAAE,OAAO,KAAK;MAE7C,MAAMvD,OAAO,CAACyD,iBAAiB,CAAC,CAAC;MAEjC,OAAO,IAAI;IACb,CAAC,CAAC,OAAOtB,KAAK,EAAE;MACdG,sBAAsB,CAAC;QACrBC,IAAI,EAAE,yBAAyB;QAC/BE,KAAK,EAAE,KAAK;QACZD,OAAO,EAAGL,KAAK,CAAWK;MAC5B,CAAC,CAAC;MAEF,OAAO,KAAK;IACd;EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMX,0BAA0B,GAAG,MAAAA,CAAA,KAAY;IAC7C,MAAM;MAAEH,UAAU;MAAEC,QAAQ;MAAEH;IAAM,CAAC,GAAGZ,KAAK;IAE7C,IAAI,CAACY,KAAK,IAAI,CAACE,UAAU,IAAI,CAACC,QAAQ,EAAE;MACtC;IACF;IAEA,IAAI;MACF,MAAM+B,cAAc,GAAG,EAAE;MAEzB,MAAMC,OAAO,GAAG,MAAM5B,WAAW,CAAC,CAAC;MACnC,IAAI,CAAC4B,OAAO,EAAE;MAEd,MAAMC,gBAAgB,GAAG,MAAMN,2BAA2B,CAAC,CAAC;MAC5D,MAAMO,SAAS,GAAG,MAAMnB,wBAAwB,CAAC,CAAC;MAElD,IAAIkB,gBAAgB,EAAEF,cAAc,CAACI,IAAI,CAAC,gBAAgB,CAAC;MAC3D,IAAID,SAAS,EAAEH,cAAc,CAACI,IAAI,CAAC,gBAAgB,CAAC;MAEpD,IAAI,CAACD,SAAS,EAAE;QACd,MAAME,mBAAmB,GAAG,MAAMhB,wBAAwB,CAAC,CAAC;QAE5D,IAAI,CAACgB,mBAAmB,IAAI,CAACH,gBAAgB,EAC3C,MAAM,IAAIvB,KAAK,CAAC,mCAAmC,CAAC;QAEtD,IAAI0B,mBAAmB,EAAEL,cAAc,CAACI,IAAI,CAAC,oBAAoB,CAAC;MACpE;MAEAxB,sBAAsB,CAAC;QACrBC,IAAI,EAAE,yBAAyB;QAC/BE,KAAK,EAAE,IAAI;QACXD,OAAO,EAAE,QAAQkB,cAAc,CAACM,IAAI,CAAC,IAAI,CAAC;MAC5C,CAAC,CAAC;MAEF,IAAIrD,UAAU,EAAEuB,OAAO,CAAC+B,GAAG,CAAC,wCAAwC,CAAC;IACvE,CAAC,CAAC,OAAO9B,KAAK,EAAE;MACdG,sBAAsB,CAAC;QACrBC,IAAI,EAAE,yBAAyB;QAC/BC,OAAO,EAAGL,KAAK,CAASK,OAAO;QAC/BC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMX,sBAAsB,GAAG,MAAAA,CAAA,KAAY;IACzC,IAAI;MACF,MAAME,MAAM,GAAG,MAAMhC,OAAO,CAACiC,SAAS,CAAC,CAAC;MAExC,IAAI,CAACD,MAAM,EAAE;QACX,IAAIrB,UAAU,EAAEuB,OAAO,CAACC,KAAK,CAAC7B,MAAM,CAAC8B,yBAAyB,CAAC;QAE/DE,sBAAsB,CAAC;UACrBC,IAAI,EAAE/B,YAAY;UAClBiC,KAAK,EAAE,KAAK;UACZD,OAAO,EAAElC,MAAM,CAAC8B;QAClB,CAAC,CAAC;QAEF;MACF;MAEA,MAAM8B,MAAM,GAAG,MAAMlE,OAAO,CAACmE,yBAAyB,CACpD5D,qBAAqB,CAAC6D,UACxB,CAAC;MAED,IAAIF,MAAM,KAAK,0BAA0B,EACvC,MAAM,IAAI7B,KAAK,CAAC,sBAAsB,CAAC;MAEzC,MAAMrC,OAAO,CAACqE,uBAAuB,CAAC,CAAC;MAEvCrE,OAAO,CAACsE,IAAI,CAAC,MAAM;QACjBhC,sBAAsB,CAAC;UACrBC,IAAI,EAAE/B,YAAY;UAClBiC,KAAK,EAAE,IAAI;UACXD,OAAO,EAAE;QACX,CAAC,CAAC;MACJ,CAAC,CAAC;MAEFF,sBAAsB,CAAC;QACrBC,IAAI,EAAE/B,YAAY;QAClBiC,KAAK,EAAE;MACT,CAAC,CAAC;MAEF,IAAI9B,UAAU,EAAEuB,OAAO,CAAC+B,GAAG,CAAC,wCAAwC,CAAC;IACvE,CAAC,CAAC,OAAOM,GAAG,EAAE;MACZ,MAAMpC,KAAK,GAAGoC,GAAU;MAExBjC,sBAAsB,CAAC;QACrBC,IAAI,EAAE/B,YAAY;QAClBiC,KAAK,EAAE,KAAK;QACZD,OAAO,EAAElC,MAAM,CAACkE;MAClB,CAAC,CAAC;MAEF,IAAI7D,UAAU,EAAE;QACd,IAAIwB,KAAK,CAACK,OAAO,IAAKL,KAAK,CAACK,OAAO,CAAYiC,QAAQ,CAAC,aAAa,CAAC,EACpEvC,OAAO,CAACC,KAAK,CAAC7B,MAAM,CAAC8B,yBAAyB,CAAC,CAAC,KAC7CF,OAAO,CAACC,KAAK,CAAC7B,MAAM,CAACkE,0BAA0B,CAAC;MACvD;IACF;EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMlC,sBAAsB,GAAIE,OAAgB,IAAW;IACzDxC,OAAO,CAAC0E,WAAW,CAAClC,OAAO,CAAC;EAC9B,CAAC;EAED,OAAO;IACLf;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["RookSdk","useEffect","useRef","useState","AppState","Platform","errors","AppleHealthPermission","MESSAGE_TYPE","useRookAutoSync","enableBackground","enableLogs","state","appState","currentState","changeAppState","setChangeState","subscription","addEventListener","nextAppState","current","match","prev","remove","ready","startBackgroundServices","clientUUID","secret","OS","startAndroidBackgroundSync","startIOSBackgroundSync","isValidUser","userID","getUserID","console","error","noUserIDAndroidBackground","Error","sendMessageToBroadcast","type","message","value","tryToStartBackgroundSync","backgroundStatus","checkHealthConnectBackgroundReadStatus","result","scheduleBackgroundSync","tryToStartForegroundSync","hasHCPermissions","healthConnectHasPartialPermissions","hasAndroidPermissions","androidHasBackgroundPermissions","autoStartAndroidBackgroundSync","enableBackgroundAndroidSteps","tryToStartSamsungHealthSync","isAvailable","checkSamsungAvailability","enableSamsungSync","enabledSources","isValid","isSamsungEnabled","isEnabled","push","isForegroundEnabled","join","log","status","appleHealthHasPermissions","STEP_COUNT","enableBackGroundUpdates","sync","err","autoStartIOSBackgroundSync","includes","sendMessage"],"sourceRoot":"../../../../src","sources":["modules/hook/useRookAutoSync.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable react-hooks/exhaustive-deps */
4
+ import { useRef, useCallback } from 'react';
5
+ import RookSdk from "../../NativeRookSdk.js";
6
+ const PERM_KEYS = {
7
+ HC: 'ROOK_HEALTH_CONNECT_PERMISSIONS',
8
+ HC_PARTIAL: 'ROOK_HEALTH_CONNECT_PERMISSIONS_PARTIALLY_GRANTED',
9
+ HC_BG: 'ROOK_HEALTH_CONNECT_BACKGROUND_PERMISSIONS',
10
+ SAMSUNG: 'ROOK_SAMSUNG_HEALTH_PERMISSIONS',
11
+ SAMSUNG_PARTIAL: 'ROOK_SAMSUNG_HEALTH_PERMISSIONS_PARTIALLY_GRANTED',
12
+ ANDROID_BG: 'ROOK_BACKGROUND_ANDROID_PERMISSIONS'
13
+ };
14
+ export const useRookPermissionEmitter = () => {
15
+ const emittedRef = useRef({});
16
+ const evaluateAndEmit = useCallback(async (key, checkFn) => {
17
+ let previuos = emittedRef.current[key] || false;
18
+ try {
19
+ const result = await checkFn();
20
+ const isGranted = typeof result === 'string' ? result === 'PERMISSION_GRANTED' : result;
21
+ if (previuos === isGranted) return;
22
+ const success = await RookSdk.sendMessage({
23
+ type: key,
24
+ value: isGranted
25
+ });
26
+ if (success) {
27
+ emittedRef.current[key] = true;
28
+ }
29
+ } catch (error) {
30
+ console.error(`Error checking/emitting ${key}:`, error);
31
+ }
32
+ }, []);
33
+ const checkAndroidSystem = async () => {
34
+ await evaluateAndEmit(PERM_KEYS.ANDROID_BG, RookSdk.androidHasBackgroundPermissions);
35
+ };
36
+ const checkHealthConnect = async () => {
37
+ await Promise.all([evaluateAndEmit(PERM_KEYS.HC, RookSdk.healthConnectHasPermissions), evaluateAndEmit(PERM_KEYS.HC_PARTIAL, RookSdk.healthConnectHasPartialPermissions), evaluateAndEmit(PERM_KEYS.HC_BG, RookSdk.checkHealthConnectBackgroundReadStatus)]);
38
+ };
39
+ const checkSamsungHealth = async () => {
40
+ await Promise.all([evaluateAndEmit(PERM_KEYS.SAMSUNG, RookSdk.samsungHealthHasPermissions), evaluateAndEmit(PERM_KEYS.SAMSUNG_PARTIAL, RookSdk.samsungHealthHasPartialPermissions)]);
41
+ };
42
+ const checkAndroidPermissions = async () => {
43
+ try {
44
+ const samsungStatus = await RookSdk.checkSamsungAvailability();
45
+ const isSamsungAvailable = samsungStatus === 'INSTALLED';
46
+ checkAndroidSystem().then().catch(console.log);
47
+ checkHealthConnect().then().catch(console.log);
48
+ if (isSamsungAvailable) {
49
+ checkSamsungHealth().catch(console.log);
50
+ } else {
51
+ console.log(`Skipping Samsung Health checks. Status: ${samsungStatus}`);
52
+ }
53
+ } catch (error) {
54
+ console.error('Global Permission Check Failed', error);
55
+ }
56
+ };
57
+ return {
58
+ checkAndroidPermissions
59
+ };
60
+ };
61
+ //# sourceMappingURL=useRookEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRef","useCallback","RookSdk","PERM_KEYS","HC","HC_PARTIAL","HC_BG","SAMSUNG","SAMSUNG_PARTIAL","ANDROID_BG","useRookPermissionEmitter","emittedRef","evaluateAndEmit","key","checkFn","previuos","current","result","isGranted","success","sendMessage","type","value","error","console","checkAndroidSystem","androidHasBackgroundPermissions","checkHealthConnect","Promise","all","healthConnectHasPermissions","healthConnectHasPartialPermissions","checkHealthConnectBackgroundReadStatus","checkSamsungHealth","samsungHealthHasPermissions","samsungHealthHasPartialPermissions","checkAndroidPermissions","samsungStatus","checkSamsungAvailability","isSamsungAvailable","then","catch","log"],"sourceRoot":"../../../../src","sources":["modules/hook/useRookEmitter.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Represents the unit of measurement for nutrition.
5
+ * Map these integers to your SDK's unit requirements (e.g., Grams, Calories).
6
+ */
7
+
8
+ /**
9
+ * Main Interface for Apple Health Nutrition Insertion
10
+ */
11
+
12
+ export const parseWriteNutritionToAH = data => {
13
+ return {
14
+ name: data.name,
15
+ date: data.date,
16
+ quantity: {
17
+ unit: data.unit ?? 1,
18
+ amount: data.amount ?? 0
19
+ },
20
+ energyWaterData: {
21
+ dietaryKiloCaloriesEnergyConsumed: data.calories,
22
+ dietaryMilliLiterWater: data.water
23
+ },
24
+ carbohydratesData: {
25
+ dietaryGramCarbohydrates: data.totalCarbohydrates,
26
+ dietaryGramFiber: data.dietaryFiber,
27
+ dietaryGramSugar: data.sugar
28
+ },
29
+ fatsData: {
30
+ dietaryGramFatTotal: data.totalFat,
31
+ dietaryGramFatSaturated: data.saturatedFat,
32
+ dietaryGramFatMonounsaturated: data.monounsaturatedFat,
33
+ dietaryGramFatPolyunsaturated: data.polyunsaturatedFat
34
+ },
35
+ proteinData: {
36
+ dietaryGramProtein: data.protein,
37
+ dietaryMilliGramCholesterol: data.cholesterol
38
+ },
39
+ vitaminsData: {
40
+ dietaryMicroGramVitaminA: data.vitaminA,
41
+ dietaryMilliGramVitaminB6: data.vitaminB6,
42
+ dietaryMicroGramVitaminB12: data.vitaminB12,
43
+ dietaryMilliGramVitaminC: data.vitaminC,
44
+ dietaryMicroGramVitaminD: data.vitaminD,
45
+ dietaryMilliGramVitaminE: data.vitaminE,
46
+ dietaryMicroGramVitaminK: data.vitaminK,
47
+ dietaryMilliGramThiamin: data.thiamin,
48
+ dietaryMilliGramRiboflavin: data.riboflavin,
49
+ dietaryMilliGramNiacin: data.niacin,
50
+ dietaryMilliGramPantothenicAcid: data.pantothenicAcid,
51
+ dietaryMicroGramFolate: data.folate,
52
+ dietaryMicroGramBiotin: data.biotin
53
+ },
54
+ mineralData: {
55
+ dietaryMilliGramsCalcium: data.calcium,
56
+ dietaryMilliGramsChloride: data.chloride,
57
+ dietaryMilliGramsChromium: data.chromium,
58
+ dietaryMilliGramsCopper: data.copper,
59
+ dietaryMilliGramsIodine: data.iodine,
60
+ dietaryMilliGramsIron: data.iron,
61
+ dietaryMilliGramsMagnesium: data.magnesium,
62
+ dietaryMilliGramsManganese: data.manganese,
63
+ dietaryMilliGramsMolybdenum: data.molybdenum,
64
+ dietaryMilliGramsPhosphorus: data.phosphorus,
65
+ dietaryMilliGramsPotassium: data.potassium,
66
+ dietaryMilliGramsSelenium: data.selenium,
67
+ dietaryMilliGramsSodium: data.sodium,
68
+ dietaryMilliGramsZinc: data.zinc
69
+ }
70
+ };
71
+ };
72
+ //# sourceMappingURL=AppleHealthNutritionEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseWriteNutritionToAH","data","name","date","quantity","unit","amount","energyWaterData","dietaryKiloCaloriesEnergyConsumed","calories","dietaryMilliLiterWater","water","carbohydratesData","dietaryGramCarbohydrates","totalCarbohydrates","dietaryGramFiber","dietaryFiber","dietaryGramSugar","sugar","fatsData","dietaryGramFatTotal","totalFat","dietaryGramFatSaturated","saturatedFat","dietaryGramFatMonounsaturated","monounsaturatedFat","dietaryGramFatPolyunsaturated","polyunsaturatedFat","proteinData","dietaryGramProtein","protein","dietaryMilliGramCholesterol","cholesterol","vitaminsData","dietaryMicroGramVitaminA","vitaminA","dietaryMilliGramVitaminB6","vitaminB6","dietaryMicroGramVitaminB12","vitaminB12","dietaryMilliGramVitaminC","vitaminC","dietaryMicroGramVitaminD","vitaminD","dietaryMilliGramVitaminE","vitaminE","dietaryMicroGramVitaminK","vitaminK","dietaryMilliGramThiamin","thiamin","dietaryMilliGramRiboflavin","riboflavin","dietaryMilliGramNiacin","niacin","dietaryMilliGramPantothenicAcid","pantothenicAcid","dietaryMicroGramFolate","folate","dietaryMicroGramBiotin","biotin","mineralData","dietaryMilliGramsCalcium","calcium","dietaryMilliGramsChloride","chloride","dietaryMilliGramsChromium","chromium","dietaryMilliGramsCopper","copper","dietaryMilliGramsIodine","iodine","dietaryMilliGramsIron","iron","dietaryMilliGramsMagnesium","magnesium","dietaryMilliGramsManganese","manganese","dietaryMilliGramsMolybdenum","molybdenum","dietaryMilliGramsPhosphorus","phosphorus","dietaryMilliGramsPotassium","potassium","dietaryMilliGramsSelenium","selenium","dietaryMilliGramsSodium","sodium","dietaryMilliGramsZinc","zinc"],"sourceRoot":"../../../src","sources":["types/AppleHealthNutritionEvent.ts"],"mappings":";;AAEA;AACA;AACA;AACA;;AA8DA;AACA;AACA;;AAcA,OAAO,MAAMA,uBAAuB,GAClCC,IAAoB,IACU;EAC9B,OAAO;IACLC,IAAI,EAAED,IAAI,CAACC,IAAI;IACfC,IAAI,EAAEF,IAAI,CAACE,IAAI;IACfC,QAAQ,EAAE;MAAEC,IAAI,EAAEJ,IAAI,CAACI,IAAI,IAAI,CAAC;MAAEC,MAAM,EAAEL,IAAI,CAACK,MAAM,IAAI;IAAE,CAAC;IAC5DC,eAAe,EAAE;MACfC,iCAAiC,EAAEP,IAAI,CAACQ,QAAQ;MAChDC,sBAAsB,EAAET,IAAI,CAACU;IAC/B,CAAC;IACDC,iBAAiB,EAAE;MACjBC,wBAAwB,EAAEZ,IAAI,CAACa,kBAAkB;MACjDC,gBAAgB,EAAEd,IAAI,CAACe,YAAY;MACnCC,gBAAgB,EAAEhB,IAAI,CAACiB;IACzB,CAAC;IACDC,QAAQ,EAAE;MACRC,mBAAmB,EAAEnB,IAAI,CAACoB,QAAQ;MAClCC,uBAAuB,EAAErB,IAAI,CAACsB,YAAY;MAC1CC,6BAA6B,EAAEvB,IAAI,CAACwB,kBAAkB;MACtDC,6BAA6B,EAAEzB,IAAI,CAAC0B;IACtC,CAAC;IACDC,WAAW,EAAE;MACXC,kBAAkB,EAAE5B,IAAI,CAAC6B,OAAO;MAChCC,2BAA2B,EAAE9B,IAAI,CAAC+B;IACpC,CAAC;IACDC,YAAY,EAAE;MACZC,wBAAwB,EAAEjC,IAAI,CAACkC,QAAQ;MACvCC,yBAAyB,EAAEnC,IAAI,CAACoC,SAAS;MACzCC,0BAA0B,EAAErC,IAAI,CAACsC,UAAU;MAC3CC,wBAAwB,EAAEvC,IAAI,CAACwC,QAAQ;MACvCC,wBAAwB,EAAEzC,IAAI,CAAC0C,QAAQ;MACvCC,wBAAwB,EAAE3C,IAAI,CAAC4C,QAAQ;MACvCC,wBAAwB,EAAE7C,IAAI,CAAC8C,QAAQ;MACvCC,uBAAuB,EAAE/C,IAAI,CAACgD,OAAO;MACrCC,0BAA0B,EAAEjD,IAAI,CAACkD,UAAU;MAC3CC,sBAAsB,EAAEnD,IAAI,CAACoD,MAAM;MACnCC,+BAA+B,EAAErD,IAAI,CAACsD,eAAe;MACrDC,sBAAsB,EAAEvD,IAAI,CAACwD,MAAM;MACnCC,sBAAsB,EAAEzD,IAAI,CAAC0D;IAC/B,CAAC;IACDC,WAAW,EAAE;MACXC,wBAAwB,EAAE5D,IAAI,CAAC6D,OAAO;MACtCC,yBAAyB,EAAE9D,IAAI,CAAC+D,QAAQ;MACxCC,yBAAyB,EAAEhE,IAAI,CAACiE,QAAQ;MACxCC,uBAAuB,EAAElE,IAAI,CAACmE,MAAM;MACpCC,uBAAuB,EAAEpE,IAAI,CAACqE,MAAM;MACpCC,qBAAqB,EAAEtE,IAAI,CAACuE,IAAI;MAChCC,0BAA0B,EAAExE,IAAI,CAACyE,SAAS;MAC1CC,0BAA0B,EAAE1E,IAAI,CAAC2E,SAAS;MAC1CC,2BAA2B,EAAE5E,IAAI,CAAC6E,UAAU;MAC5CC,2BAA2B,EAAE9E,IAAI,CAAC+E,UAAU;MAC5CC,0BAA0B,EAAEhF,IAAI,CAACiF,SAAS;MAC1CC,yBAAyB,EAAElF,IAAI,CAACmF,QAAQ;MACxCC,uBAAuB,EAAEpF,IAAI,CAACqF,MAAM;MACpCC,qBAAqB,EAAEtF,IAAI,CAACuF;IAC9B;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ import { MealDataType } from "./WriteNutrition.js";
4
+
5
+ /**
6
+ * Interface representing nutrition and meal data for Health Connect.
7
+ * * Note: All gram values have a range of [0.0 - 100.0] unless specified otherwise.
8
+ * Energy and macro values have a range of [0.0 - 100,000.0].
9
+ */
10
+
11
+ export const parseWriteNutritionToHC = data => {
12
+ return {
13
+ name: data.name,
14
+ startDateTime: data.date,
15
+ endDateTime: data.date,
16
+ type: data.mealType ?? MealDataType.SNACK,
17
+ biotinGrams: data.biotin,
18
+ caffeineGrams: data.caffeine,
19
+ calciumGrams: data.calcium,
20
+ energyKcal: data.calories,
21
+ energyFromFatKcal: data.caloriesFromFat,
22
+ chlorideGrams: data.chloride,
23
+ cholesterolGrams: data.cholesterol,
24
+ chromiumGrams: data.chromium,
25
+ copperGrams: data.copper,
26
+ dietaryFiberGrams: data.dietaryFiber,
27
+ folateGrams: data.folate,
28
+ folicAcidGrams: data.folicAcid,
29
+ iodineGrams: data.iodine,
30
+ ironGrams: data.iron,
31
+ magnesiumGrams: data.magnesium,
32
+ manganeseGrams: data.manganese,
33
+ molybdenumGrams: data.molybdenum,
34
+ monounsaturatedFatGrams: data.monounsaturatedFat,
35
+ niacinGrams: data.niacin,
36
+ pantothenicAcidGrams: data.pantothenicAcid,
37
+ phosphorusGrams: data.phosphorus,
38
+ polyunsaturatedFatGrams: data.polyunsaturatedFat,
39
+ potassiumGrams: data.potassium,
40
+ proteinGrams: data.protein,
41
+ riboflavinGrams: data.riboflavin,
42
+ saturatedFatGrams: data.saturatedFat,
43
+ seleniumGrams: data.selenium,
44
+ sodiumGrams: data.sodium,
45
+ sugarGrams: data.sugar,
46
+ thiaminGrams: data.thiamin,
47
+ totalCarbohydrateGrams: data.totalCarbohydrates,
48
+ totalFatGrams: data.totalFat,
49
+ transFatGrams: data.transFat,
50
+ unsaturatedFatGrams: data.unsaturatedFat,
51
+ vitaminAGrams: data.vitaminA,
52
+ vitaminB12Grams: data.vitaminB12,
53
+ vitaminB6Grams: data.vitaminB6,
54
+ vitaminCGrams: data.vitaminC,
55
+ vitaminDGrams: data.vitaminD,
56
+ vitaminEGrams: data.vitaminE,
57
+ vitaminKGrams: data.vitaminK,
58
+ zincGrams: data.zinc
59
+ };
60
+ };
61
+ //# sourceMappingURL=HCMealData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MealDataType","parseWriteNutritionToHC","data","name","startDateTime","date","endDateTime","type","mealType","SNACK","biotinGrams","biotin","caffeineGrams","caffeine","calciumGrams","calcium","energyKcal","calories","energyFromFatKcal","caloriesFromFat","chlorideGrams","chloride","cholesterolGrams","cholesterol","chromiumGrams","chromium","copperGrams","copper","dietaryFiberGrams","dietaryFiber","folateGrams","folate","folicAcidGrams","folicAcid","iodineGrams","iodine","ironGrams","iron","magnesiumGrams","magnesium","manganeseGrams","manganese","molybdenumGrams","molybdenum","monounsaturatedFatGrams","monounsaturatedFat","niacinGrams","niacin","pantothenicAcidGrams","pantothenicAcid","phosphorusGrams","phosphorus","polyunsaturatedFatGrams","polyunsaturatedFat","potassiumGrams","potassium","proteinGrams","protein","riboflavinGrams","riboflavin","saturatedFatGrams","saturatedFat","seleniumGrams","selenium","sodiumGrams","sodium","sugarGrams","sugar","thiaminGrams","thiamin","totalCarbohydrateGrams","totalCarbohydrates","totalFatGrams","totalFat","transFatGrams","transFat","unsaturatedFatGrams","unsaturatedFat","vitaminAGrams","vitaminA","vitaminB12Grams","vitaminB12","vitaminB6Grams","vitaminB6","vitaminCGrams","vitaminC","vitaminDGrams","vitaminD","vitaminEGrams","vitaminE","vitaminKGrams","vitaminK","zincGrams","zinc"],"sourceRoot":"../../../src","sources":["types/HCMealData.ts"],"mappings":";;AAAA,SAA8BA,YAAY,QAAQ,qBAAkB;;AAEpE;AACA;AACA;AACA;AACA;;AA0DA,OAAO,MAAMC,uBAAuB,GAAIC,IAAoB,IAAiB;EAC3E,OAAO;IACLC,IAAI,EAAED,IAAI,CAACC,IAAI;IACfC,aAAa,EAAEF,IAAI,CAACG,IAAI;IACxBC,WAAW,EAAEJ,IAAI,CAACG,IAAI;IACtBE,IAAI,EAAEL,IAAI,CAACM,QAAQ,IAAIR,YAAY,CAACS,KAAK;IACzCC,WAAW,EAAER,IAAI,CAACS,MAAM;IACxBC,aAAa,EAAEV,IAAI,CAACW,QAAQ;IAC5BC,YAAY,EAAEZ,IAAI,CAACa,OAAO;IAC1BC,UAAU,EAAEd,IAAI,CAACe,QAAQ;IACzBC,iBAAiB,EAAEhB,IAAI,CAACiB,eAAe;IACvCC,aAAa,EAAElB,IAAI,CAACmB,QAAQ;IAC5BC,gBAAgB,EAAEpB,IAAI,CAACqB,WAAW;IAClCC,aAAa,EAAEtB,IAAI,CAACuB,QAAQ;IAC5BC,WAAW,EAAExB,IAAI,CAACyB,MAAM;IACxBC,iBAAiB,EAAE1B,IAAI,CAAC2B,YAAY;IACpCC,WAAW,EAAE5B,IAAI,CAAC6B,MAAM;IACxBC,cAAc,EAAE9B,IAAI,CAAC+B,SAAS;IAC9BC,WAAW,EAAEhC,IAAI,CAACiC,MAAM;IACxBC,SAAS,EAAElC,IAAI,CAACmC,IAAI;IACpBC,cAAc,EAAEpC,IAAI,CAACqC,SAAS;IAC9BC,cAAc,EAAEtC,IAAI,CAACuC,SAAS;IAC9BC,eAAe,EAAExC,IAAI,CAACyC,UAAU;IAChCC,uBAAuB,EAAE1C,IAAI,CAAC2C,kBAAkB;IAChDC,WAAW,EAAE5C,IAAI,CAAC6C,MAAM;IACxBC,oBAAoB,EAAE9C,IAAI,CAAC+C,eAAe;IAC1CC,eAAe,EAAEhD,IAAI,CAACiD,UAAU;IAChCC,uBAAuB,EAAElD,IAAI,CAACmD,kBAAkB;IAChDC,cAAc,EAAEpD,IAAI,CAACqD,SAAS;IAC9BC,YAAY,EAAEtD,IAAI,CAACuD,OAAO;IAC1BC,eAAe,EAAExD,IAAI,CAACyD,UAAU;IAChCC,iBAAiB,EAAE1D,IAAI,CAAC2D,YAAY;IACpCC,aAAa,EAAE5D,IAAI,CAAC6D,QAAQ;IAC5BC,WAAW,EAAE9D,IAAI,CAAC+D,MAAM;IACxBC,UAAU,EAAEhE,IAAI,CAACiE,KAAK;IACtBC,YAAY,EAAElE,IAAI,CAACmE,OAAO;IAC1BC,sBAAsB,EAAEpE,IAAI,CAACqE,kBAAkB;IAC/CC,aAAa,EAAEtE,IAAI,CAACuE,QAAQ;IAC5BC,aAAa,EAAExE,IAAI,CAACyE,QAAQ;IAC5BC,mBAAmB,EAAE1E,IAAI,CAAC2E,cAAc;IACxCC,aAAa,EAAE5E,IAAI,CAAC6E,QAAQ;IAC5BC,eAAe,EAAE9E,IAAI,CAAC+E,UAAU;IAChCC,cAAc,EAAEhF,IAAI,CAACiF,SAAS;IAC9BC,aAAa,EAAElF,IAAI,CAACmF,QAAQ;IAC5BC,aAAa,EAAEpF,IAAI,CAACqF,QAAQ;IAC5BC,aAAa,EAAEtF,IAAI,CAACuF,QAAQ;IAC5BC,aAAa,EAAExF,IAAI,CAACyF,QAAQ;IAC5BC,SAAS,EAAE1F,IAAI,CAAC2F;EAClB,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Represents the type of meal consumed.
5
+ * These strings must match the Kotlin HCMealDataType enum.
6
+ */
7
+ export let MealDataType = /*#__PURE__*/function (MealDataType) {
8
+ MealDataType["BREAKFAST"] = "BREAKFAST";
9
+ MealDataType["LUNCH"] = "LUNCH";
10
+ MealDataType["DINNER"] = "DINNER";
11
+ MealDataType["SNACK"] = "SNACK";
12
+ return MealDataType;
13
+ }({});
14
+ //# sourceMappingURL=WriteNutrition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MealDataType"],"sourceRoot":"../../../src","sources":["types/WriteNutrition.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
@@ -12,4 +12,24 @@ export const isValidDate = date => {
12
12
  throw new Error(`Invalid format: ${date}, the correct format is YYYY-MM-DD`);
13
13
  }
14
14
  };
15
+
16
+ /**
17
+ * Validates that a string is a full ISO-8601 date-time with a timezone.
18
+ * Examples of valid formats:
19
+ * - 2026-02-23T12:00:00Z
20
+ * - 2026-02-23T12:00:00+01:00
21
+ * - 2026-02-23T12:00:00.000-06:00
22
+ */
23
+ export const isValidZonedDateTime = date => {
24
+ // Regex for ISO 8601 with Timezone
25
+ const isoRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/;
26
+ if (!isoRegex.test(date)) {
27
+ throw new Error(`Invalid format: ${date}. Expected ISO-8601 with Timezone (e.g., YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss+HH:mm)`);
28
+ }
29
+
30
+ // Also verify it's a valid calendar date
31
+ if (isNaN(Date.parse(date))) {
32
+ throw new Error(`Invalid date value: ${date}`);
33
+ }
34
+ };
15
35
  //# sourceMappingURL=isValidDate.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isValidDate","date","regex","test","Error"],"sourceRoot":"../../../src","sources":["utils/isValidDate.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,GAAIC,IAAY,IAAK;EAC3C,MAAMC,KAAK,GAAG,qBAAqB;EAEnC,IAAI,CAACA,KAAK,CAACC,IAAI,CAACF,IAAI,CAAC,EAAE;IACrB,MAAM,IAAIG,KAAK,CACb,mBAAmBH,IAAI,oCACzB,CAAC;EACH;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["isValidDate","date","regex","test","Error","isValidZonedDateTime","isoRegex","isNaN","Date","parse"],"sourceRoot":"../../../src","sources":["utils/isValidDate.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,GAAIC,IAAY,IAAK;EAC3C,MAAMC,KAAK,GAAG,qBAAqB;EAEnC,IAAI,CAACA,KAAK,CAACC,IAAI,CAACF,IAAI,CAAC,EAAE;IACrB,MAAM,IAAIG,KAAK,CACb,mBAAmBH,IAAI,oCACzB,CAAC;EACH;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,oBAAoB,GAAIJ,IAAY,IAAK;EACpD;EACA,MAAMK,QAAQ,GACZ,kEAAkE;EAEpE,IAAI,CAACA,QAAQ,CAACH,IAAI,CAACF,IAAI,CAAC,EAAE;IACxB,MAAM,IAAIG,KAAK,CACb,mBAAmBH,IAAI,6FACzB,CAAC;EACH;;EAEA;EACA,IAAIM,KAAK,CAACC,IAAI,CAACC,KAAK,CAACR,IAAI,CAAC,CAAC,EAAE;IAC3B,MAAM,IAAIG,KAAK,CAAC,uBAAuBH,IAAI,EAAE,CAAC;EAChD;AACF,CAAC","ignoreList":[]}