/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../core/maybe","../Extent","../Geometry","../Multipoint","../Point","../Polygon","../Polyline"],(function(e,o,n,t,i,r,s,u){"use strict";function l(e){try{throw new Error("fromJson is deprecated, use fromJSON instead")}catch(o){console.warn(o.stack)}return a(e)}function y(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function m(e){return void 0!==e.points}function f(e){return void 0!==e.x&&void 0!==e.y}function c(e){return void 0!==e.paths}function d(e){return void 0!==e.rings}function v(e){return void 0!==e.vertexAttributes}function a(e){return o.isNone(e)?null:e instanceof t?e:f(e)?r.fromJSON(e):c(e)?u.fromJSON(e):d(e)?s.fromJSON(e):m(e)?i.fromJSON(e):y(e)?n.fromJSON(e):null}function p(e){return e?f(e)?"esriGeometryPoint":c(e)?"esriGeometryPolyline":d(e)?"esriGeometryPolygon":y(e)?"esriGeometryEnvelope":m(e)?"esriGeometryMultipoint":null:null}const P={esriGeometryPoint:r,esriGeometryPolyline:u,esriGeometryPolygon:s,esriGeometryEnvelope:n,esriGeometryMultipoint:i};function G(e){return e&&P[e]||null}e.fromJSON=a,e.fromJson=l,e.getGeometryType=G,e.getJsonType=p,e.isExtent=y,e.isMesh=v,e.isMultipoint=m,e.isPoint=f,e.isPolygon=d,e.isPolyline=c,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
