From b322bcb32bfb0e207d6c7da005951a8da1e1ed1a Mon Sep 17 00:00:00 2001 From: Christopher Schleiden Date: Wed, 11 Jan 2023 13:28:53 -0800 Subject: [PATCH] Do not add duplicate entries to description dictionary --- .../src/completion/descriptionDictionary.test.ts | 3 ++- actions-expressions/src/completion/descriptionDictionary.ts | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/actions-expressions/src/completion/descriptionDictionary.test.ts b/actions-expressions/src/completion/descriptionDictionary.test.ts index 960c289..67811f4 100644 --- a/actions-expressions/src/completion/descriptionDictionary.test.ts +++ b/actions-expressions/src/completion/descriptionDictionary.test.ts @@ -12,7 +12,8 @@ describe("description dictionary", () => { it("does not add duplicate entries", () => { const d = new DescriptionDictionary(); d.add("ABC", new StringData("val1")); - d.add("abc", new StringData("val2")); + d.add("ABC", new StringData("val2")); + d.add("abc", new StringData("val3")); expect(d.pairs()).toEqual([{key: "ABC", value: new StringData("val1")}]); }); diff --git a/actions-expressions/src/completion/descriptionDictionary.ts b/actions-expressions/src/completion/descriptionDictionary.ts index 8e07bb3..08a4eda 100644 --- a/actions-expressions/src/completion/descriptionDictionary.ts +++ b/actions-expressions/src/completion/descriptionDictionary.ts @@ -19,6 +19,11 @@ export class DescriptionDictionary extends Dictionary { } override add(key: string, value: ExpressionData, description?: string): void { + if (this.get(key) !== undefined) { + // Key already added, ignore + return; + } + super.add(key, value); if (description) { this.descriptions.set(key, description);