{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/core/AsyncSequence.js","webpack:///./node_modules/@arcgis/core/views/interactive/snapping/featureSources/featureServiceSource/PendingFeatureTile.js","webpack:///./node_modules/@arcgis/core/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js","webpack:///./node_modules/@arcgis/core/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileCache.js","webpack:///./node_modules/@arcgis/core/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js","webpack:///./node_modules/@arcgis/core/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js"],"names":["r","t","constructor","super","arguments","this","updating","pending","push","s","promise","callback","length","_process","then","catch","shift","e","prototype","i","u","o","data","resolution","state","type","CREATED","alive","process","_gotoFetchCount","task","resume","FETCH_COUNT","FETCHED_COUNT","_gotoFetchFeatures","FETCH_FEATURES","FETCHED_FEATURES","_goToDone","DONE","featureCount","stateToString","previous","features","a","async","fetchCount","_gotoFetchedCount","ok","value","fetchFeatures","_gotoFetchedFeatures","finish","reset","abort","intersects","extent","T","E","S","getLogger","C","tilesOfInterest","availability","pendingTiles","Map","pendingEdits","pendingEditsAbortController","AbortController","store","featureStore","geometryType","_get","_filterProperties","JSON","stringify","_set","filter","customParameters","tileInfo","tileSize","n","updatingHandles","initialize","_initializeFetchExtent","add","configuration","refresh","id","d","destroy","forEach","_deletePendingTile","clear","applyEdits","addedFeatures","updatedFeatures","deletedFeatures","map","objectId","globalId","_lookupObjectIdByGlobalId","addPromise","processEdits","_queryFeaturesById","signal","_processPendingTiles","capabilities","query","supportsExtent","_","url","b","v","where","outSpatialReference","spatialReference","cacheHint","supportsCacheHint","f","fromJSON","c","warn","handles","numberOfFeatures","numFeatures","Array","from","values","debugInfo","storedTiles","_markTilesNotAlive","_createPendingTiles","_deletePendingTiles","_collectMissingTilesInfo","_setAvailability","coveredArea","fullArea","missingTiles","get","_createPendingTile","_verifyTileComplexity","prepend","_fetchCount","_fetchFeatures","_finishPendingTile","_ensureFetchAllCounts","getFeatureCount","_verifyVertexComplexity","_verifyFeatureDensity","minimumVerticesPerFeature","w","q","I","_updateAvailability","O","set","delete","_createCountQuery","timeout","x","_createFeaturesQuery","_setPagingParameters","exceededTransferLimit","_queryFeatures","l","num","concat","gdbVersion","timeExtent","globalIdField","objectIdField","Error","attributes","objectIds","supportsFormatPBF","_queryFeaturesPBF","_queryFeaturesJSON","sourceSpatialReference","F","g","P","m","_createBaseQuery","outFields","returnGeometry","supportsResultType","resultType","returnZ","returnM","geometry","y","supportsPagination","supportsMaxRecordCountFactor","tileMaxRecordCount","maxRecordCount","MAX_MAX_RECORD_COUNT_FACTOR","j","start","maxRecordCountFactor","Math","min","ceil","h","constructOnly","readOnly","p","_store","_byteSize","byteSize","_used","has","applyByteSizeLimit","Symbol","iterator","maximumByteSize","MEGABYTES","tileBounds","tiles","refCounts","tileFeatureCounts","tmpBoundingRect","_referenceFeature","ADDED","_addTileStorage","Set","addMany","_removeTileStorage","_processEditsDelete","_processEditsRefetch","size","_remove","_unreferenceFeature","REMOVED","removeManyById","hasZ","hasM","forEachInBounds","_createTileTree","_simplify","_collectMissingTiles","count","level","row","col","updateTileInfo","ExtrapolateOptions","POWER_OF_TWO","_tilesAreRelated","_populateChildren","floor","isLeaf","children","_mergeChildren","_purge","_forEachLeaf","_collectMissingTilesRecurse","info","hasChildren","addMissing","UNCHANGED","featureReferences","keys","reduce","lengths","coords","EventedAccessor","isInitializing","whenSetup","pendingApplyEdits","featureFetcher","queryEngine","timeInfo","fields","serviceInfo","emit","_notifyUpdating","resolve","configure","_updateFeatureFetcherConfiguration","result","executeQueryForSnapping","point","distance","types","edits"],"mappings":"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","file":"js/chunk-2d0cebc2.29c649ab.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as s}from\"../chunks/tslib.es6.js\";import t from\"./Accessor.js\";import{property as e}from\"./accessorSupport/decorators/property.js\";import{subclass as i}from\"./accessorSupport/decorators/subclass.js\";let r=class extends t{constructor(){super(...arguments),this.updating=!1,this.pending=[]}push(s,t){this.pending.push({promise:s,callback:t}),1===this.pending.length&&this._process()}_process(){if(!this.pending.length)return void(this.updating=!1);this.updating=!0;const s=this.pending[0];s.promise.then((t=>s.callback(t))).catch((()=>{})).then((()=>{this.pending.shift(),this._process()}))}};s([e()],r.prototype,\"updating\",void 0),r=s([i(\"esri.core.AsyncSequence\")],r);export{r as AsyncSequence};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{resultOrAbort as t}from\"../../../../../core/asyncUtils.js\";import{isNone as e}from\"../../../../../core/maybe.js\";import{createTask as s}from\"../../../../../core/promiseUtils.js\";import{create as a,fromExtent as r,intersects as E}from\"../../../../../geometry/support/aaBoundingRect.js\";class o{constructor(t,e){this.data=t,this.resolution=e,this.state={type:u.CREATED},this.alive=!0}process(t){switch(this.state.type){case u.CREATED:return this.state=this._gotoFetchCount(this.state,t),this.state.task.promise.then(t.resume,t.resume);case u.FETCH_COUNT:break;case u.FETCHED_COUNT:return this.state=this._gotoFetchFeatures(this.state,t),this.state.task.promise.then(t.resume,t.resume);case u.FETCH_FEATURES:break;case u.FETCHED_FEATURES:this.state=this._goToDone(this.state,t);case u.DONE:}return null}get debugInfo(){return{data:this.data,featureCount:this.featureCount,state:this.stateToString}}get featureCount(){switch(this.state.type){case u.CREATED:case u.FETCH_COUNT:return 0;case u.FETCHED_COUNT:return this.state.featureCount;case u.FETCH_FEATURES:return this.state.previous.featureCount;case u.FETCHED_FEATURES:return this.state.features.length;case u.DONE:return this.state.previous.features.length}}get stateToString(){switch(this.state.type){case u.CREATED:return\"created\";case u.FETCH_COUNT:return\"fetch-count\";case u.FETCHED_COUNT:return\"fetched-count\";case u.FETCH_FEATURES:return\"fetch-features\";case u.FETCHED_FEATURES:return\"fetched-features\";case u.DONE:return\"done\"}}_gotoFetchCount(e,a){return{type:u.FETCH_COUNT,previous:e,task:s((async e=>{const s=await t(a.fetchCount(this,e));this.state.type===u.FETCH_COUNT&&(this.state=this._gotoFetchedCount(this.state,s.ok?s.value:1/0))}))}}_gotoFetchedCount(t,e){return{type:u.FETCHED_COUNT,featureCount:e,previous:t}}_gotoFetchFeatures(e,a){return{type:u.FETCH_FEATURES,previous:e,task:s((async s=>{const r=await t(a.fetchFeatures(this,e.featureCount,s));this.state.type===u.FETCH_FEATURES&&(this.state=this._gotoFetchedFeatures(this.state,r.ok?r.value:[]))}))}}_gotoFetchedFeatures(t,e){return{type:u.FETCHED_FEATURES,previous:t,features:e}}_goToDone(t,e){return e.finish(this,t.features),{type:u.DONE,previous:t}}reset(){const t=this.state;switch(this.state={type:u.CREATED},t.type){case u.CREATED:case u.FETCHED_COUNT:case u.FETCHED_FEATURES:case u.DONE:break;case u.FETCH_COUNT:case u.FETCH_FEATURES:t.task.abort()}}intersects(t){return!(!e(t)&&this.data.extent)||(r(t,T),E(this.data.extent,T))}}var u;!function(t){t[t.CREATED=0]=\"CREATED\",t[t.FETCH_COUNT=1]=\"FETCH_COUNT\",t[t.FETCHED_COUNT=2]=\"FETCHED_COUNT\",t[t.FETCH_FEATURES=3]=\"FETCH_FEATURES\",t[t.FETCHED_FEATURES=4]=\"FETCHED_FEATURES\",t[t.DONE=5]=\"DONE\"}(u||(u={}));const T=a();export{o as PendingFeatureTile,u as StateType};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../../../chunks/tslib.es6.js\";import{equals as t}from\"../../../../../core/arrayUtils.js\";import{AsyncSequence as i}from\"../../../../../core/AsyncSequence.js\";import{HandleOwner as s}from\"../../../../../core/HandleOwner.js\";import{makeHandle as r}from\"../../../../../core/handleUtils.js\";import o from\"../../../../../core/Logger.js\";import{isSome as n,isNone as a,unwrap as l}from\"../../../../../core/maybe.js\";import{createTask as u,throwIfAbortError as c}from\"../../../../../core/promiseUtils.js\";import{sync as d}from\"../../../../../core/reactiveUtils.js\";import{property as h}from\"../../../../../core/accessorSupport/decorators/property.js\";import\"../../../../../core/has.js\";import\"../../../../../core/accessorSupport/ensureType.js\";import{subclass as p}from\"../../../../../core/accessorSupport/decorators/subclass.js\";import f from\"../../../../../geometry/Extent.js\";import{toExtent as y}from\"../../../../../geometry/support/aaBoundingRect.js\";import{unquantizeOptimizedFeatureSet as g,convertFromFeatureSet as m}from\"../../../../../layers/graphics/featureConversionUtils.js\";import{isHostedAgolService as _}from\"../../../../../layers/support/arcgisLayerUrl.js\";import{OptimizedFeatureSetParserContext as F}from\"../../../../../rest/query/operations/pbfOptimizedFeatureSet.js\";import{executeQueryForExtent as b,executeQueryPBF as T,executeQuery as P}from\"../../../../../rest/query/operations/query.js\";import v from\"../../../../../rest/support/Query.js\";import{StateType as I,PendingFeatureTile as O}from\"./PendingFeatureTile.js\";const S=o.getLogger(\"esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTiledFetcher\");let C=class extends s{constructor(e){super(e),this.tilesOfInterest=[],this.availability=0,this.pendingTiles=new Map,this.pendingEdits=new i,this.pendingEditsAbortController=new AbortController}get minimumVerticesPerFeature(){switch(this.store?.featureStore.geometryType){case\"esriGeometryPoint\":case\"esriGeometryMultipoint\":return 1;case\"esriGeometryPolygon\":return 4;case\"esriGeometryPolyline\":return 2}}set filter(e){const t=this._get(\"filter\"),i=this._filterProperties(e);JSON.stringify(t)!==JSON.stringify(i)&&this._set(\"filter\",i)}set customParameters(e){const t=this._get(\"customParameters\");JSON.stringify(t)!==JSON.stringify(e)&&this._set(\"customParameters\",e)}get configuration(){return{filter:this.filter,customParameters:this.customParameters,tileInfo:this.tileInfo,tileSize:this.tileSize}}set tileInfo(e){const t=this._get(\"tileInfo\");t!==e&&(n(e)&&n(t)&&JSON.stringify(e)===JSON.stringify(t)||(this._set(\"tileInfo\",e),this.store.tileInfo=e))}set tileSize(e){this._get(\"tileSize\")!==e&&this._set(\"tileSize\",e)}get updating(){return this.updatingHandles.updating||this.pendingEdits.updating}initialize(){this._initializeFetchExtent(),this.updatingHandles.add((()=>this.configuration),(()=>this.refresh())),this.updatingHandles.add((()=>this.tilesOfInterest),((e,i)=>{t(e,i,(({id:e},{id:t})=>e===t))||this._process()}),d)}destroy(){this.pendingTiles.forEach((e=>this._deletePendingTile(e))),this.pendingTiles.clear(),this.store.destroy(),this.tilesOfInterest.length=0,this.pendingEditsAbortController.abort(),this.pendingEditsAbortController=null}refresh(){this.store.refresh(),this.pendingTiles.forEach((e=>this._deletePendingTile(e))),this._process()}applyEdits(e){this.pendingEdits.push(e,(async e=>{if(0===e.addedFeatures.length&&0===e.updatedFeatures.length&&0===e.deletedFeatures.length)return;for(const[,i]of this.pendingTiles)i.reset();const t={...e,deletedFeatures:e.deletedFeatures.map((({objectId:e,globalId:t})=>e&&-1!==e?e:this._lookupObjectIdByGlobalId(t)))};await this.updatingHandles.addPromise(this.store.processEdits(t,((e,t)=>this._queryFeaturesById(e,t)),this.pendingEditsAbortController.signal)),this._processPendingTiles()}))}_initializeFetchExtent(){if(!this.capabilities.query.supportsExtent||!_(this.url))return;const e=u((async e=>{try{const t=await b(this.url,new v({where:\"1=1\",outSpatialReference:this.spatialReference,cacheHint:!!this.capabilities.query.supportsCacheHint||void 0}),{query:this.configuration.customParameters,signal:e});this.store.extent=f.fromJSON(t.data?.extent)}catch(t){c(t),S.warn(\"Failed to fetch data extent\",t)}}));this.updatingHandles.addPromise(e.promise.then((()=>this._process()))),this.handles.add(r((()=>e.abort())))}get debugInfo(){return{numberOfFeatures:this.store.featureStore.numFeatures,tilesOfInterest:this.tilesOfInterest,pendingTiles:Array.from(this.pendingTiles.values()).map((e=>e.debugInfo)),storedTiles:this.store.debugInfo}}_process(){this._markTilesNotAlive(),this._createPendingTiles(),this._deletePendingTiles(),this._processPendingTiles()}_markTilesNotAlive(){for(const[,e]of this.pendingTiles)e.alive=!1}_createPendingTiles(){const e=this._collectMissingTilesInfo();if(this._setAvailability(a(e)?1:e.coveredArea/e.fullArea),!a(e))for(const{data:t,resolution:i}of e.missingTiles){const e=this.pendingTiles.get(t.id);e?(e.resolution=i,e.alive=!0):this._createPendingTile(t,i)}}_collectMissingTilesInfo(){let e=null;for(let t=this.tilesOfInterest.length-1;t>=0;t--){const i=this.tilesOfInterest[t],s=this.store.process(i,((e,t)=>this._verifyTileComplexity(e,t)));a(e)?e=s:e.prepend(s)}return e}_deletePendingTiles(){for(const[,e]of this.pendingTiles)e.alive||this._deletePendingTile(e)}_processPendingTiles(){const e={fetchCount:(e,t)=>this._fetchCount(e,t),fetchFeatures:(e,t,i)=>this._fetchFeatures(e,t,i),finish:(e,t)=>this._finishPendingTile(e,t),resume:()=>this._processPendingTiles()};if(this._ensureFetchAllCounts(e))for(const[,t]of this.pendingTiles)this._verifyTileComplexity(this.store.getFeatureCount(t.data),t.resolution)&&this.updatingHandles.addPromise(t.process(e))}_verifyTileComplexity(e,t){return this._verifyVertexComplexity(e)&&this._verifyFeatureDensity(e,t)}_verifyVertexComplexity(e){return e*this.minimumVerticesPerFeature{e===r.attributes[t]&&(s=r.objectId??r.attributes[i])})),a(s))throw new Error(`Expected to find a feature with globalId ${e}`);return s}_queryFeaturesById(e,t){const i=this._createFeaturesQuery(null);return i.objectIds=e,this._queryFeatures(i,t)}_queryFeatures(e,t){return this.capabilities.query.supportsFormatPBF?this._queryFeaturesPBF(e,t):this._queryFeaturesJSON(e,t)}async _queryFeaturesPBF(e,t){const{sourceSpatialReference:i}=this,{data:s}=await T(this.url,e,new F({sourceSpatialReference:i}),{query:this.configuration.customParameters,timeout:x,signal:t});return g(s)}async _queryFeaturesJSON(e,t){const{sourceSpatialReference:i}=this,{data:s}=await P(this.url,e,i,{query:this.configuration.customParameters,timeout:x,signal:t});return m(s,this.objectIdField)}_createCountQuery(e){const t=this._createBaseQuery(e);return this.capabilities.query.supportsCacheHint&&(t.cacheHint=!0),t}_createFeaturesQuery(e){const t=this._createBaseQuery(e);return t.outFields=this.globalIdField?[this.globalIdField,this.objectIdField]:[this.objectIdField],t.returnGeometry=!0,n(e)&&(this.capabilities.query.supportsResultType?t.resultType=\"tile\":this.capabilities.query.supportsCacheHint&&(t.cacheHint=!0)),t}_createBaseQuery(e){const t=new v({returnZ:!1,returnM:!1,geometry:n(this.tileInfo)&&n(e)?y(e.data.extent,this.tileInfo.spatialReference):void 0}),i=this.configuration.filter;return n(i)&&(t.where=i.where,t.gdbVersion=i.gdbVersion,t.timeExtent=i.timeExtent),t.outSpatialReference=this.spatialReference,t}_setPagingParameters(e,t,i){if(!this.capabilities.query.supportsPagination)return!1;const{supportsMaxRecordCountFactor:s,supportsCacheHint:r,tileMaxRecordCount:o,maxRecordCount:n,supportsResultType:a}=this.capabilities.query,l=s?v.MAX_MAX_RECORD_COUNT_FACTOR:1,u=l*((a||r)&&o?o:n||j);return e.start=t,s?(e.maxRecordCountFactor=Math.min(l,Math.ceil(i/u)),e.num=Math.min(i,e.maxRecordCountFactor*u)):e.num=Math.min(i,u),!0}};e([h({constructOnly:!0})],C.prototype,\"url\",void 0),e([h({constructOnly:!0})],C.prototype,\"objectIdField\",void 0),e([h({constructOnly:!0})],C.prototype,\"globalIdField\",void 0),e([h({constructOnly:!0})],C.prototype,\"capabilities\",void 0),e([h({constructOnly:!0})],C.prototype,\"sourceSpatialReference\",void 0),e([h({constructOnly:!0})],C.prototype,\"spatialReference\",void 0),e([h({constructOnly:!0})],C.prototype,\"store\",void 0),e([h({readOnly:!0})],C.prototype,\"minimumVerticesPerFeature\",null),e([h()],C.prototype,\"filter\",null),e([h()],C.prototype,\"customParameters\",null),e([h({readOnly:!0})],C.prototype,\"configuration\",null),e([h()],C.prototype,\"tileInfo\",null),e([h()],C.prototype,\"tileSize\",null),e([h()],C.prototype,\"tilesOfInterest\",void 0),e([h({readOnly:!0})],C.prototype,\"updating\",null),e([h({readOnly:!0})],C.prototype,\"availability\",void 0),C=e([p(\"esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTiledFetcher\")],C);const j=2e3,x=6e5,E=1e6,w=25,q=1;export{C as FeatureServiceTiledFetcher};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass t{constructor(){this._store=new Map,this._byteSize=0}set(t,e){this.delete(t),this._store.set(t,e),this._byteSize+=e.byteSize}delete(t){const e=this._store.get(t);return!!this._store.delete(t)&&(this._byteSize-=e.byteSize,!0)}get(t){return this._used(t),this._store.get(t)}has(t){return this._used(t),this._store.has(t)}clear(){this._store.clear()}applyByteSizeLimit(t,e){for(const[s,r]of this._store){if(this._byteSize<=t)break;this.delete(s),e(r)}}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}_used(t){const e=this._store.get(t);e&&(this._store.delete(t),this._store.set(t,e))}}export{t as FeatureServiceTileCache};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../../../chunks/tslib.es6.js\";import t from\"../../../../../core/Accessor.js\";import{ByteSizeUnit as s,estimateAttributesObjectSize as i,estimateFixedArraySize as r}from\"../../../../../core/byteSizeEstimations.js\";import{isNone as o,isSome as n}from\"../../../../../core/maybe.js\";import{property as l}from\"../../../../../core/accessorSupport/decorators/property.js\";import\"../../../../../core/arrayUtils.js\";import\"../../../../../core/has.js\";import\"../../../../../core/accessorSupport/ensureType.js\";import{subclass as a}from\"../../../../../core/accessorSupport/decorators/subclass.js\";import{create as c,intersects as h,fromExtent as u,area as d}from\"../../../../../geometry/support/aaBoundingRect.js\";import{getBoundsOptimizedGeometry as f}from\"../../../../../layers/graphics/featureConversionUtils.js\";import{BoundsStore as p}from\"../../../../../layers/graphics/data/BoundsStore.js\";import m from\"../../../../../layers/support/TileInfo.js\";import{executeQueryForCount as g}from\"../../../../../rest/query/operations/query.js\";import{FeatureServiceTileCache as _}from\"./FeatureServiceTileCache.js\";let v=class extends t{constructor(e){super(e),this.tileInfo=null,this.extent=null,this.maximumByteSize=10*s.MEGABYTES,this.tileBounds=new p,this.tiles=new _,this.refCounts=new Map,this.tileFeatureCounts=new Map,this.tmpBoundingRect=c()}add(e,t){const s=[];for(const i of t)this._referenceFeature(i.objectId)===w.ADDED&&s.push(i);this._addTileStorage(e,new Set(t.map((({objectId:e})=>e))),y(t)),this.featureStore.addMany(s),this.tiles.applyByteSizeLimit(this.maximumByteSize,(e=>this._removeTileStorage(e)))}destroy(){this.clear(),this.tileFeatureCounts.clear()}clear(){this.featureStore.clear(),this.tileBounds.clear(),this.tiles.clear(),this.refCounts.clear()}refresh(){this.clear(),this.tileFeatureCounts.clear()}processEdits(e,t,s){return this._processEditsDelete(e.deletedFeatures.concat(e.updatedFeatures)),this._processEditsRefetch(e.addedFeatures.concat(e.updatedFeatures),t,s)}_addTileStorage(e,t,s){this.tiles.set(e.id,new S(e,t,s)),this.tileBounds.set(e.id,e.extent),this.tileFeatureCounts.set(e.id,t.size)}_remove({id:e}){const t=this.tiles.get(e);t&&this._removeTileStorage(t)}_removeTileStorage(e){const t=[];for(const i of e.objectIds)this._unreferenceFeature(i)===w.REMOVED&&t.push(i);this.featureStore.removeManyById(t);const s=e.data.id;this.tiles.delete(s),this.tileBounds.delete(s)}_processEditsDelete(e){this.featureStore.removeManyById(e);for(const[,t]of this.tiles){for(const s of e)t.objectIds.delete(s);this.tileFeatureCounts.set(t.data.id,t.objectIds.size)}for(const t of e)this.refCounts.delete(t)}async _processEditsRefetch(e,t,s){const i=(await t(e,s)).features,{hasZ:r,hasM:n}=this.featureStore;for(const l of i){const e=f(this.tmpBoundingRect,l.geometry,r,n);o(e)||this.tileBounds.forEachInBounds(e,(e=>{const t=this.tiles.get(e);this.featureStore.add(l),t.objectIds.has(l.objectId)||(t.objectIds.add(l.objectId),this._referenceFeature(l.objectId),this.tileFeatureCounts.set(t.data.id,t.objectIds.size))}))}}process(e,t=(()=>!0)){if(o(this.tileInfo)||!e.extent||n(this.extent)&&!h(u(this.extent,this.tmpBoundingRect),e.extent))return new I(e);if(this.tiles.has(e.id))return new I(e);const s=this._createTileTree(e,this.tileInfo);return this._simplify(s,t,null,0,1),this._collectMissingTiles(e,s,this.tileInfo)}get debugInfo(){return Array.from(this.tiles.values()).map((({data:e})=>({data:e,featureCount:this.tileFeatureCounts.get(e.id)||0})))}getFeatureCount(e){return this.tileFeatureCounts.get(e.id)??0}async fetchCount(e,t,s,i){const r=this.tileFeatureCounts.get(e.id);if(null!=r)return r;const o=await g(t,s,i);return this.tileFeatureCounts.set(e.id,o.data.count),o.data.count}_createTileTree(e,t){const s=new T(e.level,e.row,e.col);return t.updateTileInfo(s,m.ExtrapolateOptions.POWER_OF_TWO),this.tileBounds.forEachInBounds(e.extent,(i=>{const r=this.tiles.get(i).data;this._tilesAreRelated(e,r)&&this._populateChildren(s,r,t,this.tileFeatureCounts.get(r.id)||0)})),s}_tilesAreRelated(e,t){if(!e||!t)return!1;if(e.level===t.level)return e.row===t.row&&e.col===t.col;const s=e.level>r,l=t.col>>r,a=e.row<<1,c=l-(e.col<<1)+(o-a<<1),h=e.children[c];if(n(h))this._populateChildren(h,t,s,i);else{const r=new T(e.level+1,o,l);s.updateTileInfo(r,m.ExtrapolateOptions.POWER_OF_TWO),e.children[c]=r,this._populateChildren(r,t,s,i)}}_simplify(e,t,s,i,r){const o=r*r;if(e.isLeaf)return t(this.getFeatureCount(e),r)?0:(this._remove(e),n(s)&&(s.children[i]=null),o);const l=r/2,a=l*l;let c=0;for(let h=0;h{const i=this.tiles.get(e.id);if(i){s+=i.byteSize;for(const e of i.objectIds)t.has(e)||(t.add(e),this._referenceFeature(e));this._remove(e)}})),this._addTileStorage(e,t,s),e.isLeaf=!0,e.children[0]=e.children[1]=e.children[2]=e.children[3]=null,this.tileFeatureCounts.set(e.id,t.size)}_forEachLeaf(e,t){for(const s of e.children)o(s)||(s.isLeaf?t(s):this._forEachLeaf(s,t))}_purge(e){if(!o(e))if(e.isLeaf)this._remove(e);else for(let t=0;t>1),(e.col<<1)+(1&r),i):this._collectMissingTilesRecurse(s,t,i)}}_referenceFeature(e){const t=(this.refCounts.get(e)||0)+1;return this.refCounts.set(e,t),1===t?w.ADDED:w.UNCHANGED}_unreferenceFeature(e){const t=(this.refCounts.get(e)||0)-1;return 0===t?(this.refCounts.delete(e),w.REMOVED):(t>0&&this.refCounts.set(e,t),w.UNCHANGED)}get test(){return{tiles:Array.from(this.tiles.values()).map((e=>`${e.data.id}:[${Array.from(e.objectIds)}]`)),featureReferences:Array.from(this.refCounts.keys()).map((e=>`${e}:${this.refCounts.get(e)}`))}}};function y(e){return e.reduce(((e,t)=>e+C(t)),0)}function C(e){return 32+E(e.geometry)+i(e.attributes)}function E(e){if(o(e))return 0;const t=r(e.lengths,4);return 32+r(e.coords,8)+t}e([l({constructOnly:!0})],v.prototype,\"featureStore\",void 0),e([l()],v.prototype,\"tileInfo\",void 0),e([l()],v.prototype,\"extent\",void 0),e([l()],v.prototype,\"maximumByteSize\",void 0),v=e([a(\"esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTileStore\")],v);class S{constructor(e,t,s){this.data=e,this.objectIds=t,this.byteSize=s}}class T{constructor(e,t,s){this.level=e,this.row=t,this.col=s,this.isLeaf=!1,this.extent=null,this.children=[null,null,null,null]}get hasChildren(){return!this.isLeaf&&(n(this.children[0])||n(this.children[1])||n(this.children[2])||n(this.children[3]))}}class I{constructor(e,t=[]){this.missingTiles=t,this.fullArea=0,this.coveredArea=0,this.fullArea=d(e.extent),this.coveredArea=this.fullArea}prepend(e){this.missingTiles=e.missingTiles.concat(this.missingTiles),this.coveredArea+=e.coveredArea,this.fullArea+=e.fullArea}}class j{constructor(e,t,s){this.tileInfo=e,this.extent=null,this.info=new I(t),n(s)&&(this.extent=u(s))}addMissing(e,t,s,i){const r={id:null,level:e,row:t,col:s};this.tileInfo.updateTileInfo(r,m.ExtrapolateOptions.POWER_OF_TWO),o(r.extent)||n(this.extent)&&!h(this.extent,r.extent)||(this.info.missingTiles.push({data:r,resolution:i}),this.info.coveredArea-=d(r.extent))}}const F=.18751;var w;!function(e){e[e.ADDED=0]=\"ADDED\",e[e.REMOVED=1]=\"REMOVED\",e[e.UNCHANGED=2]=\"UNCHANGED\"}(w||(w={}));export{v as FeatureServiceTileStore,I as ProcessResult};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../../../chunks/tslib.es6.js\";import t from\"../../../../../core/Evented.js\";import i from\"../../../../../core/Handles.js\";import{isSome as r}from\"../../../../../core/maybe.js\";import{createDeferred as s,throwIfAborted as a}from\"../../../../../core/promiseUtils.js\";import{watch as n,whenOnce as o,sync as p}from\"../../../../../core/reactiveUtils.js\";import{property as u}from\"../../../../../core/accessorSupport/decorators/property.js\";import\"../../../../../core/arrayUtils.js\";import\"../../../../../core/has.js\";import\"../../../../../core/accessorSupport/ensureType.js\";import{subclass as l}from\"../../../../../core/accessorSupport/decorators/subclass.js\";import{WatchUpdatingTracking as c}from\"../../../../../core/support/WatchUpdatingTracking.js\";import d from\"../../../../../geometry/SpatialReference.js\";import h from\"../../../../../layers/graphics/data/FeatureStore.js\";import{QueryEngine as f}from\"../../../../../layers/graphics/data/QueryEngine.js\";import m from\"../../../../../layers/support/TileInfo.js\";import g from\"../../../../../layers/support/TimeInfo.js\";import y from\"../../../../../rest/support/Query.js\";import{FeatureServiceTiledFetcher as S}from\"./FeatureServiceTiledFetcher.js\";import{FeatureServiceTileStore as F}from\"./FeatureServiceTileStore.js\";let I=class extends t.EventedAccessor{constructor(){super(...arguments),this.isInitializing=!0,this.whenSetup=s(),this.handles=new i,this.updatingHandles=new c,this.pendingApplyEdits=new Map}get updating(){return this.featureFetcher.updating||this.isInitializing||this.updatingHandles.updating}destroy(){this.featureFetcher.destroy(),this.queryEngine.destroy(),this.featureStore.clear(),this.handles.destroy()}async setup(e){const{geometryType:t,objectIdField:i,timeInfo:r,fields:s}=e.serviceInfo;return this.featureStore=new h({...e.serviceInfo,hasZ:!1,hasM:!1}),this.queryEngine=new f({spatialReference:e.spatialReference,featureStore:this.featureStore,geometryType:t,fields:s,hasZ:!1,hasM:!1,objectIdField:i,timeInfo:r?g.fromJSON(r):null}),this.featureFetcher=new S({store:new F({featureStore:this.featureStore}),url:e.serviceInfo.url,objectIdField:e.serviceInfo.objectIdField,globalIdField:e.serviceInfo.globalIdField,capabilities:e.serviceInfo.capabilities,spatialReference:d.fromJSON(e.spatialReference),sourceSpatialReference:d.fromJSON(e.serviceInfo.spatialReference)}),this.handles.add([n((()=>this.featureFetcher.availability),(e=>this.emit(\"notify-availability\",{availability:e})),p),n((()=>this.updating),(()=>this._notifyUpdating()))]),this.whenSetup.resolve(),this.isInitializing=!1,this.configure(e.configuration)}async configure(e){return await this.updatingHandles.addPromise(this.whenSetup.promise),this._updateFeatureFetcherConfiguration(e),{result:{}}}async fetchCandidates(e,t){await this.whenSetup.promise,a(t);return{result:await this.queryEngine.executeQueryForSnapping({point:e.point,distance:e.distance,types:e.types,query:r(e.filter)?e.filter:{where:\"1=1\"}},r(t)?t.signal:null)}}async updateTiles(e,t){return await this.updatingHandles.addPromise(this.whenSetup.promise),a(t),this.featureFetcher.tileSize=e.tileSize,this.featureFetcher.tilesOfInterest=e.tiles,this.featureFetcher.tileInfo=r(e.tileInfo)?m.fromJSON(e.tileInfo):null,{result:{}}}async refresh(e,t){return await this.updatingHandles.addPromise(this.whenSetup.promise),a(t),this.featureFetcher.refresh(),{result:{}}}async whenNotUpdating(e,t){return await this.updatingHandles.addPromise(this.whenSetup.promise),a(t),await o((()=>!this.updating),t),a(t),{result:{}}}async getDebugInfo(e,t){return a(t),{result:this.featureFetcher.debugInfo}}async beginApplyEdits(e,t){this.updatingHandles.addPromise(this.whenSetup.promise),a(t);const i=s();return this.pendingApplyEdits.set(e.id,i),this.featureFetcher.applyEdits(i.promise),this.updatingHandles.addPromise(i.promise),{result:{}}}async endApplyEdits(e,t){const i=this.pendingApplyEdits.get(e.id);return i&&i.resolve(e.edits),a(t),{result:{}}}_updateFeatureFetcherConfiguration(e){this.featureFetcher.filter=r(e.filter)?y.fromJSON(e.filter):null,this.featureFetcher.customParameters=e.customParameters}_notifyUpdating(){this.emit(\"notify-updating\",{updating:this.updating})}};function w(){return new I}e([u({readOnly:!0})],I.prototype,\"updating\",null),e([u()],I.prototype,\"isInitializing\",void 0),I=e([l(\"esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceSnappingSourceWorker\")],I);export{I as FeatureServiceSnappingSourceWorker,w as default};\n"],"sourceRoot":""}