@architecturex/utils.api
TypeScript icon, indicating that this package has built-in type declarations

1.1.13 • Public • Published

@architecturex/utils.api

api

This module provides a set of utility functions to simplify and standardize API calls using the Fetch API.

Installation

npm install @architecturex/utils.api

Methods

  • api.get(url: string, headers?: RequestHeaders): Performs a GET request.
  • api.post(url: string, data: RequestBody, headers?: RequestHeaders): Performs a POST request.
  • api.put(url: string, data: RequestBody, headers?: RequestHeaders): Performs a PUT request.
  • api.delete(url: string, headers?: RequestHeaders): Performs a DELETE request.
  • api.handleError(response: Response): Handles errors based on the response status.
  • api.handleResponse(args: Args): Returns a standardized response object.

Types

  • RequestHeaders: Object where the key is the header name and the value is the header value.
  • RequestBody: Object representing any JSON serializable data.
  • Args: Parameters for handleResponse including data, error, cache, and status.

Usage

import api from '@architecturex/utils.api'

// Performing a GET request
async function fetchData() {
  try {
    const data = await api.get('https://api.example.com/data')
    console.log(data)
  } catch (error) {
    console.error('Error fetching data:', error)
  }
}

// Performing a POST request
async function postData(newData) {
  try {
    const response = await api.post('https://api.example.com/data', newData)
    console.log(response)
  } catch (error) {
    console.error('Error posting data:', error)
  }
}

Response Handling

Both the handleError and handleResponse methods are provided to assist with error handling. handleError interprets the status code of the response and logs an appropriate error message. The handleResponse method, on the other hand, creates a standardized response object that can help streamline the handling of both successful and erroneous API calls in your application.

Contribution

Feel free to suggest improvements, report issues, or contribute to enhancing this utility. Your feedback and contributions are welcome!

Package Sidebar

Install

npm i @architecturex/utils.api

Weekly Downloads

20

Version

1.1.13

License

MIT

Unpacked Size

7.66 kB

Total Files

5

Last publish

Collaborators

  • architecturex