UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 23.2 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5804,9697],{13069(e,t,r){r.d(t,{AG:()=>a,lk:()=>s,vD:()=>i,yS:()=>n});const o="randomUUID"in crypto;function s(){if(o)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function n(){return`{${s().toUpperCase()}}`}function i(){return`{${s()}}`}function a(e){const t=e.toUpperCase();return e.startsWith("{")?t:`{${t}}`}},15804(e,t,r){r.d(t,{addOrUpdateResources:()=>a,bg:()=>d,cL:()=>u,fetchResources:()=>i,removeAllResources:()=>p,removeResource:()=>l});var o=r(11254),s=r(49186),n=r(84952);async function i(e,t={},r){await e.load(r);const o=(0,n.fj)(e.itemUrl,"resources"),{start:s=1,num:i=10,sortOrder:a="asc",sortField:l="resource"}=t,p={query:{start:s,num:i,sortOrder:a,sortField:l,token:e.apiKey},signal:r?.signal},c=await e.portal.request(o,p);return{total:c.total,nextStart:c.nextStart,resources:c.resources.map(({created:t,size:r,resource:o})=>({created:new Date(t),size:r,resource:e.resourceFromPath(o)}))}}async function a(e,t,r,o){const i=new Map;for(const{resource:e,content:o,compress:n,access:a}of t){if(!e.hasPath())throw new s.A(`portal-item-resource-${r}:invalid-path`,"Resource does not have a valid path");const[t,l]=c(e.path),p=`${t}/${n??""}/${a??""}`;i.has(p)||i.set(p,{prefix:t,compress:n,access:a,files:[]}),i.get(p).files.push({fileName:l,content:o})}await e.load(o);const a=(0,n.fj)(e.userItemUrl,"add"===r?"addResources":"updateResources");for(const{prefix:t,compress:r,access:s,files:n}of i.values()){const i=25;for(let l=0;l<n.length;l+=i){const p=n.slice(l,l+i),c=new FormData;t&&"."!==t&&c.append("resourcesPrefix",t),r&&c.append("compress","true"),s&&c.append("access",s);let u=0;for(const{fileName:e,content:t}of p)c.append("file"+ ++u,t,e);c.append("f","json"),await e.portal.request(a,{method:"post",body:c,signal:o?.signal})}}}async function l(e,t,r){if(!t.hasPath())throw new s.A("portal-item-resources-remove:invalid-path","Resource does not have a valid path");await e.load(r);const o=(0,n.fj)(e.userItemUrl,"removeResources");await e.portal.request(o,{method:"post",query:{resource:t.path},signal:r?.signal}),t.portalItem=null}async function p(e,t){await e.load(t);const r=(0,n.fj)(e.userItemUrl,"removeResources");return e.portal.request(r,{method:"post",query:{deleteAll:!0},signal:t?.signal})}function c(e){const t=e.lastIndexOf("/");return-1===t?[".",e]:[e.slice(0,t),e.slice(t+1)]}async function u(e){return"blob"===e.type?e.blob:"json"===e.type?new Blob([e.jsonString],{type:"application/json"}):(await(0,o.A)(e.url,{responseType:"blob"})).data}function d(e,t){if(!e.hasPath())return null;const[r,,o]=function(e){const[t,r]=function(e){const t=(0,n.Zo)(e);return null==t?[e,""]:[e.slice(0,e.length-t.length-1),`.${t}`]}(e),[o,s]=c(t);return[o,s,r]}(e.path);return e.portalItem.resourceFromPath((0,n.fj)(r,t+o))}},24212(e,t,r){r.d(t,{$7:()=>a,B:()=>i,XF:()=>p,tW:()=>l,w7:()=>n});var o=r(56512),s=r(86211);function n(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?c:u}(e).mode}(null==e||(e.hasZ??!1),t)}function i(e,t,r){return r&&r.mode!==t?`${e} only support ${t} elevation mode`:null}function a(e,t,r){return r?.mode===t?`${e} do not support ${t} elevation mode`:null}function l(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function p(e,t){t&&e.warn(".elevationInfo=",t)}r(16271),(0,o.B)((e,t,r)=>{if(!e)return 0;if("decimal-degrees"===t)return 0;const o="unknown"!==t&&t?t:"meters",n=(0,s.mq)(r);return n?(0,s.oU)(e,o,n):0});const c={mode:"absolute-height",offset:0},u={mode:"on-the-ground",offset:null}},26121(e,t,r){r.d(t,{ci:()=>i,dL:()=>n});var o=r(49186),s=(r(77548),r(59923));async function n(e){const t=[];for(const r of e.allLayers)if("beforeSave"in r&&"function"==typeof r.beforeSave){const e=r.beforeSave();e&&t.push(e)}await Promise.allSettled(t)}function i(e,t,r){let n=(e.messages??[]).filter(({type:e})=>"error"===e).map(({name:e,message:t,details:r})=>new o.A(e,t,r));if(e.blockedRelativeUrls&&(n=n.concat(e.blockedRelativeUrls.map(e=>(0,s.GL)("url",`Relative url '${e}' is not supported`)))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:o}=r;e&&(n=n.filter(({name:e})=>!(s.MG.has(e)||t.includes(e)))),o&&(n=n.filter(e=>"web-document-write:property-required"!==e.name))}if(n.length>0)throw new o.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:n})}},27993(e,t,r){r.d(t,{F:()=>a});var o=r(91218),s=r(16930),n=r(9762),i=r(65806);function a(e,t,r,s){return!(null==t||null==s||e.length<2)&&((0,o.canProjectWithoutEngine)(t,s)?(0,n.projectBuffer)(e,t,0,r,s,0,1):(l.x=e[0],l.y=e[1],l.z=e[2],l.spatialReference=t,(0,i.g)(l,r,s)))}const l={x:0,y:0,z:0,hasZ:!0,hasM:!1,spatialReference:s.A.WGS84,type:"point"}},46130(e,t,r){r.d(t,{v:()=>s});var o=r(76553);function s(e){e?.writtenProperties&&e.writtenProperties.forEach(({target:e,propName:t,newOrigin:r})=>{(0,o.H)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)})}},50805(e,t,r){r.d(t,{L0:()=>m,Ot:()=>d,W4:()=>a,uV:()=>c});var o=r(5482),s=r(25482),n=r(91429),i=r(93223);let a=class extends s.o{constructor(){super(...arguments),this.nodesPerPage=null,this.rootIndex=0,this.lodSelectionMetricType=null}};(0,o.Cg)([(0,n.MZ)({type:Number})],a.prototype,"nodesPerPage",void 0),(0,o.Cg)([(0,n.MZ)({type:Number})],a.prototype,"rootIndex",void 0),(0,o.Cg)([(0,n.MZ)({type:String})],a.prototype,"lodSelectionMetricType",void 0),a=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3SNodePageDefinition")],a);let l=class extends s.o{constructor(){super(...arguments),this.factor=1}};(0,o.Cg)([(0,n.MZ)({type:Number,json:{read:{source:"textureSetDefinitionId"}}})],l.prototype,"id",void 0),(0,o.Cg)([(0,n.MZ)({type:Number})],l.prototype,"factor",void 0),l=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3SMaterialTexture")],l);let p=class extends s.o{constructor(){super(...arguments),this.baseColorFactor=[1,1,1,1],this.baseColorTexture=null,this.metallicRoughnessTexture=null,this.metallicFactor=1,this.roughnessFactor=1}};(0,o.Cg)([(0,n.MZ)({type:[Number]})],p.prototype,"baseColorFactor",void 0),(0,o.Cg)([(0,n.MZ)({type:l})],p.prototype,"baseColorTexture",void 0),(0,o.Cg)([(0,n.MZ)({type:l})],p.prototype,"metallicRoughnessTexture",void 0),(0,o.Cg)([(0,n.MZ)({type:Number})],p.prototype,"metallicFactor",void 0),(0,o.Cg)([(0,n.MZ)({type:Number})],p.prototype,"roughnessFactor",void 0),p=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3SMaterialPBRMetallicRoughness")],p);let c=class extends s.o{constructor(){super(...arguments),this.alphaMode="opaque",this.alphaCutoff=.25,this.doubleSided=!1,this.cullFace="none",this.normalTexture=null,this.occlusionTexture=null,this.emissiveTexture=null,this.emissiveFactor=null,this.pbrMetallicRoughness=null}};(0,o.Cg)([(0,i.e)({opaque:"opaque",mask:"mask",blend:"blend"})],c.prototype,"alphaMode",void 0),(0,o.Cg)([(0,n.MZ)({type:Number})],c.prototype,"alphaCutoff",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean})],c.prototype,"doubleSided",void 0),(0,o.Cg)([(0,i.e)({none:"none",back:"back",front:"front"})],c.prototype,"cullFace",void 0),(0,o.Cg)([(0,n.MZ)({type:l})],c.prototype,"normalTexture",void 0),(0,o.Cg)([(0,n.MZ)({type:l})],c.prototype,"occlusionTexture",void 0),(0,o.Cg)([(0,n.MZ)({type:l})],c.prototype,"emissiveTexture",void 0),(0,o.Cg)([(0,n.MZ)({type:[Number]})],c.prototype,"emissiveFactor",void 0),(0,o.Cg)([(0,n.MZ)({type:p})],c.prototype,"pbrMetallicRoughness",void 0),c=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3SMaterialDefinition")],c);let u=class extends s.o{};(0,o.Cg)([(0,n.MZ)({type:String,json:{read:{source:["name","index"],reader:(e,t)=>null!=e?e:`${t.index}`}}})],u.prototype,"name",void 0),(0,o.Cg)([(0,i.e)({jpg:"jpg",png:"png",dds:"dds","ktx-etc2":"ktx-etc2",ktx2:"ktx2",basis:"basis"})],u.prototype,"format",void 0),u=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3STextureFormat")],u);let d=class extends s.o{constructor(){super(...arguments),this.atlas=!1}};(0,o.Cg)([(0,n.MZ)({type:[u]})],d.prototype,"formats",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean})],d.prototype,"atlas",void 0),d=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3STextureSetDefinition")],d);let y=class extends s.o{};(0,o.Cg)([(0,i.e)({Float32:"Float32",UInt64:"UInt64",UInt32:"UInt32",UInt16:"UInt16",UInt8:"UInt8"})],y.prototype,"type",void 0),(0,o.Cg)([(0,n.MZ)({type:Number})],y.prototype,"component",void 0),y=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3SGeometryAttribute")],y);let h=class extends s.o{};(0,o.Cg)([(0,i.e)({draco:"draco"})],h.prototype,"encoding",void 0),(0,o.Cg)([(0,n.MZ)({type:[String]})],h.prototype,"attributes",void 0),h=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3SGeometryCompressedAttributes")],h);let f=class extends s.o{constructor(){super(...arguments),this.offset=0}};(0,o.Cg)([(0,n.MZ)({type:Number})],f.prototype,"offset",void 0),(0,o.Cg)([(0,n.MZ)({type:y})],f.prototype,"position",void 0),(0,o.Cg)([(0,n.MZ)({type:y})],f.prototype,"normal",void 0),(0,o.Cg)([(0,n.MZ)({type:y})],f.prototype,"uv0",void 0),(0,o.Cg)([(0,n.MZ)({type:y})],f.prototype,"color",void 0),(0,o.Cg)([(0,n.MZ)({type:y})],f.prototype,"uvRegion",void 0),(0,o.Cg)([(0,n.MZ)({type:y})],f.prototype,"featureId",void 0),(0,o.Cg)([(0,n.MZ)({type:y})],f.prototype,"faceRange",void 0),(0,o.Cg)([(0,n.MZ)({type:h})],f.prototype,"compressedAttributes",void 0),f=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3SGeometryBuffer")],f);let m=class extends s.o{};(0,o.Cg)([(0,i.e)({triangle:"triangle"})],m.prototype,"topology",void 0),(0,o.Cg)([(0,n.MZ)()],m.prototype,"geometryBuffers",void 0),m=(0,o.Cg)([(0,n.$K)("esri.layers.support.I3SLayerDefinitions.I3SGeometryDefinition")],m)},52136(e,t,r){r.d(t,{p:()=>n});var o=r(5482),s=r(91429);const n=e=>{const t=e;let r=class extends t{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,o.Cg)([(0,s.MZ)({type:String})],r.prototype,"apiKey",null),r=(0,o.Cg)([(0,s.$K)("esri.layers.mixins.APIKeyMixin")],r),r}},56512(e,t,r){function o(e){let t,r,o=[],s=!1;return function(...n){return s&&t===this&&function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}(n,o)||(r=e.apply(this,n),t=this,o=n,s=!0),r}}r.d(t,{B:()=>o})},58947(e,t,r){r.d(t,{w6:()=>C,qM:()=>A});var o=r(5482),s=r(11254),n=r(49186),i=r(53966),a=r(74887),l=r(91429),p=r(46130),c=r(5443),u=r(54239),d=r(16930),y=r(60694),h=r(10873),f=r(83898),m=r(73179);var g=r(20655),v=r(80812),w=r(88788),S=r(91682),x=r(26121),I=r(36005);const C=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.url=null,this.indexInfo=null,this._debouncedSaveOperations=(0,a.sg)(async(e,t,r)=>{switch(e){case 0:return this._save(t);case 1:return this._saveAs(r,t)}})}readSpatialReference(e,t){return M(t)}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const o=null==e.spatialReference?{...e,spatialReference:M(t)}:e;return c.A.fromJSON(o,r)}const o=t.store,s=M(t);return null==s||null==o?.extent||!Array.isArray(o.extent)||o.extent.some(e=>e<b)?null:new c.A({xmin:o.extent[0],ymin:o.extent[1],xmax:o.extent[2],ymax:o.extent[3],spatialReference:s})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,o=null!=r.version?r.version.toString():"";return this.parseVersionString(o)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){if("item-title"===this.sublayerTitleMode)return this.url?(0,y.yG)(this.url,t.name):t.name;let r=t.name;if(!r&&this.url){const e=(0,y.qg)(this.url);null!=e&&(r=e.title)}const o=this.portalItem?.title;return"item-title-and-service-name"===this.sublayerTitleMode&&o&&(r=o+" - "+r),(0,y.cr)(r)}get parsedUrl(){return(0,m.h)(this,{separator:"layers"})}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=(0,f.F)(this.parsedUrl?.path??"",this.rootNode,e,this.customParameters,this.apiKey,i.A.getLogger(this),t);const{fullExtent:r}=this;null==r||r.hasZ||this._updateExtent(r,await this.indexInfo)}_updateExtent(e,t){if("page"===t?.type){const r=t.rootIndex%t.pageSize,o=t.rootPage?.nodes?.[r];A(e,o?.obb)}else if("node"===t?.type){const r=t.rootNode?.mbs;if(!Array.isArray(r)||4!==r.length||r[0]<b)return;const o=r[2],s=r[3];e.zmin=o-s,e.zmax=o+s}}async _fetchService(e){if(null==this.url)throw new n.A("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const t=await(0,s.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});if(t.data&&Array.isArray(t.data.layers)&&t.data.layers.length>0)return t.data.layers[0].id}async _fetchServiceLayer(e){const t=await(0,s.A)(this.parsedUrl?.path??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});t.ssl&&this.url&&(this.url=this.url.replace(/^http:/i,"https:"));let r=!1;if(t.data.layerType&&"Voxel"===t.data.layerType&&(r=!0),r)return this._fetchVoxelServiceLayer();const o=t.data;this.read(o,this._getServiceContext()),this.validateLayer(o)}async _fetchVoxelServiceLayer(e){const t=(await(0,s.A)(this.parsedUrl?.path+"/layer",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e})).data;this.read(t,this._getServiceContext()),this.validateLayer(t)}_getServiceContext(){return{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl}}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}async _saveAs(e,t){const r={...P,...t};let o=v.default.from(e);if(!o)throw new n.A("sceneservice:portal-item-required","_saveAs() requires a portal item to save to");o.id&&(o=o.clone(),o.id=null);const s=o.portal||g.A.getDefault();await this._ensureLoadBeforeSave(),o.type=Z,o.portal=s;const i=(0,w.m)(o,"portal-item",!0),a={layers:[this.write({},i)]};return await Promise.all(i.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(a,i,r),this.url&&(o.url=this.url),o.title||(o.title=this.title),R(o,r,1),await s.signIn(),await s.user.addItem({item:o,folder:r?.folder,data:a}),await(0,S.r)(this.resourceReferences,i),this.portalItem=o,(0,p.v)(i),i.portalItem=o,o}async _save(e){const t={...P,...e};if(!this.portalItem)throw new n.A("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService");if(this.portalItem.type!==Z)throw new n.A("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${Z}"`);await this._ensureLoadBeforeSave();const r=(0,w.m)(this.portalItem,"portal-item",!0),o={layers:[this.write({},r)]};return await Promise.all(r.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(o,r,t),this.url&&(this.portalItem.url=this.url),this.portalItem.title||(this.portalItem.title=this.title),R(this.portalItem,t,0),await(0,S.S)(this.portalItem,o,this.resourceReferences,r),(0,p.v)(r),this.portalItem}async _validateAgainstJSONSchema(e,t,r){const o=r?.validationOptions;(0,x.ci)(t,{errorName:"sceneservice:save"},{ignoreUnsupported:o?.ignoreUnsupported,supplementalUnsupportedErrors:["scenemodification:unsupported"]});const s=o?.enabled,a=null;if(s&&a){const t=(await a()).validate(e,r.portalItemLayerType);if(!t.length)return;const s=`Layer item did not validate:\n${t.join("\n")}`;if(i.A.getLogger(this).error(`_validateAgainstJSONSchema(): ${s}`),"throw"===o.failPolicy){const e=t.map(e=>new n.A("sceneservice:schema-validation",e));throw new n.A("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{validationErrors:e})}}}};return(0,o.Cg)([(0,l.MZ)(h.id)],r.prototype,"id",void 0),(0,o.Cg)([(0,l.MZ)({type:d.A})],r.prototype,"spatialReference",void 0),(0,o.Cg)([(0,I.w)("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],r.prototype,"readSpatialReference",null),(0,o.Cg)([(0,l.MZ)({type:c.A})],r.prototype,"fullExtent",void 0),(0,o.Cg)([(0,I.w)("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],r.prototype,"readFullExtent",null),(0,o.Cg)([(0,l.MZ)({readOnly:!0,type:u.A})],r.prototype,"heightModelInfo",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],r.prototype,"minScale",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],r.prototype,"maxScale",void 0),(0,o.Cg)([(0,l.MZ)({readOnly:!0})],r.prototype,"version",void 0),(0,o.Cg)([(0,I.w)("version",["store.version"])],r.prototype,"readVersion",null),(0,o.Cg)([(0,l.MZ)({type:String,json:{read:{source:"copyrightText"}}})],r.prototype,"copyright",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{read:!1}})],r.prototype,"sublayerTitleMode",void 0),(0,o.Cg)([(0,l.MZ)({type:String})],r.prototype,"title",void 0),(0,o.Cg)([(0,I.w)("portal-item","title")],r.prototype,"readTitlePortalItem",null),(0,o.Cg)([(0,I.w)("service","title",["name"])],r.prototype,"readTitleService",null),(0,o.Cg)([(0,l.MZ)({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],r.prototype,"layerId",void 0),(0,o.Cg)([(0,l.MZ)((0,m.b)({separator:"layers"}))],r.prototype,"url",void 0),(0,o.Cg)([(0,l.MZ)({readOnly:!0})],r.prototype,"parsedUrl",null),(0,o.Cg)([(0,l.MZ)({readOnly:!0})],r.prototype,"store",void 0),(0,o.Cg)([(0,l.MZ)({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],r.prototype,"rootNode",void 0),r=(0,o.Cg)([(0,l.$K)("esri.layers.mixins.SceneService")],r),r},b=-1e38;function M(e){if(null!=e.spatialReference)return d.A.fromJSON(e.spatialReference);const t=e.store,r=t.indexCRS||t.geographicCRS,o=r&&parseInt(r.slice(r.lastIndexOf("/")+1),10);return null!=o?new d.A(o):null}function A(e,t){if(null==t?.center||null==t.halfSize)throw new n.A("sceneservice:invalid-node-page","Invalid node page.");if(t.center[0]<b)return;const r=t.halfSize,o=t.center[2],s=Math.sqrt(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]);e.zmin=o-s,e.zmax=o+s}function R(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const o=t.getTypeKeywords();for(const t of o)e.typeKeywords.push(t);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e,t,r)=>r.indexOf(e)===t),1===r&&(e.typeKeywords=e.typeKeywords.filter(e=>"Hosted Service"!==e)))}const Z="Scene Service",P={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}}},65806(e,t,r){r.d(t,{g:()=>i});var o=r(51850),s=r(91218),n=r(9762);function i(e,t,r,o){if((0,s.canProjectWithoutEngine)(e.spatialReference,r))return a[0]=e.x,a[1]=e.y,a[2]=e.z??0,(0,n.projectBuffer)(a,e.spatialReference,0,t,r,0);const i=(0,s.tryProject)(e,r,o);return!!i&&(t[0]=i.x,t[1]=i.y,t[2]=i.z??0,!0)}const a=(0,o.vt)()},76553(e,t,r){function o(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{H:()=>o})},83898(e,t,r){r.d(t,{F:()=>n});var o=r(11254),s=r(49186);async function n(e,t,r,n,i,a,l){let p=null;if(null!=r){const t=`${e}/nodepages/`,s=t+Math.floor(r.rootIndex/r.nodesPerPage);try{return{type:"page",rootPage:(await(0,o.A)(s,{query:{f:"json",...n,token:i},responseType:"json",signal:l})).data,rootIndex:r.rootIndex,pageSize:r.nodesPerPage,lodMetric:r.lodSelectionMetricType,urlPrefix:t}}catch(e){null!=a&&a.warn("#fetchIndexInfo()","Failed to load root node page. Falling back to node documents.",s,e),p=e}}if(!t)return null;const c=t?.split("/").pop(),u=`${e}/nodes/`,d=u+c;try{return{type:"node",rootNode:(await(0,o.A)(d,{query:{f:"json",...n,token:i},responseType:"json",signal:l})).data,urlPrefix:u}}catch(e){throw new s.A("sceneservice:root-node-missing","Root node missing.",{pageError:p,nodeError:e,url:d})}}},88788(e,t,r){r.d(t,{m:()=>i,v:()=>n});var o=r(84952),s=r(20655);function n(e,t){return{...a(e,t),readResourcePaths:[]}}function i(e,t,r){const s=(0,o.An)(e.itemUrl);return{...a(e,t),messages:[],writtenProperties:[],blockedRelativeUrls:[],verifyItemRelativeUrls:s?{rootPath:s.path,writtenUrls:[]}:null,resources:r?{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}:null}}function a(e,t){return{origin:t,url:(0,o.An)(e.itemUrl),portal:e.portal||s.A.getDefault(),portalItem:e}}},91682(e,t,r){r.d(t,{S:()=>l,r:()=>a});var o=r(49186),s=r(74887),n=r(13069),i=r(15804);async function a(e,t,r){const o=await p(e,t,r);await c(o,t,r)}async function l(e,t,r,o,s){const n=await p(r,o,s);await e.update({data:t}),await c(n,o,s)}async function p(e,t,a){if(!t?.resources)return;const l=t.portalItem===e.portalItem?new Set(e.paths):new Set;e.paths.length=0,e.portalItem=t.portalItem;const p=new Set(t.resources.toKeep.map(e=>e.resource.path)),c=new Set,u=[];p.forEach(t=>{l.delete(t),e.paths.push(t)});const d=[],y=[],h=[];for(const r of t.resources.toUpdate)if(l.delete(r.resource.path),p.has(r.resource.path)||c.has(r.resource.path)){const{resource:t,content:o,finish:s}=r,a=(0,i.bg)(t,(0,n.lk)());e.paths.push(a.path),d.push({resource:a,content:await(0,i.cL)(o),compress:r.compress}),s&&h.push(()=>s(a))}else{e.paths.push(r.resource.path),y.push({resource:r.resource,content:await(0,i.cL)(r.content),compress:r.compress});const t=r.finish;t&&h.push(()=>t(r.resource)),c.add(r.resource.path)}for(const r of t.resources.toAdd)if(e.paths.push(r.resource.path),l.has(r.resource.path))l.delete(r.resource.path);else{d.push({resource:r.resource,content:await(0,i.cL)(r.content),compress:r.compress});const e=r.finish;e&&h.push(()=>e(r.resource))}if(d.length||y.length){const{addOrUpdateResources:e}=await Promise.resolve().then(r.bind(r,15804));await e(t.portalItem,d,"add",a),await e(t.portalItem,y,"update",a)}if(h.forEach(e=>e()),0===u.length)return l;const f=await(0,s.Ol)(u);if((0,s.Te)(a),f.length>0)throw new o.A("save:resources","Failed to save one or more resources",{errors:f});return l}async function c(e,t,r){if(!e||!t.portalItem)return;const o=[];for(const s of e){const e=t.portalItem.resourceFromPath(s);o.push(e.portalItem.removeResource(e,r))}await(0,s.Lx)(o)}}}]);