UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 1.41 kB
import{isDevEnvironment as t,adjustStaticAGOUrl as r}from"../../../../core/devEnvironmentUtils.js";import e from"../../../../core/Error.js";import{isSome as o}from"../../../../core/maybe.js";import{throwIfAborted as n}from"../../../../core/promiseUtils.js";import{urlToObject as s}from"../../../../core/urlUtils.js";import m from"../../../../portal/Portal.js";import{f as l}from"../../../../chunks/persistableUrlUtils.js";import{fetchStyle as a,Style2DUrlTemplate as i,requestJSON as c,makeCIMSymbolRef as y,symbolUrlFromStyleItem as f}from"../../../../symbols/support/styleUtils.js";async function u(t,r,o){if(!t.name)throw new e("style-symbol-reference-name-missing","Missing name in style symbol reference");if(t.styleName&&"Esri2DPointSymbolsStyle"===t.styleName)return p(t,o);try{return b(await a(t,r,o),t.name,r,o)}catch(s){return n(s),null}}async function p(t,r){const e=i.replace(/\{SymbolName\}/gi,t.name);try{const t=await c(e,r);return y(t.data)}catch(o){return n(o),null}}async function b(a,i,u,p){const b=a.data,d={portal:u&&o(u.portal)?u.portal:m.getDefault(),url:s(a.baseUrl),origin:"portal-item"},j=b.items.find((t=>t.name===i));if(!j){throw new e("symbolstyleutils:symbol-name-not-found",`The symbol name '${i}' could not be found`,{symbolName:i})}let h=l(f(j,"cimRef"),d);t()&&(h=r(h));try{const t=await c(h,p);return y(t.data)}catch(w){return n(w),null}}export{u as fetchCIMSymbolReference};