1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Add static constructor function to ObservableToggleSet

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2021-07-07 08:36:55 -04:00
parent 17a8044647
commit 5de440daa5

View File

@ -19,7 +19,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/ */
import { ObservableSet } from "mobx"; import { IEnhancer, IObservableSetInitialValues, ObservableSet } from "mobx";
export class ToggleSet<T> extends Set<T> { export class ToggleSet<T> extends Set<T> {
public toggle(value: T): void { public toggle(value: T): void {
@ -31,6 +31,10 @@ export class ToggleSet<T> extends Set<T> {
} }
export class ObservableToggleSet<T> extends ObservableSet<T> { export class ObservableToggleSet<T> extends ObservableSet<T> {
static new<T>(initialData?: IObservableSetInitialValues<T>, enhancer?: IEnhancer<T>, name_?: string): ObservableToggleSet<T> {
return new ObservableToggleSet(initialData, enhancer, name_);
}
public toggle(value: T): void { public toggle(value: T): void {
if (!this.delete(value)) { if (!this.delete(value)) {
// Set.prototype.delete returns false if `value` was not in the set // Set.prototype.delete returns false if `value` was not in the set