Don't define functions in the prototype

If `VOID` is used, TypeScript is not able to figure out what the function parameters are.

Before:
```
$ npx tsc | wc -l
    1188
```

After:
```
$ npx tsc | wc -l
    1169
```
This commit is contained in:
Frederic Junod
2018-09-18 13:57:28 +02:00
parent 5910e4d207
commit 7cb85fa975
7 changed files with 75 additions and 76 deletions

View File

@@ -6,7 +6,7 @@ import Disposable from '../Disposable.js';
import {listen, unlistenByKey} from '../events.js';
import EventType from '../events/EventType.js';
import {getWidth} from '../extent.js';
import {TRUE, VOID} from '../functions.js';
import {TRUE} from '../functions.js';
import {visibleAtResolution} from '../layer/Layer.js';
import {shared as iconImageCache} from '../style/IconImageCache.js';
import {compose as composeTransform, invert as invertTransform, setFromArray as transformSetFromArray} from '../transform.js';
@@ -46,6 +46,13 @@ class MapRenderer extends Disposable {
}
/**
* @abstract
* @param {import("../render/EventType.js").default} type Event type.
* @param {import("../PluggableMap.js").FrameState} frameState Frame state.
*/
dispatchRenderEvent(type, frameState) {}
/**
* Register layer renderer constructors.
* @param {Array<import("./Layer.js").default>} constructors Layer renderers.
@@ -283,6 +290,13 @@ class MapRenderer extends Disposable {
}
}
/**
* @abstract
* Render.
* @param {?import("../PluggableMap.js").FrameState} frameState Frame state.
*/
renderFrame(frameState) {}
/**
* @param {import("../PluggableMap.js").FrameState} frameState Frame state.
* @protected
@@ -317,20 +331,6 @@ function expireIconCache(map, frameState) {
}
/**
* Render.
* @param {?import("../PluggableMap.js").FrameState} frameState Frame state.
*/
MapRenderer.prototype.renderFrame = VOID;
/**
* @param {import("../render/EventType.js").default} type Event type.
* @param {import("../PluggableMap.js").FrameState} frameState Frame state.
*/
MapRenderer.prototype.dispatchRenderEvent = VOID;
/**
* @param {import("../layer/Layer.js").State} state1 First layer state.
* @param {import("../layer/Layer.js").State} state2 Second layer state.