react-aveo-pack
v1.1.0
Published
[![npm version](https://badge.fury.io/js/react-aveo-pack.svg)](https://www.npmjs.com/package/react-aveo-pack) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
Downloads
6
Readme
React Aveo Pack
A powerful React package for Aveo applications.
Installation
Install react-aveo-pack
using npm:
npm install react-aveo-pack
Utility Functions
validateEmail and validatePassword
import { validateEmail, validatePassword } from "react-aveo-pack";
// Example usage of validation functions
const emailIsValid = validateEmail("[email protected]");
const passwordIsValid = validatePassword("StrongPassword123");
getErrorMessage
The getErrorMessage
function is designed to extract meaningful error messages from API calls. It serves as a utility to enhance error handling and provide informative feedback to users or developers. This function is particularly useful in scenarios where API responses may contain varied structures or when unexpected errors occur.
const APICALL = async () => {
try {
const res = await YOUR_API();
} catch (error) {
getErrorMessage(error);
}
};
apiService(apiSettings)
A function for making API requests.
Parameters:
apiSettings
(Object): An object containing the following properties:
url
(String, required): API endpoint URL.
requestMethod
(String): HTTP request method (e.g., "POST", "GET") If customFetcher provided then not required.
payload
(Object): Data to be sent with the request.
customFetcher
(Function): Custom fetcher function.
baseUrl
(String): Base URL for the API If customFetcher not provided then its required.
accessToken
(String): Access token for authorization If customFetcher not provided then its required.
import { apiService, getErrorMessage } from "react-aveo-pack";
const apiSettings = {
url: "/api-endpoint",
requestMethod: "POST",
payload: { name: "any" },
customFetcher: authHttp.post,
baseUrl: "[Base_Url]",
accessToken: "[Access_Token]",
};
try {
const result = await apiService(apiSettings);
console.log("API Response:", result);
} catch (error) {
getErrorMessage(error);
}
loginWithEmail(props)
An asynchronous function for logging in with an email. It performs also email validation.
Parameters:
props
(Object): An object containing the following properties:
apiFunction
(Function, required): The asynchronous function to call the API for login.
credential
(Object, required): An object containing email and password for login.
onSuccess
(Function, required): Callback function to execute on successful API call.
onFailed
(Function, required): Callback function to execute on a failed API call.
import { loginWithEmail } from "react-aveo-pack";
loginWithEmail({
apiFunction: axios.post(
"https://api.escuelajs.co/api/v1/auth/login",
requestBody
),
credential: { email: "[email protected]", password: "Pass@123" },
onSuccess: (res) => {
console.log("Login successful:", res);
// Additional logic on success
},
onFailed: (error) => {
console.error("Login failed:", error);
// Additional logic on failure
},
});
objectKeysHasValues(obj)
A function that filters out key-value pairs from an object where the values are considered non-empty or truthy.
Parameters:
obj
(Object): The input object to filter.
Returns: An object containing only the key-value pairs that pass the non-empty or truthy conditions.
Example:
// Importing the objectKeysHasValues function from your package
import { objectKeysHasValues } from "react-aveo-pack";
// Example usage of the objectKeysHasValues function
const inputObject = {
name: "John Doe",
age: 25,
email: "",
hobbies: [],
address: null,
};
const filteredObject = objectKeysHasValues(inputObject);
console.log("Filtered Object:", filteredObject);
// Output: { name: 'John Doe', age: 25 }
removeItemLocalStorage(array)
A function that removes items from the localStorage based on the provided array of keys.
Parameters:
array
(Array): An array of strings representing keys to be removed from localStorage.
Throws: {Error} If the provided array is invalid or empty.
Example:
// Importing the removeItemLocalStorage function from your package
import { removeItemLocalStorage } from "react-aveo-pack";
// Example usage of the removeItemLocalStorage function
const keysToRemove = ["userToken", "settings", "theme"];
removeItemLocalStorage(keysToRemove);