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

codingdestro/saber-api

Repository files navigation

Saber API

A lightweight React hook for handling API requests with TypeScript support.

Installation

npm install saber-api
# or
yarn add saber-api

Available Hooks

useSaber

A powerful hook for handling API requests with built-in loading, error, and status management.

import { useSaber, fetchSaber } from 'saber-api';
function MyComponent() {
 const { data, loading, error, status, call } = useSaber(async () => {
 // Your API call here
 return await fetchSaber<UserData>('https://api.example.com/users');
 });
 // Trigger the API call
 useEffect(() => {
 call();
 }, []);
 if (loading) return <div>Loading...</div>;
 if (error) return <div>Error: {error.message}</div>;
 if (data) return <div>Data: {JSON.stringify(data)}</div>;
 return null;
}

The useSaber hook provides:

  • data: The response data (null initially)
  • loading: Boolean indicating if the request is in progress
  • error: Any error that occurred during the request
  • status: Current status ('idle' | 'loading' | 'success' | 'error')
  • call: Function to trigger the API request

The fetchSaber utility function provides a typed wrapper around the fetch API with proper error handling.

Development

  1. Clone the repository
  2. Install dependencies:
    npm install
  3. Run tests:
    npm test
    # or with watch mode
    npm run test:watch
  4. Build the package:
    npm run build
  5. For development with watch mode:
    npm run dev

Additional development commands:

  • npm run lint: Run ESLint
  • npm run format: Format code with Prettier

Requirements

  • React >= 18.0.0
  • React DOM >= 18.0.0

License

MIT

About

A react hook for handling REST api requests with native fetch api.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /