@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.
@@ -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*/, WebBrowser.openAuthSessionAsync(registerUri, constants_1.SOYIO_REDIRECT_URL, webBrowserOptions)];
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*/, WebBrowser.openAuthSessionAsync(authenticateUri, constants_1.SOYIO_REDIRECT_URL, webBrowserOptions)];
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",
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
  }