From b81575387cb949658a70810e1d7b3dade3f81b1c Mon Sep 17 00:00:00 2001 From: Anton Hamberg <46427896+slamberg94@users.noreply.github.com> Date: Thu, 10 Oct 2019 13:03:24 +0200 Subject: [PATCH] Add value name to bindings Makes ffi declarations less fragile to refactoring. --- src/Navigation.re | 22 +++++++++++----------- src/NavigationActions.re | 4 ++-- src/NavigationContainer.re | 3 ++- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/Navigation.re b/src/Navigation.re index 7de5793b..0d440f74 100644 --- a/src/Navigation.re +++ b/src/Navigation.re @@ -15,14 +15,14 @@ external navigationContext: React.Context.t(t) = "NavigationContext"; let useNavigation = () => React.useContext(navigationContext); -[@bs.get] external state: t => NavigationState.t = ""; +[@bs.get] external state: t => NavigationState.t = "state"; -[@bs.send] external navigate: (t, string) => unit = ""; +[@bs.send] external navigate: (t, string) => unit = "navigate"; [@bs.send] external navigateWithParams: (t, string, Js.t({..})) => unit = "navigate"; -[@bs.send] external goBack: t => unit = ""; -[@bs.send] external goBackToRoute: (t, string) => unit = ""; -[@bs.send] external getParam: (t, string) => Js.nullable('a) = ""; +[@bs.send] external goBack: t => unit = "goBack"; +[@bs.send] external goBackToRoute: (t, string) => unit = "goBackToRoute"; +[@bs.send] external getParam: (t, string) => Js.nullable('a) = "getParam"; [@bs.send] external getParamWithDefault: (t, string, 'a) => 'a = "getParam"; [@bs.send] external addListener: @@ -37,10 +37,10 @@ external addListener: // TODO: setParams, ... // Stack Actions // TODO: push, replace, ... -[@bs.send] external pop: t => unit = ""; -[@bs.send] external popN: (t, int) => unit = ""; -[@bs.send] external popToTop: t => unit = ""; +[@bs.send] external pop: t => unit = "pop"; +[@bs.send] external popN: (t, int) => unit = "popN"; +[@bs.send] external popToTop: t => unit = "popToTop"; // Drawer navigator only -[@bs.send] external openDrawer: t => unit = ""; -[@bs.send] external closeDrawer: t => unit = ""; -[@bs.send] external toggleDrawer: t => unit = ""; +[@bs.send] external openDrawer: t => unit = "openDrawer"; +[@bs.send] external closeDrawer: t => unit = "closeDrawer"; +[@bs.send] external toggleDrawer: t => unit = "toggleDrawer"; \ No newline at end of file diff --git a/src/NavigationActions.re b/src/NavigationActions.re index 4e478d51..4751b065 100644 --- a/src/NavigationActions.re +++ b/src/NavigationActions.re @@ -15,7 +15,7 @@ external backParams: ""; [@bs.module "react-navigation"] [@bs.scope "NavigationActions"] -external navigate: navigateParams => action = ""; +external navigate: navigateParams => action = "navigate"; [@bs.module "react-navigation"] [@bs.scope "NavigationActions"] -external back: backParams => action = ""; +external back: backParams => action = "back"; \ No newline at end of file diff --git a/src/NavigationContainer.re b/src/NavigationContainer.re index c5845235..9bc5d89b 100644 --- a/src/NavigationContainer.re +++ b/src/NavigationContainer.re @@ -1,2 +1,3 @@ type t; -[@bs.send] external dispatch: (t, NavigationActions.action) => unit = ""; +[@bs.send] +external dispatch: (t, NavigationActions.action) => unit = "dispatch"; \ No newline at end of file