From 4727c9a0455ff30960e1c2e7b445734892b04238 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 1 Jul 2019 17:04:00 -0700 Subject: [PATCH] Use Set instead of array + object map --- .../services/themes/browser/workbenchThemeService.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/vs/workbench/services/themes/browser/workbenchThemeService.ts b/src/vs/workbench/services/themes/browser/workbenchThemeService.ts index a70a2d7c92e..d17412a1930 100644 --- a/src/vs/workbench/services/themes/browser/workbenchThemeService.ts +++ b/src/vs/workbench/services/themes/browser/workbenchThemeService.ts @@ -372,18 +372,16 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { } private updateDynamicCSSRules(themeData: ITheme) { - let cssRules: string[] = []; - let hasRule: { [rule: string]: boolean } = {}; - let ruleCollector = { + const cssRules = new Set(); + const ruleCollector = { addRule: (rule: string) => { - if (!hasRule[rule]) { - cssRules.push(rule); - hasRule[rule] = true; + if (!cssRules.has(rule)) { + cssRules.add(rule); } } }; themingRegistry.getThemingParticipants().forEach(p => p(themeData, ruleCollector, this.environmentService)); - _applyRules(cssRules.join('\n'), colorThemeRulesClassName); + _applyRules([...cssRules].join('\n'), colorThemeRulesClassName); } private applyTheme(newTheme: ColorThemeData, settingsTarget: ConfigurationTarget | undefined | 'auto', silent = false): Promise {