diff --git a/packages/ipfs-api/src/utils.ts b/packages/ipfs-api/src/utils.ts index 19addf19..13722d20 100644 --- a/packages/ipfs-api/src/utils.ts +++ b/packages/ipfs-api/src/utils.ts @@ -15,7 +15,10 @@ export async function contentType(cid: string): Promise { export async function isDirectory(cid: string): Promise { const url = `${IPFS_INFURA_API}/api/v0/object/get?arg=${cid}&encoding=json`; const json = await got.get(url).json(); - return Boolean(json["Links"].length); + // TODO: terribly hacky but needed quick fix, it turns out files now contain + // multiple link objects as well so this method of checking whether it's a + // directory or not is not as great as it used to be + return (json["Links"].length && json["Links"][0] && json["Links"][0]["Name"] && json["Links"][0]["Name"] !== "") } export async function download(cid: string, destination: string, directory: boolean): Promise {