autumn-js
Version:
Autumn JS Library
73 lines (71 loc) • 1.5 kB
JavaScript
"use client";
import { getPricingTableAction } from "../server/componentActions";
import { AutumnClientError } from "./types";
const toClientErrorResponse = (error) => {
let msg = "Unknown error";
let code = "unknown";
if (error?.message) {
msg = error.message;
}
if (error?.code) {
code = error.code;
}
console.error("Autumn Error: ", msg);
return {
data: null,
error: new AutumnClientError({ message: msg, code })
};
};
const toClientError = (error, log = true) => {
let msg = "Unknown error";
let code = "unknown";
if (error?.message) {
msg = error.message;
}
if (error?.code) {
code = error.code;
}
if (log) {
console.error("Autumn Error: ", msg);
}
return new AutumnClientError({ message: msg, code });
};
const fetchPricingTableData = async ({
setIsLoading,
setError,
setProducts,
encryptedCustomerId
}) => {
let returnData = null;
try {
if (setIsLoading) {
setIsLoading(true);
}
const res = await getPricingTableAction({
encryptedCustomerId
});
if (res.error) {
if (setError) {
setError(res.error);
}
return res;
}
let products = res.data.list;
setProducts(products);
returnData = products;
} catch (error) {
if (setError) {
setError(error);
}
} finally {
if (setIsLoading) {
setIsLoading(false);
}
}
return returnData;
};
export {
fetchPricingTableData,
toClientError,
toClientErrorResponse
};