15 lines
547 B
TypeScript
15 lines
547 B
TypeScript
import { readerFromStreamReader } from "https://deno.land/std/io/mod.ts";
|
|
import { basename, dirname } from "https://deno.land/std/path/mod.ts";
|
|
|
|
export async function snarf(url: Request | string, init?: RequestInit, fn?: string): Promise<void> {
|
|
var outf= fn ?? basename(typeof url === "string" ? url : url.url)
|
|
res= await fetch(url, init);
|
|
sr= res.body?.getReader();
|
|
if(sr !== null && sr !== void 0) {
|
|
var r=readerFromStreamReader(sr);
|
|
var f=Deno.open(outf, {create:true,write:true})
|
|
await Deno.copy(r,f)
|
|
f.close()
|
|
}
|
|
}
|