9s-fe-core
Version:
Core functionalities for authentication, configuration, and repository management.
22 lines (21 loc) • 833 B
JavaScript
;
'use client';
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCsrfToken = exports.CsrfProvider = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const repository_1 = require("../repository");
const react_1 = require("react");
const CsrfContext = (0, react_1.createContext)(undefined);
const CsrfProvider = ({ token, children, }) => {
repository_1.baseRepository.setCsrfToken(token);
return ((0, jsx_runtime_1.jsx)(CsrfContext.Provider, { value: { token }, children: children }));
};
exports.CsrfProvider = CsrfProvider;
const useCsrfToken = () => {
const context = (0, react_1.useContext)(CsrfContext);
if (!context) {
throw new Error('useCsrfToken must be used within a CsrfConfig');
}
return context.token;
};
exports.useCsrfToken = useCsrfToken;