clevertap-react-native 3.9.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/.claude/worktrees/ecstatic-goldberg/.claude/settings.local.json +12 -0
  2. package/.claude/worktrees/ecstatic-goldberg/.codebeatignore +1 -0
  3. package/.claude/worktrees/ecstatic-goldberg/.eslintrc.json +34 -0
  4. package/.claude/worktrees/ecstatic-goldberg/.vscode/settings.json +3 -0
  5. package/.claude/worktrees/ecstatic-goldberg/CHANGELOG.md +689 -0
  6. package/.claude/worktrees/ecstatic-goldberg/LICENSE +9 -0
  7. package/.claude/worktrees/ecstatic-goldberg/README.md +52 -0
  8. package/.claude/worktrees/ecstatic-goldberg/android/.gradle/8.5/checksums/checksums.lock +0 -0
  9. package/.claude/worktrees/ecstatic-goldberg/android/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  10. package/.claude/worktrees/ecstatic-goldberg/android/.gradle/8.5/fileChanges/last-build.bin +0 -0
  11. package/.claude/worktrees/ecstatic-goldberg/android/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
  12. package/.claude/worktrees/ecstatic-goldberg/android/.gradle/8.5/gc.properties +0 -0
  13. package/.claude/worktrees/ecstatic-goldberg/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/.claude/worktrees/ecstatic-goldberg/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  15. package/.claude/worktrees/ecstatic-goldberg/android/.gradle/vcs-1/gc.properties +0 -0
  16. package/.claude/worktrees/ecstatic-goldberg/android/build.gradle +63 -0
  17. package/.claude/worktrees/ecstatic-goldberg/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  18. package/.claude/worktrees/ecstatic-goldberg/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  19. package/.claude/worktrees/ecstatic-goldberg/android/gradle.properties +2 -0
  20. package/.claude/worktrees/ecstatic-goldberg/android/gradlew +160 -0
  21. package/.claude/worktrees/ecstatic-goldberg/android/gradlew.bat +90 -0
  22. package/{android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt → .claude/worktrees/ecstatic-goldberg/android/src/main}/AndroidManifest.xml +2 -7
  23. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/CleverTapApplication.kt +12 -0
  24. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/CleverTapCustomTemplates.kt +66 -0
  25. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/CleverTapEvent.kt +42 -0
  26. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/CleverTapEventEmitter.kt +128 -0
  27. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/CleverTapListenerProxy.kt +225 -0
  28. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/CleverTapModuleImpl.java +2112 -0
  29. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/CleverTapPackage.kt +36 -0
  30. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/CleverTapRnAPI.kt +35 -0
  31. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/CleverTapUtils.java +333 -0
  32. package/.claude/worktrees/ecstatic-goldberg/android/src/main/java/com/clevertap/react/Constants.kt +13 -0
  33. package/.claude/worktrees/ecstatic-goldberg/android/src/newarch/CleverTapModule.kt +622 -0
  34. package/.claude/worktrees/ecstatic-goldberg/android/src/oldarch/CleverTapModule.kt +716 -0
  35. package/.claude/worktrees/ecstatic-goldberg/clevertap-react-native.podspec +37 -0
  36. package/.claude/worktrees/ecstatic-goldberg/docs/CustomCodeTemplates.md +215 -0
  37. package/.claude/worktrees/ecstatic-goldberg/docs/Variables.md +191 -0
  38. package/.claude/worktrees/ecstatic-goldberg/docs/callbackPayloadFormat.md +26 -0
  39. package/.claude/worktrees/ecstatic-goldberg/docs/install.md +162 -0
  40. package/.claude/worktrees/ecstatic-goldberg/docs/integration.md +122 -0
  41. package/.claude/worktrees/ecstatic-goldberg/docs/iospushtemplates.md +582 -0
  42. package/.claude/worktrees/ecstatic-goldberg/docs/pushprimer.md +99 -0
  43. package/.claude/worktrees/ecstatic-goldberg/docs/usage.md +524 -0
  44. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReact.h +41 -0
  45. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReact.mm +1428 -0
  46. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactAppFunctionPresenter.h +20 -0
  47. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactAppFunctionPresenter.mm +21 -0
  48. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactCustomTemplates.h +42 -0
  49. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactCustomTemplates.mm +51 -0
  50. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactManager.h +14 -0
  51. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactManager.mm +168 -0
  52. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactPendingEvent.h +14 -0
  53. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactPendingEvent.mm +14 -0
  54. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactTemplatePresenter.h +22 -0
  55. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact/CleverTapReactTemplatePresenter.mm +21 -0
  56. package/.claude/worktrees/ecstatic-goldberg/ios/CleverTapReact.xcodeproj/project.pbxproj +371 -0
  57. package/.claude/worktrees/ecstatic-goldberg/package-lock.json +9891 -0
  58. package/.claude/worktrees/ecstatic-goldberg/package.json +57 -0
  59. package/.claude/worktrees/ecstatic-goldberg/src/NativeCleverTapModule.ts +252 -0
  60. package/.claude/worktrees/ecstatic-goldberg/src/index.d.ts +1031 -0
  61. package/.claude/worktrees/ecstatic-goldberg/src/index.js +1258 -0
  62. package/.claude/worktrees/ecstatic-goldberg/static/Finder.png +0 -0
  63. package/.claude/worktrees/ecstatic-goldberg/static/GenerateSpecs.png +0 -0
  64. package/.claude/worktrees/ecstatic-goldberg/static/NotificationContent.png +0 -0
  65. package/.claude/worktrees/ecstatic-goldberg/static/NotificationContentStoryboard.png +0 -0
  66. package/.claude/worktrees/ecstatic-goldberg/static/NotificationContentTarget.png +0 -0
  67. package/.claude/worktrees/ecstatic-goldberg/static/NotificationServiceTarget.png +0 -0
  68. package/.claude/worktrees/vigilant-davinci/.claude/settings.local.json +7 -0
  69. package/.claude/worktrees/vigilant-davinci/.codebeatignore +1 -0
  70. package/.claude/worktrees/vigilant-davinci/.eslintrc.json +34 -0
  71. package/.claude/worktrees/vigilant-davinci/.vscode/settings.json +3 -0
  72. package/.claude/worktrees/vigilant-davinci/CHANGELOG.md +702 -0
  73. package/.claude/worktrees/vigilant-davinci/LICENSE +9 -0
  74. package/.claude/worktrees/vigilant-davinci/README.md +52 -0
  75. package/.claude/worktrees/vigilant-davinci/android/.gradle/8.5/checksums/checksums.lock +0 -0
  76. package/.claude/worktrees/vigilant-davinci/android/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  77. package/.claude/worktrees/vigilant-davinci/android/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
  78. package/.claude/worktrees/vigilant-davinci/android/.gradle/8.5/fileChanges/last-build.bin +0 -0
  79. package/.claude/worktrees/vigilant-davinci/android/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
  80. package/.claude/worktrees/vigilant-davinci/android/.gradle/8.5/gc.properties +0 -0
  81. package/.claude/worktrees/vigilant-davinci/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  82. package/.claude/worktrees/vigilant-davinci/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  83. package/.claude/worktrees/vigilant-davinci/android/.gradle/vcs-1/gc.properties +0 -0
  84. package/.claude/worktrees/vigilant-davinci/android/build.gradle +63 -0
  85. package/.claude/worktrees/vigilant-davinci/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  86. package/.claude/worktrees/vigilant-davinci/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  87. package/.claude/worktrees/vigilant-davinci/android/gradle.properties +2 -0
  88. package/.claude/worktrees/vigilant-davinci/android/gradlew +160 -0
  89. package/.claude/worktrees/vigilant-davinci/android/gradlew.bat +90 -0
  90. package/{android/build/intermediates/merged_manifest/debug → .claude/worktrees/vigilant-davinci/android/src/main}/AndroidManifest.xml +2 -7
  91. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/CleverTapApplication.kt +12 -0
  92. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/CleverTapCustomTemplates.kt +66 -0
  93. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/CleverTapEvent.kt +42 -0
  94. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/CleverTapEventEmitter.kt +128 -0
  95. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/CleverTapListenerProxy.kt +225 -0
  96. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/CleverTapModuleImpl.java +2139 -0
  97. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/CleverTapPackage.kt +36 -0
  98. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/CleverTapRnAPI.kt +35 -0
  99. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/CleverTapUtils.java +333 -0
  100. package/.claude/worktrees/vigilant-davinci/android/src/main/java/com/clevertap/react/Constants.kt +13 -0
  101. package/.claude/worktrees/vigilant-davinci/android/src/newarch/CleverTapModule.kt +622 -0
  102. package/.claude/worktrees/vigilant-davinci/android/src/oldarch/CleverTapModule.kt +716 -0
  103. package/.claude/worktrees/vigilant-davinci/clevertap-react-native.podspec +37 -0
  104. package/.claude/worktrees/vigilant-davinci/docs/CustomCodeTemplates.md +215 -0
  105. package/.claude/worktrees/vigilant-davinci/docs/Variables.md +191 -0
  106. package/.claude/worktrees/vigilant-davinci/docs/callbackPayloadFormat.md +26 -0
  107. package/.claude/worktrees/vigilant-davinci/docs/install.md +162 -0
  108. package/.claude/worktrees/vigilant-davinci/docs/integration.md +122 -0
  109. package/.claude/worktrees/vigilant-davinci/docs/iospushtemplates.md +582 -0
  110. package/.claude/worktrees/vigilant-davinci/docs/pushprimer.md +99 -0
  111. package/.claude/worktrees/vigilant-davinci/docs/usage.md +524 -0
  112. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReact.h +41 -0
  113. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReact.mm +1428 -0
  114. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactAppFunctionPresenter.h +20 -0
  115. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactAppFunctionPresenter.mm +21 -0
  116. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactCustomTemplates.h +42 -0
  117. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactCustomTemplates.mm +51 -0
  118. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactManager.h +14 -0
  119. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactManager.mm +168 -0
  120. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactPendingEvent.h +14 -0
  121. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactPendingEvent.mm +14 -0
  122. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactTemplatePresenter.h +22 -0
  123. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact/CleverTapReactTemplatePresenter.mm +21 -0
  124. package/.claude/worktrees/vigilant-davinci/ios/CleverTapReact.xcodeproj/project.pbxproj +371 -0
  125. package/.claude/worktrees/vigilant-davinci/package-lock.json +9891 -0
  126. package/.claude/worktrees/vigilant-davinci/package.json +57 -0
  127. package/.claude/worktrees/vigilant-davinci/src/NativeCleverTapModule.ts +252 -0
  128. package/.claude/worktrees/vigilant-davinci/src/index.d.ts +1031 -0
  129. package/.claude/worktrees/vigilant-davinci/src/index.js +1270 -0
  130. package/.claude/worktrees/vigilant-davinci/static/Finder.png +0 -0
  131. package/.claude/worktrees/vigilant-davinci/static/GenerateSpecs.png +0 -0
  132. package/.claude/worktrees/vigilant-davinci/static/NotificationContent.png +0 -0
  133. package/.claude/worktrees/vigilant-davinci/static/NotificationContentStoryboard.png +0 -0
  134. package/.claude/worktrees/vigilant-davinci/static/NotificationContentTarget.png +0 -0
  135. package/.claude/worktrees/vigilant-davinci/static/NotificationServiceTarget.png +0 -0
  136. package/CHANGELOG.md +13 -0
  137. package/android/.gradle/8.5/checksums/checksums.lock +0 -0
  138. package/android/{build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i → .gradle/8.5/checksums/sha1-checksums.bin} +0 -0
  139. package/android/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  140. package/android/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
  141. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  142. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  143. package/android/build.gradle +3 -3
  144. package/clevertap-react-native.podspec +1 -1
  145. package/docs/install.md +1 -1
  146. package/ios/CleverTapReact/CleverTapReactManager.mm +8 -0
  147. package/package.json +1 -1
  148. package/src/index.js +1 -1
  149. package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
  150. package/android/build/generated/source/buildConfig/debug/com/clevertap/react/BuildConfig.java +0 -12
  151. package/android/build/generated/source/codegen/java/com/clevertap/react/NativeCleverTapModuleSpec.java +0 -582
  152. package/android/build/generated/source/codegen/jni/CMakeLists.txt +0 -49
  153. package/android/build/generated/source/codegen/jni/CTTurboModuleSpec-generated.cpp +0 -764
  154. package/android/build/generated/source/codegen/jni/CTTurboModuleSpec.h +0 -31
  155. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/CTTurboModuleSpecJSI-generated.cpp +0 -1035
  156. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/CTTurboModuleSpecJSI.h +0 -1161
  157. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/ComponentDescriptors.cpp +0 -22
  158. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/ComponentDescriptors.h +0 -24
  159. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/EventEmitters.cpp +0 -16
  160. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/EventEmitters.h +0 -17
  161. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/Props.cpp +0 -19
  162. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/Props.h +0 -18
  163. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/ShadowNodes.cpp +0 -17
  164. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/ShadowNodes.h +0 -23
  165. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/States.cpp +0 -16
  166. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/States.h +0 -21
  167. package/android/build/generated/source/codegen/schema.json +0 -3695
  168. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +0 -18
  169. package/android/build/intermediates/aar_main_jar/debug/classes.jar +0 -0
  170. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +0 -6
  171. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  172. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  173. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  174. package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -7705
  175. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  176. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  177. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  178. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  179. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  180. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  181. package/android/build/intermediates/java_res/debug/out/META-INF/clevertap-react-native_debug.kotlin_module +0 -0
  182. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/BuildConfig.class +0 -0
  183. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$1.class +0 -0
  184. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$10.class +0 -0
  185. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$2.class +0 -0
  186. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$3.class +0 -0
  187. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$4.class +0 -0
  188. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$5.class +0 -0
  189. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$6.class +0 -0
  190. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$7.class +0 -0
  191. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$8.class +0 -0
  192. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$9.class +0 -0
  193. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$InBoxMessages.class +0 -0
  194. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$TemplateContextAction.class +0 -0
  195. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl.class +0 -0
  196. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapUtils$1.class +0 -0
  197. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapUtils$MapUtil$ArrayUtil.class +0 -0
  198. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapUtils$MapUtil.class +0 -0
  199. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapUtils.class +0 -0
  200. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/NativeCleverTapModuleSpec.class +0 -0
  201. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +0 -2
  202. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +0 -14
  203. package/android/build/intermediates/merged_java_res/debug/feature-clevertap-react-native.jar +0 -0
  204. package/android/build/intermediates/navigation_json/debug/navigation.json +0 -1
  205. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  206. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +0 -5786
  207. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  208. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  209. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  210. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  211. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  212. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  213. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  214. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  215. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  216. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  217. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  218. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  219. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  220. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  221. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  222. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  223. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  224. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  225. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  226. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  227. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  228. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  229. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  230. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  231. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  232. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  233. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  234. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  235. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  236. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  237. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  238. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  239. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  240. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  241. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  242. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab +0 -0
  243. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.keystream +0 -0
  244. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.keystream.len +0 -0
  245. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.len +0 -0
  246. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.values.at +0 -0
  247. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab_i +0 -0
  248. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab_i.len +0 -0
  249. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  250. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  251. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  252. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  253. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  254. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  255. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  256. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  257. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  258. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  259. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  260. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  261. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  262. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  263. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  264. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  265. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  266. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  267. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  268. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  269. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  270. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  271. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  272. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  273. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  274. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  275. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  276. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  277. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  278. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  279. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  280. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  281. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  282. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  283. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  284. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  285. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  286. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  287. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  288. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  289. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  290. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  291. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  292. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  293. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  294. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  295. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  296. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  297. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  298. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  299. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  300. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  301. package/android/build/outputs/aar/clevertap-react-native-debug.aar +0 -0
  302. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -17
  303. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  304. package/android/build/tmp/kotlin-classes/debug/META-INF/clevertap-react-native_debug.kotlin_module +0 -0
  305. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapApplication.class +0 -0
  306. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapCustomTemplates$templatePresenter$1.class +0 -0
  307. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapCustomTemplates.class +0 -0
  308. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEvent$Companion.class +0 -0
  309. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEvent.class +0 -0
  310. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEventEmitter$Buffer$items$2.class +0 -0
  311. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEventEmitter$Buffer.class +0 -0
  312. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEventEmitter.class +0 -0
  313. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapListenerProxy.class +0 -0
  314. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapModule$Companion.class +0 -0
  315. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapModule.class +0 -0
  316. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapPackage.class +0 -0
  317. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapRnAPI.class +0 -0
  318. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/Constants.class +0 -0
  319. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/ErrorMessages.class +0 -0
  320. package/android/local.properties +0 -8
  321. /package/{android/build/intermediates/annotations_typedef_file/debug/typedefs.txt → .claude/worktrees/ecstatic-goldberg/android/.gradle/8.5/dependencies-accessors/gc.properties} +0 -0
