@bugfender/rn-bugfender 1.1.4 → 2.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 (285) hide show
  1. package/README.md +147 -96
  2. package/RnBugfender.podspec +21 -0
  3. package/android/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  4. package/android/.gradle/{6.1.1 → 7.1/dependencies-accessors}/gc.properties +0 -0
  5. package/android/.gradle/{6.1.1/javaCompile/taskHistory.bin → 7.1/executionHistory/executionHistory.bin} +0 -0
  6. package/android/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  7. package/android/.gradle/{6.1.1 → 7.1}/fileChanges/last-build.bin +0 -0
  8. package/android/.gradle/{6.1.1/fileHashes/resourceHashesCache.bin → 7.1/fileHashes/fileHashes.bin} +0 -0
  9. package/android/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  10. package/android/{build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt → .gradle/7.1/gc.properties} +0 -0
  11. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  12. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  13. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  14. package/android/.gradle/checksums/checksums.lock +0 -0
  15. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  16. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  17. package/android/.idea/compiler.xml +6 -0
  18. package/android/.idea/gradle.xml +1 -3
  19. package/android/.idea/jarRepositories.xml +12 -17
  20. package/android/.idea/misc.xml +4 -1
  21. package/android/.idea/runConfigurations.xml +10 -0
  22. package/android/.idea/uiDesigner.xml +124 -0
  23. package/android/build.gradle +43 -85
  24. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  25. package/android/gradle/wrapper/gradle-wrapper.properties +1 -2
  26. package/android/gradlew +34 -21
  27. package/android/gradlew.bat +24 -19
  28. package/android/src/main/AndroidManifest.xml +4 -3
  29. package/android/src/main/java/com/bugfender/react/{RNBugfenderModule.java → RnBugfenderModule.java} +44 -15
  30. package/android/src/main/java/com/bugfender/react/RnBugfenderPackage.java +28 -0
  31. package/ios/RnBugfender.h +5 -0
  32. package/ios/{RNBugfender.m → RnBugfender.m} +30 -9
  33. package/ios/{RNBugfender.xcodeproj → RnBugfender.xcodeproj}/project.pbxproj +42 -37
  34. package/ios/RnBugfender.xcodeproj/project.xcworkspace/xcuserdata/fj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  35. package/ios/{RNBugfender.xcodeproj → RnBugfender.xcodeproj}/xcuserdata/fj.xcuserdatad/xcschemes/xcschememanagement.plist +1 -1
  36. package/lib/commonjs/bugfender.js +338 -0
  37. package/lib/commonjs/bugfender.js.map +1 -0
  38. package/lib/commonjs/index.js +28 -0
  39. package/lib/commonjs/index.js.map +1 -0
  40. package/lib/commonjs/index.web.js +30 -0
  41. package/lib/commonjs/index.web.js.map +1 -0
  42. package/lib/commonjs/override-console-methods.js +91 -0
  43. package/lib/commonjs/override-console-methods.js.map +1 -0
  44. package/lib/commonjs/print-to-console.js +78 -0
  45. package/lib/commonjs/print-to-console.js.map +1 -0
  46. package/lib/commonjs/sdk-options.js +75 -0
  47. package/lib/commonjs/sdk-options.js.map +1 -0
  48. package/lib/commonjs/string-formatter.js +55 -0
  49. package/lib/commonjs/string-formatter.js.map +1 -0
  50. package/lib/commonjs/types/device.js +2 -0
  51. package/lib/commonjs/types/device.js.map +1 -0
  52. package/lib/commonjs/types/log.js +35 -0
  53. package/lib/commonjs/types/log.js.map +1 -0
  54. package/lib/commonjs/types/sdk-options.js +57 -0
  55. package/lib/commonjs/types/sdk-options.js.map +1 -0
  56. package/lib/commonjs/user-feedback.js +31 -0
  57. package/lib/commonjs/user-feedback.js.map +1 -0
  58. package/lib/commonjs/utilities.js +18 -0
  59. package/lib/commonjs/utilities.js.map +1 -0
  60. package/lib/module/bugfender.js +323 -0
  61. package/lib/module/bugfender.js.map +1 -0
  62. package/lib/module/index.js +6 -0
  63. package/lib/module/index.js.map +1 -0
  64. package/lib/module/index.web.js +5 -0
  65. package/lib/module/index.web.js.map +1 -0
  66. package/lib/module/override-console-methods.js +75 -0
  67. package/lib/module/override-console-methods.js.map +1 -0
  68. package/lib/module/print-to-console.js +67 -0
  69. package/lib/module/print-to-console.js.map +1 -0
  70. package/lib/module/sdk-options.js +65 -0
  71. package/lib/module/sdk-options.js.map +1 -0
  72. package/lib/module/string-formatter.js +45 -0
  73. package/lib/module/string-formatter.js.map +1 -0
  74. package/lib/module/types/device.js +2 -0
  75. package/lib/module/types/device.js.map +1 -0
  76. package/lib/module/types/log.js +24 -0
  77. package/lib/module/types/log.js.map +1 -0
  78. package/lib/module/types/sdk-options.js +47 -0
  79. package/lib/module/types/sdk-options.js.map +1 -0
  80. package/lib/module/user-feedback.js +22 -0
  81. package/lib/module/user-feedback.js.map +1 -0
  82. package/lib/module/utilities.js +11 -0
  83. package/lib/module/utilities.js.map +1 -0
  84. package/lib/typescript/bugfender.d.ts +163 -0
  85. package/lib/typescript/index.d.ts +5 -0
  86. package/lib/typescript/index.web.d.ts +4 -0
  87. package/lib/typescript/override-console-methods.d.ts +10 -0
  88. package/lib/typescript/print-to-console.d.ts +14 -0
  89. package/lib/typescript/sdk-options.d.ts +16 -0
  90. package/lib/typescript/string-formatter.d.ts +4 -0
  91. package/lib/typescript/types/device.d.ts +4 -0
  92. package/lib/typescript/types/log.d.ts +59 -0
  93. package/lib/typescript/types/sdk-options.d.ts +40 -0
  94. package/lib/typescript/user-feedback.d.ts +31 -0
  95. package/lib/typescript/utilities.d.ts +1 -0
  96. package/package.json +146 -12
  97. package/src/bugfender.ts +360 -0
  98. package/src/index.tsx +7 -0
  99. package/src/index.web.tsx +5 -0
  100. package/src/override-console-methods.ts +53 -0
  101. package/src/print-to-console.ts +67 -0
  102. package/src/sdk-options.ts +63 -0
  103. package/src/string-formatter.ts +44 -0
  104. package/src/types/device.ts +4 -0
  105. package/src/types/log.ts +75 -0
  106. package/src/types/sdk-options.ts +77 -0
  107. package/src/user-feedback.ts +33 -0
  108. package/src/utilities.ts +8 -0
  109. package/RNBugfender.podspec +0 -24
  110. package/android/.gradle/6.1.1/executionHistory/executionHistory.bin +0 -0
  111. package/android/.gradle/6.1.1/executionHistory/executionHistory.lock +0 -0
  112. package/android/.gradle/6.1.1/fileContent/fileContent.lock +0 -0
  113. package/android/.gradle/6.1.1/fileHashes/fileHashes.bin +0 -0
  114. package/android/.gradle/6.1.1/fileHashes/fileHashes.lock +0 -0
  115. package/android/.gradle/6.1.1/javaCompile/classAnalysis.bin +0 -0
  116. package/android/.gradle/6.1.1/javaCompile/javaCompile.lock +0 -0
  117. package/android/.idea/android.iml +0 -29
  118. package/android/.idea/caches/build_file_checksums.ser +0 -0
  119. package/android/.idea/codeStyles/Project.xml +0 -116
  120. package/android/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml +0 -11
  121. package/android/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml +0 -12
  122. package/android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml +0 -11
  123. package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml +0 -12
  124. package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml +0 -12
  125. package/android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml +0 -12
  126. package/android/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml +0 -12
  127. package/android/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml +0 -10
  128. package/android/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml +0 -13
  129. package/android/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml +0 -10
  130. package/android/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml +0 -9
  131. package/android/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml +0 -13
  132. package/android/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml +0 -10
  133. package/android/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml +0 -10
  134. package/android/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml +0 -10
  135. package/android/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml +0 -13
  136. package/android/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml +0 -10
  137. package/android/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml +0 -10
  138. package/android/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml +0 -10
  139. package/android/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml +0 -13
  140. package/android/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml +0 -10
  141. package/android/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml +0 -9
  142. package/android/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml +0 -13
  143. package/android/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml +0 -10
  144. package/android/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml +0 -10
  145. package/android/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml +0 -13
  146. package/android/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml +0 -10
  147. package/android/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml +0 -13
  148. package/android/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml +0 -10
  149. package/android/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml +0 -10
  150. package/android/.idea/libraries/Gradle__com_bugfender_sdk_android_3_0_5_aar.xml +0 -12
  151. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_1_10_0_aar.xml +0 -12
  152. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_1_10_0_aar.xml +0 -15
  153. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_1_10_0_aar.xml +0 -15
  154. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_1_10_0_aar.xml +0 -15
  155. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_1_10_0_aar.xml +0 -15
  156. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_1_10_0_aar.xml +0 -12
  157. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2_jar.xml +0 -11
  158. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_59_9_aar.xml +0 -17
  159. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_6_0_aar.xml +0 -12
  160. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2_jar.xml +0 -13
  161. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1_jar.xml +0 -11
  162. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_1_jar.xml +0 -11
  163. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0_jar.xml +0 -13
  164. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml +0 -13
  165. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/android/support/v4/R.java +0 -12
  166. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/android/support/v7/appcompat/R.java +0 -1248
  167. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/android/support/v7/recyclerview/R.java +0 -40
  168. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/com/bugfender/android/R.java +0 -55
  169. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/com/bugfender/react/R.java +0 -1384
  170. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/com/facebook/drawee/R.java +0 -82
  171. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/com/facebook/drawee/backends/pipeline/R.java +0 -82
  172. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/com/facebook/fbcore/R.java +0 -12
  173. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/com/facebook/imagepipeline/R.java +0 -12
  174. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/com/facebook/imagepipeline/backends/okhttp/R.java +0 -12
  175. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/com/facebook/react/R.java +0 -1361
  176. package/android/build/generated/not_namespaced_r_class_sources/debug/generateDebugRFile/out/org/webkit/android_jsc/R.java +0 -12
  177. package/android/build/generated/source/buildConfig/debug/com/bugfender/react/BuildConfig.java +0 -13
  178. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -11
  179. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
  180. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -11
  181. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output.json +0 -1
  182. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  183. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
  184. package/android/build/intermediates/compile_library_classes/debug/classes.jar +0 -0
  185. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  186. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  187. package/android/build/intermediates/incremental/debug-mergeJniLibs/merge-state +0 -0
  188. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  189. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  190. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  191. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -1
  192. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
  193. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v4/R.class +0 -0
  194. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$anim.class +0 -0
  195. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$attr.class +0 -0
  196. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$bool.class +0 -0
  197. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$color.class +0 -0
  198. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$dimen.class +0 -0
  199. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$drawable.class +0 -0
  200. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$id.class +0 -0
  201. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$integer.class +0 -0
  202. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$layout.class +0 -0
  203. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$string.class +0 -0
  204. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$style.class +0 -0
  205. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R$styleable.class +0 -0
  206. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/appcompat/R.class +0 -0
  207. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/recyclerview/R$attr.class +0 -0
  208. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/recyclerview/R$dimen.class +0 -0
  209. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/recyclerview/R$id.class +0 -0
  210. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/recyclerview/R$styleable.class +0 -0
  211. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/android/support/v7/recyclerview/R.class +0 -0
  212. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/android/R$color.class +0 -0
  213. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/android/R$drawable.class +0 -0
  214. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/android/R$id.class +0 -0
  215. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/android/R$layout.class +0 -0
  216. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/android/R$string.class +0 -0
  217. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/android/R.class +0 -0
  218. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/BuildConfig.class +0 -0
  219. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$anim.class +0 -0
  220. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$attr.class +0 -0
  221. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$bool.class +0 -0
  222. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$color.class +0 -0
  223. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$dimen.class +0 -0
  224. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$drawable.class +0 -0
  225. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$id.class +0 -0
  226. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$integer.class +0 -0
  227. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$layout.class +0 -0
  228. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$string.class +0 -0
  229. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$style.class +0 -0
  230. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$styleable.class +0 -0
  231. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R$xml.class +0 -0
  232. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/R.class +0 -0
  233. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/RNBugfenderModule.class +0 -0
  234. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/bugfender/react/RNBugfenderPackage.class +0 -0
  235. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/drawee/R$attr.class +0 -0
  236. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/drawee/R$id.class +0 -0
  237. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/drawee/R$styleable.class +0 -0
  238. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/drawee/R.class +0 -0
  239. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/drawee/backends/pipeline/R$attr.class +0 -0
  240. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/drawee/backends/pipeline/R$id.class +0 -0
  241. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/drawee/backends/pipeline/R$styleable.class +0 -0
  242. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/drawee/backends/pipeline/R.class +0 -0
  243. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/fbcore/R.class +0 -0
  244. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/imagepipeline/R.class +0 -0
  245. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/imagepipeline/backends/okhttp/R.class +0 -0
  246. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$anim.class +0 -0
  247. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$attr.class +0 -0
  248. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$bool.class +0 -0
  249. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$color.class +0 -0
  250. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$dimen.class +0 -0
  251. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$drawable.class +0 -0
  252. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$id.class +0 -0
  253. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$integer.class +0 -0
  254. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$layout.class +0 -0
  255. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$string.class +0 -0
  256. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$style.class +0 -0
  257. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$styleable.class +0 -0
  258. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R$xml.class +0 -0
  259. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/R.class +0 -0
  260. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/org/webkit/android_jsc/R.class +0 -0
  261. package/android/build/intermediates/library_java_res/debug/res.jar +0 -0
  262. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -11
  263. package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
  264. package/android/build/intermediates/merged_manifests/debug/processDebugManifest/merged/AndroidManifest.xml +0 -11
  265. package/android/build/intermediates/merged_manifests/debug/processDebugManifest/merged/output.json +0 -1
  266. package/android/build/intermediates/packaged-classes/debug/classes.jar +0 -0
  267. package/android/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -1309
  268. package/android/build/intermediates/runtime_library_classes/debug/classes.jar +0 -0
  269. package/android/build/intermediates/symbols/debug/R.txt +0 -1783
  270. package/android/build/intermediates/transforms/mergeJavaRes/debug/0.jar +0 -0
  271. package/android/build/intermediates/transforms/mergeJavaRes/debug/__content__.json +0 -1
  272. package/android/build/intermediates/transforms/mergeJniLibs/debug/__content__.json +0 -1
  273. package/android/build/outputs/aar/android.aar +0 -0
  274. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -37
  275. package/android/local.properties +0 -1
  276. package/android/src/main/java/com/bugfender/react/RNBugfenderPackage.java +0 -29
  277. package/bugfender.js +0 -217
  278. package/example/.babelrc +0 -3
  279. package/example/.watchmanconfig +0 -1
  280. package/example/App.js +0 -121
  281. package/ios/RNBugfender.h +0 -7
  282. package/ios/RNBugfender.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  283. package/ios/RNBugfender.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  284. package/ios/RNBugfender.xcodeproj/project.xcworkspace/xcuserdata/fj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  285. package/ios/RNBugfender.xcodeproj/xcuserdata/rubenvot.xcuserdatad/xcschemes/xcschememanagement.plist +0 -19
