{"version":3,"sources":["node_modules/@arcgis/core/views/2d/tiling/TileCache.js","node_modules/@arcgis/core/views/2d/tiling/TileStrategy.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { k as e } from \"../../../chunks/vec2.js\";\nclass t {\n constructor(e, t, i) {\n this.maxSize = e, this._tileInfoView = t, this._removedFunc = i, this._tilePerId = new Map(), this._tileKeysPerLevel = [];\n }\n clear() {\n this._tilePerId.clear(), this._tileKeysPerLevel = [];\n }\n has(e) {\n return this._tilePerId.has(e);\n }\n get(e) {\n return this._tilePerId.get(e);\n }\n pop(e) {\n const t = this._tilePerId.get(e);\n if (!t) return;\n const r = t.key.level,\n s = this._tileKeysPerLevel[r];\n i(this._tilePerId, e);\n for (let i = 0; i < s.length; i++) if (s[i].id === e) {\n s.splice(i, 1);\n break;\n }\n return t.visible = !0, t;\n }\n add(e) {\n e.visible = !1;\n const t = e.key,\n i = t.id;\n if (this._tilePerId.has(i)) return;\n this._tilePerId.set(i, e);\n const r = t.level;\n this._tileKeysPerLevel[r] || (this._tileKeysPerLevel[r] = []), this._tileKeysPerLevel[r].push(t);\n }\n prune(e, t, i) {\n let r = this._tilePerId.size;\n if (r <= this.maxSize) return;\n let s = this._tileKeysPerLevel.length - 1;\n for (; r > this.maxSize && s >= 0;) s !== e && (r = this._pruneAroundCenterTile(r, t, i, s)), s--;\n r > this.maxSize && (r = this._pruneAroundCenterTile(r, t, i, e));\n }\n _pruneAroundCenterTile(t, i, r, s) {\n const l = this._tileKeysPerLevel[s];\n if (!l || 0 === l.length) return t;\n const {\n size: n,\n origin: h\n } = this._tileInfoView.tileInfo,\n o = r * n[0],\n _ = r * n[1],\n d = [0, 0],\n u = [0, 0];\n for (l.sort((t, r) => (d[0] = h.x + o * (t.col + .5), d[1] = h.y - _ * (t.row + .5), u[0] = h.x + o * (r.col + .5), u[1] = h.y - _ * (r.row + .5), e(d, i) - e(u, i))); l.length > 0;) {\n const e = l.pop();\n if (this._removeTile(e.id), --t === this.maxSize) break;\n }\n return t;\n }\n _removeTile(e) {\n const t = this._tilePerId.get(e);\n this._removedFunc && t && this._removedFunc(t), i(this._tilePerId, e);\n }\n}\nfunction i(e, t) {\n e.delete(t);\n}\nexport { t as default };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { create as e, contains as i } from \"../../../geometry/support/aaBoundingRect.js\";\nimport t from \"./TileCache.js\";\nimport s from \"./TileCoverage.js\";\nimport l from \"./TileKey.js\";\nconst o = new l(0, 0, 0, 0),\n h = new Map(),\n a = [],\n c = [];\nclass r {\n constructor(e) {\n this._previousScale = Number.POSITIVE_INFINITY, this.cachePolicy = \"keep\", this.coveragePolicy = \"closest\", this.resampling = !0, this.tileIndex = new Map(), this.tiles = [], this.buffer = 192, this.acquireTile = e.acquireTile, this.releaseTile = e.releaseTile, this.tileInfoView = e.tileInfoView, null != e.resampling && (this.resampling = e.resampling), e.cachePolicy && (this.cachePolicy = e.cachePolicy), e.coveragePolicy && (this.coveragePolicy = e.coveragePolicy), null != e.buffer && (this.buffer = e.buffer), e.cacheSize && (this._tileCache = new t(e.cacheSize, this.tileInfoView, e => {\n this.releaseTile(e);\n }));\n }\n destroy() {\n this.tileIndex.clear();\n }\n update(e) {\n const {\n resampling: i,\n tileIndex: t\n } = this,\n {\n scale: l,\n center: r,\n resolution: n\n } = e.state,\n {\n minScale: f,\n maxScale: d\n } = this.tileInfoView,\n u = !e.stationary && l > this._previousScale;\n if (this._previousScale = l, !i && (l > f || l < d)) return this.tiles.length = 0, void this.clear();\n const p = this.tileInfoView.getTileCoverage(e.state, this.buffer, this.resampling, this.coveragePolicy);\n if (!p) return this.tiles.length = 0, void this.clear();\n const {\n spans: y,\n lodInfo: g\n } = p,\n {\n level: I\n } = g;\n this.tiles.length = 0, t.forEach(e => e.visible = !0);\n let v = 0,\n m = 0;\n if (y.length > 0) for (const {\n row: s,\n colFrom: a,\n colTo: c\n } of y) for (let e = a; e <= c; e++) {\n v++;\n const i = o.set(I, s, g.normalizeCol(e), g.getWorldForColumn(e)).id;\n let l = t.get(i);\n if (l) l.isReady ? (h.set(i, l), m++) : u || this._addParentTile(i, h);else {\n if (this._tileCache?.has(i)) {\n if (l = this._tileCache.pop(i), this.tileIndex.set(i, l), l.isReady) {\n h.set(i, l), m++;\n continue;\n }\n } else l = this.acquireTile(o), this.tileIndex.set(i, l);\n u || this._addParentTile(i, h);\n }\n }\n const T = m === v;\n for (const [s, _] of t) {\n if (h.has(s)) continue;\n o.set(s);\n const e = this.tileInfoView.intersects(p, o),\n i = \"purge\" === this.cachePolicy ? o.level !== I : o.level > I;\n !e || !u && T ? !i && e || a.push(_) : _.isReady ? i && \"purge\" === this.cachePolicy && this._hasReadyAncestor(o, I) ? a.push(_) : c.push(_) : i && a.push(_);\n }\n for (const s of c) s.isReady && h.set(s.key.id, s);\n for (const s of a) this._tileCache ? this._tileCache.add(s) : this.releaseTile(s), t.delete(s.key.id);\n for (const s of h.values()) this.tiles.push(s);\n for (const s of t.values()) h.has(s.key.id) || (s.visible = !1);\n this._tileCache?.prune(I, r, n), s.pool.release(p), c.length = 0, a.length = 0, h.clear();\n }\n clear() {\n const {\n tileIndex: e\n } = this;\n for (const i of e.values()) this.releaseTile(i);\n e.clear();\n }\n refresh(e) {\n for (const i of this.tileIndex.values()) this.tiles.includes(i) ? e(i) : a.push(i);\n for (const i of a) this.releaseTile(i), this.tileIndex.delete(i.key.id);\n this._tileCache?.clear();\n }\n updateCacheSize(e) {\n this._tileCache && (this._tileCache.maxSize = e);\n }\n _addParentTile(e, i) {\n let t = e,\n s = null;\n for (; t = this.tileInfoView.getTileParentId(t), t;) if (this.tileIndex.has(t)) {\n if (s = this.tileIndex.get(t), s?.isReady) {\n i.has(s.key.id) || i.set(s.key.id, s);\n break;\n }\n } else if (this._tileCache?.has(t) && (s = this._tileCache.pop(t), this.tileIndex.set(t, s), s?.isReady)) {\n i.has(s.key.id) || i.set(s.key.id, s);\n break;\n }\n }\n _hasReadyAncestor(t, s) {\n const l = e();\n this.tileInfoView.getTileBounds(l, t, !0);\n for (const o of this.tileIndex.values()) if (o.isReady && o.key.level >= s && o.key.level < t.level) {\n const t = e();\n if (this.tileInfoView.getTileBounds(t, o.key, !0), i(t, l)) return !0;\n }\n return !1;\n }\n}\nexport { r as default };"],"mappings":"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","names":["e","t","i","r","l","h","o","u","e","i","t","l","r","u","a","c","o"],"x_google_ignoreList":[0,1]}