From c7c22e3db1c826bcfb2bc66651ec480aae0d4ae0 Mon Sep 17 00:00:00 2001 From: yo mama Date: Sat, 4 Apr 2015 01:00:59 -0700 Subject: first --- node_modules/webworker-threads/src/events.ls | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 node_modules/webworker-threads/src/events.ls (limited to 'node_modules/webworker-threads/src/events.ls') diff --git a/node_modules/webworker-threads/src/events.ls b/node_modules/webworker-threads/src/events.ls new file mode 100644 index 0000000..4e604b7 --- /dev/null +++ b/node_modules/webworker-threads/src/events.ls @@ -0,0 +1,29 @@ +function DispatchEvents (thread) + thread = this <<< { + on: (e, f, q) -> + if q = thread._on[e] then q.push f else thread._on[e] = [f] + return thread + once: (e, f, q) -> + not (q = thread._on[e]) and (q = thread._on[e] = []) + if q.once then q.once.push f else q.once = [f] + return thread + remove-all-listeners: (e) -> + if arguments_.length then delete! thread._on[e] else thread._on = {} + return thread + dispatch-events: (event, args, q, i, len) -> + if q = thread._on[event] => try + i = 0 + len = q.length + while i < len + q[i++].apply thread, args + if q = q.once + q.once = ``undefined`` + i = 0 + len = q.length + while i < len + q[i++].apply thread, args + catch + __postError { message: e, filename: '', lineno: 0 } + _on: {} + } + return @dispatch-events -- cgit v1.2.3-70-g09d2