import * as d3Fetch from 'd3-fetch'; import { DSVParsedArray, DSVRowString } from 'd3-dsv'; interface MyType { foo: string; } const url = 'foo.bar'; const init: RequestInit = {}; let p1: Promise<Blob> = d3Fetch.blob(url); p1 = d3Fetch.blob(url, init); let p2: Promise<ArrayBuffer> = d3Fetch.buffer(url); p2 = d3Fetch.buffer(url, init); let p3: Promise<HTMLImageElement> = d3Fetch.image(url); const imageProperties = { width: '300px', height: '500px' }; p3 = d3Fetch.image(url, imageProperties); let p4: Promise<any> = d3Fetch.json(url); p4 = d3Fetch.json(url, init); let p5: Promise<MyType> = d3Fetch.json<MyType>(url); p5 = d3Fetch.json<MyType>(url, init); let myString: Promise<string>; myString = d3Fetch.text(url);
const map = new Map<string, number>(); const imageProperties = { width: 300, height: 500, crossOrigin: "anonymous", }; // ---------------------------------------------------------------------------- // Non DSV file format // ---------------------------------------------------------------------------- blobPromise = d3Fetch.blob(url); blobPromise = d3Fetch.blob(url, init); arrayPromise = d3Fetch.buffer(url); arrayPromise = d3Fetch.buffer(url, init); imagePromise = d3Fetch.image(url); imagePromise = d3Fetch.image(url, imageProperties); // $ExpectError imagePromise = d3Fetch.image(url, {width: "500px"}); // fails, string not assignable to number | undefined anyPromise = d3Fetch.json(url); anyPromise = d3Fetch.json(url, init); carPromise = d3Fetch.json<Car>(url); carPromise = d3Fetch.json<Car>(url, init); stringPromise = d3Fetch.text(url); stringPromise = d3Fetch.text(url, init);