editor.worker.js 1.0 KB

12345678910111213141516171819202122232425
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. import { SimpleWorkerServer } from '../base/common/worker/simpleWorker.js';
  6. import { EditorSimpleWorker } from './common/services/editorSimpleWorker.js';
  7. let initialized = false;
  8. export function initialize(foreignModule) {
  9. if (initialized) {
  10. return;
  11. }
  12. initialized = true;
  13. const simpleWorker = new SimpleWorkerServer((msg) => {
  14. self.postMessage(msg);
  15. }, (host) => new EditorSimpleWorker(host, foreignModule));
  16. self.onmessage = (e) => {
  17. simpleWorker.onmessage(e.data);
  18. };
  19. }
  20. self.onmessage = (e) => {
  21. // Ignore first message in this case and initialize if not yet initialized
  22. if (!initialized) {
  23. initialize(null);
  24. }
  25. };