UNPKG

@arcgis/core

Version:

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

3 lines (2 loc) 995 B
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */ class t{constructor(){this._outer=new Map}clear(){this._outer.clear()}get empty(){return 0===this._outer.size}get outerSize(){return this._outer.size}get size(){let t=0;for(const e of this._outer.values())t+=e.size;return t}get(t,e){return this._outer.get(t)?.get(e)}getInner(t){return this._outer.get(t)}set(t,e,r){const o=this._outer.get(t);o?o.set(e,r):this._outer.set(t,new Map([[e,r]]))}delete(t,e){const r=this._outer.get(t);r&&(r.delete(e),0===r.size&&this._outer.delete(t))}pop(t,e){const r=this.get(t,e);return this.delete(t,e),r}*outerMap(){for(const t of this._outer)yield t}*values(){for(const t of this._outer.values())yield*t.values()}*[Symbol.iterator](){for(const[t,e]of this._outer)for(const[r,o]of e)yield[t,r,o]}forEach(t){this._outer.forEach((e,r)=>t(e,r))}forAll(t){this._outer.forEach((e,r)=>e.forEach((e,o)=>t(e,r,o)))}copy(){const e=new t;return this.forAll((t,r,o)=>e.set(r,o,t)),e}}export{t as NestedMap};