UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 842 B
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{makeHandle as e}from"../../../core/handleUtils.js";import{nextTick as n}from"../../../core/nextTick.js";import{makeAllLayerSnappingOptions as r}from"./allLayerSnapping.js";import{SnappingManager as o}from"./SnappingManager.js";const t=new Map;function a(n){if(!t.has(n)){const e=r(n,{distance:10}),o=p(n,e.options);t.set(n,{referenceCount:0,snappingManager:o,remove:()=>{e.remove(),o.destroy()}})}const o=t.get(n);o.referenceCount++;const a=e((()=>i(n,o)));return{snappingManager:o.snappingManager,...a}}function i(e,r){r.referenceCount--,r.referenceCount>0||n((()=>{0===r.referenceCount&&(r.remove(),t.delete(e))}))}function p(e,n){return new o({view:e,options:n})}export{a as acquire};