From 3e8f5cc00b769fc7892af095b8efbd4fb80ad800 Mon Sep 17 00:00:00 2001 From: ztimson Date: Sun, 6 Oct 2024 19:14:36 -0400 Subject: [PATCH] Add or remove multiple elements from ASet at once --- package-lock.json | 4 ++-- package.json | 2 +- src/aset.ts | 20 +++++++++++--------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 93bb4f8..517dc51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ztimson/utils", - "version": "0.17.1", + "version": "0.17.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@ztimson/utils", - "version": "0.17.1", + "version": "0.17.2", "license": "MIT", "dependencies": { "var-persist": "^1.0.1" diff --git a/package.json b/package.json index 6f85589..33cbddd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ztimson/utils", - "version": "0.17.1", + "version": "0.17.2", "description": "Utility library", "author": "Zak Timson", "license": "MIT", diff --git a/src/aset.ts b/src/aset.ts index cbd50d5..d756167 100644 --- a/src/aset.ts +++ b/src/aset.ts @@ -19,20 +19,22 @@ export class ASet extends Array { } /** - * Add single element to set if unique - * @param {T} el Element to add + * Add elements to set if unique + * @param items */ - add(el: T) { - if(!this.has(el)) this.push(el); + add(...items: T[]) { + items.filter(el => !this.has(el)).forEach(el => this.push(el)); } /** - * Delete element from set - * @param {T} el Element that will be deleted + * Delete elements from set + * @param items Elements that will be deleted */ - delete(el: T) { - const index = this.indexOf(el); - if(index != -1) this.slice(index, 1); + delete(...items: T[]) { + items.forEach(el => { + const index = this.indexOf(el); + if(index != -1) this.slice(index, 1); + }) } /**