// All material copyright ESRI, All Rights Reserved, unless otherwise specified.// See https://js.arcgis.com/4.6/esri/copyright.txt for details.//>>builtdefine("require exports ../core/tsSupport/generatorHelper ../core/tsSupport/awaiterHelper ../WebScene ../Basemap ../Ground ../core/JSONSupport ../core/MultiOriginJSONSupport ../core/requireUtils ../layers/GroupLayer ../layers/mixins/OperationalLayer ../core/accessorSupport/extensions/serializableProperty/type".split(" "),function(I,n,f,e,J,K,L,M,N,O,D,E,P){functionm(a,b){returne(this,void0,void0,function(){varc;returnf(this,function(d){switch(d.label){case0:c=a.typeName;switch(c){case"array":return[3,1];case"union":return[3,3];case"json":return[3,5];case"native":return[3,7]}return[3,9];case1:return[4,Q(a,b)];case2:returnd.sent(),[3,9];case3:return[4,R(a,b)];case4:returnd.sent(),[3,9];case5:return[4,p(a,b)];case6:returnd.sent(),[3,9];case7:return[4,S(a,b)];case8:returnd.sent(),[3,9];case9:return[2]}})})}functionS(a,b){returne(this,void0,void0,function(){returnf(this,function(c){b.addProperty({path:b.pathString,type:u(a)});return[2]})})}functionQ(a,b){returne(this,void0,void0,function(){returnf(this,function(c){switch(c.label){case0:returnb.pushPath(b.popPath()+"[]"),[4,m(a.elementType,b)];case1:returnc.sent(),[2]}})})}functionT(a){returnU[a]||a}functionR(a,b){returne(this,void0,void0,function(){varc,d,g,r;returnf(this,function(h){switch(h.label){case0:c=b.popPath(),d=0,g=a.types,h.label=1;case1:if(!(d<g.length))return[3,4];r=g[d];b.pushPath(c+"\x3c"+T(r.value)+"\x3e");return[4,m(r.type,b)];case2:h.sent(),b.popPath(),h.label=3;case3:returnd++,[3,1];case4:returnb.pushPath(c),[2]}})})}functionV(a,b,c){returne(this,void0,void0,function(){returnf(this,function(d){switch(d.label){case0:returna.type!==J||"layers"!==b?[3,2]:[4,q("web-scene/operational-layers")];case1:return[2,d.sent()];case2:returna.type!==K||"baseLayers"!==b?[3,4]:[4,q("web-scene/basemap")];case3:return[2,d.sent()];case4:returna.type!==L||"layers"!==b?[3,6]:[4,q("web-scene/ground")];case5:return[2,d.sent()];case6:returna.type!==D||"layers"!==b?[3,8]:[4,q("web-scene/operational-layers",function(a){returna!==D})];case7:return[2,d.sent()];case8:return[2,W(c)]}})})}functionp(a,b){returne(this,void0,void0,function(){varc,d,g,r,h,e,k,B,F,x,q,y,z,v,w,n,t,m,A,p;returnf(this,function(l){switch(l.label){case0:c=a.type.__accessorMetadata__;d=a.type.prototype.declaredClass.replace(/\./g,"/");g=c&&c.properties;d&&b.classPaths&&(b.classPaths[b.pathString]=d);if(!g)returnb.addProperty({path:b.pathString,type:"unknown"}),[2];if(r=b.seen.get(a.type)){h=0;for(e=r;h<e.length;h++)k=e[h],b.pushPath(k.path),b.addProperty({path:b.pathString,type:k.type}),b.popPath();return[2]}B=b.flatProperties.length;F=b.pathString;x=[];for(qing)x.push(q);y=0;l.label=1;case1:if(!(y<x.length))return[3,7];z=x[y];v=g[z];if(v.json){l=v.json.origins;varf=v.json.write,u=l&&l["web-document"]&&l["web-document"].write;w=l&&l["web-scene"]&&l["web-scene"].write||u||f||null}elsew=null;returnw&&w.enabled?[4,V(a,z,v)]:[3,6];case2:n=l.sent();if(!n)return[3,6];t=w.target;return"string"!==typeoft&&null!=t?[3,4]:[4,G(n,"string"===typeoft?t:z,b)];case3:returnl.sent(),[3,6];case4:return[4,X(t,b)];case5:l.sent(),l.label=6;case6:returny++,[3,1];case7:if(b.flatProperties.length===B)returnb.addProperty({path:b.pathString,type:"unknown"}),[2];m=[];for(A=B;A<b.flatProperties.length;A++)p=b.flatProperties[A],m.push({path:p.path.slice(F.length+1),type:p.type});b.addSeen(a.type,m);return[2]}})})}functionG(a,b,c){returne(this,void0,void0,function(){returnf(this,function(d){switch(d.label){case0:returnc.pushPath(b),[4,m(a,c)];case1:returnd.sent(),c.popPath(),[2]}})})}functionX(a,b){returne(this,void0,void0,function(){varc,d,g;returnf(this,function(e){for(cina)d=a[c],g=void0,g=d.types?C(d.types):k(d.type),G(g,c,b);return[2]})})}functionq(a,b){returne(this,void0,void0,function(){varc,d,g,e,h,k,n,m,p;returnf(this,function(f){switch(f.label){case0:c=E.supportedTypes[a];d={typeName:"union",key:"layerType",types:[]};g=[];for(einc)g.push(e);h=0;f.label=1;case1:if(!(h<g.length))return[3,4];k=g[h];return(n=E.typeModuleMap[k])?[4,O.when(I,"../layers/mixins/"+n)]:[3,3];case2:m=f.sent();if(b&&!b(m))return[3,3];d.types.push({type:{typeName:"json",type:m},value:k});f.label=3;case3:returnh++,[3,1];case4:if(0===d.types.length)return[2,null];p={typeName:"array",elementType:1===d.types.length?d.types[0].type:d};return[2,p]}})})}functionu(a){switch(a.typeName){case"array":returnu(a.elementType)+"[]";case"union":return""+a.types.map(function(a){returnu(a.type)}).join(" | ");case"native":switch(a.type){caseNumber:return"number";caseString:return"string";caseBoolean:return"boolean";default:return"unknown"}case"json":returna.type.prototype.declaredClass}}functionW(a){returna.types?C(a.types):k(a.json&&a.json.type||a.type)}functionC(a){if(Array.isArray(a))return{typeName:"array",elementType:C(a[0])};varb=[],c;for(cina.typeMap)b.push({type:k(a.typeMap[c]),value:c});return1===b.length?b[0].type:{typeName:"union",key:"string"===typeofa.key?a.key:"type",types:b}}functionk(a){if(!a)return{typeName:"native",type:null};if(Array.isArray(a))return{typeName:"array",elementType:k(a[0])};if(P.isCollection(a)){if(a=a.prototype.itemType&&a.prototype.itemType.Type)if("function"===typeofa)a={typeName:"array",elementType:k(a)};elseif(a.typeMap){varb=[],c;for(cina.typeMap)b.push({type:k(a.typeMap[c]),value:c});a={typeName:"array",elementType:{typeName:"union",key:"string"===typeofa.key?a.key:"type",types:b}}}elsea=void0;elsea={typeName:"array",elementType:{typeName:"native",type:null}};returna}if(a===String||a===Boolean||a===Number)return{typeName:"native",type:a};c=(c=a._meta&&a._meta.bases)?-1!==c.indexOf(M)||-1!==c.indexOf(N):!1;returnc?{typeName:"json",type:a}:{typeName:"native",type:null}}Object.defineProperty(n,"__esModule",{value:!0});n.scan=function(a){returne(this,void0,void0,function(){varb,c;returnf(this,function(d){switch(d.label){case0:returnb=newH,[4,p({typeName:"json",type:a},b)];case1:returnd.sent(),c=b.flatProperties,c.sort(function(a,b){returna.path.localeCompare(b.path)}),[2,c]}})})};n.collectClassPaths=function(a){returne(this,void0,void0,function(){varb;returnf(this,function(c){switch(c.label){case0:returnb=newH({classPaths:{},cacheEnabled:!1}),[4,p({typeName:"json",type:a},b)];case1:returnc.sent(),[2,b.classPaths]}})})};varU={"unique-value":"uniqueValue","class-breaks":"classBreaks","point-3d":"PointSymbol3D","line-3d":"LineSymbol3D","mesh-3d":"MeshSymbol3D","polygon-3d":"PolygonSymbol3D","label-3d":"LabelSymbol3D","web-style":"styleSymbolReference",text:"Text",object:"Object",icon:"Icon",fill:"Fill",extrude:"Extrude",line:"Line",path:"Path","point-cloud-class-breaks":"pointCloudClassBreaksRenderer","point-cloud-rgb":"pointCloudRGBRenderer","point-cloud-stretch":"pointCloudStretchRenderer","point-cloud-unique-value":"pointCloudUniqueValueRenderer","fixed-size":"pointCloudFixedSizeAlgorithm",splat:"pointCloudSplatAlgorithm"},H=function(){functiona(a){this.flatProperties=[];this.path=[];this.seen=newMap;a&&a.classPaths&&(this.classPaths=a.classPaths);this.cacheEnabled=!(!a||!a.cacheEnabled)}a.prototype.addProperty=function(a){this.flatProperties.push(a)};a.prototype.addSeen=function(a,c){this.cacheEnabled&&this.seen.set(a,c)};a.prototype.pushPath=function(a){this.path.push(a)};a.prototype.popPath=function(){returnthis.path.pop()};Object.defineProperty(a.prototype,"pathString",{get:function(){returnthis.path.join(".")},enumerable:!0,configurable:!0});returna}()});