From 5b5a3657f026f147e0f84731344aa57096e44e75 Mon Sep 17 00:00:00 2001 From: Olivier Guyot Date: Mon, 24 Jun 2019 10:52:23 +0200 Subject: [PATCH] Fix typings in workers The worker self object is simply cast to any to make sure typescript does not complain. Actual typecheck may be restored once the following issue is fixed: https://github.com/microsoft/TypeScript/issues/20595 --- src/ol/worker/version.js | 7 +++++-- src/ol/worker/webgl.js | 7 +++++-- tsconfig.json | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/ol/worker/version.js b/src/ol/worker/version.js index ef9b86ad0f..89c6106ba9 100644 --- a/src/ol/worker/version.js +++ b/src/ol/worker/version.js @@ -4,9 +4,12 @@ */ import {VERSION} from '../util.js'; -onmessage = event => { +/** @type {any} */ +const worker = self; + +worker.onmessage = event => { console.log('version worker received message:', event.data); // eslint-disable-line - postMessage(`version: ${VERSION}`); + worker.postMessage(`version: ${VERSION}`); }; export let create; diff --git a/src/ol/worker/webgl.js b/src/ol/worker/webgl.js index d1542aad4e..93c446aefb 100644 --- a/src/ol/worker/webgl.js +++ b/src/ol/worker/webgl.js @@ -10,7 +10,10 @@ import { } from '../renderer/webgl/Layer.js'; import {assign} from '../obj.js'; -onmessage = event => { +/** @type {any} */ +const worker = self; + +worker.onmessage = event => { const received = event.data; if (received.type === WebGLWorkerMessageType.GENERATE_BUFFERS) { const renderInstructions = new Float32Array(received.renderInstructions); @@ -41,7 +44,7 @@ onmessage = event => { renderInstructions: renderInstructions.buffer }, received); - postMessage(message, [vertexBuffer.buffer, indexBuffer.buffer, renderInstructions.buffer]); + worker.postMessage(message, [vertexBuffer.buffer, indexBuffer.buffer, renderInstructions.buffer]); } }; diff --git a/tsconfig.json b/tsconfig.json index 6e378a37be..438785ff84 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ /* Basic Options */ "target": "ES2017", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */ "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ - "lib": ["es2017", "dom", "webworker"], /* Specify library files to be included in the compilation. */ + "lib": ["es2017", "dom"], /* Specify library files to be included in the compilation. */ "allowJs": true, /* Allow javascript files to be compiled. */ "checkJs": true, /* Report errors in .js files. */ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */