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.
- package/.watchmanconfig +6 -0
- package/LICENSE +21 -0
- package/README.md +139 -0
- package/android/CMakeLists.txt +34 -0
- package/android/build.gradle +85 -0
- package/android/consumer-rules.pro +35 -0
- package/android/gradle.properties +4 -0
- package/android/src/main/cpp/AndroidAmplitudeAdapterCpp.cpp +126 -0
- package/android/src/main/cpp/AndroidAmplitudeAdapterCpp.hpp +48 -0
- package/android/src/main/cpp/cpp-adapter.cpp +9 -0
- package/android/src/main/java/com/nitroamplitude/AndroidAmplitudeAdapter.kt +147 -0
- package/android/src/main/java/com/nitroamplitude/NitroAmplitudePackage.kt +24 -0
- package/app.plugin.js +36 -0
- package/cpp/bindings/HybridAmplitudeContext.cpp +83 -0
- package/cpp/bindings/HybridAmplitudeContext.hpp +29 -0
- package/cpp/bindings/HybridAmplitudeStorage.cpp +163 -0
- package/cpp/bindings/HybridAmplitudeStorage.hpp +38 -0
- package/cpp/bindings/HybridAmplitudeWorker.cpp +162 -0
- package/cpp/bindings/HybridAmplitudeWorker.hpp +74 -0
- package/cpp/core/NativeAmplitudeAdapter.hpp +44 -0
- package/ios/IOSAmplitudeAdapterCpp.hpp +37 -0
- package/ios/IOSAmplitudeAdapterCpp.mm +155 -0
- package/lib/commonjs/AmplitudeContext.nitro.js +6 -0
- package/lib/commonjs/AmplitudeContext.nitro.js.map +1 -0
- package/lib/commonjs/AmplitudeStorage.nitro.js +6 -0
- package/lib/commonjs/AmplitudeStorage.nitro.js.map +1 -0
- package/lib/commonjs/AmplitudeWorker.nitro.js +6 -0
- package/lib/commonjs/AmplitudeWorker.nitro.js.map +1 -0
- package/lib/commonjs/analytics/campaign/campaign-tracker.js +105 -0
- package/lib/commonjs/analytics/campaign/campaign-tracker.js.map +1 -0
- package/lib/commonjs/analytics/campaign/types.js +6 -0
- package/lib/commonjs/analytics/campaign/types.js.map +1 -0
- package/lib/commonjs/analytics/config.js +283 -0
- package/lib/commonjs/analytics/config.js.map +1 -0
- package/lib/commonjs/analytics/cookie-migration/index.js +59 -0
- package/lib/commonjs/analytics/cookie-migration/index.js.map +1 -0
- package/lib/commonjs/analytics/index.js +95 -0
- package/lib/commonjs/analytics/index.js.map +1 -0
- package/lib/commonjs/analytics/migration/remnant-data-migration.js +177 -0
- package/lib/commonjs/analytics/migration/remnant-data-migration.js.map +1 -0
- package/lib/commonjs/analytics/nitro-transport.js +31 -0
- package/lib/commonjs/analytics/nitro-transport.js.map +1 -0
- package/lib/commonjs/analytics/plugins/context.js +140 -0
- package/lib/commonjs/analytics/plugins/context.js.map +1 -0
- package/lib/commonjs/analytics/react-native-client.js +352 -0
- package/lib/commonjs/analytics/react-native-client.js.map +1 -0
- package/lib/commonjs/analytics/storage/local-storage.js +73 -0
- package/lib/commonjs/analytics/storage/local-storage.js.map +1 -0
- package/lib/commonjs/analytics/types.js +175 -0
- package/lib/commonjs/analytics/types.js.map +1 -0
- package/lib/commonjs/analytics/typings/browser-snippet.d.js +6 -0
- package/lib/commonjs/analytics/typings/browser-snippet.d.js.map +1 -0
- package/lib/commonjs/analytics/typings/ua-parser.d.js +2 -0
- package/lib/commonjs/analytics/typings/ua-parser.d.js.map +1 -0
- package/lib/commonjs/analytics/utils/platform.js +16 -0
- package/lib/commonjs/analytics/utils/platform.js.map +1 -0
- package/lib/commonjs/analytics/version.js +8 -0
- package/lib/commonjs/analytics/version.js.map +1 -0
- package/lib/commonjs/experiment/experimentClient.js +792 -0
- package/lib/commonjs/experiment/experimentClient.js.map +1 -0
- package/lib/commonjs/experiment/factory.js +77 -0
- package/lib/commonjs/experiment/factory.js.map +1 -0
- package/lib/commonjs/experiment/gen/version.js +9 -0
- package/lib/commonjs/experiment/gen/version.js.map +1 -0
- package/lib/commonjs/experiment/index.js +143 -0
- package/lib/commonjs/experiment/index.js.map +1 -0
- package/lib/commonjs/experiment/integration/NativeExperimentReactNativeClient.js +11 -0
- package/lib/commonjs/experiment/integration/NativeExperimentReactNativeClient.js.map +1 -0
- package/lib/commonjs/experiment/integration/connector.js +67 -0
- package/lib/commonjs/experiment/integration/connector.js.map +1 -0
- package/lib/commonjs/experiment/integration/default.js +92 -0
- package/lib/commonjs/experiment/integration/default.js.map +1 -0
- package/lib/commonjs/experiment/logger/ampLogger.js +80 -0
- package/lib/commonjs/experiment/logger/ampLogger.js.map +1 -0
- package/lib/commonjs/experiment/logger/consoleLogger.js +60 -0
- package/lib/commonjs/experiment/logger/consoleLogger.js.map +1 -0
- package/lib/commonjs/experiment/storage/cache.js +197 -0
- package/lib/commonjs/experiment/storage/cache.js.map +1 -0
- package/lib/commonjs/experiment/storage/local-storage.js +25 -0
- package/lib/commonjs/experiment/storage/local-storage.js.map +1 -0
- package/lib/commonjs/experiment/stubClient.js +46 -0
- package/lib/commonjs/experiment/stubClient.js.map +1 -0
- package/lib/commonjs/experiment/transport/http.js +72 -0
- package/lib/commonjs/experiment/transport/http.js.map +1 -0
- package/lib/commonjs/experiment/types/client.js +6 -0
- package/lib/commonjs/experiment/types/client.js.map +1 -0
- package/lib/commonjs/experiment/types/config.js +67 -0
- package/lib/commonjs/experiment/types/config.js.map +1 -0
- package/lib/commonjs/experiment/types/exposure.js +2 -0
- package/lib/commonjs/experiment/types/exposure.js.map +1 -0
- package/lib/commonjs/experiment/types/logger.js +42 -0
- package/lib/commonjs/experiment/types/logger.js.map +1 -0
- package/lib/commonjs/experiment/types/source.js +54 -0
- package/lib/commonjs/experiment/types/source.js.map +1 -0
- package/lib/commonjs/experiment/types/storage.js +2 -0
- package/lib/commonjs/experiment/types/storage.js.map +1 -0
- package/lib/commonjs/experiment/types/transport.js +2 -0
- package/lib/commonjs/experiment/types/transport.js.map +1 -0
- package/lib/commonjs/experiment/types/user.js +2 -0
- package/lib/commonjs/experiment/types/user.js.map +1 -0
- package/lib/commonjs/experiment/types/variant.js +2 -0
- package/lib/commonjs/experiment/types/variant.js.map +1 -0
- package/lib/commonjs/experiment/util/backoff.js +54 -0
- package/lib/commonjs/experiment/util/backoff.js.map +1 -0
- package/lib/commonjs/experiment/util/base64.js +23 -0
- package/lib/commonjs/experiment/util/base64.js.map +1 -0
- package/lib/commonjs/experiment/util/convert.js +78 -0
- package/lib/commonjs/experiment/util/convert.js.map +1 -0
- package/lib/commonjs/experiment/util/index.js +25 -0
- package/lib/commonjs/experiment/util/index.js.map +1 -0
- package/lib/commonjs/experiment/util/platform.js +16 -0
- package/lib/commonjs/experiment/util/platform.js.map +1 -0
- package/lib/commonjs/experiment/util/randomstring.js +16 -0
- package/lib/commonjs/experiment/util/randomstring.js.map +1 -0
- package/lib/commonjs/experiment/util/userSessionExposureTracker.js +40 -0
- package/lib/commonjs/experiment/util/userSessionExposureTracker.js.map +1 -0
- package/lib/commonjs/index.js +298 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/index.web.js +22 -0
- package/lib/commonjs/index.web.js.map +1 -0
- package/lib/commonjs/native/context.js +43 -0
- package/lib/commonjs/native/context.js.map +1 -0
- package/lib/commonjs/native/http.js +62 -0
- package/lib/commonjs/native/http.js.map +1 -0
- package/lib/commonjs/native/hybrid.js +31 -0
- package/lib/commonjs/native/hybrid.js.map +1 -0
- package/lib/commonjs/native/storage.js +93 -0
- package/lib/commonjs/native/storage.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/module/AmplitudeContext.nitro.js +4 -0
- package/lib/module/AmplitudeContext.nitro.js.map +1 -0
- package/lib/module/AmplitudeStorage.nitro.js +4 -0
- package/lib/module/AmplitudeStorage.nitro.js.map +1 -0
- package/lib/module/AmplitudeWorker.nitro.js +4 -0
- package/lib/module/AmplitudeWorker.nitro.js.map +1 -0
- package/lib/module/analytics/campaign/campaign-tracker.js +100 -0
- package/lib/module/analytics/campaign/campaign-tracker.js.map +1 -0
- package/lib/module/analytics/campaign/types.js +4 -0
- package/lib/module/analytics/campaign/types.js.map +1 -0
- package/lib/module/analytics/config.js +272 -0
- package/lib/module/analytics/config.js.map +1 -0
- package/lib/module/analytics/cookie-migration/index.js +51 -0
- package/lib/module/analytics/cookie-migration/index.js.map +1 -0
- package/lib/module/analytics/index.js +34 -0
- package/lib/module/analytics/index.js.map +1 -0
- package/lib/module/analytics/migration/remnant-data-migration.js +172 -0
- package/lib/module/analytics/migration/remnant-data-migration.js.map +1 -0
- package/lib/module/analytics/nitro-transport.js +26 -0
- package/lib/module/analytics/nitro-transport.js.map +1 -0
- package/lib/module/analytics/plugins/context.js +134 -0
- package/lib/module/analytics/plugins/context.js.map +1 -0
- package/lib/module/analytics/react-native-client.js +346 -0
- package/lib/module/analytics/react-native-client.js.map +1 -0
- package/lib/module/analytics/storage/local-storage.js +68 -0
- package/lib/module/analytics/storage/local-storage.js.map +1 -0
- package/lib/module/analytics/types.js +4 -0
- package/lib/module/analytics/types.js.map +1 -0
- package/lib/module/analytics/typings/browser-snippet.d.js +4 -0
- package/lib/module/analytics/typings/browser-snippet.d.js.map +1 -0
- package/lib/module/analytics/typings/ua-parser.d.js +2 -0
- package/lib/module/analytics/typings/ua-parser.d.js.map +1 -0
- package/lib/module/analytics/utils/platform.js +10 -0
- package/lib/module/analytics/utils/platform.js.map +1 -0
- package/lib/module/analytics/version.js +4 -0
- package/lib/module/analytics/version.js.map +1 -0
- package/lib/module/experiment/experimentClient.js +788 -0
- package/lib/module/experiment/experimentClient.js.map +1 -0
- package/lib/module/experiment/factory.js +73 -0
- package/lib/module/experiment/factory.js.map +1 -0
- package/lib/module/experiment/gen/version.js +5 -0
- package/lib/module/experiment/gen/version.js.map +1 -0
- package/lib/module/experiment/index.js +16 -0
- package/lib/module/experiment/index.js.map +1 -0
- package/lib/module/experiment/integration/NativeExperimentReactNativeClient.js +7 -0
- package/lib/module/experiment/integration/NativeExperimentReactNativeClient.js.map +1 -0
- package/lib/module/experiment/integration/connector.js +61 -0
- package/lib/module/experiment/integration/connector.js.map +1 -0
- package/lib/module/experiment/integration/default.js +87 -0
- package/lib/module/experiment/integration/default.js.map +1 -0
- package/lib/module/experiment/logger/ampLogger.js +76 -0
- package/lib/module/experiment/logger/ampLogger.js.map +1 -0
- package/lib/module/experiment/logger/consoleLogger.js +55 -0
- package/lib/module/experiment/logger/consoleLogger.js.map +1 -0
- package/lib/module/experiment/storage/cache.js +187 -0
- package/lib/module/experiment/storage/cache.js.map +1 -0
- package/lib/module/experiment/storage/local-storage.js +19 -0
- package/lib/module/experiment/storage/local-storage.js.map +1 -0
- package/lib/module/experiment/stubClient.js +41 -0
- package/lib/module/experiment/stubClient.js.map +1 -0
- package/lib/module/experiment/transport/http.js +66 -0
- package/lib/module/experiment/transport/http.js.map +1 -0
- package/lib/module/experiment/types/client.js +4 -0
- package/lib/module/experiment/types/client.js.map +1 -0
- package/lib/module/experiment/types/config.js +64 -0
- package/lib/module/experiment/types/config.js.map +1 -0
- package/lib/module/experiment/types/exposure.js +2 -0
- package/lib/module/experiment/types/exposure.js.map +1 -0
- package/lib/module/experiment/types/logger.js +39 -0
- package/lib/module/experiment/types/logger.js.map +1 -0
- package/lib/module/experiment/types/source.js +51 -0
- package/lib/module/experiment/types/source.js.map +1 -0
- package/lib/module/experiment/types/storage.js +2 -0
- package/lib/module/experiment/types/storage.js.map +1 -0
- package/lib/module/experiment/types/transport.js +2 -0
- package/lib/module/experiment/types/transport.js.map +1 -0
- package/lib/module/experiment/types/user.js +2 -0
- package/lib/module/experiment/types/user.js.map +1 -0
- package/lib/module/experiment/types/variant.js +2 -0
- package/lib/module/experiment/types/variant.js.map +1 -0
- package/lib/module/experiment/util/backoff.js +49 -0
- package/lib/module/experiment/util/backoff.js.map +1 -0
- package/lib/module/experiment/util/base64.js +16 -0
- package/lib/module/experiment/util/base64.js.map +1 -0
- package/lib/module/experiment/util/convert.js +71 -0
- package/lib/module/experiment/util/convert.js.map +1 -0
- package/lib/module/experiment/util/index.js +17 -0
- package/lib/module/experiment/util/index.js.map +1 -0
- package/lib/module/experiment/util/platform.js +10 -0
- package/lib/module/experiment/util/platform.js.map +1 -0
- package/lib/module/experiment/util/randomstring.js +11 -0
- package/lib/module/experiment/util/randomstring.js.map +1 -0
- package/lib/module/experiment/util/userSessionExposureTracker.js +35 -0
- package/lib/module/experiment/util/userSessionExposureTracker.js.map +1 -0
- package/lib/module/index.js +50 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/index.web.js +14 -0
- package/lib/module/index.web.js.map +1 -0
- package/lib/module/native/context.js +35 -0
- package/lib/module/native/context.js.map +1 -0
- package/lib/module/native/http.js +57 -0
- package/lib/module/native/http.js.map +1 -0
- package/lib/module/native/hybrid.js +24 -0
- package/lib/module/native/hybrid.js.map +1 -0
- package/lib/module/native/storage.js +86 -0
- package/lib/module/native/storage.js.map +1 -0
- package/lib/typescript/AmplitudeContext.nitro.d.ts +17 -0
- package/lib/typescript/AmplitudeContext.nitro.d.ts.map +1 -0
- package/lib/typescript/AmplitudeStorage.nitro.d.ts +17 -0
- package/lib/typescript/AmplitudeStorage.nitro.d.ts.map +1 -0
- package/lib/typescript/AmplitudeWorker.nitro.d.ts +11 -0
- package/lib/typescript/AmplitudeWorker.nitro.d.ts.map +1 -0
- package/lib/typescript/analytics/campaign/campaign-tracker.d.ts +85 -0
- package/lib/typescript/analytics/campaign/campaign-tracker.d.ts.map +1 -0
- package/lib/typescript/analytics/campaign/types.d.ts +11 -0
- package/lib/typescript/analytics/campaign/types.d.ts.map +1 -0
- package/lib/typescript/analytics/config.d.ts +68 -0
- package/lib/typescript/analytics/config.d.ts.map +1 -0
- package/lib/typescript/analytics/cookie-migration/index.d.ts +6 -0
- package/lib/typescript/analytics/cookie-migration/index.d.ts.map +1 -0
- package/lib/typescript/analytics/index.d.ts +7 -0
- package/lib/typescript/analytics/index.d.ts.map +1 -0
- package/lib/typescript/analytics/migration/remnant-data-migration.d.ts +20 -0
- package/lib/typescript/analytics/migration/remnant-data-migration.d.ts.map +1 -0
- package/lib/typescript/analytics/nitro-transport.d.ts +9 -0
- package/lib/typescript/analytics/nitro-transport.d.ts.map +1 -0
- package/lib/typescript/analytics/plugins/context.d.ts +14 -0
- package/lib/typescript/analytics/plugins/context.d.ts.map +1 -0
- package/lib/typescript/analytics/react-native-client.d.ts +55 -0
- package/lib/typescript/analytics/react-native-client.d.ts.map +1 -0
- package/lib/typescript/analytics/storage/local-storage.d.ts +14 -0
- package/lib/typescript/analytics/storage/local-storage.d.ts.map +1 -0
- package/lib/typescript/analytics/types.d.ts +2 -0
- package/lib/typescript/analytics/types.d.ts.map +1 -0
- package/lib/typescript/analytics/utils/platform.d.ts +3 -0
- package/lib/typescript/analytics/utils/platform.d.ts.map +1 -0
- package/lib/typescript/analytics/version.d.ts +2 -0
- package/lib/typescript/analytics/version.d.ts.map +1 -0
- package/lib/typescript/experiment/experimentClient.d.ts +234 -0
- package/lib/typescript/experiment/experimentClient.d.ts.map +1 -0
- package/lib/typescript/experiment/factory.d.ts +11 -0
- package/lib/typescript/experiment/factory.d.ts.map +1 -0
- package/lib/typescript/experiment/gen/version.d.ts +2 -0
- package/lib/typescript/experiment/gen/version.d.ts.map +1 -0
- package/lib/typescript/experiment/index.d.ts +15 -0
- package/lib/typescript/experiment/index.d.ts.map +1 -0
- package/lib/typescript/experiment/integration/NativeExperimentReactNativeClient.d.ts +16 -0
- package/lib/typescript/experiment/integration/NativeExperimentReactNativeClient.d.ts.map +1 -0
- package/lib/typescript/experiment/integration/connector.d.ts +16 -0
- package/lib/typescript/experiment/integration/connector.d.ts.map +1 -0
- package/lib/typescript/experiment/integration/default.d.ts +20 -0
- package/lib/typescript/experiment/integration/default.d.ts.map +1 -0
- package/lib/typescript/experiment/logger/ampLogger.d.ts +47 -0
- package/lib/typescript/experiment/logger/ampLogger.d.ts.map +1 -0
- package/lib/typescript/experiment/logger/consoleLogger.d.ts +40 -0
- package/lib/typescript/experiment/logger/consoleLogger.d.ts.map +1 -0
- package/lib/typescript/experiment/storage/cache.d.ts +35 -0
- package/lib/typescript/experiment/storage/cache.d.ts.map +1 -0
- package/lib/typescript/experiment/storage/local-storage.d.ts +11 -0
- package/lib/typescript/experiment/storage/local-storage.d.ts.map +1 -0
- package/lib/typescript/experiment/stubClient.d.ts +21 -0
- package/lib/typescript/experiment/stubClient.d.ts.map +1 -0
- package/lib/typescript/experiment/transport/http.d.ts +17 -0
- package/lib/typescript/experiment/transport/http.d.ts.map +1 -0
- package/lib/typescript/experiment/types/client.d.ts +36 -0
- package/lib/typescript/experiment/types/client.d.ts.map +1 -0
- package/lib/typescript/experiment/types/config.d.ts +164 -0
- package/lib/typescript/experiment/types/config.d.ts.map +1 -0
- package/lib/typescript/experiment/types/exposure.d.ts +107 -0
- package/lib/typescript/experiment/types/exposure.d.ts.map +1 -0
- package/lib/typescript/experiment/types/logger.d.ts +67 -0
- package/lib/typescript/experiment/types/logger.d.ts.map +1 -0
- package/lib/typescript/experiment/types/source.d.ts +43 -0
- package/lib/typescript/experiment/types/source.d.ts.map +1 -0
- package/lib/typescript/experiment/types/storage.d.ts +7 -0
- package/lib/typescript/experiment/types/storage.d.ts.map +1 -0
- package/lib/typescript/experiment/types/transport.d.ts +8 -0
- package/lib/typescript/experiment/types/transport.d.ts.map +1 -0
- package/lib/typescript/experiment/types/user.d.ts +106 -0
- package/lib/typescript/experiment/types/user.d.ts.map +1 -0
- package/lib/typescript/experiment/types/variant.d.ts +33 -0
- package/lib/typescript/experiment/types/variant.d.ts.map +1 -0
- package/lib/typescript/experiment/util/backoff.d.ts +14 -0
- package/lib/typescript/experiment/util/backoff.d.ts.map +1 -0
- package/lib/typescript/experiment/util/base64.d.ts +3 -0
- package/lib/typescript/experiment/util/base64.d.ts.map +1 -0
- package/lib/typescript/experiment/util/convert.d.ts +7 -0
- package/lib/typescript/experiment/util/convert.d.ts.map +1 -0
- package/lib/typescript/experiment/util/index.d.ts +6 -0
- package/lib/typescript/experiment/util/index.d.ts.map +1 -0
- package/lib/typescript/experiment/util/platform.d.ts +3 -0
- package/lib/typescript/experiment/util/platform.d.ts.map +1 -0
- package/lib/typescript/experiment/util/randomstring.d.ts +2 -0
- package/lib/typescript/experiment/util/randomstring.d.ts.map +1 -0
- package/lib/typescript/experiment/util/userSessionExposureTracker.d.ts +16 -0
- package/lib/typescript/experiment/util/userSessionExposureTracker.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +31 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/index.web.d.ts +12 -0
- package/lib/typescript/index.web.d.ts.map +1 -0
- package/lib/typescript/native/context.d.ts +29 -0
- package/lib/typescript/native/context.d.ts.map +1 -0
- package/lib/typescript/native/http.d.ts +6 -0
- package/lib/typescript/native/http.d.ts.map +1 -0
- package/lib/typescript/native/hybrid.d.ts +8 -0
- package/lib/typescript/native/hybrid.d.ts.map +1 -0
- package/lib/typescript/native/storage.d.ts +29 -0
- package/lib/typescript/native/storage.d.ts.map +1 -0
- package/nitro.json +33 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/NitroAmplitude+autolinking.cmake +83 -0
- package/nitrogen/generated/android/NitroAmplitude+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroAmplitudeOnLoad.cpp +69 -0
- package/nitrogen/generated/android/NitroAmplitudeOnLoad.hpp +34 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitroamplitude/NitroAmplitudeOnLoad.kt +35 -0
- package/nitrogen/generated/ios/NitroAmplitude+autolinking.rb +62 -0
- package/nitrogen/generated/ios/NitroAmplitude-Swift-Cxx-Bridge.cpp +17 -0
- package/nitrogen/generated/ios/NitroAmplitude-Swift-Cxx-Bridge.hpp +27 -0
- package/nitrogen/generated/ios/NitroAmplitude-Swift-Cxx-Umbrella.hpp +38 -0
- package/nitrogen/generated/ios/NitroAmplitudeAutolinking.mm +55 -0
- package/nitrogen/generated/ios/NitroAmplitudeAutolinking.swift +16 -0
- package/nitrogen/generated/shared/c++/HybridAmplitudeContextSpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridAmplitudeContextSpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridAmplitudeStorageSpec.cpp +30 -0
- package/nitrogen/generated/shared/c++/HybridAmplitudeStorageSpec.hpp +73 -0
- package/nitrogen/generated/shared/c++/HybridAmplitudeWorkerSpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridAmplitudeWorkerSpec.hpp +66 -0
- package/package.json +130 -0
- package/react-native-nitro-amplitude.podspec +36 -0
- package/src/AmplitudeContext.nitro.ts +21 -0
- package/src/AmplitudeStorage.nitro.ts +17 -0
- package/src/AmplitudeWorker.nitro.ts +25 -0
- package/src/analytics/campaign/campaign-tracker.ts +162 -0
- package/src/analytics/campaign/types.ts +18 -0
- package/src/analytics/config.ts +373 -0
- package/src/analytics/cookie-migration/index.ts +69 -0
- package/src/analytics/index.ts +36 -0
- package/src/analytics/migration/remnant-data-migration.ts +206 -0
- package/src/analytics/nitro-transport.ts +35 -0
- package/src/analytics/plugins/context.ts +166 -0
- package/src/analytics/react-native-client.ts +573 -0
- package/src/analytics/storage/local-storage.ts +76 -0
- package/src/analytics/types.ts +30 -0
- package/src/analytics/typings/browser-snippet.d.ts +7 -0
- package/src/analytics/typings/ua-parser.d.ts +4 -0
- package/src/analytics/utils/platform.ts +9 -0
- package/src/analytics/version.ts +1 -0
- package/src/experiment/experimentClient.ts +987 -0
- package/src/experiment/factory.ts +86 -0
- package/src/experiment/gen/version.ts +2 -0
- package/src/experiment/index.ts +14 -0
- package/src/experiment/integration/NativeExperimentReactNativeClient.ts +25 -0
- package/src/experiment/integration/connector.ts +82 -0
- package/src/experiment/integration/default.ts +107 -0
- package/src/experiment/logger/ampLogger.ts +76 -0
- package/src/experiment/logger/consoleLogger.ts +54 -0
- package/src/experiment/storage/cache.ts +271 -0
- package/src/experiment/storage/local-storage.ts +23 -0
- package/src/experiment/stubClient.ts +61 -0
- package/src/experiment/transport/http.ts +105 -0
- package/src/experiment/types/client.ts +38 -0
- package/src/experiment/types/config.ts +210 -0
- package/src/experiment/types/exposure.ts +107 -0
- package/src/experiment/types/logger.ts +71 -0
- package/src/experiment/types/source.ts +52 -0
- package/src/experiment/types/storage.ts +6 -0
- package/src/experiment/types/transport.ts +14 -0
- package/src/experiment/types/user.ts +132 -0
- package/src/experiment/types/variant.ts +36 -0
- package/src/experiment/util/backoff.ts +67 -0
- package/src/experiment/util/base64.ts +20 -0
- package/src/experiment/util/convert.ts +78 -0
- package/src/experiment/util/index.ts +23 -0
- package/src/experiment/util/platform.ts +9 -0
- package/src/experiment/util/randomstring.ts +12 -0
- package/src/experiment/util/userSessionExposureTracker.ts +47 -0
- package/src/index.ts +66 -0
- package/src/index.web.ts +19 -0
- package/src/native/context.ts +73 -0
- package/src/native/http.ts +77 -0
- package/src/native/hybrid.ts +32 -0
- 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 @@
|
|
|
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":[]}
|