@aws-amplify/rtn-web-browser 1.0.1-console-preview.deaebd5.0 → 1.0.1-console-preview.b5a42af.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/ios/AmplifyRTNWebBrowser.m +1 -0
- package/ios/AmplifyRTNWebBrowser.swift +8 -2
- package/lib/apis/openAuthSessionAsync.d.ts +1 -1
- package/lib/apis/openAuthSessionAsync.js +13 -7
- package/lib/apis/openAuthSessionAsync.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/types.d.ts +1 -1
- package/lib-esm/apis/openAuthSessionAsync.d.ts +1 -1
- package/lib-esm/apis/openAuthSessionAsync.js +13 -7
- package/lib-esm/apis/openAuthSessionAsync.js.map +1 -1
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/types.d.ts +1 -1
- package/package.json +2 -2
- package/src/apis/openAuthSessionAsync.ts +15 -10
- package/src/types.ts +4 -1
|
@@ -22,6 +22,7 @@ class AmplifyRTNWebBrowser: NSObject {
|
|
|
22
22
|
|
|
23
23
|
@objc
|
|
24
24
|
func openAuthSessionAsync(_ urlStr: String,
|
|
25
|
+
redirectUrlStr: String,
|
|
25
26
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
26
27
|
reject: @escaping RCTPromiseRejectBlock) {
|
|
27
28
|
guard let url = URL(string: urlStr) else {
|
|
@@ -29,6 +30,11 @@ class AmplifyRTNWebBrowser: NSObject {
|
|
|
29
30
|
return
|
|
30
31
|
}
|
|
31
32
|
|
|
33
|
+
guard let redirectUrl = URL(string: redirectUrlStr) else {
|
|
34
|
+
reject("ERROR", "provided redirectUrl is invalid", nil)
|
|
35
|
+
return
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
guard isUrlValid(url: url) else {
|
|
33
39
|
reject("ERROR", "provided url is invalid", nil)
|
|
34
40
|
return
|
|
@@ -36,10 +42,10 @@ class AmplifyRTNWebBrowser: NSObject {
|
|
|
36
42
|
|
|
37
43
|
let authSession = ASWebAuthenticationSession(
|
|
38
44
|
url: url,
|
|
39
|
-
callbackURLScheme:
|
|
45
|
+
callbackURLScheme: redirectUrl.scheme,
|
|
40
46
|
completionHandler: { url, error in
|
|
41
47
|
if (error as? ASWebAuthenticationSessionError)?.code == .canceledLogin {
|
|
42
|
-
|
|
48
|
+
resolve(nil)
|
|
43
49
|
return
|
|
44
50
|
}
|
|
45
51
|
if error != nil {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const openAuthSessionAsync: (url: string,
|
|
1
|
+
export declare const openAuthSessionAsync: (url: string, redirectUrls: string[]) => Promise<string | null | undefined>;
|
|
@@ -7,23 +7,29 @@ const react_native_1 = require("react-native");
|
|
|
7
7
|
const nativeModule_1 = require("../nativeModule");
|
|
8
8
|
let appStateListener;
|
|
9
9
|
let redirectListener;
|
|
10
|
-
const openAuthSessionAsync = async (url,
|
|
10
|
+
const openAuthSessionAsync = async (url, redirectUrls) => {
|
|
11
11
|
// enforce HTTPS
|
|
12
12
|
const httpsUrl = url.replace('http://', 'https://');
|
|
13
13
|
if (react_native_1.Platform.OS === 'ios') {
|
|
14
|
-
return
|
|
14
|
+
return openAuthSessionIOS(httpsUrl, redirectUrls);
|
|
15
15
|
}
|
|
16
16
|
if (react_native_1.Platform.OS === 'android') {
|
|
17
|
-
return openAuthSessionAndroid(httpsUrl,
|
|
17
|
+
return openAuthSessionAndroid(httpsUrl, redirectUrls);
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
exports.openAuthSessionAsync = openAuthSessionAsync;
|
|
21
|
-
const
|
|
21
|
+
const openAuthSessionIOS = async (url, redirectUrls) => {
|
|
22
|
+
const redirectUrl = redirectUrls.find(
|
|
23
|
+
// take the first non-web url as the deeplink
|
|
24
|
+
item => !item.startsWith('https://') && !item.startsWith('http://'));
|
|
25
|
+
return nativeModule_1.nativeModule.openAuthSessionAsync(url, redirectUrl);
|
|
26
|
+
};
|
|
27
|
+
const openAuthSessionAndroid = async (url, redirectUrls) => {
|
|
22
28
|
try {
|
|
23
29
|
const [redirectUrl] = await Promise.all([
|
|
24
30
|
Promise.race([
|
|
25
31
|
// wait for app to redirect, resulting in a redirectUrl
|
|
26
|
-
getRedirectPromise(
|
|
32
|
+
getRedirectPromise(redirectUrls),
|
|
27
33
|
// wait for app to return some other way, resulting in null
|
|
28
34
|
getAppStatePromise(),
|
|
29
35
|
]),
|
|
@@ -52,9 +58,9 @@ const getAppStatePromise = () => new Promise(resolve => {
|
|
|
52
58
|
}
|
|
53
59
|
});
|
|
54
60
|
});
|
|
55
|
-
const getRedirectPromise = (
|
|
61
|
+
const getRedirectPromise = (redirectUrls) => new Promise(resolve => {
|
|
56
62
|
redirectListener = react_native_1.Linking.addEventListener('url', event => {
|
|
57
|
-
if (
|
|
63
|
+
if (redirectUrls.some(url => event.url.startsWith(url))) {
|
|
58
64
|
resolve(event.url);
|
|
59
65
|
}
|
|
60
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAuthSessionAsync.js","sourceRoot":"","sources":["../../src/apis/openAuthSessionAsync.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,+CAKsB;AACtB,kDAA+C;AAE/C,IAAI,gBAAqD,CAAC;AAC1D,IAAI,gBAAqD,CAAC;AAEnD,MAAM,oBAAoB,GAAG,KAAK,EACxC,GAAW,EACX,
|
|
1
|
+
{"version":3,"file":"openAuthSessionAsync.js","sourceRoot":"","sources":["../../src/apis/openAuthSessionAsync.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,+CAKsB;AACtB,kDAA+C;AAE/C,IAAI,gBAAqD,CAAC;AAC1D,IAAI,gBAAqD,CAAC;AAEnD,MAAM,oBAAoB,GAAG,KAAK,EACxC,GAAW,EACX,YAAsB,EACrB,EAAE;IACH,gBAAgB;IAChB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,uBAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;QAC1B,OAAO,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;KAClD;IAED,IAAI,uBAAQ,CAAC,EAAE,KAAK,SAAS,EAAE;QAC9B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;KACtD;AACF,CAAC,CAAC;AAbW,QAAA,oBAAoB,wBAa/B;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAE,YAAsB,EAAE,EAAE;IACxE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI;IACpC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CACnE,CAAC;IACF,OAAO,2BAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,GAAW,EAAE,YAAsB,EAAE,EAAE;IAC5E,IAAI;QACH,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC;gBACZ,uDAAuD;gBACvD,kBAAkB,CAAC,YAAY,CAAC;gBAChC,2DAA2D;gBAC3D,kBAAkB,EAAE;aACpB,CAAC;YACF,kBAAkB;YAClB,2BAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC;SACtC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;KACnB;YAAS;QACT,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,gBAAgB,GAAG,SAAS,CAAC;QAC7B,gBAAgB,GAAG,SAAS,CAAC;KAC7B;AACF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAkB,EAAE,CAC9C,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;IACrB,gBAAgB,GAAG,uBAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;QACrE,8DAA8D;QAC9D,IAAI,uBAAQ,CAAC,YAAY,KAAK,IAAI,EAAE;YACnC,OAAO;SACP;QAED,IAAI,YAAY,KAAK,QAAQ,EAAE;YAC9B,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC3B,gBAAgB,GAAG,SAAS,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;SACd;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEJ,MAAM,kBAAkB,GAAG,CAAC,YAAsB,EAAmB,EAAE,CACtE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;IACrB,gBAAgB,GAAG,sBAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QAC1D,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YACxD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACnB;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
declare const mergedModule: {
|
|
2
|
-
openAuthSessionAsync: (url: string,
|
|
2
|
+
openAuthSessionAsync: (url: string, redirectUrls: string[]) => Promise<string | null | undefined>;
|
|
3
3
|
};
|
|
4
4
|
export { mergedModule as AmplifyRTNWebBrowser };
|
package/lib/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const openAuthSessionAsync: (url: string,
|
|
1
|
+
export declare const openAuthSessionAsync: (url: string, redirectUrls: string[]) => Promise<string | null | undefined>;
|
|
@@ -4,22 +4,28 @@ import { AppState, Linking, Platform, } from 'react-native';
|
|
|
4
4
|
import { nativeModule } from '../nativeModule';
|
|
5
5
|
let appStateListener;
|
|
6
6
|
let redirectListener;
|
|
7
|
-
export const openAuthSessionAsync = async (url,
|
|
7
|
+
export const openAuthSessionAsync = async (url, redirectUrls) => {
|
|
8
8
|
// enforce HTTPS
|
|
9
9
|
const httpsUrl = url.replace('http://', 'https://');
|
|
10
10
|
if (Platform.OS === 'ios') {
|
|
11
|
-
return
|
|
11
|
+
return openAuthSessionIOS(httpsUrl, redirectUrls);
|
|
12
12
|
}
|
|
13
13
|
if (Platform.OS === 'android') {
|
|
14
|
-
return openAuthSessionAndroid(httpsUrl,
|
|
14
|
+
return openAuthSessionAndroid(httpsUrl, redirectUrls);
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
|
-
const
|
|
17
|
+
const openAuthSessionIOS = async (url, redirectUrls) => {
|
|
18
|
+
const redirectUrl = redirectUrls.find(
|
|
19
|
+
// take the first non-web url as the deeplink
|
|
20
|
+
item => !item.startsWith('https://') && !item.startsWith('http://'));
|
|
21
|
+
return nativeModule.openAuthSessionAsync(url, redirectUrl);
|
|
22
|
+
};
|
|
23
|
+
const openAuthSessionAndroid = async (url, redirectUrls) => {
|
|
18
24
|
try {
|
|
19
25
|
const [redirectUrl] = await Promise.all([
|
|
20
26
|
Promise.race([
|
|
21
27
|
// wait for app to redirect, resulting in a redirectUrl
|
|
22
|
-
getRedirectPromise(
|
|
28
|
+
getRedirectPromise(redirectUrls),
|
|
23
29
|
// wait for app to return some other way, resulting in null
|
|
24
30
|
getAppStatePromise(),
|
|
25
31
|
]),
|
|
@@ -48,9 +54,9 @@ const getAppStatePromise = () => new Promise(resolve => {
|
|
|
48
54
|
}
|
|
49
55
|
});
|
|
50
56
|
});
|
|
51
|
-
const getRedirectPromise = (
|
|
57
|
+
const getRedirectPromise = (redirectUrls) => new Promise(resolve => {
|
|
52
58
|
redirectListener = Linking.addEventListener('url', event => {
|
|
53
|
-
if (
|
|
59
|
+
if (redirectUrls.some(url => event.url.startsWith(url))) {
|
|
54
60
|
resolve(event.url);
|
|
55
61
|
}
|
|
56
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAuthSessionAsync.js","sourceRoot":"","sources":["../../src/apis/openAuthSessionAsync.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EACN,QAAQ,EACR,OAAO,EAEP,QAAQ,GACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,IAAI,gBAAqD,CAAC;AAC1D,IAAI,gBAAqD,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACxC,GAAW,EACX,
|
|
1
|
+
{"version":3,"file":"openAuthSessionAsync.js","sourceRoot":"","sources":["../../src/apis/openAuthSessionAsync.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EACN,QAAQ,EACR,OAAO,EAEP,QAAQ,GACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,IAAI,gBAAqD,CAAC;AAC1D,IAAI,gBAAqD,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACxC,GAAW,EACX,YAAsB,EACrB,EAAE;IACH,gBAAgB;IAChB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;QAC1B,OAAO,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;KAClD;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE;QAC9B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;KACtD;AACF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAE,YAAsB,EAAE,EAAE;IACxE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI;IACpC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CACnE,CAAC;IACF,OAAO,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,GAAW,EAAE,YAAsB,EAAE,EAAE;IAC5E,IAAI;QACH,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC;gBACZ,uDAAuD;gBACvD,kBAAkB,CAAC,YAAY,CAAC;gBAChC,2DAA2D;gBAC3D,kBAAkB,EAAE;aACpB,CAAC;YACF,kBAAkB;YAClB,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC;SACtC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;KACnB;YAAS;QACT,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,gBAAgB,GAAG,SAAS,CAAC;QAC7B,gBAAgB,GAAG,SAAS,CAAC;KAC7B;AACF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAkB,EAAE,CAC9C,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;IACrB,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;QACrE,8DAA8D;QAC9D,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE;YACnC,OAAO;SACP;QAED,IAAI,YAAY,KAAK,QAAQ,EAAE;YAC9B,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC3B,gBAAgB,GAAG,SAAS,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;SACd;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEJ,MAAM,kBAAkB,GAAG,CAAC,YAAsB,EAAmB,EAAE,CACtE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;IACrB,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QAC1D,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YACxD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACnB;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/lib-esm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
declare const mergedModule: {
|
|
2
|
-
openAuthSessionAsync: (url: string,
|
|
2
|
+
openAuthSessionAsync: (url: string, redirectUrls: string[]) => Promise<string | null | undefined>;
|
|
3
3
|
};
|
|
4
4
|
export { mergedModule as AmplifyRTNWebBrowser };
|
package/lib-esm/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/rtn-web-browser",
|
|
3
|
-
"version": "1.0.1-console-preview.
|
|
3
|
+
"version": "1.0.1-console-preview.b5a42af.0+b5a42af",
|
|
4
4
|
"description": "React Native module for aws-amplify web browser",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"lib-esm",
|
|
50
50
|
"src"
|
|
51
51
|
],
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "b5a42af519fb741bb8056a814addd8804c8f60ec"
|
|
53
53
|
}
|
|
@@ -14,28 +14,33 @@ let redirectListener: NativeEventSubscription | undefined;
|
|
|
14
14
|
|
|
15
15
|
export const openAuthSessionAsync = async (
|
|
16
16
|
url: string,
|
|
17
|
-
|
|
17
|
+
redirectUrls: string[]
|
|
18
18
|
) => {
|
|
19
19
|
// enforce HTTPS
|
|
20
20
|
const httpsUrl = url.replace('http://', 'https://');
|
|
21
21
|
if (Platform.OS === 'ios') {
|
|
22
|
-
return
|
|
22
|
+
return openAuthSessionIOS(httpsUrl, redirectUrls);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
if (Platform.OS === 'android') {
|
|
26
|
-
return openAuthSessionAndroid(httpsUrl,
|
|
26
|
+
return openAuthSessionAndroid(httpsUrl, redirectUrls);
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
const openAuthSessionIOS = async (url: string, redirectUrls: string[]) => {
|
|
31
|
+
const redirectUrl = redirectUrls.find(
|
|
32
|
+
// take the first non-web url as the deeplink
|
|
33
|
+
item => !item.startsWith('https://') && !item.startsWith('http://')
|
|
34
|
+
);
|
|
35
|
+
return nativeModule.openAuthSessionAsync(url, redirectUrl);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const openAuthSessionAndroid = async (url: string, redirectUrls: string[]) => {
|
|
34
39
|
try {
|
|
35
40
|
const [redirectUrl] = await Promise.all([
|
|
36
41
|
Promise.race([
|
|
37
42
|
// wait for app to redirect, resulting in a redirectUrl
|
|
38
|
-
getRedirectPromise(
|
|
43
|
+
getRedirectPromise(redirectUrls),
|
|
39
44
|
// wait for app to return some other way, resulting in null
|
|
40
45
|
getAppStatePromise(),
|
|
41
46
|
]),
|
|
@@ -67,10 +72,10 @@ const getAppStatePromise = (): Promise<null> =>
|
|
|
67
72
|
});
|
|
68
73
|
});
|
|
69
74
|
|
|
70
|
-
const getRedirectPromise = (
|
|
75
|
+
const getRedirectPromise = (redirectUrls: string[]): Promise<string> =>
|
|
71
76
|
new Promise(resolve => {
|
|
72
77
|
redirectListener = Linking.addEventListener('url', event => {
|
|
73
|
-
if (
|
|
78
|
+
if (redirectUrls.some(url => event.url.startsWith(url))) {
|
|
74
79
|
resolve(event.url);
|
|
75
80
|
}
|
|
76
81
|
});
|
package/src/types.ts
CHANGED