/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
class t{constructor(t,e,r,n){this.startTime=t,this.startValue=e,this.endTime=r,this.endValue=n}getValue(t){if(t<=this.startTime)return this.startValue;if(t>=this.endTime)return this.endValue;const e=(t-this.startTime)/(this.endTime-this.startTime);return this.startValue+e*(this.endValue-this.startValue)}isForeverZero(t){return 0===this.startValue&&0===this.endValue||0===this.endValue&&t>=this.endTime}}function e(t,e){return"number"==typeof t?t:t.getValue(e)}function r(t){return"number"==typeof t?t:t.endValue}function n(t,e){return"number"==typeof t?0===t:t.isForeverZero(e)}function i(e,r,n,i){return e===n?e:new t(e,r,n,i)}function s(t,r,n){const s=e(t,n),u=s*r;return 0===u?0:i(n,s,n+u,0)}export{i as animate,s as fadeToZero,r as getEndValue,e as getValue,n as isForeverZero};
