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,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parseTime = exports.parseOptOut = exports.parseOldCookies = exports.decode = void 0;
|
|
7
|
+
var _analyticsCore = require("@amplitude/analytics-core");
|
|
8
|
+
var _config = require("../config");
|
|
9
|
+
const parseOldCookies = async (apiKey, options) => {
|
|
10
|
+
const disableCookies = options?.disableCookies ?? (0, _config.getDefaultConfig)().disableCookies;
|
|
11
|
+
const storage = await (0, _config.createCookieStorage)({
|
|
12
|
+
...options,
|
|
13
|
+
disableCookies,
|
|
14
|
+
domain: disableCookies ? "" : options?.domain ?? (await (0, _config.getTopLevelDomain)())
|
|
15
|
+
});
|
|
16
|
+
const oldCookieName = (0, _analyticsCore.getOldCookieName)(apiKey);
|
|
17
|
+
const cookies = await storage.getRaw(oldCookieName);
|
|
18
|
+
if (!cookies) {
|
|
19
|
+
return {
|
|
20
|
+
optOut: false
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (options?.cookieUpgrade ?? (0, _config.getDefaultConfig)().cookieUpgrade) {
|
|
24
|
+
await storage.remove(oldCookieName);
|
|
25
|
+
}
|
|
26
|
+
const [deviceId, userId, optOut, sessionId, lastEventTime] = cookies.split(".");
|
|
27
|
+
return {
|
|
28
|
+
deviceId,
|
|
29
|
+
userId: decode(userId ?? ""),
|
|
30
|
+
sessionId: parseTime(sessionId),
|
|
31
|
+
lastEventTime: parseTime(lastEventTime),
|
|
32
|
+
optOut: parseOptOut(optOut)
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
exports.parseOldCookies = parseOldCookies;
|
|
36
|
+
const parseTime = num => {
|
|
37
|
+
const integer = parseInt(num, 32);
|
|
38
|
+
if (isNaN(integer)) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
return integer;
|
|
42
|
+
};
|
|
43
|
+
exports.parseTime = parseTime;
|
|
44
|
+
const decode = value => {
|
|
45
|
+
if (typeof atob !== "function" || typeof escape !== "function" || !value) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
return decodeURIComponent(escape(atob(value)));
|
|
50
|
+
} catch {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.decode = decode;
|
|
55
|
+
const parseOptOut = value => {
|
|
56
|
+
return value === "1" || value === "true";
|
|
57
|
+
};
|
|
58
|
+
exports.parseOptOut = parseOptOut;
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_analyticsCore","require","_config","parseOldCookies","apiKey","options","disableCookies","getDefaultConfig","storage","createCookieStorage","domain","getTopLevelDomain","oldCookieName","getOldCookieName","cookies","getRaw","optOut","cookieUpgrade","remove","deviceId","userId","sessionId","lastEventTime","split","decode","parseTime","parseOptOut","exports","num","integer","parseInt","isNaN","undefined","value","atob","escape","decodeURIComponent"],"sourceRoot":"../../../../src","sources":["analytics/cookie-migration/index.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAKA,IAAAC,OAAA,GAAAD,OAAA;AAMO,MAAME,eAAe,GAAG,MAAAA,CAC7BC,MAAc,EACdC,OAA4B,KACH;EACzB,MAAMC,cAAc,GAClBD,OAAO,EAAEC,cAAc,IAAI,IAAAC,wBAAgB,EAAC,CAAC,CAACD,cAAc;EAC9D,MAAME,OAAO,GAAG,MAAM,IAAAC,2BAAmB,EAAS;IAChD,GAAGJ,OAAO;IACVC,cAAc;IACdI,MAAM,EAAEJ,cAAc,GAClB,EAAE,GACDD,OAAO,EAAEK,MAAM,KAAK,MAAM,IAAAC,yBAAiB,EAAC,CAAC;EACpD,CAAC,CAAC;EACF,MAAMC,aAAa,GAAG,IAAAC,+BAAgB,EAACT,MAAM,CAAC;EAC9C,MAAMU,OAAO,GAAG,MAAMN,OAAO,CAACO,MAAM,CAACH,aAAa,CAAC;EAEnD,IAAI,CAACE,OAAO,EAAE;IACZ,OAAO;MACLE,MAAM,EAAE;IACV,CAAC;EACH;EAEA,IAAIX,OAAO,EAAEY,aAAa,IAAI,IAAAV,wBAAgB,EAAC,CAAC,CAACU,aAAa,EAAE;IAC9D,MAAMT,OAAO,CAACU,MAAM,CAACN,aAAa,CAAC;EACrC;EACA,MAAM,CAACO,QAAQ,EAAEC,MAAM,EAAEJ,MAAM,EAAEK,SAAS,EAAEC,aAAa,CAAC,GACxDR,OAAO,CAACS,KAAK,CAAC,GAAG,CAAC;EACpB,OAAO;IACLJ,QAAQ;IACRC,MAAM,EAAEI,MAAM,CAACJ,MAAM,IAAI,EAAE,CAAC;IAC5BC,SAAS,EAAEI,SAAS,CAACJ,SAAS,CAAC;IAC/BC,aAAa,EAAEG,SAAS,CAACH,aAAa,CAAC;IACvCN,MAAM,EAAEU,WAAW,CAACV,MAAM;EAC5B,CAAC;AACH,CAAC;AAACW,OAAA,CAAAxB,eAAA,GAAAA,eAAA;AAEK,MAAMsB,SAAS,GAAIG,GAAW,IAAK;EACxC,MAAMC,OAAO,GAAGC,QAAQ,CAACF,GAAG,EAAE,EAAE,CAAC;EACjC,IAAIG,KAAK,CAACF,OAAO,CAAC,EAAE;IAClB,OAAOG,SAAS;EAClB;EACA,OAAOH,OAAO;AAChB,CAAC;AAACF,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAEK,MAAMD,MAAM,GAAIS,KAAc,IAAyB;EAC5D,IAAI,OAAOC,IAAI,KAAK,UAAU,IAAI,OAAOC,MAAM,KAAK,UAAU,IAAI,CAACF,KAAK,EAAE;IACxE,OAAOD,SAAS;EAClB;EACA,IAAI;IACF,OAAOI,kBAAkB,CAACD,MAAM,CAACD,IAAI,CAACD,KAAK,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC,MAAM;IACN,OAAOD,SAAS;EAClB;AACF,CAAC;AAACL,OAAA,CAAAH,MAAA,GAAAA,MAAA;AAEK,MAAME,WAAW,GAAIO,KAAc,IAAc;EACtD,OAAOA,KAAK,KAAK,GAAG,IAAIA,KAAK,KAAK,MAAM;AAC1C,CAAC;AAACN,OAAA,CAAAD,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Identify", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _analyticsCore.Identify;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "InMemoryStorage", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _localStorage.InMemoryStorage;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "LocalStorage", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _localStorage.LocalStorage;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "MemoryStorage", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _localStorage.MemoryStorage;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "Revenue", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _analyticsCore.Revenue;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
exports.add = exports.Types = void 0;
|
|
37
|
+
Object.defineProperty(exports, "createInstance", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () {
|
|
40
|
+
return _reactNativeClient.createInstance;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
exports.track = exports.shutdown = exports.setUserId = exports.setSessionId = exports.setOptOut = exports.setGroup = exports.setDeviceId = exports.revenue = exports.reset = exports.remove = exports.logEvent = exports.init = exports.identify = exports.groupIdentify = exports.getUserId = exports.getSessionId = exports.getDeviceId = exports.flush = exports.extendSession = void 0;
|
|
44
|
+
var _reactNativeClient = _interopRequireWildcard(require("./react-native-client"));
|
|
45
|
+
var Types = _interopRequireWildcard(require("./types"));
|
|
46
|
+
exports.Types = Types;
|
|
47
|
+
var _analyticsCore = require("@amplitude/analytics-core");
|
|
48
|
+
var _localStorage = require("./storage/local-storage");
|
|
49
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
50
|
+
// Export types to maintain backward compatibility with `analytics-types`.
|
|
51
|
+
// In the next major version, only export customer-facing types to reduce the public API surface.
|
|
52
|
+
|
|
53
|
+
const {
|
|
54
|
+
add,
|
|
55
|
+
flush,
|
|
56
|
+
getDeviceId,
|
|
57
|
+
getSessionId,
|
|
58
|
+
getUserId,
|
|
59
|
+
groupIdentify,
|
|
60
|
+
identify,
|
|
61
|
+
init,
|
|
62
|
+
logEvent,
|
|
63
|
+
remove,
|
|
64
|
+
reset,
|
|
65
|
+
revenue,
|
|
66
|
+
setDeviceId,
|
|
67
|
+
setGroup,
|
|
68
|
+
setOptOut,
|
|
69
|
+
setSessionId,
|
|
70
|
+
setUserId,
|
|
71
|
+
shutdown,
|
|
72
|
+
track,
|
|
73
|
+
extendSession
|
|
74
|
+
} = _reactNativeClient.default;
|
|
75
|
+
exports.extendSession = extendSession;
|
|
76
|
+
exports.track = track;
|
|
77
|
+
exports.shutdown = shutdown;
|
|
78
|
+
exports.setUserId = setUserId;
|
|
79
|
+
exports.setSessionId = setSessionId;
|
|
80
|
+
exports.setOptOut = setOptOut;
|
|
81
|
+
exports.setGroup = setGroup;
|
|
82
|
+
exports.setDeviceId = setDeviceId;
|
|
83
|
+
exports.revenue = revenue;
|
|
84
|
+
exports.reset = reset;
|
|
85
|
+
exports.remove = remove;
|
|
86
|
+
exports.logEvent = logEvent;
|
|
87
|
+
exports.init = init;
|
|
88
|
+
exports.identify = identify;
|
|
89
|
+
exports.groupIdentify = groupIdentify;
|
|
90
|
+
exports.getUserId = getUserId;
|
|
91
|
+
exports.getSessionId = getSessionId;
|
|
92
|
+
exports.getDeviceId = getDeviceId;
|
|
93
|
+
exports.flush = flush;
|
|
94
|
+
exports.add = add;
|
|
95
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeClient","_interopRequireWildcard","require","Types","exports","_analyticsCore","_localStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","add","flush","getDeviceId","getSessionId","getUserId","groupIdentify","identify","init","logEvent","remove","reset","revenue","setDeviceId","setGroup","setOptOut","setSessionId","setUserId","shutdown","track","extendSession","client"],"sourceRoot":"../../../src","sources":["analytics/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAiCE,OAAA,CAAAD,KAAA,GAAAA,KAAA;AAyBjC,IAAAE,cAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAIiC,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAhCjC;AACA;;AAGO,MAAM;EACXkB,GAAG;EACHC,KAAK;EACLC,WAAW;EACXC,YAAY;EACZC,SAAS;EACTC,aAAa;EACbC,QAAQ;EACRC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC,QAAQ;EACRC,SAAS;EACTC,YAAY;EACZC,SAAS;EACTC,QAAQ;EACRC,KAAK;EACLC;AACF,CAAC,GAAGC,0BAAM;AAAC1C,OAAA,CAAAyC,aAAA,GAAAA,aAAA;AAAAzC,OAAA,CAAAwC,KAAA,GAAAA,KAAA;AAAAxC,OAAA,CAAAuC,QAAA,GAAAA,QAAA;AAAAvC,OAAA,CAAAsC,SAAA,GAAAA,SAAA;AAAAtC,OAAA,CAAAqC,YAAA,GAAAA,YAAA;AAAArC,OAAA,CAAAoC,SAAA,GAAAA,SAAA;AAAApC,OAAA,CAAAmC,QAAA,GAAAA,QAAA;AAAAnC,OAAA,CAAAkC,WAAA,GAAAA,WAAA;AAAAlC,OAAA,CAAAiC,OAAA,GAAAA,OAAA;AAAAjC,OAAA,CAAAgC,KAAA,GAAAA,KAAA;AAAAhC,OAAA,CAAA+B,MAAA,GAAAA,MAAA;AAAA/B,OAAA,CAAA8B,QAAA,GAAAA,QAAA;AAAA9B,OAAA,CAAA6B,IAAA,GAAAA,IAAA;AAAA7B,OAAA,CAAA4B,QAAA,GAAAA,QAAA;AAAA5B,OAAA,CAAA2B,aAAA,GAAAA,aAAA;AAAA3B,OAAA,CAAA0B,SAAA,GAAAA,SAAA;AAAA1B,OAAA,CAAAyB,YAAA,GAAAA,YAAA;AAAAzB,OAAA,CAAAwB,WAAA,GAAAA,WAAA;AAAAxB,OAAA,CAAAuB,KAAA,GAAAA,KAAA;AAAAvB,OAAA,CAAAsB,GAAA,GAAAA,GAAA","ignoreList":[]}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _analyticsCore = require("@amplitude/analytics-core");
|
|
8
|
+
var _context = require("../../native/context");
|
|
9
|
+
class RemnantDataMigration {
|
|
10
|
+
constructor(apiKey, instanceName, storage, firstRunSinceUpgrade, logger) {
|
|
11
|
+
this.apiKey = apiKey;
|
|
12
|
+
this.instanceName = instanceName;
|
|
13
|
+
this.storage = storage;
|
|
14
|
+
this.firstRunSinceUpgrade = firstRunSinceUpgrade;
|
|
15
|
+
this.logger = logger;
|
|
16
|
+
this.eventsStorageKey = `${_analyticsCore.STORAGE_PREFIX}_${this.apiKey.substring(0, 10)}`;
|
|
17
|
+
}
|
|
18
|
+
async execute() {
|
|
19
|
+
if (this.firstRunSinceUpgrade) {
|
|
20
|
+
await this.moveIdentifies();
|
|
21
|
+
await this.moveInterceptedIdentifies();
|
|
22
|
+
}
|
|
23
|
+
await this.moveEvents();
|
|
24
|
+
return this.callNativeFunction(() => Promise.resolve((0, _context.getLegacySessionData)(this.instanceName ?? ""))).then(sessionData => sessionData ?? {});
|
|
25
|
+
}
|
|
26
|
+
async moveEvents() {
|
|
27
|
+
await this.moveLegacyEvents("event");
|
|
28
|
+
}
|
|
29
|
+
async moveIdentifies() {
|
|
30
|
+
await this.moveLegacyEvents("identify");
|
|
31
|
+
}
|
|
32
|
+
async moveInterceptedIdentifies() {
|
|
33
|
+
await this.moveLegacyEvents("interceptedIdentify");
|
|
34
|
+
}
|
|
35
|
+
async callNativeFunction(action) {
|
|
36
|
+
try {
|
|
37
|
+
return await action();
|
|
38
|
+
} catch (e) {
|
|
39
|
+
this.logger?.error(`can't call native function: ${String(e)}`);
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
callNativeAction(action) {
|
|
44
|
+
try {
|
|
45
|
+
action();
|
|
46
|
+
} catch (e) {
|
|
47
|
+
this.logger?.error(`can't call native function: ${String(e)}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async callStorageFunction(action) {
|
|
51
|
+
try {
|
|
52
|
+
return {
|
|
53
|
+
value: await action()
|
|
54
|
+
};
|
|
55
|
+
} catch (e) {
|
|
56
|
+
this.logger?.error(`can't call storage function: ${String(e)}`);
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async moveLegacyEvents(eventKind) {
|
|
61
|
+
const legacyJsonEvents = await this.callNativeFunction(() => Promise.resolve((0, _context.getLegacyEvents)(this.instanceName ?? "", eventKind)));
|
|
62
|
+
if (!this.storage || !legacyJsonEvents || legacyJsonEvents.length === 0) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const existingEvents = await this.callStorageFunction(async () => {
|
|
66
|
+
return this.storage?.get(this.eventsStorageKey);
|
|
67
|
+
});
|
|
68
|
+
if (!existingEvents) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const events = existingEvents.value ?? [];
|
|
72
|
+
const eventIds = [];
|
|
73
|
+
legacyJsonEvents.forEach(jsonEvent => {
|
|
74
|
+
const event = this.convertLegacyEvent(jsonEvent);
|
|
75
|
+
if (event) {
|
|
76
|
+
events.push(event);
|
|
77
|
+
if (event.event_id !== undefined) {
|
|
78
|
+
eventIds.push(event.event_id);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
const writeSucceeded = await this.callStorageFunction(async () => {
|
|
83
|
+
await this.storage?.set(this.eventsStorageKey, events);
|
|
84
|
+
return true;
|
|
85
|
+
});
|
|
86
|
+
if (!writeSucceeded?.value) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
eventIds.forEach(eventId => this.callNativeAction(() => (0, _context.removeLegacyEvent)(this.instanceName ?? "", eventKind, eventId)));
|
|
90
|
+
}
|
|
91
|
+
convertLegacyEvent(legacyJsonEvent) {
|
|
92
|
+
try {
|
|
93
|
+
const event = JSON.parse(legacyJsonEvent);
|
|
94
|
+
const {
|
|
95
|
+
library,
|
|
96
|
+
timestamp,
|
|
97
|
+
uuid,
|
|
98
|
+
api_properties
|
|
99
|
+
} = event;
|
|
100
|
+
if (library !== undefined) {
|
|
101
|
+
event.library = `${library.name}/${library.version}`;
|
|
102
|
+
}
|
|
103
|
+
if (timestamp !== undefined) {
|
|
104
|
+
event.time = timestamp;
|
|
105
|
+
}
|
|
106
|
+
if (uuid !== undefined) {
|
|
107
|
+
event.insert_id = uuid;
|
|
108
|
+
}
|
|
109
|
+
if (api_properties) {
|
|
110
|
+
const {
|
|
111
|
+
androidADID,
|
|
112
|
+
android_app_set_id,
|
|
113
|
+
ios_idfa,
|
|
114
|
+
ios_idfv,
|
|
115
|
+
productId,
|
|
116
|
+
quantity,
|
|
117
|
+
price,
|
|
118
|
+
location
|
|
119
|
+
} = api_properties;
|
|
120
|
+
if (androidADID !== undefined) {
|
|
121
|
+
event.adid = androidADID;
|
|
122
|
+
}
|
|
123
|
+
if (android_app_set_id !== undefined) {
|
|
124
|
+
event.android_app_set_id = android_app_set_id;
|
|
125
|
+
}
|
|
126
|
+
if (ios_idfa !== undefined) {
|
|
127
|
+
event.idfa = ios_idfa;
|
|
128
|
+
}
|
|
129
|
+
if (ios_idfv !== undefined) {
|
|
130
|
+
event.idfv = ios_idfv;
|
|
131
|
+
}
|
|
132
|
+
if (productId !== undefined) {
|
|
133
|
+
event.productId = productId;
|
|
134
|
+
}
|
|
135
|
+
if (quantity !== undefined) {
|
|
136
|
+
event.quantity = quantity;
|
|
137
|
+
}
|
|
138
|
+
if (price !== undefined) {
|
|
139
|
+
event.price = price;
|
|
140
|
+
}
|
|
141
|
+
if (location !== undefined) {
|
|
142
|
+
const {
|
|
143
|
+
lat,
|
|
144
|
+
lng
|
|
145
|
+
} = location;
|
|
146
|
+
event.location_lat = lat;
|
|
147
|
+
event.location_lng = lng;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
const {
|
|
151
|
+
$productId: productId,
|
|
152
|
+
$quantity: quantity,
|
|
153
|
+
$price: price,
|
|
154
|
+
$revenueType: revenueType
|
|
155
|
+
} = event;
|
|
156
|
+
if (productId !== undefined) {
|
|
157
|
+
event.productId = productId;
|
|
158
|
+
}
|
|
159
|
+
if (quantity !== undefined) {
|
|
160
|
+
event.quantity = quantity;
|
|
161
|
+
}
|
|
162
|
+
if (price !== undefined) {
|
|
163
|
+
event.price = price;
|
|
164
|
+
}
|
|
165
|
+
if (revenueType !== undefined) {
|
|
166
|
+
event.revenueType = revenueType;
|
|
167
|
+
}
|
|
168
|
+
return event;
|
|
169
|
+
} catch {
|
|
170
|
+
// skip invalid events
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// eslint-enable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
175
|
+
}
|
|
176
|
+
exports.default = RemnantDataMigration;
|
|
177
|
+
//# sourceMappingURL=remnant-data-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_analyticsCore","require","_context","RemnantDataMigration","constructor","apiKey","instanceName","storage","firstRunSinceUpgrade","logger","eventsStorageKey","STORAGE_PREFIX","substring","execute","moveIdentifies","moveInterceptedIdentifies","moveEvents","callNativeFunction","Promise","resolve","getLegacySessionData","then","sessionData","moveLegacyEvents","action","e","error","String","undefined","callNativeAction","callStorageFunction","value","eventKind","legacyJsonEvents","getLegacyEvents","length","existingEvents","get","events","eventIds","forEach","jsonEvent","event","convertLegacyEvent","push","event_id","writeSucceeded","set","eventId","removeLegacyEvent","legacyJsonEvent","JSON","parse","library","timestamp","uuid","api_properties","name","version","time","insert_id","androidADID","android_app_set_id","ios_idfa","ios_idfv","productId","quantity","price","location","adid","idfa","idfv","lat","lng","location_lat","location_lng","$productId","$quantity","$price","$revenueType","revenueType","exports","default"],"sourceRoot":"../../../../src","sources":["analytics/migration/remnant-data-migration.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.nitroTransport = exports.NitroTransport = void 0;
|
|
7
|
+
var _analyticsCore = require("@amplitude/analytics-core");
|
|
8
|
+
var _http = require("../native/http");
|
|
9
|
+
class NitroTransport extends _analyticsCore.BaseTransport {
|
|
10
|
+
constructor(customHeaders = {}) {
|
|
11
|
+
super();
|
|
12
|
+
this.customHeaders = customHeaders;
|
|
13
|
+
}
|
|
14
|
+
async send(serverUrl, payload) {
|
|
15
|
+
const response = await _http.nitroHttpClient.request(serverUrl, "POST", {
|
|
16
|
+
"Content-Type": "application/json",
|
|
17
|
+
Accept: "*/*",
|
|
18
|
+
...this.customHeaders
|
|
19
|
+
}, JSON.stringify(payload), 30000);
|
|
20
|
+
try {
|
|
21
|
+
return this.buildResponse(JSON.parse(response.body));
|
|
22
|
+
} catch {
|
|
23
|
+
return this.buildResponse({
|
|
24
|
+
code: response.status
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.NitroTransport = NitroTransport;
|
|
30
|
+
const nitroTransport = exports.nitroTransport = new NitroTransport();
|
|
31
|
+
//# sourceMappingURL=nitro-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_analyticsCore","require","_http","NitroTransport","BaseTransport","constructor","customHeaders","send","serverUrl","payload","response","nitroHttpClient","request","Accept","JSON","stringify","buildResponse","parse","body","code","status","exports","nitroTransport"],"sourceRoot":"../../../src","sources":["analytics/nitro-transport.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEO,MAAME,cAAc,SAASC,4BAAa,CAAsB;EAGrEC,WAAWA,CAACC,aAAqC,GAAG,CAAC,CAAC,EAAE;IACtD,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,IAAIA,CAACC,SAAiB,EAAEC,OAAgB,EAA4B;IACxE,MAAMC,QAAQ,GAAG,MAAMC,qBAAe,CAACC,OAAO,CAC5CJ,SAAS,EACT,MAAM,EACN;MACE,cAAc,EAAE,kBAAkB;MAClCK,MAAM,EAAE,KAAK;MACb,GAAG,IAAI,CAACP;IACV,CAAC,EACDQ,IAAI,CAACC,SAAS,CAACN,OAAO,CAAC,EACvB,KACF,CAAC;IACD,IAAI;MACF,OAAO,IAAI,CAACO,aAAa,CACvBF,IAAI,CAACG,KAAK,CAACP,QAAQ,CAACQ,IAAI,CAC1B,CAAC;IACH,CAAC,CAAC,MAAM;MACN,OAAO,IAAI,CAACF,aAAa,CAAC;QAAEG,IAAI,EAAET,QAAQ,CAACU;MAAO,CAAC,CAAC;IACtD;EACF;AACF;AAACC,OAAA,CAAAlB,cAAA,GAAAA,cAAA;AAEM,MAAMmB,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,IAAInB,cAAc,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Context = void 0;
|
|
7
|
+
var _analyticsCore = require("@amplitude/analytics-core");
|
|
8
|
+
var _uaParserJs = _interopRequireDefault(require("@amplitude/ua-parser-js"));
|
|
9
|
+
var _version = require("../version");
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
var _context = require("../../native/context");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
const BROWSER_PLATFORM = "Web";
|
|
14
|
+
const IP_ADDRESS = "$remote";
|
|
15
|
+
const ReactNativePlatform = _reactNative.Platform;
|
|
16
|
+
function getPlatformOS() {
|
|
17
|
+
try {
|
|
18
|
+
return ReactNativePlatform?.OS;
|
|
19
|
+
} catch {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function getNativePlatformName(platformOS = getPlatformOS()) {
|
|
24
|
+
switch (platformOS) {
|
|
25
|
+
case "ios":
|
|
26
|
+
return "iOS";
|
|
27
|
+
case "android":
|
|
28
|
+
return "Android";
|
|
29
|
+
default:
|
|
30
|
+
return BROWSER_PLATFORM;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class Context {
|
|
34
|
+
name = "@amplitude/plugin-context-react-native";
|
|
35
|
+
type = "before";
|
|
36
|
+
|
|
37
|
+
// this.config is defined in setup() which will always be called first
|
|
38
|
+
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
|
|
41
|
+
library = `amplitude-nitro-ts/${_version.VERSION}`;
|
|
42
|
+
constructor() {
|
|
43
|
+
let agent;
|
|
44
|
+
/* istanbul ignore else */
|
|
45
|
+
if (typeof navigator !== "undefined") {
|
|
46
|
+
agent = navigator.userAgent;
|
|
47
|
+
}
|
|
48
|
+
this.uaResult = new _uaParserJs.default(agent).getResult();
|
|
49
|
+
}
|
|
50
|
+
setup(config) {
|
|
51
|
+
this.config = config;
|
|
52
|
+
return Promise.resolve(undefined);
|
|
53
|
+
}
|
|
54
|
+
getNativeContext() {
|
|
55
|
+
try {
|
|
56
|
+
return (0, _context.getNativeApplicationContext)(this.config.trackingOptions);
|
|
57
|
+
} catch (error) {
|
|
58
|
+
this.config.loggerProvider?.error(`Failed to load native application context: ${String(error)}`);
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async execute(context) {
|
|
63
|
+
const time = new Date().getTime();
|
|
64
|
+
const platformOS = getPlatformOS();
|
|
65
|
+
const nativeContext = this.getNativeContext();
|
|
66
|
+
const isWebPlatform = platformOS === "web";
|
|
67
|
+
const fallbackPlatform = getNativePlatformName(platformOS);
|
|
68
|
+
const appVersion = this.config.appVersion || nativeContext?.version;
|
|
69
|
+
const platform = nativeContext?.platform || fallbackPlatform;
|
|
70
|
+
const osName = nativeContext?.osName || (isWebPlatform ? this.uaResult.browser.name : fallbackPlatform);
|
|
71
|
+
const osVersion = nativeContext?.osVersion || (isWebPlatform ? this.uaResult.browser.version : undefined);
|
|
72
|
+
const deviceVendor = nativeContext?.deviceManufacturer || (isWebPlatform ? this.uaResult.device.vendor : undefined);
|
|
73
|
+
const deviceModel = nativeContext?.deviceModel || (isWebPlatform ? this.uaResult.device.model || this.uaResult.os.name : undefined);
|
|
74
|
+
const language = nativeContext?.language || (0, _analyticsCore.getLanguage)();
|
|
75
|
+
const country = nativeContext?.country;
|
|
76
|
+
const carrier = nativeContext?.carrier;
|
|
77
|
+
const adid = nativeContext?.adid;
|
|
78
|
+
const appSetId = nativeContext?.appSetId;
|
|
79
|
+
const idfv = nativeContext?.idfv;
|
|
80
|
+
const event = {
|
|
81
|
+
user_id: this.config.userId,
|
|
82
|
+
device_id: this.config.deviceId,
|
|
83
|
+
session_id: this.config.sessionId,
|
|
84
|
+
time,
|
|
85
|
+
...(appVersion && {
|
|
86
|
+
app_version: appVersion
|
|
87
|
+
}),
|
|
88
|
+
...(this.config.trackingOptions.platform && {
|
|
89
|
+
platform: platform
|
|
90
|
+
}),
|
|
91
|
+
...(this.config.trackingOptions.osName && {
|
|
92
|
+
os_name: osName
|
|
93
|
+
}),
|
|
94
|
+
...(this.config.trackingOptions.osVersion && {
|
|
95
|
+
os_version: osVersion
|
|
96
|
+
}),
|
|
97
|
+
...(this.config.trackingOptions.deviceManufacturer && {
|
|
98
|
+
device_manufacturer: deviceVendor
|
|
99
|
+
}),
|
|
100
|
+
...(this.config.trackingOptions.deviceModel && {
|
|
101
|
+
device_model: deviceModel
|
|
102
|
+
}),
|
|
103
|
+
...(this.config.trackingOptions.language && {
|
|
104
|
+
language: language
|
|
105
|
+
}),
|
|
106
|
+
...(this.config.trackingOptions.country && {
|
|
107
|
+
country: country
|
|
108
|
+
}),
|
|
109
|
+
...(this.config.trackingOptions.carrier && {
|
|
110
|
+
carrier: carrier
|
|
111
|
+
}),
|
|
112
|
+
...(this.config.trackingOptions.ipAddress && {
|
|
113
|
+
ip: IP_ADDRESS
|
|
114
|
+
}),
|
|
115
|
+
...(this.config.trackingOptions.adid && {
|
|
116
|
+
adid: adid
|
|
117
|
+
}),
|
|
118
|
+
...(this.config.trackingOptions.appSetId && {
|
|
119
|
+
android_app_set_id: appSetId
|
|
120
|
+
}),
|
|
121
|
+
...(this.config.trackingOptions.idfv && {
|
|
122
|
+
idfv: idfv
|
|
123
|
+
}),
|
|
124
|
+
insert_id: (0, _analyticsCore.UUID)(),
|
|
125
|
+
partner_id: this.config.partnerId,
|
|
126
|
+
plan: this.config.plan,
|
|
127
|
+
...(this.config.ingestionMetadata && {
|
|
128
|
+
ingestion_metadata: {
|
|
129
|
+
source_name: this.config.ingestionMetadata.sourceName,
|
|
130
|
+
source_version: this.config.ingestionMetadata.sourceVersion
|
|
131
|
+
}
|
|
132
|
+
}),
|
|
133
|
+
...context,
|
|
134
|
+
library: this.library
|
|
135
|
+
};
|
|
136
|
+
return event;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.Context = Context;
|
|
140
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_analyticsCore","require","_uaParserJs","_interopRequireDefault","_version","_reactNative","_context","e","__esModule","default","BROWSER_PLATFORM","IP_ADDRESS","ReactNativePlatform","Platform","getPlatformOS","OS","undefined","getNativePlatformName","platformOS","Context","name","type","library","VERSION","constructor","agent","navigator","userAgent","uaResult","UAParser","getResult","setup","config","Promise","resolve","getNativeContext","getNativeApplicationContext","trackingOptions","error","loggerProvider","String","execute","context","time","Date","getTime","nativeContext","isWebPlatform","fallbackPlatform","appVersion","version","platform","osName","browser","osVersion","deviceVendor","deviceManufacturer","device","vendor","deviceModel","model","os","language","getLanguage","country","carrier","adid","appSetId","idfv","event","user_id","userId","device_id","deviceId","session_id","sessionId","app_version","os_name","os_version","device_manufacturer","device_model","ipAddress","ip","android_app_set_id","insert_id","UUID","partner_id","partnerId","plan","ingestionMetadata","ingestion_metadata","source_name","sourceName","source_version","sourceVersion","exports"],"sourceRoot":"../../../../src","sources":["analytics/plugins/context.ts"],"mappings":"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","ignoreList":[]}
|