package/package.json CHANGED
@@ -1,25 +1,159 @@
1
1
  {
2
2
  "name": "@bugfender/rn-bugfender",
3
- "version": "1.1.4",
3
+ "version": "2.0.0",
4
4
  "description": "React Native bindings for Bugfender SDK",
5
- "main": "bugfender.js",
6
- "directories": {
7
- "example": "example"
8
- },
5
+ "main": "lib/commonjs/index",
6
+ "module": "lib/module/index",
7
+ "types": "lib/typescript/index.d.ts",
8
+ "react-native": "src/index",
9
+ "source": "src/index",
10
+ "files": [
11
+ "README.md",
12
+ "src",
13
+ "lib",
14
+ "android",
15
+ "ios",
16
+ "cpp",
17
+ "RnBugfender.podspec",
18
+ "!lib/typescript/example",
19
+ "!android/build",
20
+ "!ios/build",
21
+ "!**/__tests__",
22
+ "!**/__fixtures__",
23
+ "!**/__mocks__"
24
+ ],
9
25
  "scripts": {
10
- "test": "echo \"Error: no test specified\" && exit 1"
11
- },
12
- "repository": {
13
- "type": "git",
14
- "url": "git+https://github.com/bugfender/rn-bugfender.git"
26
+ "test": "jest",
27
+ "typescript": "tsc --noEmit",
28
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
29
+ "prepare": "bob build",
30
+ "release": "release-it",
31
+ "example": "yarn --cwd example",
32
+ "pods": "cd example && pod-install --quiet",
33
+ "bootstrap": "yarn example && yarn && yarn pods"
15
34
  },
16
35
  "keywords": [
17
36
  "bugfender",
18
37
  "logging",
19
38
  "debug"
20
39
  ],
21
- "author": "Bugfender",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "git+https://github.com/bugfender/rn-bugfender.git",
43
+ "baseUrl": "https://github.com/bugfender/rn-bugfender.git"
44
+ },
45
+ "author": {
46
+ "name": "Bugfender"
47
+ },
22
48
  "license": "ISC",
