React Navigation is a comprehensive navigation library for React Native applications, providing stack, tab, drawer, and other navigators with deep linking support. The monorepo architecture consists of specialized packages (@react-navigation/core, @react-navigation/stack, etc.) that implement navigation primitives, state management, and UI components. Key entry points include package-specific index files and the example application demonstrating usage patterns. The library manages navigation state through React context and handles actions via reducers, with external dependencies on React Native, gesture handlers, and screens. It demonstrates strong engineering practices through TypeScript generics, custom hooks, platform abstraction, and comprehensive testing.
This repository is a React Native library that integrates Paystack payment processing into mobile applications using a WebView-based modal. It provides a `PaystackProvider` component that wraps the app and exposes a `usePaystack` hook for initiating transactions. The library handles parameter validation, generates an inline Paystack checkout page, and communicates payment events back to the app via WebView postMessage. It also supports deep linking for payment channels like Zap, intercepting specific URLs and opening them via the OS. The architecture follows a Provider pattern with context, making the payment functionality accessible throughout the app. The code is written in TypeScript with full type definitions and includes a test suite using Jest. However, the package.json contains unrealistic dependency versions (e.g., react@^17.0.1) indicating potential maintenance issues. The core utility functions for URL routing and external URL opening are well-designed and could be reused in other projects.