@nathanclaire/edge-telemetry-sdk 3.0.0 → 4.0.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 (298) hide show
  1. package/README.md +831 -186
  2. package/dist/appLifecycle-CECgRVu_.cjs +2 -0
  3. package/dist/appLifecycle-CECgRVu_.cjs.map +1 -0
  4. package/dist/appLifecycle-DQErzJIR.js +22 -0
  5. package/dist/appLifecycle-DQErzJIR.js.map +1 -0
  6. package/dist/batch-CwoO7noL.js +56 -0
  7. package/dist/batch-CwoO7noL.js.map +1 -0
  8. package/dist/batch-DNu8Xr9T.cjs +2 -0
  9. package/dist/batch-DNu8Xr9T.cjs.map +1 -0
  10. package/dist/crashCapture-BOJ8nSAZ.cjs +4 -0
  11. package/dist/crashCapture-BOJ8nSAZ.cjs.map +1 -0
  12. package/dist/crashCapture-BW8WuyaU.js +70 -0
  13. package/dist/crashCapture-BW8WuyaU.js.map +1 -0
  14. package/dist/crashHandler.web-8F_k2veo.js +29 -0
  15. package/dist/crashHandler.web-8F_k2veo.js.map +1 -0
  16. package/dist/crashHandler.web-CWmF56mJ.cjs +2 -0
  17. package/dist/crashHandler.web-CWmF56mJ.cjs.map +1 -0
  18. package/dist/crashHandlerNative.native-C2kSikDt.cjs +2 -0
  19. package/dist/crashHandlerNative.native-C2kSikDt.cjs.map +1 -0
  20. package/dist/crashHandlerNative.native-FupMnr1U.js +39 -0
  21. package/dist/crashHandlerNative.native-FupMnr1U.js.map +1 -0
  22. package/dist/deviceInfo.native-BJ-3Jj1T.js +53 -0
  23. package/dist/deviceInfo.native-BJ-3Jj1T.js.map +1 -0
  24. package/dist/deviceInfo.native-BoeTZcD6.cjs +2 -0
  25. package/dist/deviceInfo.native-BoeTZcD6.cjs.map +1 -0
  26. package/dist/deviceInfo.web-3L3IDQQA.cjs +2 -0
  27. package/dist/deviceInfo.web-3L3IDQQA.cjs.map +1 -0
  28. package/dist/deviceInfo.web-BFB1-pcA.js +41 -0
  29. package/dist/deviceInfo.web-BFB1-pcA.js.map +1 -0
  30. package/dist/frameTracker-CHG6sIx9.cjs +2 -0
  31. package/dist/frameTracker-CHG6sIx9.cjs.map +1 -0
  32. package/dist/frameTracker-DdB8W_kC.js +54 -0
  33. package/dist/frameTracker-DdB8W_kC.js.map +1 -0
  34. package/dist/httpAttributes-BrrtM8zh.js +70 -0
  35. package/dist/httpAttributes-BrrtM8zh.js.map +1 -0
  36. package/dist/httpAttributes-D0m6UID7.cjs +2 -0
  37. package/dist/httpAttributes-D0m6UID7.cjs.map +1 -0
  38. package/dist/index-BtLlV1HA.js +57 -0
  39. package/dist/index-BtLlV1HA.js.map +1 -0
  40. package/dist/{deviceInfo.native-D2k0LDhI.js → index-C2XQ-EYw.js} +362 -411
  41. package/dist/index-C2XQ-EYw.js.map +1 -0
  42. package/dist/index-CXsVZY35.cjs +2 -0
  43. package/dist/index-CXsVZY35.cjs.map +1 -0
  44. package/dist/index-DLquF88M.cjs +2 -0
  45. package/dist/index-DLquF88M.cjs.map +1 -0
  46. package/dist/index.native.cjs +1 -1
  47. package/dist/index.native.cjs.map +1 -1
  48. package/dist/index.native.js +94 -59
  49. package/dist/index.native.js.map +1 -1
  50. package/dist/index.web.cjs +1 -1
  51. package/dist/index.web.cjs.map +1 -1
  52. package/dist/index.web.js +88 -33
  53. package/dist/index.web.js.map +1 -1
  54. package/dist/interactionWeb.web-Bl_cZlgh.cjs +2 -0
  55. package/dist/interactionWeb.web-Bl_cZlgh.cjs.map +1 -0
  56. package/dist/interactionWeb.web-CJAviVQ7.js +109 -0
  57. package/dist/interactionWeb.web-CJAviVQ7.js.map +1 -0
  58. package/dist/interceptFetchWeb.web-T88kO-bE.cjs +2 -0
  59. package/dist/interceptFetchWeb.web-T88kO-bE.cjs.map +1 -0
  60. package/dist/interceptFetchWeb.web-UXC2Lb6X.js +61 -0
  61. package/dist/interceptFetchWeb.web-UXC2Lb6X.js.map +1 -0
  62. package/dist/interceptHttpNative.native-BVpFuoNB.cjs +2 -0
  63. package/dist/interceptHttpNative.native-BVpFuoNB.cjs.map +1 -0
  64. package/dist/interceptHttpNative.native-rX-lPNST.js +18 -0
  65. package/dist/interceptHttpNative.native-rX-lPNST.js.map +1 -0
  66. package/dist/loadingTime-Bhomd9qq.cjs +2 -0
  67. package/dist/loadingTime-Bhomd9qq.cjs.map +1 -0
  68. package/dist/loadingTime-ZkYvFijA.js +70 -0
  69. package/dist/loadingTime-ZkYvFijA.js.map +1 -0
  70. package/dist/memoryNative.native-C42h9SjK.js +54 -0
  71. package/dist/memoryNative.native-C42h9SjK.js.map +1 -0
  72. package/dist/memoryNative.native-CA-7w9w1.cjs +2 -0
  73. package/dist/memoryNative.native-CA-7w9w1.cjs.map +1 -0
  74. package/dist/memoryStore-BIGZmmfD.cjs +2 -0
  75. package/dist/memoryStore-BIGZmmfD.cjs.map +1 -0
  76. package/dist/memoryStore-F5I-GQKM.js +193 -0
  77. package/dist/memoryStore-F5I-GQKM.js.map +1 -0
  78. package/dist/nativeSender-CfQaRuDK.cjs +2 -0
  79. package/dist/nativeSender-CfQaRuDK.cjs.map +1 -0
  80. package/dist/nativeSender-pgVSIv-X.js +59 -0
  81. package/dist/nativeSender-pgVSIv-X.js.map +1 -0
  82. package/dist/navigationRef-BzYbs8cm.js +28 -0
  83. package/dist/navigationRef-BzYbs8cm.js.map +1 -0
  84. package/dist/navigationRef-C-_qhb43.cjs +2 -0
  85. package/dist/navigationRef-C-_qhb43.cjs.map +1 -0
  86. package/dist/{navigationTracker-Cts68dgG.js → navigationTracker-BmywA_Bg.js} +4 -4
  87. package/dist/navigationTracker-BmywA_Bg.js.map +1 -0
  88. package/dist/navigationTracker-HkwVyywz.cjs +2 -0
  89. package/dist/navigationTracker-HkwVyywz.cjs.map +1 -0
  90. package/dist/navigationWeb.web-CW_z7Ca4.cjs +2 -0
  91. package/dist/navigationWeb.web-CW_z7Ca4.cjs.map +1 -0
  92. package/dist/navigationWeb.web-CcwgKuIZ.js +55 -0
  93. package/dist/navigationWeb.web-CcwgKuIZ.js.map +1 -0
  94. package/dist/{networkInfo.native-BK5fpAOL.js → networkInfo.native-CGrx9cnH.js} +15 -15
  95. package/dist/{networkInfo.native-BK5fpAOL.js.map → networkInfo.native-CGrx9cnH.js.map} +1 -1
  96. package/dist/{networkInfo.native-cxuw93Uy.cjs → networkInfo.native-YVySdv3S.cjs} +2 -2
  97. package/dist/{networkInfo.native-cxuw93Uy.cjs.map → networkInfo.native-YVySdv3S.cjs.map} +1 -1
  98. package/dist/{networkInfo.web-twcNn_hc.js → networkInfo.web-B2YlLNsI.js} +3 -3
  99. package/dist/networkInfo.web-B2YlLNsI.js.map +1 -0
  100. package/dist/networkInfo.web-PltJTHsy.cjs +2 -0
  101. package/dist/networkInfo.web-PltJTHsy.cjs.map +1 -0
  102. package/dist/runtimeReady.native-Bh7EcYmK.js +14 -0
  103. package/dist/runtimeReady.native-Bh7EcYmK.js.map +1 -0
  104. package/dist/runtimeReady.native-jUmuE1lV.cjs +2 -0
  105. package/dist/runtimeReady.native-jUmuE1lV.cjs.map +1 -0
  106. package/dist/runtimeReady.web-C8fdIbVR.js +25 -0
  107. package/dist/runtimeReady.web-C8fdIbVR.js.map +1 -0
  108. package/dist/runtimeReady.web-DHW682RN.cjs +2 -0
  109. package/dist/runtimeReady.web-DHW682RN.cjs.map +1 -0
  110. package/dist/seedRuntimeReady-BKwkBEAF.cjs +2 -0
  111. package/dist/seedRuntimeReady-BKwkBEAF.cjs.map +1 -0
  112. package/dist/seedRuntimeReady-Cz8nOKoo.js +10 -0
  113. package/dist/seedRuntimeReady-Cz8nOKoo.js.map +1 -0
  114. package/dist/src/adapters/appLifecycle.d.ts +8 -1
  115. package/dist/src/adapters/batch.d.ts +2 -0
  116. package/dist/src/adapters/crashCapture.d.ts +38 -9
  117. package/dist/src/adapters/failedEvents.d.ts +43 -0
  118. package/dist/src/adapters/frameAggregate.d.ts +8 -3
  119. package/dist/src/adapters/frameTracker.d.ts +30 -0
  120. package/dist/src/adapters/httpAttributes.d.ts +18 -0
  121. package/dist/src/adapters/loadingTime.d.ts +67 -0
  122. package/dist/src/adapters/native/interceptHttpNative.native.d.ts +18 -0
  123. package/dist/src/adapters/native/memoryNative.native.d.ts +15 -11
  124. package/dist/src/adapters/native/runtimeReady.native.d.ts +1 -0
  125. package/dist/src/adapters/native/store.native.d.ts +10 -0
  126. package/dist/src/adapters/nativeSender.d.ts +2 -2
  127. package/dist/src/adapters/navigationRef.d.ts +21 -0
  128. package/dist/src/adapters/navigationTracker.d.ts +1 -1
  129. package/dist/src/adapters/screenTiming.d.ts +8 -2
  130. package/dist/src/adapters/seedRuntimeReady.d.ts +8 -0
  131. package/dist/src/adapters/traceHeader.d.ts +33 -0
  132. package/dist/src/adapters/traceManager.d.ts +131 -0
  133. package/dist/src/adapters/uiInteraction.d.ts +111 -0
  134. package/dist/src/adapters/viewManager.d.ts +161 -0
  135. package/dist/src/adapters/viewport.d.ts +15 -0
  136. package/dist/src/adapters/web/interactionWeb.web.d.ts +36 -0
  137. package/dist/src/adapters/web/interceptFetchWeb.web.d.ts +3 -11
  138. package/dist/src/adapters/web/navigationWeb.web.d.ts +10 -0
  139. package/dist/src/adapters/web/runtimeReady.web.d.ts +5 -0
  140. package/dist/src/adapters/web/store.web.d.ts +12 -0
  141. package/dist/src/adapters/web/webVitals.web.d.ts +49 -0
  142. package/dist/src/adapters/webSender.d.ts +2 -2
  143. package/dist/src/adapters/webVitals.d.ts +25 -0
  144. package/dist/src/adapters/xhrIntercept.d.ts +53 -0
  145. package/dist/src/core/beforeSend.d.ts +20 -0
  146. package/dist/src/core/debug.d.ts +7 -0
  147. package/dist/src/core/memoryStore.d.ts +23 -0
  148. package/dist/src/core/store.d.ts +41 -0
  149. package/dist/src/core/telemetry.d.ts +305 -35
  150. package/dist/src/core/userProfile.d.ts +12 -0
  151. package/dist/src/core/utils/json.d.ts +7 -0
  152. package/dist/src/core/utils/uuid.d.ts +10 -1
  153. package/dist/src/createTelemetry.native.d.ts +7 -0
  154. package/dist/src/createTelemetry.web.d.ts +7 -0
  155. package/dist/src/index.base.d.ts +17 -1
  156. package/dist/src/index.native.d.ts +46 -9
  157. package/dist/src/index.web.d.ts +33 -2
  158. package/dist/store.native-BYBJcy6o.js +32 -0
  159. package/dist/store.native-BYBJcy6o.js.map +1 -0
  160. package/dist/store.native-TPqXngmF.cjs +2 -0
  161. package/dist/store.native-TPqXngmF.cjs.map +1 -0
  162. package/dist/store.web-CvqqN-_Z.cjs +2 -0
  163. package/dist/store.web-CvqqN-_Z.cjs.map +1 -0
  164. package/dist/store.web-DJAlN0nc.js +31 -0
  165. package/dist/store.web-DJAlN0nc.js.map +1 -0
  166. package/dist/telemetry-ByDJIz_9.js +1280 -0
  167. package/dist/telemetry-ByDJIz_9.js.map +1 -0
  168. package/dist/telemetry-CrU7i1Jc.cjs +2 -0
  169. package/dist/telemetry-CrU7i1Jc.cjs.map +1 -0
  170. package/dist/uiInteraction-CdzvEI1p.cjs +2 -0
  171. package/dist/uiInteraction-CdzvEI1p.cjs.map +1 -0
  172. package/dist/uiInteraction-DAqxxz0q.js +104 -0
  173. package/dist/uiInteraction-DAqxxz0q.js.map +1 -0
  174. package/dist/viewport-Dd85GUNO.cjs +2 -0
  175. package/dist/viewport-Dd85GUNO.cjs.map +1 -0
  176. package/dist/viewport-Dzmt5QwK.js +15 -0
  177. package/dist/viewport-Dzmt5QwK.js.map +1 -0
  178. package/dist/web-vitals.attribution-CVCPiX-h.cjs +2 -0
  179. package/dist/web-vitals.attribution-CVCPiX-h.cjs.map +1 -0
  180. package/dist/web-vitals.attribution-xw9N5MKQ.js +488 -0
  181. package/dist/web-vitals.attribution-xw9N5MKQ.js.map +1 -0
  182. package/dist/webSender-BIwslfpT.js +63 -0
  183. package/dist/webSender-BIwslfpT.js.map +1 -0
  184. package/dist/webSender-CVtE4sOF.cjs +2 -0
  185. package/dist/webSender-CVtE4sOF.cjs.map +1 -0
  186. package/dist/webVitals.web-CNIpsKlA.js +85 -0
  187. package/dist/webVitals.web-CNIpsKlA.js.map +1 -0
  188. package/dist/webVitals.web-DpWJ-iYp.cjs +2 -0
  189. package/dist/webVitals.web-DpWJ-iYp.cjs.map +1 -0
  190. package/dist/xhrIntercept-BADex6Cq.cjs +2 -0
  191. package/dist/xhrIntercept-BADex6Cq.cjs.map +1 -0
  192. package/dist/xhrIntercept-BNiA41Mj.js +53 -0
  193. package/dist/xhrIntercept-BNiA41Mj.js.map +1 -0
  194. package/docs/migration-v4.md +190 -0
  195. package/package.json +12 -4
  196. package/dist/appLifecycle-Cynw0kAv.js +0 -14
  197. package/dist/appLifecycle-Cynw0kAv.js.map +0 -1
  198. package/dist/appLifecycle-DvJIt7ym.cjs +0 -2
  199. package/dist/appLifecycle-DvJIt7ym.cjs.map +0 -1
  200. package/dist/batch-CLBFgYPC.cjs +0 -2
  201. package/dist/batch-CLBFgYPC.cjs.map +0 -1
  202. package/dist/batch-DLG_gtOm.js +0 -12
  203. package/dist/batch-DLG_gtOm.js.map +0 -1
  204. package/dist/crashCapture-BYTM4FLC.cjs +0 -2
  205. package/dist/crashCapture-BYTM4FLC.cjs.map +0 -1
  206. package/dist/crashCapture-D_rkkBVa.js +0 -31
  207. package/dist/crashCapture-D_rkkBVa.js.map +0 -1
  208. package/dist/crashHandler.web-BSxDpFTo.cjs +0 -2
  209. package/dist/crashHandler.web-BSxDpFTo.cjs.map +0 -1
  210. package/dist/crashHandler.web-D59bmhg9.js +0 -32
  211. package/dist/crashHandler.web-D59bmhg9.js.map +0 -1
  212. package/dist/crashHandlerNative.native-DeAFze4E.cjs +0 -2
  213. package/dist/crashHandlerNative.native-DeAFze4E.cjs.map +0 -1
  214. package/dist/crashHandlerNative.native-d7qJkzA6.js +0 -41
  215. package/dist/crashHandlerNative.native-d7qJkzA6.js.map +0 -1
  216. package/dist/debug-DsvQ9y3W.js +0 -68
  217. package/dist/debug-DsvQ9y3W.js.map +0 -1
  218. package/dist/debug-rnOOxFpN.cjs +0 -2
  219. package/dist/debug-rnOOxFpN.cjs.map +0 -1
  220. package/dist/deviceInfo.native-7hbRYixR.cjs +0 -2
  221. package/dist/deviceInfo.native-7hbRYixR.cjs.map +0 -1
  222. package/dist/deviceInfo.native-D2k0LDhI.js.map +0 -1
  223. package/dist/deviceInfo.web-ByNAlEJh.cjs +0 -2
  224. package/dist/deviceInfo.web-ByNAlEJh.cjs.map +0 -1
  225. package/dist/deviceInfo.web-DzQyEku6.js +0 -40
  226. package/dist/deviceInfo.web-DzQyEku6.js.map +0 -1
  227. package/dist/frameAggregate-C_HoVFcK.cjs +0 -2
  228. package/dist/frameAggregate-C_HoVFcK.cjs.map +0 -1
  229. package/dist/frameAggregate-Cwh1juw1.js +0 -17
  230. package/dist/frameAggregate-Cwh1juw1.js.map +0 -1
  231. package/dist/frameDropsNative.native-CP7zrXDf.js +0 -23
  232. package/dist/frameDropsNative.native-CP7zrXDf.js.map +0 -1
  233. package/dist/frameDropsNative.native-DKqEDqip.cjs +0 -2
  234. package/dist/frameDropsNative.native-DKqEDqip.cjs.map +0 -1
  235. package/dist/frameDropsWeb.web-C9Lt3Fuj.js +0 -22
  236. package/dist/frameDropsWeb.web-C9Lt3Fuj.js.map +0 -1
  237. package/dist/frameDropsWeb.web-azpwQCUz.cjs +0 -2
  238. package/dist/frameDropsWeb.web-azpwQCUz.cjs.map +0 -1
  239. package/dist/httpAttributes-BV50UKQU.js +0 -19
  240. package/dist/httpAttributes-BV50UKQU.js.map +0 -1
  241. package/dist/httpAttributes-xXOD9trQ.cjs +0 -2
  242. package/dist/httpAttributes-xXOD9trQ.cjs.map +0 -1
  243. package/dist/interaction-CH8yoY5-.js +0 -23
  244. package/dist/interaction-CH8yoY5-.js.map +0 -1
  245. package/dist/interaction-DcNFBW7a.cjs +0 -2
  246. package/dist/interaction-DcNFBW7a.cjs.map +0 -1
  247. package/dist/interceptFetchNative.native-VlhtMG-U.js +0 -49
  248. package/dist/interceptFetchNative.native-VlhtMG-U.js.map +0 -1
  249. package/dist/interceptFetchNative.native-jEAldH14.cjs +0 -2
  250. package/dist/interceptFetchNative.native-jEAldH14.cjs.map +0 -1
  251. package/dist/interceptFetchWeb.web-DFzZliik.cjs +0 -2
  252. package/dist/interceptFetchWeb.web-DFzZliik.cjs.map +0 -1
  253. package/dist/interceptFetchWeb.web-DfsMfoRP.js +0 -77
  254. package/dist/interceptFetchWeb.web-DfsMfoRP.js.map +0 -1
  255. package/dist/memoryNative.native-BWLh2S9L.js +0 -48
  256. package/dist/memoryNative.native-BWLh2S9L.js.map +0 -1
  257. package/dist/memoryNative.native-DCXSOd4Q.cjs +0 -2
  258. package/dist/memoryNative.native-DCXSOd4Q.cjs.map +0 -1
  259. package/dist/memoryWeb.web-B3YuV-cB.js +0 -48
  260. package/dist/memoryWeb.web-B3YuV-cB.js.map +0 -1
  261. package/dist/memoryWeb.web-CheXAcJn.cjs +0 -2
  262. package/dist/memoryWeb.web-CheXAcJn.cjs.map +0 -1
  263. package/dist/nativeSender-BE_mzw_S.js +0 -70
  264. package/dist/nativeSender-BE_mzw_S.js.map +0 -1
  265. package/dist/nativeSender-DyAUGY7c.cjs +0 -2
  266. package/dist/nativeSender-DyAUGY7c.cjs.map +0 -1
  267. package/dist/navigationNative.native-3tO5JxSd.cjs +0 -2
  268. package/dist/navigationNative.native-3tO5JxSd.cjs.map +0 -1
  269. package/dist/navigationNative.native-BUCGPQX2.js +0 -25
  270. package/dist/navigationNative.native-BUCGPQX2.js.map +0 -1
  271. package/dist/navigationTracker-B2GMwyKk.cjs +0 -2
  272. package/dist/navigationTracker-B2GMwyKk.cjs.map +0 -1
  273. package/dist/navigationTracker-Cts68dgG.js.map +0 -1
  274. package/dist/navigationWeb.web-B0necr5j.cjs +0 -2
  275. package/dist/navigationWeb.web-B0necr5j.cjs.map +0 -1
  276. package/dist/navigationWeb.web-CORzE_Id.js +0 -46
  277. package/dist/navigationWeb.web-CORzE_Id.js.map +0 -1
  278. package/dist/networkInfo.web-DJmw1sNK.cjs +0 -2
  279. package/dist/networkInfo.web-DJmw1sNK.cjs.map +0 -1
  280. package/dist/networkInfo.web-twcNn_hc.js.map +0 -1
  281. package/dist/src/adapters/interaction.d.ts +0 -17
  282. package/dist/src/adapters/native/frameDropsNative.native.d.ts +0 -16
  283. package/dist/src/adapters/native/interceptFetchNative.native.d.ts +0 -23
  284. package/dist/src/adapters/native/navigationNative.native.d.ts +0 -12
  285. package/dist/src/adapters/web/frameDropsWeb.web.d.ts +0 -16
  286. package/dist/src/adapters/web/memoryWeb.web.d.ts +0 -26
  287. package/dist/telemetry-Co4MYdwa.cjs +0 -2
  288. package/dist/telemetry-Co4MYdwa.cjs.map +0 -1
  289. package/dist/telemetry-KI0x4gzC.js +0 -389
  290. package/dist/telemetry-KI0x4gzC.js.map +0 -1
  291. package/dist/v4-BysszJq8.js +0 -31
  292. package/dist/v4-BysszJq8.js.map +0 -1
  293. package/dist/v4-CqdK_b8Y.cjs +0 -2
  294. package/dist/v4-CqdK_b8Y.cjs.map +0 -1
  295. package/dist/webSender-B27tmT1w.js +0 -42
  296. package/dist/webSender-B27tmT1w.js.map +0 -1
  297. package/dist/webSender-BWi4x1df.cjs +0 -2
  298. package/dist/webSender-BWi4x1df.cjs.map +0 -1
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react-native"),u=require("react"),ee=require("./v4-CqdK_b8Y.cjs");function p(o,r){const[s,a]=u.useState({loading:!0,result:r});return u.useEffect(()=>{(async()=>{const i=await o();a({loading:!1,result:i})})()},[o]),s}const te=new n.NativeEventEmitter(n.NativeModules.RNDeviceInfo);function b(o,r,s){const{loading:a,result:d}=p(r,s),[i,g]=u.useState(s);return u.useEffect(()=>{g(d)},[d]),u.useEffect(()=>{const y=te.addListener(o,g);return()=>y.remove()},[o]),u.useMemo(()=>({loading:a,result:i}),[a,i])}const ne=[{brand:"Apple",model:"iPhone 16"},{brand:"Apple",model:"iPhone 16 Plus"},{brand:"Apple",model:"iPhone 16 Pro"},{brand:"Apple",model:"iPhone 16 Pro Max"},{brand:"Apple",model:"iPhone 15"},{brand:"Apple",model:"iPhone 15 Plus"},{brand:"Apple",model:"iPhone 15 Pro"},{brand:"Apple",model:"iPhone 15 Pro Max"},{brand:"Apple",model:"iPhone 14 Pro"},{brand:"Apple",model:"iPhone 14 Pro Max"}],oe=[{brand:"Apple",model:"iPhone 16"},{brand:"Apple",model:"iPhone 16 Plus"},{brand:"Apple",model:"iPhone 16 Pro"},{brand:"Apple",model:"iPhone 16 Pro Max"},{brand:"Apple",model:"iPhone 15"},{brand:"Apple",model:"iPhone 15 Plus"},{brand:"Apple",model:"iPhone 15 Pro"},{brand:"Apple",model:"iPhone 15 Pro Max"},{brand:"Apple",model:"iPhone 14"},{brand:"Apple",model:"iPhone 14 Plus"},{brand:"Apple",model:"iPhone 14 Pro"},{brand:"Apple",model:"iPhone 14 Pro Max"},{brand:"Apple",model:"iPhone 13 mini"},{brand:"Apple",model:"iPhone 13"},{brand:"Apple",model:"iPhone 13 Pro"},{brand:"Apple",model:"iPhone 13 Pro Max"},{brand:"Apple",model:"iPhone 12 mini"},{brand:"Apple",model:"iPhone 12"},{brand:"Apple",model:"iPhone 12 Pro"},{brand:"Apple",model:"iPhone 12 Pro Max"},{brand:"Apple",model:"iPhone 11"},{brand:"Apple",model:"iPhone 11 Pro"},{brand:"Apple",model:"iPhone 11 Pro Max"},{brand:"Apple",model:"iPhone X"},{brand:"Apple",model:"iPhone XS"},{brand:"Apple",model:"iPhone XS Max"},{brand:"Apple",model:"iPhone XR"},{brand:"Asus",model:"ZenFone 5"},{brand:"Asus",model:"ZenFone 5z"},{brand:"google",model:"Pixel 3 XL"},{brand:"google",model:"Pixel 4a"},{brand:"Huawei",model:"P20"},{brand:"Huawei",model:"P20 Plus"},{brand:"Huawei",model:"P20 Lite"},{brand:"Huawei",model:"ANE-LX1"},{brand:"Huawei",model:"INE-LX1"},{brand:"Huawei",model:"POT-LX1"},{brand:"Huawei",model:"Honor Play"},{brand:"Huawei",model:"Honor 10"},{brand:"Huawei",model:"Mate 20 Lite"},{brand:"Huawei",model:"Mate 20 Pro"},{brand:"Huawei",model:"ELE-L29"},{brand:"Huawei",model:"P30 Lite"},{brand:"Huawei",model:"P30 Pro"},{brand:"Huawei",model:"JNY-LX1"},{brand:"Huawei",model:"Nova 3"},{brand:"Huawei",model:"Nova 3i"},{brand:"Leagoo",model:"S9"},{brand:"LG",model:"G7"},{brand:"LG",model:"G7 ThinQ"},{brand:"LG",model:"G7+ ThinQ"},{brand:"LG",model:"LM-Q910"},{brand:"LG",model:"LM-G710"},{brand:"LG",model:"LM-V405"},{brand:"Motorola",model:"Moto g7 Play"},{brand:"Motorola",model:"Moto g7 Power"},{brand:"Motorola",model:"One"},{brand:"Motorola",model:"Motorola One Vision"},{brand:"Nokia",model:"5.1 Plus"},{brand:"Nokia",model:"Nokia 6.1 Plus"},{brand:"Nokia",model:"7.1"},{brand:"Nokia",model:"8.1"},{brand:"OnePlus",model:"6"},{brand:"OnePlus",model:"A6003"},{brand:"ONEPLUS",model:"A6000"},{brand:"OnePlus",model:"OnePlus A6003"},{brand:"OnePlus",model:"ONEPLUS A6010"},{brand:"OnePlus",model:"ONEPLUS A6013"},{brand:"OnePlus",model:"ONEPLUS A6000"},{brand:"Oppo",model:"R15"},{brand:"Oppo",model:"R15 Pro"},{brand:"Oppo",model:"F7"},{brand:"Oukitel",model:"U18"},{brand:"Redmi",model:"M2004J19C"},{brand:"Sharp",model:"Aquos S3"},{brand:"Vivo",model:"V9"},{brand:"Vivo",model:"X21"},{brand:"Vivo",model:"X21 UD"},{brand:"xiaomi",model:"MI 8"},{brand:"xiaomi",model:"MI 8 Explorer Edition"},{brand:"xiaomi",model:"MI 8 SE"},{brand:"xiaomi",model:"MI 8 UD"},{brand:"xiaomi",model:"MI 8 Lite"},{brand:"xiaomi",model:"Mi 9"},{brand:"xiaomi",model:"POCO F1"},{brand:"xiaomi",model:"POCOPHONE F1"},{brand:"xiaomi",model:"Redmi 6 Pro"},{brand:"xiaomi",model:"Redmi Note 7"},{brand:"xiaomi",model:"Redmi 7"},{brand:"xiaomi",model:"Redmi Note 8"},{brand:"xiaomi",model:"Redmi Note 8 Pro"},{brand:"xiaomi",model:"Mi A2 Lite"},{brand:"Blackview",model:"A30"},{brand:"Samsung",model:"SM-A202F"},{brand:"Samsung",model:"SM-A217F"},{brand:"Samsung",model:"SM-A715F"}];let e=n.NativeModules.RNDeviceInfo;(n.Platform.OS==="web"||n.Platform.OS==="dom")&&(e=require("../web"));if(!e&&(n.Platform.OS==="android"||n.Platform.OS==="ios"||n.Platform.OS==="web"||n.Platform.OS==="dom"))throw new Error("react-native-device-info: NativeModule.RNDeviceInfo is null. To fix this issue try these steps:\n • For react-native <= 0.59: Run `react-native link react-native-device-info` in the project root.\n • Rebuild and re-run the app.\n • If you are using CocoaPods on iOS, run `pod install` in the `ios` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods.\n If none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-device-info/react-native-device-info");let m={};function O(o,r,s){let a={};return o.filter(d=>n.Platform.OS==d).forEach(d=>a[d]=r),n.Platform.select({...a,default:s})}function c({getter:o,supportedPlatforms:r,defaultValue:s,memoKey:a}){if(a&&m[a]!=null)return m[a];{const d=O(r,o,()=>s)();return a&&(m[a]=d),d}}async function h({getter:o,supportedPlatforms:r,defaultValue:s,memoKey:a}){if(a&&m[a]!=null)return m[a];{const d=await O(r,o,()=>Promise.resolve(s))();return a&&(m[a]=d),d}}function t({syncGetter:o,...r}){return[()=>h(r),()=>c({...r,getter:o})]}const[M,re]=t({memoKey:"uniqueId",supportedPlatforms:["android","ios","windows"],getter:()=>e.getUniqueId(),syncGetter:()=>e.getUniqueIdSync(),defaultValue:"unknown"});let S;async function ae(){return n.Platform.OS==="ios"?S=await e.syncUniqueId():S=await M(),S}const[se,de]=t({memoKey:"instanceId",supportedPlatforms:["android"],getter:()=>e.getInstanceId(),syncGetter:()=>e.getInstanceIdSync(),defaultValue:"unknown"}),[ie,le]=t({memoKey:"serialNumber",supportedPlatforms:["android","windows"],getter:()=>e.getSerialNumber(),syncGetter:()=>e.getSerialNumberSync(),defaultValue:"unknown"}),[ue,ce]=t({memoKey:"androidId",supportedPlatforms:["android"],getter:()=>e.getAndroidId(),syncGetter:()=>e.getAndroidIdSync(),defaultValue:"unknown"}),[me,pe]=t({supportedPlatforms:["android","ios","windows"],getter:()=>e.getIpAddress(),syncGetter:()=>e.getIpAddressSync(),defaultValue:"unknown"}),[ge,fe]=t({supportedPlatforms:["android","windows","web"],getter:()=>e.isCameraPresent(),syncGetter:()=>e.isCameraPresentSync(),defaultValue:!1});async function ye(){return n.Platform.OS==="android"?e.getMacAddress():n.Platform.OS==="ios"?"02:00:00:00:00:00":"unknown"}function Se(){return n.Platform.OS==="android"?e.getMacAddressSync():n.Platform.OS==="ios"?"02:00:00:00:00:00":"unknown"}const Pe=()=>c({defaultValue:"unknown",memoKey:"deviceId",getter:()=>e.deviceId,supportedPlatforms:["android","ios","windows"]}),[L,we]=t({memoKey:"manufacturer",supportedPlatforms:["android","ios","windows"],getter:()=>n.Platform.OS=="ios"?Promise.resolve("Apple"):e.getSystemManufacturer(),syncGetter:()=>n.Platform.OS=="ios"?"Apple":e.getSystemManufacturerSync(),defaultValue:"unknown"}),v=()=>c({memoKey:"model",defaultValue:"unknown",supportedPlatforms:["ios","android","windows"],getter:()=>e.model}),A=()=>c({memoKey:"brand",supportedPlatforms:["android","ios","windows"],defaultValue:"unknown",getter:()=>e.brand}),be=()=>c({defaultValue:"unknown",supportedPlatforms:["ios","android","windows"],memoKey:"systemName",getter:()=>n.Platform.select({ios:e.systemName,android:"Android",windows:"Windows",default:"unknown"})}),he=()=>c({defaultValue:"unknown",getter:()=>e.systemVersion,supportedPlatforms:["android","ios","windows"],memoKey:"systemVersion"}),[ve,Ae]=t({memoKey:"buildId",supportedPlatforms:["android","ios","windows"],getter:()=>e.getBuildId(),syncGetter:()=>e.getBuildIdSync(),defaultValue:"unknown"}),[Ie,Ve]=t({memoKey:"apiLevel",supportedPlatforms:["android"],getter:()=>e.getApiLevel(),syncGetter:()=>e.getApiLevelSync(),defaultValue:-1}),ke=()=>c({memoKey:"bundleId",supportedPlatforms:["android","ios","windows"],defaultValue:"unknown",getter:()=>e.bundleId}),[Oe,Me]=t({memoKey:"installerPackageName",supportedPlatforms:["android","windows","ios"],getter:()=>e.getInstallerPackageName(),syncGetter:()=>e.getInstallerPackageNameSync(),defaultValue:"unknown"}),Le=()=>c({memoKey:"appName",defaultValue:"unknown",getter:()=>e.appName,supportedPlatforms:["android","ios","windows"]}),N=()=>c({memoKey:"buildNumber",supportedPlatforms:["android","ios","windows"],getter:()=>e.buildNumber,defaultValue:"unknown"}),C=()=>c({memoKey:"version",defaultValue:"unknown",supportedPlatforms:["android","ios","windows"],getter:()=>e.appVersion});function Ne(){return C()+"."+N()}const[G,Ce]=t({supportedPlatforms:["android","ios","windows"],getter:()=>e.getDeviceName(),syncGetter:()=>e.getDeviceNameSync(),defaultValue:"unknown"}),[Ge,De]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getUsedMemory(),syncGetter:()=>e.getUsedMemorySync(),defaultValue:-1}),Be=()=>h({memoKey:"userAgent",defaultValue:"unknown",supportedPlatforms:["android","ios","web"],getter:()=>e.getUserAgent()}),He=()=>c({memoKey:"userAgentSync",defaultValue:"unknown",supportedPlatforms:["android","web"],getter:()=>e.getUserAgentSync()}),[Te,Fe]=t({supportedPlatforms:["android","ios","windows"],getter:()=>e.getFontScale(),syncGetter:()=>e.getFontScaleSync(),defaultValue:-1}),[Ke,Ee]=t({memoKey:"bootloader",supportedPlatforms:["android"],getter:()=>e.getBootloader(),syncGetter:()=>e.getBootloaderSync(),defaultValue:"unknown"}),[xe,Re]=t({getter:()=>e.getDevice(),syncGetter:()=>e.getDeviceSync(),defaultValue:"unknown",memoKey:"device",supportedPlatforms:["android"]}),[Ue,_e]=t({memoKey:"display",supportedPlatforms:["android"],getter:()=>e.getDisplay(),syncGetter:()=>e.getDisplaySync(),defaultValue:"unknown"}),[qe,Xe]=t({memoKey:"fingerprint",supportedPlatforms:["android"],getter:()=>e.getFingerprint(),syncGetter:()=>e.getFingerprintSync(),defaultValue:"unknown"}),[We,Ze]=t({memoKey:"hardware",supportedPlatforms:["android"],getter:()=>e.getHardware(),syncGetter:()=>e.getHardwareSync(),defaultValue:"unknown"}),[$e,Qe]=t({memoKey:"host",supportedPlatforms:["android","windows"],getter:()=>e.getHost(),syncGetter:()=>e.getHostSync(),defaultValue:"unknown"}),[je,ze]=t({memoKey:"hostNames",supportedPlatforms:["windows"],getter:()=>e.getHostNames(),syncGetter:()=>e.getHostNamesSync(),defaultValue:[]}),[Je,Ye]=t({memoKey:"product",supportedPlatforms:["android"],getter:()=>e.getProduct(),syncGetter:()=>e.getProductSync(),defaultValue:"unknown"}),[et,tt]=t({memoKey:"tags",supportedPlatforms:["android"],getter:()=>e.getTags(),syncGetter:()=>e.getTagsSync(),defaultValue:"unknown"}),[nt,ot]=t({memoKey:"type",supportedPlatforms:["android"],getter:()=>e.getType(),syncGetter:()=>e.getTypeSync(),defaultValue:"unknown"}),[rt,at]=t({memoKey:"baseOs",supportedPlatforms:["android","web","windows"],getter:()=>e.getBaseOs(),syncGetter:()=>e.getBaseOsSync(),defaultValue:"unknown"}),[st,dt]=t({memoKey:"previewSdkInt",supportedPlatforms:["android"],getter:()=>e.getPreviewSdkInt(),syncGetter:()=>e.getPreviewSdkIntSync(),defaultValue:-1}),[it,lt]=t({memoKey:"securityPatch",supportedPlatforms:["android"],getter:()=>e.getSecurityPatch(),syncGetter:()=>e.getSecurityPatchSync(),defaultValue:"unknown"}),[ut,ct]=t({memoKey:"codeName",supportedPlatforms:["android"],getter:()=>e.getCodename(),syncGetter:()=>e.getCodenameSync(),defaultValue:"unknown"}),[mt,pt]=t({memoKey:"incremental",supportedPlatforms:["android"],getter:()=>e.getIncremental(),syncGetter:()=>e.getIncrementalSync(),defaultValue:"unknown"}),[D,gt]=t({memoKey:"emulator",supportedPlatforms:["android","ios","windows"],getter:()=>e.isEmulator(),syncGetter:()=>e.isEmulatorSync(),defaultValue:!1}),ft=()=>c({defaultValue:!1,supportedPlatforms:["android","ios","windows"],memoKey:"tablet",getter:()=>e.isTablet}),yt=()=>c({defaultValue:!1,supportedPlatforms:["android"],memoKey:"lowRam",getter:()=>e.isLowRamDevice}),St=()=>c({defaultValue:!1,supportedPlatforms:["ios"],memoKey:"zoomed",getter:()=>e.isDisplayZoomed}),[Pt,wt]=t({supportedPlatforms:["android","ios","windows"],getter:()=>e.isPinOrFingerprintSet(),syncGetter:()=>e.isPinOrFingerprintSetSync(),defaultValue:!1});let P;function bt(){if(P===void 0){let o=A(),r=v();P=oe.findIndex(s=>s.brand.toLowerCase()===o.toLowerCase()&&s.model.toLowerCase()===r.toLowerCase())!==-1}return P}let w;function ht(){if(w===void 0){let o=A(),r=v();w=ne.findIndex(s=>s.brand.toLowerCase()===o.toLowerCase()&&s.model.toLowerCase()===r.toLowerCase())!==-1}return w}const[vt,At]=t({supportedPlatforms:["android"],getter:()=>e.hasGms(),syncGetter:()=>e.hasGmsSync(),defaultValue:!1}),[It,Vt]=t({supportedPlatforms:["android"],getter:()=>e.hasHms(),syncGetter:()=>e.hasHmsSync(),defaultValue:!1}),[B,kt]=t({memoKey:"firstInstallTime",supportedPlatforms:["android","ios","windows"],getter:()=>e.getFirstInstallTime(),syncGetter:()=>e.getFirstInstallTimeSync(),defaultValue:-1}),[Ot,Mt]=t({memoKey:"installReferrer",supportedPlatforms:["android","windows","web"],getter:()=>e.getInstallReferrer(),syncGetter:()=>e.getInstallReferrerSync(),defaultValue:"unknown"}),[Lt,Nt]=t({memoKey:"lastUpdateTime",supportedPlatforms:["android"],getter:()=>e.getLastUpdateTime(),syncGetter:()=>e.getLastUpdateTimeSync(),defaultValue:-1}),[Ct,Gt]=t({supportedPlatforms:["android","ios"],getter:()=>e.getCarrier(),syncGetter:()=>e.getCarrierSync(),defaultValue:"unknown"}),[Dt,Bt]=t({memoKey:"totalMemory",supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getTotalMemory(),syncGetter:()=>e.getTotalMemorySync(),defaultValue:-1}),[Ht,Tt]=t({memoKey:"maxMemory",supportedPlatforms:["android","windows","web"],getter:()=>e.getMaxMemory(),syncGetter:()=>e.getMaxMemorySync(),defaultValue:-1}),[H,T]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getTotalDiskCapacity(),syncGetter:()=>e.getTotalDiskCapacitySync(),defaultValue:-1});async function Ft(){return n.Platform.OS==="android"?e.getTotalDiskCapacityOld():n.Platform.OS==="ios"||n.Platform.OS==="windows"||n.Platform.OS==="web"?H():-1}function Kt(){return n.Platform.OS==="android"?e.getTotalDiskCapacityOldSync():n.Platform.OS==="ios"||n.Platform.OS==="windows"||n.Platform.OS==="web"?T():-1}const[F,K]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getFreeDiskStorage(),syncGetter:()=>e.getFreeDiskStorageSync(),defaultValue:-1});async function Et(){return n.Platform.OS==="android"?e.getFreeDiskStorageOld():n.Platform.OS==="ios"||n.Platform.OS==="windows"||n.Platform.OS==="web"?F():-1}function xt(){return n.Platform.OS==="android"?e.getFreeDiskStorageOldSync():n.Platform.OS==="ios"||n.Platform.OS==="windows"||n.Platform.OS==="web"?K():-1}const[I,Rt]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getBatteryLevel(),syncGetter:()=>e.getBatteryLevelSync(),defaultValue:-1}),[E,Ut]=t({supportedPlatforms:["ios","android","windows","web"],getter:()=>e.getPowerState(),syncGetter:()=>e.getPowerStateSync(),defaultValue:{}}),[_t,qt]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.isBatteryCharging(),syncGetter:()=>e.isBatteryChargingSync(),defaultValue:!1});async function Xt(){return Promise.resolve(x())}function x(){const{height:o,width:r}=n.Dimensions.get("window");return r>=o}const[Wt,Zt]=t({supportedPlatforms:["android","web"],getter:()=>e.isAirplaneMode(),syncGetter:()=>e.isAirplaneModeSync(),defaultValue:!1}),$t=()=>c({memoKey:"deviceType",supportedPlatforms:["android","ios","windows"],defaultValue:"unknown",getter:()=>e.deviceType}),[Qt,jt]=t({memoKey:"_supportedAbis",supportedPlatforms:["android","ios","windows"],getter:()=>e.getSupportedAbis(),syncGetter:()=>e.getSupportedAbisSync(),defaultValue:[]}),[zt,Jt]=t({memoKey:"_supported32BitAbis",supportedPlatforms:["android"],getter:()=>e.getSupported32BitAbis(),syncGetter:()=>e.getSupported32BitAbisSync(),defaultValue:[]}),[Yt,en]=t({memoKey:"_supported64BitAbis",supportedPlatforms:["android"],getter:()=>e.getSupported64BitAbis(),syncGetter:()=>e.getSupported64BitAbisSync(),defaultValue:[]});async function R(o){return n.Platform.OS==="android"?e.hasSystemFeature(o):!1}function tn(o){return n.Platform.OS==="android"?e.hasSystemFeatureSync(o):!1}function nn(o){return n.Platform.OS==="android"?o<.15:o<.2}const[on,rn]=t({supportedPlatforms:["android"],getter:()=>e.getSystemAvailableFeatures(),syncGetter:()=>e.getSystemAvailableFeaturesSync(),defaultValue:[]}),[an,sn]=t({supportedPlatforms:["android","ios","web"],getter:()=>e.isLocationEnabled(),syncGetter:()=>e.isLocationEnabledSync(),defaultValue:!1}),[U,dn]=t({supportedPlatforms:["android","ios"],getter:()=>e.isHeadphonesConnected(),syncGetter:()=>e.isHeadphonesConnectedSync(),defaultValue:!1}),[_,ln]=t({supportedPlatforms:["android","ios"],getter:()=>e.isWiredHeadphonesConnected(),syncGetter:()=>e.isWiredHeadphonesConnectedSync(),defaultValue:!1}),[q,un]=t({supportedPlatforms:["android","ios"],getter:()=>e.isBluetoothHeadphonesConnected(),syncGetter:()=>e.isBluetoothHeadphonesConnectedSync(),defaultValue:!1}),[cn,mn]=t({supportedPlatforms:["windows"],getter:()=>e.isMouseConnected(),syncGetter:()=>e.isMouseConnectedSync(),defaultValue:!1}),[pn,gn]=t({supportedPlatforms:["windows"],getter:()=>e.isKeyboardConnected(),syncGetter:()=>e.isKeyboardConnectedSync(),defaultValue:!1}),[fn,yn]=t({supportedPlatforms:["android"],getter:()=>e.getSupportedMediaTypeList(),syncGetter:()=>e.getSupportedMediaTypeListSync(),defaultValue:[]}),Sn=()=>h({supportedPlatforms:["windows"],getter:()=>e.isTabletMode(),defaultValue:!1}),[Pn,wn]=t({supportedPlatforms:["android","ios"],getter:()=>e.getAvailableLocationProviders(),syncGetter:()=>e.getAvailableLocationProvidersSync(),defaultValue:{}}),[X,bn]=t({supportedPlatforms:["ios"],getter:()=>e.getBrightness(),syncGetter:()=>e.getBrightnessSync(),defaultValue:-1});async function hn(){return n.Platform.OS==="ios"?e.getDeviceToken():"unknown"}const f=new n.NativeEventEmitter(n.NativeModules.RNDeviceInfo);function vn(){const[o,r]=u.useState(null);return u.useEffect(()=>{const s=async()=>{const i=await I();r(i)},a=i=>{r(i)};s();const d=f.addListener("RNDeviceInfo_batteryLevelDidChange",a);return()=>d.remove()},[]),o}function An(){const[o,r]=u.useState(null);return u.useEffect(()=>{(async()=>{const i=await I();nn(i)&&r(i)})();const a=i=>{r(i)},d=f.addListener("RNDeviceInfo_batteryLevelIsLow",a);return()=>d.remove()},[]),o}function In(){const[o,r]=u.useState({});return u.useEffect(()=>{const s=async()=>{const i=await E();r(i)},a=i=>{r(i)};s();const d=f.addListener("RNDeviceInfo_powerStateDidChange",a);return()=>d.remove()},[]),o}function Vn(){return b("RNDeviceInfo_headphoneConnectionDidChange",U,!1)}function kn(){return b("RNDeviceInfo_headphoneWiredConnectionDidChange",_,!1)}function On(){return b("RNDeviceInfo_headphoneBluetoothConnectionDidChange",q,!1)}function Mn(){return p(B,-1)}function Ln(){return p(G,"unknown")}function Nn(o){const r=u.useCallback(()=>R(o),[o]);return p(r,!1)}function Cn(){return p(D,!1)}function Gn(){return p(L,"unknown")}function Dn(){const[o,r]=u.useState(null);return u.useEffect(()=>{const s=async()=>{const i=await X();r(i)},a=i=>{r(i)};s();const d=f.addListener("RNDeviceInfo_brightnessDidChange",a);return()=>d.remove()},[]),o}const l={getAndroidId:ue,getAndroidIdSync:ce,getApiLevel:Ie,getApiLevelSync:Ve,getApplicationName:Le,getAvailableLocationProviders:Pn,getAvailableLocationProvidersSync:wn,getBaseOs:rt,getBaseOsSync:at,getBatteryLevel:I,getBatteryLevelSync:Rt,getBootloader:Ke,getBootloaderSync:Ee,getBrand:A,getBuildId:ve,getBuildIdSync:Ae,getBuildNumber:N,getBundleId:ke,getCarrier:Ct,getCarrierSync:Gt,getCodename:ut,getCodenameSync:ct,getDevice:xe,getDeviceId:Pe,getDeviceName:G,getDeviceNameSync:Ce,getDeviceSync:Re,getDeviceToken:hn,getDeviceType:$t,getDisplay:Ue,getDisplaySync:_e,getFingerprint:qe,getFingerprintSync:Xe,getFirstInstallTime:B,getFirstInstallTimeSync:kt,getFontScale:Te,getFontScaleSync:Fe,getFreeDiskStorage:F,getFreeDiskStorageOld:Et,getFreeDiskStorageSync:K,getFreeDiskStorageOldSync:xt,getHardware:We,getHardwareSync:Ze,getHost:$e,getHostSync:Qe,getHostNames:je,getHostNamesSync:ze,getIncremental:mt,getIncrementalSync:pt,getInstallerPackageName:Oe,getInstallerPackageNameSync:Me,getInstallReferrer:Ot,getInstallReferrerSync:Mt,getInstanceId:se,getInstanceIdSync:de,getIpAddress:me,getIpAddressSync:pe,getLastUpdateTime:Lt,getLastUpdateTimeSync:Nt,getMacAddress:ye,getMacAddressSync:Se,getManufacturer:L,getManufacturerSync:we,getMaxMemory:Ht,getMaxMemorySync:Tt,getModel:v,getPowerState:E,getPowerStateSync:Ut,getPreviewSdkInt:st,getPreviewSdkIntSync:dt,getProduct:Je,getProductSync:Ye,getReadableVersion:Ne,getSecurityPatch:it,getSecurityPatchSync:lt,getSerialNumber:ie,getSerialNumberSync:le,getSystemAvailableFeatures:on,getSystemAvailableFeaturesSync:rn,getSystemName:be,getSystemVersion:he,getTags:et,getTagsSync:tt,getTotalDiskCapacity:H,getTotalDiskCapacityOld:Ft,getTotalDiskCapacitySync:T,getTotalDiskCapacityOldSync:Kt,getTotalMemory:Dt,getTotalMemorySync:Bt,getType:nt,getTypeSync:ot,getUniqueId:M,getUniqueIdSync:re,getUsedMemory:Ge,getUsedMemorySync:De,getUserAgent:Be,getUserAgentSync:He,getVersion:C,getBrightness:X,getBrightnessSync:bn,hasGms:vt,hasGmsSync:At,hasHms:It,hasHmsSync:Vt,hasNotch:bt,hasDynamicIsland:ht,hasSystemFeature:R,hasSystemFeatureSync:tn,isAirplaneMode:Wt,isAirplaneModeSync:Zt,isBatteryCharging:_t,isBatteryChargingSync:qt,isCameraPresent:ge,isCameraPresentSync:fe,isEmulator:D,isEmulatorSync:gt,isHeadphonesConnected:U,isHeadphonesConnectedSync:dn,isWiredHeadphonesConnected:_,isWiredHeadphonesConnectedSync:ln,isBluetoothHeadphonesConnected:q,isBluetoothHeadphonesConnectedSync:un,isLandscape:Xt,isLandscapeSync:x,isLocationEnabled:an,isLocationEnabledSync:sn,isPinOrFingerprintSet:Pt,isPinOrFingerprintSetSync:wt,isMouseConnected:cn,isMouseConnectedSync:mn,isKeyboardConnected:pn,isKeyboardConnectedSync:gn,isTabletMode:Sn,isTablet:ft,isLowRamDevice:yt,isDisplayZoomed:St,supported32BitAbis:zt,supported32BitAbisSync:Jt,supported64BitAbis:Yt,supported64BitAbisSync:en,supportedAbis:Qt,supportedAbisSync:jt,syncUniqueId:ae,useBatteryLevel:vn,useBatteryLevelIsLow:An,useDeviceName:Ln,useFirstInstallTime:Mn,useHasSystemFeature:Nn,useIsEmulator:Cn,usePowerState:In,useManufacturer:Gn,useIsHeadphonesConnected:Vn,useIsWiredHeadphonesConnected:kn,useIsBluetoothHeadphonesConnected:On,useBrightness:Dn,getSupportedMediaTypeList:fn,getSupportedMediaTypeListSync:yn};class Bn{constructor(){}async collect(){let r="";try{r=await l.getUniqueId()}catch{r=`device_${Date.now()}_${ee.v4()}_${n.Platform.OS}`}const s=await l.getApplicationName()||"UnknownApp",a=await l.getVersion()||"0.0.0",d=await l.getBuildNumber()||"0",i=await l.getBundleId()||"unknown.package",g=await l.getBrand(),y=await l.getManufacturer()||"",W=await l.getModel()||"",V=await l.getSystemVersion()||"",Z=await l.getSystemName()||"",$=await l.getDeviceName()||"",k=n.Platform.OS==="android"?await l.getApiLevel():void 0,Q=n.Platform.OS==="android"?await l.getFingerprint?.():void 0,j=n.Platform.OS==="android"?await l.getHardware?.():void 0,z=n.Platform.OS==="android"?await l.getProduct?.():void 0,J=n.Platform.OS==="ios"?Z:void 0,Y=n.Platform.OS==="ios"?$:void 0;return{app:{name:s,version:a,buildNumber:d,packageName:i},device:{id:r,platform:n.Platform.OS,platformVersion:V,model:W,manufacturer:y,brand:g,androidSdk:k?String(k):void 0,androidRelease:n.Platform.OS==="android"?V:void 0,fingerprint:Q,hardware:j,product:z,iosSystemName:J,iosDeviceName:Y}}}async start(r){}}exports.DeviceInfoTrackerNative=Bn;
2
- //# sourceMappingURL=deviceInfo.native-7hbRYixR.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deviceInfo.native-7hbRYixR.cjs","sources":["../node_modules/react-native-device-info/lib/module/internal/asyncHookWrappers.js","../node_modules/react-native-device-info/lib/module/internal/devicesWithDynamicIsland.js","../node_modules/react-native-device-info/lib/module/internal/devicesWithNotch.js","../node_modules/react-native-device-info/lib/module/internal/nativeInterface.js","../node_modules/react-native-device-info/lib/module/internal/supported-platform-info.js","../node_modules/react-native-device-info/lib/module/index.js","../src/adapters/native/deviceInfo.native.ts"],"sourcesContent":["import { useState, useEffect, useMemo } from 'react';\nimport { NativeEventEmitter, NativeModules } from 'react-native';\n\n/**\n * simple hook wrapper for async functions for 'on-mount / componentDidMount' that only need to fired once\n * @param asyncGetter async function that 'gets' something\n * @param initialResult -1 | false | 'unknown'\n */\nexport function useOnMount(asyncGetter, initialResult) {\n const [response, setResponse] = useState({\n loading: true,\n result: initialResult\n });\n useEffect(() => {\n // async function cuz react complains if useEffect's effect param is an async function\n const getAsync = async () => {\n const result = await asyncGetter();\n setResponse({\n loading: false,\n result\n });\n };\n\n getAsync();\n }, [asyncGetter]);\n return response;\n}\nexport const deviceInfoEmitter = new NativeEventEmitter(NativeModules.RNDeviceInfo);\n/**\n * simple hook wrapper for handling events\n * @param eventName\n * @param initialValueAsyncGetter\n * @param defaultValue\n */\n\nexport function useOnEvent(eventName, initialValueAsyncGetter, defaultValue) {\n const {\n loading,\n result: initialResult\n } = useOnMount(initialValueAsyncGetter, defaultValue);\n const [result, setResult] = useState(defaultValue); // sets the result to what the intial value is on mount\n\n useEffect(() => {\n setResult(initialResult);\n }, [initialResult]); // - set up the event listener to set the result\n // - set up the clean up function to remove subscription on unmount\n\n useEffect(() => {\n const subscription = deviceInfoEmitter.addListener(eventName, setResult);\n return () => subscription.remove();\n }, [eventName]); // loading will only be true while getting the inital value. After that, it will always be false, but a new result may occur\n\n return useMemo(() => ({\n loading,\n result\n }), [loading, result]);\n}\n//# sourceMappingURL=asyncHookWrappers.js.map","const devicesWithDynamicIsland = [{\n brand: 'Apple',\n model: 'iPhone 16'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 15'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro Max'\n}];\nexport default devicesWithDynamicIsland;\n//# sourceMappingURL=devicesWithDynamicIsland.js.map","const devicesWithNotch = [{\n brand: 'Apple',\n model: 'iPhone 16'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 15'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 14'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 13 mini'\n}, {\n brand: 'Apple',\n model: 'iPhone 13'\n}, {\n brand: 'Apple',\n model: 'iPhone 13 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 13 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 12 mini'\n}, {\n brand: 'Apple',\n model: 'iPhone 12'\n}, {\n brand: 'Apple',\n model: 'iPhone 12 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 12 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 11'\n}, {\n brand: 'Apple',\n model: 'iPhone 11 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 11 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone X'\n}, {\n brand: 'Apple',\n model: 'iPhone XS'\n}, {\n brand: 'Apple',\n model: 'iPhone XS Max'\n}, {\n brand: 'Apple',\n model: 'iPhone XR'\n}, {\n brand: 'Asus',\n model: 'ZenFone 5'\n}, {\n brand: 'Asus',\n model: 'ZenFone 5z'\n}, {\n brand: 'google',\n model: 'Pixel 3 XL'\n}, {\n brand: 'google',\n model: 'Pixel 4a'\n}, {\n brand: 'Huawei',\n model: 'P20'\n}, {\n brand: 'Huawei',\n model: 'P20 Plus'\n}, {\n brand: 'Huawei',\n model: 'P20 Lite'\n}, {\n brand: 'Huawei',\n model: 'ANE-LX1'\n}, {\n brand: 'Huawei',\n model: 'INE-LX1'\n}, {\n brand: 'Huawei',\n model: 'POT-LX1'\n}, {\n brand: 'Huawei',\n model: 'Honor Play'\n}, {\n brand: 'Huawei',\n model: 'Honor 10'\n}, {\n brand: 'Huawei',\n model: 'Mate 20 Lite'\n}, {\n brand: 'Huawei',\n model: 'Mate 20 Pro'\n}, {\n brand: 'Huawei',\n model: 'ELE-L29' // P30\n\n}, {\n brand: 'Huawei',\n model: 'P30 Lite'\n}, {\n brand: 'Huawei',\n model: 'P30 Pro'\n}, {\n brand: 'Huawei',\n model: 'JNY-LX1' // P40 Lite\n\n}, {\n brand: 'Huawei',\n model: 'Nova 3'\n}, {\n brand: 'Huawei',\n model: 'Nova 3i'\n}, {\n brand: 'Leagoo',\n model: 'S9'\n}, {\n brand: 'LG',\n model: 'G7'\n}, {\n brand: 'LG',\n model: 'G7 ThinQ'\n}, {\n brand: 'LG',\n model: 'G7+ ThinQ'\n}, {\n brand: 'LG',\n model: 'LM-Q910' //G7 One\n\n}, {\n brand: 'LG',\n model: 'LM-G710' //G7 ThinQ\n\n}, {\n brand: 'LG',\n model: 'LM-V405' //V40 ThinQ\n\n}, {\n brand: 'Motorola',\n model: 'Moto g7 Play'\n}, {\n brand: 'Motorola',\n model: 'Moto g7 Power'\n}, {\n brand: 'Motorola',\n model: 'One'\n}, {\n brand: 'Motorola',\n model: 'Motorola One Vision'\n}, {\n brand: 'Nokia',\n model: '5.1 Plus'\n}, {\n brand: 'Nokia',\n model: 'Nokia 6.1 Plus'\n}, {\n brand: 'Nokia',\n model: '7.1'\n}, {\n brand: 'Nokia',\n model: '8.1'\n}, {\n brand: 'OnePlus',\n model: '6'\n}, {\n brand: 'OnePlus',\n model: 'A6003'\n}, {\n brand: 'ONEPLUS',\n model: 'A6000'\n}, {\n brand: 'OnePlus',\n model: 'OnePlus A6003'\n}, {\n brand: 'OnePlus',\n model: 'ONEPLUS A6010'\n}, {\n brand: 'OnePlus',\n model: 'ONEPLUS A6013'\n}, {\n brand: 'OnePlus',\n model: 'ONEPLUS A6000'\n}, {\n brand: 'Oppo',\n model: 'R15'\n}, {\n brand: 'Oppo',\n model: 'R15 Pro'\n}, {\n brand: 'Oppo',\n model: 'F7'\n}, {\n brand: 'Oukitel',\n model: 'U18'\n}, {\n brand: 'Redmi',\n model: 'M2004J19C'\n}, {\n brand: 'Sharp',\n model: 'Aquos S3'\n}, {\n brand: 'Vivo',\n model: 'V9'\n}, {\n brand: 'Vivo',\n model: 'X21'\n}, {\n brand: 'Vivo',\n model: 'X21 UD'\n}, {\n brand: 'xiaomi',\n model: 'MI 8'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 Explorer Edition'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 SE'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 UD'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 Lite'\n}, {\n brand: 'xiaomi',\n model: 'Mi 9'\n}, {\n brand: 'xiaomi',\n model: 'POCO F1'\n}, {\n brand: 'xiaomi',\n model: 'POCOPHONE F1'\n}, {\n brand: 'xiaomi',\n model: 'Redmi 6 Pro'\n}, {\n brand: 'xiaomi',\n model: 'Redmi Note 7'\n}, {\n brand: 'xiaomi',\n model: 'Redmi 7'\n}, {\n brand: 'xiaomi',\n model: 'Redmi Note 8'\n}, {\n brand: 'xiaomi',\n model: 'Redmi Note 8 Pro'\n}, {\n brand: 'xiaomi',\n model: 'Mi A2 Lite'\n}, {\n brand: 'Blackview',\n model: 'A30'\n}, {\n brand: 'Samsung',\n model: 'SM-A202F'\n}, {\n brand: 'Samsung',\n model: 'SM-A217F'\n}, {\n brand: 'Samsung',\n model: 'SM-A715F'\n}];\nexport default devicesWithNotch;\n//# sourceMappingURL=devicesWithNotch.js.map","import { Platform, NativeModules } from 'react-native';\nlet RNDeviceInfo = NativeModules.RNDeviceInfo; // @ts-ignore\n\nif (Platform.OS === 'web' || Platform.OS === 'dom') {\n RNDeviceInfo = require('../web');\n}\n\nif (!RNDeviceInfo) {\n // Produce an error if we don't have the native module\n if (Platform.OS === 'android' || Platform.OS === 'ios' || Platform.OS === 'web' || // @ts-ignore\n Platform.OS === 'dom') {\n throw new Error(`react-native-device-info: NativeModule.RNDeviceInfo is null. To fix this issue try these steps:\n • For react-native <= 0.59: Run \\`react-native link react-native-device-info\\` in the project root.\n • Rebuild and re-run the app.\n • If you are using CocoaPods on iOS, run \\`pod install\\` in the \\`ios\\` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods.\n If none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-device-info/react-native-device-info`);\n }\n}\n\nexport default RNDeviceInfo;\n//# sourceMappingURL=nativeInterface.js.map","import { Platform } from 'react-native';\n// centralized memo object\nlet memo = {};\nexport function clearMemo() {\n memo = {};\n}\n/**\n * function returns the proper getter based current platform X supported platforms\n * @param supportedPlatforms array of supported platforms (OS)\n * @param getter desired function used to get info\n * @param defaultGetter getter that returns a default value if desired getter is not supported by current platform\n */\n\nfunction getSupportedFunction(supportedPlatforms, getter, defaultGetter) {\n let supportedMap = {};\n supportedPlatforms.filter(key => Platform.OS == key).forEach(key => supportedMap[key] = getter);\n return Platform.select({ ...supportedMap,\n default: defaultGetter\n });\n}\n/**\n * function used to get desired info synchronously — with optional memoization\n * @param param0\n */\n\n\nexport function getSupportedPlatformInfoSync({\n getter,\n supportedPlatforms,\n defaultValue,\n memoKey\n}) {\n if (memoKey && memo[memoKey] != undefined) {\n return memo[memoKey];\n } else {\n const output = getSupportedFunction(supportedPlatforms, getter, () => defaultValue)();\n\n if (memoKey) {\n memo[memoKey] = output;\n }\n\n return output;\n }\n}\n/**\n * function used to get desired info asynchronously — with optional memoization\n * @param param0\n */\n\nexport async function getSupportedPlatformInfoAsync({\n getter,\n supportedPlatforms,\n defaultValue,\n memoKey\n}) {\n if (memoKey && memo[memoKey] != undefined) {\n return memo[memoKey];\n } else {\n const output = await getSupportedFunction(supportedPlatforms, getter, () => Promise.resolve(defaultValue))();\n\n if (memoKey) {\n memo[memoKey] = output;\n }\n\n return output;\n }\n}\n/**\n * function that returns array of getter functions [async, sync]\n * @param param0\n */\n\nexport function getSupportedPlatformInfoFunctions({\n syncGetter,\n ...asyncParams\n}) {\n return [() => getSupportedPlatformInfoAsync(asyncParams), () => getSupportedPlatformInfoSync({ ...asyncParams,\n getter: syncGetter\n })];\n}\n//# sourceMappingURL=supported-platform-info.js.map","import { useCallback, useEffect, useState } from 'react';\nimport { Dimensions, NativeEventEmitter, NativeModules, Platform } from 'react-native';\nimport { useOnEvent, useOnMount } from './internal/asyncHookWrappers';\nimport devicesWithDynamicIsland from \"./internal/devicesWithDynamicIsland\";\nimport devicesWithNotch from './internal/devicesWithNotch';\nimport RNDeviceInfo from './internal/nativeInterface';\nimport { getSupportedPlatformInfoAsync, getSupportedPlatformInfoFunctions, getSupportedPlatformInfoSync } from './internal/supported-platform-info';\nexport const [getUniqueId, getUniqueIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'uniqueId',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getUniqueId(),\n syncGetter: () => RNDeviceInfo.getUniqueIdSync(),\n defaultValue: 'unknown'\n});\nlet uniqueId;\nexport async function syncUniqueId() {\n if (Platform.OS === 'ios') {\n uniqueId = await RNDeviceInfo.syncUniqueId();\n } else {\n uniqueId = await getUniqueId();\n }\n\n return uniqueId;\n}\nexport const [getInstanceId, getInstanceIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'instanceId',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getInstanceId(),\n syncGetter: () => RNDeviceInfo.getInstanceIdSync(),\n defaultValue: 'unknown'\n});\nexport const [getSerialNumber, getSerialNumberSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'serialNumber',\n supportedPlatforms: ['android', 'windows'],\n getter: () => RNDeviceInfo.getSerialNumber(),\n syncGetter: () => RNDeviceInfo.getSerialNumberSync(),\n defaultValue: 'unknown'\n});\nexport const [getAndroidId, getAndroidIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'androidId',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getAndroidId(),\n syncGetter: () => RNDeviceInfo.getAndroidIdSync(),\n defaultValue: 'unknown'\n});\nexport const [getIpAddress, getIpAddressSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getIpAddress(),\n syncGetter: () => RNDeviceInfo.getIpAddressSync(),\n defaultValue: 'unknown'\n});\nexport const [isCameraPresent, isCameraPresentSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'windows', 'web'],\n getter: () => RNDeviceInfo.isCameraPresent(),\n syncGetter: () => RNDeviceInfo.isCameraPresentSync(),\n defaultValue: false\n});\nexport async function getMacAddress() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getMacAddress();\n } else if (Platform.OS === 'ios') {\n return '02:00:00:00:00:00';\n }\n\n return 'unknown';\n}\nexport function getMacAddressSync() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getMacAddressSync();\n } else if (Platform.OS === 'ios') {\n return '02:00:00:00:00:00';\n }\n\n return 'unknown';\n}\nexport const getDeviceId = () => getSupportedPlatformInfoSync({\n defaultValue: 'unknown',\n memoKey: 'deviceId',\n getter: () => RNDeviceInfo.deviceId,\n supportedPlatforms: ['android', 'ios', 'windows']\n});\nexport const [getManufacturer, getManufacturerSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'manufacturer',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => Platform.OS == 'ios' ? Promise.resolve('Apple') : RNDeviceInfo.getSystemManufacturer(),\n syncGetter: () => Platform.OS == 'ios' ? 'Apple' : RNDeviceInfo.getSystemManufacturerSync(),\n defaultValue: 'unknown'\n});\nexport const getModel = () => getSupportedPlatformInfoSync({\n memoKey: 'model',\n defaultValue: 'unknown',\n supportedPlatforms: ['ios', 'android', 'windows'],\n getter: () => RNDeviceInfo.model\n});\nexport const getBrand = () => getSupportedPlatformInfoSync({\n memoKey: 'brand',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.brand\n});\nexport const getSystemName = () => getSupportedPlatformInfoSync({\n defaultValue: 'unknown',\n supportedPlatforms: ['ios', 'android', 'windows'],\n memoKey: 'systemName',\n getter: () => Platform.select({\n ios: RNDeviceInfo.systemName,\n android: 'Android',\n windows: 'Windows',\n default: 'unknown'\n })\n});\nexport const getSystemVersion = () => getSupportedPlatformInfoSync({\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.systemVersion,\n supportedPlatforms: ['android', 'ios', 'windows'],\n memoKey: 'systemVersion'\n});\nexport const [getBuildId, getBuildIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'buildId',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getBuildId(),\n syncGetter: () => RNDeviceInfo.getBuildIdSync(),\n defaultValue: 'unknown'\n});\nexport const [getApiLevel, getApiLevelSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'apiLevel',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getApiLevel(),\n syncGetter: () => RNDeviceInfo.getApiLevelSync(),\n defaultValue: -1\n});\nexport const getBundleId = () => getSupportedPlatformInfoSync({\n memoKey: 'bundleId',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.bundleId\n});\nexport const [getInstallerPackageName, getInstallerPackageNameSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'installerPackageName',\n supportedPlatforms: ['android', 'windows', 'ios'],\n getter: () => RNDeviceInfo.getInstallerPackageName(),\n syncGetter: () => RNDeviceInfo.getInstallerPackageNameSync(),\n defaultValue: 'unknown'\n});\nexport const getApplicationName = () => getSupportedPlatformInfoSync({\n memoKey: 'appName',\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.appName,\n supportedPlatforms: ['android', 'ios', 'windows']\n});\nexport const getBuildNumber = () => getSupportedPlatformInfoSync({\n memoKey: 'buildNumber',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.buildNumber,\n defaultValue: 'unknown'\n});\nexport const getVersion = () => getSupportedPlatformInfoSync({\n memoKey: 'version',\n defaultValue: 'unknown',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.appVersion\n});\nexport function getReadableVersion() {\n return getVersion() + '.' + getBuildNumber();\n}\nexport const [getDeviceName, getDeviceNameSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getDeviceName(),\n syncGetter: () => RNDeviceInfo.getDeviceNameSync(),\n defaultValue: 'unknown'\n});\nexport const [getUsedMemory, getUsedMemorySync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getUsedMemory(),\n syncGetter: () => RNDeviceInfo.getUsedMemorySync(),\n defaultValue: -1\n});\nexport const getUserAgent = () => getSupportedPlatformInfoAsync({\n memoKey: 'userAgent',\n defaultValue: 'unknown',\n supportedPlatforms: ['android', 'ios', 'web'],\n getter: () => RNDeviceInfo.getUserAgent()\n});\nexport const getUserAgentSync = () => getSupportedPlatformInfoSync({\n memoKey: 'userAgentSync',\n defaultValue: 'unknown',\n supportedPlatforms: ['android', 'web'],\n getter: () => RNDeviceInfo.getUserAgentSync()\n});\nexport const [getFontScale, getFontScaleSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getFontScale(),\n syncGetter: () => RNDeviceInfo.getFontScaleSync(),\n defaultValue: -1\n});\nexport const [getBootloader, getBootloaderSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'bootloader',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getBootloader(),\n syncGetter: () => RNDeviceInfo.getBootloaderSync(),\n defaultValue: 'unknown'\n});\nexport const [getDevice, getDeviceSync] = getSupportedPlatformInfoFunctions({\n getter: () => RNDeviceInfo.getDevice(),\n syncGetter: () => RNDeviceInfo.getDeviceSync(),\n defaultValue: 'unknown',\n memoKey: 'device',\n supportedPlatforms: ['android']\n});\nexport const [getDisplay, getDisplaySync] = getSupportedPlatformInfoFunctions({\n memoKey: 'display',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getDisplay(),\n syncGetter: () => RNDeviceInfo.getDisplaySync(),\n defaultValue: 'unknown'\n});\nexport const [getFingerprint, getFingerprintSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'fingerprint',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getFingerprint(),\n syncGetter: () => RNDeviceInfo.getFingerprintSync(),\n defaultValue: 'unknown'\n});\nexport const [getHardware, getHardwareSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'hardware',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getHardware(),\n syncGetter: () => RNDeviceInfo.getHardwareSync(),\n defaultValue: 'unknown'\n});\nexport const [getHost, getHostSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'host',\n supportedPlatforms: ['android', 'windows'],\n getter: () => RNDeviceInfo.getHost(),\n syncGetter: () => RNDeviceInfo.getHostSync(),\n defaultValue: 'unknown'\n});\nexport const [getHostNames, getHostNamesSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'hostNames',\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.getHostNames(),\n syncGetter: () => RNDeviceInfo.getHostNamesSync(),\n defaultValue: []\n});\nexport const [getProduct, getProductSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'product',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getProduct(),\n syncGetter: () => RNDeviceInfo.getProductSync(),\n defaultValue: 'unknown'\n});\nexport const [getTags, getTagsSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'tags',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getTags(),\n syncGetter: () => RNDeviceInfo.getTagsSync(),\n defaultValue: 'unknown'\n});\nexport const [getType, getTypeSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'type',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getType(),\n syncGetter: () => RNDeviceInfo.getTypeSync(),\n defaultValue: 'unknown'\n});\nexport const [getBaseOs, getBaseOsSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'baseOs',\n supportedPlatforms: ['android', 'web', 'windows'],\n getter: () => RNDeviceInfo.getBaseOs(),\n syncGetter: () => RNDeviceInfo.getBaseOsSync(),\n defaultValue: 'unknown'\n});\nexport const [getPreviewSdkInt, getPreviewSdkIntSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'previewSdkInt',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getPreviewSdkInt(),\n syncGetter: () => RNDeviceInfo.getPreviewSdkIntSync(),\n defaultValue: -1\n});\nexport const [getSecurityPatch, getSecurityPatchSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'securityPatch',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSecurityPatch(),\n syncGetter: () => RNDeviceInfo.getSecurityPatchSync(),\n defaultValue: 'unknown'\n});\nexport const [getCodename, getCodenameSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'codeName',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getCodename(),\n syncGetter: () => RNDeviceInfo.getCodenameSync(),\n defaultValue: 'unknown'\n});\nexport const [getIncremental, getIncrementalSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'incremental',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getIncremental(),\n syncGetter: () => RNDeviceInfo.getIncrementalSync(),\n defaultValue: 'unknown'\n});\nexport const [isEmulator, isEmulatorSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'emulator',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.isEmulator(),\n syncGetter: () => RNDeviceInfo.isEmulatorSync(),\n defaultValue: false\n});\nexport const isTablet = () => getSupportedPlatformInfoSync({\n defaultValue: false,\n supportedPlatforms: ['android', 'ios', 'windows'],\n memoKey: 'tablet',\n getter: () => RNDeviceInfo.isTablet\n});\nexport const isLowRamDevice = () => getSupportedPlatformInfoSync({\n defaultValue: false,\n supportedPlatforms: ['android'],\n memoKey: 'lowRam',\n getter: () => RNDeviceInfo.isLowRamDevice\n});\nexport const isDisplayZoomed = () => getSupportedPlatformInfoSync({\n defaultValue: false,\n supportedPlatforms: ['ios'],\n memoKey: 'zoomed',\n getter: () => RNDeviceInfo.isDisplayZoomed\n});\nexport const [isPinOrFingerprintSet, isPinOrFingerprintSetSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.isPinOrFingerprintSet(),\n syncGetter: () => RNDeviceInfo.isPinOrFingerprintSetSync(),\n defaultValue: false\n});\nlet notch;\nexport function hasNotch() {\n if (notch === undefined) {\n let _brand = getBrand();\n\n let _model = getModel();\n\n notch = devicesWithNotch.findIndex(item => item.brand.toLowerCase() === _brand.toLowerCase() && item.model.toLowerCase() === _model.toLowerCase()) !== -1;\n }\n\n return notch;\n}\nlet dynamicIsland;\nexport function hasDynamicIsland() {\n if (dynamicIsland === undefined) {\n let _brand = getBrand();\n\n let _model = getModel();\n\n dynamicIsland = devicesWithDynamicIsland.findIndex(item => item.brand.toLowerCase() === _brand.toLowerCase() && item.model.toLowerCase() === _model.toLowerCase()) !== -1;\n }\n\n return dynamicIsland;\n}\nexport const [hasGms, hasGmsSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.hasGms(),\n syncGetter: () => RNDeviceInfo.hasGmsSync(),\n defaultValue: false\n});\nexport const [hasHms, hasHmsSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.hasHms(),\n syncGetter: () => RNDeviceInfo.hasHmsSync(),\n defaultValue: false\n});\nexport const [getFirstInstallTime, getFirstInstallTimeSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'firstInstallTime',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getFirstInstallTime(),\n syncGetter: () => RNDeviceInfo.getFirstInstallTimeSync(),\n defaultValue: -1\n});\nexport const [getInstallReferrer, getInstallReferrerSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'installReferrer',\n supportedPlatforms: ['android', 'windows', 'web'],\n getter: () => RNDeviceInfo.getInstallReferrer(),\n syncGetter: () => RNDeviceInfo.getInstallReferrerSync(),\n defaultValue: 'unknown'\n});\nexport const [getLastUpdateTime, getLastUpdateTimeSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'lastUpdateTime',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getLastUpdateTime(),\n syncGetter: () => RNDeviceInfo.getLastUpdateTimeSync(),\n defaultValue: -1\n});\nexport const [getCarrier, getCarrierSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.getCarrier(),\n syncGetter: () => RNDeviceInfo.getCarrierSync(),\n defaultValue: 'unknown'\n});\nexport const [getTotalMemory, getTotalMemorySync] = getSupportedPlatformInfoFunctions({\n memoKey: 'totalMemory',\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getTotalMemory(),\n syncGetter: () => RNDeviceInfo.getTotalMemorySync(),\n defaultValue: -1\n});\nexport const [getMaxMemory, getMaxMemorySync] = getSupportedPlatformInfoFunctions({\n memoKey: 'maxMemory',\n supportedPlatforms: ['android', 'windows', 'web'],\n getter: () => RNDeviceInfo.getMaxMemory(),\n syncGetter: () => RNDeviceInfo.getMaxMemorySync(),\n defaultValue: -1\n});\nexport const [getTotalDiskCapacity, getTotalDiskCapacitySync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getTotalDiskCapacity(),\n syncGetter: () => RNDeviceInfo.getTotalDiskCapacitySync(),\n defaultValue: -1\n});\nexport async function getTotalDiskCapacityOld() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getTotalDiskCapacityOld();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getTotalDiskCapacity();\n }\n\n return -1;\n}\nexport function getTotalDiskCapacityOldSync() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getTotalDiskCapacityOldSync();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getTotalDiskCapacitySync();\n }\n\n return -1;\n}\nexport const [getFreeDiskStorage, getFreeDiskStorageSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getFreeDiskStorage(),\n syncGetter: () => RNDeviceInfo.getFreeDiskStorageSync(),\n defaultValue: -1\n});\nexport async function getFreeDiskStorageOld() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getFreeDiskStorageOld();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getFreeDiskStorage();\n }\n\n return -1;\n}\nexport function getFreeDiskStorageOldSync() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getFreeDiskStorageOldSync();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getFreeDiskStorageSync();\n }\n\n return -1;\n}\nexport const [getBatteryLevel, getBatteryLevelSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getBatteryLevel(),\n syncGetter: () => RNDeviceInfo.getBatteryLevelSync(),\n defaultValue: -1\n});\nexport const [getPowerState, getPowerStateSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['ios', 'android', 'windows', 'web'],\n getter: () => RNDeviceInfo.getPowerState(),\n syncGetter: () => RNDeviceInfo.getPowerStateSync(),\n defaultValue: {}\n});\nexport const [isBatteryCharging, isBatteryChargingSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.isBatteryCharging(),\n syncGetter: () => RNDeviceInfo.isBatteryChargingSync(),\n defaultValue: false\n});\nexport async function isLandscape() {\n return Promise.resolve(isLandscapeSync());\n}\nexport function isLandscapeSync() {\n const {\n height,\n width\n } = Dimensions.get('window');\n return width >= height;\n}\nexport const [isAirplaneMode, isAirplaneModeSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'web'],\n getter: () => RNDeviceInfo.isAirplaneMode(),\n syncGetter: () => RNDeviceInfo.isAirplaneModeSync(),\n defaultValue: false\n});\nexport const getDeviceType = () => {\n return getSupportedPlatformInfoSync({\n memoKey: 'deviceType',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.deviceType\n });\n};\nexport const getDeviceTypeSync = () => {\n return getSupportedPlatformInfoSync({\n memoKey: 'deviceType',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.deviceType\n });\n};\nexport const [supportedAbis, supportedAbisSync] = getSupportedPlatformInfoFunctions({\n memoKey: '_supportedAbis',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getSupportedAbis(),\n syncGetter: () => RNDeviceInfo.getSupportedAbisSync(),\n defaultValue: []\n});\nexport const [supported32BitAbis, supported32BitAbisSync] = getSupportedPlatformInfoFunctions({\n memoKey: '_supported32BitAbis',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSupported32BitAbis(),\n syncGetter: () => RNDeviceInfo.getSupported32BitAbisSync(),\n defaultValue: []\n});\nexport const [supported64BitAbis, supported64BitAbisSync] = getSupportedPlatformInfoFunctions({\n memoKey: '_supported64BitAbis',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSupported64BitAbis(),\n syncGetter: () => RNDeviceInfo.getSupported64BitAbisSync(),\n defaultValue: []\n});\nexport async function hasSystemFeature(feature) {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.hasSystemFeature(feature);\n }\n\n return false;\n}\nexport function hasSystemFeatureSync(feature) {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.hasSystemFeatureSync(feature);\n }\n\n return false;\n}\nexport function isLowBatteryLevel(level) {\n if (Platform.OS === 'android') {\n return level < 0.15;\n }\n\n return level < 0.2;\n}\nexport const [getSystemAvailableFeatures, getSystemAvailableFeaturesSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSystemAvailableFeatures(),\n syncGetter: () => RNDeviceInfo.getSystemAvailableFeaturesSync(),\n defaultValue: []\n});\nexport const [isLocationEnabled, isLocationEnabledSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'web'],\n getter: () => RNDeviceInfo.isLocationEnabled(),\n syncGetter: () => RNDeviceInfo.isLocationEnabledSync(),\n defaultValue: false\n});\nexport const [isHeadphonesConnected, isHeadphonesConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.isHeadphonesConnected(),\n syncGetter: () => RNDeviceInfo.isHeadphonesConnectedSync(),\n defaultValue: false\n});\nexport const [isWiredHeadphonesConnected, isWiredHeadphonesConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.isWiredHeadphonesConnected(),\n syncGetter: () => RNDeviceInfo.isWiredHeadphonesConnectedSync(),\n defaultValue: false\n});\nexport const [isBluetoothHeadphonesConnected, isBluetoothHeadphonesConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.isBluetoothHeadphonesConnected(),\n syncGetter: () => RNDeviceInfo.isBluetoothHeadphonesConnectedSync(),\n defaultValue: false\n});\nexport const [isMouseConnected, isMouseConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.isMouseConnected(),\n syncGetter: () => RNDeviceInfo.isMouseConnectedSync(),\n defaultValue: false\n});\nexport const [isKeyboardConnected, isKeyboardConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.isKeyboardConnected(),\n syncGetter: () => RNDeviceInfo.isKeyboardConnectedSync(),\n defaultValue: false\n});\nexport const [getSupportedMediaTypeList, getSupportedMediaTypeListSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSupportedMediaTypeList(),\n syncGetter: () => RNDeviceInfo.getSupportedMediaTypeListSync(),\n defaultValue: []\n});\nexport const isTabletMode = () => getSupportedPlatformInfoAsync({\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.isTabletMode(),\n defaultValue: false\n});\nexport const [getAvailableLocationProviders, getAvailableLocationProvidersSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.getAvailableLocationProviders(),\n syncGetter: () => RNDeviceInfo.getAvailableLocationProvidersSync(),\n defaultValue: {}\n});\nexport const [getBrightness, getBrightnessSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['ios'],\n getter: () => RNDeviceInfo.getBrightness(),\n syncGetter: () => RNDeviceInfo.getBrightnessSync(),\n defaultValue: -1\n});\nexport async function getDeviceToken() {\n if (Platform.OS === 'ios') {\n return RNDeviceInfo.getDeviceToken();\n }\n\n return 'unknown';\n}\nconst deviceInfoEmitter = new NativeEventEmitter(NativeModules.RNDeviceInfo);\nexport function useBatteryLevel() {\n const [batteryLevel, setBatteryLevel] = useState(null);\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getBatteryLevel();\n setBatteryLevel(initialValue);\n };\n\n const onChange = level => {\n setBatteryLevel(level);\n };\n\n setInitialValue();\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_batteryLevelDidChange', onChange);\n return () => subscription.remove();\n }, []);\n return batteryLevel;\n}\nexport function useBatteryLevelIsLow() {\n const [batteryLevelIsLow, setBatteryLevelIsLow] = useState(null);\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getBatteryLevel();\n isLowBatteryLevel(initialValue) && setBatteryLevelIsLow(initialValue);\n };\n\n setInitialValue();\n\n const onChange = level => {\n setBatteryLevelIsLow(level);\n };\n\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_batteryLevelIsLow', onChange);\n return () => subscription.remove();\n }, []);\n return batteryLevelIsLow;\n}\nexport function usePowerState() {\n const [powerState, setPowerState] = useState({});\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getPowerState();\n setPowerState(initialValue);\n };\n\n const onChange = state => {\n setPowerState(state);\n };\n\n setInitialValue();\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_powerStateDidChange', onChange);\n return () => subscription.remove();\n }, []);\n return powerState;\n}\nexport function useIsHeadphonesConnected() {\n return useOnEvent('RNDeviceInfo_headphoneConnectionDidChange', isHeadphonesConnected, false);\n}\nexport function useIsWiredHeadphonesConnected() {\n return useOnEvent('RNDeviceInfo_headphoneWiredConnectionDidChange', isWiredHeadphonesConnected, false);\n}\nexport function useIsBluetoothHeadphonesConnected() {\n return useOnEvent('RNDeviceInfo_headphoneBluetoothConnectionDidChange', isBluetoothHeadphonesConnected, false);\n}\nexport function useFirstInstallTime() {\n return useOnMount(getFirstInstallTime, -1);\n}\nexport function useDeviceName() {\n return useOnMount(getDeviceName, 'unknown');\n}\nexport function useHasSystemFeature(feature) {\n const asyncGetter = useCallback(() => hasSystemFeature(feature), [feature]);\n return useOnMount(asyncGetter, false);\n}\nexport function useIsEmulator() {\n return useOnMount(isEmulator, false);\n}\nexport function useManufacturer() {\n return useOnMount(getManufacturer, 'unknown');\n}\nexport function useBrightness() {\n const [brightness, setBrightness] = useState(null);\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getBrightness();\n setBrightness(initialValue);\n };\n\n const onChange = value => {\n setBrightness(value);\n };\n\n setInitialValue();\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_brightnessDidChange', onChange);\n return () => subscription.remove();\n }, []);\n return brightness;\n}\nconst DeviceInfo = {\n getAndroidId,\n getAndroidIdSync,\n getApiLevel,\n getApiLevelSync,\n getApplicationName,\n getAvailableLocationProviders,\n getAvailableLocationProvidersSync,\n getBaseOs,\n getBaseOsSync,\n getBatteryLevel,\n getBatteryLevelSync,\n getBootloader,\n getBootloaderSync,\n getBrand,\n getBuildId,\n getBuildIdSync,\n getBuildNumber,\n getBundleId,\n getCarrier,\n getCarrierSync,\n getCodename,\n getCodenameSync,\n getDevice,\n getDeviceId,\n getDeviceName,\n getDeviceNameSync,\n getDeviceSync,\n getDeviceToken,\n getDeviceType,\n getDisplay,\n getDisplaySync,\n getFingerprint,\n getFingerprintSync,\n getFirstInstallTime,\n getFirstInstallTimeSync,\n getFontScale,\n getFontScaleSync,\n getFreeDiskStorage,\n getFreeDiskStorageOld,\n getFreeDiskStorageSync,\n getFreeDiskStorageOldSync,\n getHardware,\n getHardwareSync,\n getHost,\n getHostSync,\n getHostNames,\n getHostNamesSync,\n getIncremental,\n getIncrementalSync,\n getInstallerPackageName,\n getInstallerPackageNameSync,\n getInstallReferrer,\n getInstallReferrerSync,\n getInstanceId,\n getInstanceIdSync,\n getIpAddress,\n getIpAddressSync,\n getLastUpdateTime,\n getLastUpdateTimeSync,\n getMacAddress,\n getMacAddressSync,\n getManufacturer,\n getManufacturerSync,\n getMaxMemory,\n getMaxMemorySync,\n getModel,\n getPowerState,\n getPowerStateSync,\n getPreviewSdkInt,\n getPreviewSdkIntSync,\n getProduct,\n getProductSync,\n getReadableVersion,\n getSecurityPatch,\n getSecurityPatchSync,\n getSerialNumber,\n getSerialNumberSync,\n getSystemAvailableFeatures,\n getSystemAvailableFeaturesSync,\n getSystemName,\n getSystemVersion,\n getTags,\n getTagsSync,\n getTotalDiskCapacity,\n getTotalDiskCapacityOld,\n getTotalDiskCapacitySync,\n getTotalDiskCapacityOldSync,\n getTotalMemory,\n getTotalMemorySync,\n getType,\n getTypeSync,\n getUniqueId,\n getUniqueIdSync,\n getUsedMemory,\n getUsedMemorySync,\n getUserAgent,\n getUserAgentSync,\n getVersion,\n getBrightness,\n getBrightnessSync,\n hasGms,\n hasGmsSync,\n hasHms,\n hasHmsSync,\n hasNotch,\n hasDynamicIsland,\n hasSystemFeature,\n hasSystemFeatureSync,\n isAirplaneMode,\n isAirplaneModeSync,\n isBatteryCharging,\n isBatteryChargingSync,\n isCameraPresent,\n isCameraPresentSync,\n isEmulator,\n isEmulatorSync,\n isHeadphonesConnected,\n isHeadphonesConnectedSync,\n isWiredHeadphonesConnected,\n isWiredHeadphonesConnectedSync,\n isBluetoothHeadphonesConnected,\n isBluetoothHeadphonesConnectedSync,\n isLandscape,\n isLandscapeSync,\n isLocationEnabled,\n isLocationEnabledSync,\n isPinOrFingerprintSet,\n isPinOrFingerprintSetSync,\n isMouseConnected,\n isMouseConnectedSync,\n isKeyboardConnected,\n isKeyboardConnectedSync,\n isTabletMode,\n isTablet,\n isLowRamDevice,\n isDisplayZoomed,\n supported32BitAbis,\n supported32BitAbisSync,\n supported64BitAbis,\n supported64BitAbisSync,\n supportedAbis,\n supportedAbisSync,\n syncUniqueId,\n useBatteryLevel,\n useBatteryLevelIsLow,\n useDeviceName,\n useFirstInstallTime,\n useHasSystemFeature,\n useIsEmulator,\n usePowerState,\n useManufacturer,\n useIsHeadphonesConnected,\n useIsWiredHeadphonesConnected,\n useIsBluetoothHeadphonesConnected,\n useBrightness,\n getSupportedMediaTypeList,\n getSupportedMediaTypeListSync\n};\nexport default DeviceInfo;\n//# sourceMappingURL=index.js.map","// adapters/native/deviceInfoNative.native.ts\nimport { Platform } from \"react-native\";\nimport DeviceInfoLib from \"react-native-device-info\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { Telemetry } from \"../../core/telemetry\";\nimport { DeviceInfo } from \"../../core/telemetry\";\n\nexport class DeviceInfoTrackerNative {\n // private telemetry: Telemetry;\n\n // constructor(telemetry?: Telemetry) {\n // this.telemetry = telemetry || new Telemetry();\n // }\n\n constructor() {\n }\n\n async collect(): Promise<DeviceInfo> {\n // 🔹 Device ID\n let uniqueId = \"\";\n try {\n uniqueId = await DeviceInfoLib.getUniqueId();\n } catch {\n uniqueId = `device_${Date.now()}_${uuidv4()}_${Platform.OS}`;\n }\n\n // 🔹 App metadata\n const appName = (await DeviceInfoLib.getApplicationName()) || \"UnknownApp\";\n const appVersion = (await DeviceInfoLib.getVersion()) || \"0.0.0\";\n const buildNumber = (await DeviceInfoLib.getBuildNumber()) || \"0\";\n const packageName = (await DeviceInfoLib.getBundleId()) || \"unknown.package\";\n\n // 🔹 Common Device metadata\n const brand = await DeviceInfoLib.getBrand();\n const manufacturer = (await DeviceInfoLib.getManufacturer()) || \"\";\n const model = (await DeviceInfoLib.getModel()) || \"\";\n const systemVersion = (await DeviceInfoLib.getSystemVersion()) || \"\";\n const systemName = (await DeviceInfoLib.getSystemName()) || \"\"; // iOS: \"iOS\", Android: \"Android\"\n const deviceName = (await DeviceInfoLib.getDeviceName()) || \"\";\n\n // 🔹 Android-only fields\n const sdk = Platform.OS === \"android\" ? await DeviceInfoLib.getApiLevel() : undefined;\n const fingerprint = Platform.OS === \"android\" ? await DeviceInfoLib.getFingerprint?.() : undefined;\n const hardware = Platform.OS === \"android\" ? await DeviceInfoLib.getHardware?.() : undefined;\n const product = Platform.OS === \"android\" ? await DeviceInfoLib.getProduct?.() : undefined;\n\n // 🔹 iOS-only fields\n const iosSystemName = Platform.OS === \"ios\" ? systemName : undefined;\n const iosDeviceName = Platform.OS === \"ios\" ? deviceName : undefined;\n\n const info: DeviceInfo = {\n app: {\n name: appName,\n version: appVersion,\n buildNumber,\n packageName,\n },\n device: {\n id: uniqueId,\n platform: Platform.OS,\n platformVersion: systemVersion,\n model,\n manufacturer,\n brand,\n\n // Android fields\n androidSdk: sdk ? String(sdk) : undefined,\n androidRelease: Platform.OS === \"android\" ? systemVersion : undefined,\n fingerprint,\n hardware,\n product,\n\n // iOS fields\n iosSystemName,\n iosDeviceName,\n },\n };\n\n return info;\n }\n\n /**\n * Context-only adapter. collect() feeds the Context block on every event;\n * start() emits no standalone device_info event (ADR-0002).\n */\n async start(_telemetry: Telemetry): Promise<void> {\n // no-op: device metadata rides as attributes on every event\n }\n}\n"],"names":["useOnMount","asyncGetter","initialResult","response","setResponse","useState","useEffect","result","deviceInfoEmitter","NativeEventEmitter","NativeModules","useOnEvent","eventName","initialValueAsyncGetter","defaultValue","loading","setResult","subscription","useMemo","devicesWithDynamicIsland","devicesWithNotch","RNDeviceInfo","Platform","memo","getSupportedFunction","supportedPlatforms","getter","defaultGetter","supportedMap","key","getSupportedPlatformInfoSync","memoKey","output","getSupportedPlatformInfoAsync","getSupportedPlatformInfoFunctions","syncGetter","asyncParams","getUniqueId","getUniqueIdSync","uniqueId","syncUniqueId","getInstanceId","getInstanceIdSync","getSerialNumber","getSerialNumberSync","getAndroidId","getAndroidIdSync","getIpAddress","getIpAddressSync","isCameraPresent","isCameraPresentSync","getMacAddress","getMacAddressSync","getDeviceId","getManufacturer","getManufacturerSync","getModel","getBrand","getSystemName","getSystemVersion","getBuildId","getBuildIdSync","getApiLevel","getApiLevelSync","getBundleId","getInstallerPackageName","getInstallerPackageNameSync","getApplicationName","getBuildNumber","getVersion","getReadableVersion","getDeviceName","getDeviceNameSync","getUsedMemory","getUsedMemorySync","getUserAgent","getUserAgentSync","getFontScale","getFontScaleSync","getBootloader","getBootloaderSync","getDevice","getDeviceSync","getDisplay","getDisplaySync","getFingerprint","getFingerprintSync","getHardware","getHardwareSync","getHost","getHostSync","getHostNames","getHostNamesSync","getProduct","getProductSync","getTags","getTagsSync","getType","getTypeSync","getBaseOs","getBaseOsSync","getPreviewSdkInt","getPreviewSdkIntSync","getSecurityPatch","getSecurityPatchSync","getCodename","getCodenameSync","getIncremental","getIncrementalSync","isEmulator","isEmulatorSync","isTablet","isLowRamDevice","isDisplayZoomed","isPinOrFingerprintSet","isPinOrFingerprintSetSync","notch","hasNotch","_brand","_model","item","dynamicIsland","hasDynamicIsland","hasGms","hasGmsSync","hasHms","hasHmsSync","getFirstInstallTime","getFirstInstallTimeSync","getInstallReferrer","getInstallReferrerSync","getLastUpdateTime","getLastUpdateTimeSync","getCarrier","getCarrierSync","getTotalMemory","getTotalMemorySync","getMaxMemory","getMaxMemorySync","getTotalDiskCapacity","getTotalDiskCapacitySync","getTotalDiskCapacityOld","getTotalDiskCapacityOldSync","getFreeDiskStorage","getFreeDiskStorageSync","getFreeDiskStorageOld","getFreeDiskStorageOldSync","getBatteryLevel","getBatteryLevelSync","getPowerState","getPowerStateSync","isBatteryCharging","isBatteryChargingSync","isLandscape","isLandscapeSync","height","width","Dimensions","isAirplaneMode","isAirplaneModeSync","getDeviceType","supportedAbis","supportedAbisSync","supported32BitAbis","supported32BitAbisSync","supported64BitAbis","supported64BitAbisSync","hasSystemFeature","feature","hasSystemFeatureSync","isLowBatteryLevel","level","getSystemAvailableFeatures","getSystemAvailableFeaturesSync","isLocationEnabled","isLocationEnabledSync","isHeadphonesConnected","isHeadphonesConnectedSync","isWiredHeadphonesConnected","isWiredHeadphonesConnectedSync","isBluetoothHeadphonesConnected","isBluetoothHeadphonesConnectedSync","isMouseConnected","isMouseConnectedSync","isKeyboardConnected","isKeyboardConnectedSync","getSupportedMediaTypeList","getSupportedMediaTypeListSync","isTabletMode","getAvailableLocationProviders","getAvailableLocationProvidersSync","getBrightness","getBrightnessSync","getDeviceToken","useBatteryLevel","batteryLevel","setBatteryLevel","setInitialValue","initialValue","onChange","useBatteryLevelIsLow","batteryLevelIsLow","setBatteryLevelIsLow","usePowerState","powerState","setPowerState","state","useIsHeadphonesConnected","useIsWiredHeadphonesConnected","useIsBluetoothHeadphonesConnected","useFirstInstallTime","useDeviceName","useHasSystemFeature","useCallback","useIsEmulator","useManufacturer","useBrightness","brightness","setBrightness","value","DeviceInfo","DeviceInfoTrackerNative","DeviceInfoLib","uuidv4","appName","appVersion","buildNumber","packageName","brand","manufacturer","model","systemVersion","systemName","deviceName","sdk","fingerprint","hardware","product","iosSystemName","iosDeviceName","_telemetry"],"mappings":"mKAQO,SAASA,EAAWC,EAAaC,EAAe,CACrD,KAAM,CAACC,EAAUC,CAAW,EAAIC,WAAS,CACvC,QAAS,GACT,OAAQH,CACZ,CAAG,EACDI,OAAAA,EAAAA,UAAU,IAAM,EAEG,SAAY,CAC3B,MAAMC,EAAS,MAAMN,EAAW,EAChCG,EAAY,CACV,QAAS,GACT,OAAAG,CACR,CAAO,CACH,GAEQ,CACV,EAAG,CAACN,CAAW,CAAC,EACTE,CACT,CACO,MAAMK,GAAoB,IAAIC,EAAAA,mBAAmBC,EAAAA,cAAc,YAAY,EAQ3E,SAASC,EAAWC,EAAWC,EAAyBC,EAAc,CAC3E,KAAM,CACJ,QAAAC,EACA,OAAQb,CACZ,EAAMF,EAAWa,EAAyBC,CAAY,EAC9C,CAACP,EAAQS,CAAS,EAAIX,EAAAA,SAASS,CAAY,EAEjDR,OAAAA,EAAAA,UAAU,IAAM,CACdU,EAAUd,CAAa,CACzB,EAAG,CAACA,CAAa,CAAC,EAGlBI,EAAAA,UAAU,IAAM,CACd,MAAMW,EAAeT,GAAkB,YAAYI,EAAWI,CAAS,EACvE,MAAO,IAAMC,EAAa,OAAM,CAClC,EAAG,CAACL,CAAS,CAAC,EAEPM,EAAAA,QAAQ,KAAO,CACpB,QAAAH,EACA,OAAAR,CACJ,GAAM,CAACQ,EAASR,CAAM,CAAC,CACvB,CCxDA,MAAMY,GAA2B,CAAC,CAChC,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,CAAC,EC9BKC,GAAmB,CAAC,CACxB,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,UACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,OACP,MAAO,WACT,EAAG,CACD,MAAO,OACP,MAAO,YACT,EAAG,CACD,MAAO,SACP,MAAO,YACT,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,KACT,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,YACT,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,cACT,EAAG,CACD,MAAO,SACP,MAAO,aACT,EAAG,CACD,MAAO,SACP,MAAO,SAET,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,SAET,EAAG,CACD,MAAO,SACP,MAAO,QACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,IACT,EAAG,CACD,MAAO,KACP,MAAO,IACT,EAAG,CACD,MAAO,KACP,MAAO,UACT,EAAG,CACD,MAAO,KACP,MAAO,WACT,EAAG,CACD,MAAO,KACP,MAAO,SAET,EAAG,CACD,MAAO,KACP,MAAO,SAET,EAAG,CACD,MAAO,KACP,MAAO,SAET,EAAG,CACD,MAAO,WACP,MAAO,cACT,EAAG,CACD,MAAO,WACP,MAAO,eACT,EAAG,CACD,MAAO,WACP,MAAO,KACT,EAAG,CACD,MAAO,WACP,MAAO,qBACT,EAAG,CACD,MAAO,QACP,MAAO,UACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,KACT,EAAG,CACD,MAAO,QACP,MAAO,KACT,EAAG,CACD,MAAO,UACP,MAAO,GACT,EAAG,CACD,MAAO,UACP,MAAO,OACT,EAAG,CACD,MAAO,UACP,MAAO,OACT,EAAG,CACD,MAAO,UACP,MAAO,eACT,EAAG,CACD,MAAO,UACP,MAAO,eACT,EAAG,CACD,MAAO,UACP,MAAO,eACT,EAAG,CACD,MAAO,UACP,MAAO,eACT,EAAG,CACD,MAAO,OACP,MAAO,KACT,EAAG,CACD,MAAO,OACP,MAAO,SACT,EAAG,CACD,MAAO,OACP,MAAO,IACT,EAAG,CACD,MAAO,UACP,MAAO,KACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,UACT,EAAG,CACD,MAAO,OACP,MAAO,IACT,EAAG,CACD,MAAO,OACP,MAAO,KACT,EAAG,CACD,MAAO,OACP,MAAO,QACT,EAAG,CACD,MAAO,SACP,MAAO,MACT,EAAG,CACD,MAAO,SACP,MAAO,uBACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,WACT,EAAG,CACD,MAAO,SACP,MAAO,MA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","x_google_ignoreList":[0,1,2,3,4,5]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"deviceInfo.native-D2k0LDhI.js","sources":["../node_modules/react-native-device-info/lib/module/internal/asyncHookWrappers.js","../node_modules/react-native-device-info/lib/module/internal/devicesWithDynamicIsland.js","../node_modules/react-native-device-info/lib/module/internal/devicesWithNotch.js","../node_modules/react-native-device-info/lib/module/internal/nativeInterface.js","../node_modules/react-native-device-info/lib/module/internal/supported-platform-info.js","../node_modules/react-native-device-info/lib/module/index.js","../src/adapters/native/deviceInfo.native.ts"],"sourcesContent":["import { useState, useEffect, useMemo } from 'react';\nimport { NativeEventEmitter, NativeModules } from 'react-native';\n\n/**\n * simple hook wrapper for async functions for 'on-mount / componentDidMount' that only need to fired once\n * @param asyncGetter async function that 'gets' something\n * @param initialResult -1 | false | 'unknown'\n */\nexport function useOnMount(asyncGetter, initialResult) {\n const [response, setResponse] = useState({\n loading: true,\n result: initialResult\n });\n useEffect(() => {\n // async function cuz react complains if useEffect's effect param is an async function\n const getAsync = async () => {\n const result = await asyncGetter();\n setResponse({\n loading: false,\n result\n });\n };\n\n getAsync();\n }, [asyncGetter]);\n return response;\n}\nexport const deviceInfoEmitter = new NativeEventEmitter(NativeModules.RNDeviceInfo);\n/**\n * simple hook wrapper for handling events\n * @param eventName\n * @param initialValueAsyncGetter\n * @param defaultValue\n */\n\nexport function useOnEvent(eventName, initialValueAsyncGetter, defaultValue) {\n const {\n loading,\n result: initialResult\n } = useOnMount(initialValueAsyncGetter, defaultValue);\n const [result, setResult] = useState(defaultValue); // sets the result to what the intial value is on mount\n\n useEffect(() => {\n setResult(initialResult);\n }, [initialResult]); // - set up the event listener to set the result\n // - set up the clean up function to remove subscription on unmount\n\n useEffect(() => {\n const subscription = deviceInfoEmitter.addListener(eventName, setResult);\n return () => subscription.remove();\n }, [eventName]); // loading will only be true while getting the inital value. After that, it will always be false, but a new result may occur\n\n return useMemo(() => ({\n loading,\n result\n }), [loading, result]);\n}\n//# sourceMappingURL=asyncHookWrappers.js.map","const devicesWithDynamicIsland = [{\n brand: 'Apple',\n model: 'iPhone 16'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 15'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro Max'\n}];\nexport default devicesWithDynamicIsland;\n//# sourceMappingURL=devicesWithDynamicIsland.js.map","const devicesWithNotch = [{\n brand: 'Apple',\n model: 'iPhone 16'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 15'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 14'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 13 mini'\n}, {\n brand: 'Apple',\n model: 'iPhone 13'\n}, {\n brand: 'Apple',\n model: 'iPhone 13 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 13 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 12 mini'\n}, {\n brand: 'Apple',\n model: 'iPhone 12'\n}, {\n brand: 'Apple',\n model: 'iPhone 12 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 12 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 11'\n}, {\n brand: 'Apple',\n model: 'iPhone 11 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 11 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone X'\n}, {\n brand: 'Apple',\n model: 'iPhone XS'\n}, {\n brand: 'Apple',\n model: 'iPhone XS Max'\n}, {\n brand: 'Apple',\n model: 'iPhone XR'\n}, {\n brand: 'Asus',\n model: 'ZenFone 5'\n}, {\n brand: 'Asus',\n model: 'ZenFone 5z'\n}, {\n brand: 'google',\n model: 'Pixel 3 XL'\n}, {\n brand: 'google',\n model: 'Pixel 4a'\n}, {\n brand: 'Huawei',\n model: 'P20'\n}, {\n brand: 'Huawei',\n model: 'P20 Plus'\n}, {\n brand: 'Huawei',\n model: 'P20 Lite'\n}, {\n brand: 'Huawei',\n model: 'ANE-LX1'\n}, {\n brand: 'Huawei',\n model: 'INE-LX1'\n}, {\n brand: 'Huawei',\n model: 'POT-LX1'\n}, {\n brand: 'Huawei',\n model: 'Honor Play'\n}, {\n brand: 'Huawei',\n model: 'Honor 10'\n}, {\n brand: 'Huawei',\n model: 'Mate 20 Lite'\n}, {\n brand: 'Huawei',\n model: 'Mate 20 Pro'\n}, {\n brand: 'Huawei',\n model: 'ELE-L29' // P30\n\n}, {\n brand: 'Huawei',\n model: 'P30 Lite'\n}, {\n brand: 'Huawei',\n model: 'P30 Pro'\n}, {\n brand: 'Huawei',\n model: 'JNY-LX1' // P40 Lite\n\n}, {\n brand: 'Huawei',\n model: 'Nova 3'\n}, {\n brand: 'Huawei',\n model: 'Nova 3i'\n}, {\n brand: 'Leagoo',\n model: 'S9'\n}, {\n brand: 'LG',\n model: 'G7'\n}, {\n brand: 'LG',\n model: 'G7 ThinQ'\n}, {\n brand: 'LG',\n model: 'G7+ ThinQ'\n}, {\n brand: 'LG',\n model: 'LM-Q910' //G7 One\n\n}, {\n brand: 'LG',\n model: 'LM-G710' //G7 ThinQ\n\n}, {\n brand: 'LG',\n model: 'LM-V405' //V40 ThinQ\n\n}, {\n brand: 'Motorola',\n model: 'Moto g7 Play'\n}, {\n brand: 'Motorola',\n model: 'Moto g7 Power'\n}, {\n brand: 'Motorola',\n model: 'One'\n}, {\n brand: 'Motorola',\n model: 'Motorola One Vision'\n}, {\n brand: 'Nokia',\n model: '5.1 Plus'\n}, {\n brand: 'Nokia',\n model: 'Nokia 6.1 Plus'\n}, {\n brand: 'Nokia',\n model: '7.1'\n}, {\n brand: 'Nokia',\n model: '8.1'\n}, {\n brand: 'OnePlus',\n model: '6'\n}, {\n brand: 'OnePlus',\n model: 'A6003'\n}, {\n brand: 'ONEPLUS',\n model: 'A6000'\n}, {\n brand: 'OnePlus',\n model: 'OnePlus A6003'\n}, {\n brand: 'OnePlus',\n model: 'ONEPLUS A6010'\n}, {\n brand: 'OnePlus',\n model: 'ONEPLUS A6013'\n}, {\n brand: 'OnePlus',\n model: 'ONEPLUS A6000'\n}, {\n brand: 'Oppo',\n model: 'R15'\n}, {\n brand: 'Oppo',\n model: 'R15 Pro'\n}, {\n brand: 'Oppo',\n model: 'F7'\n}, {\n brand: 'Oukitel',\n model: 'U18'\n}, {\n brand: 'Redmi',\n model: 'M2004J19C'\n}, {\n brand: 'Sharp',\n model: 'Aquos S3'\n}, {\n brand: 'Vivo',\n model: 'V9'\n}, {\n brand: 'Vivo',\n model: 'X21'\n}, {\n brand: 'Vivo',\n model: 'X21 UD'\n}, {\n brand: 'xiaomi',\n model: 'MI 8'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 Explorer Edition'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 SE'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 UD'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 Lite'\n}, {\n brand: 'xiaomi',\n model: 'Mi 9'\n}, {\n brand: 'xiaomi',\n model: 'POCO F1'\n}, {\n brand: 'xiaomi',\n model: 'POCOPHONE F1'\n}, {\n brand: 'xiaomi',\n model: 'Redmi 6 Pro'\n}, {\n brand: 'xiaomi',\n model: 'Redmi Note 7'\n}, {\n brand: 'xiaomi',\n model: 'Redmi 7'\n}, {\n brand: 'xiaomi',\n model: 'Redmi Note 8'\n}, {\n brand: 'xiaomi',\n model: 'Redmi Note 8 Pro'\n}, {\n brand: 'xiaomi',\n model: 'Mi A2 Lite'\n}, {\n brand: 'Blackview',\n model: 'A30'\n}, {\n brand: 'Samsung',\n model: 'SM-A202F'\n}, {\n brand: 'Samsung',\n model: 'SM-A217F'\n}, {\n brand: 'Samsung',\n model: 'SM-A715F'\n}];\nexport default devicesWithNotch;\n//# sourceMappingURL=devicesWithNotch.js.map","import { Platform, NativeModules } from 'react-native';\nlet RNDeviceInfo = NativeModules.RNDeviceInfo; // @ts-ignore\n\nif (Platform.OS === 'web' || Platform.OS === 'dom') {\n RNDeviceInfo = require('../web');\n}\n\nif (!RNDeviceInfo) {\n // Produce an error if we don't have the native module\n if (Platform.OS === 'android' || Platform.OS === 'ios' || Platform.OS === 'web' || // @ts-ignore\n Platform.OS === 'dom') {\n throw new Error(`react-native-device-info: NativeModule.RNDeviceInfo is null. To fix this issue try these steps:\n • For react-native <= 0.59: Run \\`react-native link react-native-device-info\\` in the project root.\n • Rebuild and re-run the app.\n • If you are using CocoaPods on iOS, run \\`pod install\\` in the \\`ios\\` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods.\n If none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-device-info/react-native-device-info`);\n }\n}\n\nexport default RNDeviceInfo;\n//# sourceMappingURL=nativeInterface.js.map","import { Platform } from 'react-native';\n// centralized memo object\nlet memo = {};\nexport function clearMemo() {\n memo = {};\n}\n/**\n * function returns the proper getter based current platform X supported platforms\n * @param supportedPlatforms array of supported platforms (OS)\n * @param getter desired function used to get info\n * @param defaultGetter getter that returns a default value if desired getter is not supported by current platform\n */\n\nfunction getSupportedFunction(supportedPlatforms, getter, defaultGetter) {\n let supportedMap = {};\n supportedPlatforms.filter(key => Platform.OS == key).forEach(key => supportedMap[key] = getter);\n return Platform.select({ ...supportedMap,\n default: defaultGetter\n });\n}\n/**\n * function used to get desired info synchronously — with optional memoization\n * @param param0\n */\n\n\nexport function getSupportedPlatformInfoSync({\n getter,\n supportedPlatforms,\n defaultValue,\n memoKey\n}) {\n if (memoKey && memo[memoKey] != undefined) {\n return memo[memoKey];\n } else {\n const output = getSupportedFunction(supportedPlatforms, getter, () => defaultValue)();\n\n if (memoKey) {\n memo[memoKey] = output;\n }\n\n return output;\n }\n}\n/**\n * function used to get desired info asynchronously — with optional memoization\n * @param param0\n */\n\nexport async function getSupportedPlatformInfoAsync({\n getter,\n supportedPlatforms,\n defaultValue,\n memoKey\n}) {\n if (memoKey && memo[memoKey] != undefined) {\n return memo[memoKey];\n } else {\n const output = await getSupportedFunction(supportedPlatforms, getter, () => Promise.resolve(defaultValue))();\n\n if (memoKey) {\n memo[memoKey] = output;\n }\n\n return output;\n }\n}\n/**\n * function that returns array of getter functions [async, sync]\n * @param param0\n */\n\nexport function getSupportedPlatformInfoFunctions({\n syncGetter,\n ...asyncParams\n}) {\n return [() => getSupportedPlatformInfoAsync(asyncParams), () => getSupportedPlatformInfoSync({ ...asyncParams,\n getter: syncGetter\n })];\n}\n//# sourceMappingURL=supported-platform-info.js.map","import { useCallback, useEffect, useState } from 'react';\nimport { Dimensions, NativeEventEmitter, NativeModules, Platform } from 'react-native';\nimport { useOnEvent, useOnMount } from './internal/asyncHookWrappers';\nimport devicesWithDynamicIsland from \"./internal/devicesWithDynamicIsland\";\nimport devicesWithNotch from './internal/devicesWithNotch';\nimport RNDeviceInfo from './internal/nativeInterface';\nimport { getSupportedPlatformInfoAsync, getSupportedPlatformInfoFunctions, getSupportedPlatformInfoSync } from './internal/supported-platform-info';\nexport const [getUniqueId, getUniqueIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'uniqueId',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getUniqueId(),\n syncGetter: () => RNDeviceInfo.getUniqueIdSync(),\n defaultValue: 'unknown'\n});\nlet uniqueId;\nexport async function syncUniqueId() {\n if (Platform.OS === 'ios') {\n uniqueId = await RNDeviceInfo.syncUniqueId();\n } else {\n uniqueId = await getUniqueId();\n }\n\n return uniqueId;\n}\nexport const [getInstanceId, getInstanceIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'instanceId',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getInstanceId(),\n syncGetter: () => RNDeviceInfo.getInstanceIdSync(),\n defaultValue: 'unknown'\n});\nexport const [getSerialNumber, getSerialNumberSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'serialNumber',\n supportedPlatforms: ['android', 'windows'],\n getter: () => RNDeviceInfo.getSerialNumber(),\n syncGetter: () => RNDeviceInfo.getSerialNumberSync(),\n defaultValue: 'unknown'\n});\nexport const [getAndroidId, getAndroidIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'androidId',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getAndroidId(),\n syncGetter: () => RNDeviceInfo.getAndroidIdSync(),\n defaultValue: 'unknown'\n});\nexport const [getIpAddress, getIpAddressSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getIpAddress(),\n syncGetter: () => RNDeviceInfo.getIpAddressSync(),\n defaultValue: 'unknown'\n});\nexport const [isCameraPresent, isCameraPresentSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'windows', 'web'],\n getter: () => RNDeviceInfo.isCameraPresent(),\n syncGetter: () => RNDeviceInfo.isCameraPresentSync(),\n defaultValue: false\n});\nexport async function getMacAddress() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getMacAddress();\n } else if (Platform.OS === 'ios') {\n return '02:00:00:00:00:00';\n }\n\n return 'unknown';\n}\nexport function getMacAddressSync() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getMacAddressSync();\n } else if (Platform.OS === 'ios') {\n return '02:00:00:00:00:00';\n }\n\n return 'unknown';\n}\nexport const getDeviceId = () => getSupportedPlatformInfoSync({\n defaultValue: 'unknown',\n memoKey: 'deviceId',\n getter: () => RNDeviceInfo.deviceId,\n supportedPlatforms: ['android', 'ios', 'windows']\n});\nexport const [getManufacturer, getManufacturerSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'manufacturer',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => Platform.OS == 'ios' ? Promise.resolve('Apple') : RNDeviceInfo.getSystemManufacturer(),\n syncGetter: () => Platform.OS == 'ios' ? 'Apple' : RNDeviceInfo.getSystemManufacturerSync(),\n defaultValue: 'unknown'\n});\nexport const getModel = () => getSupportedPlatformInfoSync({\n memoKey: 'model',\n defaultValue: 'unknown',\n supportedPlatforms: ['ios', 'android', 'windows'],\n getter: () => RNDeviceInfo.model\n});\nexport const getBrand = () => getSupportedPlatformInfoSync({\n memoKey: 'brand',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.brand\n});\nexport const getSystemName = () => getSupportedPlatformInfoSync({\n defaultValue: 'unknown',\n supportedPlatforms: ['ios', 'android', 'windows'],\n memoKey: 'systemName',\n getter: () => Platform.select({\n ios: RNDeviceInfo.systemName,\n android: 'Android',\n windows: 'Windows',\n default: 'unknown'\n })\n});\nexport const getSystemVersion = () => getSupportedPlatformInfoSync({\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.systemVersion,\n supportedPlatforms: ['android', 'ios', 'windows'],\n memoKey: 'systemVersion'\n});\nexport const [getBuildId, getBuildIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'buildId',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getBuildId(),\n syncGetter: () => RNDeviceInfo.getBuildIdSync(),\n defaultValue: 'unknown'\n});\nexport const [getApiLevel, getApiLevelSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'apiLevel',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getApiLevel(),\n syncGetter: () => RNDeviceInfo.getApiLevelSync(),\n defaultValue: -1\n});\nexport const getBundleId = () => getSupportedPlatformInfoSync({\n memoKey: 'bundleId',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.bundleId\n});\nexport const [getInstallerPackageName, getInstallerPackageNameSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'installerPackageName',\n supportedPlatforms: ['android', 'windows', 'ios'],\n getter: () => RNDeviceInfo.getInstallerPackageName(),\n syncGetter: () => RNDeviceInfo.getInstallerPackageNameSync(),\n defaultValue: 'unknown'\n});\nexport const getApplicationName = () => getSupportedPlatformInfoSync({\n memoKey: 'appName',\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.appName,\n supportedPlatforms: ['android', 'ios', 'windows']\n});\nexport const getBuildNumber = () => getSupportedPlatformInfoSync({\n memoKey: 'buildNumber',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.buildNumber,\n defaultValue: 'unknown'\n});\nexport const getVersion = () => getSupportedPlatformInfoSync({\n memoKey: 'version',\n defaultValue: 'unknown',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.appVersion\n});\nexport function getReadableVersion() {\n return getVersion() + '.' + getBuildNumber();\n}\nexport const [getDeviceName, getDeviceNameSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getDeviceName(),\n syncGetter: () => RNDeviceInfo.getDeviceNameSync(),\n defaultValue: 'unknown'\n});\nexport const [getUsedMemory, getUsedMemorySync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getUsedMemory(),\n syncGetter: () => RNDeviceInfo.getUsedMemorySync(),\n defaultValue: -1\n});\nexport const getUserAgent = () => getSupportedPlatformInfoAsync({\n memoKey: 'userAgent',\n defaultValue: 'unknown',\n supportedPlatforms: ['android', 'ios', 'web'],\n getter: () => RNDeviceInfo.getUserAgent()\n});\nexport const getUserAgentSync = () => getSupportedPlatformInfoSync({\n memoKey: 'userAgentSync',\n defaultValue: 'unknown',\n supportedPlatforms: ['android', 'web'],\n getter: () => RNDeviceInfo.getUserAgentSync()\n});\nexport const [getFontScale, getFontScaleSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getFontScale(),\n syncGetter: () => RNDeviceInfo.getFontScaleSync(),\n defaultValue: -1\n});\nexport const [getBootloader, getBootloaderSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'bootloader',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getBootloader(),\n syncGetter: () => RNDeviceInfo.getBootloaderSync(),\n defaultValue: 'unknown'\n});\nexport const [getDevice, getDeviceSync] = getSupportedPlatformInfoFunctions({\n getter: () => RNDeviceInfo.getDevice(),\n syncGetter: () => RNDeviceInfo.getDeviceSync(),\n defaultValue: 'unknown',\n memoKey: 'device',\n supportedPlatforms: ['android']\n});\nexport const [getDisplay, getDisplaySync] = getSupportedPlatformInfoFunctions({\n memoKey: 'display',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getDisplay(),\n syncGetter: () => RNDeviceInfo.getDisplaySync(),\n defaultValue: 'unknown'\n});\nexport const [getFingerprint, getFingerprintSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'fingerprint',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getFingerprint(),\n syncGetter: () => RNDeviceInfo.getFingerprintSync(),\n defaultValue: 'unknown'\n});\nexport const [getHardware, getHardwareSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'hardware',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getHardware(),\n syncGetter: () => RNDeviceInfo.getHardwareSync(),\n defaultValue: 'unknown'\n});\nexport const [getHost, getHostSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'host',\n supportedPlatforms: ['android', 'windows'],\n getter: () => RNDeviceInfo.getHost(),\n syncGetter: () => RNDeviceInfo.getHostSync(),\n defaultValue: 'unknown'\n});\nexport const [getHostNames, getHostNamesSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'hostNames',\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.getHostNames(),\n syncGetter: () => RNDeviceInfo.getHostNamesSync(),\n defaultValue: []\n});\nexport const [getProduct, getProductSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'product',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getProduct(),\n syncGetter: () => RNDeviceInfo.getProductSync(),\n defaultValue: 'unknown'\n});\nexport const [getTags, getTagsSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'tags',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getTags(),\n syncGetter: () => RNDeviceInfo.getTagsSync(),\n defaultValue: 'unknown'\n});\nexport const [getType, getTypeSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'type',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getType(),\n syncGetter: () => RNDeviceInfo.getTypeSync(),\n defaultValue: 'unknown'\n});\nexport const [getBaseOs, getBaseOsSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'baseOs',\n supportedPlatforms: ['android', 'web', 'windows'],\n getter: () => RNDeviceInfo.getBaseOs(),\n syncGetter: () => RNDeviceInfo.getBaseOsSync(),\n defaultValue: 'unknown'\n});\nexport const [getPreviewSdkInt, getPreviewSdkIntSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'previewSdkInt',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getPreviewSdkInt(),\n syncGetter: () => RNDeviceInfo.getPreviewSdkIntSync(),\n defaultValue: -1\n});\nexport const [getSecurityPatch, getSecurityPatchSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'securityPatch',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSecurityPatch(),\n syncGetter: () => RNDeviceInfo.getSecurityPatchSync(),\n defaultValue: 'unknown'\n});\nexport const [getCodename, getCodenameSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'codeName',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getCodename(),\n syncGetter: () => RNDeviceInfo.getCodenameSync(),\n defaultValue: 'unknown'\n});\nexport const [getIncremental, getIncrementalSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'incremental',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getIncremental(),\n syncGetter: () => RNDeviceInfo.getIncrementalSync(),\n defaultValue: 'unknown'\n});\nexport const [isEmulator, isEmulatorSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'emulator',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.isEmulator(),\n syncGetter: () => RNDeviceInfo.isEmulatorSync(),\n defaultValue: false\n});\nexport const isTablet = () => getSupportedPlatformInfoSync({\n defaultValue: false,\n supportedPlatforms: ['android', 'ios', 'windows'],\n memoKey: 'tablet',\n getter: () => RNDeviceInfo.isTablet\n});\nexport const isLowRamDevice = () => getSupportedPlatformInfoSync({\n defaultValue: false,\n supportedPlatforms: ['android'],\n memoKey: 'lowRam',\n getter: () => RNDeviceInfo.isLowRamDevice\n});\nexport const isDisplayZoomed = () => getSupportedPlatformInfoSync({\n defaultValue: false,\n supportedPlatforms: ['ios'],\n memoKey: 'zoomed',\n getter: () => RNDeviceInfo.isDisplayZoomed\n});\nexport const [isPinOrFingerprintSet, isPinOrFingerprintSetSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.isPinOrFingerprintSet(),\n syncGetter: () => RNDeviceInfo.isPinOrFingerprintSetSync(),\n defaultValue: false\n});\nlet notch;\nexport function hasNotch() {\n if (notch === undefined) {\n let _brand = getBrand();\n\n let _model = getModel();\n\n notch = devicesWithNotch.findIndex(item => item.brand.toLowerCase() === _brand.toLowerCase() && item.model.toLowerCase() === _model.toLowerCase()) !== -1;\n }\n\n return notch;\n}\nlet dynamicIsland;\nexport function hasDynamicIsland() {\n if (dynamicIsland === undefined) {\n let _brand = getBrand();\n\n let _model = getModel();\n\n dynamicIsland = devicesWithDynamicIsland.findIndex(item => item.brand.toLowerCase() === _brand.toLowerCase() && item.model.toLowerCase() === _model.toLowerCase()) !== -1;\n }\n\n return dynamicIsland;\n}\nexport const [hasGms, hasGmsSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.hasGms(),\n syncGetter: () => RNDeviceInfo.hasGmsSync(),\n defaultValue: false\n});\nexport const [hasHms, hasHmsSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.hasHms(),\n syncGetter: () => RNDeviceInfo.hasHmsSync(),\n defaultValue: false\n});\nexport const [getFirstInstallTime, getFirstInstallTimeSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'firstInstallTime',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getFirstInstallTime(),\n syncGetter: () => RNDeviceInfo.getFirstInstallTimeSync(),\n defaultValue: -1\n});\nexport const [getInstallReferrer, getInstallReferrerSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'installReferrer',\n supportedPlatforms: ['android', 'windows', 'web'],\n getter: () => RNDeviceInfo.getInstallReferrer(),\n syncGetter: () => RNDeviceInfo.getInstallReferrerSync(),\n defaultValue: 'unknown'\n});\nexport const [getLastUpdateTime, getLastUpdateTimeSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'lastUpdateTime',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getLastUpdateTime(),\n syncGetter: () => RNDeviceInfo.getLastUpdateTimeSync(),\n defaultValue: -1\n});\nexport const [getCarrier, getCarrierSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.getCarrier(),\n syncGetter: () => RNDeviceInfo.getCarrierSync(),\n defaultValue: 'unknown'\n});\nexport const [getTotalMemory, getTotalMemorySync] = getSupportedPlatformInfoFunctions({\n memoKey: 'totalMemory',\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getTotalMemory(),\n syncGetter: () => RNDeviceInfo.getTotalMemorySync(),\n defaultValue: -1\n});\nexport const [getMaxMemory, getMaxMemorySync] = getSupportedPlatformInfoFunctions({\n memoKey: 'maxMemory',\n supportedPlatforms: ['android', 'windows', 'web'],\n getter: () => RNDeviceInfo.getMaxMemory(),\n syncGetter: () => RNDeviceInfo.getMaxMemorySync(),\n defaultValue: -1\n});\nexport const [getTotalDiskCapacity, getTotalDiskCapacitySync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getTotalDiskCapacity(),\n syncGetter: () => RNDeviceInfo.getTotalDiskCapacitySync(),\n defaultValue: -1\n});\nexport async function getTotalDiskCapacityOld() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getTotalDiskCapacityOld();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getTotalDiskCapacity();\n }\n\n return -1;\n}\nexport function getTotalDiskCapacityOldSync() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getTotalDiskCapacityOldSync();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getTotalDiskCapacitySync();\n }\n\n return -1;\n}\nexport const [getFreeDiskStorage, getFreeDiskStorageSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getFreeDiskStorage(),\n syncGetter: () => RNDeviceInfo.getFreeDiskStorageSync(),\n defaultValue: -1\n});\nexport async function getFreeDiskStorageOld() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getFreeDiskStorageOld();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getFreeDiskStorage();\n }\n\n return -1;\n}\nexport function getFreeDiskStorageOldSync() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getFreeDiskStorageOldSync();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getFreeDiskStorageSync();\n }\n\n return -1;\n}\nexport const [getBatteryLevel, getBatteryLevelSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getBatteryLevel(),\n syncGetter: () => RNDeviceInfo.getBatteryLevelSync(),\n defaultValue: -1\n});\nexport const [getPowerState, getPowerStateSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['ios', 'android', 'windows', 'web'],\n getter: () => RNDeviceInfo.getPowerState(),\n syncGetter: () => RNDeviceInfo.getPowerStateSync(),\n defaultValue: {}\n});\nexport const [isBatteryCharging, isBatteryChargingSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.isBatteryCharging(),\n syncGetter: () => RNDeviceInfo.isBatteryChargingSync(),\n defaultValue: false\n});\nexport async function isLandscape() {\n return Promise.resolve(isLandscapeSync());\n}\nexport function isLandscapeSync() {\n const {\n height,\n width\n } = Dimensions.get('window');\n return width >= height;\n}\nexport const [isAirplaneMode, isAirplaneModeSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'web'],\n getter: () => RNDeviceInfo.isAirplaneMode(),\n syncGetter: () => RNDeviceInfo.isAirplaneModeSync(),\n defaultValue: false\n});\nexport const getDeviceType = () => {\n return getSupportedPlatformInfoSync({\n memoKey: 'deviceType',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.deviceType\n });\n};\nexport const getDeviceTypeSync = () => {\n return getSupportedPlatformInfoSync({\n memoKey: 'deviceType',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.deviceType\n });\n};\nexport const [supportedAbis, supportedAbisSync] = getSupportedPlatformInfoFunctions({\n memoKey: '_supportedAbis',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getSupportedAbis(),\n syncGetter: () => RNDeviceInfo.getSupportedAbisSync(),\n defaultValue: []\n});\nexport const [supported32BitAbis, supported32BitAbisSync] = getSupportedPlatformInfoFunctions({\n memoKey: '_supported32BitAbis',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSupported32BitAbis(),\n syncGetter: () => RNDeviceInfo.getSupported32BitAbisSync(),\n defaultValue: []\n});\nexport const [supported64BitAbis, supported64BitAbisSync] = getSupportedPlatformInfoFunctions({\n memoKey: '_supported64BitAbis',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSupported64BitAbis(),\n syncGetter: () => RNDeviceInfo.getSupported64BitAbisSync(),\n defaultValue: []\n});\nexport async function hasSystemFeature(feature) {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.hasSystemFeature(feature);\n }\n\n return false;\n}\nexport function hasSystemFeatureSync(feature) {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.hasSystemFeatureSync(feature);\n }\n\n return false;\n}\nexport function isLowBatteryLevel(level) {\n if (Platform.OS === 'android') {\n return level < 0.15;\n }\n\n return level < 0.2;\n}\nexport const [getSystemAvailableFeatures, getSystemAvailableFeaturesSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSystemAvailableFeatures(),\n syncGetter: () => RNDeviceInfo.getSystemAvailableFeaturesSync(),\n defaultValue: []\n});\nexport const [isLocationEnabled, isLocationEnabledSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'web'],\n getter: () => RNDeviceInfo.isLocationEnabled(),\n syncGetter: () => RNDeviceInfo.isLocationEnabledSync(),\n defaultValue: false\n});\nexport const [isHeadphonesConnected, isHeadphonesConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.isHeadphonesConnected(),\n syncGetter: () => RNDeviceInfo.isHeadphonesConnectedSync(),\n defaultValue: false\n});\nexport const [isWiredHeadphonesConnected, isWiredHeadphonesConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.isWiredHeadphonesConnected(),\n syncGetter: () => RNDeviceInfo.isWiredHeadphonesConnectedSync(),\n defaultValue: false\n});\nexport const [isBluetoothHeadphonesConnected, isBluetoothHeadphonesConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.isBluetoothHeadphonesConnected(),\n syncGetter: () => RNDeviceInfo.isBluetoothHeadphonesConnectedSync(),\n defaultValue: false\n});\nexport const [isMouseConnected, isMouseConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.isMouseConnected(),\n syncGetter: () => RNDeviceInfo.isMouseConnectedSync(),\n defaultValue: false\n});\nexport const [isKeyboardConnected, isKeyboardConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.isKeyboardConnected(),\n syncGetter: () => RNDeviceInfo.isKeyboardConnectedSync(),\n defaultValue: false\n});\nexport const [getSupportedMediaTypeList, getSupportedMediaTypeListSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSupportedMediaTypeList(),\n syncGetter: () => RNDeviceInfo.getSupportedMediaTypeListSync(),\n defaultValue: []\n});\nexport const isTabletMode = () => getSupportedPlatformInfoAsync({\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.isTabletMode(),\n defaultValue: false\n});\nexport const [getAvailableLocationProviders, getAvailableLocationProvidersSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.getAvailableLocationProviders(),\n syncGetter: () => RNDeviceInfo.getAvailableLocationProvidersSync(),\n defaultValue: {}\n});\nexport const [getBrightness, getBrightnessSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['ios'],\n getter: () => RNDeviceInfo.getBrightness(),\n syncGetter: () => RNDeviceInfo.getBrightnessSync(),\n defaultValue: -1\n});\nexport async function getDeviceToken() {\n if (Platform.OS === 'ios') {\n return RNDeviceInfo.getDeviceToken();\n }\n\n return 'unknown';\n}\nconst deviceInfoEmitter = new NativeEventEmitter(NativeModules.RNDeviceInfo);\nexport function useBatteryLevel() {\n const [batteryLevel, setBatteryLevel] = useState(null);\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getBatteryLevel();\n setBatteryLevel(initialValue);\n };\n\n const onChange = level => {\n setBatteryLevel(level);\n };\n\n setInitialValue();\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_batteryLevelDidChange', onChange);\n return () => subscription.remove();\n }, []);\n return batteryLevel;\n}\nexport function useBatteryLevelIsLow() {\n const [batteryLevelIsLow, setBatteryLevelIsLow] = useState(null);\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getBatteryLevel();\n isLowBatteryLevel(initialValue) && setBatteryLevelIsLow(initialValue);\n };\n\n setInitialValue();\n\n const onChange = level => {\n setBatteryLevelIsLow(level);\n };\n\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_batteryLevelIsLow', onChange);\n return () => subscription.remove();\n }, []);\n return batteryLevelIsLow;\n}\nexport function usePowerState() {\n const [powerState, setPowerState] = useState({});\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getPowerState();\n setPowerState(initialValue);\n };\n\n const onChange = state => {\n setPowerState(state);\n };\n\n setInitialValue();\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_powerStateDidChange', onChange);\n return () => subscription.remove();\n }, []);\n return powerState;\n}\nexport function useIsHeadphonesConnected() {\n return useOnEvent('RNDeviceInfo_headphoneConnectionDidChange', isHeadphonesConnected, false);\n}\nexport function useIsWiredHeadphonesConnected() {\n return useOnEvent('RNDeviceInfo_headphoneWiredConnectionDidChange', isWiredHeadphonesConnected, false);\n}\nexport function useIsBluetoothHeadphonesConnected() {\n return useOnEvent('RNDeviceInfo_headphoneBluetoothConnectionDidChange', isBluetoothHeadphonesConnected, false);\n}\nexport function useFirstInstallTime() {\n return useOnMount(getFirstInstallTime, -1);\n}\nexport function useDeviceName() {\n return useOnMount(getDeviceName, 'unknown');\n}\nexport function useHasSystemFeature(feature) {\n const asyncGetter = useCallback(() => hasSystemFeature(feature), [feature]);\n return useOnMount(asyncGetter, false);\n}\nexport function useIsEmulator() {\n return useOnMount(isEmulator, false);\n}\nexport function useManufacturer() {\n return useOnMount(getManufacturer, 'unknown');\n}\nexport function useBrightness() {\n const [brightness, setBrightness] = useState(null);\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getBrightness();\n setBrightness(initialValue);\n };\n\n const onChange = value => {\n setBrightness(value);\n };\n\n setInitialValue();\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_brightnessDidChange', onChange);\n return () => subscription.remove();\n }, []);\n return brightness;\n}\nconst DeviceInfo = {\n getAndroidId,\n getAndroidIdSync,\n getApiLevel,\n getApiLevelSync,\n getApplicationName,\n getAvailableLocationProviders,\n getAvailableLocationProvidersSync,\n getBaseOs,\n getBaseOsSync,\n getBatteryLevel,\n getBatteryLevelSync,\n getBootloader,\n getBootloaderSync,\n getBrand,\n getBuildId,\n getBuildIdSync,\n getBuildNumber,\n getBundleId,\n getCarrier,\n getCarrierSync,\n getCodename,\n getCodenameSync,\n getDevice,\n getDeviceId,\n getDeviceName,\n getDeviceNameSync,\n getDeviceSync,\n getDeviceToken,\n getDeviceType,\n getDisplay,\n getDisplaySync,\n getFingerprint,\n getFingerprintSync,\n getFirstInstallTime,\n getFirstInstallTimeSync,\n getFontScale,\n getFontScaleSync,\n getFreeDiskStorage,\n getFreeDiskStorageOld,\n getFreeDiskStorageSync,\n getFreeDiskStorageOldSync,\n getHardware,\n getHardwareSync,\n getHost,\n getHostSync,\n getHostNames,\n getHostNamesSync,\n getIncremental,\n getIncrementalSync,\n getInstallerPackageName,\n getInstallerPackageNameSync,\n getInstallReferrer,\n getInstallReferrerSync,\n getInstanceId,\n getInstanceIdSync,\n getIpAddress,\n getIpAddressSync,\n getLastUpdateTime,\n getLastUpdateTimeSync,\n getMacAddress,\n getMacAddressSync,\n getManufacturer,\n getManufacturerSync,\n getMaxMemory,\n getMaxMemorySync,\n getModel,\n getPowerState,\n getPowerStateSync,\n getPreviewSdkInt,\n getPreviewSdkIntSync,\n getProduct,\n getProductSync,\n getReadableVersion,\n getSecurityPatch,\n getSecurityPatchSync,\n getSerialNumber,\n getSerialNumberSync,\n getSystemAvailableFeatures,\n getSystemAvailableFeaturesSync,\n getSystemName,\n getSystemVersion,\n getTags,\n getTagsSync,\n getTotalDiskCapacity,\n getTotalDiskCapacityOld,\n getTotalDiskCapacitySync,\n getTotalDiskCapacityOldSync,\n getTotalMemory,\n getTotalMemorySync,\n getType,\n getTypeSync,\n getUniqueId,\n getUniqueIdSync,\n getUsedMemory,\n getUsedMemorySync,\n getUserAgent,\n getUserAgentSync,\n getVersion,\n getBrightness,\n getBrightnessSync,\n hasGms,\n hasGmsSync,\n hasHms,\n hasHmsSync,\n hasNotch,\n hasDynamicIsland,\n hasSystemFeature,\n hasSystemFeatureSync,\n isAirplaneMode,\n isAirplaneModeSync,\n isBatteryCharging,\n isBatteryChargingSync,\n isCameraPresent,\n isCameraPresentSync,\n isEmulator,\n isEmulatorSync,\n isHeadphonesConnected,\n isHeadphonesConnectedSync,\n isWiredHeadphonesConnected,\n isWiredHeadphonesConnectedSync,\n isBluetoothHeadphonesConnected,\n isBluetoothHeadphonesConnectedSync,\n isLandscape,\n isLandscapeSync,\n isLocationEnabled,\n isLocationEnabledSync,\n isPinOrFingerprintSet,\n isPinOrFingerprintSetSync,\n isMouseConnected,\n isMouseConnectedSync,\n isKeyboardConnected,\n isKeyboardConnectedSync,\n isTabletMode,\n isTablet,\n isLowRamDevice,\n isDisplayZoomed,\n supported32BitAbis,\n supported32BitAbisSync,\n supported64BitAbis,\n supported64BitAbisSync,\n supportedAbis,\n supportedAbisSync,\n syncUniqueId,\n useBatteryLevel,\n useBatteryLevelIsLow,\n useDeviceName,\n useFirstInstallTime,\n useHasSystemFeature,\n useIsEmulator,\n usePowerState,\n useManufacturer,\n useIsHeadphonesConnected,\n useIsWiredHeadphonesConnected,\n useIsBluetoothHeadphonesConnected,\n useBrightness,\n getSupportedMediaTypeList,\n getSupportedMediaTypeListSync\n};\nexport default DeviceInfo;\n//# sourceMappingURL=index.js.map","// adapters/native/deviceInfoNative.native.ts\nimport { Platform } from \"react-native\";\nimport DeviceInfoLib from \"react-native-device-info\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { Telemetry } from \"../../core/telemetry\";\nimport { DeviceInfo } from \"../../core/telemetry\";\n\nexport class DeviceInfoTrackerNative {\n // private telemetry: Telemetry;\n\n // constructor(telemetry?: Telemetry) {\n // this.telemetry = telemetry || new Telemetry();\n // }\n\n constructor() {\n }\n\n async collect(): Promise<DeviceInfo> {\n // 🔹 Device ID\n let uniqueId = \"\";\n try {\n uniqueId = await DeviceInfoLib.getUniqueId();\n } catch {\n uniqueId = `device_${Date.now()}_${uuidv4()}_${Platform.OS}`;\n }\n\n // 🔹 App metadata\n const appName = (await DeviceInfoLib.getApplicationName()) || \"UnknownApp\";\n const appVersion = (await DeviceInfoLib.getVersion()) || \"0.0.0\";\n const buildNumber = (await DeviceInfoLib.getBuildNumber()) || \"0\";\n const packageName = (await DeviceInfoLib.getBundleId()) || \"unknown.package\";\n\n // 🔹 Common Device metadata\n const brand = await DeviceInfoLib.getBrand();\n const manufacturer = (await DeviceInfoLib.getManufacturer()) || \"\";\n const model = (await DeviceInfoLib.getModel()) || \"\";\n const systemVersion = (await DeviceInfoLib.getSystemVersion()) || \"\";\n const systemName = (await DeviceInfoLib.getSystemName()) || \"\"; // iOS: \"iOS\", Android: \"Android\"\n const deviceName = (await DeviceInfoLib.getDeviceName()) || \"\";\n\n // 🔹 Android-only fields\n const sdk = Platform.OS === \"android\" ? await DeviceInfoLib.getApiLevel() : undefined;\n const fingerprint = Platform.OS === \"android\" ? await DeviceInfoLib.getFingerprint?.() : undefined;\n const hardware = Platform.OS === \"android\" ? await DeviceInfoLib.getHardware?.() : undefined;\n const product = Platform.OS === \"android\" ? await DeviceInfoLib.getProduct?.() : undefined;\n\n // 🔹 iOS-only fields\n const iosSystemName = Platform.OS === \"ios\" ? systemName : undefined;\n const iosDeviceName = Platform.OS === \"ios\" ? deviceName : undefined;\n\n const info: DeviceInfo = {\n app: {\n name: appName,\n version: appVersion,\n buildNumber,\n packageName,\n },\n device: {\n id: uniqueId,\n platform: Platform.OS,\n platformVersion: systemVersion,\n model,\n manufacturer,\n brand,\n\n // Android fields\n androidSdk: sdk ? String(sdk) : undefined,\n androidRelease: Platform.OS === \"android\" ? systemVersion : undefined,\n fingerprint,\n hardware,\n product,\n\n // iOS fields\n iosSystemName,\n iosDeviceName,\n },\n };\n\n return info;\n }\n\n /**\n * Context-only adapter. collect() feeds the Context block on every event;\n * start() emits no standalone device_info event (ADR-0002).\n */\n async start(_telemetry: Telemetry): Promise<void> {\n // no-op: device metadata rides as attributes on every event\n }\n}\n"],"names":["useOnMount","asyncGetter","initialResult","response","setResponse","useState","useEffect","result","deviceInfoEmitter","NativeEventEmitter","NativeModules","useOnEvent","eventName","initialValueAsyncGetter","defaultValue","loading","setResult","subscription","useMemo","devicesWithDynamicIsland","devicesWithNotch","RNDeviceInfo","Platform","memo","getSupportedFunction","supportedPlatforms","getter","defaultGetter","supportedMap","key","getSupportedPlatformInfoSync","memoKey","output","getSupportedPlatformInfoAsync","getSupportedPlatformInfoFunctions","syncGetter","asyncParams","getUniqueId","getUniqueIdSync","uniqueId","syncUniqueId","getInstanceId","getInstanceIdSync","getSerialNumber","getSerialNumberSync","getAndroidId","getAndroidIdSync","getIpAddress","getIpAddressSync","isCameraPresent","isCameraPresentSync","getMacAddress","getMacAddressSync","getDeviceId","getManufacturer","getManufacturerSync","getModel","getBrand","getSystemName","getSystemVersion","getBuildId","getBuildIdSync","getApiLevel","getApiLevelSync","getBundleId","getInstallerPackageName","getInstallerPackageNameSync","getApplicationName","getBuildNumber","getVersion","getReadableVersion","getDeviceName","getDeviceNameSync","getUsedMemory","getUsedMemorySync","getUserAgent","getUserAgentSync","getFontScale","getFontScaleSync","getBootloader","getBootloaderSync","getDevice","getDeviceSync","getDisplay","getDisplaySync","getFingerprint","getFingerprintSync","getHardware","getHardwareSync","getHost","getHostSync","getHostNames","getHostNamesSync","getProduct","getProductSync","getTags","getTagsSync","getType","getTypeSync","getBaseOs","getBaseOsSync","getPreviewSdkInt","getPreviewSdkIntSync","getSecurityPatch","getSecurityPatchSync","getCodename","getCodenameSync","getIncremental","getIncrementalSync","isEmulator","isEmulatorSync","isTablet","isLowRamDevice","isDisplayZoomed","isPinOrFingerprintSet","isPinOrFingerprintSetSync","notch","hasNotch","_brand","_model","item","dynamicIsland","hasDynamicIsland","hasGms","hasGmsSync","hasHms","hasHmsSync","getFirstInstallTime","getFirstInstallTimeSync","getInstallReferrer","getInstallReferrerSync","getLastUpdateTime","getLastUpdateTimeSync","getCarrier","getCarrierSync","getTotalMemory","getTotalMemorySync","getMaxMemory","getMaxMemorySync","getTotalDiskCapacity","getTotalDiskCapacitySync","getTotalDiskCapacityOld","getTotalDiskCapacityOldSync","getFreeDiskStorage","getFreeDiskStorageSync","getFreeDiskStorageOld","getFreeDiskStorageOldSync","getBatteryLevel","getBatteryLevelSync","getPowerState","getPowerStateSync","isBatteryCharging","isBatteryChargingSync","isLandscape","isLandscapeSync","height","width","Dimensions","isAirplaneMode","isAirplaneModeSync","getDeviceType","supportedAbis","supportedAbisSync","supported32BitAbis","supported32BitAbisSync","supported64BitAbis","supported64BitAbisSync","hasSystemFeature","feature","hasSystemFeatureSync","isLowBatteryLevel","level","getSystemAvailableFeatures","getSystemAvailableFeaturesSync","isLocationEnabled","isLocationEnabledSync","isHeadphonesConnected","isHeadphonesConnectedSync","isWiredHeadphonesConnected","isWiredHeadphonesConnectedSync","isBluetoothHeadphonesConnected","isBluetoothHeadphonesConnectedSync","isMouseConnected","isMouseConnectedSync","isKeyboardConnected","isKeyboardConnectedSync","getSupportedMediaTypeList","getSupportedMediaTypeListSync","isTabletMode","getAvailableLocationProviders","getAvailableLocationProvidersSync","getBrightness","getBrightnessSync","getDeviceToken","useBatteryLevel","batteryLevel","setBatteryLevel","setInitialValue","initialValue","onChange","useBatteryLevelIsLow","batteryLevelIsLow","setBatteryLevelIsLow","usePowerState","powerState","setPowerState","state","useIsHeadphonesConnected","useIsWiredHeadphonesConnected","useIsBluetoothHeadphonesConnected","useFirstInstallTime","useDeviceName","useHasSystemFeature","useCallback","useIsEmulator","useManufacturer","useBrightness","brightness","setBrightness","value","DeviceInfo","DeviceInfoTrackerNative","DeviceInfoLib","uuidv4","appName","appVersion","buildNumber","packageName","brand","manufacturer","model","systemVersion","systemName","deviceName","sdk","fingerprint","hardware","product","iosSystemName","iosDeviceName","_telemetry"],"mappings":";;;AAQO,SAASA,EAAWC,GAAaC,GAAe;AACrD,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS;AAAA,IACvC,SAAS;AAAA,IACT,QAAQH;AAAA,EACZ,CAAG;AACD,SAAAI,EAAU,MAAM;AAUd,KARiB,YAAY;AAC3B,YAAMC,IAAS,MAAMN,EAAW;AAChC,MAAAG,EAAY;AAAA,QACV,SAAS;AAAA,QACT,QAAAG;AAAA,MACR,CAAO;AAAA,IACH,GAEQ;AAAA,EACV,GAAG,CAACN,CAAW,CAAC,GACTE;AACT;AACO,MAAMK,KAAoB,IAAIC,EAAmBC,EAAc,YAAY;AAQ3E,SAASC,EAAWC,GAAWC,GAAyBC,GAAc;AAC3E,QAAM;AAAA,IACJ,SAAAC;AAAA,IACA,QAAQb;AAAA,EACZ,IAAMF,EAAWa,GAAyBC,CAAY,GAC9C,CAACP,GAAQS,CAAS,IAAIX,EAASS,CAAY;AAEjD,SAAAR,EAAU,MAAM;AACd,IAAAU,EAAUd,CAAa;AAAA,EACzB,GAAG,CAACA,CAAa,CAAC,GAGlBI,EAAU,MAAM;AACd,UAAMW,IAAeT,GAAkB,YAAYI,GAAWI,CAAS;AACvE,WAAO,MAAMC,EAAa,OAAM;AAAA,EAClC,GAAG,CAACL,CAAS,CAAC,GAEPM,GAAQ,OAAO;AAAA,IACpB,SAAAH;AAAA,IACA,QAAAR;AAAA,EACJ,IAAM,CAACQ,GAASR,CAAM,CAAC;AACvB;ACxDA,MAAMY,KAA2B,CAAC;AAAA,EAChC,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,CAAC,GC9BKC,KAAmB,CAAC;AAAA,EACxB,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AAAA;AAET,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AAAA;AAET,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AAAA;AAET,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AAAA;AAET,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AAAA;AAET,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AACT,GAAG;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AAC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","x_google_ignoreList":[0,1,2,3,4,5]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./v4-CqdK_b8Y.cjs");class r{constructor(){}async collect(){const e=navigator.userAgent;return{app:{name:document.title||"WebApp",version:process.env.APP_VERSION||"1.0.0",buildNumber:process.env.BUILD_NUMBER,packageName:window.location.hostname},device:{id:`device_${Date.now()}_${o.v4()}_web`,platform:"web",platformVersion:navigator.appVersion,model:e,manufacturer:"browser",brand:navigator.vendor||"unknown",androidSdk:void 0,androidRelease:void 0,fingerprint:void 0,hardware:void 0,product:void 0,iosSystemName:void 0,iosDeviceName:void 0}}}async start(e){this.telemetry=e}}exports.DeviceInfoTrackerWeb=r;
2
- //# sourceMappingURL=deviceInfo.web-ByNAlEJh.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deviceInfo.web-ByNAlEJh.cjs","sources":["../src/adapters/web/deviceInfo.web.ts"],"sourcesContent":["// adapters/web/deviceInfoWeb.web.ts\nimport { v4 as uuidv4 } from \"uuid\";\nimport { DeviceInfo, Telemetry } from \"../../core/telemetry\";\n\nexport class DeviceInfoTrackerWeb {\n private telemetry?: Telemetry;\n\n\n constructor() {\n }\n async collect(): Promise<DeviceInfo> {\n const ua = navigator.userAgent;\n const platform = navigator.platform;\n\n return {\n app: {\n name: document.title || \"WebApp\",\n version: process.env.APP_VERSION || \"1.0.0\",\n buildNumber: process.env.BUILD_NUMBER,\n packageName: window.location.hostname,\n },\n device: {\n id: `device_${Date.now()}_${uuidv4()}_web`,\n platform: \"web\",\n platformVersion: navigator.appVersion,\n model: ua,\n manufacturer: \"browser\",\n brand: navigator.vendor || \"unknown\",\n\n // Android placeholders\n androidSdk: undefined,\n androidRelease: undefined,\n fingerprint: undefined,\n hardware: undefined,\n product: undefined,\n\n // iOS placeholders\n iosSystemName: undefined,\n iosDeviceName: undefined,\n },\n };\n }\n\n async start(telemetry: Telemetry): Promise<void> {\n // context-only adapter — collect() feeds the Context block on every event;\n // no standalone device_info event (ADR-0002)\n this.telemetry = telemetry;\n }\n}\n"],"names":["DeviceInfoTrackerWeb","ua","uuidv4","telemetry"],"mappings":"qHAIO,MAAMA,CAAqB,CAI9B,aAAc,CACd,CACA,MAAM,SAA+B,CACjC,MAAMC,EAAK,UAAU,UAGrB,MAAO,CACH,IAAK,CACD,KAAM,SAAS,OAAS,SACxB,QAAS,QAAQ,IAAI,aAAe,QACpC,YAAa,QAAQ,IAAI,aACzB,YAAa,OAAO,SAAS,QAAA,EAEjC,OAAQ,CACJ,GAAI,UAAU,KAAK,KAAK,IAAIC,EAAAA,IAAQ,OACpC,SAAU,MACV,gBAAiB,UAAU,WAC3B,MAAOD,EACP,aAAc,UACd,MAAO,UAAU,QAAU,UAG3B,WAAY,OACZ,eAAgB,OAChB,YAAa,OACb,SAAU,OACV,QAAS,OAGT,cAAe,OACf,cAAe,MAAA,CACnB,CAER,CAEA,MAAM,MAAME,EAAqC,CAG7C,KAAK,UAAYA,CACrB,CACJ"}
@@ -1,40 +0,0 @@
1
- import { v as o } from "./v4-BysszJq8.js";
2
- class n {
3
- constructor() {
4
- }
5
- async collect() {
6
- const e = navigator.userAgent;
7
- return {
8
- app: {
9
- name: document.title || "WebApp",
10
- version: process.env.APP_VERSION || "1.0.0",
11
- buildNumber: process.env.BUILD_NUMBER,
12
- packageName: window.location.hostname
13
- },
14
- device: {
15
- id: `device_${Date.now()}_${o()}_web`,
16
- platform: "web",
17
- platformVersion: navigator.appVersion,
18
- model: e,
19
- manufacturer: "browser",
20
- brand: navigator.vendor || "unknown",
21
- // Android placeholders
22
- androidSdk: void 0,
23
- androidRelease: void 0,
24
- fingerprint: void 0,
25
- hardware: void 0,
26
- product: void 0,
27
- // iOS placeholders
28
- iosSystemName: void 0,
29
- iosDeviceName: void 0
30
- }
31
- };
32
- }
33
- async start(e) {
34
- this.telemetry = e;
35
- }
36
- }
37
- export {
38
- n as DeviceInfoTrackerWeb
39
- };
40
- //# sourceMappingURL=deviceInfo.web-DzQyEku6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deviceInfo.web-DzQyEku6.js","sources":["../src/adapters/web/deviceInfo.web.ts"],"sourcesContent":["// adapters/web/deviceInfoWeb.web.ts\nimport { v4 as uuidv4 } from \"uuid\";\nimport { DeviceInfo, Telemetry } from \"../../core/telemetry\";\n\nexport class DeviceInfoTrackerWeb {\n private telemetry?: Telemetry;\n\n\n constructor() {\n }\n async collect(): Promise<DeviceInfo> {\n const ua = navigator.userAgent;\n const platform = navigator.platform;\n\n return {\n app: {\n name: document.title || \"WebApp\",\n version: process.env.APP_VERSION || \"1.0.0\",\n buildNumber: process.env.BUILD_NUMBER,\n packageName: window.location.hostname,\n },\n device: {\n id: `device_${Date.now()}_${uuidv4()}_web`,\n platform: \"web\",\n platformVersion: navigator.appVersion,\n model: ua,\n manufacturer: \"browser\",\n brand: navigator.vendor || \"unknown\",\n\n // Android placeholders\n androidSdk: undefined,\n androidRelease: undefined,\n fingerprint: undefined,\n hardware: undefined,\n product: undefined,\n\n // iOS placeholders\n iosSystemName: undefined,\n iosDeviceName: undefined,\n },\n };\n }\n\n async start(telemetry: Telemetry): Promise<void> {\n // context-only adapter — collect() feeds the Context block on every event;\n // no standalone device_info event (ADR-0002)\n this.telemetry = telemetry;\n }\n}\n"],"names":["DeviceInfoTrackerWeb","ua","uuidv4","telemetry"],"mappings":";AAIO,MAAMA,EAAqB;AAAA,EAI9B,cAAc;AAAA,EACd;AAAA,EACA,MAAM,UAA+B;AACjC,UAAMC,IAAK,UAAU;AAGrB,WAAO;AAAA,MACH,KAAK;AAAA,QACD,MAAM,SAAS,SAAS;AAAA,QACxB,SAAS,QAAQ,IAAI,eAAe;AAAA,QACpC,aAAa,QAAQ,IAAI;AAAA,QACzB,aAAa,OAAO,SAAS;AAAA,MAAA;AAAA,MAEjC,QAAQ;AAAA,QACJ,IAAI,UAAU,KAAK,KAAK,IAAIC,GAAQ;AAAA,QACpC,UAAU;AAAA,QACV,iBAAiB,UAAU;AAAA,QAC3B,OAAOD;AAAA,QACP,cAAc;AAAA,QACd,OAAO,UAAU,UAAU;AAAA;AAAA,QAG3B,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,aAAa;AAAA,QACb,UAAU;AAAA,QACV,SAAS;AAAA;AAAA,QAGT,eAAe;AAAA,QACf,eAAe;AAAA,MAAA;AAAA,IACnB;AAAA,EAER;AAAA,EAEA,MAAM,MAAME,GAAqC;AAG7C,SAAK,YAAYA;AAAA,EACrB;AACJ;"}
@@ -1,2 +0,0 @@
1
- "use strict";function u(r,a,n){const o=1e3/a,e=[...r].sort((t,g)=>t-g),m=e[e.length-1],s=e[Math.ceil(.95*e.length)-1],c=r.filter(t=>t>o*2).length;return{value:s,attributes:{"frame.max_ms":m,"frame.p95_ms":s,"frame.dropped_count":c,"frame.target_hz":a,"frame.source":n}}}exports.aggregateFrames=u;
2
- //# sourceMappingURL=frameAggregate-C_HoVFcK.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frameAggregate-C_HoVFcK.cjs","sources":["../src/adapters/frameAggregate.ts"],"sourcesContent":["// Aggregate a window of frame deltas (ms) into the iOS-shape frame_render_time metric.\n// Shared by the web and native frame trackers so the percentile math lives in one place.\n// Additive attributes (frame.*) are tracked in docs/backend-additions-ledger.md.\n\nexport interface FrameAggregate {\n value: number; // metric value = p95 frame time (representative render time)\n attributes: {\n \"frame.max_ms\": number;\n \"frame.p95_ms\": number;\n \"frame.dropped_count\": number; // frames slower than 2x budget\n \"frame.target_hz\": number;\n \"frame.source\": string;\n };\n}\n\n/** deltas must be non-empty. Percentile is nearest-rank on the sorted deltas. */\nexport function aggregateFrames(deltas: number[], targetFPS: number, source: string): FrameAggregate {\n const budget = 1000 / targetFPS;\n const sorted = [...deltas].sort((a, b) => a - b);\n const max = sorted[sorted.length - 1];\n const p95 = sorted[Math.ceil(0.95 * sorted.length) - 1];\n const dropped = deltas.filter((d) => d > budget * 2).length;\n\n return {\n value: p95,\n attributes: {\n \"frame.max_ms\": max,\n \"frame.p95_ms\": p95,\n \"frame.dropped_count\": dropped,\n \"frame.target_hz\": targetFPS,\n \"frame.source\": source,\n },\n };\n}\n"],"names":["aggregateFrames","deltas","targetFPS","source","budget","sorted","a","b","max","p95","dropped","d"],"mappings":"aAgBO,SAASA,EAAgBC,EAAkBC,EAAmBC,EAAgC,CACjG,MAAMC,EAAS,IAAOF,EAChBG,EAAS,CAAC,GAAGJ,CAAM,EAAE,KAAK,CAACK,EAAGC,IAAMD,EAAIC,CAAC,EACzCC,EAAMH,EAAOA,EAAO,OAAS,CAAC,EAC9BI,EAAMJ,EAAO,KAAK,KAAK,IAAOA,EAAO,MAAM,EAAI,CAAC,EAChDK,EAAUT,EAAO,OAAQU,GAAMA,EAAIP,EAAS,CAAC,EAAE,OAErD,MAAO,CACH,MAAOK,EACP,WAAY,CACR,eAAgBD,EAChB,eAAgBC,EAChB,sBAAuBC,EACvB,kBAAmBR,EACnB,eAAgBC,CAAA,CACpB,CAER"}
@@ -1,17 +0,0 @@
1
- function g(r, a, n) {
2
- const s = 1e3 / a, e = [...r].sort((t, f) => t - f), m = e[e.length - 1], o = e[Math.ceil(0.95 * e.length) - 1], c = r.filter((t) => t > s * 2).length;
3
- return {
4
- value: o,
5
- attributes: {
6
- "frame.max_ms": m,
7
- "frame.p95_ms": o,
8
- "frame.dropped_count": c,
9
- "frame.target_hz": a,
10
- "frame.source": n
11
- }
12
- };
13
- }
14
- export {
15
- g as a
16
- };
17
- //# sourceMappingURL=frameAggregate-Cwh1juw1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frameAggregate-Cwh1juw1.js","sources":["../src/adapters/frameAggregate.ts"],"sourcesContent":["// Aggregate a window of frame deltas (ms) into the iOS-shape frame_render_time metric.\n// Shared by the web and native frame trackers so the percentile math lives in one place.\n// Additive attributes (frame.*) are tracked in docs/backend-additions-ledger.md.\n\nexport interface FrameAggregate {\n value: number; // metric value = p95 frame time (representative render time)\n attributes: {\n \"frame.max_ms\": number;\n \"frame.p95_ms\": number;\n \"frame.dropped_count\": number; // frames slower than 2x budget\n \"frame.target_hz\": number;\n \"frame.source\": string;\n };\n}\n\n/** deltas must be non-empty. Percentile is nearest-rank on the sorted deltas. */\nexport function aggregateFrames(deltas: number[], targetFPS: number, source: string): FrameAggregate {\n const budget = 1000 / targetFPS;\n const sorted = [...deltas].sort((a, b) => a - b);\n const max = sorted[sorted.length - 1];\n const p95 = sorted[Math.ceil(0.95 * sorted.length) - 1];\n const dropped = deltas.filter((d) => d > budget * 2).length;\n\n return {\n value: p95,\n attributes: {\n \"frame.max_ms\": max,\n \"frame.p95_ms\": p95,\n \"frame.dropped_count\": dropped,\n \"frame.target_hz\": targetFPS,\n \"frame.source\": source,\n },\n };\n}\n"],"names":["aggregateFrames","deltas","targetFPS","source","budget","sorted","a","b","max","p95","dropped","d"],"mappings":"AAgBO,SAASA,EAAgBC,GAAkBC,GAAmBC,GAAgC;AACjG,QAAMC,IAAS,MAAOF,GAChBG,IAAS,CAAC,GAAGJ,CAAM,EAAE,KAAK,CAACK,GAAGC,MAAMD,IAAIC,CAAC,GACzCC,IAAMH,EAAOA,EAAO,SAAS,CAAC,GAC9BI,IAAMJ,EAAO,KAAK,KAAK,OAAOA,EAAO,MAAM,IAAI,CAAC,GAChDK,IAAUT,EAAO,OAAO,CAACU,MAAMA,IAAIP,IAAS,CAAC,EAAE;AAErD,SAAO;AAAA,IACH,OAAOK;AAAA,IACP,YAAY;AAAA,MACR,gBAAgBD;AAAA,MAChB,gBAAgBC;AAAA,MAChB,uBAAuBC;AAAA,MACvB,mBAAmBR;AAAA,MACnB,gBAAgBC;AAAA,IAAA;AAAA,EACpB;AAER;"}
@@ -1,23 +0,0 @@
1
- import { a as i } from "./frameAggregate-Cwh1juw1.js";
2
- class m {
3
- constructor(r, e = 60, t = 1e4) {
4
- this.telemetry = r, this.targetFPS = e, this.windowMs = t, this.lastFrameTime = performance.now(), this.windowStart = performance.now(), this.deltas = [];
5
- }
6
- start() {
7
- return new Promise((r) => {
8
- const e = () => {
9
- const t = performance.now();
10
- if (this.deltas.push(t - this.lastFrameTime), this.lastFrameTime = t, t - this.windowStart >= this.windowMs && this.deltas.length > 0) {
11
- const { value: s, attributes: a } = i(this.deltas, this.targetFPS, "requestAnimationFrame");
12
- this.telemetry.logMetric("frame_render_time", s, a), this.deltas = [], this.windowStart = t;
13
- }
14
- requestAnimationFrame(e);
15
- };
16
- requestAnimationFrame(e), r();
17
- });
18
- }
19
- }
20
- export {
21
- m as FrameDropTrackerNative
22
- };
23
- //# sourceMappingURL=frameDropsNative.native-CP7zrXDf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frameDropsNative.native-CP7zrXDf.js","sources":["../src/adapters/native/frameDropsNative.native.ts"],"sourcesContent":["import { Telemetry } from \"../../core/telemetry\";\nimport { aggregateFrames } from \"../frameAggregate\";\n\n/**\n * Samples frame deltas via requestAnimationFrame and emits an aggregated\n * `frame_render_time` metric (max/p95/dropped_count) once per window — instead of one event\n * per dropped frame. The metric shape matches the iOS contract (docs/edgerum-contract.md).\n */\nexport class FrameDropTrackerNative {\n private lastFrameTime = performance.now();\n private windowStart = performance.now();\n private deltas: number[] = [];\n\n constructor(\n private telemetry: Telemetry,\n private targetFPS = 60,\n private windowMs = 10000,\n ) { }\n\n start(): Promise<void> {\n return new Promise((resolve) => {\n const loop = () => {\n const now = performance.now();\n this.deltas.push(now - this.lastFrameTime);\n this.lastFrameTime = now;\n\n if (now - this.windowStart >= this.windowMs && this.deltas.length > 0) {\n // ponytail: first window includes the startup delta; acceptable noise, not worth gating.\n const { value, attributes } = aggregateFrames(this.deltas, this.targetFPS, \"requestAnimationFrame\");\n this.telemetry.logMetric(\"frame_render_time\", value, attributes);\n this.deltas = [];\n this.windowStart = now;\n }\n\n requestAnimationFrame(loop);\n };\n\n requestAnimationFrame(loop);\n resolve();\n });\n }\n}\n"],"names":["FrameDropTrackerNative","telemetry","targetFPS","windowMs","resolve","loop","now","value","attributes","aggregateFrames"],"mappings":";AAQO,MAAMA,EAAuB;AAAA,EAKhC,YACYC,GACAC,IAAY,IACZC,IAAW,KACrB;AAHU,SAAA,YAAAF,GACA,KAAA,YAAAC,GACA,KAAA,WAAAC,GAPZ,KAAQ,gBAAgB,YAAY,IAAA,GACpC,KAAQ,cAAc,YAAY,IAAA,GAClC,KAAQ,SAAmB,CAAA;AAAA,EAMvB;AAAA,EAEJ,QAAuB;AACnB,WAAO,IAAI,QAAQ,CAACC,MAAY;AAC5B,YAAMC,IAAO,MAAM;AACf,cAAMC,IAAM,YAAY,IAAA;AAIxB,YAHA,KAAK,OAAO,KAAKA,IAAM,KAAK,aAAa,GACzC,KAAK,gBAAgBA,GAEjBA,IAAM,KAAK,eAAe,KAAK,YAAY,KAAK,OAAO,SAAS,GAAG;AAEnE,gBAAM,EAAE,OAAAC,GAAO,YAAAC,EAAA,IAAeC,EAAgB,KAAK,QAAQ,KAAK,WAAW,uBAAuB;AAClG,eAAK,UAAU,UAAU,qBAAqBF,GAAOC,CAAU,GAC/D,KAAK,SAAS,CAAA,GACd,KAAK,cAAcF;AAAA,QACvB;AAEA,8BAAsBD,CAAI;AAAA,MAC9B;AAEA,4BAAsBA,CAAI,GAC1BD,EAAA;AAAA,IACJ,CAAC;AAAA,EACL;AACJ;"}