wonder.js
Version:
60 lines (49 loc) • 1.89 kB
JavaScript
;
var Most = require("most");
var Curry = require("bs-platform/lib/js/curry.js");
var Log$WonderLog = require("wonder-log/lib/js/src/Log.js");
var NumberService$Wonderjs = require("../service/primitive/NumberService.js");
function createFetchJsonStream(filePath, fetchFunc) {
return Most.fromPromise(fetchFunc(filePath).then((function (prim) {
return prim.json();
})));
}
function createFetchArrayBufferStream(filePath, fetchFunc) {
return Most.fromPromise(fetchFunc(filePath).then((function (prim) {
return prim.arrayBuffer();
})));
}
function createFetchBlobStream(filePath, fetchFunc) {
return Most.fromPromise(fetchFunc(filePath).then((function (prim) {
return prim.blob();
})));
}
function isSupportStreamLoad (response){
return !!response.body && !!response.body.getReader
};
function getReader (response){
return response.body.getReader();
};
function _getContentLength (response){
return response.headers.get("content-length");
};
function getContentLength(response) {
var match = _getContentLength(response);
if (match == null) {
return Log$WonderLog.fatal(Log$WonderLog.buildErrorMessage("load", "Content-Length response header unavailable", "", "", ""));
} else {
return Curry._1(NumberService$Wonderjs.convertStringToInt, match);
}
}
function fetch$1(filePath) {
return fetch(filePath);
}
exports.createFetchJsonStream = createFetchJsonStream;
exports.createFetchArrayBufferStream = createFetchArrayBufferStream;
exports.createFetchBlobStream = createFetchBlobStream;
exports.isSupportStreamLoad = isSupportStreamLoad;
exports.getReader = getReader;
exports._getContentLength = _getContentLength;
exports.getContentLength = getContentLength;
exports.fetch = fetch$1;
/* most Not a pure module */