@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 3.38 kB
JavaScript
import{_ as e}from"../../../../chunks/tslib.es6.js";import r from"../../../../core/Accessor.js";import{isSome as t,isNone as s,destroyMaybe as o}from"../../../../core/maybe.js";import{throwIfAborted as u,createAbortError as a}from"../../../../core/promiseUtils.js";import{property as y}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import{subclass as i}from"../../../../core/accessorSupport/decorators/subclass.js";import{fromFeatureSetJSON as n}from"../../../../layers/graphics/dehydratedFeatures.js";import{runQuery as p,executeQuery as c}from"../../../../rest/query/operations/query.js";import{PBFDecoder as l}from"../../support/PBFDecoder.js";let d=class extends r{constructor(e){super(e)}get queryFeaturesDehydrated(){const e=this.layer.capabilities,r=e&&e.query,o=r&&r.supportsFormatPBF,y=this.layer.parsedUrl;if(o){s(this._decoder)&&(this._decoder=new l(this.controller));const e={sourceSpatialReference:this.layer.spatialReference?.toJSON()??null,applyTransform:!0,maxStringAttributeLength:1024};return(r,s)=>p(y,r,"pbf",this._createRequestOptions(s)).then((r=>(u(s),t(this._decoder)?this._decoder.invoke({buffer:r.data,options:e},s.signal):Promise.reject(a()))))}return(e,r)=>c(y,e,this.layer.spatialReference,this._createRequestOptions(r)).then((e=>n(e.data)))}queryFeatureCount(e,r){return this.layer.queryFeatureCount(e,r)}destroy(){this._decoder=o(this._decoder)}_createRequestOptions(e){return{...e,query:{...this.layer.customParameters,token:this.layer.apiKey,...e?.query}}}};e([y({constructOnly:!0})],d.prototype,"layer",void 0),e([y({constructOnly:!0})],d.prototype,"controller",void 0),e([y({readOnly:!0})],d.prototype,"queryFeaturesDehydrated",null),d=e([i("esri.views.3d.layers.support.featureTileQuery3D.FeatureTileServiceQuery3D")],d);let h=class extends r{constructor(e){super(e)}queryFeaturesDehydrated(e,r){return this.layer.queryFeatures(e,r)}queryFeatureCount(e,r){return this.layer.queryFeatureCount(e,r)}};e([y({constructOnly:!0})],h.prototype,"layer",void 0),e([y({readOnly:!0})],h.prototype,"queryFeaturesDehydrated",null),h=e([i("esri.views.3d.layers.support.featureTileQuery3D.FeatureTileServiceMeshQuery3D")],h);let m=class extends r{constructor(e){super(e)}queryFeaturesDehydrated(e,r){return this.layer.queryFeatures(e,r)}};e([y({constructOnly:!0})],m.prototype,"layer",void 0),m=e([i("esri.views.3d.layers.support.featureTileQuery3D.FeatureTileServiceQuery3D")],m);let f=class extends r{constructor(e){super(e)}queryFeaturesDehydrated(e,r){return this.source.queryFeaturesJSON(e,r).then(n,(t=>{if(t&&"query-features-json:unsupported"===t.name)return this.layer.queryFeatures(e,r);throw t}))}queryFeatureCount(e,r){return this.layer.queryFeatureCount(e,r)}};function q(e,r){return"feature"===e.type&&"feature-layer"===e.source.type?t(e.infoFor3D)?new h({layer:e}):new d({layer:e,controller:r}):"feature"===e.type&&"memory"===e.source.type||"csv"===e.type||"geojson"===e.type||"oriented-imagery"===e.type||"wfs"===e.type?new f({layer:e,source:e.source}):"ogc-feature"===e.type?new m({layer:e}):null}e([y({constructOnly:!0})],f.prototype,"layer",void 0),e([y({constructOnly:!0})],f.prototype,"source",void 0),f=e([i("esri.views.3d.layers.support.featureTileQuery3D.FeatureTileClientQuery3D")],f);export{q as createFeatureTileQuery3D};