<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import BaseLayer from"./Base.js";import EventType from"../events/EventType.js";import LayerProperty from"./Property.js";import RenderEventType from"../render/EventType.js";import SourceState from"../source/State.js";import{assert}from"../asserts.js";import{assign}from"../obj.js";import{getChangeEventType}from"../Object.js";import{listen,unlistenByKey}from"../events.js";class Layer extends BaseLayer{constructor(e){const r=assign({},e);delete r.source,super(r),this.mapPrecomposeKey_=null,this.mapRenderKey_=null,this.sourceChangeKey_=null,this.renderer_=null,e.render&amp;&amp;(this.render=e.render),e.map&amp;&amp;this.setMap(e.map),this.addEventListener(getChangeEventType(LayerProperty.SOURCE),this.handleSourcePropertyChange_);e=e.source||null;this.setSource(e)}getLayersArray(e){const r=e||[];return r.push(this),r}getLayerStatesArray(e){const r=e||[];return r.push(this.getLayerState()),r}getSource(){return this.get(LayerProperty.SOURCE)||null}getSourceState(){const e=this.getSource();return e?e.getState():SourceState.UNDEFINED}handleSourceChange_(){this.changed()}handleSourcePropertyChange_(){this.sourceChangeKey_&amp;&amp;(unlistenByKey(this.sourceChangeKey_),this.sourceChangeKey_=null);var e=this.getSource();e&amp;&amp;(this.sourceChangeKey_=listen(e,EventType.CHANGE,this.handleSourceChange_,this)),this.changed()}getFeatures(e){return this.renderer_.getFeatures(e)}render(e,r){const t=this.getRenderer();if(t.prepareFrame(e))return t.renderFrame(e,r)}setMap(e){this.mapPrecomposeKey_&amp;&amp;(unlistenByKey(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),e||this.changed(),this.mapRenderKey_&amp;&amp;(unlistenByKey(this.mapRenderKey_),this.mapRenderKey_=null),e&amp;&amp;(this.mapPrecomposeKey_=listen(e,RenderEventType.PRECOMPOSE,function(e){const r=e.frameState.layerStatesArray,t=this.getLayerState(!1);assert(!r.some(function(e){return e.layer===t.layer}),67),r.push(t)},this),this.mapRenderKey_=listen(this,EventType.CHANGE,e.render,e),this.changed())}setSource(e){this.set(LayerProperty.SOURCE,e)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}disposeInternal(){this.setSource(null),super.disposeInternal()}}function inView(e,r){if(!e.visible)return!1;var t=r.resolution;if(t&lt;e.minResolution||t&gt;=e.maxResolution)return!1;t=r.zoom;return t&gt;e.minZoom&amp;&amp;t&lt;=e.maxZoom}export default Layer;export{inView};</pre></body></html>