diff options
author | Tim Zallmann <tzallmann@gitlab.com> | 2017-12-21 15:05:47 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2017-12-21 15:05:47 +0000 |
commit | 213e91d43926f09eb969859aa2c306eeb127deb4 (patch) | |
tree | 4904c49f664a8ad040e593e5ac354a36b7033f60 /app/assets/javascripts/ide/lib/common/disposable.js | |
parent | 889c7081f1c8bea2cd2cf7d50854babd7df92f72 (diff) | |
download | gitlab-ce-213e91d43926f09eb969859aa2c306eeb127deb4.tar.gz |
Resolve "Decouple multi-file editor from file list"
Diffstat (limited to 'app/assets/javascripts/ide/lib/common/disposable.js')
-rw-r--r-- | app/assets/javascripts/ide/lib/common/disposable.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/assets/javascripts/ide/lib/common/disposable.js b/app/assets/javascripts/ide/lib/common/disposable.js new file mode 100644 index 00000000000..84b29bdb600 --- /dev/null +++ b/app/assets/javascripts/ide/lib/common/disposable.js @@ -0,0 +1,14 @@ +export default class Disposable { + constructor() { + this.disposers = new Set(); + } + + add(...disposers) { + disposers.forEach(disposer => this.disposers.add(disposer)); + } + + dispose() { + this.disposers.forEach(disposer => disposer.dispose()); + this.disposers.clear(); + } +} |