@dappnode/dappnodesdk
Version:
dappnodesdk is a tool to make the creation of new dappnode packages as simple as possible. It helps to initialize and publish in ethereum blockchain
40 lines • 1.31 kB
JavaScript
import { URL } from "url";
function getIpfsProviderUrl(provider = "dappnode") {
if (provider === "dappnode") {
return "http://ipfs.dappnode";
}
else if (provider === "remote") {
return "https://api.ipfs.dappnode.io";
}
else if (provider === "infura") {
return "https://ipfs.infura.io";
}
else {
return provider;
}
}
function parseIpfsProviderUrl(provider) {
if (provider.includes("://")) {
// http://ipfs.dappnode
// http://ipfs.dappnode:5002
const [protocol, hostAndPort] = provider.split("://");
const defaultPort = protocol === "https" ? 443 : 5001;
const [host, port = defaultPort] = hostAndPort.split(":");
return { host, port, protocol };
}
else {
// ipfs.dappnode
// ipfs.dappnode:5002
const [host, port = 443] = provider.split(":");
return { host, port, protocol: "https" };
}
}
export function normalizeIpfsProvider(provider) {
const providerUrl = getIpfsProviderUrl(provider);
const { host, port, protocol } = parseIpfsProviderUrl(providerUrl);
const fullUrl = `${protocol}://${host}:${port}`;
// #### TEMP: Make sure the URL is correct
new URL(fullUrl);
return fullUrl;
}
//# sourceMappingURL=ipfsProvider.js.map