Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ReScript 12 compatibility#79

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
Freddy03h merged 1 commit intomainfromrescript-12-compat
Apr 11, 2025
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletionssrc/BottomTabs.bs.js
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,33 @@
'use strict';

var Interop = require("./Interop");
var BottomTabs = require("@react-navigation/bottom-tabs");

var TabBarBadge = {};

function Make($star) {
return Interop.adaptNavigatorModule(BottomTabs.createBottomTabNavigator());
var internal = BottomTabs.createBottomTabNavigator();
var make = internal.Navigator;
var $$Navigator = {
make: make
};
var make$1 = internal.Screen;
var $$Screen = {
make: make$1
};
var make$2 = internal.Group;
var Group = {
make: make$2
};
return {
$$Navigator: $$Navigator,
$$Screen: $$Screen,
Group: Group
};
}

var $$Navigation = {};

exports.TabBarBadge = TabBarBadge;
exports.Make = Make;
exports.$$Navigation = $$Navigation;
/*./Interop Not a pure module */
/*@react-navigation/bottom-tabs Not a pure module */
80 changes: 45 additions & 35 deletionssrc/BottomTabs.res
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -96,55 +96,65 @@ and headerParams = {
layout: layout,
}

type navigatorProps = {
id?: string,
initialRouteName?: string,
screenOptions?: screenOptionsParams => options,
backBehavior?: backBehavior,
detachInactiveScreens?: bool,
tabBar?: unit => React.element,
layout?: layoutNavigatorParams => React.element,
children: React.element,
}

type screenProps<'params> = {
name: string,
navigationKey?: string,
options?: screenOptionsParams => options,
initialParams?: 'params,
getId?: getIdOptions => option<string>,
component?: React.component<screenProps>,
getComponent?: unit => React.component<screenProps>,
children?: screenProps => React.element,
}

type groupProps = {
navigationKey?: string,
screenOptions?: screenOptionsParams => options,
}

module type NavigatorModule = {
module Navigator: {
@react.component
let make: (
~id: string=?,
~initialRouteName: string=?,
~screenOptions: screenOptionsParams => options=?,
~backBehavior: backBehavior=?,
~detachInactiveScreens: bool=?,
~tabBar: unit => React.element=?,
~layout: layoutNavigatorParams => React.element=?,
~children: React.element,
) => React.element
let make: React.component<navigatorProps>
}

module Screen: {
@react.component
let make: (
~name: string,
~navigationKey: string=?,
~options: screenOptionsParams => options=?,
~initialParams: 'params=?,
~getId: getIdOptions => option<string>=?,
~component: React.component<screenProps>=?,
~getComponent: unit => React.component<screenProps>=?,
~children: screenProps => React.element=?,
) => React.element
let make: React.component<screenProps<'params>>
}

module Group: {
@react.component
let make: (
~navigationKey: string=?,
~screenOptions: screenOptionsParams => options=?,
) => React.element
let make: React.component<groupProps>
}
}

type navigatorModule

%%private(
module Make = (): NavigatorModule => {
@module("@react-navigation/bottom-tabs")
external createBottomTabNavigator: unit =>navigatorModule = "createBottomTabNavigator"
external createBottomTabNavigator: unit =>{..} = "createBottomTabNavigator"

@module("./Interop")
external adaptNavigatorModule: navigatorModule => module(NavigatorModule) = "adaptNavigatorModule"
)
let internal = createBottomTabNavigator()

module Make = () => unpack(createBottomTabNavigator()->adaptNavigatorModule)
module Navigator = {
let make = internal["Navigator"]
}

module Screen = {
let make = internal["Screen"]
}

module Group = {
let make = internal["Group"]
}
}

