@rustedcompiler/frappe-hooks
Version:
Reusable HTTP hooks for React and Frappe
29 lines • 1.06 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.FrappeProvider = void 0;
exports.useFrappe = useFrappe;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const __1 = require("../..");
const FrappeContext = (0, react_1.createContext)(null);
const FrappeProvider = ({ children, options }) => {
const [client, setClient] = (0, react_1.useState)(new __1.FrappeClient({
baseURL: options.baseURL,
}));
(0, react_1.useEffect)(() => {
const client = __1.FrappeClient.getInstance(options);
setClient(client);
}, [options]);
if (!client)
return null;
return ((0, jsx_runtime_1.jsx)(FrappeContext.Provider, { value: client, children: children }));
};
exports.FrappeProvider = FrappeProvider;
function useFrappe() {
const context = (0, react_1.useContext)(FrappeContext);
if (!context) {
throw new Error("useFrappe must be used within a FrappeProvider");
}
return context;
}
//# sourceMappingURL=FrappeProvider.js.map
;