@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.06 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import r from"../../../request.js";import{result as e}from"../../../core/asyncUtils.js";import t from"../../../core/Error.js";import{throwIfAborted as a,throwIfAbortError as o}from"../../../core/promiseUtils.js";import{isDataProtocol as s,dataToArrayBuffer as i}from"../../../core/urlUtils.js";class n{constructor(r){this._streamDataRequester=r}async loadJSON(r,e){return this._load("json",r,e)}async loadBinary(r,e){return s(r)?(a(e),i(r)):this._load("binary",r,e)}async loadImage(r,e){return this._load("image",r,e)}async _load(a,s,i){if(null==this._streamDataRequester)return(await r(s,{responseType:m[a]})).data;const n=await e(this._streamDataRequester.request(s,a,i));if(!0===n.ok)return n.value;throw o(n.error),new t("glt-loader-request-error",`Request for resource failed: ${n.error}`)}}const m={image:"image",binary:"array-buffer",json:"json","image+type":void 0};export{n as DefaultLoadingContext};