bare-worker 4.1.4 → 4.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1,18 +1,22 @@
1
1
  const Thread = require('bare-thread')
2
2
  const Channel = require('bare-channel')
3
3
  const WorkerState = require('./lib/worker-state')
4
+ const MessageChannel = require('./lib/message-channel')
5
+ const MessagePort = require('./lib/message-port')
4
6
  const constants = require('./lib/constants')
5
- const preloads = require('./lib/preloads')
6
7
 
7
- let MessageChannel
8
- let MessagePort
8
+ const preloads = new Map()
9
+
10
+ let parentPort = null
11
+ let workerData = null
9
12
 
10
13
  if (WorkerState.parent) {
11
- MessageChannel = WorkerState.parent.MessageChannel
12
- MessagePort = WorkerState.parent.MessagePort
13
- } else {
14
- MessageChannel = require('./lib/message-channel')
15
- MessagePort = require('./lib/message-port')
14
+ for (const [entry, source] of WorkerState.parent.preloads) {
15
+ preloads.set(entry, source)
16
+ }
17
+
18
+ parentPort = WorkerState.parent.port
19
+ workerData = WorkerState.parent.data
16
20
  }
17
21
 
18
22
  const worker = Thread.prepare(require.resolve('./lib/worker-thread'), { shared: true })
@@ -79,16 +83,11 @@ exports.Worker = exports
79
83
  exports.MessageChannel = MessageChannel
80
84
  exports.MessagePort = MessagePort
81
85
 
86
+ exports.parentPort = parentPort
87
+ exports.workerData = workerData
88
+
82
89
  exports.isMainThread = Thread.isMainThread
83
90
 
84
91
  exports.preload = function preload(entry) {
85
92
  preloads.set(entry, Thread.prepare(entry, { shared: true }))
86
93
  }
87
-
88
- if (WorkerState.parent) {
89
- exports.parentPort = WorkerState.parent.port
90
- exports.workerData = WorkerState.parent.data
91
- } else {
92
- exports.parentPort = null
93
- exports.workerData = null
94
- }
@@ -1,4 +1,5 @@
1
1
  const Channel = require('bare-channel')
2
+ const WorkerState = require('./worker-state')
2
3
  const MessagePort = require('./message-port')
3
4
 
4
5
  module.exports = class MessageChannel {
@@ -9,3 +10,5 @@ module.exports = class MessageChannel {
9
10
  this.port2 = new MessagePort(channel)
10
11
  }
11
12
  }
13
+
14
+ if (WorkerState.parent) module.exports = WorkerState.parent.MessageChannel
@@ -1,5 +1,6 @@
1
1
  const EventEmitter = require('bare-events')
2
2
  const Channel = require('bare-channel')
3
+ const WorkerState = require('./worker-state')
3
4
  const constants = require('./constants')
4
5
  const errors = require('./errors')
5
6
 
@@ -214,6 +215,8 @@ module.exports = exports = class MessagePort extends EventEmitter {
214
215
  static _ports = new Set()
215
216
  }
216
217
 
218
+ if (WorkerState.parent) module.exports = WorkerState.parent.MessagePort
219
+
217
220
  Bare.on('beforeExit', (exitCode) => {
218
221
  for (const port of exports._ports) port._beforeExit(exitCode)
219
222
  })
@@ -10,7 +10,13 @@ Bare.on('newListener', onnewlistener)
10
10
 
11
11
  const cache = Object.create(null)
12
12
 
13
- for (const [entry, source] of state.preloads) Module.load(new URL(entry), source, { cache })
13
+ for (const [, source] of state.preloads) {
14
+ Module.load(
15
+ new URL(`bare:/worker/preload-${Math.random().toString(16).slice(2)}.bundle`),
16
+ source,
17
+ { cache }
18
+ )
19
+ }
14
20
 
15
21
  Module.load(new URL('bare:/worker.bundle'), state.source, { cache })
16
22
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bare-worker",
3
- "version": "4.1.4",
3
+ "version": "4.1.6",
4
4
  "description": "Higher-level worker threads for JavaScript",
5
5
  "exports": {
6
6
  ".": "./index.js",
package/lib/preloads.js DELETED
@@ -1,17 +0,0 @@
1
- const Thread = require('bare-thread')
2
-
3
- const preloads = new Map()
4
-
5
- if (
6
- Thread.self &&
7
- typeof Thread.self.data === 'object' &&
8
- Thread.self.data !== null &&
9
- typeof Thread.self.data.preloads === 'object' &&
10
- Thread.self.data.preloads !== null
11
- ) {
12
- for (const [entry, source] of Thread.self.data.preloads) {
13
- preloads.set(entry, source)
14
- }
15
- }
16
-
17
- module.exports = preloads