module Navigation = {
@send external jumpTo: (navigation, string, ~params: 'params=?) => unit = "jumpTo"
Expand Down
22 changes: 19 additions & 3 deletionssrc/Drawer.bs.js
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,26 @@
'use strict';

var Interop = require("./Interop");
var Drawer = require("@react-navigation/drawer");

function Make($star) {
return Interop.adaptNavigatorModule(Drawer.createDrawerNavigator());
var internal = Drawer.createDrawerNavigator();
var make = internal.Navigator;
var $$Navigator = {
make: make
};
var make$1 = internal.Screen;
var $$Screen = {
make: make$1
};
var make$2 = internal.Group;
var Group = {
make: make$2
};
return {
$$Navigator: $$Navigator,
$$Screen: $$Screen,
Group: Group
};
}

var $$Navigation = {};
Expand All@@ -14,4 +30,4 @@ var DrawerItemList = {};
exports.Make = Make;
exports.$$Navigation = $$Navigation;
exports.DrawerItemList = DrawerItemList;
/*./Interop Not a pure module */
/*@react-navigation/drawer Not a pure module */
84 changes: 47 additions & 37 deletionssrc/Drawer.res
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -92,57 +92,67 @@ type contentComponentProps = {

type drawerStatus = [#"open" | #closed]

type navigatorProps = {
id?: string,
initialRouteName?: string,
screenOptions?: screenOptionsParams => options,
backBehavior?: backBehavior,
defaultStatus?: drawerStatus,
detachInactiveScreens?: bool,
useLegacyImplementation?: bool,
drawerContent?: React.component<contentComponentProps>,
layout?: layoutNavigatorParams => React.element,
children?: React.element,
}

type screenProps<'params> = {
name: string,
navigationKey?: string,
options?: screenOptionsParams => options,
initialParams?: 'params,
getId?: getIdOptions => option<string>,
component?: React.component<screenProps>,
getComponent?: unit => React.component<screenProps>,
children?: screenProps => React.element,
}

type groupProps = {
navigationKey?: string,
screenOptions?: screenOptionsParams => options,
}

module type NavigatorModule = {
module Navigator: {
@react.component
let make: (
~id: string=?,
~initialRouteName: string=?,
~screenOptions: screenOptionsParams => options=?,
~backBehavior: backBehavior=?,
~defaultStatus: drawerStatus=?,
~detachInactiveScreens: bool=?,
~useLegacyImplementation: bool=?,
~drawerContent: React.component<contentComponentProps>=?,
~layout: layoutNavigatorParams => React.element=?,
~children: React.element=?,
) => React.element
let make: React.component<navigatorProps>
}

module Screen: {
@react.component
let make: (
~name: string,
~navigationKey: string=?,
~options: screenOptionsParams => options=?,
~initialParams: 'params=?,
~getId: getIdOptions => option<string>=?,
~component: React.component<screenProps>=?,
~getComponent: unit => React.component<screenProps>=?,
~children: screenProps => React.element=?,
) => React.element
let make: React.component<screenProps<'params>>
}

module Group: {
@react.component
let make: (
~navigationKey: string=?,
~screenOptions: screenOptionsParams => options=?,
) => React.element
let make: React.component<groupProps>
}
}

type navigatorModule

%%private(
module Make = (): NavigatorModule => {
@module("@react-navigation/drawer")
external createDrawerNavigator: unit =>navigatorModule = "createDrawerNavigator"
external createDrawerNavigator: unit =>{..} = "createDrawerNavigator"

@module("./Interop")
external adaptNavigatorModule: navigatorModule => module(NavigatorModule) = "adaptNavigatorModule"
)
let internal = createDrawerNavigator()

module Make = () => unpack(createDrawerNavigator()->adaptNavigatorModule)
module Navigator = {
let make = internal["Navigator"]
}

module Screen = {
let make = internal["Screen"]
}

module Group = {
let make = internal["Group"]
}
}

module Navigation = {
@send
Expand Down
10 changes: 0 additions & 10 deletionssrc/Interop.js
View file
Open in desktop

This file was deleted.

24 changes: 20 additions & 4 deletionssrc/MaterialBottomTabs.bs.js
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,33 @@
'use strict';

var Interop = require("./Interop");
var ReactNavigation = require("react-native-paper/react-navigation");
var MaterialBottomTabs = require("@react-navigation/material-bottom-tabs");

var TabBarBadge = {};

function Make($star) {
return Interop.adaptNavigatorModule(ReactNavigation.createMaterialBottomTabNavigator());
var internal = MaterialBottomTabs.createMaterialBottomTabNavigator();
var make = internal.Navigator;
var $$Navigator = {
make: make
};
var make$1 = internal.Screen;
var $$Screen = {
make: make$1
};
var make$2 = internal.Group;
var Group = {
make: make$2
};
return {
$$Navigator: $$Navigator,
$$Screen: $$Screen,
Group: Group
};
}

var $$Navigation = {};

exports.TabBarBadge = TabBarBadge;
exports.Make = Make;
exports.$$Navigation = $$Navigation;
/*./Interop Not a pure module */
/*@react-navigation/material-bottom-tabs Not a pure module */
Loading

[8]ページ先頭

©2009-2025 Movatter.jp