@react-native-firebase/crashlytics 23.6.0 → 23.8.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 (96) hide show
  1. package/dist/commonjs/handlers.js +175 -0
  2. package/dist/commonjs/handlers.js.map +1 -0
  3. package/dist/commonjs/index.js +38 -0
  4. package/dist/commonjs/index.js.map +1 -0
  5. package/dist/commonjs/modular.js +256 -0
  6. package/dist/commonjs/modular.js.map +1 -0
  7. package/dist/commonjs/namespaced.js +138 -0
  8. package/dist/commonjs/namespaced.js.map +1 -0
  9. package/dist/commonjs/package.json +1 -0
  10. package/dist/commonjs/types/crashlytics.js +47 -0
  11. package/dist/commonjs/types/crashlytics.js.map +1 -0
  12. package/dist/commonjs/version.js +9 -0
  13. package/dist/commonjs/version.js.map +1 -0
  14. package/{lib → dist/module}/handlers.js +39 -36
  15. package/dist/module/handlers.js.map +1 -0
  16. package/{ios/RNFBCrashlytics/RNFBCrashlyticsModule.h → dist/module/index.js} +10 -6
  17. package/dist/module/index.js.map +1 -0
  18. package/{lib/modular/index.js → dist/module/modular.js} +37 -43
  19. package/dist/module/modular.js.map +1 -0
  20. package/dist/module/namespaced.js +135 -0
  21. package/dist/module/namespaced.js.map +1 -0
  22. package/dist/module/package.json +1 -0
  23. package/dist/module/types/crashlytics.js +43 -0
  24. package/dist/module/types/crashlytics.js.map +1 -0
  25. package/dist/module/version.js +5 -0
  26. package/dist/module/version.js.map +1 -0
  27. package/dist/typescript/commonjs/lib/handlers.d.ts +28 -0
  28. package/dist/typescript/commonjs/lib/handlers.d.ts.map +1 -0
  29. package/dist/typescript/commonjs/lib/index.d.ts +5 -0
  30. package/dist/typescript/commonjs/lib/index.d.ts.map +1 -0
  31. package/{lib/modular/index.d.ts → dist/typescript/commonjs/lib/modular.d.ts} +37 -40
  32. package/dist/typescript/commonjs/lib/modular.d.ts.map +1 -0
  33. package/dist/typescript/commonjs/lib/namespaced.d.ts +12 -0
  34. package/dist/typescript/commonjs/lib/namespaced.d.ts.map +1 -0
  35. package/dist/typescript/commonjs/lib/types/crashlytics.d.ts +117 -0
  36. package/dist/typescript/commonjs/lib/types/crashlytics.d.ts.map +1 -0
  37. package/dist/typescript/commonjs/lib/version.d.ts +2 -0
  38. package/dist/typescript/commonjs/lib/version.d.ts.map +1 -0
  39. package/dist/typescript/commonjs/package.json +1 -0
  40. package/dist/typescript/module/lib/handlers.d.ts +28 -0
  41. package/dist/typescript/module/lib/handlers.d.ts.map +1 -0
  42. package/dist/typescript/module/lib/index.d.ts +5 -0
  43. package/dist/typescript/module/lib/index.d.ts.map +1 -0
  44. package/dist/typescript/module/lib/modular.d.ts +193 -0
  45. package/dist/typescript/module/lib/modular.d.ts.map +1 -0
  46. package/dist/typescript/module/lib/namespaced.d.ts +12 -0
  47. package/dist/typescript/module/lib/namespaced.d.ts.map +1 -0
  48. package/dist/typescript/module/lib/types/crashlytics.d.ts +117 -0
  49. package/dist/typescript/module/lib/types/crashlytics.d.ts.map +1 -0
  50. package/dist/typescript/module/lib/version.d.ts +2 -0
  51. package/dist/typescript/module/lib/version.d.ts.map +1 -0
  52. package/dist/typescript/module/package.json +1 -0
  53. package/lib/handlers.ts +196 -0
  54. package/{ios/RNFBCrashlytics/RNFBCrashlyticsNativeHelper.h → lib/index.ts} +8 -11
  55. package/lib/modular.ts +249 -0
  56. package/lib/{index.js → namespaced.ts} +51 -22
  57. package/lib/types/crashlytics.ts +159 -0
  58. package/lib/version.ts +2 -0
  59. package/package.json +60 -8
  60. package/tsconfig.json +21 -0
  61. package/CHANGELOG.md +0 -1132
  62. package/RNFBCrashlytics.podspec +0 -54
  63. package/android/.editorconfig +0 -10
  64. package/android/build.gradle +0 -102
  65. package/android/lint.xml +0 -5
  66. package/android/settings.gradle +0 -1
  67. package/android/src/main/AndroidManifest.xml +0 -15
  68. package/android/src/main/java/io/invertase/firebase/crashlytics/Constants.java +0 -29
  69. package/android/src/main/java/io/invertase/firebase/crashlytics/JavaScriptError.java +0 -28
  70. package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsInitProvider.java +0 -130
  71. package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsModule.java +0 -223
  72. package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsNativeHelper.java +0 -18
  73. package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsPackage.java +0 -41
  74. package/android/src/main/java/io/invertase/firebase/crashlytics/UnhandledPromiseRejection.java +0 -28
  75. package/app.plugin.js +0 -1
  76. package/ios/RNFBCrashlytics/RNFBCrashlyticsInitProvider.h +0 -33
  77. package/ios/RNFBCrashlytics/RNFBCrashlyticsInitProvider.m +0 -142
  78. package/ios/RNFBCrashlytics/RNFBCrashlyticsModule.m +0 -248
  79. package/ios/RNFBCrashlytics/RNFBCrashlyticsNativeHelper.m +0 -36
  80. package/ios/RNFBCrashlytics.xcodeproj/project.pbxproj +0 -359
  81. package/ios/RNFBCrashlytics.xcodeproj/xcshareddata/IDETemplateMacros.plist +0 -24
  82. package/ios_config.sh +0 -25
  83. package/lib/index.d.ts +0 -287
  84. package/lib/version.js +0 -2
  85. package/plugin/build/android/applyPlugin.d.ts +0 -6
  86. package/plugin/build/android/applyPlugin.js +0 -28
  87. package/plugin/build/android/buildscriptDependency.d.ts +0 -6
  88. package/plugin/build/android/buildscriptDependency.js +0 -29
  89. package/plugin/build/android/constants.d.ts +0 -3
  90. package/plugin/build/android/constants.js +0 -7
  91. package/plugin/build/android/index.d.ts +0 -3
  92. package/plugin/build/android/index.js +0 -7
  93. package/plugin/build/index.d.ts +0 -3
  94. package/plugin/build/index.js +0 -12
  95. package/plugin/tsconfig.tsbuildinfo +0 -1
  96. package/react-native.config.js +0 -35
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FirebaseCrashlyticsTypes = void 0;
7
+ /*
8
+ * Copyright (c) 2016-present Invertase Limited & Contributors
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this library except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ *
22
+ */
23
+ // ============ Module Interface ============
24
+ /**
25
+ * Crashlytics module instance - returned from firebase.crashlytics() or firebase.app().crashlytics()
26
+ */
27
+ // ============ Statics Interface ============
28
+ /**
29
+ * Static properties available on firebase.crashlytics
30
+ */
31
+ /**
32
+ * FirebaseApp type with crashlytics() method.
33
+ * @deprecated Import FirebaseApp from '@react-native-firebase/app' instead.
34
+ * The crashlytics() method is added via module augmentation.
35
+ */
36
+ // ============ Module Augmentation ============
37
+ /* eslint-disable @typescript-eslint/no-namespace */
38
+ /* eslint-enable @typescript-eslint/no-namespace */
39
+ // ============ Backwards Compatibility Namespace - to be removed with namespaced exports ============
40
+ /**
41
+ * @deprecated Use the exported types directly instead.
42
+ * FirebaseCrashlyticsTypes namespace is kept for backwards compatibility.
43
+ */
44
+ /* eslint-disable @typescript-eslint/no-namespace */
45
+ let FirebaseCrashlyticsTypes = exports.FirebaseCrashlyticsTypes = void 0;
46
+ /* eslint-enable @typescript-eslint/no-namespace */
47
+ //# sourceMappingURL=crashlytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FirebaseCrashlyticsTypes","exports"],"sourceRoot":"../../../lib","sources":["types/crashlytics.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAEA;AACA;AACA;AA4FA;AAEA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AAGA;AAEA;AAWA;AACA;AAGA;AACA;AACA;AACA;AACA;AAAA,IACiBA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA;AAKzC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.version = void 0;
7
+ // Generated by genversion.
8
+ const version = exports.version = '23.8.0';
9
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["version","exports"],"sourceRoot":"../../lib","sources":["version.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,QAAQ","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  /*
2
4
  * Copyright (c) 2016-present Invertase Limited & Contributors
3
5
  *
@@ -15,21 +17,18 @@
15
17
  *
16
18
  */
17
19
 
18
- import { firebase } from '@react-native-firebase/app';
20
+ import { firebase } from "./index.js";
19
21
  import { isError, once } from '@react-native-firebase/app/lib/common';
22
+ // @ts-ignore - No declaration file for promise/setimmediate/rejection-tracking
20
23
  import tracking from 'promise/setimmediate/rejection-tracking';
21
24
  import StackTrace from 'stacktrace-js';
22
-
23
25
  export const FATAL_FLAG = 'com.firebase.crashlytics.reactnative.fatal';
24
-
25
26
  export function createNativeErrorObj(error, stackFrames, isUnhandledRejection, jsErrorName) {
26
- const nativeObj = {};
27
-
28
- nativeObj.message = `${error.message}`;
29
- nativeObj.isUnhandledRejection = isUnhandledRejection;
30
-
31
- nativeObj.frames = [];
32
-
27
+ const nativeObj = {
28
+ message: `${error.message}`,
29
+ isUnhandledRejection,
30
+ frames: []
31
+ };
33
32
  if (jsErrorName) {
34
33
  // Option to fix crashlytics display and alerting. You can add an error name to the recordError function
35
34
  nativeObj.frames.push({
@@ -37,12 +36,19 @@ export function createNativeErrorObj(error, stackFrames, isUnhandledRejection, j
37
36
  line: 0,
38
37
  col: 0,
39
38
  fn: '<unknown>',
40
- file: jsErrorName,
39
+ file: jsErrorName
41
40
  });
42
41
  }
43
-
44
42
  for (let i = 0; i < stackFrames.length; i++) {
45
- const { columnNumber, lineNumber, fileName, functionName, source } = stackFrames[i];
43
+ const frame = stackFrames[i];
44
+ if (!frame) continue;
45
+ const {
46
+ columnNumber,
47
+ lineNumber,
48
+ fileName,
49
+ functionName,
50
+ source
51
+ } = frame;
46
52
  let fileNameParsed = '<unknown>';
47
53
  if (fileName) {
48
54
  const subStrLen = fileName.indexOf('?');
@@ -52,28 +58,23 @@ export function createNativeErrorObj(error, stackFrames, isUnhandledRejection, j
52
58
  fileNameParsed = fileName.substring(0, subStrLen);
53
59
  }
54
60
  }
55
-
56
61
  nativeObj.frames.push({
57
- src: source,
62
+ src: source || '<unknown>',
58
63
  line: lineNumber || 0,
59
64
  col: columnNumber || 0,
60
65
  fn: functionName || '<unknown>',
61
- file: `${fileNameParsed}:${lineNumber || 0}:${columnNumber || 0}`,
66
+ file: `${fileNameParsed}:${lineNumber || 0}:${columnNumber || 0}`
62
67
  });
63
68
  }
64
-
65
69
  return nativeObj;
66
70
  }
67
-
68
71
  export const setGlobalErrorHandler = once(nativeModule => {
69
72
  const originalHandler = ErrorUtils.getGlobalHandler();
70
-
71
73
  async function handler(error, fatal) {
72
74
  // If collection is disabled, just forward to the original handler
73
75
  if (!nativeModule.isCrashlyticsCollectionEnabled) {
74
76
  return originalHandler(error, fatal);
75
77
  }
76
-
77
78
  if (!isError(error)) {
78
79
  await nativeModule.logPromise(`Unknown Error: ${error}`);
79
80
  return originalHandler(error, fatal);
@@ -82,22 +83,23 @@ export const setGlobalErrorHandler = once(nativeModule => {
82
83
  // If we are supposed to log javascript-level stack traces, convert this error and log it
83
84
  if (nativeModule.isErrorGenerationOnJSCrashEnabled) {
84
85
  try {
85
- const stackFrames = await StackTrace.fromError(error, { offline: true });
86
+ const stackFrames = await StackTrace.fromError(error, {
87
+ offline: true
88
+ });
86
89
  // The backend conversion scan converts the closest event to this timestamp without going over
87
90
  // from the timestamp here. So the timestamp *must* be greater then the event log time.
88
91
  //
89
92
  // For that reason we always round up (`.ceil`) and add a second in case of latency
90
93
  //
91
94
  // Time is specified as seconds since start of Unix epoch as a baseline, as a string
92
- const fatalTime = Math.ceil(new Date() / 1000) + 1 + '';
95
+ const fatalTime = Math.ceil(new Date().getTime() / 1000) + 1 + '';
93
96
 
94
97
  // Flag the Crashlytics backend that we have a fatal error, they will transform it
95
98
  await nativeModule.setAttribute(FATAL_FLAG, fatalTime);
96
99
 
97
100
  // remember our current deprecation warning state in case users
98
101
  // have set it to non-default
99
- const currentDeprecationWarningToggle =
100
- globalThis.RNFB_SILENCE_MODULAR_DEPRECATION_WARNINGS;
102
+ const currentDeprecationWarningToggle = globalThis.RNFB_SILENCE_MODULAR_DEPRECATION_WARNINGS;
101
103
 
102
104
  // Notify analytics, if it exists - throws error if not
103
105
  try {
@@ -107,13 +109,14 @@ export const setGlobalErrorHandler = once(nativeModule => {
107
109
  // Did not matter if I did named imports above or dynamic require here.
108
110
  // So temporarily reverting and silencing warnings instead
109
111
  globalThis.RNFB_SILENCE_MODULAR_DEPRECATION_WARNINGS = true;
110
- await firebase.app().analytics().logEvent(
111
- 'app_exception', // 'app_exception' is reserved but we make an exception for JS->fatal transforms
112
- {
113
- fatal: 1, // as in firebase-android-sdk
114
- timestamp: fatalTime,
115
- },
116
- );
112
+ // @ts-ignore - analytics types not available in crashlytics
113
+ await firebase.app().analytics().logEvent('app_exception',
114
+ // 'app_exception' is reserved but we make an exception for JS->fatal transforms
115
+ {
116
+ fatal: 1,
117
+ // as in firebase-android-sdk
118
+ timestamp: fatalTime
119
+ });
117
120
  } catch (_) {
118
121
  // This just means analytics was not present, so we could not log the analytics event
119
122
  // console.log('error logging analytics app_exception: ' + e);
@@ -138,17 +141,17 @@ export const setGlobalErrorHandler = once(nativeModule => {
138
141
  return originalHandler(error, fatal);
139
142
  }
140
143
  }
141
-
142
144
  ErrorUtils.setGlobalHandler(handler);
143
145
  return handler;
144
146
  });
145
-
146
147
  export const setOnUnhandledPromiseRejectionHandler = once(nativeModule => {
147
148
  async function onUnhandled(_id, error) {
148
149
  if (!__DEV__) {
149
150
  // TODO(salakar): Option to disable
150
151
  try {
151
- const stackFrames = await StackTrace.fromError(error, { offline: true });
152
+ const stackFrames = await StackTrace.fromError(error, {
153
+ offline: true
154
+ });
152
155
  await nativeModule.recordErrorPromise(createNativeErrorObj(error, stackFrames, true));
153
156
  } catch (_) {
154
157
  // do nothing
@@ -157,8 +160,8 @@ export const setOnUnhandledPromiseRejectionHandler = once(nativeModule => {
157
160
  }
158
161
  tracking.enable({
159
162
  allRejections: true,
160
- onUnhandled,
163
+ onUnhandled
161
164
  });
162
-
163
165
  return onUnhandled;
164
166
  });
167
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["firebase","isError","once","tracking","StackTrace","FATAL_FLAG","createNativeErrorObj","error","stackFrames","isUnhandledRejection","jsErrorName","nativeObj","message","frames","push","src","line","col","fn","file","i","length","frame","columnNumber","lineNumber","fileName","functionName","source","fileNameParsed","subStrLen","indexOf","substring","setGlobalErrorHandler","nativeModule","originalHandler","ErrorUtils","getGlobalHandler","handler","fatal","isCrashlyticsCollectionEnabled","logPromise","isErrorGenerationOnJSCrashEnabled","fromError","offline","fatalTime","Math","ceil","Date","getTime","setAttribute","currentDeprecationWarningToggle","globalThis","RNFB_SILENCE_MODULAR_DEPRECATION_WARNINGS","app","analytics","logEvent","timestamp","_","isCrashlyticsJavascriptExceptionHandlerChainingEnabled","recordErrorPromise","crashWithStackPromise","setGlobalHandler","setOnUnhandledPromiseRejectionHandler","onUnhandled","_id","__DEV__","enable","allRejections"],"sourceRoot":"../../lib","sources":["handlers.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,6 @@
1
- /**
1
+ "use strict";
2
+
3
+ /*
2
4
  * Copyright (c) 2016-present Invertase Limited & Contributors
3
5
  *
4
6
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,10 +17,12 @@
15
17
  *
16
18
  */
17
19
 
18
- #import <Foundation/Foundation.h>
19
-
20
- #import <React/RCTBridgeModule.h>
20
+ // Export types from types/crashlytics
21
21
 
22
- @interface RNFBCrashlyticsModule : NSObject <RCTBridgeModule>
22
+ // Export modular API functions
23
+ export * from "./modular.js";
23
24
 
24
- @end
25
+ // Export namespaced API
26
+ export * from "./namespaced.js";
27
+ export { default } from "./namespaced.js";
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAGA;AACA,cAAc,cAAW;;AAEzB;AACA,cAAc,iBAAc;AAC5B,SAASA,OAAO,QAAQ,iBAAc","ignoreList":[]}
@@ -1,19 +1,13 @@
1
+ "use strict";
2
+
1
3
  import { getApp } from '@react-native-firebase/app';
2
4
  import { MODULAR_DEPRECATION_ARG } from '@react-native-firebase/app/lib/common';
3
-
4
- /**
5
- * @typedef {import('@firebase/app').FirebaseApp} FirebaseApp
6
- * @typedef {import('..').FirebaseCrashlyticsTypes.Module} FirebaseCrashlytics
7
- */
8
-
9
5
  /**
10
6
  * Returns Crashlytics instance.
11
7
  * #### Example
12
8
  * ```js
13
9
  * const crashlytics = getCrashlytics();
14
10
  * ```
15
- * @param {FirebaseApp} app
16
- * @returns {FirebaseCrashlytics}
17
11
  */
18
12
  export function getCrashlytics() {
19
13
  return getApp().crashlytics();
@@ -34,10 +28,11 @@ export function getCrashlytics() {
34
28
  *
35
29
  * checkReports();
36
30
  * ```
37
- * @param {FirebaseCrashlytics} crashlytics
38
- * @returns {Promise<boolean>}
31
+ * @param crashlytics A crashlytics instance.
32
+ * @returns Promise that resolves to a boolean indicating if there are unsent reports.
39
33
  */
40
34
  export function checkForUnsentReports(crashlytics) {
35
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
41
36
  return crashlytics.checkForUnsentReports.call(crashlytics, MODULAR_DEPRECATION_ARG);
42
37
  }
43
38
 
@@ -51,10 +46,10 @@ export function checkForUnsentReports(crashlytics) {
51
46
  * const crashlytics = getCrashlytics();
52
47
  * deleteUnsentReports(crashlytics);
53
48
  * ```
54
- * @param {FirebaseCrashlytics} crashlytics
55
- * @returns {Promise<void>}
49
+ * @param crashlytics A crashlytics instance.
56
50
  */
57
51
  export function deleteUnsentReports(crashlytics) {
52
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
58
53
  return crashlytics.deleteUnsentReports.call(crashlytics, MODULAR_DEPRECATION_ARG);
59
54
  }
60
55
 
@@ -72,10 +67,11 @@ export function deleteUnsentReports(crashlytics) {
72
67
  *
73
68
  * didCrashPreviously();
74
69
  * ```
75
- * @param {FirebaseCrashlytics} crashlytics
76
- * @returns {Promise<boolean>}
70
+ * @param crashlytics A crashlytics instance.
71
+ * @returns Promise that resolves to a boolean indicating if the app crashed previously.
77
72
  */
78
73
  export function didCrashOnPreviousExecution(crashlytics) {
74
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
79
75
  return crashlytics.didCrashOnPreviousExecution.call(crashlytics, MODULAR_DEPRECATION_ARG);
80
76
  }
81
77
 
@@ -90,10 +86,10 @@ export function didCrashOnPreviousExecution(crashlytics) {
90
86
  * const crashlytics = getCrashlytics();
91
87
  * crash(crashlytics);
92
88
  * ```
93
- * @param {FirebaseCrashlytics} crashlytics
94
- * @returns {void}
89
+ * @param crashlytics A crashlytics instance.
95
90
  */
96
91
  export function crash(crashlytics) {
92
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
97
93
  return crashlytics.crash.call(crashlytics, MODULAR_DEPRECATION_ARG);
98
94
  }
99
95
 
@@ -107,11 +103,11 @@ export function crash(crashlytics) {
107
103
  * log(crashlytics, 'Testing a crash');
108
104
  * crash(crashlytics);
109
105
  * ```
110
- * @param {FirebaseCrashlytics} crashlytics
111
- * @param {string} message
112
- * @returns {void}
106
+ * @param crashlytics A crashlytics instance.
107
+ * @param message The message to log.
113
108
  */
114
109
  export function log(crashlytics, message) {
110
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
115
111
  return crashlytics.log.call(crashlytics, message, MODULAR_DEPRECATION_ARG);
116
112
  }
117
113
 
@@ -131,12 +127,12 @@ export function log(crashlytics, message) {
131
127
  * new Error('An error was caught')
132
128
  * );
133
129
  * ```
134
- * @param {FirebaseCrashlytics} crashlytics
135
- * @param {Error} error
136
- * @param {string | undefined} jsErrorName
137
- * @returns {void}
130
+ * @param crashlytics A crashlytics instance.
131
+ * @param error Expects an instance of Error; e.g. classes that extend Error will also be supported.
132
+ * @param jsErrorName Optional string containing Javascript error name
138
133
  */
139
134
  export function recordError(crashlytics, error, jsErrorName) {
135
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
140
136
  return crashlytics.recordError.call(crashlytics, error, jsErrorName, MODULAR_DEPRECATION_ARG);
141
137
  }
142
138
 
@@ -150,10 +146,10 @@ export function recordError(crashlytics, error, jsErrorName) {
150
146
  * const crashlytics = getCrashlytics();
151
147
  * sendUnsentReports(crashlytics);
152
148
  * ```
153
- * @param {FirebaseCrashlytics} crashlytics
154
- * @returns {void}
149
+ * @param crashlytics A crashlytics instance.
155
150
  */
156
151
  export function sendUnsentReports(crashlytics) {
152
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
157
153
  return crashlytics.sendUnsentReports.call(crashlytics, MODULAR_DEPRECATION_ARG);
158
154
  }
159
155
 
@@ -176,11 +172,11 @@ export function sendUnsentReports(crashlytics) {
176
172
  * auth.currentUser.uid
177
173
  * );
178
174
  * ```
179
- * @param {FirebaseCrashlytics} crashlytics
180
- * @param {string} userId
181
- * @returns {Promise<null>}
175
+ * @param crashlytics A crashlytics instance.
176
+ * @param userId An arbitrary string that ties an end-user to a record in your system e.g. a database record id.
182
177
  */
183
178
  export function setUserId(crashlytics, userId) {
179
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
184
180
  return crashlytics.setUserId.call(crashlytics, userId, MODULAR_DEPRECATION_ARG);
185
181
  }
186
182
 
@@ -193,12 +189,12 @@ export function setUserId(crashlytics, userId) {
193
189
  * const crashlytics = getCrashlytics();
194
190
  * await setAttribute(crashlytics, 'role', 'admin');
195
191
  * ```
196
- * @param {FirebaseCrashlytics} crashlytics
197
- * @param {string} name
198
- * @param {string} value
199
- * @returns {Promise<null>}
192
+ * @param crashlytics A crashlytics instance.
193
+ * @param name The name of the attribute to set.
194
+ * @param value A string value for the given attribute.
200
195
  */
201
196
  export function setAttribute(crashlytics, name, value) {
197
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
202
198
  return crashlytics.setAttribute.call(crashlytics, name, value, MODULAR_DEPRECATION_ARG);
203
199
  }
204
200
 
@@ -214,11 +210,11 @@ export function setAttribute(crashlytics, name, value) {
214
210
  * followers: '13',
215
211
  * });
216
212
  * ```
217
- * @param {FirebaseCrashlytics} crashlytics
218
- * @param {{ [key: string]: string }} attributes
219
- * @returns {Promise<null>}
213
+ * @param crashlytics A crashlytics instance.
214
+ * @param attributes An object of key/value attribute name and values.
220
215
  */
221
216
  export function setAttributes(crashlytics, attributes) {
217
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
222
218
  return crashlytics.setAttributes.call(crashlytics, attributes, MODULAR_DEPRECATION_ARG);
223
219
  }
224
220
 
@@ -234,14 +230,12 @@ export function setAttributes(crashlytics, attributes) {
234
230
  * // Disable crash reporting
235
231
  * await setCrashlyticsCollectionEnabled(crashlytics, false);
236
232
  * ```
237
- * @param {FirebaseCrashlytics} crashlytics
238
- * @param {boolean} enabled
239
- * @returns {Promise<null>}
233
+ * @param crashlytics A crashlytics instance.
234
+ * @param enabled A boolean value representing whether to enable Crashlytics error collection.
240
235
  */
241
236
  export function setCrashlyticsCollectionEnabled(crashlytics, enabled) {
242
- return crashlytics.setCrashlyticsCollectionEnabled.call(
243
- crashlytics,
244
- enabled,
245
- MODULAR_DEPRECATION_ARG,
246
- );
237
+ return crashlytics.setCrashlyticsCollectionEnabled.call(crashlytics, enabled,
238
+ // @ts-ignore - MODULAR_DEPRECATION_ARG is not defined in the global scope
239
+ MODULAR_DEPRECATION_ARG);
247
240
  }
241
+ //# sourceMappingURL=modular.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getApp","MODULAR_DEPRECATION_ARG","getCrashlytics","crashlytics","checkForUnsentReports","call","deleteUnsentReports","didCrashOnPreviousExecution","crash","log","message","recordError","error","jsErrorName","sendUnsentReports","setUserId","userId","setAttribute","name","value","setAttributes","attributes","setCrashlyticsCollectionEnabled","enabled"],"sourceRoot":"../../lib","sources":["modular.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,4BAA4B;AACnD,SAASC,uBAAuB,QAAQ,uCAAuC;AAG/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAA,EAAgB;EAC5C,OAAOF,MAAM,CAAC,CAAC,CAACG,WAAW,CAAC,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACD,WAAwB,EAAoB;EAChF;EACA,OAAOA,WAAW,CAACC,qBAAqB,CAACC,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AACrF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,mBAAmBA,CAACH,WAAwB,EAAiB;EAC3E;EACA,OAAOA,WAAW,CAACG,mBAAmB,CAACD,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,2BAA2BA,CAACJ,WAAwB,EAAoB;EACtF;EACA,OAAOA,WAAW,CAACI,2BAA2B,CAACF,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AAC3F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,KAAKA,CAACL,WAAwB,EAAQ;EACpD;EACA,OAAOA,WAAW,CAACK,KAAK,CAACH,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AACrE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,GAAGA,CAACN,WAAwB,EAAEO,OAAe,EAAQ;EACnE;EACA,OAAOP,WAAW,CAACM,GAAG,CAACJ,IAAI,CAACF,WAAW,EAAEO,OAAO,EAAET,uBAAuB,CAAC;AAC5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASU,WAAWA,CAACR,WAAwB,EAAES,KAAY,EAAEC,WAAoB,EAAQ;EAC9F;EACA,OAAOV,WAAW,CAACQ,WAAW,CAACN,IAAI,CAACF,WAAW,EAAES,KAAK,EAAEC,WAAW,EAAEZ,uBAAuB,CAAC;AAC/F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASa,iBAAiBA,CAACX,WAAwB,EAAQ;EAChE;EACA,OAAOA,WAAW,CAACW,iBAAiB,CAACT,IAAI,CAACF,WAAW,EAAEF,uBAAuB,CAAC;AACjF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASc,SAASA,CAACZ,WAAwB,EAAEa,MAAc,EAAiB;EACjF;EACA,OAAOb,WAAW,CAACY,SAAS,CAACV,IAAI,CAACF,WAAW,EAAEa,MAAM,EAAEf,uBAAuB,CAAC;AACjF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASgB,YAAYA,CAACd,WAAwB,EAAEe,IAAY,EAAEC,KAAa,EAAiB;EACjG;EACA,OAAOhB,WAAW,CAACc,YAAY,CAACZ,IAAI,CAACF,WAAW,EAAEe,IAAI,EAAEC,KAAK,EAAElB,uBAAuB,CAAC;AACzF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASmB,aAAaA,CAC3BjB,WAAwB,EACxBkB,UAAqC,EACtB;EACf;EACA,OAAOlB,WAAW,CAACiB,aAAa,CAACf,IAAI,CAACF,WAAW,EAAEkB,UAAU,EAAEpB,uBAAuB,CAAC;AACzF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASqB,+BAA+BA,CAC7CnB,WAAwB,EACxBoB,OAAgB,EACD;EACf,OAAOpB,WAAW,CAACmB,+BAA+B,CAACjB,IAAI,CACrDF,WAAW,EACXoB,OAAO;EACP;EACAtB,uBACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable no-console */
4
+ /*
5
+ * Copyright (c) 2016-present Invertase Limited & Contributors
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this library except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ */
20
+
21
+ import { getApp } from '@react-native-firebase/app';
22
+ import { isBoolean, isError, isObject, isString, isOther, MODULAR_DEPRECATION_ARG } from '@react-native-firebase/app/lib/common';
23
+ import { createModuleNamespace, FirebaseModule, getFirebaseRoot } from '@react-native-firebase/app/lib/internal';
24
+ import StackTrace from 'stacktrace-js';
25
+ import { createNativeErrorObj, setGlobalErrorHandler, setOnUnhandledPromiseRejectionHandler } from "./handlers.js";
26
+ import { version } from "./version.js";
27
+ const statics = {};
28
+ const namespace = 'crashlytics';
29
+ const nativeModuleName = 'RNFBCrashlyticsModule';
30
+ class FirebaseCrashlyticsModule extends FirebaseModule {
31
+ constructor(app, config, customUrlOrRegion) {
32
+ super(app, config, customUrlOrRegion);
33
+ setGlobalErrorHandler(this.native);
34
+ setOnUnhandledPromiseRejectionHandler(this.native);
35
+ this._isCrashlyticsCollectionEnabled = this.native.isCrashlyticsCollectionEnabled;
36
+ }
37
+ get isCrashlyticsCollectionEnabled() {
38
+ // Purposefully did not deprecate this as I think it should remain a property rather than a method.
39
+ return this._isCrashlyticsCollectionEnabled;
40
+ }
41
+ checkForUnsentReports() {
42
+ if (this.isCrashlyticsCollectionEnabled) {
43
+ throw new Error("firebase.crashlytics().setCrashlyticsCollectionEnabled(*) has been set to 'true', all reports are automatically sent.");
44
+ }
45
+ return this.native.checkForUnsentReports();
46
+ }
47
+ crash() {
48
+ this.native.crash();
49
+ }
50
+ async deleteUnsentReports() {
51
+ await this.native.deleteUnsentReports();
52
+ }
53
+ didCrashOnPreviousExecution() {
54
+ return this.native.didCrashOnPreviousExecution();
55
+ }
56
+ log(message) {
57
+ this.native.log(`${message}`);
58
+ }
59
+ setAttribute(name, value) {
60
+ if (!isString(name)) {
61
+ throw new Error('firebase.crashlytics().setAttribute(*, _): The supplied property name must be a string.');
62
+ }
63
+ if (!isString(value)) {
64
+ throw new Error('firebase.crashlytics().setAttribute(_, *): The supplied property value must be a string value.');
65
+ }
66
+ return this.native.setAttribute(name, value);
67
+ }
68
+ setAttributes(object) {
69
+ if (!isObject(object)) {
70
+ throw new Error('firebase.crashlytics().setAttributes(*): The supplied arg must be an object of key value strings.');
71
+ }
72
+ return this.native.setAttributes(object);
73
+ }
74
+ setUserId(userId) {
75
+ if (!isString(userId)) {
76
+ throw new Error('firebase.crashlytics().setUserId(*): The supplied userId must be a string value.');
77
+ }
78
+ return this.native.setUserId(userId);
79
+ }
80
+ recordError(error, jsErrorName) {
81
+ if (isError(error)) {
82
+ StackTrace.fromError(error, {
83
+ offline: true
84
+ }).then(stackFrames => {
85
+ this.native.recordError(createNativeErrorObj(error, stackFrames, false, jsErrorName));
86
+ });
87
+ } else {
88
+ console.warn('firebase.crashlytics().recordError(*) expects an instance of Error. Non Errors will be ignored.');
89
+ }
90
+ }
91
+ sendUnsentReports() {
92
+ if (this.isCrashlyticsCollectionEnabled) {
93
+ this.native.sendUnsentReports();
94
+ }
95
+ }
96
+ setCrashlyticsCollectionEnabled(enabled) {
97
+ if (!isBoolean(enabled)) {
98
+ throw new Error("firebase.crashlytics().setCrashlyticsCollectionEnabled(*) 'enabled' must be a boolean.");
99
+ }
100
+ this._isCrashlyticsCollectionEnabled = enabled;
101
+ return this.native.setCrashlyticsCollectionEnabled(enabled);
102
+ }
103
+ }
104
+
105
+ // import { SDK_VERSION } from '@react-native-firebase/crashlytics';
106
+ export const SDK_VERSION = version;
107
+ const crashlyticsNamespace = createModuleNamespace({
108
+ statics,
109
+ version,
110
+ namespace,
111
+ nativeModuleName,
112
+ nativeEvents: false,
113
+ hasMultiAppSupport: false,
114
+ hasCustomUrlOrRegionSupport: false,
115
+ ModuleClass: FirebaseCrashlyticsModule
116
+ });
117
+ // import crashlytics from '@react-native-firebase/crashlytics';
118
+ // crashlytics().X(...);
119
+ export default crashlyticsNamespace;
120
+
121
+ // import crashlytics, { firebase } from '@react-native-firebase/crashlytics';
122
+ // crashlytics().X(...);
123
+ // firebase.crashlytics().X(...);
124
+ export const firebase = getFirebaseRoot();
125
+
126
+ // Register the interop module for non-native platforms.
127
+ // Note: This package doesn't have a web fallback module like functions does
128
+ // setReactNativeModule(nativeModuleName, fallBackModule);
129
+
130
+ // This will throw with 'Default App Not initialized' if the default app is not configured.
131
+ if (!isOther) {
132
+ // @ts-ignore - Extra arg used by deprecation proxy to detect namespaced calls
133
+ firebase.crashlytics.call(null, getApp(), MODULAR_DEPRECATION_ARG);
134
+ }
135
+ //# sourceMappingURL=namespaced.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getApp","isBoolean","isError","isObject","isString","isOther","MODULAR_DEPRECATION_ARG","createModuleNamespace","FirebaseModule","getFirebaseRoot","StackTrace","createNativeErrorObj","setGlobalErrorHandler","setOnUnhandledPromiseRejectionHandler","version","statics","namespace","nativeModuleName","FirebaseCrashlyticsModule","constructor","app","config","customUrlOrRegion","native","_isCrashlyticsCollectionEnabled","isCrashlyticsCollectionEnabled","checkForUnsentReports","Error","crash","deleteUnsentReports","didCrashOnPreviousExecution","log","message","setAttribute","name","value","setAttributes","object","setUserId","userId","recordError","error","jsErrorName","fromError","offline","then","stackFrames","console","warn","sendUnsentReports","setCrashlyticsCollectionEnabled","enabled","SDK_VERSION","crashlyticsNamespace","nativeEvents","hasMultiAppSupport","hasCustomUrlOrRegionSupport","ModuleClass","firebase","crashlytics","call"],"sourceRoot":"../../lib","sources":["namespaced.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ /*
4
+ * Copyright (c) 2016-present Invertase Limited & Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this library except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+ // ============ Module Interface ============
20
+ /**
21
+ * Crashlytics module instance - returned from firebase.crashlytics() or firebase.app().crashlytics()
22
+ */
23
+ // ============ Statics Interface ============
24
+ /**
25
+ * Static properties available on firebase.crashlytics
26
+ */
27
+ /**
28
+ * FirebaseApp type with crashlytics() method.
29
+ * @deprecated Import FirebaseApp from '@react-native-firebase/app' instead.
30
+ * The crashlytics() method is added via module augmentation.
31
+ */
32
+ // ============ Module Augmentation ============
33
+ /* eslint-disable @typescript-eslint/no-namespace */
34
+ /* eslint-enable @typescript-eslint/no-namespace */
35
+ // ============ Backwards Compatibility Namespace - to be removed with namespaced exports ============
36
+ /**
37
+ * @deprecated Use the exported types directly instead.
38
+ * FirebaseCrashlyticsTypes namespace is kept for backwards compatibility.
39
+ */
40
+ /* eslint-disable @typescript-eslint/no-namespace */
41
+ export let FirebaseCrashlyticsTypes;
42
+ /* eslint-enable @typescript-eslint/no-namespace */
43
+ //# sourceMappingURL=crashlytics.js.map