react-tidy
Version:
A collection of atomic, independent, typed, tested and documented React custom hooks
231 lines (182 loc) • 7.82 kB
JavaScript
var $8zHUo$react = require("react");
function $parcel$exportWildcard(dest, source) {
Object.keys(source).forEach(function(key) {
if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {
return;
}
Object.defineProperty(dest, key, {
enumerable: true,
get: function get() {
return source[key];
}
});
});
return dest;
}
function $parcel$interopDefault(a) {
return a && a.__esModule ? a.default : a;
}
function $parcel$export(e, n, v, s) {
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
}
var $74e73e620711c15e$exports = {};
var $fc2e2bf955251e50$exports = {};
$parcel$export($fc2e2bf955251e50$exports, "useStorage", () => $fc2e2bf955251e50$export$95809329f49ea9f9);
function $a572a5b627a1529a$export$f6e2535fb5126e54(x) {
return !!x && ({}).toString.call(x) === "[object Function]";
}
function $6962a5857522199b$export$23b68da80b41ce8c() {
return typeof window === "object" && typeof document === "object";
}
var $77f3a97166178bdd$exports = {};
$parcel$export($77f3a97166178bdd$exports, "getDefaultStorage", () => $77f3a97166178bdd$export$c164ff19f266df37);
$parcel$export($77f3a97166178bdd$exports, "setDefaultStorage", () => $77f3a97166178bdd$export$ed3bf0d4310b827);
var $0a0fee2def31b784$exports = {};
$parcel$export($0a0fee2def31b784$exports, "createMemoryStorage", () => $0a0fee2def31b784$export$511bcabbec3c7baa);
const $0a0fee2def31b784$export$511bcabbec3c7baa = ()=>{
return new $0a0fee2def31b784$var$MemoryStorage();
};
class $0a0fee2def31b784$var$MemoryStorage {
memory = {};
get length() {
return Object.keys(this.memory).length;
}
getItem(key) {
return this.memory[key] || null;
}
setItem(key, value) {
this.memory[key] = value;
}
removeItem(key) {
delete this.memory[key];
}
key(index) {
const keys = Object.keys(this.memory);
return keys[index] || null;
}
clear() {
this.memory = {};
}
}
let $77f3a97166178bdd$var$defaultStorage;
if ((0, $6962a5857522199b$export$23b68da80b41ce8c)()) $77f3a97166178bdd$var$defaultStorage = window.localStorage;
else $77f3a97166178bdd$var$defaultStorage = (0, $0a0fee2def31b784$export$511bcabbec3c7baa)();
function $77f3a97166178bdd$export$c164ff19f266df37() {
return $77f3a97166178bdd$var$defaultStorage;
}
function $77f3a97166178bdd$export$ed3bf0d4310b827(storage) {
$77f3a97166178bdd$var$defaultStorage = storage;
}
var $0695c1517ffb192f$exports = {};
$parcel$export($0695c1517ffb192f$exports, "useIsMounted", () => $0695c1517ffb192f$export$80c2a3957bcb42ea);
function $0695c1517ffb192f$export$80c2a3957bcb42ea() {
const ref = (0, ($parcel$interopDefault($8zHUo$react))).useRef(true);
(0, ($parcel$interopDefault($8zHUo$react))).useEffect(()=>{
return ()=>{
ref.current = false;
};
}, []);
return (0, ($parcel$interopDefault($8zHUo$react))).useCallback(()=>ref.current, []);
}
function $fc2e2bf955251e50$export$95809329f49ea9f9(key, defaultValue = null, getStorage = (0, $77f3a97166178bdd$export$c164ff19f266df37)()) {
const isMounted = (0, $0695c1517ffb192f$export$80c2a3957bcb42ea)();
const storage = (0, ($parcel$interopDefault($8zHUo$react))).useMemo(()=>{
if (!(0, $6962a5857522199b$export$23b68da80b41ce8c)()) return (0, $0a0fee2def31b784$export$511bcabbec3c7baa)();
if ((0, $a572a5b627a1529a$export$f6e2535fb5126e54)(getStorage)) return getStorage();
return getStorage;
}, [
getStorage
]);
const initialValue = (0, ($parcel$interopDefault($8zHUo$react))).useMemo(()=>{
const storedString = storage.getItem(key);
return storedString === null ? defaultValue : JSON.parse(storedString);
}, [
storage,
key,
defaultValue
]);
const [value, setValue] = (0, ($parcel$interopDefault($8zHUo$react))).useState(initialValue);
(0, ($parcel$interopDefault($8zHUo$react))).useEffect(()=>{
storage.setItem(key, JSON.stringify(initialValue));
}, [
key,
initialValue
]);
const setItem = (0, ($parcel$interopDefault($8zHUo$react))).useCallback((newValue)=>{
if ((0, $a572a5b627a1529a$export$f6e2535fb5126e54)(newValue)) newValue = newValue(value);
if (newValue === null) storage.removeItem(key);
else storage.setItem(key, JSON.stringify(newValue));
if (isMounted()) setValue(newValue);
}, [
storage,
key,
value
]);
return [
value,
setItem
];
}
$parcel$exportWildcard($74e73e620711c15e$exports, $fc2e2bf955251e50$exports);
$parcel$exportWildcard($74e73e620711c15e$exports, $77f3a97166178bdd$exports);
$parcel$exportWildcard($74e73e620711c15e$exports, $0a0fee2def31b784$exports);
var $5b7989609e83196e$exports = {};
$parcel$export($5b7989609e83196e$exports, "useRefresh", () => $5b7989609e83196e$export$51fab111ee90cd8d);
function $5b7989609e83196e$export$51fab111ee90cd8d() {
const [, setVersion] = (0, ($parcel$interopDefault($8zHUo$react))).useState(0);
const isMounted = (0, $0695c1517ffb192f$export$80c2a3957bcb42ea)();
return ()=>{
if (isMounted()) setVersion((x)=>x + 1);
};
}
var $a03d4ef61850dd42$exports = {};
$parcel$export($a03d4ef61850dd42$exports, "useInstance", () => $a03d4ef61850dd42$export$f4a5c5dcfe1bba82);
const $cadaf361de0f503f$var$proxySymbol = Symbol();
function $cadaf361de0f503f$export$ce549044b8a3907f(target, notify) {
if (target[$cadaf361de0f503f$var$proxySymbol] === true) return target;
return new Proxy(target, {
get: $cadaf361de0f503f$var$makeTrap("get", notify),
defineProperty: $cadaf361de0f503f$var$makeTrap("defineProperty", notify),
deleteProperty: $cadaf361de0f503f$var$makeTrap("deleteProperty", notify)
});
}
function $cadaf361de0f503f$var$makeTrap(trap, notify) {
return (...args)=>{
if (trap === "get" && args[1] === $cadaf361de0f503f$var$proxySymbol) return true;
const original = Reflect[trap];
let result = original(...args);
if (trap === "get" && typeof result === "object" && result !== null) result = $cadaf361de0f503f$export$ce549044b8a3907f(result, notify);
if (trap !== "get") notify();
return result;
};
}
function $a03d4ef61850dd42$export$f4a5c5dcfe1bba82(Class, ...args) {
const refresh = (0, $5b7989609e83196e$export$51fab111ee90cd8d)();
const instance = (0, ($parcel$interopDefault($8zHUo$react))).useMemo(()=>(0, $cadaf361de0f503f$export$ce549044b8a3907f)(new Class(...args), refresh), args);
(0, ($parcel$interopDefault($8zHUo$react))).useEffect(()=>{
const currentInstance = instance;
return ()=>currentInstance.cleanup && currentInstance.cleanup();
}, args);
return instance;
}
var $7e6cfd89cc26bd48$exports = {};
$parcel$export($7e6cfd89cc26bd48$exports, "usePrevious", () => $7e6cfd89cc26bd48$export$5cae361ad82dce8b);
function $7e6cfd89cc26bd48$export$5cae361ad82dce8b(value, count = 1) {
const [history, setHistory] = (0, ($parcel$interopDefault($8zHUo$react))).useState([]);
(0, ($parcel$interopDefault($8zHUo$react))).useEffect(()=>{
if (history.length > count) history.pop();
setHistory([
value,
...history
]);
}, [
value
]);
return history.slice(1);
}
$parcel$exportWildcard(module.exports, $74e73e620711c15e$exports);
$parcel$exportWildcard(module.exports, $5b7989609e83196e$exports);
$parcel$exportWildcard(module.exports, $a03d4ef61850dd42$exports);
$parcel$exportWildcard(module.exports, $7e6cfd89cc26bd48$exports);
$parcel$exportWildcard(module.exports, $0695c1517ffb192f$exports);
//# sourceMappingURL=index.js.map