@startpage/local-storage
Version:
Local storage management for your startpage
24 lines (23 loc) • 1.03 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStorageContext = void 0;
const react_1 = __importDefault(require("react"));
const __1 = require("../");
const createStorageContext = (key, initialValue) => {
const initialState = [initialValue, () => null];
const StorageContext = react_1.default.createContext(initialState);
const StorageProvider = ({ children }) => {
const [storage, setStorage] = (0, __1.useStorage)(key, initialValue);
return (react_1.default.createElement(StorageContext.Provider, { value: [storage, setStorage] }, children));
};
const useStorage = () => react_1.default.useContext(StorageContext);
return {
StorageConsumer: StorageContext.Consumer,
StorageProvider,
useStorage,
};
};
exports.createStorageContext = createStorageContext;