@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 1.17 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{__decorate as t}from"tslib";import{property as e,subclass as s}from"../../core/accessorSupport/decorators.js";import i from"../support/PublishingInfo.js";const n=Symbol();function r(t){return null!=t&&"object"==typeof t&&n in t}const o=r=>{var o;const u=r;let l=class extends u{constructor(){super(...arguments),this[o]=!0}static{o=n}get publishingInfo(){if(this.destroyed)return null;const t=this._get("publishingInfo");if(t)return t;const e=new i;return this._checkPublishingStatus(e),e}_checkPublishingStatus(t){const e=250,s=125;let i=0;const n=async e=>{let o;t.updating=!0;try{o=await this.fetchPublishingStatus()}catch(u){o="unavailable"}"published"!==o&&"unavailable"!==o||("publishing"===t.status&&this.refresh(),r.remove()),t.status=o,t.updating=!1,r.removed||(i=setTimeout(n,e,e+s))},r={removed:!1,remove(){this.removed=!0,clearTimeout(i)}};this.when().catch(()=>r.remove()),n(e),this.addHandles(r)}};return t([e({readOnly:!0,clonable:!1})],l.prototype,"publishingInfo",null),l=t([s("esri.layers.mixins.PublishableLayer")],l),l};export{o as PublishableLayer,r as isPublishableLayer};