@@ -0,0 +1,36 @@
1
+ package com.clevertap.react
2
+
3
+ import com.clevertap.react.Constants.REACT_MODULE_NAME
4
+ import com.facebook.react.TurboReactPackage
5
+ import com.facebook.react.bridge.NativeModule
6
+ import com.facebook.react.bridge.ReactApplicationContext
7
+ import com.facebook.react.module.model.ReactModuleInfo
8
+ import com.facebook.react.module.model.ReactModuleInfoProvider
9
+
10
+ class CleverTapPackage : TurboReactPackage() {
11
+
12
+ override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
13
+ return if (name == REACT_MODULE_NAME) {
14
+ CleverTapModule(reactContext)
15
+ } else {
16
+ null
17
+ }
18
+ }
19
+
20
+ override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
21
+ return ReactModuleInfoProvider {
22
+ val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
23
+ val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
24
+ moduleInfos[REACT_MODULE_NAME] = ReactModuleInfo(
25
+ REACT_MODULE_NAME,
26
+ REACT_MODULE_NAME,
27
+ false, // canOverrideExistingModule
28
+ false, // needsEagerInit
29
+ true, // hasConstants
30
+ false, // isCxxModule
31
+ isTurboModule // isTurboModule
32
+ )
33
+ moduleInfos
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,35 @@
1
+ package com.clevertap.react
2
+
3
+ import android.content.Context
4
+ import android.net.Uri
5
+ import com.clevertap.android.sdk.CleverTapAPI
6
+
7
+ object CleverTapRnAPI {
8
+
9
+ /**
10
+ * Initializes the CleverTap SDK for ReactNative. It is recommended to call this method
11
+ * in [Application.onCreate][android.app.Application.onCreate] or extend
12
+ * [CleverTapApplication] to ensure proper initialization.
13
+ */
14
+ @JvmStatic
15
+ fun initReactNativeIntegration(context: Context) {
16
+ // Create SDK instance and attach the proxy listener right away. This ensures events begin
17
+ // to be handled immediately while the react module might not yet initialized
18
+ CleverTapAPI.getDefaultInstance(context)?.let {
19
+ CleverTapListenerProxy.attachToInstance(it)
20
+ }
21
+ }
22
+
23
+ /**
24
+ * Set the initial Uri for the CleverTap SDK. This can later be accessed through
25
+ * CleverTap.getInitialUrl in the ReactNative application.
26
+ *
27
+ * @param uri The initial [Uri]. This is usually the
28
+ * [data][android.content.Intent.getData] of
29
+ * [Activity.getIntent][android.app.Activity.getIntent].
30
+ */
31
+ @JvmStatic
32
+ fun setInitialUri(uri: Uri?) {
33
+ CleverTapModuleImpl.setInitialUri(uri)
34
+ }
35
+ }
@@ -0,0 +1,333 @@
1
+ package com.clevertap.react;
2
+
3
+ import android.util.Log;
4
+
5
+ import androidx.annotation.NonNull;
6
+ import androidx.annotation.Nullable;
7
+
8
+ import com.clevertap.android.sdk.displayunits.model.CleverTapDisplayUnit;
9
+ import com.facebook.react.bridge.Arguments;
10
+ import com.facebook.react.bridge.ReadableArray;
11
+ import com.facebook.react.bridge.ReadableMap;
12
+ import com.facebook.react.bridge.ReadableMapKeySetIterator;
13
+ import com.facebook.react.bridge.ReadableType;
14
+ import com.facebook.react.bridge.WritableArray;
15
+ import com.facebook.react.bridge.WritableMap;
16
+
17
+ import org.json.JSONArray;
18
+ import org.json.JSONException;
19
+ import org.json.JSONObject;
20
+
21
+ import java.util.ArrayList;
22
+ import java.util.HashMap;
23
+ import java.util.Iterator;
24
+ import java.util.List;
25
+ import java.util.Map;
26
+
27
+ public class CleverTapUtils {
28
+
29
+ private static final String TAG = "CleverTapUtils";
30
+
31
+ @SuppressWarnings({"TypeParameterExplicitlyExtendsObject", "rawtypes"})
32
+ public static WritableMap getWritableMapFromMap(@Nullable Map<String, ? extends Object> var1) {
33
+ JSONObject extras = var1 != null ? new JSONObject(var1) : new JSONObject();
34
+ WritableMap extrasParams = Arguments.createMap();
35
+ Iterator extrasKeys = extras.keys();
36
+ while (extrasKeys.hasNext()) {
37
+ String key = null;
38
+ String value = null;
39
+ try {
40
+ key = extrasKeys.next().toString();
41
+ value = extras.get(key).toString();
42
+ } catch (Throwable t) {
43
+ Log.e(TAG, t.getLocalizedMessage());
44
+ }
45
+
46
+ if (key != null && value != null) {
47
+ extrasParams.putString(key, value);
48
+ }
49
+ }
50
+ return extrasParams;
51
+ }
52
+
53
+ public static WritableArray getWritableArrayFromDisplayUnitList(List<CleverTapDisplayUnit> list) {
54
+ WritableArray writableArray = Arguments.createArray();
55
+
56
+ if (list != null) {
57
+ for (CleverTapDisplayUnit item : list) {
58
+ if (item != null && item.getJsonObject() != null) {
59
+ WritableMap displayUnitMap = convertObjectToWritableMap(item.getJsonObject());
60
+ writableArray.pushMap(displayUnitMap);
61
+ }
62
+ }
63
+ }
64
+
65
+ return writableArray;
66
+ }
67
+
68
+ public static WritableMap convertObjectToWritableMap(@NonNull JSONObject jsonObject) {
69
+ WritableMap writableMap = Arguments.createMap();
70
+
71
+ Iterator<String> keys = jsonObject.keys();
72
+ while (keys.hasNext()) {
73
+ String key = keys.next();
74
+ try {
75
+ Object value = jsonObject.get(key);
76
+
77
+ if (value instanceof String) {
78
+ writableMap.putString(key, (String) value);
79
+ } else if (value instanceof Integer) {
80
+ writableMap.putInt(key, (Integer) value);
81
+ } else if (value instanceof Boolean) {
82
+ writableMap.putBoolean(key, (Boolean) value);
83
+ } else if (value instanceof Long) {
84
+ writableMap.putDouble(key, ((Long) value).doubleValue());
85
+ } else if (value instanceof Float || value instanceof Double) {
86
+ writableMap.putDouble(key, Double.parseDouble(value.toString()));
87
+ } else if (value instanceof JSONObject) {
88
+ WritableMap nestedWritableMap = convertObjectToWritableMap((JSONObject) value);
89
+ writableMap.putMap(key, nestedWritableMap);
90
+ } else if (value instanceof JSONArray) {
91
+ WritableArray nestedWritableArray = convertArrayToWritableArray((JSONArray) value);
92
+ writableMap.putArray(key, nestedWritableArray);
93
+ }
94
+ } catch (JSONException e) {
95
+ e.printStackTrace();
96
+ }
97
+ }
98
+
99
+ return writableMap;
100
+ }
101
+
102
+ private static WritableArray convertArrayToWritableArray(JSONArray jsonArray) {
103
+ WritableArray writableArray = Arguments.createArray();
104
+
105
+ for (int i = 0; i < jsonArray.length(); i++) {
106
+ try {
107
+ Object value = jsonArray.get(i);
108
+
109
+ if (value instanceof String) {
110
+ writableArray.pushString((String) value);
111
+ } else if (value instanceof Integer) {
112
+ writableArray.pushInt((Integer) value);
113
+ } else if (value instanceof Boolean) {
114
+ writableArray.pushBoolean((Boolean) value);
115
+ } else if (value instanceof Long) {
116
+ writableArray.pushDouble(((Long) value).doubleValue());
117
+ } else if (value instanceof Float || value instanceof Double) {
118
+ writableArray.pushDouble(Double.parseDouble(value.toString()));
119
+ } else if (value instanceof JSONObject) {
120
+ WritableMap nestedWritableMap = convertObjectToWritableMap((JSONObject) value);
121
+ writableArray.pushMap(nestedWritableMap);
122
+ } else if (value instanceof JSONArray) {
123
+ WritableArray nestedWritableArray = convertArrayToWritableArray((JSONArray) value);
124
+ writableArray.pushArray(nestedWritableArray);
125
+ }
126
+ } catch (JSONException e) {
127
+ e.printStackTrace();
128
+ }
129
+ }
130
+
131
+ return writableArray;
132
+ }
133
+
134
+ public static class MapUtil {
135
+
136
+ public static JSONObject toJSONObject(ReadableMap readableMap) throws JSONException {
137
+ JSONObject jsonObject = new JSONObject();
138
+
139
+ ReadableMapKeySetIterator iterator = readableMap.keySetIterator();
140
+
141
+ while (iterator.hasNextKey()) {
142
+ String key = iterator.nextKey();
143
+ ReadableType type = readableMap.getType(key);
144
+
145
+ switch (type) {
146
+ case Null:
147
+ jsonObject.put(key, null);
148
+ break;
149
+ case Boolean:
150
+ jsonObject.put(key, readableMap.getBoolean(key));
151
+ break;
152
+ case Number:
153
+ jsonObject.put(key, readableMap.getDouble(key));
154
+ break;
155
+ case String:
156
+ jsonObject.put(key, readableMap.getString(key));
157
+ break;
158
+ case Map:
159
+ jsonObject.put(key, MapUtil.toJSONObject(readableMap.getMap(key)));
160
+ break;
161
+ case Array:
162
+ jsonObject.put(key, ArrayUtil.toJSONArray(readableMap.getArray(key)));
163
+ break;
164
+ }
165
+ }
166
+
167
+ return jsonObject;
168
+ }
169
+
170
+
171
+ public static Map<String, Object> toMap(ReadableMap readableMap) {
172
+ Map<String, Object> map = new HashMap<>();
173
+ ReadableMapKeySetIterator iterator = readableMap.keySetIterator();
174
+
175
+ while (iterator.hasNextKey()) {
176
+ String key = iterator.nextKey();
177
+ ReadableType type = readableMap.getType(key);
178
+
179
+ switch (type) {
180
+ case Null:
181
+ map.put(key, null);
182
+ break;
183
+ case Boolean:
184
+ map.put(key, readableMap.getBoolean(key));
185
+ break;
186
+ case Number:
187
+ map.put(key, readableMap.getDouble(key));
188
+ break;
189
+ case String:
190
+ map.put(key, readableMap.getString(key));
191
+ break;
192
+ case Map:
193
+ map.put(key, MapUtil.toMap(readableMap.getMap(key)));
194
+ break;
195
+ case Array:
196
+ map.put(key, ArrayUtil.toArray(readableMap.getArray(key)));
197
+ break;
198
+ }
199
+ }
200
+
201
+ return map;
202
+ }
203
+
204
+ public static WritableMap toWritableMap(Map<String, Object> map) {
205
+ WritableMap writableMap = Arguments.createMap();
206
+ Iterator iterator = map.entrySet().iterator();
207
+
208
+ while (iterator.hasNext()) {
209
+ Map.Entry pair = (Map.Entry) iterator.next();
210
+ writableMap.merge(addValue((String) pair.getKey(), pair.getValue()));
211
+ }
212
+
213
+ return writableMap;
214
+ }
215
+
216
+ public static WritableMap addValue(String key, Object value) {
217
+ WritableMap writableMap = Arguments.createMap();
218
+ if (value == null) {
219
+ writableMap.putNull(key);
220
+ } else if (value instanceof Boolean) {
221
+ writableMap.putBoolean(key, (Boolean) value);
222
+ } else if (value instanceof Double) {
223
+ writableMap.putDouble(key, (Double) value);
224
+ } else if (value instanceof Integer) {
225
+ writableMap.putInt(key, (Integer) value);
226
+ } else if (value instanceof String) {
227
+ writableMap.putString(key, (String) value);
228
+ } else if (value instanceof Map) {
229
+ writableMap.putMap(key, MapUtil.toWritableMap((Map<String, Object>) value));
230
+ } else if (value.getClass() != null && (value.getClass().isArray() || value instanceof ArrayList)) {
231
+ writableMap.putArray(key, ArrayUtil.toWritableArray((ArrayList) value));
232
+ }
233
+ return writableMap;
234
+ }
235
+
236
+ public static class ArrayUtil {
237
+
238
+ public static JSONArray toJSONArray(ReadableArray readableArray) throws JSONException {
239
+ JSONArray jsonArray = new JSONArray();
240
+
241
+ for (int i = 0; i < readableArray.size(); i++) {
242
+ ReadableType type = readableArray.getType(i);
243
+
244
+ switch (type) {
245
+ case Null:
246
+ jsonArray.put(i, null);
247
+ break;
248
+ case Boolean:
249
+ jsonArray.put(i, readableArray.getBoolean(i));
250
+ break;
251
+ case Number:
252
+ jsonArray.put(i, readableArray.getDouble(i));
253
+ break;
254
+ case String:
255
+ jsonArray.put(i, readableArray.getString(i));
256
+ break;
257
+ case Map:
258
+ jsonArray.put(i, MapUtil.toJSONObject(readableArray.getMap(i)));
259
+ break;
260
+ case Array:
261
+ jsonArray.put(i, ArrayUtil.toJSONArray(readableArray.getArray(i)));
262
+ break;
263
+ }
264
+ }
265
+
266
+ return jsonArray;
267
+ }
268
+
269
+ public static Object[] toArray(ReadableArray readableArray) {
270
+ Object[] array = new Object[readableArray.size()];
271
+
272
+ for (int i = 0; i < readableArray.size(); i++) {
273
+ ReadableType type = readableArray.getType(i);
274
+
275
+ switch (type) {
276
+ case Null:
277
+ array[i] = null;
278
+ break;
279
+ case Boolean:
280
+ array[i] = readableArray.getBoolean(i);
281
+ break;
282
+ case Number:
283
+ array[i] = readableArray.getDouble(i);
284
+ break;
285
+ case String:
286
+ array[i] = readableArray.getString(i);
287
+ break;
288
+ case Map:
289
+ array[i] = MapUtil.toMap(readableArray.getMap(i));
290
+ break;
291
+ case Array:
292
+ array[i] = ArrayUtil.toArray(readableArray.getArray(i));
293
+ break;
294
+ }
295
+ }
296
+
297
+ return array;
298
+ }
299
+
300
+ public static WritableArray toWritableArray(ArrayList arrayList) {
301
+ WritableArray writableArray = Arguments.createArray();
302
+
303
+ for (int i = 0; i < arrayList.size(); i++) {
304
+ Object value = arrayList.get(i);
305
+
306
+ if (value == null) {
307
+ writableArray.pushNull();
308
+ }
309
+ if (value instanceof Boolean) {
310
+ writableArray.pushBoolean((Boolean) value);
311
+ }
312
+ if (value instanceof Double) {
313
+ writableArray.pushDouble((Double) value);
314
+ }
315
+ if (value instanceof Integer) {
316
+ writableArray.pushInt((Integer) value);
317
+ }
318
+ if (value instanceof String) {
319
+ writableArray.pushString((String) value);
320
+ }
321
+ if (value instanceof Map) {
322
+ writableArray.pushMap(MapUtil.toWritableMap((Map<String, Object>) value));
323
+ }
324
+ if (value.getClass().isArray()) {
325
+ writableArray.pushArray(ArrayUtil.toWritableArray((ArrayList) value));
326
+ }
327
+ }
328
+
329
+ return writableArray;
330
+ }
331
+ }
332
+ }
333
+ }
@@ -0,0 +1,13 @@
1
+ package com.clevertap.react
2
+
3
+ object ErrorMessages {
4
+ const val CLEVERTAP_NOT_INITIALIZED = "CleverTap not initialized"
5
+ const val PRODUCTCONFIG_NOT_INITIALIZED = "Product Config not initialized"
6
+ const val FF_NOT_INITIALIZED = "Feature Flags not initialized"
7
+ }
8
+
9
+ object Constants {
10
+ const val REACT_MODULE_NAME = "CleverTapReact"
11
+
12
+ const val FCM = "FCM"
13
+ }