worker.js 986 B

12345678910111213141516171819202122232425262728293031
  1. const require = async () => {
  2. if (typeof process !== 'undefined' && process.versions && process.versions.node) {
  3. const worker_threads = await import('worker_threads');
  4. return worker_threads.parentPort;
  5. }
  6. import('./dagre.js');
  7. return self;
  8. };
  9. require().then((self) => {
  10. self.addEventListener('message', async (e) => {
  11. const message = e.data;
  12. switch (message.type) {
  13. case 'dagre.layout': {
  14. try {
  15. const dagre = await import('./dagre.js');
  16. dagre.layout(message.nodes, message.edges, message.layout, message.state);
  17. self.postMessage(message);
  18. } catch (error) {
  19. self.postMessage({ type: 'error', message: error.message });
  20. }
  21. break;
  22. }
  23. default: {
  24. throw Error(`Unsupported message type '${message.type}'.`);
  25. }
  26. }
  27. });
  28. });