diff options
author | Elizabeth (Lizzy) Hunt <elizabeth.hunt@simponic.xyz> | 2023-10-24 23:44:38 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-24 23:44:38 -0600 |
commit | 080211a78870c684400ab9f74f08ca04be153c0b (patch) | |
tree | 583b2dd6ba8f4e8c88c84a6dfc74e8b95def7309 /turing-machine/js/observable.js | |
parent | 22258746502640c8b48b94f9f6dc10edfd5a7073 (diff) | |
parent | 7f8392f6294f415b7c223bd831db5082ca614db4 (diff) | |
download | simponic.xyz-080211a78870c684400ab9f74f08ca04be153c0b.tar.gz simponic.xyz-080211a78870c684400ab9f74f08ca04be153c0b.zip |
Merge pull request #2 from Simponic/turing-machine
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)); + } +} |