123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445 |
- import {
- s as s3
- } from "./chunk-FWSQEIAR.js";
- import {
- A,
- Bt,
- D,
- E,
- F,
- H,
- I,
- J,
- St,
- V,
- W,
- X,
- b,
- j as j2,
- mt,
- z
- } from "./chunk-VEGAOVMY.js";
- import {
- a,
- j,
- p,
- v
- } from "./chunk-V6P2MAQQ.js";
- import {
- s,
- s3 as s2
- } from "./chunk-E5O6P5I2.js";
- import {
- has,
- y
- } from "./chunk-SPWQ3AWG.js";
- import {
- e,
- r
- } from "./chunk-YXWMMD76.js";
- // node_modules/@arcgis/core/portal/support/urlUtils.js
- var e2 = /^https:\/\/([a-z\d-]+)(\.maps([^.]*))?\.arcgis\.com/i;
- var s4 = { devext: { customBaseUrl: "mapsdevext.arcgis.com", portalHostname: "devext.arcgis.com" }, qaext: { customBaseUrl: "mapsqa.arcgis.com", portalHostname: "qaext.arcgis.com" }, www: { customBaseUrl: "maps.arcgis.com", portalHostname: "www.arcgis.com" } };
- function a2(a4) {
- const t3 = a4 == null ? void 0 : a4.match(e2);
- if (!t3)
- return null;
- const [, r3, o, l] = t3;
- if (!r3)
- return null;
- let c2 = null, m2 = null, n = null;
- const { devext: u2, qaext: i, www: p2 } = s4;
- if (o)
- if (c2 = r3, l)
- switch (l.toLowerCase()) {
- case "devext":
- ({ customBaseUrl: m2, portalHostname: n } = u2);
- break;
- case "qa":
- ({ customBaseUrl: m2, portalHostname: n } = i);
- break;
- default:
- return null;
- }
- else
- ({ customBaseUrl: m2, portalHostname: n } = p2);
- else
- switch (r3.toLowerCase()) {
- case "devext":
- ({ customBaseUrl: m2, portalHostname: n } = u2);
- break;
- case "qaext":
- ({ customBaseUrl: m2, portalHostname: n } = i);
- break;
- case "www":
- ({ customBaseUrl: m2, portalHostname: n } = p2);
- break;
- default:
- return null;
- }
- return { customBaseUrl: m2, isPortal: false, portalHostname: n, urlKey: c2 };
- }
- function t(e3) {
- return /\/(sharing|usrsvcs)\/(appservices|servers)\//i.test(e3);
- }
- // node_modules/@arcgis/core/support/apiKeyUtils.js
- var t2 = ["elevation3d.arcgis.com", "js.arcgis.com", "jsdev.arcgis.com", "jsqa.arcgis.com", "static.arcgis.com"];
- function r2(c2) {
- const r3 = H(c2, true);
- return !!r3 && (r3.endsWith(".arcgis.com") && !t2.includes(r3) && !c2.endsWith("/sharing/rest/generateToken"));
- }
- // node_modules/@arcgis/core/support/requestUtils.js
- function c(r3, t3, n = false, s5) {
- return new Promise((i, c2) => {
- if (p(s5))
- return void c2(a3());
- let m2 = () => {
- f(), c2(new Error(`Unable to load ${t3}`));
- }, u2 = () => {
- const e3 = r3;
- f(), i(e3);
- }, d2 = () => {
- if (!r3)
- return;
- const e3 = r3;
- f(), e3.src = "", c2(a3());
- };
- const f = () => {
- has("esri-image-decode") || (r3.removeEventListener("error", m2), r3.removeEventListener("load", u2)), m2 = null, u2 = null, r3 = null, r(s5) && s5.removeEventListener("abort", d2), d2 = null, n && URL.revokeObjectURL(t3);
- };
- r(s5) && s5.addEventListener("abort", d2), has("esri-image-decode") ? r3.decode().then(u2, m2) : (r3.addEventListener("error", m2), r3.addEventListener("load", u2));
- });
- }
- function a3() {
- try {
- return new DOMException("Aborted", "AbortError");
- } catch {
- const r3 = new Error();
- return r3.name = "AbortError", r3;
- }
- }
- function m(e3) {
- var _a, _b, _c;
- s.request.crossOriginNoCorsDomains || (s.request.crossOriginNoCorsDomains = {});
- const o = s.request.crossOriginNoCorsDomains;
- for (let r3 of e3)
- r3 = r3.toLowerCase(), /^https?:\/\//.test(r3) ? o[(_a = H(r3)) != null ? _a : ""] = 0 : (o[(_b = H("http://" + r3)) != null ? _b : ""] = 0, o[(_c = H("https://" + r3)) != null ? _c : ""] = 0);
- }
- function u(e3) {
- const o = s.request.crossOriginNoCorsDomains;
- if (o) {
- let r3 = H(e3);
- if (r3)
- return r3 = r3.toLowerCase(), !z(r3, b()) && o[r3] < Date.now() - 36e5;
- }
- return false;
- }
- async function d(e3) {
- var _a;
- const o = s.request.crossOriginNoCorsDomains, n = H(e3);
- o && n && (o[n.toLowerCase()] = Date.now());
- const s5 = j2(e3);
- e3 = s5.path, "json" === ((_a = s5.query) == null ? void 0 : _a.f) && (e3 += "?f=json");
- try {
- await fetch(e3, { mode: "no-cors", credentials: "include" });
- } catch {
- }
- }
- // node_modules/@arcgis/core/request.js
- async function U(e3, r3) {
- var _a;
- const t3 = X(e3), s5 = V(e3);
- s5 || t3 || (e3 = F(e3));
- const n = { url: e3, requestOptions: { ...e(r3) } };
- let i = W(e3);
- if (i) {
- const e4 = await G(i, n);
- if (null != e4)
- return { data: e4, getHeader: M, requestOptions: n.requestOptions, url: n.url };
- i.after || i.error || (i = null);
- }
- if (e3 = n.url, "image" === (r3 = n.requestOptions).responseType) {
- if (has("host-webworker") || has("host-node"))
- throw N("request:invalid-parameters", new Error("responseType 'image' is not supported in Web Workers or Node environment"), n);
- } else if (t3)
- throw N("request:invalid-parameters", new Error("Data URLs are not supported for responseType = " + r3.responseType), n);
- if ("head" === r3.method) {
- if (r3.body)
- throw N("request:invalid-parameters", new Error("body parameter cannot be set when method is 'head'"), n);
- if (t3 || s5)
- throw N("request:invalid-parameters", new Error("data and blob URLs are not supported for method 'head'"), n);
- }
- if (await B(), j3)
- return j3.execute(e3, r3);
- const l = new AbortController();
- v(r3, () => l.abort());
- const m2 = { controller: l, credential: void 0, credentialToken: void 0, fetchOptions: void 0, hasToken: false, interceptor: i, params: n, redoRequest: false, useIdentity: P.useIdentity, useProxy: false, useSSL: false, withCredentials: false }, h = await Q(m2);
- return (_a = i == null ? void 0 : i.after) == null ? void 0 : _a.call(i, h), h;
- }
- var j3;
- var P = s.request;
- var D2 = "FormData" in globalThis;
- var _ = [499, 498, 403, 401];
- var F2 = ["COM_0056", "COM_0057", "SB_0008"];
- var I2 = [/\/arcgis\/tokens/i, /\/sharing(\/rest)?\/generatetoken/i, /\/rest\/info/i];
- var M = () => null;
- var R = Symbol();
- function A2(e3) {
- const r3 = H(e3);
- r3 && !U._corsServers.includes(r3) && U._corsServers.push(r3);
- }
- function H2(e3) {
- const r3 = H(e3);
- return !r3 || r3.endsWith(".arcgis.com") || U._corsServers.includes(r3) || D(r3);
- }
- function N(e3, r3, o, a4) {
- let l = "Error";
- const u2 = { url: o.url, requestOptions: o.requestOptions, getHeader: M, ssl: false };
- if (r3 instanceof s2)
- return r3.details ? (r3.details = y(r3.details), r3.details.url = o.url, r3.details.requestOptions = o.requestOptions) : r3.details = u2, r3;
- if (r3) {
- const e4 = a4 && ((e5) => a4.headers.get(e5)), t3 = a4 && a4.status, s5 = r3.message;
- s5 && (l = s5), e4 && (u2.getHeader = e4), u2.httpStatus = (null != r3.httpCode ? r3.httpCode : r3.code) || t3 || 0, u2.subCode = r3.subcode, u2.messageCode = r3.messageCode, "string" == typeof r3.details ? u2.messages = [r3.details] : u2.messages = r3.details, u2.raw = R in r3 ? r3[R] : r3;
- }
- return j(r3) ? a() : new s2(e3, l, u2);
- }
- async function B() {
- has("host-webworker") ? j3 || (j3 = await import("./request-57LWZI6T.js")) : U._abortableFetch || (U._abortableFetch = globalThis.fetch.bind(globalThis));
- }
- async function $() {
- s3 || await import("./IdentityManager-RSGL7L3S.js");
- }
- async function z2(t3) {
- var _a;
- const s5 = t3.params.url, o = t3.params.requestOptions, a4 = t3.controller.signal, n = o.body;
- let i = null, u2 = null;
- if (D2 && "HTMLFormElement" in globalThis && (n instanceof FormData ? i = n : n instanceof HTMLFormElement && (i = new FormData(n))), "string" == typeof n && (u2 = n), t3.fetchOptions = { cache: o.cacheBust && !U._abortableFetch.polyfill ? "no-cache" : "default", credentials: "same-origin", headers: o.headers || {}, method: "head" === o.method ? "HEAD" : "GET", mode: "cors", priority: P.priority, redirect: "follow", signal: a4 }, (i || u2) && (t3.fetchOptions.body = i || u2), "anonymous" === o.authMode && (t3.useIdentity = false), t3.hasToken = !!(/token=/i.test(s5) || ((_a = o.query) == null ? void 0 : _a.token) || (i == null ? void 0 : i.get("token"))), !t3.hasToken && s.apiKey && r2(s5) && (o.query || (o.query = {}), o.query.token = s.apiKey, t3.hasToken = true), t3.useIdentity && !t3.hasToken && !t3.credentialToken && !K(s5) && !p(a4)) {
- let e3;
- "immediate" === o.authMode ? (await $(), e3 = await s3.getCredential(s5, { signal: a4 }), t3.credential = e3) : "no-prompt" === o.authMode ? (await $(), e3 = await s3.getCredential(s5, { prompt: false, signal: a4 }).catch(() => {
- }), t3.credential = e3) : s3 && (e3 = s3.findCredential(s5)), e3 && (t3.credentialToken = e3.token, t3.useSSL = !!e3.ssl);
- }
- }
- function K(e3) {
- return I2.some((r3) => r3.test(e3));
- }
- async function W2(e3) {
- var _a, _b;
- let t3 = e3.params.url;
- const s5 = e3.params.requestOptions, o = (_a = e3.fetchOptions) != null ? _a : {}, a4 = V(t3) || X(t3), n = s5.responseType || "json", l = a4 ? 0 : null != s5.timeout ? s5.timeout : P.timeout;
- let d2 = false;
- if (!a4) {
- e3.useSSL && (t3 = mt(t3)), s5.cacheBust && "default" === o.cache && (t3 = St(t3, "request.preventCache", Date.now()));
- let a5 = { ...s5.query };
- e3.credentialToken && (a5.token = e3.credentialToken);
- let n2 = I(a5);
- has("esri-url-encodes-apostrophe") && (n2 = n2.replace(/'/g, "%27"));
- const i = t3.length + 1 + n2.length;
- let l2;
- d2 = "delete" === s5.method || "post" === s5.method || "put" === s5.method || !!s5.body || i > P.maxUrlLength;
- const u2 = s5.useProxy || !!J(t3);
- if (u2) {
- const e4 = A(t3);
- l2 = e4.path, !d2 && l2.length + 1 + i > P.maxUrlLength && (d2 = true), e4.query && (a5 = { ...e4.query, ...a5 });
- }
- if ("HEAD" === o.method && (d2 || u2)) {
- if (d2) {
- if (i > P.maxUrlLength)
- throw N("request:invalid-parameters", new Error("URL exceeds maximum length"), e3.params);
- throw N("request:invalid-parameters", new Error("cannot use POST request when method is 'head'"), e3.params);
- }
- if (u2)
- throw N("request:invalid-parameters", new Error("cannot use proxy when method is 'head'"), e3.params);
- }
- if (d2 ? (o.method = "delete" === s5.method ? "DELETE" : "put" === s5.method ? "PUT" : "POST", s5.body ? t3 = Bt(t3, a5) : (o.body = I(a5), o.headers || (o.headers = {}), o.headers["Content-Type"] = "application/x-www-form-urlencoded")) : t3 = Bt(t3, a5), u2 && (e3.useProxy = true, t3 = `${l2}?${t3}`), a5.token && D2 && o.body instanceof FormData && !t(t3) && o.body.set("token", a5.token), s5.hasOwnProperty("withCredentials"))
- e3.withCredentials = s5.withCredentials;
- else if (!z(t3, b())) {
- if (D(t3))
- e3.withCredentials = true;
- else if (s3) {
- const s6 = s3.findServerInfo(t3);
- s6 && s6.webTierAuth && (e3.withCredentials = true);
- }
- }
- e3.withCredentials && (o.credentials = "include", u(t3) && await d(d2 ? Bt(t3, a5) : t3));
- }
- let p2, v2, C = 0, L = false;
- l > 0 && (C = setTimeout(() => {
- L = true, e3.controller.abort();
- }, l));
- try {
- if ("native-request-init" === s5.responseType)
- v2 = o, v2.url = t3;
- else if ("image" !== s5.responseType || "default" !== o.cache || "GET" !== o.method || d2 || J2(s5.headers) || !a4 && !e3.useProxy && P.proxyUrl && !H2(t3)) {
- if (p2 = await U._abortableFetch(t3, o), e3.useProxy || A2(t3), "native" === s5.responseType)
- v2 = p2;
- else if ("HEAD" !== o.method)
- if (p2.ok) {
- switch (n) {
- case "array-buffer":
- v2 = await p2.arrayBuffer();
- break;
- case "blob":
- case "image":
- v2 = await p2.blob();
- break;
- default:
- v2 = await p2.text();
- }
- if (C && (clearTimeout(C), C = 0), "json" === n || "xml" === n || "document" === n)
- if (v2)
- switch (n) {
- case "json":
- v2 = JSON.parse(v2);
- break;
- case "xml":
- v2 = X2(v2, "application/xml");
- break;
- case "document":
- v2 = X2(v2, "text/html");
- }
- else
- v2 = null;
- if (v2) {
- if ("array-buffer" === n || "blob" === n) {
- const e4 = p2.headers.get("Content-Type");
- if (e4 && /application\/json|text\/plain/i.test(e4) && v2["blob" === n ? "size" : "byteLength"] <= 750)
- try {
- const e5 = await new Response(v2).json();
- e5.error && (v2 = e5);
- } catch {
- }
- }
- "image" === n && v2 instanceof Blob && (v2 = await Y(URL.createObjectURL(v2), e3, true));
- }
- } else
- v2 = await p2.text();
- } else
- v2 = await Y(t3, e3);
- } catch (j4) {
- if ("AbortError" === j4.name) {
- if (L)
- throw new Error("Timeout exceeded");
- throw a("Request canceled");
- }
- if (!(!p2 && j4 instanceof TypeError && P.proxyUrl) || s5.body || "delete" === s5.method || "head" === s5.method || "post" === s5.method || "put" === s5.method || e3.useProxy || H2(t3))
- throw j4;
- e3.redoRequest = true, E({ proxyUrl: P.proxyUrl, urlPrefix: (_b = H(t3)) != null ? _b : "" });
- } finally {
- C && clearTimeout(C);
- }
- return [p2, v2];
- }
- async function G(e3, r3) {
- if (null != e3.responseData)
- return e3.responseData;
- if (e3.headers && (r3.requestOptions.headers = { ...r3.requestOptions.headers, ...e3.headers }), e3.query && (r3.requestOptions.query = { ...r3.requestOptions.query, ...e3.query }), e3.before) {
- let o, a4;
- try {
- a4 = await e3.before(r3);
- } catch (s5) {
- o = N("request:interceptor", s5, r3);
- }
- if ((a4 instanceof Error || a4 instanceof s2) && (o = N("request:interceptor", a4, r3)), o)
- throw e3.error && e3.error(o), o;
- return a4;
- }
- }
- function J2(e3) {
- if (e3) {
- for (const r3 of Object.getOwnPropertyNames(e3))
- if (e3[r3])
- return true;
- }
- return false;
- }
- function X2(e3, r3) {
- let t3;
- try {
- t3 = new DOMParser().parseFromString(e3, r3);
- } catch {
- }
- if (!t3 || t3.getElementsByTagName("parsererror").length)
- throw new SyntaxError("XML Parse error");
- return t3;
- }
- async function Q(e3) {
- var _a;
- let t3, s5;
- await z2(e3);
- try {
- do {
- [t3, s5] = await W2(e3);
- } while (!await V2(e3, t3, s5));
- } catch (n) {
- const r3 = N("request:server", n, e3.params, t3);
- throw r3.details.ssl = e3.useSSL, e3.interceptor && e3.interceptor.error && e3.interceptor.error(r3), r3;
- }
- const o = e3.params.url;
- if (s5 && /\/sharing\/rest\/(accounts|portals)\/self/i.test(o)) {
- if (!e3.hasToken && !e3.credentialToken && ((_a = s5.user) == null ? void 0 : _a.username) && !D(o)) {
- const e4 = H(o, true);
- e4 && P.trustedServers.push(e4);
- }
- Array.isArray(s5.authorizedCrossOriginNoCorsDomains) && m(s5.authorizedCrossOriginNoCorsDomains);
- }
- const a4 = e3.credential;
- if (a4 && s3) {
- const e4 = s3.findServerInfo(a4.server);
- let t4 = e4 && e4.owningSystemUrl;
- if (t4) {
- t4 = t4.replace(/\/?$/, "/sharing");
- const e5 = s3.findCredential(t4, a4.userId);
- e5 && -1 === s3._getIdenticalSvcIdx(t4, e5) && e5.resources.unshift(t4);
- }
- }
- return { data: s5, getHeader: t3 ? (e4) => t3 == null ? void 0 : t3.headers.get(e4) : M, requestOptions: e3.params.requestOptions, ssl: e3.useSSL, url: e3.params.url };
- }
- async function V2(e3, t3, s5) {
- if (e3.redoRequest)
- return e3.redoRequest = false, false;
- const o = e3.params.requestOptions;
- if (!t3 || "native" === o.responseType || "native-request-init" === o.responseType)
- return true;
- let a4, n;
- if (!t3.ok)
- throw a4 = new Error(`Unable to load ${t3.url} status: ${t3.status}`), a4[R] = s5, a4;
- s5 && (s5.error ? a4 = s5.error : "error" === s5.status && Array.isArray(s5.messages) && (a4 = { ...s5 }, a4[R] = s5, a4.details = s5.messages));
- let i, l = null;
- a4 && (n = Number(a4.code), l = a4.hasOwnProperty("subcode") ? Number(a4.subcode) : null, i = a4.messageCode, i = i && i.toUpperCase());
- const u2 = o.authMode;
- if (403 === n && (4 === l || a4.message && a4.message.toLowerCase().includes("ssl") && !a4.message.toLowerCase().includes("permission"))) {
- if (!e3.useSSL)
- return e3.useSSL = true, false;
- } else if (!e3.hasToken && e3.useIdentity && ("no-prompt" !== u2 || 498 === n) && void 0 !== n && _.includes(n) && !K(e3.params.url) && (403 !== n || i && !F2.includes(i) && (null == l || 2 === l && e3.credentialToken))) {
- await $();
- try {
- const t4 = await s3.getCredential(e3.params.url, { error: N("request:server", a4, e3.params), prompt: "no-prompt" !== u2, signal: e3.controller.signal, token: e3.credentialToken });
- return e3.credential = t4, e3.credentialToken = t4.token, e3.useSSL = e3.useSSL || t4.ssl, false;
- } catch (c2) {
- if ("no-prompt" === u2)
- return e3.credential = void 0, e3.credentialToken = void 0, false;
- a4 = c2;
- }
- }
- if (a4)
- throw a4;
- return true;
- }
- function Y(e3, r3, t3 = false) {
- const s5 = r3.controller.signal, o = new Image();
- return r3.withCredentials ? o.crossOrigin = "use-credentials" : o.crossOrigin = "anonymous", o.alt = "", o.fetchPriority = P.priority, o.src = e3, c(o, e3, t3, s5);
- }
- U._abortableFetch = null, U._corsServers = ["https://server.arcgisonline.com", "https://services.arcgisonline.com"];
- export {
- a2 as a,
- t,
- r2 as r,
- c,
- U
- };
- //# sourceMappingURL=chunk-DVUG3KID.js.map
|