react-native-nitro-amplitude 0.1.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 (411) hide show
  1. package/.watchmanconfig +6 -0
  2. package/LICENSE +21 -0
  3. package/README.md +139 -0
  4. package/android/CMakeLists.txt +34 -0
  5. package/android/build.gradle +85 -0
  6. package/android/consumer-rules.pro +35 -0
  7. package/android/gradle.properties +4 -0
  8. package/android/src/main/cpp/AndroidAmplitudeAdapterCpp.cpp +126 -0
  9. package/android/src/main/cpp/AndroidAmplitudeAdapterCpp.hpp +48 -0
  10. package/android/src/main/cpp/cpp-adapter.cpp +9 -0
  11. package/android/src/main/java/com/nitroamplitude/AndroidAmplitudeAdapter.kt +147 -0
  12. package/android/src/main/java/com/nitroamplitude/NitroAmplitudePackage.kt +24 -0
  13. package/app.plugin.js +36 -0
  14. package/cpp/bindings/HybridAmplitudeContext.cpp +83 -0
  15. package/cpp/bindings/HybridAmplitudeContext.hpp +29 -0
  16. package/cpp/bindings/HybridAmplitudeStorage.cpp +163 -0
  17. package/cpp/bindings/HybridAmplitudeStorage.hpp +38 -0
  18. package/cpp/bindings/HybridAmplitudeWorker.cpp +162 -0
  19. package/cpp/bindings/HybridAmplitudeWorker.hpp +74 -0
  20. package/cpp/core/NativeAmplitudeAdapter.hpp +44 -0
  21. package/ios/IOSAmplitudeAdapterCpp.hpp +37 -0
  22. package/ios/IOSAmplitudeAdapterCpp.mm +155 -0
  23. package/lib/commonjs/AmplitudeContext.nitro.js +6 -0
  24. package/lib/commonjs/AmplitudeContext.nitro.js.map +1 -0
  25. package/lib/commonjs/AmplitudeStorage.nitro.js +6 -0
  26. package/lib/commonjs/AmplitudeStorage.nitro.js.map +1 -0
  27. package/lib/commonjs/AmplitudeWorker.nitro.js +6 -0
  28. package/lib/commonjs/AmplitudeWorker.nitro.js.map +1 -0
  29. package/lib/commonjs/analytics/campaign/campaign-tracker.js +105 -0
  30. package/lib/commonjs/analytics/campaign/campaign-tracker.js.map +1 -0
  31. package/lib/commonjs/analytics/campaign/types.js +6 -0
  32. package/lib/commonjs/analytics/campaign/types.js.map +1 -0
  33. package/lib/commonjs/analytics/config.js +283 -0
  34. package/lib/commonjs/analytics/config.js.map +1 -0
  35. package/lib/commonjs/analytics/cookie-migration/index.js +59 -0
  36. package/lib/commonjs/analytics/cookie-migration/index.js.map +1 -0
  37. package/lib/commonjs/analytics/index.js +95 -0
  38. package/lib/commonjs/analytics/index.js.map +1 -0
  39. package/lib/commonjs/analytics/migration/remnant-data-migration.js +177 -0
  40. package/lib/commonjs/analytics/migration/remnant-data-migration.js.map +1 -0
  41. package/lib/commonjs/analytics/nitro-transport.js +31 -0
  42. package/lib/commonjs/analytics/nitro-transport.js.map +1 -0
  43. package/lib/commonjs/analytics/plugins/context.js +140 -0
  44. package/lib/commonjs/analytics/plugins/context.js.map +1 -0
  45. package/lib/commonjs/analytics/react-native-client.js +352 -0
  46. package/lib/commonjs/analytics/react-native-client.js.map +1 -0
  47. package/lib/commonjs/analytics/storage/local-storage.js +73 -0
  48. package/lib/commonjs/analytics/storage/local-storage.js.map +1 -0
  49. package/lib/commonjs/analytics/types.js +175 -0
  50. package/lib/commonjs/analytics/types.js.map +1 -0
  51. package/lib/commonjs/analytics/typings/browser-snippet.d.js +6 -0
  52. package/lib/commonjs/analytics/typings/browser-snippet.d.js.map +1 -0
  53. package/lib/commonjs/analytics/typings/ua-parser.d.js +2 -0
  54. package/lib/commonjs/analytics/typings/ua-parser.d.js.map +1 -0
  55. package/lib/commonjs/analytics/utils/platform.js +16 -0
  56. package/lib/commonjs/analytics/utils/platform.js.map +1 -0
  57. package/lib/commonjs/analytics/version.js +8 -0
  58. package/lib/commonjs/analytics/version.js.map +1 -0
  59. package/lib/commonjs/experiment/experimentClient.js +792 -0
  60. package/lib/commonjs/experiment/experimentClient.js.map +1 -0
  61. package/lib/commonjs/experiment/factory.js +77 -0
  62. package/lib/commonjs/experiment/factory.js.map +1 -0
  63. package/lib/commonjs/experiment/gen/version.js +9 -0
  64. package/lib/commonjs/experiment/gen/version.js.map +1 -0
  65. package/lib/commonjs/experiment/index.js +143 -0
  66. package/lib/commonjs/experiment/index.js.map +1 -0
  67. package/lib/commonjs/experiment/integration/NativeExperimentReactNativeClient.js +11 -0
  68. package/lib/commonjs/experiment/integration/NativeExperimentReactNativeClient.js.map +1 -0
  69. package/lib/commonjs/experiment/integration/connector.js +67 -0
  70. package/lib/commonjs/experiment/integration/connector.js.map +1 -0
  71. package/lib/commonjs/experiment/integration/default.js +92 -0
  72. package/lib/commonjs/experiment/integration/default.js.map +1 -0
  73. package/lib/commonjs/experiment/logger/ampLogger.js +80 -0
  74. package/lib/commonjs/experiment/logger/ampLogger.js.map +1 -0
  75. package/lib/commonjs/experiment/logger/consoleLogger.js +60 -0
  76. package/lib/commonjs/experiment/logger/consoleLogger.js.map +1 -0
  77. package/lib/commonjs/experiment/storage/cache.js +197 -0
  78. package/lib/commonjs/experiment/storage/cache.js.map +1 -0
  79. package/lib/commonjs/experiment/storage/local-storage.js +25 -0
  80. package/lib/commonjs/experiment/storage/local-storage.js.map +1 -0
  81. package/lib/commonjs/experiment/stubClient.js +46 -0
  82. package/lib/commonjs/experiment/stubClient.js.map +1 -0
  83. package/lib/commonjs/experiment/transport/http.js +72 -0
  84. package/lib/commonjs/experiment/transport/http.js.map +1 -0
  85. package/lib/commonjs/experiment/types/client.js +6 -0
  86. package/lib/commonjs/experiment/types/client.js.map +1 -0
  87. package/lib/commonjs/experiment/types/config.js +67 -0
  88. package/lib/commonjs/experiment/types/config.js.map +1 -0
  89. package/lib/commonjs/experiment/types/exposure.js +2 -0
  90. package/lib/commonjs/experiment/types/exposure.js.map +1 -0
  91. package/lib/commonjs/experiment/types/logger.js +42 -0
  92. package/lib/commonjs/experiment/types/logger.js.map +1 -0
  93. package/lib/commonjs/experiment/types/source.js +54 -0
  94. package/lib/commonjs/experiment/types/source.js.map +1 -0
  95. package/lib/commonjs/experiment/types/storage.js +2 -0
  96. package/lib/commonjs/experiment/types/storage.js.map +1 -0
  97. package/lib/commonjs/experiment/types/transport.js +2 -0
  98. package/lib/commonjs/experiment/types/transport.js.map +1 -0
  99. package/lib/commonjs/experiment/types/user.js +2 -0
  100. package/lib/commonjs/experiment/types/user.js.map +1 -0
  101. package/lib/commonjs/experiment/types/variant.js +2 -0
  102. package/lib/commonjs/experiment/types/variant.js.map +1 -0
  103. package/lib/commonjs/experiment/util/backoff.js +54 -0
  104. package/lib/commonjs/experiment/util/backoff.js.map +1 -0
  105. package/lib/commonjs/experiment/util/base64.js +23 -0
  106. package/lib/commonjs/experiment/util/base64.js.map +1 -0
  107. package/lib/commonjs/experiment/util/convert.js +78 -0
  108. package/lib/commonjs/experiment/util/convert.js.map +1 -0
  109. package/lib/commonjs/experiment/util/index.js +25 -0
  110. package/lib/commonjs/experiment/util/index.js.map +1 -0
  111. package/lib/commonjs/experiment/util/platform.js +16 -0
  112. package/lib/commonjs/experiment/util/platform.js.map +1 -0
  113. package/lib/commonjs/experiment/util/randomstring.js +16 -0
  114. package/lib/commonjs/experiment/util/randomstring.js.map +1 -0
  115. package/lib/commonjs/experiment/util/userSessionExposureTracker.js +40 -0
  116. package/lib/commonjs/experiment/util/userSessionExposureTracker.js.map +1 -0
  117. package/lib/commonjs/index.js +298 -0
  118. package/lib/commonjs/index.js.map +1 -0
  119. package/lib/commonjs/index.web.js +22 -0
  120. package/lib/commonjs/index.web.js.map +1 -0
  121. package/lib/commonjs/native/context.js +43 -0
  122. package/lib/commonjs/native/context.js.map +1 -0
  123. package/lib/commonjs/native/http.js +62 -0
  124. package/lib/commonjs/native/http.js.map +1 -0
  125. package/lib/commonjs/native/hybrid.js +31 -0
  126. package/lib/commonjs/native/hybrid.js.map +1 -0
  127. package/lib/commonjs/native/storage.js +93 -0
  128. package/lib/commonjs/native/storage.js.map +1 -0
  129. package/lib/commonjs/package.json +1 -0
  130. package/lib/module/AmplitudeContext.nitro.js +4 -0
  131. package/lib/module/AmplitudeContext.nitro.js.map +1 -0
  132. package/lib/module/AmplitudeStorage.nitro.js +4 -0
  133. package/lib/module/AmplitudeStorage.nitro.js.map +1 -0
  134. package/lib/module/AmplitudeWorker.nitro.js +4 -0
  135. package/lib/module/AmplitudeWorker.nitro.js.map +1 -0
  136. package/lib/module/analytics/campaign/campaign-tracker.js +100 -0
  137. package/lib/module/analytics/campaign/campaign-tracker.js.map +1 -0
  138. package/lib/module/analytics/campaign/types.js +4 -0
  139. package/lib/module/analytics/campaign/types.js.map +1 -0
  140. package/lib/module/analytics/config.js +272 -0
  141. package/lib/module/analytics/config.js.map +1 -0
  142. package/lib/module/analytics/cookie-migration/index.js +51 -0
  143. package/lib/module/analytics/cookie-migration/index.js.map +1 -0
  144. package/lib/module/analytics/index.js +34 -0
  145. package/lib/module/analytics/index.js.map +1 -0
  146. package/lib/module/analytics/migration/remnant-data-migration.js +172 -0
  147. package/lib/module/analytics/migration/remnant-data-migration.js.map +1 -0
  148. package/lib/module/analytics/nitro-transport.js +26 -0
  149. package/lib/module/analytics/nitro-transport.js.map +1 -0
  150. package/lib/module/analytics/plugins/context.js +134 -0
  151. package/lib/module/analytics/plugins/context.js.map +1 -0
  152. package/lib/module/analytics/react-native-client.js +346 -0
  153. package/lib/module/analytics/react-native-client.js.map +1 -0
  154. package/lib/module/analytics/storage/local-storage.js +68 -0
  155. package/lib/module/analytics/storage/local-storage.js.map +1 -0
  156. package/lib/module/analytics/types.js +4 -0
  157. package/lib/module/analytics/types.js.map +1 -0
  158. package/lib/module/analytics/typings/browser-snippet.d.js +4 -0
  159. package/lib/module/analytics/typings/browser-snippet.d.js.map +1 -0
  160. package/lib/module/analytics/typings/ua-parser.d.js +2 -0
  161. package/lib/module/analytics/typings/ua-parser.d.js.map +1 -0
  162. package/lib/module/analytics/utils/platform.js +10 -0
  163. package/lib/module/analytics/utils/platform.js.map +1 -0
  164. package/lib/module/analytics/version.js +4 -0
  165. package/lib/module/analytics/version.js.map +1 -0
  166. package/lib/module/experiment/experimentClient.js +788 -0
  167. package/lib/module/experiment/experimentClient.js.map +1 -0
  168. package/lib/module/experiment/factory.js +73 -0
  169. package/lib/module/experiment/factory.js.map +1 -0
  170. package/lib/module/experiment/gen/version.js +5 -0
  171. package/lib/module/experiment/gen/version.js.map +1 -0
  172. package/lib/module/experiment/index.js +16 -0
  173. package/lib/module/experiment/index.js.map +1 -0
  174. package/lib/module/experiment/integration/NativeExperimentReactNativeClient.js +7 -0
  175. package/lib/module/experiment/integration/NativeExperimentReactNativeClient.js.map +1 -0
  176. package/lib/module/experiment/integration/connector.js +61 -0
  177. package/lib/module/experiment/integration/connector.js.map +1 -0
  178. package/lib/module/experiment/integration/default.js +87 -0
  179. package/lib/module/experiment/integration/default.js.map +1 -0
  180. package/lib/module/experiment/logger/ampLogger.js +76 -0
  181. package/lib/module/experiment/logger/ampLogger.js.map +1 -0
  182. package/lib/module/experiment/logger/consoleLogger.js +55 -0
  183. package/lib/module/experiment/logger/consoleLogger.js.map +1 -0
  184. package/lib/module/experiment/storage/cache.js +187 -0
  185. package/lib/module/experiment/storage/cache.js.map +1 -0
  186. package/lib/module/experiment/storage/local-storage.js +19 -0
  187. package/lib/module/experiment/storage/local-storage.js.map +1 -0
  188. package/lib/module/experiment/stubClient.js +41 -0
  189. package/lib/module/experiment/stubClient.js.map +1 -0
  190. package/lib/module/experiment/transport/http.js +66 -0
  191. package/lib/module/experiment/transport/http.js.map +1 -0
  192. package/lib/module/experiment/types/client.js +4 -0
  193. package/lib/module/experiment/types/client.js.map +1 -0
  194. package/lib/module/experiment/types/config.js +64 -0
  195. package/lib/module/experiment/types/config.js.map +1 -0
  196. package/lib/module/experiment/types/exposure.js +2 -0
  197. package/lib/module/experiment/types/exposure.js.map +1 -0
  198. package/lib/module/experiment/types/logger.js +39 -0
  199. package/lib/module/experiment/types/logger.js.map +1 -0
  200. package/lib/module/experiment/types/source.js +51 -0
  201. package/lib/module/experiment/types/source.js.map +1 -0
  202. package/lib/module/experiment/types/storage.js +2 -0
  203. package/lib/module/experiment/types/storage.js.map +1 -0
  204. package/lib/module/experiment/types/transport.js +2 -0
  205. package/lib/module/experiment/types/transport.js.map +1 -0
  206. package/lib/module/experiment/types/user.js +2 -0
  207. package/lib/module/experiment/types/user.js.map +1 -0
  208. package/lib/module/experiment/types/variant.js +2 -0
  209. package/lib/module/experiment/types/variant.js.map +1 -0
  210. package/lib/module/experiment/util/backoff.js +49 -0
  211. package/lib/module/experiment/util/backoff.js.map +1 -0
  212. package/lib/module/experiment/util/base64.js +16 -0
  213. package/lib/module/experiment/util/base64.js.map +1 -0
  214. package/lib/module/experiment/util/convert.js +71 -0
  215. package/lib/module/experiment/util/convert.js.map +1 -0
  216. package/lib/module/experiment/util/index.js +17 -0
  217. package/lib/module/experiment/util/index.js.map +1 -0
  218. package/lib/module/experiment/util/platform.js +10 -0
  219. package/lib/module/experiment/util/platform.js.map +1 -0
  220. package/lib/module/experiment/util/randomstring.js +11 -0
  221. package/lib/module/experiment/util/randomstring.js.map +1 -0
  222. package/lib/module/experiment/util/userSessionExposureTracker.js +35 -0
  223. package/lib/module/experiment/util/userSessionExposureTracker.js.map +1 -0
  224. package/lib/module/index.js +50 -0
  225. package/lib/module/index.js.map +1 -0
  226. package/lib/module/index.web.js +14 -0
  227. package/lib/module/index.web.js.map +1 -0
  228. package/lib/module/native/context.js +35 -0
  229. package/lib/module/native/context.js.map +1 -0
  230. package/lib/module/native/http.js +57 -0
  231. package/lib/module/native/http.js.map +1 -0
  232. package/lib/module/native/hybrid.js +24 -0
  233. package/lib/module/native/hybrid.js.map +1 -0
  234. package/lib/module/native/storage.js +86 -0
  235. package/lib/module/native/storage.js.map +1 -0
  236. package/lib/typescript/AmplitudeContext.nitro.d.ts +17 -0
  237. package/lib/typescript/AmplitudeContext.nitro.d.ts.map +1 -0
  238. package/lib/typescript/AmplitudeStorage.nitro.d.ts +17 -0
  239. package/lib/typescript/AmplitudeStorage.nitro.d.ts.map +1 -0
  240. package/lib/typescript/AmplitudeWorker.nitro.d.ts +11 -0
  241. package/lib/typescript/AmplitudeWorker.nitro.d.ts.map +1 -0
  242. package/lib/typescript/analytics/campaign/campaign-tracker.d.ts +85 -0
  243. package/lib/typescript/analytics/campaign/campaign-tracker.d.ts.map +1 -0
  244. package/lib/typescript/analytics/campaign/types.d.ts +11 -0
  245. package/lib/typescript/analytics/campaign/types.d.ts.map +1 -0
  246. package/lib/typescript/analytics/config.d.ts +68 -0
  247. package/lib/typescript/analytics/config.d.ts.map +1 -0
  248. package/lib/typescript/analytics/cookie-migration/index.d.ts +6 -0
  249. package/lib/typescript/analytics/cookie-migration/index.d.ts.map +1 -0
  250. package/lib/typescript/analytics/index.d.ts +7 -0
  251. package/lib/typescript/analytics/index.d.ts.map +1 -0
  252. package/lib/typescript/analytics/migration/remnant-data-migration.d.ts +20 -0
  253. package/lib/typescript/analytics/migration/remnant-data-migration.d.ts.map +1 -0
  254. package/lib/typescript/analytics/nitro-transport.d.ts +9 -0
  255. package/lib/typescript/analytics/nitro-transport.d.ts.map +1 -0
  256. package/lib/typescript/analytics/plugins/context.d.ts +14 -0
  257. package/lib/typescript/analytics/plugins/context.d.ts.map +1 -0
  258. package/lib/typescript/analytics/react-native-client.d.ts +55 -0
  259. package/lib/typescript/analytics/react-native-client.d.ts.map +1 -0
  260. package/lib/typescript/analytics/storage/local-storage.d.ts +14 -0
  261. package/lib/typescript/analytics/storage/local-storage.d.ts.map +1 -0
  262. package/lib/typescript/analytics/types.d.ts +2 -0
  263. package/lib/typescript/analytics/types.d.ts.map +1 -0
  264. package/lib/typescript/analytics/utils/platform.d.ts +3 -0
  265. package/lib/typescript/analytics/utils/platform.d.ts.map +1 -0
  266. package/lib/typescript/analytics/version.d.ts +2 -0
  267. package/lib/typescript/analytics/version.d.ts.map +1 -0
  268. package/lib/typescript/experiment/experimentClient.d.ts +234 -0
  269. package/lib/typescript/experiment/experimentClient.d.ts.map +1 -0
  270. package/lib/typescript/experiment/factory.d.ts +11 -0
  271. package/lib/typescript/experiment/factory.d.ts.map +1 -0
  272. package/lib/typescript/experiment/gen/version.d.ts +2 -0
  273. package/lib/typescript/experiment/gen/version.d.ts.map +1 -0
  274. package/lib/typescript/experiment/index.d.ts +15 -0
  275. package/lib/typescript/experiment/index.d.ts.map +1 -0
  276. package/lib/typescript/experiment/integration/NativeExperimentReactNativeClient.d.ts +16 -0
  277. package/lib/typescript/experiment/integration/NativeExperimentReactNativeClient.d.ts.map +1 -0
  278. package/lib/typescript/experiment/integration/connector.d.ts +16 -0
  279. package/lib/typescript/experiment/integration/connector.d.ts.map +1 -0
  280. package/lib/typescript/experiment/integration/default.d.ts +20 -0
  281. package/lib/typescript/experiment/integration/default.d.ts.map +1 -0
  282. package/lib/typescript/experiment/logger/ampLogger.d.ts +47 -0
  283. package/lib/typescript/experiment/logger/ampLogger.d.ts.map +1 -0
  284. package/lib/typescript/experiment/logger/consoleLogger.d.ts +40 -0
  285. package/lib/typescript/experiment/logger/consoleLogger.d.ts.map +1 -0
  286. package/lib/typescript/experiment/storage/cache.d.ts +35 -0
  287. package/lib/typescript/experiment/storage/cache.d.ts.map +1 -0
  288. package/lib/typescript/experiment/storage/local-storage.d.ts +11 -0
  289. package/lib/typescript/experiment/storage/local-storage.d.ts.map +1 -0
  290. package/lib/typescript/experiment/stubClient.d.ts +21 -0
  291. package/lib/typescript/experiment/stubClient.d.ts.map +1 -0
  292. package/lib/typescript/experiment/transport/http.d.ts +17 -0
  293. package/lib/typescript/experiment/transport/http.d.ts.map +1 -0
  294. package/lib/typescript/experiment/types/client.d.ts +36 -0
  295. package/lib/typescript/experiment/types/client.d.ts.map +1 -0
  296. package/lib/typescript/experiment/types/config.d.ts +164 -0
  297. package/lib/typescript/experiment/types/config.d.ts.map +1 -0
  298. package/lib/typescript/experiment/types/exposure.d.ts +107 -0
  299. package/lib/typescript/experiment/types/exposure.d.ts.map +1 -0
  300. package/lib/typescript/experiment/types/logger.d.ts +67 -0
  301. package/lib/typescript/experiment/types/logger.d.ts.map +1 -0
  302. package/lib/typescript/experiment/types/source.d.ts +43 -0
  303. package/lib/typescript/experiment/types/source.d.ts.map +1 -0
  304. package/lib/typescript/experiment/types/storage.d.ts +7 -0
  305. package/lib/typescript/experiment/types/storage.d.ts.map +1 -0
  306. package/lib/typescript/experiment/types/transport.d.ts +8 -0
  307. package/lib/typescript/experiment/types/transport.d.ts.map +1 -0
  308. package/lib/typescript/experiment/types/user.d.ts +106 -0
  309. package/lib/typescript/experiment/types/user.d.ts.map +1 -0
  310. package/lib/typescript/experiment/types/variant.d.ts +33 -0
  311. package/lib/typescript/experiment/types/variant.d.ts.map +1 -0
  312. package/lib/typescript/experiment/util/backoff.d.ts +14 -0
  313. package/lib/typescript/experiment/util/backoff.d.ts.map +1 -0
  314. package/lib/typescript/experiment/util/base64.d.ts +3 -0
  315. package/lib/typescript/experiment/util/base64.d.ts.map +1 -0
  316. package/lib/typescript/experiment/util/convert.d.ts +7 -0
  317. package/lib/typescript/experiment/util/convert.d.ts.map +1 -0
  318. package/lib/typescript/experiment/util/index.d.ts +6 -0
  319. package/lib/typescript/experiment/util/index.d.ts.map +1 -0
  320. package/lib/typescript/experiment/util/platform.d.ts +3 -0
  321. package/lib/typescript/experiment/util/platform.d.ts.map +1 -0
  322. package/lib/typescript/experiment/util/randomstring.d.ts +2 -0
  323. package/lib/typescript/experiment/util/randomstring.d.ts.map +1 -0
  324. package/lib/typescript/experiment/util/userSessionExposureTracker.d.ts +16 -0
  325. package/lib/typescript/experiment/util/userSessionExposureTracker.d.ts.map +1 -0
  326. package/lib/typescript/index.d.ts +31 -0
  327. package/lib/typescript/index.d.ts.map +1 -0
  328. package/lib/typescript/index.web.d.ts +12 -0
  329. package/lib/typescript/index.web.d.ts.map +1 -0
  330. package/lib/typescript/native/context.d.ts +29 -0
  331. package/lib/typescript/native/context.d.ts.map +1 -0
  332. package/lib/typescript/native/http.d.ts +6 -0
  333. package/lib/typescript/native/http.d.ts.map +1 -0
  334. package/lib/typescript/native/hybrid.d.ts +8 -0
  335. package/lib/typescript/native/hybrid.d.ts.map +1 -0
  336. package/lib/typescript/native/storage.d.ts +29 -0
  337. package/lib/typescript/native/storage.d.ts.map +1 -0
  338. package/nitro.json +33 -0
  339. package/nitrogen/generated/.gitattributes +1 -0
  340. package/nitrogen/generated/android/NitroAmplitude+autolinking.cmake +83 -0
  341. package/nitrogen/generated/android/NitroAmplitude+autolinking.gradle +27 -0
  342. package/nitrogen/generated/android/NitroAmplitudeOnLoad.cpp +69 -0
  343. package/nitrogen/generated/android/NitroAmplitudeOnLoad.hpp +34 -0
  344. package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitroamplitude/NitroAmplitudeOnLoad.kt +35 -0
  345. package/nitrogen/generated/ios/NitroAmplitude+autolinking.rb +62 -0
  346. package/nitrogen/generated/ios/NitroAmplitude-Swift-Cxx-Bridge.cpp +17 -0
  347. package/nitrogen/generated/ios/NitroAmplitude-Swift-Cxx-Bridge.hpp +27 -0
  348. package/nitrogen/generated/ios/NitroAmplitude-Swift-Cxx-Umbrella.hpp +38 -0
  349. package/nitrogen/generated/ios/NitroAmplitudeAutolinking.mm +55 -0
  350. package/nitrogen/generated/ios/NitroAmplitudeAutolinking.swift +16 -0
  351. package/nitrogen/generated/shared/c++/HybridAmplitudeContextSpec.cpp +25 -0
  352. package/nitrogen/generated/shared/c++/HybridAmplitudeContextSpec.hpp +67 -0
  353. package/nitrogen/generated/shared/c++/HybridAmplitudeStorageSpec.cpp +30 -0
  354. package/nitrogen/generated/shared/c++/HybridAmplitudeStorageSpec.hpp +73 -0
  355. package/nitrogen/generated/shared/c++/HybridAmplitudeWorkerSpec.cpp +24 -0
  356. package/nitrogen/generated/shared/c++/HybridAmplitudeWorkerSpec.hpp +66 -0
  357. package/package.json +130 -0
  358. package/react-native-nitro-amplitude.podspec +36 -0
  359. package/src/AmplitudeContext.nitro.ts +21 -0
  360. package/src/AmplitudeStorage.nitro.ts +17 -0
  361. package/src/AmplitudeWorker.nitro.ts +25 -0
  362. package/src/analytics/campaign/campaign-tracker.ts +162 -0
  363. package/src/analytics/campaign/types.ts +18 -0
  364. package/src/analytics/config.ts +373 -0
  365. package/src/analytics/cookie-migration/index.ts +69 -0
  366. package/src/analytics/index.ts +36 -0
  367. package/src/analytics/migration/remnant-data-migration.ts +206 -0
  368. package/src/analytics/nitro-transport.ts +35 -0
  369. package/src/analytics/plugins/context.ts +166 -0
  370. package/src/analytics/react-native-client.ts +573 -0
  371. package/src/analytics/storage/local-storage.ts +76 -0
  372. package/src/analytics/types.ts +30 -0
  373. package/src/analytics/typings/browser-snippet.d.ts +7 -0
  374. package/src/analytics/typings/ua-parser.d.ts +4 -0
  375. package/src/analytics/utils/platform.ts +9 -0
  376. package/src/analytics/version.ts +1 -0
  377. package/src/experiment/experimentClient.ts +987 -0
  378. package/src/experiment/factory.ts +86 -0
  379. package/src/experiment/gen/version.ts +2 -0
  380. package/src/experiment/index.ts +14 -0
  381. package/src/experiment/integration/NativeExperimentReactNativeClient.ts +25 -0
  382. package/src/experiment/integration/connector.ts +82 -0
  383. package/src/experiment/integration/default.ts +107 -0
  384. package/src/experiment/logger/ampLogger.ts +76 -0
  385. package/src/experiment/logger/consoleLogger.ts +54 -0
  386. package/src/experiment/storage/cache.ts +271 -0
  387. package/src/experiment/storage/local-storage.ts +23 -0
  388. package/src/experiment/stubClient.ts +61 -0
  389. package/src/experiment/transport/http.ts +105 -0
  390. package/src/experiment/types/client.ts +38 -0
  391. package/src/experiment/types/config.ts +210 -0
  392. package/src/experiment/types/exposure.ts +107 -0
  393. package/src/experiment/types/logger.ts +71 -0
  394. package/src/experiment/types/source.ts +52 -0
  395. package/src/experiment/types/storage.ts +6 -0
  396. package/src/experiment/types/transport.ts +14 -0
  397. package/src/experiment/types/user.ts +132 -0
  398. package/src/experiment/types/variant.ts +36 -0
  399. package/src/experiment/util/backoff.ts +67 -0
  400. package/src/experiment/util/base64.ts +20 -0
  401. package/src/experiment/util/convert.ts +78 -0
  402. package/src/experiment/util/index.ts +23 -0
  403. package/src/experiment/util/platform.ts +9 -0
  404. package/src/experiment/util/randomstring.ts +12 -0
  405. package/src/experiment/util/userSessionExposureTracker.ts +47 -0
  406. package/src/index.ts +66 -0
  407. package/src/index.web.ts +19 -0
  408. package/src/native/context.ts +73 -0
  409. package/src/native/http.ts +77 -0
  410. package/src/native/hybrid.ts +32 -0
  411. package/src/native/storage.ts +107 -0
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseTime = exports.parseOptOut = exports.parseOldCookies = exports.decode = void 0;
7
+ var _analyticsCore = require("@amplitude/analytics-core");
8
+ var _config = require("../config");
9
+ const parseOldCookies = async (apiKey, options) => {
10
+ const disableCookies = options?.disableCookies ?? (0, _config.getDefaultConfig)().disableCookies;
11
+ const storage = await (0, _config.createCookieStorage)({
12
+ ...options,
13
+ disableCookies,
14
+ domain: disableCookies ? "" : options?.domain ?? (await (0, _config.getTopLevelDomain)())
15
+ });
16
+ const oldCookieName = (0, _analyticsCore.getOldCookieName)(apiKey);
17
+ const cookies = await storage.getRaw(oldCookieName);
18
+ if (!cookies) {
19
+ return {
20
+ optOut: false
21
+ };
22
+ }
23
+ if (options?.cookieUpgrade ?? (0, _config.getDefaultConfig)().cookieUpgrade) {
24
+ await storage.remove(oldCookieName);
25
+ }
26
+ const [deviceId, userId, optOut, sessionId, lastEventTime] = cookies.split(".");
27
+ return {
28
+ deviceId,
29
+ userId: decode(userId ?? ""),
30
+ sessionId: parseTime(sessionId),
31
+ lastEventTime: parseTime(lastEventTime),
32
+ optOut: parseOptOut(optOut)
33
+ };
34
+ };
35
+ exports.parseOldCookies = parseOldCookies;
36
+ const parseTime = num => {
37
+ const integer = parseInt(num, 32);
38
+ if (isNaN(integer)) {
39
+ return undefined;
40
+ }
41
+ return integer;
42
+ };
43
+ exports.parseTime = parseTime;
44
+ const decode = value => {
45
+ if (typeof atob !== "function" || typeof escape !== "function" || !value) {
46
+ return undefined;
47
+ }
48
+ try {
49
+ return decodeURIComponent(escape(atob(value)));
50
+ } catch {
51
+ return undefined;
52
+ }
53
+ };
54
+ exports.decode = decode;
55
+ const parseOptOut = value => {
56
+ return value === "1" || value === "true";
57
+ };
58
+ exports.parseOptOut = parseOptOut;
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_analyticsCore","require","_config","parseOldCookies","apiKey","options","disableCookies","getDefaultConfig","storage","createCookieStorage","domain","getTopLevelDomain","oldCookieName","getOldCookieName","cookies","getRaw","optOut","cookieUpgrade","remove","deviceId","userId","sessionId","lastEventTime","split","decode","parseTime","parseOptOut","exports","num","integer","parseInt","isNaN","undefined","value","atob","escape","decodeURIComponent"],"sourceRoot":"../../../../src","sources":["analytics/cookie-migration/index.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAKA,IAAAC,OAAA,GAAAD,OAAA;AAMO,MAAME,eAAe,GAAG,MAAAA,CAC7BC,MAAc,EACdC,OAA4B,KACH;EACzB,MAAMC,cAAc,GAClBD,OAAO,EAAEC,cAAc,IAAI,IAAAC,wBAAgB,EAAC,CAAC,CAACD,cAAc;EAC9D,MAAME,OAAO,GAAG,MAAM,IAAAC,2BAAmB,EAAS;IAChD,GAAGJ,OAAO;IACVC,cAAc;IACdI,MAAM,EAAEJ,cAAc,GAClB,EAAE,GACDD,OAAO,EAAEK,MAAM,KAAK,MAAM,IAAAC,yBAAiB,EAAC,CAAC;EACpD,CAAC,CAAC;EACF,MAAMC,aAAa,GAAG,IAAAC,+BAAgB,EAACT,MAAM,CAAC;EAC9C,MAAMU,OAAO,GAAG,MAAMN,OAAO,CAACO,MAAM,CAACH,aAAa,CAAC;EAEnD,IAAI,CAACE,OAAO,EAAE;IACZ,OAAO;MACLE,MAAM,EAAE;IACV,CAAC;EACH;EAEA,IAAIX,OAAO,EAAEY,aAAa,IAAI,IAAAV,wBAAgB,EAAC,CAAC,CAACU,aAAa,EAAE;IAC9D,MAAMT,OAAO,CAACU,MAAM,CAACN,aAAa,CAAC;EACrC;EACA,MAAM,CAACO,QAAQ,EAAEC,MAAM,EAAEJ,MAAM,EAAEK,SAAS,EAAEC,aAAa,CAAC,GACxDR,OAAO,CAACS,KAAK,CAAC,GAAG,CAAC;EACpB,OAAO;IACLJ,QAAQ;IACRC,MAAM,EAAEI,MAAM,CAACJ,MAAM,IAAI,EAAE,CAAC;IAC5BC,SAAS,EAAEI,SAAS,CAACJ,SAAS,CAAC;IAC/BC,aAAa,EAAEG,SAAS,CAACH,aAAa,CAAC;IACvCN,MAAM,EAAEU,WAAW,CAACV,MAAM;EAC5B,CAAC;AACH,CAAC;AAACW,OAAA,CAAAxB,eAAA,GAAAA,eAAA;AAEK,MAAMsB,SAAS,GAAIG,GAAW,IAAK;EACxC,MAAMC,OAAO,GAAGC,QAAQ,CAACF,GAAG,EAAE,EAAE,CAAC;EACjC,IAAIG,KAAK,CAACF,OAAO,CAAC,EAAE;IAClB,OAAOG,SAAS;EAClB;EACA,OAAOH,OAAO;AAChB,CAAC;AAACF,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAEK,MAAMD,MAAM,GAAIS,KAAc,IAAyB;EAC5D,IAAI,OAAOC,IAAI,KAAK,UAAU,IAAI,OAAOC,MAAM,KAAK,UAAU,IAAI,CAACF,KAAK,EAAE;IACxE,OAAOD,SAAS;EAClB;EACA,IAAI;IACF,OAAOI,kBAAkB,CAACD,MAAM,CAACD,IAAI,CAACD,KAAK,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC,MAAM;IACN,OAAOD,SAAS;EAClB;AACF,CAAC;AAACL,OAAA,CAAAH,MAAA,GAAAA,MAAA;AAEK,MAAME,WAAW,GAAIO,KAAc,IAAc;EACtD,OAAOA,KAAK,KAAK,GAAG,IAAIA,KAAK,KAAK,MAAM;AAC1C,CAAC;AAACN,OAAA,CAAAD,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Identify", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _analyticsCore.Identify;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "InMemoryStorage", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _localStorage.InMemoryStorage;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "LocalStorage", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _localStorage.LocalStorage;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "MemoryStorage", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _localStorage.MemoryStorage;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "Revenue", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _analyticsCore.Revenue;
34
+ }
35
+ });
36
+ exports.add = exports.Types = void 0;
37
+ Object.defineProperty(exports, "createInstance", {
38
+ enumerable: true,
39
+ get: function () {
40
+ return _reactNativeClient.createInstance;
41
+ }
42
+ });
43
+ exports.track = exports.shutdown = exports.setUserId = exports.setSessionId = exports.setOptOut = exports.setGroup = exports.setDeviceId = exports.revenue = exports.reset = exports.remove = exports.logEvent = exports.init = exports.identify = exports.groupIdentify = exports.getUserId = exports.getSessionId = exports.getDeviceId = exports.flush = exports.extendSession = void 0;
44
+ var _reactNativeClient = _interopRequireWildcard(require("./react-native-client"));
45
+ var Types = _interopRequireWildcard(require("./types"));
46
+ exports.Types = Types;
47
+ var _analyticsCore = require("@amplitude/analytics-core");
48
+ var _localStorage = require("./storage/local-storage");
49
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
50
+ // Export types to maintain backward compatibility with `analytics-types`.
51
+ // In the next major version, only export customer-facing types to reduce the public API surface.
52
+
53
+ const {
54
+ add,
55
+ flush,
56
+ getDeviceId,
57
+ getSessionId,
58
+ getUserId,
59
+ groupIdentify,
60
+ identify,
61
+ init,
62
+ logEvent,
63
+ remove,
64
+ reset,
65
+ revenue,
66
+ setDeviceId,
67
+ setGroup,
68
+ setOptOut,
69
+ setSessionId,
70
+ setUserId,
71
+ shutdown,
72
+ track,
73
+ extendSession
74
+ } = _reactNativeClient.default;
75
+ exports.extendSession = extendSession;
76
+ exports.track = track;
77
+ exports.shutdown = shutdown;
78
+ exports.setUserId = setUserId;
79
+ exports.setSessionId = setSessionId;
80
+ exports.setOptOut = setOptOut;
81
+ exports.setGroup = setGroup;
82
+ exports.setDeviceId = setDeviceId;
83
+ exports.revenue = revenue;
84
+ exports.reset = reset;
85
+ exports.remove = remove;
86
+ exports.logEvent = logEvent;
87
+ exports.init = init;
88
+ exports.identify = identify;
89
+ exports.groupIdentify = groupIdentify;
90
+ exports.getUserId = getUserId;
91
+ exports.getSessionId = getSessionId;
92
+ exports.getDeviceId = getDeviceId;
93
+ exports.flush = flush;
94
+ exports.add = add;
95
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeClient","_interopRequireWildcard","require","Types","exports","_analyticsCore","_localStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","add","flush","getDeviceId","getSessionId","getUserId","groupIdentify","identify","init","logEvent","remove","reset","revenue","setDeviceId","setGroup","setOptOut","setSessionId","setUserId","shutdown","track","extendSession","client"],"sourceRoot":"../../../src","sources":["analytics/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAiCE,OAAA,CAAAD,KAAA,GAAAA,KAAA;AAyBjC,IAAAE,cAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAIiC,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAhCjC;AACA;;AAGO,MAAM;EACXkB,GAAG;EACHC,KAAK;EACLC,WAAW;EACXC,YAAY;EACZC,SAAS;EACTC,aAAa;EACbC,QAAQ;EACRC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC,QAAQ;EACRC,SAAS;EACTC,YAAY;EACZC,SAAS;EACTC,QAAQ;EACRC,KAAK;EACLC;AACF,CAAC,GAAGC,0BAAM;AAAC1C,OAAA,CAAAyC,aAAA,GAAAA,aAAA;AAAAzC,OAAA,CAAAwC,KAAA,GAAAA,KAAA;AAAAxC,OAAA,CAAAuC,QAAA,GAAAA,QAAA;AAAAvC,OAAA,CAAAsC,SAAA,GAAAA,SAAA;AAAAtC,OAAA,CAAAqC,YAAA,GAAAA,YAAA;AAAArC,OAAA,CAAAoC,SAAA,GAAAA,SAAA;AAAApC,OAAA,CAAAmC,QAAA,GAAAA,QAAA;AAAAnC,OAAA,CAAAkC,WAAA,GAAAA,WAAA;AAAAlC,OAAA,CAAAiC,OAAA,GAAAA,OAAA;AAAAjC,OAAA,CAAAgC,KAAA,GAAAA,KAAA;AAAAhC,OAAA,CAAA+B,MAAA,GAAAA,MAAA;AAAA/B,OAAA,CAAA8B,QAAA,GAAAA,QAAA;AAAA9B,OAAA,CAAA6B,IAAA,GAAAA,IAAA;AAAA7B,OAAA,CAAA4B,QAAA,GAAAA,QAAA;AAAA5B,OAAA,CAAA2B,aAAA,GAAAA,aAAA;AAAA3B,OAAA,CAAA0B,SAAA,GAAAA,SAAA;AAAA1B,OAAA,CAAAyB,YAAA,GAAAA,YAAA;AAAAzB,OAAA,CAAAwB,WAAA,GAAAA,WAAA;AAAAxB,OAAA,CAAAuB,KAAA,GAAAA,KAAA;AAAAvB,OAAA,CAAAsB,GAAA,GAAAA,GAAA","ignoreList":[]}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _analyticsCore = require("@amplitude/analytics-core");
8
+ var _context = require("../../native/context");
9
+ class RemnantDataMigration {
10
+ constructor(apiKey, instanceName, storage, firstRunSinceUpgrade, logger) {
11
+ this.apiKey = apiKey;
12
+ this.instanceName = instanceName;
13
+ this.storage = storage;
14
+ this.firstRunSinceUpgrade = firstRunSinceUpgrade;
15
+ this.logger = logger;
16
+ this.eventsStorageKey = `${_analyticsCore.STORAGE_PREFIX}_${this.apiKey.substring(0, 10)}`;
17
+ }
18
+ async execute() {
19
+ if (this.firstRunSinceUpgrade) {
20
+ await this.moveIdentifies();
21
+ await this.moveInterceptedIdentifies();
22
+ }
23
+ await this.moveEvents();
24
+ return this.callNativeFunction(() => Promise.resolve((0, _context.getLegacySessionData)(this.instanceName ?? ""))).then(sessionData => sessionData ?? {});
25
+ }
26
+ async moveEvents() {
27
+ await this.moveLegacyEvents("event");
28
+ }
29
+ async moveIdentifies() {
30
+ await this.moveLegacyEvents("identify");
31
+ }
32
+ async moveInterceptedIdentifies() {
33
+ await this.moveLegacyEvents("interceptedIdentify");
34
+ }
35
+ async callNativeFunction(action) {
36
+ try {
37
+ return await action();
38
+ } catch (e) {
39
+ this.logger?.error(`can't call native function: ${String(e)}`);
40
+ return undefined;
41
+ }
42
+ }
43
+ callNativeAction(action) {
44
+ try {
45
+ action();
46
+ } catch (e) {
47
+ this.logger?.error(`can't call native function: ${String(e)}`);
48
+ }
49
+ }
50
+ async callStorageFunction(action) {
51
+ try {
52
+ return {
53
+ value: await action()
54
+ };
55
+ } catch (e) {
56
+ this.logger?.error(`can't call storage function: ${String(e)}`);
57
+ return undefined;
58
+ }
59
+ }
60
+ async moveLegacyEvents(eventKind) {
61
+ const legacyJsonEvents = await this.callNativeFunction(() => Promise.resolve((0, _context.getLegacyEvents)(this.instanceName ?? "", eventKind)));
62
+ if (!this.storage || !legacyJsonEvents || legacyJsonEvents.length === 0) {
63
+ return;
64
+ }
65
+ const existingEvents = await this.callStorageFunction(async () => {
66
+ return this.storage?.get(this.eventsStorageKey);
67
+ });
68
+ if (!existingEvents) {
69
+ return;
70
+ }
71
+ const events = existingEvents.value ?? [];
72
+ const eventIds = [];
73
+ legacyJsonEvents.forEach(jsonEvent => {
74
+ const event = this.convertLegacyEvent(jsonEvent);
75
+ if (event) {
76
+ events.push(event);
77
+ if (event.event_id !== undefined) {
78
+ eventIds.push(event.event_id);
79
+ }
80
+ }
81
+ });
82
+ const writeSucceeded = await this.callStorageFunction(async () => {
83
+ await this.storage?.set(this.eventsStorageKey, events);
84
+ return true;
85
+ });
86
+ if (!writeSucceeded?.value) {
87
+ return;
88
+ }
89
+ eventIds.forEach(eventId => this.callNativeAction(() => (0, _context.removeLegacyEvent)(this.instanceName ?? "", eventKind, eventId)));
90
+ }
91
+ convertLegacyEvent(legacyJsonEvent) {
92
+ try {
93
+ const event = JSON.parse(legacyJsonEvent);
94
+ const {
95
+ library,
96
+ timestamp,
97
+ uuid,
98
+ api_properties
99
+ } = event;
100
+ if (library !== undefined) {
101
+ event.library = `${library.name}/${library.version}`;
102
+ }
103
+ if (timestamp !== undefined) {
104
+ event.time = timestamp;
105
+ }
106
+ if (uuid !== undefined) {
107
+ event.insert_id = uuid;
108
+ }
109
+ if (api_properties) {
110
+ const {
111
+ androidADID,
112
+ android_app_set_id,
113
+ ios_idfa,
114
+ ios_idfv,
115
+ productId,
116
+ quantity,
117
+ price,
118
+ location
119
+ } = api_properties;
120
+ if (androidADID !== undefined) {
121
+ event.adid = androidADID;
122
+ }
123
+ if (android_app_set_id !== undefined) {
124
+ event.android_app_set_id = android_app_set_id;
125
+ }
126
+ if (ios_idfa !== undefined) {
127
+ event.idfa = ios_idfa;
128
+ }
129
+ if (ios_idfv !== undefined) {
130
+ event.idfv = ios_idfv;
131
+ }
132
+ if (productId !== undefined) {
133
+ event.productId = productId;
134
+ }
135
+ if (quantity !== undefined) {
136
+ event.quantity = quantity;
137
+ }
138
+ if (price !== undefined) {
139
+ event.price = price;
140
+ }
141
+ if (location !== undefined) {
142
+ const {
143
+ lat,
144
+ lng
145
+ } = location;
146
+ event.location_lat = lat;
147
+ event.location_lng = lng;
148
+ }
149
+ }
150
+ const {
151
+ $productId: productId,
152
+ $quantity: quantity,
153
+ $price: price,
154
+ $revenueType: revenueType
155
+ } = event;
156
+ if (productId !== undefined) {
157
+ event.productId = productId;
158
+ }
159
+ if (quantity !== undefined) {
160
+ event.quantity = quantity;
161
+ }
162
+ if (price !== undefined) {
163
+ event.price = price;
164
+ }
165
+ if (revenueType !== undefined) {
166
+ event.revenueType = revenueType;
167
+ }
168
+ return event;
169
+ } catch {
170
+ // skip invalid events
171
+ return null;
172
+ }
173
+ }
174
+ // eslint-enable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
175
+ }
176
+ exports.default = RemnantDataMigration;
177
+ //# sourceMappingURL=remnant-data-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_analyticsCore","require","_context","RemnantDataMigration","constructor","apiKey","instanceName","storage","firstRunSinceUpgrade","logger","eventsStorageKey","STORAGE_PREFIX","substring","execute","moveIdentifies","moveInterceptedIdentifies","moveEvents","callNativeFunction","Promise","resolve","getLegacySessionData","then","sessionData","moveLegacyEvents","action","e","error","String","undefined","callNativeAction","callStorageFunction","value","eventKind","legacyJsonEvents","getLegacyEvents","length","existingEvents","get","events","eventIds","forEach","jsonEvent","event","convertLegacyEvent","push","event_id","writeSucceeded","set","eventId","removeLegacyEvent","legacyJsonEvent","JSON","parse","library","timestamp","uuid","api_properties","name","version","time","insert_id","androidADID","android_app_set_id","ios_idfa","ios_idfv","productId","quantity","price","location","adid","idfa","idfv","lat","lng","location_lat","location_lng","$productId","$quantity","$price","$revenueType","revenueType","exports","default"],"sourceRoot":"../../../../src","sources":["analytics/migration/remnant-data-migration.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.nitroTransport = exports.NitroTransport = void 0;
7
+ var _analyticsCore = require("@amplitude/analytics-core");
8
+ var _http = require("../native/http");
9
+ class NitroTransport extends _analyticsCore.BaseTransport {
10
+ constructor(customHeaders = {}) {
11
+ super();
12
+ this.customHeaders = customHeaders;
13
+ }
14
+ async send(serverUrl, payload) {
15
+ const response = await _http.nitroHttpClient.request(serverUrl, "POST", {
16
+ "Content-Type": "application/json",
17
+ Accept: "*/*",
18
+ ...this.customHeaders
19
+ }, JSON.stringify(payload), 30000);
20
+ try {
21
+ return this.buildResponse(JSON.parse(response.body));
22
+ } catch {
23
+ return this.buildResponse({
24
+ code: response.status
25
+ });
26
+ }
27
+ }
28
+ }
29
+ exports.NitroTransport = NitroTransport;
30
+ const nitroTransport = exports.nitroTransport = new NitroTransport();
31
+ //# sourceMappingURL=nitro-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_analyticsCore","require","_http","NitroTransport","BaseTransport","constructor","customHeaders","send","serverUrl","payload","response","nitroHttpClient","request","Accept","JSON","stringify","buildResponse","parse","body","code","status","exports","nitroTransport"],"sourceRoot":"../../../src","sources":["analytics/nitro-transport.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEO,MAAME,cAAc,SAASC,4BAAa,CAAsB;EAGrEC,WAAWA,CAACC,aAAqC,GAAG,CAAC,CAAC,EAAE;IACtD,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,IAAIA,CAACC,SAAiB,EAAEC,OAAgB,EAA4B;IACxE,MAAMC,QAAQ,GAAG,MAAMC,qBAAe,CAACC,OAAO,CAC5CJ,SAAS,EACT,MAAM,EACN;MACE,cAAc,EAAE,kBAAkB;MAClCK,MAAM,EAAE,KAAK;MACb,GAAG,IAAI,CAACP;IACV,CAAC,EACDQ,IAAI,CAACC,SAAS,CAACN,OAAO,CAAC,EACvB,KACF,CAAC;IACD,IAAI;MACF,OAAO,IAAI,CAACO,aAAa,CACvBF,IAAI,CAACG,KAAK,CAACP,QAAQ,CAACQ,IAAI,CAC1B,CAAC;IACH,CAAC,CAAC,MAAM;MACN,OAAO,IAAI,CAACF,aAAa,CAAC;QAAEG,IAAI,EAAET,QAAQ,CAACU;MAAO,CAAC,CAAC;IACtD;EACF;AACF;AAACC,OAAA,CAAAlB,cAAA,GAAAA,cAAA;AAEM,MAAMmB,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,IAAInB,cAAc,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Context = void 0;
7
+ var _analyticsCore = require("@amplitude/analytics-core");
8
+ var _uaParserJs = _interopRequireDefault(require("@amplitude/ua-parser-js"));
9
+ var _version = require("../version");
10
+ var _reactNative = require("react-native");
11
+ var _context = require("../../native/context");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ const BROWSER_PLATFORM = "Web";
14
+ const IP_ADDRESS = "$remote";
15
+ const ReactNativePlatform = _reactNative.Platform;
16
+ function getPlatformOS() {
17
+ try {
18
+ return ReactNativePlatform?.OS;
19
+ } catch {
20
+ return undefined;
21
+ }
22
+ }
23
+ function getNativePlatformName(platformOS = getPlatformOS()) {
24
+ switch (platformOS) {
25
+ case "ios":
26
+ return "iOS";
27
+ case "android":
28
+ return "Android";
29
+ default:
30
+ return BROWSER_PLATFORM;
31
+ }
32
+ }
33
+ class Context {
34
+ name = "@amplitude/plugin-context-react-native";
35
+ type = "before";
36
+
37
+ // this.config is defined in setup() which will always be called first
38
+
39
+ // @ts-ignore
40
+
41
+ library = `amplitude-nitro-ts/${_version.VERSION}`;
42
+ constructor() {
43
+ let agent;
44
+ /* istanbul ignore else */
45
+ if (typeof navigator !== "undefined") {
46
+ agent = navigator.userAgent;
47
+ }
48
+ this.uaResult = new _uaParserJs.default(agent).getResult();
49
+ }
50
+ setup(config) {
51
+ this.config = config;
52
+ return Promise.resolve(undefined);
53
+ }
54
+ getNativeContext() {
55
+ try {
56
+ return (0, _context.getNativeApplicationContext)(this.config.trackingOptions);
57
+ } catch (error) {
58
+ this.config.loggerProvider?.error(`Failed to load native application context: ${String(error)}`);
59
+ return undefined;
60
+ }
61
+ }
62
+ async execute(context) {
63
+ const time = new Date().getTime();
64
+ const platformOS = getPlatformOS();
65
+ const nativeContext = this.getNativeContext();
66
+ const isWebPlatform = platformOS === "web";
67
+ const fallbackPlatform = getNativePlatformName(platformOS);
68
+ const appVersion = this.config.appVersion || nativeContext?.version;
69
+ const platform = nativeContext?.platform || fallbackPlatform;
70
+ const osName = nativeContext?.osName || (isWebPlatform ? this.uaResult.browser.name : fallbackPlatform);
71
+ const osVersion = nativeContext?.osVersion || (isWebPlatform ? this.uaResult.browser.version : undefined);
72
+ const deviceVendor = nativeContext?.deviceManufacturer || (isWebPlatform ? this.uaResult.device.vendor : undefined);
73
+ const deviceModel = nativeContext?.deviceModel || (isWebPlatform ? this.uaResult.device.model || this.uaResult.os.name : undefined);
74
+ const language = nativeContext?.language || (0, _analyticsCore.getLanguage)();
75
+ const country = nativeContext?.country;
76
+ const carrier = nativeContext?.carrier;
77
+ const adid = nativeContext?.adid;
78
+ const appSetId = nativeContext?.appSetId;
79
+ const idfv = nativeContext?.idfv;
80
+ const event = {
81
+ user_id: this.config.userId,
82
+ device_id: this.config.deviceId,
83
+ session_id: this.config.sessionId,
84
+ time,
85
+ ...(appVersion && {
86
+ app_version: appVersion
87
+ }),
88
+ ...(this.config.trackingOptions.platform && {
89
+ platform: platform
90
+ }),
91
+ ...(this.config.trackingOptions.osName && {
92
+ os_name: osName
93
+ }),
94
+ ...(this.config.trackingOptions.osVersion && {
95
+ os_version: osVersion
96
+ }),
97
+ ...(this.config.trackingOptions.deviceManufacturer && {
98
+ device_manufacturer: deviceVendor
99
+ }),
100
+ ...(this.config.trackingOptions.deviceModel && {
101
+ device_model: deviceModel
102
+ }),
103
+ ...(this.config.trackingOptions.language && {
104
+ language: language
105
+ }),
106
+ ...(this.config.trackingOptions.country && {
107
+ country: country
108
+ }),
109
+ ...(this.config.trackingOptions.carrier && {
110
+ carrier: carrier
111
+ }),
112
+ ...(this.config.trackingOptions.ipAddress && {
113
+ ip: IP_ADDRESS
114
+ }),
115
+ ...(this.config.trackingOptions.adid && {
116
+ adid: adid
117
+ }),
118
+ ...(this.config.trackingOptions.appSetId && {
119
+ android_app_set_id: appSetId
120
+ }),
121
+ ...(this.config.trackingOptions.idfv && {
122
+ idfv: idfv
123
+ }),
124
+ insert_id: (0, _analyticsCore.UUID)(),
125
+ partner_id: this.config.partnerId,
126
+ plan: this.config.plan,
127
+ ...(this.config.ingestionMetadata && {
128
+ ingestion_metadata: {
129
+ source_name: this.config.ingestionMetadata.sourceName,
130
+ source_version: this.config.ingestionMetadata.sourceVersion
131
+ }
132
+ }),
133
+ ...context,
134
+ library: this.library
135
+ };
136
+ return event;
137
+ }
138
+ }
139
+ exports.Context = Context;
140
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_analyticsCore","require","_uaParserJs","_interopRequireDefault","_version","_reactNative","_context","e","__esModule","default","BROWSER_PLATFORM","IP_ADDRESS","ReactNativePlatform","Platform","getPlatformOS","OS","undefined","getNativePlatformName","platformOS","Context","name","type","library","VERSION","constructor","agent","navigator","userAgent","uaResult","UAParser","getResult","setup","config","Promise","resolve","getNativeContext","getNativeApplicationContext","trackingOptions","error","loggerProvider","String","execute","context","time","Date","getTime","nativeContext","isWebPlatform","fallbackPlatform","appVersion","version","platform","osName","browser","osVersion","deviceVendor","deviceManufacturer","device","vendor","deviceModel","model","os","language","getLanguage","country","carrier","adid","appSetId","idfv","event","user_id","userId","device_id","deviceId","session_id","sessionId","app_version","os_name","os_version","device_manufacturer","device_model","ipAddress","ip","android_app_set_id","insert_id","UUID","partner_id","partnerId","plan","ingestionMetadata","ingestion_metadata","source_name","sourceName","source_version","sourceVersion","exports"],"sourceRoot":"../../../../src","sources":["analytics/plugins/context.ts"],"mappings":"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","ignoreList":[]}