Skip to content

Commit 3776a3c

Browse files
committed
convert native errors to javascript errors
1 parent 6149731 commit 3776a3c

File tree

5 files changed

+19
-24
lines changed

5 files changed

+19
-24
lines changed

RNAdMobBanner.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import {
99
} from 'react-native';
1010
import { string, func, arrayOf } from 'prop-types';
1111

12+
import { createErrorFromErrorData } from './utils';
13+
1214
class AdMobBanner extends Component {
1315

1416
constructor() {
@@ -42,7 +44,7 @@ class AdMobBanner extends Component {
4244

4345
handleDidFailToReceiveAdWithError(event) {
4446
if (this.props.onDidFailToReceiveAdWithError) {
45-
this.props.onDidFailToReceiveAdWithError(event.nativeEvent.error);
47+
this.props.onDidFailToReceiveAdWithError(createErrorFromErrorData(event.nativeEvent.error));
4648
}
4749
}
4850

RNAdMobInterstitial.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,14 @@ import {
33
NativeEventEmitter,
44
} from 'react-native';
55

6+
import { createErrorFromErrorData } from './utils';
7+
68
const RNAdMobInterstitial = NativeModules.RNAdMobInterstitial;
79

810
const adMobInterstitialEmitter = new NativeEventEmitter(RNAdMobInterstitial);
911

1012
const eventHandlers = {};
1113

12-
const createErrorFromErrorData = (errorData) => {
13-
const {
14-
message,
15-
...extraErrorInfo
16-
} = errorData || {};
17-
const error = new Error(message);
18-
error.framesToPop = 1;
19-
return Object.assign(error, extraErrorInfo);
20-
}
21-
2214
const addEventListener = (type, handler) => {
2315
eventHandlers[type] = eventHandlers[type] || new Map();
2416
if (type === 'interstitialDidFailToLoad') {

RNAdMobRewarded.js

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,16 @@
11
import {
2-
Platform,
32
NativeModules,
43
NativeEventEmitter,
54
} from 'react-native';
65

6+
import { createErrorFromErrorData } from './utils';
7+
78
const RNAdMobRewarded = NativeModules.RNAdMobRewarded;
89

910
const adMobRewardedEmitter = new NativeEventEmitter(RNAdMobRewarded);
1011

1112
const eventHandlers = {};
1213

13-
const createErrorFromErrorData = (errorData) => {
14-
const {
15-
message,
16-
...extraErrorInfo
17-
} = errorData || {};
18-
const error = new Error(message);
19-
error.framesToPop = 1;
20-
return Object.assign(error, extraErrorInfo);
21-
}
22-
2314
const addEventListener = (type, handler) => {
2415
eventHandlers[type] = eventHandlers[type] || new Map();
2516
if (type === 'rewardedVideoDidFailToLoad') {
@@ -52,5 +43,4 @@ export default {
5243
addEventListener,
5344
removeEventListener,
5445
removeAllListeners,
55-
simulatorId: Platform.OS === 'android' ? 'EMULATOR' : RNAdMobRewarded.simulatorId,
5646
};

RNPublisherBanner.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import {
99
} from 'react-native';
1010
import { string, func, arrayOf } from 'prop-types';
1111

12+
import { createErrorFromErrorData } from './utils';
13+
1214
class PublisherBanner extends Component {
1315

1416
constructor() {
@@ -50,7 +52,7 @@ class PublisherBanner extends Component {
5052

5153
handleDidFailToReceiveAdWithError(event) {
5254
if (this.props.onDidFailToReceiveAdWithError) {
53-
this.props.onDidFailToReceiveAdWithError(event.nativeEvent.error);
55+
this.props.onDidFailToReceiveAdWithError(createErrorFromErrorData(event.nativeEvent.error));
5456
}
5557
}
5658

utils.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export const createErrorFromErrorData = (errorData) => {
2+
const {
3+
message,
4+
...extraErrorInfo
5+
} = errorData || {};
6+
const error = new Error(message);
7+
error.framesToPop = 1;
8+
return Object.assign(error, extraErrorInfo);
9+
}

0 commit comments

Comments
 (0)