@rustedcompiler/frappe-hooks
Version:
Reusable HTTP hooks for React and Frappe
38 lines • 1.3 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.initializeClient = initializeClient;
exports.getFrappeClient = getFrappeClient;
exports.isFrappeClientInitialized = isFrappeClientInitialized;
const axios_1 = __importDefault(require("axios"));
let axiosInstance = null;
let isInitialized = false;
function initializeClient(config, force = false) {
if (isInitialized && !force) {
return axiosInstance;
}
const { baseURL, token } = config;
axiosInstance = axios_1.default.create({
baseURL: baseURL.replace(/\/$/, ''),
timeout: 10000,
headers: {
'Content-Type': 'application/json',
...(token && { Authorization: `token ${token}` }),
},
withCredentials: true
});
isInitialized = true;
return axiosInstance;
}
function getFrappeClient() {
if (!axiosInstance) {
throw new Error('HTTP client not initialized. Call initializeHttpClient() first.');
}
return axiosInstance;
}
function isFrappeClientInitialized() {
return isInitialized && axiosInstance !== null;
}
//# sourceMappingURL=frappe-instance.js.map
;