From 5b4b0c147196004bf5af43681e5348cd753a848b Mon Sep 17 00:00:00 2001 From: Dev Date: Tue, 4 Jun 2024 18:32:22 +0100 Subject: [PATCH] Introduced Set to speed up calls to `isItemBlacklisted()` --- project/src/services/ItemFilterService.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/project/src/services/ItemFilterService.ts b/project/src/services/ItemFilterService.ts index f5650dbc..0ca1abed 100644 --- a/project/src/services/ItemFilterService.ts +++ b/project/src/services/ItemFilterService.ts @@ -11,6 +11,7 @@ import { ICloner } from "@spt/utils/cloners/ICloner"; export class ItemFilterService { protected itemConfig: IItemConfig; + protected itemBlacklist: Set = new Set(); constructor( @inject("PrimaryLogger") protected logger: ILogger, @@ -29,7 +30,12 @@ export class ItemFilterService */ public isItemBlacklisted(tpl: string): boolean { - return this.itemConfig.blacklist.includes(tpl); + if (this.itemBlacklist.size === 0) + { + this.itemConfig.blacklist.forEach((item) => this.itemBlacklist.add(item)); + } + + return this.itemBlacklist.has(tpl); } /**