/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports"],(function(t){"use strict";let i=function(){function t(t){this.callbacks=t,this.currentCount=0,this.callbacks.condition||(this.callbacks.condition=()=>!0)}var i=t.prototype;return i.handle=function(t){const i=t.data,e=i.pointers.size;switch(i.action){case"start":this.currentCount=e,this._emitStart(t);break;case"added":this._emitEnd(this.previousEvent),this.currentCount=e,this._emitStart(t);break;case"update":this._emitUpdate(t);break;case"removed":this.startEvent&&this._emitEnd(this.previousEvent),this.currentCount=e,this._emitStart(t);break;case"end":this._emitEnd(t),this.currentCount=0}this.previousEvent=t},i._emitStart=function(t){this.startEvent=t,this.callbacks.condition(this.currentCount,t)&&this.callbacks.start(this.currentCount,t,this.startEvent)},i._emitUpdate=function(t){this.callbacks.condition(this.currentCount,t)&&this.callbacks.update(this.currentCount,t,this.startEvent)},i._emitEnd=function(t){this.callbacks.condition(this.currentCount,t)&&this.callbacks.end(this.currentCount,t,this.startEvent),this.startEvent=null},t}();t.DragEventSeparator=i,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
