UNPKG

675 BPlain TextView Raw
1function Worker () => Threads = this; class
2 (code) ->
3 @thread = t = Threads.create!
4 t.on \message (args) ~> @onmessage? data: args
5 t.on \error (args) ~> @onerror? args
6 t.on \close -> t.destroy!
7 @terminate = -> t.destroy!
8 @add-event-listener = (event, cb) ~>
9 if event is \message
10 @onmessage = cb
11 else
12 t.on event, cb
13 @dispatch-event = (event) -> t.emitSerialized event.type, event
14 @post-message = (data) -> t.emitSerialized \message {data}
15 if typeof code is \function
16 t.eval "(#code)()"
17 else if code?
18 t.load code