ipfs-core
Version:
JavaScript implementation of the IPFS specification
27 lines (21 loc) • 747 B
JavaScript
import { isValidMultiaddr } from './utils.js'
import { withTimeoutOption } from 'ipfs-core-utils/with-timeout-option'
/**
* @param {object} config
* @param {import('ipfs-repo').IPFSRepo} config.repo
*/
export function createRm ({ repo }) {
/**
* @type {import('ipfs-core-types/src/bootstrap').API<{}>["rm"]}
*/
async function rm (multiaddr, options = {}) {
if (!isValidMultiaddr(multiaddr)) {
throw new Error(`${multiaddr} is not a valid Multiaddr`)
}
const config = await repo.config.getAll(options)
config.Bootstrap = (config.Bootstrap || []).filter(ma => ma.toString() !== multiaddr.toString())
await repo.config.replace(config)
return { Peers: [multiaddr] }
}
return withTimeoutOption(rm)
}