UNPKG

@skbkontur/storybook-addon-live-examples

Version:

Storybook live examples plugin

31 lines 1.11 kB
import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import { useCallback, useState } from 'react'; export function useStorage(_ref) { var storage = _ref.storage, storageKey = _ref.storageKey; var getCodeFromStorage = useCallback(function () { return storage && storageKey ? storage.getItem(storageKey) : null; }, [storage, storageKey]); var resetCodeInStorage = useCallback(function () { if (storage && storageKey) { storage.removeItem(storageKey); setCodeInStorage(null); } }, [storage, storageKey]); var updateCodeInStorage = useCallback(function (code) { if (storage && storageKey) { storage.setItem(storageKey, code); setCodeInStorage(code); } }, [storage, storageKey]); var _useState = useState(getCodeFromStorage()), _useState2 = _slicedToArray(_useState, 2), codeInStorage = _useState2[0], setCodeInStorage = _useState2[1]; return { codeInStorage: codeInStorage, getCodeFromStorage: getCodeFromStorage, resetCodeInStorage: resetCodeInStorage, updateCodeInStorage: updateCodeInStorage }; }