diff options
author | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-10-24 22:28:40 -0600 |
---|---|---|
committer | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-10-24 22:28:40 -0600 |
commit | 4ce505b125950521860f0d2170409719927f3f85 (patch) | |
tree | fc5d256d0c7bc1403c648c617b4e0d17416e4877 /turing-machine/js/observable.js | |
parent | d6b885b318f68f9be19fd3dcc4d77e0f30f25ff5 (diff) | |
download | simponic.xyz-4ce505b125950521860f0d2170409719927f3f85.tar.gz simponic.xyz-4ce505b125950521860f0d2170409719927f3f85.zip |
initial turing machine
Diffstat (limited to 'turing-machine/js/observable.js')
-rw-r--r-- | turing-machine/js/observable.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/turing-machine/js/observable.js b/turing-machine/js/observable.js new file mode 100644 index 0000000..1299fc6 --- /dev/null +++ b/turing-machine/js/observable.js @@ -0,0 +1,14 @@ +class Observable { + constructor() { + this.observers = []; + } + subscribe(f) { + this.observers.push(f); + } + unsubscribe(f) { + this.observers = this.observers.filter((subscriber) => subscriber !== f); + } + notify(data) { + this.observers.forEach((observer) => observer(data)); + } +} |