This commit is contained in:
2019-07-05 23:43:35 +02:00
parent ddfa81a458
commit 4db704759e
65 changed files with 13 additions and 3581 deletions

View File

@@ -0,0 +1,18 @@
import { useEffect, useState } from 'react';
const useLog = (provider) => {
const [logs, setLogs] = useState([]);
useEffect(() => {
const update = (newLogs) => {
setLogs([...newLogs]);
}
provider.listen(update);
return () => {
provider.unlisten(update);
}
}, []);
return logs;
};
export default useLog;

View File

@@ -0,0 +1,40 @@
import { useState, useEffect } from 'react';
const useStorage = (provider) => {
const [data, setData] = useState({});
const update = async () => {
const keys = await provider.getAllKeys();
const values = await Promise.all(keys.map(key => provider.getItem(key)));
const data = {};
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
const value = values[i];
data[key] = value;
}
setData(data);
};
const removeItem = async (name) => {
await provider.removeItem(name);
await update();
}
const clear = async () => {
await provider.clear();
await update();
}
useEffect(() => {
update().catch(err => console.error(err));
}, []);
return {
data,
update,
removeItem,
clear,
}
}
export default useStorage;

View File

@@ -0,0 +1,18 @@
import { useState, useEffect } from 'react';
const useRequests = (provider) => {
const [requests, setRequests] = useState([]);
useEffect(() => {
const update = (newRequests) => {
setRequests(newRequests);
};
provider.listen(update);
return () => {
provider.unlisten(update);
};
}, []);
return requests;
};
export default useRequests;