@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.
- package/dist/commonjs/handlers.js +175 -0
- package/dist/commonjs/handlers.js.map +1 -0
- package/dist/commonjs/index.js +38 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/modular.js +256 -0
- package/dist/commonjs/modular.js.map +1 -0
- package/dist/commonjs/namespaced.js +138 -0
- package/dist/commonjs/namespaced.js.map +1 -0
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/types/crashlytics.js +47 -0
- package/dist/commonjs/types/crashlytics.js.map +1 -0
- package/dist/commonjs/version.js +9 -0
- package/dist/commonjs/version.js.map +1 -0
- package/{lib → dist/module}/handlers.js +39 -36
- package/dist/module/handlers.js.map +1 -0
- package/{ios/RNFBCrashlytics/RNFBCrashlyticsModule.h → dist/module/index.js} +10 -6
- package/dist/module/index.js.map +1 -0
- package/{lib/modular/index.js → dist/module/modular.js} +37 -43
- package/dist/module/modular.js.map +1 -0
- package/dist/module/namespaced.js +135 -0
- package/dist/module/namespaced.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/types/crashlytics.js +43 -0
- package/dist/module/types/crashlytics.js.map +1 -0
- package/dist/module/version.js +5 -0
- package/dist/module/version.js.map +1 -0
- package/dist/typescript/commonjs/lib/handlers.d.ts +28 -0
- package/dist/typescript/commonjs/lib/handlers.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/index.d.ts +5 -0
- package/dist/typescript/commonjs/lib/index.d.ts.map +1 -0
- package/{lib/modular/index.d.ts → dist/typescript/commonjs/lib/modular.d.ts} +37 -40
- package/dist/typescript/commonjs/lib/modular.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts +12 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/types/crashlytics.d.ts +117 -0
- package/dist/typescript/commonjs/lib/types/crashlytics.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/version.d.ts +2 -0
- package/dist/typescript/commonjs/lib/version.d.ts.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/module/lib/handlers.d.ts +28 -0
- package/dist/typescript/module/lib/handlers.d.ts.map +1 -0
- package/dist/typescript/module/lib/index.d.ts +5 -0
- package/dist/typescript/module/lib/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/modular.d.ts +193 -0
- package/dist/typescript/module/lib/modular.d.ts.map +1 -0
- package/dist/typescript/module/lib/namespaced.d.ts +12 -0
- package/dist/typescript/module/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/module/lib/types/crashlytics.d.ts +117 -0
- package/dist/typescript/module/lib/types/crashlytics.d.ts.map +1 -0
- package/dist/typescript/module/lib/version.d.ts +2 -0
- package/dist/typescript/module/lib/version.d.ts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/lib/handlers.ts +196 -0
- package/{ios/RNFBCrashlytics/RNFBCrashlyticsNativeHelper.h → lib/index.ts} +8 -11
- package/lib/modular.ts +249 -0
- package/lib/{index.js → namespaced.ts} +51 -22
- package/lib/types/crashlytics.ts +159 -0
- package/lib/version.ts +2 -0
- package/package.json +60 -8
- package/tsconfig.json +21 -0
- package/CHANGELOG.md +0 -1132
- package/RNFBCrashlytics.podspec +0 -54
- package/android/.editorconfig +0 -10
- package/android/build.gradle +0 -102
- package/android/lint.xml +0 -5
- package/android/settings.gradle +0 -1
- package/android/src/main/AndroidManifest.xml +0 -15
- package/android/src/main/java/io/invertase/firebase/crashlytics/Constants.java +0 -29
- package/android/src/main/java/io/invertase/firebase/crashlytics/JavaScriptError.java +0 -28
- package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsInitProvider.java +0 -130
- package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsModule.java +0 -223
- package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsNativeHelper.java +0 -18
- package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsPackage.java +0 -41
- package/android/src/main/java/io/invertase/firebase/crashlytics/UnhandledPromiseRejection.java +0 -28
- package/app.plugin.js +0 -1
- package/ios/RNFBCrashlytics/RNFBCrashlyticsInitProvider.h +0 -33
- package/ios/RNFBCrashlytics/RNFBCrashlyticsInitProvider.m +0 -142
- package/ios/RNFBCrashlytics/RNFBCrashlyticsModule.m +0 -248
- package/ios/RNFBCrashlytics/RNFBCrashlyticsNativeHelper.m +0 -36
- package/ios/RNFBCrashlytics.xcodeproj/project.pbxproj +0 -359
- package/ios/RNFBCrashlytics.xcodeproj/xcshareddata/IDETemplateMacros.plist +0 -24
- package/ios_config.sh +0 -25
- package/lib/index.d.ts +0 -287
- package/lib/version.js +0 -2
- package/plugin/build/android/applyPlugin.d.ts +0 -6
- package/plugin/build/android/applyPlugin.js +0 -28
- package/plugin/build/android/buildscriptDependency.d.ts +0 -6
- package/plugin/build/android/buildscriptDependency.js +0 -29
- package/plugin/build/android/constants.d.ts +0 -3
- package/plugin/build/android/constants.js +0 -7
- package/plugin/build/android/index.d.ts +0 -3
- package/plugin/build/android/index.js +0 -7
- package/plugin/build/index.d.ts +0 -3
- package/plugin/build/index.js +0 -12
- package/plugin/tsconfig.tsbuildinfo +0 -1
- 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 @@
|
|
|
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
|
|
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
|
-
|
|
29
|
-
|
|
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
|
|
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, {
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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, {
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
#import <React/RCTBridgeModule.h>
|
|
20
|
+
// Export types from types/crashlytics
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
// Export modular API functions
|
|
23
|
+
export * from "./modular.js";
|
|
23
24
|
|
|
24
|
-
|
|
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
|
|
38
|
-
* @returns
|
|
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
|
|
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
|
|
76
|
-
* @returns
|
|
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
|
|
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
|
|
111
|
-
* @param
|
|
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
|
|
135
|
-
* @param
|
|
136
|
-
* @param
|
|
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
|
|
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
|
|
180
|
-
* @param
|
|
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
|
|
197
|
-
* @param
|
|
198
|
-
* @param
|
|
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
|
|
218
|
-
* @param
|
|
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
|
|
238
|
-
* @param
|
|
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
|
-
|
|
244
|
-
|
|
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":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,4BAA4B;AACnD,SACEC,SAAS,EACTC,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRC,OAAO,EACPC,uBAAuB,QAClB,uCAAuC;AAE9C,SACEC,qBAAqB,EACrBC,cAAc,EACdC,eAAe,QACV,yCAAyC;AAChD,OAAOC,UAAU,MAAM,eAAe;AACtC,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,qCAAqC,QAChC,eAAY;AACnB,SAASC,OAAO,QAAQ,cAAW;AAInC,MAAMC,OAAyB,GAAG,CAAC,CAAC;AAEpC,MAAMC,SAAS,GAAG,aAAa;AAE/B,MAAMC,gBAAgB,GAAG,uBAAuB;AAEhD,MAAMC,yBAAyB,SAASV,cAAc,CAAC;EAGrDW,WAAWA,CACTC,GAAwC,EACxCC,MAAoB,EACpBC,iBAAiC,EACjC;IACA,KAAK,CAACF,GAAG,EAAEC,MAAM,EAAEC,iBAAiB,CAAC;IACrCV,qBAAqB,CAAC,IAAI,CAACW,MAAM,CAAC;IAClCV,qCAAqC,CAAC,IAAI,CAACU,MAAM,CAAC;IAClD,IAAI,CAACC,+BAA+B,GAAG,IAAI,CAACD,MAAM,CAACE,8BAA8B;EACnF;EAEA,IAAIA,8BAA8BA,CAAA,EAAY;IAC5C;IACA,OAAO,IAAI,CAACD,+BAA+B;EAC7C;EAEAE,qBAAqBA,CAAA,EAAqB;IACxC,IAAI,IAAI,CAACD,8BAA8B,EAAE;MACvC,MAAM,IAAIE,KAAK,CACb,uHACF,CAAC;IACH;IACA,OAAO,IAAI,CAACJ,MAAM,CAACG,qBAAqB,CAAC,CAAC;EAC5C;EAEAE,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACL,MAAM,CAACK,KAAK,CAAC,CAAC;EACrB;EAEA,MAAMC,mBAAmBA,CAAA,EAAkB;IACzC,MAAM,IAAI,CAACN,MAAM,CAACM,mBAAmB,CAAC,CAAC;EACzC;EAEAC,2BAA2BA,CAAA,EAAqB;IAC9C,OAAO,IAAI,CAACP,MAAM,CAACO,2BAA2B,CAAC,CAAC;EAClD;EAEAC,GAAGA,CAACC,OAAe,EAAQ;IACzB,IAAI,CAACT,MAAM,CAACQ,GAAG,CAAC,GAAGC,OAAO,EAAE,CAAC;EAC/B;EAEAC,YAAYA,CAACC,IAAY,EAAEC,KAAa,EAAiB;IACvD,IAAI,CAAC/B,QAAQ,CAAC8B,IAAI,CAAC,EAAE;MACnB,MAAM,IAAIP,KAAK,CACb,yFACF,CAAC;IACH;IAEA,IAAI,CAACvB,QAAQ,CAAC+B,KAAK,CAAC,EAAE;MACpB,MAAM,IAAIR,KAAK,CACb,gGACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACJ,MAAM,CAACU,YAAY,CAACC,IAAI,EAAEC,KAAK,CAAC;EAC9C;EAEAC,aAAaA,CAACC,MAAiC,EAAiB;IAC9D,IAAI,CAAClC,QAAQ,CAACkC,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIV,KAAK,CACb,mGACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACJ,MAAM,CAACa,aAAa,CAACC,MAAM,CAAC;EAC1C;EAEAC,SAASA,CAACC,MAAc,EAAiB;IACvC,IAAI,CAACnC,QAAQ,CAACmC,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIZ,KAAK,CACb,kFACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACJ,MAAM,CAACe,SAAS,CAACC,MAAM,CAAC;EACtC;EAEAC,WAAWA,CAACC,KAAY,EAAEC,WAAoB,EAAQ;IACpD,IAAIxC,OAAO,CAACuC,KAAK,CAAC,EAAE;MAClB/B,UAAU,CAACiC,SAAS,CAACF,KAAK,EAAE;QAAEG,OAAO,EAAE;MAAK,CAAC,CAAC,CAACC,IAAI,CAACC,WAAW,IAAI;QACjE,IAAI,CAACvB,MAAM,CAACiB,WAAW,CAAC7B,oBAAoB,CAAC8B,KAAK,EAAEK,WAAW,EAAE,KAAK,EAAEJ,WAAW,CAAC,CAAC;MACvF,CAAC,CAAC;IACJ,CAAC,MAAM;MACLK,OAAO,CAACC,IAAI,CACV,iGACF,CAAC;IACH;EACF;EAEAC,iBAAiBA,CAAA,EAAS;IACxB,IAAI,IAAI,CAACxB,8BAA8B,EAAE;MACvC,IAAI,CAACF,MAAM,CAAC0B,iBAAiB,CAAC,CAAC;IACjC;EACF;EAEAC,+BAA+BA,CAACC,OAAgB,EAAiB;IAC/D,IAAI,CAAClD,SAAS,CAACkD,OAAO,CAAC,EAAE;MACvB,MAAM,IAAIxB,KAAK,CACb,wFACF,CAAC;IACH;IAEA,IAAI,CAACH,+BAA+B,GAAG2B,OAAO;IAC9C,OAAO,IAAI,CAAC5B,MAAM,CAAC2B,+BAA+B,CAACC,OAAO,CAAC;EAC7D;AACF;;AAEA;AACA,OAAO,MAAMC,WAAW,GAAGtC,OAAO;AAElC,MAAMuC,oBAAoB,GAAG9C,qBAAqB,CAAC;EACjDQ,OAAO;EACPD,OAAO;EACPE,SAAS;EACTC,gBAAgB;EAChBqC,YAAY,EAAE,KAAK;EACnBC,kBAAkB,EAAE,KAAK;EACzBC,2BAA2B,EAAE,KAAK;EAClCC,WAAW,EAAEvC;AACf,CAAC,CAAC;AAWF;AACA;AACA,eAAemC,oBAAoB;;AAEnC;AACA;AACA;AACA,OAAO,MAAMK,QAAQ,GACnBjD,eAAe,CAAC,CAKf;;AAEH;AACA;AACA;;AAEA;AACA,IAAI,CAACJ,OAAO,EAAE;EACZ;EACAqD,QAAQ,CAACC,WAAW,CAACC,IAAI,CAAC,IAAI,EAAE5D,MAAM,CAAC,CAAC,EAAEM,uBAAuB,CAAC;AACpE","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
|