flatspecAPI.js 7.55 KB
// All material copyright ESRI, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.6/esri/copyright.txt for details.
//>>built
define("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){function m(a,b){return e(this,void 0,void 0,function(){var c;return f(this,function(d){switch(d.label){case 0: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];case 1:return[4,Q(a,b)];case 2:return d.sent(),[3,9];case 3:return[4,R(a,b)];case 4:return d.sent(),[3,9];case 5:return[4,p(a,b)];case 6:return d.sent(),[3,9];case 7:return[4,S(a,b)];case 8:return d.sent(),[3,9];case 9:return[2]}})})}function S(a,b){return e(this,void 0,void 0,function(){return f(this,function(c){b.addProperty({path:b.pathString,type:u(a)});return[2]})})}function Q(a,b){return e(this,void 0,
void 0,function(){return f(this,function(c){switch(c.label){case 0:return b.pushPath(b.popPath()+"[]"),[4,m(a.elementType,b)];case 1:return c.sent(),[2]}})})}function T(a){return U[a]||a}function R(a,b){return e(this,void 0,void 0,function(){var c,d,g,r;return f(this,function(h){switch(h.label){case 0:c=b.popPath(),d=0,g=a.types,h.label=1;case 1:if(!(d<g.length))return[3,4];r=g[d];b.pushPath(c+"\x3c"+T(r.value)+"\x3e");return[4,m(r.type,b)];case 2:h.sent(),b.popPath(),h.label=3;case 3:return d++,
[3,1];case 4:return b.pushPath(c),[2]}})})}function V(a,b,c){return e(this,void 0,void 0,function(){return f(this,function(d){switch(d.label){case 0:return a.type!==J||"layers"!==b?[3,2]:[4,q("web-scene/operational-layers")];case 1:return[2,d.sent()];case 2:return a.type!==K||"baseLayers"!==b?[3,4]:[4,q("web-scene/basemap")];case 3:return[2,d.sent()];case 4:return a.type!==L||"layers"!==b?[3,6]:[4,q("web-scene/ground")];case 5:return[2,d.sent()];case 6:return a.type!==D||"layers"!==b?[3,8]:[4,q("web-scene/operational-layers",
function(a){return a!==D})];case 7:return[2,d.sent()];case 8:return[2,W(c)]}})})}function p(a,b){return e(this,void 0,void 0,function(){var c,d,g,r,h,e,k,B,F,x,q,y,z,v,w,n,t,m,A,p;return f(this,function(l){switch(l.label){case 0: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)return b.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(q in g)x.push(q);y=0;l.label=1;case 1:if(!(y<x.length))return[3,7];z=x[y];v=g[z];if(v.json){l=v.json.origins;var f=v.json.write,u=l&&l["web-document"]&&l["web-document"].write;w=l&&l["web-scene"]&&l["web-scene"].write||u||f||null}else w=null;return w&&w.enabled?[4,V(a,z,v)]:[3,6];case 2:n=l.sent();if(!n)return[3,6];t=w.target;return"string"!==typeof t&&null!=t?
[3,4]:[4,G(n,"string"===typeof t?t:z,b)];case 3:return l.sent(),[3,6];case 4:return[4,X(t,b)];case 5:l.sent(),l.label=6;case 6:return y++,[3,1];case 7:if(b.flatProperties.length===B)return b.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]}})})}function G(a,b,c){return e(this,void 0,void 0,function(){return f(this,function(d){switch(d.label){case 0:return c.pushPath(b),
[4,m(a,c)];case 1:return d.sent(),c.popPath(),[2]}})})}function X(a,b){return e(this,void 0,void 0,function(){var c,d,g;return f(this,function(e){for(c in a)d=a[c],g=void 0,g=d.types?C(d.types):k(d.type),G(g,c,b);return[2]})})}function q(a,b){return e(this,void 0,void 0,function(){var c,d,g,e,h,k,n,m,p;return f(this,function(f){switch(f.label){case 0:c=E.supportedTypes[a];d={typeName:"union",key:"layerType",types:[]};g=[];for(e in c)g.push(e);h=0;f.label=1;case 1:if(!(h<g.length))return[3,4];k=g[h];
return(n=E.typeModuleMap[k])?[4,O.when(I,"../layers/mixins/"+n)]:[3,3];case 2:m=f.sent();if(b&&!b(m))return[3,3];d.types.push({type:{typeName:"json",type:m},value:k});f.label=3;case 3:return h++,[3,1];case 4:if(0===d.types.length)return[2,null];p={typeName:"array",elementType:1===d.types.length?d.types[0].type:d};return[2,p]}})})}function u(a){switch(a.typeName){case "array":return u(a.elementType)+"[]";case "union":return""+a.types.map(function(a){return u(a.type)}).join(" | ");case "native":switch(a.type){case Number:return"number";
case String:return"string";case Boolean:return"boolean";default:return"unknown"}case "json":return a.type.prototype.declaredClass}}function W(a){return a.types?C(a.types):k(a.json&&a.json.type||a.type)}function C(a){if(Array.isArray(a))return{typeName:"array",elementType:C(a[0])};var b=[],c;for(c in a.typeMap)b.push({type:k(a.typeMap[c]),value:c});return 1===b.length?b[0].type:{typeName:"union",key:"string"===typeof a.key?a.key:"type",types:b}}function k(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"===typeof a)a={typeName:"array",elementType:k(a)};else if(a.typeMap){var b=[],c;for(c in a.typeMap)b.push({type:k(a.typeMap[c]),value:c});a={typeName:"array",elementType:{typeName:"union",key:"string"===typeof a.key?a.key:"type",types:b}}}else a=void 0;else a={typeName:"array",elementType:{typeName:"native",type:null}};return a}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;return c?{typeName:"json",type:a}:{typeName:"native",type:null}}Object.defineProperty(n,"__esModule",{value:!0});n.scan=function(a){return e(this,void 0,void 0,function(){var b,c;return f(this,function(d){switch(d.label){case 0:return b=new H,[4,p({typeName:"json",type:a},b)];case 1:return d.sent(),c=b.flatProperties,c.sort(function(a,b){return a.path.localeCompare(b.path)}),[2,
c]}})})};n.collectClassPaths=function(a){return e(this,void 0,void 0,function(){var b;return f(this,function(c){switch(c.label){case 0:return b=new H({classPaths:{},cacheEnabled:!1}),[4,p({typeName:"json",type:a},b)];case 1:return c.sent(),[2,b.classPaths]}})})};var U={"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(){function a(a){this.flatProperties=[];this.path=[];this.seen=new Map;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(){return this.path.pop()};Object.defineProperty(a.prototype,"pathString",{get:function(){return this.path.join(".")},enumerable:!0,configurable:!0});return a}()});