@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.57 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{OriginId as r}from"../../core/accessorSupport/PropertyOrigin.js";function e(r,e,i){const o=e.flatten((({sublayers:r})=>r)).length;if(o!==r.length)return!0;return!!r.some((r=>r.originIdOf("minScale")>i||r.originIdOf("maxScale")>i||r.originIdOf("renderer")>i||r.originIdOf("labelingInfo")>i||r.originIdOf("opacity")>i||r.originIdOf("labelsVisible")>i||r.originIdOf("source")>i))||!n(r,e)}function i(e,i,o){return!!e.some((e=>{const i=e.source,n=!i||"map-layer"===i.type&&i.mapLayerId===e.id&&(null==i.gdbVersion||i.gdbVersion===o);e.commitProperty("renderer"),e.commitProperty("labelingInfo"),e.commitProperty("opacity"),e.commitProperty("labelsVisible"),e.commitProperty("orderBy");const t=e.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1;return!n||e.originIdOf("renderer")>r.SERVICE||e.originIdOf("labelingInfo")>r.SERVICE||e.originIdOf("opacity")>r.SERVICE||e.originIdOf("labelsVisible")>r.SERVICE||t&&e.originIdOf("orderBy")>r.SERVICE}))||!n(e,i)}function n(r,e){if(!r?.length||null==e)return!0;const i=e.slice().reverse().flatten((({sublayers:r})=>r&&r.toArray().reverse())).map((r=>r.id)).toArray();if(r.length>i.length)return!1;let n=0;const o=i.length;for(const{id:t}of r){for(;n<o&&i[n]!==t;)n++;if(n>=o)return!1}return!0}function o(r){return!!r&&r.some((r=>null!=r.minScale||null!=r.layerDefinition?.minScale))}export{i as isExportDynamic,o as isSublayerOverhaul,e as shouldWriteSublayerStructure};