UNPKG

@skbkontur/storybook-addon-live-examples

Version:

Storybook live examples plugin

38 lines (37 loc) 1.38 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useStorage = useStorage; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); function useStorage(_ref) { var storage = _ref.storage, storageKey = _ref.storageKey; var getCodeFromStorage = (0, _react.useCallback)(function () { return storage && storageKey ? storage.getItem(storageKey) : null; }, [storage, storageKey]); var resetCodeInStorage = (0, _react.useCallback)(function () { if (storage && storageKey) { storage.removeItem(storageKey); setCodeInStorage(null); } }, [storage, storageKey]); var updateCodeInStorage = (0, _react.useCallback)(function (code) { if (storage && storageKey) { storage.setItem(storageKey, code); setCodeInStorage(code); } }, [storage, storageKey]); var _useState = (0, _react.useState)(getCodeFromStorage()), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), codeInStorage = _useState2[0], setCodeInStorage = _useState2[1]; return { codeInStorage: codeInStorage, getCodeFromStorage: getCodeFromStorage, resetCodeInStorage: resetCodeInStorage, updateCodeInStorage: updateCodeInStorage }; }