Skip to content

Commit 9ad6d29

Browse files
committed
simplify api
1 parent 0f02a9a commit 9ad6d29

File tree

2 files changed

+28
-31
lines changed

2 files changed

+28
-31
lines changed

README.md

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ yarn add @reason-react-native/inappbrowser
4545
open Js.Promise;
4646
4747
let opts = iosOptions(~preferredBarTintColor="#ff0000", ());
48-
openBrowserIos("https://rescript-lang.org", opts)
48+
openBrowser("https://rescript-lang.org", `IosOptions(opts))
4949
|> Js.Promise.then_((result: browserResult) => {
5050
Js.log(result.resultType);
5151
resolve();
@@ -56,7 +56,7 @@ openBrowserIos("https://rescript-lang.org", opts)
5656
```reason
5757
open Js.Promise;
5858
59-
openAuthIos("https://example.com/auth", "myschema://auth", iosOptions())
59+
openAuthIos("https://example.com/auth", "myschema://auth", `IosOptions(iosOptions()))
6060
|> Js.Promise.then_((result: authResult) => {
6161
switch (result.url) {
6262
| Some(url) => Js.log(url)
@@ -70,23 +70,19 @@ openAuthIos("https://example.com/auth", "myschema://auth", iosOptions())
7070
### Types
7171

7272
#### `authResult`
73+
7374
#### `browserResult`
75+
7476
#### `iosOptions`
75-
#### `androidOptions`
7677

78+
#### `androidOptions`
7779

7880
### Methods
7981

80-
#### `ReactNativeInAppBrowser.openBrowserIos`
81-
82-
```reason
83-
(string, iosOptions) => Js.Promise.t(browserResult)
84-
```
85-
86-
#### `ReactNativeInAppBrowser.openBrowserAndroid`
82+
#### `ReactNativeInAppBrowser.openBrowser`
8783

8884
```reason
89-
(string, androidOptions) => Js.Promise.t(browserResult)
85+
(string, [ `AndroidOptions(androidOptions) | `IosOptions(iosOptions) ]) => Js.Promise.t(browserResult)
9086
```
9187

9288
#### `ReactNativeInAppBrowser.close`
@@ -95,16 +91,10 @@ openAuthIos("https://example.com/auth", "myschema://auth", iosOptions())
9591
unit => unit
9692
```
9793

98-
#### `ReactNativeInAppBrowser.openAuthIos`
99-
100-
```reason
101-
(string, iosOptions) => Js.Promise.t(authResult)
102-
```
103-
104-
#### `ReactNativeInAppBrowser.openAuthAndroid`
94+
#### `ReactNativeInAppBrowser.openAuth`
10595

10696
```reason
107-
(string, androidOptions) => Js.Promise.t(authResult)
97+
(string, [ `AndroidOptions(androidOptions) | `IosOptions(iosOptions) ]) => Js.Promise.t(authResult)
10898
```
10999

110100
#### `ReactNativeInAppBrowser.closeAuth`

src/ReactNativeInAppBrowser.re

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,24 +80,31 @@ external androidOptions:
8080
external isAvailable: unit => Js.Promise.t(bool) = "isAvailable";
8181

8282
[@bs.module "react-native-inappbrowser-reborn"] [@bs.scope "InAppBrowser"]
83-
external openBrowserIos: (string, iosOptions) => Js.Promise.t(browserResult) =
84-
"open";
85-
86-
[@bs.module "react-native-inappbrowser-reborn"] [@bs.scope "InAppBrowser"]
87-
external openBrowserAndroid:
88-
(string, androidOptions) => Js.Promise.t(browserResult) =
83+
external openBrowser:
84+
(
85+
string,
86+
[@bs.unwrap] [
87+
| `IosOptions(iosOptions)
88+
| `AndroidOptions(androidOptions)
89+
]
90+
) =>
91+
Js.Promise.t(browserResult) =
8992
"open";
9093

9194
[@bs.module "react-native-inappbrowser-reborn"] [@bs.scope "InAppBrowser"]
9295
external close: unit => unit = "close";
9396

9497
[@bs.module "react-native-inappbrowser-reborn"] [@bs.scope "InAppBrowser"]
95-
external openAuthIos: (string, string, iosOptions) => Js.Promise.t(authResult) =
96-
"openAuth";
97-
98-
[@bs.module "react-native-inappbrowser-reborn"] [@bs.scope "InAppBrowser"]
99-
external openAuthAndroid:
100-
(string, string, androidOptions) => Js.Promise.t(authResult) =
98+
external openAuth:
99+
(
100+
string,
101+
string,
102+
[@bs.unwrap] [
103+
| `IosOptions(iosOptions)
104+
| `AndroidOptions(androidOptions)
105+
]
106+
) =>
107+
Js.Promise.t(authResult) =
101108
"openAuth";
102109

103110
[@bs.module "react-native-inappbrowser-reborn"] [@bs.scope "InAppBrowser"]

0 commit comments

Comments
 (0)