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 @@
1
+ {"version":3,"names":["topologicalSort","EvaluationEngine","FetchError","Poller","SdkFlagApi","SdkEvaluationApi","version","PACKAGE_VERSION","ConnectorUserProvider","DefaultUserProvider","AmpLogger","ConsoleLogger","getFlagStorage","getVariantsOptionsStorage","getVariantStorage","MemoryStorage","FetchHttpClient","WrapperClient","Defaults","LogLevel","isFallback","Source","VariantSource","isLocalEvaluationMode","isNullOrUndefined","isNullUndefinedOrEmpty","Backoff","convertEvaluationVariantToVariant","convertUserToContext","convertVariant","UserSessionExposureTracker","fetchBackoffTimeout","fetchBackoffAttempts","fetchBackoffMinMillis","fetchBackoffMaxMillis","fetchBackoffScalar","flagPollerIntervalMillis","euServerUrl","euFlagsServerUrl","ExperimentClient","engine","user","poller","pollFlags","isRunning","fetchSequenceNumber","storedFetchSequenceNumber","stopCallbacks","Set","constructor","apiKey","config","serverZone","debug","logLevel","Error","loggerProvider","instanceName","fallbackVariant","initialVariants","source","LocalStorage","serverUrl","flagsServerUrl","fetchTimeoutMillis","retryFetchOnFailure","automaticExposureTracking","pollOnStart","fetchOnStart","automaticFetchOnAmplitudeIdentityChange","userProvider","exposureTrackingProvider","httpClient","storage","logger","getLogLevel","defaultUserProvider","userSessionExposureTracker","flagApi","evaluationApi","variants","flags","initialFlags","JSON","parse","error","warn","fetchVariantsOptions","flagsAndVariantsLoadedPromise","load","convertInitialFlagsForStorage","cacheReady","Promise","all","start","setUser","flagsReadyPromise","doFlags","fetch","e","stop","stopRetries","callback","clear","options","fetchUser","fetchWithRetries","fetchOrThrow","variant","key","fallback","value","undefined","sourceVariant","variantAndSource","exposureInternal","exposure","evaluatedVariants","evaluate","flagKey","flag","get","secondaryVariants","sourceVariants","store","catch","getUser","user_properties","userPropertiesCopy","getUserProvider","setUserProvider","baseProvider","setTracksAssignment","doTrack","put","trackingOption","addStopCallback","add","fetchOnIdentityChange","flagsMap","forEach","mergeInitialFlagsWithStorage","flagKeys","addContextSync","getAll","context","evaluationVariants","Object","keys","localStorageVariantAndSource","InitialVariants","initialVariantsVariantAndSource","localEvaluationVariantAndSource","defaultSourceVariant","LocalEvaluation","isLocalEvaluationDefault","metadata","default","hasDefaultVariant","FallbackInline","initialVariant","SecondaryInitialVariants","fallbackSourceVariant","FallbackConfig","localStorageVariant","isLocalStorageDefault","initialVariantsVariant","fetchInternal","timeoutMillis","retry","sequenceNumber","doFetch","storeVariants","shouldRetryFetch","startRetries","addContextOrWait","results","getVariants","getFlags","libraryName","libraryVersion","putAll","failedFlagKeys","length","filter","remove","retriesBackoff","cancel","providedUser","getUserSync","mergeContext","addContext","ms","identityReady","mergedUserProperties","library","flag_key","expKey","experiment_key","track","Debug","Warn","statusCode"],"sourceRoot":"../../../src","sources":["experiment/experimentClient.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ import { AnalyticsConnector } from "@amplitude/analytics-connector";
4
+ import { ExperimentClient } from "./experimentClient";
5
+ import { ConnectorExposureTrackingProvider, ConnectorUserProvider } from "./integration/connector";
6
+ import { Defaults } from "./types/config";
7
+ const instances = {};
8
+
9
+ /**
10
+ * Initializes a singleton {@link ExperimentClient} identified by the configured
11
+ * instance name.
12
+ *
13
+ * @param apiKey The deployment API Key
14
+ * @param config See {@link ExperimentConfig} for config options
15
+ */
16
+ const initialize = (apiKey, config) => {
17
+ // Store instances by appending the instance name and api key. Allows for
18
+ // initializing multiple default instances for different api keys.
19
+ const instanceName = config?.instanceName ?? Defaults.instanceName ?? "$default_instance";
20
+ const instanceKey = `${instanceName}.${apiKey}`;
21
+ if (!instances[instanceKey]) {
22
+ instances[instanceKey] = new ExperimentClient(apiKey, config || {});
23
+ }
24
+ return instances[instanceKey];
25
+ };
26
+
27
+ /**
28
+ * Initialize a singleton {@link ExperimentClient} which automatically
29
+ * integrates with the installed and initialized instance of the amplitude
30
+ * analytics SDK.
31
+ *
32
+ * You must be using amplitude-js SDK version 8.17.0+ for this integration to
33
+ * work.
34
+ *
35
+ * @param apiKey The deployment API Key
36
+ * @param config See {@link ExperimentConfig} for config options
37
+ */
38
+ const initializeWithAmplitudeAnalytics = (apiKey, config) => {
39
+ // Store instances by appending the instance name and api key. Allows for
40
+ // initializing multiple default instances for different api keys.
41
+ const instanceName = config?.instanceName ?? Defaults.instanceName ?? "$default_instance";
42
+ const instanceKey = `${instanceName}.${apiKey}`;
43
+ const connector = AnalyticsConnector.getInstance(instanceName);
44
+ if (!instances[instanceKey]) {
45
+ config = {
46
+ userProvider: new ConnectorUserProvider(connector.identityStore),
47
+ exposureTrackingProvider: new ConnectorExposureTrackingProvider(connector.eventBridge),
48
+ ...config
49
+ };
50
+ instances[instanceKey] = new ExperimentClient(apiKey, config);
51
+ if (config.automaticFetchOnAmplitudeIdentityChange) {
52
+ const client = instances[instanceKey];
53
+ const listener = () => {
54
+ client.fetchOnIdentityChange();
55
+ };
56
+ connector.identityStore.addIdentityListener(listener);
57
+ client.addStopCallback(() => {
58
+ connector.identityStore.removeIdentityListener(listener);
59
+ });
60
+ }
61
+ }
62
+ return instances[instanceKey];
63
+ };
64
+
65
+ /**
66
+ * Provides factory methods for storing singleton instances of {@link ExperimentClient}
67
+ * @category Core Usage
68
+ */
69
+ export const Experiment = {
70
+ initialize,
71
+ initializeWithAmplitudeAnalytics
72
+ };
73
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AnalyticsConnector","ExperimentClient","ConnectorExposureTrackingProvider","ConnectorUserProvider","Defaults","instances","initialize","apiKey","config","instanceName","instanceKey","initializeWithAmplitudeAnalytics","connector","getInstance","userProvider","identityStore","exposureTrackingProvider","eventBridge","automaticFetchOnAmplitudeIdentityChange","client","listener","fetchOnIdentityChange","addIdentityListener","addStopCallback","removeIdentityListener","Experiment"],"sourceRoot":"../../../src","sources":["experiment/factory.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,gCAAgC;AAGnE,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SACEC,iCAAiC,EACjCC,qBAAqB,QAChB,yBAAyB;AAChC,SAASC,QAAQ,QAA0B,gBAAgB;AAE3D,MAAMC,SAA2C,GAAG,CAAC,CAAC;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAU,GAAGA,CACjBC,MAAc,EACdC,MAAyB,KACJ;EACrB;EACA;EACA,MAAMC,YAAY,GAChBD,MAAM,EAAEC,YAAY,IAAIL,QAAQ,CAACK,YAAY,IAAI,mBAAmB;EACtE,MAAMC,WAAW,GAAG,GAAGD,YAAY,IAAIF,MAAM,EAAE;EAC/C,IAAI,CAACF,SAAS,CAACK,WAAW,CAAC,EAAE;IAC3BL,SAAS,CAACK,WAAW,CAAC,GAAG,IAAIT,gBAAgB,CAACM,MAAM,EAAEC,MAAM,IAAI,CAAC,CAAC,CAAC;EACrE;EACA,OAAOH,SAAS,CAACK,WAAW,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gCAAgC,GAAGA,CACvCJ,MAAc,EACdC,MAAyB,KACJ;EACrB;EACA;EACA,MAAMC,YAAY,GAChBD,MAAM,EAAEC,YAAY,IAAIL,QAAQ,CAACK,YAAY,IAAI,mBAAmB;EACtE,MAAMC,WAAW,GAAG,GAAGD,YAAY,IAAIF,MAAM,EAAE;EAC/C,MAAMK,SAAS,GAAGZ,kBAAkB,CAACa,WAAW,CAACJ,YAAY,CAAC;EAC9D,IAAI,CAACJ,SAAS,CAACK,WAAW,CAAC,EAAE;IAC3BF,MAAM,GAAG;MACPM,YAAY,EAAE,IAAIX,qBAAqB,CAACS,SAAS,CAACG,aAAa,CAAC;MAChEC,wBAAwB,EAAE,IAAId,iCAAiC,CAC7DU,SAAS,CAACK,WACZ,CAAC;MACD,GAAGT;IACL,CAAC;IACDH,SAAS,CAACK,WAAW,CAAC,GAAG,IAAIT,gBAAgB,CAACM,MAAM,EAAEC,MAAM,CAAC;IAC7D,IAAIA,MAAM,CAACU,uCAAuC,EAAE;MAClD,MAAMC,MAAM,GAAGd,SAAS,CAACK,WAAW,CAAC;MACrC,MAAMU,QAA0B,GAAGA,CAAA,KAAM;QACvCD,MAAM,CAACE,qBAAqB,CAAC,CAAC;MAChC,CAAC;MACDT,SAAS,CAACG,aAAa,CAACO,mBAAmB,CAACF,QAAQ,CAAC;MACrDD,MAAM,CAACI,eAAe,CAAC,MAAM;QAC3BX,SAAS,CAACG,aAAa,CAACS,sBAAsB,CAACJ,QAAQ,CAAC;MAC1D,CAAC,CAAC;IACJ;EACF;EACA,OAAOf,SAAS,CAACK,WAAW,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMe,UAAU,GAAG;EACxBnB,UAAU;EACVK;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ // generated by genversion
4
+ export const version = "1.8.13";
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["version"],"sourceRoot":"../../../../src","sources":["experiment/gen/version.ts"],"mappings":";;AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,QAAQ","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ export * from "./types/config";
4
+ export { Experiment } from "./factory";
5
+ export { StubExperimentClient } from "./stubClient";
6
+ export { ExperimentClient } from "./experimentClient";
7
+ export * from "./types/client";
8
+ export { Source } from "./types/source";
9
+ export * from "./types/user";
10
+ export * from "./types/variant";
11
+ export * from "./types/exposure";
12
+ export * from "./types/storage";
13
+ export { LogLevel } from "./types/logger";
14
+ export { ConsoleLogger } from "./logger/consoleLogger";
15
+ export { LocalStorage, MemoryStorage } from "./storage/local-storage";
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Experiment","StubExperimentClient","ExperimentClient","Source","LogLevel","ConsoleLogger","LocalStorage","MemoryStorage"],"sourceRoot":"../../../src","sources":["experiment/index.ts"],"mappings":";;AAAA,cAAc,gBAAgB;AAC9B,SAASA,UAAU,QAAQ,WAAW;AACtC,SAASC,oBAAoB,QAAQ,cAAc;AACnD,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,cAAc,gBAAgB;AAC9B,SAASC,MAAM,QAAQ,gBAAgB;AACvC,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAC/B,SAASC,QAAQ,QAAQ,gBAAgB;AAEzC,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,YAAY,EAAEC,aAAa,QAAQ,yBAAyB","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ import { NativeModules, TurboModuleRegistry } from "react-native";
4
+ const turboModule = TurboModuleRegistry.get("ExperimentReactNativeClient");
5
+ const legacyModule = NativeModules.ExperimentReactNativeClient;
6
+ export default turboModule ?? legacyModule;
7
+ //# sourceMappingURL=NativeExperimentReactNativeClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","TurboModuleRegistry","turboModule","get","legacyModule","ExperimentReactNativeClient"],"sourceRoot":"../../../../src","sources":["experiment/integration/NativeExperimentReactNativeClient.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,mBAAmB,QAAQ,cAAc;AAgBjE,MAAMC,WAAW,GAAGD,mBAAmB,CAACE,GAAG,CACzC,6BACF,CAAC;AACD,MAAMC,YAAY,GAAGJ,aAAa,CAACK,2BAG3B;AAER,eAAeH,WAAW,IAAIE,YAAY","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ import { safeGlobal } from "@amplitude/experiment-core";
4
+ export class ConnectorUserProvider {
5
+ constructor(identityStore) {
6
+ this.identityStore = identityStore;
7
+ }
8
+ async identityReady(ms) {
9
+ const identity = this.identityStore.getIdentity();
10
+ if (!identity.userId && !identity.deviceId) {
11
+ return new Promise((resolve, reject) => {
12
+ let timeoutHandle;
13
+ const cleanup = () => {
14
+ if (timeoutHandle != null) {
15
+ safeGlobal.clearTimeout(timeoutHandle);
16
+ timeoutHandle = undefined;
17
+ }
18
+ this.identityStore.removeIdentityListener(listener);
19
+ };
20
+ const listener = () => {
21
+ cleanup();
22
+ resolve();
23
+ };
24
+ timeoutHandle = safeGlobal.setTimeout(() => {
25
+ cleanup();
26
+ reject(Error("Timed out waiting for Amplitude Analytics SDK to initialize. " + "You must ensure that the analytics SDK is initialized prior to calling fetch()."));
27
+ }, ms);
28
+ this.identityStore.addIdentityListener(listener);
29
+ });
30
+ }
31
+ }
32
+ async getUser() {
33
+ return this.getUserSync();
34
+ }
35
+ getUserSync() {
36
+ const identity = this.identityStore.getIdentity();
37
+ let userProperties;
38
+ try {
39
+ userProperties = identity.userProperties;
40
+ } catch {
41
+ console.warn("[Experiment] failed to cast user properties");
42
+ }
43
+ return {
44
+ user_id: identity.userId,
45
+ device_id: identity.deviceId,
46
+ user_properties: userProperties
47
+ };
48
+ }
49
+ }
50
+ export class ConnectorExposureTrackingProvider {
51
+ constructor(eventBridge) {
52
+ this.eventBridge = eventBridge;
53
+ }
54
+ track(exposure) {
55
+ this.eventBridge.logEvent({
56
+ eventType: "$exposure",
57
+ eventProperties: exposure
58
+ });
59
+ }
60
+ }
61
+ //# sourceMappingURL=connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["safeGlobal","ConnectorUserProvider","constructor","identityStore","identityReady","ms","identity","getIdentity","userId","deviceId","Promise","resolve","reject","timeoutHandle","cleanup","clearTimeout","undefined","removeIdentityListener","listener","setTimeout","Error","addIdentityListener","getUser","getUserSync","userProperties","console","warn","user_id","device_id","user_properties","ConnectorExposureTrackingProvider","eventBridge","track","exposure","logEvent","eventType","eventProperties"],"sourceRoot":"../../../../src","sources":["experiment/integration/connector.ts"],"mappings":";;AACA,SAASA,UAAU,QAAQ,4BAA4B;AAUvD,OAAO,MAAMC,qBAAqB,CAAmC;EAEnEC,WAAWA,CAACC,aAA4B,EAAE;IACxC,IAAI,CAACA,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,aAAaA,CAACC,EAAU,EAAiB;IAC7C,MAAMC,QAAQ,GAAG,IAAI,CAACH,aAAa,CAACI,WAAW,CAAC,CAAC;IACjD,IAAI,CAACD,QAAQ,CAACE,MAAM,IAAI,CAACF,QAAQ,CAACG,QAAQ,EAAE;MAC1C,OAAO,IAAIC,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;QAC5C,IAAIC,aAAmE;QACvE,MAAMC,OAAO,GAAGA,CAAA,KAAM;UACpB,IAAID,aAAa,IAAI,IAAI,EAAE;YACzBb,UAAU,CAACe,YAAY,CAACF,aAAa,CAAC;YACtCA,aAAa,GAAGG,SAAS;UAC3B;UACA,IAAI,CAACb,aAAa,CAACc,sBAAsB,CAACC,QAAQ,CAAC;QACrD,CAAC;QACD,MAAMA,QAAQ,GAAGA,CAAA,KAAM;UACrBJ,OAAO,CAAC,CAAC;UACTH,OAAO,CAAC,CAAC;QACX,CAAC;QAEDE,aAAa,GAAGb,UAAU,CAACmB,UAAU,CAAC,MAAM;UAC1CL,OAAO,CAAC,CAAC;UACTF,MAAM,CACJQ,KAAK,CACH,+DAA+D,GAC7D,iFACJ,CACF,CAAC;QACH,CAAC,EAAEf,EAAE,CAAC;QACN,IAAI,CAACF,aAAa,CAACkB,mBAAmB,CAACH,QAAQ,CAAC;MAClD,CAAC,CAAC;IACJ;EACF;EAEA,MAAMI,OAAOA,CAAA,EAA4B;IACvC,OAAO,IAAI,CAACC,WAAW,CAAC,CAAC;EAC3B;EAEAA,WAAWA,CAAA,EAAmB;IAC5B,MAAMjB,QAAQ,GAAG,IAAI,CAACH,aAAa,CAACI,WAAW,CAAC,CAAC;IACjD,IAAIiB,cAA0C;IAC9C,IAAI;MACFA,cAAc,GAAGlB,QAAQ,CAACkB,cAAgC;IAC5D,CAAC,CAAC,MAAM;MACNC,OAAO,CAACC,IAAI,CAAC,6CAA6C,CAAC;IAC7D;IACA,OAAO;MACLC,OAAO,EAAErB,QAAQ,CAACE,MAAM;MACxBoB,SAAS,EAAEtB,QAAQ,CAACG,QAAQ;MAC5BoB,eAAe,EAAEL;IACnB,CAAC;EACH;AACF;AAEA,OAAO,MAAMM,iCAAiC,CAAqC;EAGjF5B,WAAWA,CAAC6B,WAAwB,EAAE;IACpC,IAAI,CAACA,WAAW,GAAGA,WAAW;EAChC;EAEAC,KAAKA,CAACC,QAAkB,EAAQ;IAC9B,IAAI,CAACF,WAAW,CAACG,QAAQ,CAAC;MACxBC,SAAS,EAAE,WAAW;MACtBC,eAAe,EAAEH;IACnB,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ import { AnalyticsConnector } from "@amplitude/analytics-connector";
4
+ import { Poller } from "@amplitude/experiment-core";
5
+ import { isNative } from "../util/platform";
6
+ import { getNativeApplicationContext } from "../../native/context";
7
+ import { ConnectorUserProvider } from "./connector";
8
+ export class DefaultUserProvider {
9
+ cachedUser = {};
10
+ poller = new Poller(() => this.load(), 1000);
11
+ constructor(baseProvider = null) {
12
+ this.baseProvider = baseProvider;
13
+ this.applicationContext = AnalyticsConnector.getInstance("context").applicationContextProvider.getApplicationContext();
14
+ }
15
+ start() {
16
+ void this.load();
17
+ if (this.shouldPollUserCache()) {
18
+ this.poller.start();
19
+ }
20
+ }
21
+ stop() {
22
+ this.poller.stop();
23
+ }
24
+
25
+ /**
26
+ * The variant method is not async
27
+ */
28
+ async load() {
29
+ try {
30
+ this.cachedUser = await this.getUser();
31
+ } catch {
32
+ this.cachedUser = this.cachedUser || {};
33
+ }
34
+ }
35
+ async getApplicationContext() {
36
+ if (this.cachedApplicationContext) {
37
+ return this.cachedApplicationContext;
38
+ } else if (isNative()) {
39
+ try {
40
+ this.cachedApplicationContext = getNativeApplicationContext({
41
+ adid: true,
42
+ carrier: true,
43
+ deviceManufacturer: true,
44
+ deviceModel: true,
45
+ ipAddress: false,
46
+ language: true,
47
+ osName: true,
48
+ osVersion: true,
49
+ platform: true,
50
+ appSetId: true,
51
+ idfv: true,
52
+ country: true
53
+ });
54
+ } catch {
55
+ this.cachedApplicationContext = {};
56
+ }
57
+ return this.cachedApplicationContext;
58
+ } else {
59
+ this.cachedApplicationContext = this.applicationContext;
60
+ return this.cachedApplicationContext;
61
+ }
62
+ }
63
+ getUserSync() {
64
+ const context = this.cachedApplicationContext ?? {};
65
+ let user = this.cachedUser;
66
+ if (this.baseProvider instanceof ConnectorUserProvider) {
67
+ const connectorProvider = this.baseProvider;
68
+ user = connectorProvider.getUserSync();
69
+ }
70
+ return {
71
+ ...context,
72
+ ...user
73
+ };
74
+ }
75
+ async getUser() {
76
+ const context = await this.getApplicationContext();
77
+ const baseUser = await this.baseProvider?.getUser();
78
+ return {
79
+ ...context,
80
+ ...(baseUser ?? {})
81
+ };
82
+ }
83
+ shouldPollUserCache() {
84
+ return !!this.baseProvider && !(this.baseProvider instanceof ConnectorUserProvider);
85
+ }
86
+ }
87
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AnalyticsConnector","Poller","isNative","getNativeApplicationContext","ConnectorUserProvider","DefaultUserProvider","cachedUser","poller","load","constructor","baseProvider","applicationContext","getInstance","applicationContextProvider","getApplicationContext","start","shouldPollUserCache","stop","getUser","cachedApplicationContext","adid","carrier","deviceManufacturer","deviceModel","ipAddress","language","osName","osVersion","platform","appSetId","idfv","country","getUserSync","context","user","connectorProvider","baseUser"],"sourceRoot":"../../../../src","sources":["experiment/integration/default.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ import { LogLevel } from "../types/logger";
4
+
5
+ /**
6
+ * Internal logger class that wraps a Logger implementation and handles log level filtering.
7
+ * This class provides a centralized logging mechanism for the Experiment client.
8
+ * @category Logging
9
+ */
10
+ export class AmpLogger {
11
+ /**
12
+ * Creates a new AmpLogger instance
13
+ * @param logger The underlying logger implementation to use
14
+ * @param logLevel The minimum log level to output. Messages below this level will be ignored.
15
+ */
16
+ constructor(logger, logLevel = LogLevel.Error) {
17
+ this.logger = logger;
18
+ this.logLevel = logLevel;
19
+ }
20
+
21
+ /**
22
+ * Log an error message
23
+ * @param message The message to log
24
+ * @param optionalParams Additional parameters to log
25
+ */
26
+ error(message, ...optionalParams) {
27
+ if (this.logLevel >= LogLevel.Error) {
28
+ this.logger.error(message, ...optionalParams);
29
+ }
30
+ }
31
+
32
+ /**
33
+ * Log a warning message
34
+ * @param message The message to log
35
+ * @param optionalParams Additional parameters to log
36
+ */
37
+ warn(message, ...optionalParams) {
38
+ if (this.logLevel >= LogLevel.Warn) {
39
+ this.logger.warn(message, ...optionalParams);
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Log an informational message
45
+ * @param message The message to log
46
+ * @param optionalParams Additional parameters to log
47
+ */
48
+ info(message, ...optionalParams) {
49
+ if (this.logLevel >= LogLevel.Info) {
50
+ this.logger.info(message, ...optionalParams);
51
+ }
52
+ }
53
+
54
+ /**
55
+ * Log a debug message
56
+ * @param message The message to log
57
+ * @param optionalParams Additional parameters to log
58
+ */
59
+ debug(message, ...optionalParams) {
60
+ if (this.logLevel >= LogLevel.Debug) {
61
+ this.logger.debug(message, ...optionalParams);
62
+ }
63
+ }
64
+
65
+ /**
66
+ * Log a verbose message
67
+ * @param message The message to log
68
+ * @param optionalParams Additional parameters to log
69
+ */
70
+ verbose(message, ...optionalParams) {
71
+ if (this.logLevel >= LogLevel.Verbose) {
72
+ this.logger.verbose(message, ...optionalParams);
73
+ }
74
+ }
75
+ }
76
+ //# sourceMappingURL=ampLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LogLevel","AmpLogger","constructor","logger","logLevel","Error","error","message","optionalParams","warn","Warn","info","Info","debug","Debug","verbose","Verbose"],"sourceRoot":"../../../../src","sources":["experiment/logger/ampLogger.ts"],"mappings":";;AAAA,SAAiBA,QAAQ,QAAQ,iBAAiB;;AAElD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,CAAmB;EAIvC;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,MAAc,EAAEC,QAAkB,GAAGJ,QAAQ,CAACK,KAAK,EAAE;IAC/D,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EAC1B;;EAEA;AACF;AACA;AACA;AACA;EACEE,KAAKA,CAACC,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IACnD,IAAI,IAAI,CAACJ,QAAQ,IAAIJ,QAAQ,CAACK,KAAK,EAAE;MACnC,IAAI,CAACF,MAAM,CAACG,KAAK,CAACC,OAAO,EAAE,GAAGC,cAAc,CAAC;IAC/C;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEC,IAAIA,CAACF,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IAClD,IAAI,IAAI,CAACJ,QAAQ,IAAIJ,QAAQ,CAACU,IAAI,EAAE;MAClC,IAAI,CAACP,MAAM,CAACM,IAAI,CAACF,OAAO,EAAE,GAAGC,cAAc,CAAC;IAC9C;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEG,IAAIA,CAACJ,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IAClD,IAAI,IAAI,CAACJ,QAAQ,IAAIJ,QAAQ,CAACY,IAAI,EAAE;MAClC,IAAI,CAACT,MAAM,CAACQ,IAAI,CAACJ,OAAO,EAAE,GAAGC,cAAc,CAAC;IAC9C;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEK,KAAKA,CAACN,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IACnD,IAAI,IAAI,CAACJ,QAAQ,IAAIJ,QAAQ,CAACc,KAAK,EAAE;MACnC,IAAI,CAACX,MAAM,CAACU,KAAK,CAACN,OAAO,EAAE,GAAGC,cAAc,CAAC;IAC/C;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEO,OAAOA,CAACR,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IACrD,IAAI,IAAI,CAACJ,QAAQ,IAAIJ,QAAQ,CAACgB,OAAO,EAAE;MACrC,IAAI,CAACb,MAAM,CAACY,OAAO,CAACR,OAAO,EAAE,GAAGC,cAAc,CAAC;IACjD;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Default console-based logger implementation.
5
+ * This logger uses the browser's console API to output log messages.
6
+ * Log level filtering is handled by the AmpLogger wrapper class.
7
+ * @category Logging
8
+ */
9
+ export class ConsoleLogger {
10
+ /**
11
+ * Log an error message
12
+ * @param message The message to log
13
+ * @param optionalParams Additional parameters to log
14
+ */
15
+ error(message, ...optionalParams) {
16
+ console.error(message, ...optionalParams);
17
+ }
18
+
19
+ /**
20
+ * Log a warning message
21
+ * @param message The message to log
22
+ * @param optionalParams Additional parameters to log
23
+ */
24
+ warn(message, ...optionalParams) {
25
+ console.warn(message, ...optionalParams);
26
+ }
27
+
28
+ /**
29
+ * Log an informational message
30
+ * @param message The message to log
31
+ * @param optionalParams Additional parameters to log
32
+ */
33
+ info(message, ...optionalParams) {
34
+ console.info(message, ...optionalParams);
35
+ }
36
+
37
+ /**
38
+ * Log a debug message
39
+ * @param message The message to log
40
+ * @param optionalParams Additional parameters to log
41
+ */
42
+ debug(message, ...optionalParams) {
43
+ console.debug(message, ...optionalParams);
44
+ }
45
+
46
+ /**
47
+ * Log a verbose message
48
+ * @param message The message to log
49
+ * @param optionalParams Additional parameters to log
50
+ */
51
+ verbose(message, ...optionalParams) {
52
+ console.debug(message, ...optionalParams);
53
+ }
54
+ }
55
+ //# sourceMappingURL=consoleLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ConsoleLogger","error","message","optionalParams","console","warn","info","debug","verbose"],"sourceRoot":"../../../../src","sources":["experiment/logger/consoleLogger.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,aAAa,CAAmB;EAC3C;AACF;AACA;AACA;AACA;EACEC,KAAKA,CAACC,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IACnDC,OAAO,CAACH,KAAK,CAACC,OAAO,EAAE,GAAGC,cAAc,CAAC;EAC3C;;EAEA;AACF;AACA;AACA;AACA;EACEE,IAAIA,CAACH,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IAClDC,OAAO,CAACC,IAAI,CAACH,OAAO,EAAE,GAAGC,cAAc,CAAC;EAC1C;;EAEA;AACF;AACA;AACA;AACA;EACEG,IAAIA,CAACJ,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IAClDC,OAAO,CAACE,IAAI,CAACJ,OAAO,EAAE,GAAGC,cAAc,CAAC;EAC1C;;EAEA;AACF;AACA;AACA;AACA;EACEI,KAAKA,CAACL,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IACnDC,OAAO,CAACG,KAAK,CAACL,OAAO,EAAE,GAAGC,cAAc,CAAC;EAC3C;;EAEA;AACF;AACA;AACA;AACA;EACEK,OAAOA,CAACN,OAAa,EAAE,GAAGC,cAAqB,EAAQ;IACrDC,OAAO,CAACG,KAAK,CAACL,OAAO,EAAE,GAAGC,cAAc,CAAC;EAC3C;AACF","ignoreList":[]}