@soyio/soyio-rn-sdk 0.1.3 → 0.1.4
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/package/src/core.jsx +57 -10
- package/package.json +4 -3
package/package/src/core.jsx
CHANGED
|
@@ -64,16 +64,34 @@ var react_1 = require("react");
|
|
|
64
64
|
var WebBrowser = __importStar(require("expo-web-browser"));
|
|
65
65
|
var utils_1 = require("./utils");
|
|
66
66
|
var constants_1 = require("./constants");
|
|
67
|
+
var react_native_1 = require("react-native");
|
|
68
|
+
function getBrowserOptions() {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
70
|
+
var webBrowserOptions, preferredBrowserPackage;
|
|
71
|
+
return __generator(this, function (_a) {
|
|
72
|
+
switch (_a.label) {
|
|
73
|
+
case 0:
|
|
74
|
+
webBrowserOptions = {
|
|
75
|
+
dismissButtonStyle: 'cancel',
|
|
76
|
+
createTask: false,
|
|
77
|
+
enableBarCollapsing: true,
|
|
78
|
+
showTitle: true,
|
|
79
|
+
};
|
|
80
|
+
if (!(react_native_1.Platform.OS === "android")) return [3 /*break*/, 2];
|
|
81
|
+
return [4 /*yield*/, WebBrowser.getCustomTabsSupportingBrowsersAsync()];
|
|
82
|
+
case 1:
|
|
83
|
+
preferredBrowserPackage = (_a.sent()).preferredBrowserPackage;
|
|
84
|
+
webBrowserOptions.browserPackage = preferredBrowserPackage;
|
|
85
|
+
_a.label = 2;
|
|
86
|
+
case 2: return [2 /*return*/, webBrowserOptions];
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
67
91
|
var useSoyioAuth = function (_a) {
|
|
68
92
|
var options = _a.options, onEventChange = _a.onEventChange;
|
|
69
|
-
var webBrowserOptions = {
|
|
70
|
-
dismissButtonStyle: 'cancel',
|
|
71
|
-
createTask: false,
|
|
72
|
-
enableBarCollapsing: true,
|
|
73
|
-
showTitle: true,
|
|
74
|
-
};
|
|
75
93
|
var register = (0, react_1.useCallback)(function (registerParams) { return __awaiter(void 0, void 0, void 0, function () {
|
|
76
|
-
var registerBaseUri, registerUri, registerResult;
|
|
94
|
+
var registerBaseUri, registerUri, webBrowserOptions, registerResult;
|
|
77
95
|
return __generator(this, function (_a) {
|
|
78
96
|
switch (_a.label) {
|
|
79
97
|
case 0:
|
|
@@ -81,8 +99,11 @@ var useSoyioAuth = function (_a) {
|
|
|
81
99
|
registerUri = "".concat(registerBaseUri, "?").concat((0, utils_1.buildUrlParams)(options, registerParams));
|
|
82
100
|
if (onEventChange)
|
|
83
101
|
onEventChange({ type: 'open register' });
|
|
84
|
-
return [4 /*yield*/,
|
|
102
|
+
return [4 /*yield*/, getBrowserOptions()];
|
|
85
103
|
case 1:
|
|
104
|
+
webBrowserOptions = _a.sent();
|
|
105
|
+
return [4 /*yield*/, WebBrowser.openAuthSessionAsync(registerUri, constants_1.SOYIO_REDIRECT_URL, webBrowserOptions)];
|
|
106
|
+
case 2:
|
|
86
107
|
registerResult = _a.sent();
|
|
87
108
|
if (onEventChange)
|
|
88
109
|
onEventChange(registerResult);
|
|
@@ -91,7 +112,7 @@ var useSoyioAuth = function (_a) {
|
|
|
91
112
|
});
|
|
92
113
|
}); }, [options, onEventChange]);
|
|
93
114
|
var authenticate = (0, react_1.useCallback)(function (authenticateParams) { return __awaiter(void 0, void 0, void 0, function () {
|
|
94
|
-
var authenticateBaseUri, authenticateUri, authenticateResult;
|
|
115
|
+
var authenticateBaseUri, authenticateUri, webBrowserOptions, authenticateResult;
|
|
95
116
|
return __generator(this, function (_a) {
|
|
96
117
|
switch (_a.label) {
|
|
97
118
|
case 0:
|
|
@@ -99,8 +120,11 @@ var useSoyioAuth = function (_a) {
|
|
|
99
120
|
authenticateUri = "".concat(authenticateBaseUri, "?").concat((0, utils_1.buildUrlParams)(options, authenticateParams));
|
|
100
121
|
if (onEventChange)
|
|
101
122
|
onEventChange({ type: 'open authenticate' });
|
|
102
|
-
return [4 /*yield*/,
|
|
123
|
+
return [4 /*yield*/, getBrowserOptions()];
|
|
103
124
|
case 1:
|
|
125
|
+
webBrowserOptions = _a.sent();
|
|
126
|
+
return [4 /*yield*/, WebBrowser.openAuthSessionAsync(authenticateUri, constants_1.SOYIO_REDIRECT_URL, webBrowserOptions)];
|
|
127
|
+
case 2:
|
|
104
128
|
authenticateResult = _a.sent();
|
|
105
129
|
if (onEventChange)
|
|
106
130
|
onEventChange(authenticateResult);
|
|
@@ -111,4 +135,27 @@ var useSoyioAuth = function (_a) {
|
|
|
111
135
|
return { register: register, authenticate: authenticate };
|
|
112
136
|
};
|
|
113
137
|
exports.useSoyioAuth = useSoyioAuth;
|
|
138
|
+
function openInCustomTab(url) {
|
|
139
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
140
|
+
var preferredBrowserPackage;
|
|
141
|
+
return __generator(this, function (_a) {
|
|
142
|
+
switch (_a.label) {
|
|
143
|
+
case 0:
|
|
144
|
+
if (!(react_native_1.Platform.OS === "android")) return [3 /*break*/, 3];
|
|
145
|
+
return [4 /*yield*/, WebBrowser.getCustomTabsSupportingBrowsersAsync()];
|
|
146
|
+
case 1:
|
|
147
|
+
preferredBrowserPackage = (_a.sent()).preferredBrowserPackage;
|
|
148
|
+
return [4 /*yield*/, WebBrowser.openBrowserAsync(url, { browserPackage: preferredBrowserPackage })];
|
|
149
|
+
case 2:
|
|
150
|
+
_a.sent();
|
|
151
|
+
return [3 /*break*/, 5];
|
|
152
|
+
case 3: return [4 /*yield*/, WebBrowser.openBrowserAsync(url)];
|
|
153
|
+
case 4:
|
|
154
|
+
_a.sent();
|
|
155
|
+
_a.label = 5;
|
|
156
|
+
case 5: return [2 /*return*/];
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
}
|
|
114
161
|
//# sourceMappingURL=core.jsx.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soyio/soyio-rn-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"main": "./package/index.js",
|
|
5
5
|
"types": "./package/index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -18,13 +18,14 @@
|
|
|
18
18
|
"expo-web-browser": "~12.8.2"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
|
+
"expo": "*",
|
|
21
22
|
"react": "*",
|
|
22
|
-
"react-native": "*"
|
|
23
|
-
"expo": "*"
|
|
23
|
+
"react-native": "*"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@babel/core": "^7.20.0",
|
|
27
27
|
"@types/react": "~18.2.45",
|
|
28
|
+
"react-native": "^0.73.6",
|
|
28
29
|
"typescript": "^5.1.3"
|
|
29
30
|
}
|
|
30
31
|
}
|