49
+ "readmeFilename": "README.md",
50
+ "bugs": {
51
+ "url": "https://github.com/bugfender/rn-bugfender/issues"
52
+ },
23
53
  "homepage": "https://github.com/bugfender/rn-bugfender.git#readme",
24
- "dependencies": {}
54
+ "publishConfig": {
55
+ "registry": "https://registry.npmjs.org/"
56
+ },
57
+ "devDependencies": {
58
+ "@commitlint/config-conventional": "^11.0.0",
59
+ "@react-native-community/eslint-config": "^2.0.0",
60
+ "@release-it/conventional-changelog": "^2.0.0",
61
+ "@types/jest": "^26.0.0",
62
+ "@types/react": "^16.9.19",
63
+ "@types/react-native": "0.62.13",
64
+ "commitlint": "^11.0.0",
65
+ "eslint": "^7.2.0",
66
+ "eslint-config-prettier": "^7.0.0",
67
+ "eslint-plugin-prettier": "^3.1.3",
68
+ "husky": "^6.0.0",
69
+ "jest": "^26.0.1",
70
+ "pod-install": "^0.1.0",
71
+ "prettier": "^2.0.5",
72
+ "react": "16.13.1",
73
+ "react-native": "0.64.1",
74
+ "react-native-builder-bob": "^0.18.0",
75
+ "release-it": "^14.2.2",
76
+ "typescript": "^4.1.3"
77
+ },
78
+ "peerDependencies": {
79
+ "react": "*",
80
+ "react-native": "*"
81
+ },
82
+ "jest": {
83
+ "preset": "react-native",
84
+ "modulePathIgnorePatterns": [
85
+ "<rootDir>/example/node_modules",
86
+ "<rootDir>/lib/"
87
+ ]
88
+ },
89
+ "commitlint": {
90
+ "extends": [
91
+ "@commitlint/config-conventional"
92
+ ]
93
+ },
94
+ "release-it": {
95
+ "git": {
96
+ "commitMessage": "chore: release ${version}",
97
+ "tagName": "v${version}"
98
+ },
99
+ "npm": {
100
+ "publish": true
101
+ },
102
+ "github": {
103
+ "release": true
104
+ },
105
+ "plugins": {
106
+ "@release-it/conventional-changelog": {
107
+ "preset": "angular"
108
+ }
109
+ }
110
+ },
111
+ "eslintConfig": {
112
+ "root": true,
113
+ "extends": [
114
+ "@react-native-community",
115
+ "prettier"
116
+ ],
117
+ "rules": {
118
+ "prettier/prettier": [
119
+ "error",
120
+ {
121
+ "quoteProps": "consistent",
122
+ "singleQuote": true,
123
+ "tabWidth": 2,
124
+ "trailingComma": "es5",
125
+ "useTabs": false
126
+ }
127
+ ]
128
+ }
129
+ },
130
+ "eslintIgnore": [
131
+ "node_modules/",
132
+ "lib/"
133
+ ],
134
+ "prettier": {
135
+ "quoteProps": "consistent",
136
+ "singleQuote": true,
137
+ "tabWidth": 2,
138
+ "trailingComma": "es5",
139
+ "useTabs": false
140
+ },
141
+ "react-native-builder-bob": {
142
+ "source": "src",
143
+ "output": "lib",
144
+ "targets": [
145
+ "commonjs",
146
+ "module",
147
+ [
148
+ "typescript",
149
+ {
150
+ "project": "tsconfig.build.json"
151
+ }
152
+ ]
153
+ ]
154
+ },
155
+ "dependencies": {
156
+ "@bugfender/sdk": "^2.0.0",
157
+ "util": "^0.12.4"
158
+ }
25
159
  }
