From fdd95163b98f5d5297159f98d4bb903527ed29c6 Mon Sep 17 00:00:00 2001 From: Mikkel Date: Mon, 14 Aug 2017 19:51:46 +0200 Subject: [PATCH 1/3] Fixed capitalisation of 'Url' in bucklescript-bindings for ReactNative.Linking. --- src/linkingRe.re | 14 +++++++------- src/linkingRe.rei | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/linkingRe.re b/src/linkingRe.re index 4d8ec870a38f8d..69e6558523d8df 100644 --- a/src/linkingRe.re +++ b/src/linkingRe.re @@ -1,14 +1,14 @@ external openURL : string => Js.Promise.t unit = - "openUrl" [@@bs.scope "Linking"] [@@bs.module "react-native"]; + "openURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; -external _canOpenUrl : string => Js.Promise.t Js.boolean = - "canOpenUrl" [@@bs.scope "Linking"] [@@bs.module "react-native"]; +external _canOpenURL : string => Js.Promise.t Js.boolean = + "canOpenURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; -let canOpenUrl url => - _canOpenUrl url |> Js.Promise.then_ (fun bool => Js.Promise.resolve (Js.to_bool bool)); +let canOpenURL url => + _canOpenURL url |> Js.Promise.then_ (fun bool => Js.Promise.resolve (Js.to_bool bool)); -external getInitialUrl : unit => Js.Promise.t string = - "getInitialUrl" [@@bs.scope "Linking"] [@@bs.module "react-native"]; +external getInitialURL : unit => Js.Promise.t string = + "getInitialURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; external addEventListener : string => (Js.t {. url : string} => unit) => unit = "" [@@bs.scope "Linking"] [@@bs.module "react-native"]; diff --git a/src/linkingRe.rei b/src/linkingRe.rei index 947138a0b6a027..5a916ba96cd7d1 100644 --- a/src/linkingRe.rei +++ b/src/linkingRe.rei @@ -1,10 +1,10 @@ -let canOpenUrl: string => Js.Promise.t bool; +let canOpenURL: string => Js.Promise.t bool; external openURL : string => Js.Promise.t unit = - "openUrl" [@@bs.scope "Linking"] [@@bs.module "react-native"]; + "openURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; -external getInitialUrl : unit => Js.Promise.t string = - "getInitialUrl" [@@bs.scope "Linking"] [@@bs.module "react-native"]; +external getInitialURL : unit => Js.Promise.t string = + "getInitialURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; external addEventListener : string => (Js.t {. url : string} => unit) => unit = "" [@@bs.scope "Linking"] [@@bs.module "react-native"]; From 880e31756645780fcd631cf5c887e0d0aef44284 Mon Sep 17 00:00:00 2001 From: Mikkel Date: Mon, 14 Aug 2017 22:00:00 +0200 Subject: [PATCH 2/3] Updated getInitialURL type signature in accordance with React Native 0.47 --- src/linkingRe.re | 2 +- src/linkingRe.rei | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/linkingRe.re b/src/linkingRe.re index 69e6558523d8df..2864fafd22eb19 100644 --- a/src/linkingRe.re +++ b/src/linkingRe.re @@ -7,7 +7,7 @@ external _canOpenURL : string => Js.Promise.t Js.boolean = let canOpenURL url => _canOpenURL url |> Js.Promise.then_ (fun bool => Js.Promise.resolve (Js.to_bool bool)); -external getInitialURL : unit => Js.Promise.t string = +external getInitialURL : unit => Js.Promise.t (Js.Null.t string) = "getInitialURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; external addEventListener : string => (Js.t {. url : string} => unit) => unit = diff --git a/src/linkingRe.rei b/src/linkingRe.rei index 5a916ba96cd7d1..5df6f834634766 100644 --- a/src/linkingRe.rei +++ b/src/linkingRe.rei @@ -3,7 +3,7 @@ let canOpenURL: string => Js.Promise.t bool; external openURL : string => Js.Promise.t unit = "openURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; -external getInitialURL : unit => Js.Promise.t string = +external getInitialURL : unit => Js.Promise.t (Js.Null.t string) = "getInitialURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; external addEventListener : string => (Js.t {. url : string} => unit) => unit = From f6c9d725248e5bd40a3af6cb1e880e24887df3e9 Mon Sep 17 00:00:00 2001 From: Mikkel Date: Tue, 15 Aug 2017 07:03:28 +0200 Subject: [PATCH 3/3] Changed getInitialURL to return the more functional string option instead of Js.Null.t string. --- src/linkingRe.re | 5 ++++- src/linkingRe.rei | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/linkingRe.re b/src/linkingRe.re index 2864fafd22eb19..82e19bd0d82594 100644 --- a/src/linkingRe.re +++ b/src/linkingRe.re @@ -7,8 +7,11 @@ external _canOpenURL : string => Js.Promise.t Js.boolean = let canOpenURL url => _canOpenURL url |> Js.Promise.then_ (fun bool => Js.Promise.resolve (Js.to_bool bool)); -external getInitialURL : unit => Js.Promise.t (Js.Null.t string) = +external _getInitialURL : unit => Js.Promise.t (Js.Null.t string) = "getInitialURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; + +let getInitialURL () => + _getInitialURL () |> Js.Promise.then_ (fun stringOrNull => Js.Promise.resolve (Js.Null.to_opt stringOrNull)); external addEventListener : string => (Js.t {. url : string} => unit) => unit = "" [@@bs.scope "Linking"] [@@bs.module "react-native"]; diff --git a/src/linkingRe.rei b/src/linkingRe.rei index 5df6f834634766..bc9f98f1504211 100644 --- a/src/linkingRe.rei +++ b/src/linkingRe.rei @@ -3,8 +3,7 @@ let canOpenURL: string => Js.Promise.t bool; external openURL : string => Js.Promise.t unit = "openURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; -external getInitialURL : unit => Js.Promise.t (Js.Null.t string) = - "getInitialURL" [@@bs.scope "Linking"] [@@bs.module "react-native"]; +let getInitialURL : unit => Js.Promise.t (option string); external addEventListener : string => (Js.t {. url : string} => unit) => unit = "" [@@bs.scope "Linking"] [@@bs.module "react-native"];