ipfsd-ctl
Version:
Spawn IPFS Daemons, JS or Go
47 lines • 1.37 kB
JavaScript
import { nanoid } from 'nanoid';
const deleteDb = async (path) => {
return await new Promise((resolve, reject) => {
const keys = self.indexedDB.deleteDatabase(path);
keys.onerror = (err) => reject(err);
keys.onsuccess = () => resolve();
});
};
/**
* close repoPath , repoPath/keys, repoPath/blocks and repoPath/datastore
*/
export const removeRepo = async (repoPath) => {
await deleteDb(repoPath);
await deleteDb(repoPath + '/keys');
await deleteDb(repoPath + '/blocks');
await deleteDb(repoPath + '/datastore');
};
/**
* @param {string} repoPath
*/
export const repoExists = async (repoPath) => {
return await new Promise((resolve, reject) => {
const req = self.indexedDB.open(repoPath);
let existed = true;
req.onerror = () => reject(req.error);
req.onsuccess = function () {
req.result.close();
if (!existed) {
self.indexedDB.deleteDatabase(repoPath);
}
resolve(existed);
};
req.onupgradeneeded = function () {
existed = false;
};
});
};
export const defaultRepo = () => {
return 'ipfs';
};
export const checkForRunningApi = () => {
return null;
};
export const tmpDir = (type = '') => {
return `${type}_ipfs_${nanoid()}`;
};
//# sourceMappingURL=utils.browser.js.map