Skip to content

Commit e75b775

Browse files
committed
fix: update Iterable class and config to handle null values in auth token promises
1 parent 8ae3889 commit e75b775

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

src/core/classes/Iterable.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -912,10 +912,16 @@ export class Iterable {
912912
private static removeAllEventListeners() {
913913
RNEventEmitter.removeAllListeners(IterableEventName.handleUrlCalled);
914914
RNEventEmitter.removeAllListeners(IterableEventName.handleInAppCalled);
915-
RNEventEmitter.removeAllListeners(IterableEventName.handleCustomActionCalled);
915+
RNEventEmitter.removeAllListeners(
916+
IterableEventName.handleCustomActionCalled
917+
);
916918
RNEventEmitter.removeAllListeners(IterableEventName.handleAuthCalled);
917-
RNEventEmitter.removeAllListeners(IterableEventName.handleAuthSuccessCalled);
918-
RNEventEmitter.removeAllListeners(IterableEventName.handleAuthFailureCalled);
919+
RNEventEmitter.removeAllListeners(
920+
IterableEventName.handleAuthSuccessCalled
921+
);
922+
RNEventEmitter.removeAllListeners(
923+
IterableEventName.handleAuthFailureCalled
924+
);
919925
}
920926

921927
/**
@@ -1015,11 +1021,15 @@ export class Iterable {
10151021
}
10161022
}, 1000);
10171023
} else if (typeof promiseResult === 'string') {
1018-
//If promise only returns string
1024+
// If promise only returns string
1025+
Iterable.authManager.passAlongAuthToken(promiseResult);
1026+
} else if (promiseResult === null || promiseResult === undefined) {
1027+
// Even though this will cause authentication to fail, we want to
1028+
// allow for this for JWT handling.
10191029
Iterable.authManager.passAlongAuthToken(promiseResult);
10201030
} else {
10211031
IterableLogger?.log(
1022-
'Unexpected promise returned. Auth token expects promise of String or AuthResponse type.'
1032+
'Unexpected promise returned. Auth token expects promise of String, null, undefined, or AuthResponse type.'
10231033
);
10241034
}
10251035
})

src/core/classes/IterableConfig.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,9 @@ export class IterableConfig {
202202
* ```
203203
*
204204
* @returns A promise that resolves to an `IterableAuthResponse`, a `string`,
205-
* or `undefined`.
205+
* `null`, or `undefined`.
206206
*/
207-
authHandler?: () => Promise<IterableAuthResponse | string | undefined>;
207+
authHandler?: () => Promise<IterableAuthResponse | string | null | undefined>;
208208

209209
/**
210210
* A callback function that is called when the SDK encounters an error while

0 commit comments

Comments
 (0)