Socket
Book a DemoInstallSign in
Socket

@simple-node/structured-response

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@simple-node/structured-response

This repository contains classes for handling API responses in JavaScript/TypeScript. These classes provide a structured and consistent way of handling both successful and error API responses.

latest
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

This repository contains classes for handling API responses in JavaScript/TypeScript. These classes provide a structured and consistent way of handling both successful and error API responses.

APIErrorTypes

The APIErrorTypes constant is an object that defines the different types of errors that can be encountered in API responses. It has two properties:

  • AUTH_ERROR: Indicates an authentication-related error.
  • API_ERROR: Represents a general API error.

APIErrorResponse

The APIErrorResponse class extends the APIResponse class and is used to construct error responses from the API. It takes two parameters:

  • errorType: The type of the error. It can be one of the values defined in APIErrorTypes.
  • errorMessage: An optional parameter that contains a custom error message.

Usage:

const errorResponse = new APIErrorResponse(APIErrorTypes.AUTH_ERROR, 'Invalid token');

APISuccessResponse

The APISuccessResponse class extends the APIResponse class and is used to construct successful responses from the API. It takes a single parameter:

  • body: The data to be included in the response body.

Usage:

const successResponse = new APISuccessResponse({ name: 'John', age: 30 });

APIResponse

The APIResponse class is the base class for both error and success responses. It contains methods for setting and retrieving response data, meta information, headers, and error details.

Methods:

  • setData(data): Sets the response data.
  • getData(): Retrieves the response data.
  • setMeta(meta): Sets the meta information for the response.
  • getMeta(): Retrieves the meta information.
  • setAuth(auth): Sets the authentication details for the response.
  • getAuth(): Retrieves the authentication details.
  • getHeaders(): Retrieves the response headers.
  • setHeaders(headers): Sets the response headers.
  • setError(errorType, errorMessage = ''): Sets the error details for the response. Pass the errorType from APIErrorTypes and an optional custom errorMessage.
  • getError(): Retrieves the error details if an error is present; otherwise, returns null.
  • toJSON(): Converts the APIResponse instance to a JSON object.
  • static fromJSON(json): Creates an APIResponse instance from a JSON object.

Usage:

const response = new APIResponse();
response.setData({ name: 'Jane', age: 25 });
response.setMeta({ requestId: '123456' });
response.setHeaders({ 'Content-Type': 'application/json' });
response.setError(APIErrorTypes.API_ERROR, 'Internal server error');

const jsonResponse = response.toJSON();
const responseFromJson = APIResponse.fromJSON(jsonResponse);

License

This project is licensed under the MIT License - see the LICENSE file for details.

FAQs

Package last updated on 20 Jul 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts