[common] udpate proto

This commit is contained in:
2018-03-01 12:05:06 +03:00
parent 634f5ad2d0
commit 45fab2c0b5
15 changed files with 96 additions and 63 deletions

View File

@@ -0,0 +1,27 @@
package ru.m.signal;
typedef Receiver<T> = T -> Void;
class Signal<T> {
private var receivers:Array<Receiver<T>>;
public function new() {
receivers = [];
}
public function connect(receiver:Receiver<T>):Void {
receivers.push(receiver);
}
public function disconnect(receiver:Receiver<T>):Void {
receivers.remove(receiver);
}
public function emit(value:T):Void {
for (receiver in receivers) {
receiver(value);
}
}
}