@applicaster/zapp-react-native-app
Version:
Zapp App Component for Applicaster's Quick Brick React Native App
31 lines (26 loc) • 871 B
text/typescript
import { resolveNavigationPlugin } from "@applicaster/zapp-react-native-utils/navigationUtils";
type Category = "menu" | "nav_bar";
/**
* Returns the module of the required navigation plugin for the requested category
* and injects the initial matching navigation object.
* @param {String} category Either "menu" or "nav_bar"
* @param {Object} object Usually a screen, containing a "navigation" object
* @param {Object} plugins Plugins list from store
*/
export function getNavigationPluginModule(
category: Category,
{ navigations }: ZappRiver,
plugins: QuickBrickPlugin[]
) {
const plugin = resolveNavigationPlugin({
category,
navigations,
plugins,
});
if (!plugin || !plugin.module) {
throw new Error(
`No plugin or plugin module found for requested navigation category: ${category}`
);
}
return plugin.module;
}