@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 1.1 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{__decorate as r}from"tslib";import o from"../../request.js";import t from"../../core/Collection.js";import{JSONSupportMixin as e}from"../../core/JSONSupport.js";import{urlToObject as s}from"../../core/urlUtils.js";import{property as i,subclass as n}from"../../core/accessorSupport/decorators.js";import c from"./SceneModification.js";var m;let p=m=class extends(e(t.ofType(c))){constructor(r){super(r),this.url=null}clone(){return new m({url:this.url,items:this.items.map(r=>r.clone())})}toJSON(r){return this.toArray().map(o=>o.toJSON(r)).filter(r=>!!r.geometry)}static fromJSON(r,o){const t=new m;for(const e of r)t.add(c.fromJSON(e,o));return t}static async fromUrl(r,t,e){const i={url:s(r),origin:"service"},n=await o(r,{responseType:"json",signal:e?.signal}),p=t.toJSON(),a=[];for(const o of n.data)a.push(c.fromJSON({...o,geometry:{spatialReference:p,...o.geometry}},i));return new m({url:r,items:a})}};r([i({type:String})],p.prototype,"url",void 0),p=m=r([n("esri.layers.support.SceneModifications")],p);export{p as default};