@@ -0,0 +1,360 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+ import type { ISDKOptions } from './types/sdk-options';
3
+ import type { UserFeedbackOptions, UserFeedbackResult } from './user-feedback';
4
+ import { DefaultUserFeedbackOptions } from './user-feedback';
5
+ import type { DeviceKeyValue } from './types/device';
6
+ import type { ILogEntry } from './types/log';
7
+ import { StringFormatter } from './string-formatter';
8
+ import { LogLevel } from "./types/log";
9
+ import { OverrideConsoleMethods } from "./override-console-methods";
10
+ import { PrintToConsole } from "./print-to-console";
11
+ import { SDKOptions } from "./sdk-options";
12
+
13
+ const LINKING_ERROR =
14
+ `The package '@bugfender/rn-bugfender' doesn't seem to be linked. Make sure: \n\n` +
15
+ Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) +
16
+ '- You rebuilt the app after installing the package\n' +
17
+ '- You are not using Expo managed workflow\n';
18
+
19
+ const RnBugfender = NativeModules.RnBugfender
20
+ ? NativeModules.RnBugfender
21
+ : new Proxy(
22
+ {},
23
+ {
24
+ get() {
25
+ throw new Error(LINKING_ERROR);
26
+ },
27
+ }
28
+ );
29
+
30
+ class BugfenderClass {
31
+ private stringFormatter = new StringFormatter();
32
+ private overrideConsoleMethods = new OverrideConsoleMethods(window);
33
+ private printToConsole = new PrintToConsole(global.console);
34
+ private sdkOptions: SDKOptions = new SDKOptions();
35
+ private initialized = false;
36
+
37
+ public async init(options: ISDKOptions): Promise<void> {
38
+ if (!this.initialized) {
39
+ const validatedOptions = this.sdkOptions.init(options);
40
+
41
+ // Needs to be executed prior initialization
42
+ if (typeof options.deviceName !== 'undefined') {
43
+ RnBugfender.overrideDeviceName(options.deviceName);
44
+ }
45
+
46
+ // Library initialization
47
+ Platform.OS === 'ios'
48
+ ? RnBugfender.activateLogger(validatedOptions.appKey)
49
+ : RnBugfender.init(validatedOptions.appKey, false);
50
+
51
+ if (typeof validatedOptions.apiURL !== 'undefined') {
52
+ RnBugfender.setApiUrl(validatedOptions.apiURL);
53
+ }
54
+
55
+ if (typeof validatedOptions.baseURL !== 'undefined') {
56
+ RnBugfender.setBaseUrl(validatedOptions.baseURL);
57
+ }
58
+
59
+ if (validatedOptions.enableLogcatLogging) {
60
+ RnBugfender.enableLogcatLogging();
61
+ }
62
+
63
+ if (validatedOptions.logUIEvents) {
64
+ RnBugfender.enableUIEventLogging();
65
+ }
66
+
67
+ if (validatedOptions.registerErrorHandler) {
68
+ RnBugfender.enableCrashReporting();
69
+ }
70
+
71
+ if (validatedOptions.overrideConsoleMethods) {
72
+ this.overrideConsoleMethods.init(this.stringFormatter);
73
+ }
74
+
75
+ this.printToConsole.init(validatedOptions.printToConsole ?? true);
76
+
77
+ this.initialized = true;
78
+ }
79
+ }
80
+
81
+ /**
82
+ * @returns Bugfender dashboard URL for the device
83
+ */
84
+ public getDeviceURL(): Promise<string> {
85
+ return RnBugfender.getDeviceUrl();
86
+ }
87
+
88
+ /**
89
+ * @returns Bugfender dashboard URL for the current session
90
+ */
91
+ public getSessionURL(): Promise<string> {
92
+ return RnBugfender.getSessionUrl();
93
+ }
94
+
95
+ /**
96
+ * Show a modal which asks for feedback. Once the user closes the modal or sends the feedback
97
+ * the returned promise resolves with the result.
98
+ *
99
+ * ```typescript
100
+ * Bugfender.getUserFeedback().then((result) => {
101
+ * if (result.isSent) {
102
+ * // User sent the feedback
103
+ * // `result.feedbackURL` contains the Bugfender feedback URL
104
+ * } else {
105
+ * // User closed the modal without sending the feedback
106
+ * }
107
+ * });
108
+ * ```
109
+ *
110
+ * @param options Options object to configure modal strings
111
+ * @returns Promise which resolves once the user closes the modal or sends the feedback
112
+ */
113
+ public async getUserFeedback(
114
+ options?: UserFeedbackOptions
115
+ ): Promise<UserFeedbackResult> {
116
+ return new Promise<UserFeedbackResult>((resolve) => {
117
+ options = {
118
+ ...new DefaultUserFeedbackOptions(),
119
+ ...(options ?? {}),
120
+ };
121
+
122
+ return RnBugfender.showUserFeedback(
123
+ options.title,
124
+ options.hint,
125
+ options.subjectPlaceholder,
126
+ options.feedbackPlaceholder,
127
+ options.submitLabel,
128
+ options.closeLabel
129
+ ).then(
130
+ (value: string) => {
131
+ resolve({
132
+ isSent: true,
133
+ feedbackURL: value,
134
+ });
135
+ },
136
+ (_: any) => {
137
+ resolve({
138
+ isSent: false,
139
+ });
140
+ }
141
+ );
142
+ });
143
+ }
144
+
145
+ /**
146
+ * @param obj A JavaScript value to output
147
+ * @param objs List of optional JavaScript values to output
148
+ */
149
+ public log(obj: unknown, ...objs: unknown[]): void;
150
+ /**
151
+ * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).
152
+ *
153
+ * @param msg Message with optional `%` placeholders
154
+ * @param subst Optional substitutions list
155
+ */
156
+ public log(msg: string, ...subst: unknown[]): void;
157
+ public log(...parameters: unknown[]): void {
158
+ this.printToConsole.log(...parameters);
159
+
160
+ let message = this.stringFormatter.format([...parameters]);
161
+ RnBugfender.debug('', message);
162
+ }
163
+
164
+ /**
165
+ * @param obj A JavaScript value to output
166
+ * @param objs List of optional JavaScript values to output
167
+ */
168
+ public warn(obj: unknown, ...objs: unknown[]): void;
169
+ /**
170
+ * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).
171
+ *
172
+ * @param msg Message with optional `%` placeholders
173
+ * @param subst Optional substitutions list
174
+ */
175
+ public warn(msg: string, ...subst: unknown[]): void;
176
+ public warn(...parameters: unknown[]): void {
177
+ this.printToConsole.warn(...parameters);
178
+
179
+ let message = this.stringFormatter.format([...parameters]);
180
+ RnBugfender.warning('', message);
181
+ }
182
+
183
+ /**
184
+ * @param obj A JavaScript value to output
185
+ * @param objs List of optional JavaScript values to output
186
+ */
187
+ public error(obj: unknown, ...objs: unknown[]): void;
188
+ /**
189
+ * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).
190
+ *
191
+ * @param msg Message with optional `%` placeholders
192
+ * @param subst Optional substitutions list
193
+ */
194
+ public error(msg: string, ...subst: unknown[]): void;
195
+ public error(...parameters: unknown[]): void {
196
+ this.printToConsole.error(...parameters);
197
+
198
+ let message = this.stringFormatter.format([...parameters]);
199
+ RnBugfender.error('', message);
200
+ }
201
+
202
+ /**
203
+ * @param obj A JavaScript value to output
204
+ * @param objs List of optional JavaScript values to output
205
+ */
206
+ public trace(obj: unknown, ...objs: unknown[]): void;
207
+ /**
208
+ * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).
209
+ *
210
+ * @param msg Message with optional `%` placeholders
211
+ * @param subst Optional substitutions list
212
+ */
213
+ public trace(msg: string, ...subst: unknown[]): void;
214
+ public trace(...parameters: unknown[]): void {
215
+ this.printToConsole.trace(...parameters);
216
+
217
+ let message = this.stringFormatter.format([...parameters]);
218
+ RnBugfender.trace('', message);
219
+ }
220
+
221
+ /**
222
+ * @param obj A JavaScript value to output
223
+ * @param objs List of optional JavaScript values to output
224
+ */
225
+ public info(obj: unknown, ...objs: unknown[]): void;
226
+ /**
227
+ * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).
228
+ *
229
+ * @param msg Message with optional `%` placeholders
230
+ * @param subst Optional substitutions list
231
+ */
232
+ public info(msg: string, ...subst: unknown[]): void;
233
+ public info(...parameters: unknown[]): void {
234
+ this.printToConsole.info(...parameters);
235
+
236
+ let message = this.stringFormatter.format([...parameters]);
237
+ RnBugfender.info('', message);
238
+ }
239
+
240
+ /**
241
+ * @param obj A JavaScript value to output
242
+ * @param objs List of optional JavaScript values to output
243
+ */
244
+ public fatal(obj: unknown, ...objs: unknown[]): void;
245
+ /**
246
+ * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).
247
+ *
248
+ * @param msg Message with optional `%` placeholders
249
+ * @param subst Optional substitutions list
250
+ */
251
+ public fatal(msg: string, ...subst: unknown[]): void;
252
+ public fatal(...parameters: unknown[]): void {
253
+ this.printToConsole.error(...parameters);
254
+
255
+ let message = this.stringFormatter.format([...parameters]);
256
+ RnBugfender.fatal('', message);
257
+ }
258
+
259
+ /**
260
+ * Remove a device associated key-value pair. [Learn more](https://bugfender.com/blog/associated-device-information/).
261
+ *
262
+ * @param key Key identifier
263
+ */
264
+ public removeDeviceKey(key: string): void {
265
+ RnBugfender.removeDeviceKey(key);
266
+ this.printToConsole.info(`Device key "${key}" removed`);
267
+ }
268
+
269
+ /**
270
+ * Use this method if you need more control over the data sent while logging. See `ILogEntry` interface reference to see all the accepted properties.
271
+ *
272
+ * @param log Log object that complies with `ILogEntry` interface.
273
+ */
274
+ public sendLog(log: ILogEntry): void {
275
+ this.printToConsole.printLog(log);
276
+
277
+ RnBugfender.log(
278
+ log.line ?? 0,
279
+ log.method ?? '',
280
+ log.file ?? '',
281
+ log.level ?? LogLevel.Debug,
282
+ log.tag ?? '',
283
+ log.text ?? ''
284
+ );
285
+ }
286
+
287
+ /**
288
+ * Send an issue.
289
+ *
290
+ * @param title - Title
291
+ * @param text - Text content
292
+ * @returns Bugfender dashboard URL for the issue.
293
+ */
294
+ public sendIssue(title: string, text: string): Promise<string> {
295
+ this.printToConsole.warn(`Issue: ${title}.\n${text}`);
296
+ return RnBugfender.sendIssue(title, text);
297
+ }
298
+
299
+ /**
300
+ * Send a crash report.
301
+ *
302
+ * @param title - Title
303
+ * @param text - Text content
304
+ * @returns Bugfender dashboard URL for the crash.
305
+ */
306
+ public sendCrash(title: string, text: string): Promise<string> {
307
+ this.printToConsole.error(`Crash: ${title}.\n${text}`);
308
+ return RnBugfender.sendCrash(title, text);
309
+ }
310
+
311
+ /**
312
+ * Send an user feedback.
313
+ *
314
+ * @param title - Title/Subject
315
+ * @param text - Feedback text
316
+ * @returns Bugfender dashboard URL for the feedback.
317
+ */
318
+ public sendUserFeedback(title: string, text: string): Promise<string> {
319
+ this.printToConsole.info(`User Feedback: ${title}.\n${text}`);
320
+ return RnBugfender.sendUserFeedback(title, text);
321
+ }
322
+
323
+ /**
324
+ * Set a device associated key-value pair. [Learn more](https://bugfender.com/blog/associated-device-information/).
325
+ *
326
+ * @param key Key identifier.
327
+ * @param value Value.
328
+ */
329
+ public setDeviceKey(key: string, value: DeviceKeyValue): void {
330
+ this.printToConsole.info(`Device key "${key}" set to "${value}"`);
331
+
332
+ if (typeof value === 'boolean') {
333
+ RnBugfender.setDeviceBoolean(key, value);
334
+ } else if (typeof value === 'string') {
335
+ RnBugfender.setDeviceString(key, value);
336
+ } else {
337
+ // typeof value === 'number'
338
+ if (Number.isInteger(value)) {
339
+ RnBugfender.setDeviceInteger(key, value);
340
+ } else {
341
+ RnBugfender.setDeviceFloat(key, value);
342
+ }
343
+ }
344
+ }
345
+
346
+ /**
347
+ * Synchronizes all logs and issues with the server once, regardless if this device is enabled or not.
348
+ *
349
+ * Logs and issues are synchronized only once. After that, the logs are again sent according to the enabled flag
350
+ * in the Bugfender Console.
351
+ */
352
+ public forceSendOnce(): void {
353
+ this.printToConsole.info(`Force send once`);
354
+ RnBugfender.forceSendOnce();
355
+ }
356
+ }
357
+
358
+ export {
359
+ BugfenderClass, RnBugfender
360
+ }
package/src/index.tsx ADDED
@@ -0,0 +1,7 @@
1
+ import { LogLevel } from './types/log';
2
+ import { SDKOptionsBuilder } from './types/sdk-options';
3
+ import { BugfenderClass } from './bugfender';
4
+
5
+ const Bugfender = new BugfenderClass();
6
+
7
+ export { Bugfender, LogLevel, SDKOptionsBuilder };
@@ -0,0 +1,5 @@
1
+ import { LogLevel } from './types/log';
2
+ import { SDKOptionsBuilder } from './types/sdk-options';
3
+ import { Bugfender } from '@bugfender/sdk';
4
+
5
+ export { Bugfender, LogLevel, SDKOptionsBuilder };
@@ -0,0 +1,53 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import {RnBugfender} from "./bugfender";
3
+ import type {StringFormatter} from "./string-formatter";
4
+
5
+ /**
6
+ * Overrides the `window.console` methods in order to execute the Bugfender equivalent logging
7
+ * methods while keeping the original browser functionality.
8
+ */
9
+ export class OverrideConsoleMethods {
10
+ constructor(
11
+ protected window: Window,
12
+ ) {
13
+ }
14
+
15
+ public init(stringFormatter: StringFormatter): void {
16
+
17
+ (this.window as any).console = function (console: Console) {
18
+ return {
19
+ ...console,
20
+ log: function (...parameters: unknown[]) {
21
+ console.log(...parameters);
22
+ let message = stringFormatter.format([...parameters]);
23
+ RnBugfender.debug('', message);
24
+ },
25
+ debug: function (...parameters: unknown[]) {
26
+ console.debug(...parameters);
27
+ let message = stringFormatter.format([...parameters]);
28
+ RnBugfender.debug('', message);
29
+ },
30
+ trace: function (...parameters: unknown[]) {
31
+ console.trace(...parameters);
32
+ let message = stringFormatter.format([...parameters]);
33
+ RnBugfender.trace('', message);
34
+ },
35
+ info: function (...parameters: unknown[]) {
36
+ console.info(...parameters);
37
+ let message = stringFormatter.format([...parameters]);
38
+ RnBugfender.info('', message);
39
+ },
40
+ warn: function (...parameters: unknown[]) {
41
+ console.warn(...parameters);
42
+ let message = stringFormatter.format([...parameters]);
43
+ RnBugfender.warning('', message);
44
+ },
45
+ error: function (...parameters: unknown[]) {
46
+ console.error(...parameters);
47
+ let message = stringFormatter.format([...parameters]);
48
+ RnBugfender.error('', message);
49
+ },
50
+ };
51
+ }((this.window as any).console);
52
+ }
53
+ }
@@ -0,0 +1,67 @@
1
+ import {format} from 'util';
2
+ import type {ILogEntry} from "./types/log";
3
+ import {LogLevel} from "./types/log";
4
+
5
+ export class PrintToConsole {
6
+ protected printToConsole: boolean = false;
7
+
8
+ constructor(
9
+ protected readonly console: Console,
10
+ ) {
11
+ }
12
+
13
+ public init(printToConsole: boolean): void {
14
+ this.printToConsole = printToConsole;
15
+ }
16
+
17
+ public error(...parameters: unknown[]): void {
18
+ if (this.printToConsole) {
19
+ this.console.error(...parameters);
20
+ }
21
+ }
22
+
23
+ public info(...parameters: unknown[]): void {
24
+ if (this.printToConsole) {
25
+ this.console.info(...parameters);
26
+ }
27
+ }
28
+
29
+ public log(...parameters: unknown[]): void {
30
+ if (this.printToConsole) {
31
+ this.console.log(...parameters);
32
+ }
33
+ }
34
+
35
+ public debug(...parameters: unknown[]): void {
36
+ if (this.printToConsole) {
37
+ this.console.debug(...parameters);
38
+ }
39
+ }
40
+
41
+ public trace(...parameters: unknown[]): void {
42
+ if (this.printToConsole) {
43
+ this.console.trace(...parameters);
44
+ }
45
+ }
46
+
47
+ public warn(...parameters: unknown[]): void {
48
+ if (this.printToConsole) {
49
+ this.console.warn(...parameters);
50
+ }
51
+ }
52
+
53
+ public printLog(log: ILogEntry): void {
54
+ if (this.printToConsole) {
55
+ // Log to browser console
56
+ // debug, warning, error, trace, info, fatal
57
+ const levelToMethod = ['log', 'warn', 'error', 'trace', 'info', 'error'];
58
+ const method = levelToMethod[log.level || LogLevel.Debug];
59
+ const tag = log.tag ? `[${log.tag}] ` : '';
60
+ const location = [log.file || '', log.method || '', log.line || ''].filter(p => p !== '').join(':');
61
+ const message = `${tag}${format(log.text)} ${location}`;
62
+
63
+ // @ts-ignore
64
+ this.console[method](message);
65
+ }
66
+ }
67
+ }