/* COPYRIGHT Esri - https://js.arcgis.com/5.0.18/LICENSE.txt */
function t(t,i,s,e){return{x:t,y:i,z:s,hasZ:null!=s,hasM:!1,spatialReference:e,type:"point"}}function i(t,i,s,e,n){t.x=i,t.y=s,t.z=e,t.hasZ=null!=e,t.spatialReference=n}class s{constructor(t,i,s,e,n){this.spatialReference=t,this._position=void 0!==n?[i,s,e??0,n??0]:void 0!==e?[i,s,e??0]:[i,s],this._flags=(void 0!==e?1:0)+(void 0!==n?2:0)}get hasZ(){return!(1&~this._flags)}get hasM(){return!(2&~this._flags)}get type(){return"point"}get x(){return this._position[0]}get y(){return this._position[1]}get z(){return this.hasZ?this._position[2]:void 0}get m(){return this.hasM?this._position[3]:void 0}}export{s as ImmutableDehydratedPoint,t as makeDehydratedPoint,i as setDehydratedPoint};
