101 lines
2.8 KiB
JavaScript
101 lines
2.8 KiB
JavaScript
// https://d3js.org/d3-fetch/ v3.0.1 Copyright 2016-2021 Mike Bostock
|
|
(function (global, factory) {
|
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-dsv')) :
|
|
typeof define === 'function' && define.amd ? define(['exports', 'd3-dsv'], factory) :
|
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.d3 = global.d3 || {}, global.d3));
|
|
}(this, (function (exports, d3Dsv) { 'use strict';
|
|
|
|
function responseBlob(response) {
|
|
if (!response.ok) throw new Error(response.status + " " + response.statusText);
|
|
return response.blob();
|
|
}
|
|
|
|
function blob(input, init) {
|
|
return fetch(input, init).then(responseBlob);
|
|
}
|
|
|
|
function responseArrayBuffer(response) {
|
|
if (!response.ok) throw new Error(response.status + " " + response.statusText);
|
|
return response.arrayBuffer();
|
|
}
|
|
|
|
function buffer(input, init) {
|
|
return fetch(input, init).then(responseArrayBuffer);
|
|
}
|
|
|
|
function responseText(response) {
|
|
if (!response.ok) throw new Error(response.status + " " + response.statusText);
|
|
return response.text();
|
|
}
|
|
|
|
function text(input, init) {
|
|
return fetch(input, init).then(responseText);
|
|
}
|
|
|
|
function dsvParse(parse) {
|
|
return function(input, init, row) {
|
|
if (arguments.length === 2 && typeof init === "function") row = init, init = undefined;
|
|
return text(input, init).then(function(response) {
|
|
return parse(response, row);
|
|
});
|
|
};
|
|
}
|
|
|
|
function dsv(delimiter, input, init, row) {
|
|
if (arguments.length === 3 && typeof init === "function") row = init, init = undefined;
|
|
var format = d3Dsv.dsvFormat(delimiter);
|
|
return text(input, init).then(function(response) {
|
|
return format.parse(response, row);
|
|
});
|
|
}
|
|
|
|
var csv = dsvParse(d3Dsv.csvParse);
|
|
var tsv = dsvParse(d3Dsv.tsvParse);
|
|
|
|
function image(input, init) {
|
|
return new Promise(function(resolve, reject) {
|
|
var image = new Image;
|
|
for (var key in init) image[key] = init[key];
|
|
image.onerror = reject;
|
|
image.onload = function() { resolve(image); };
|
|
image.src = input;
|
|
});
|
|
}
|
|
|
|
function responseJson(response) {
|
|
if (!response.ok) throw new Error(response.status + " " + response.statusText);
|
|
if (response.status === 204 || response.status === 205) return;
|
|
return response.json();
|
|
}
|
|
|
|
function json(input, init) {
|
|
return fetch(input, init).then(responseJson);
|
|
}
|
|
|
|
function parser(type) {
|
|
return (input, init) => text(input, init)
|
|
.then(text => (new DOMParser).parseFromString(text, type));
|
|
}
|
|
|
|
var xml = parser("application/xml");
|
|
|
|
var html = parser("text/html");
|
|
|
|
var svg = parser("image/svg+xml");
|
|
|
|
exports.blob = blob;
|
|
exports.buffer = buffer;
|
|
exports.csv = csv;
|
|
exports.dsv = dsv;
|
|
exports.html = html;
|
|
exports.image = image;
|
|
exports.json = json;
|
|
exports.svg = svg;
|
|
exports.text = text;
|
|
exports.tsv = tsv;
|
|
exports.xml = xml;
|
|
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
|
})));
|