From b7a9296faccfd36264d0701bfa620100db8ee1b6 Mon Sep 17 00:00:00 2001 From: Dev Date: Fri, 31 May 2024 11:09:19 +0100 Subject: [PATCH] Expanded `getItemName()` to return short name when full name is not found --- project/src/helpers/ItemHelper.ts | 11 +++++++++-- project/tests/helpers/ItemHelper.test.ts | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/project/src/helpers/ItemHelper.ts b/project/src/helpers/ItemHelper.ts index 8cde8338..9a9ac815 100644 --- a/project/src/helpers/ItemHelper.ts +++ b/project/src/helpers/ItemHelper.ts @@ -1556,11 +1556,18 @@ export class ItemHelper /** * Get the name of an item from the locale file using the item tpl * @param itemTpl Tpl of item to get name of - * @returns Name of item + * @returns Full name, short name if not found */ public getItemName(itemTpl: string): string { - return this.localeService.getLocaleDb()[`${itemTpl} Name`]; + const localeDb = this.localeService.getLocaleDb(); + const result = localeDb[`${itemTpl} Name`]; + if (result?.length > 0) + { + return result; + } + + return localeDb[`${itemTpl} ShortName`]; } /** diff --git a/project/tests/helpers/ItemHelper.test.ts b/project/tests/helpers/ItemHelper.test.ts index 07a5c49e..fdfff153 100644 --- a/project/tests/helpers/ItemHelper.test.ts +++ b/project/tests/helpers/ItemHelper.test.ts @@ -852,6 +852,24 @@ describe("ItemHelper", () => expect(result).toBe("Roubles"); }); + it("should return item short name for a valid item with empty full name", () => + { + const databaseServer = container.resolve("DatabaseServer"); + databaseServer.getTables().locales.global.en["5449016a4bdc2d6f028b456f Name"] = ""; + const result = itemHelper.getItemName("5449016a4bdc2d6f028b456f"); // "Roubles" + + expect(result).toBe("RUB"); + }); + + it("should return item short name for a valid item with undefined full name", () => + { + const databaseServer = container.resolve("DatabaseServer"); + databaseServer.getTables().locales.global.en["5449016a4bdc2d6f028b456f Name"] = undefined; + const result = itemHelper.getItemName("5449016a4bdc2d6f028b456f"); // "Roubles" + + expect(result).toBe("RUB"); + }); + it("should return undefined for invalid item", () => { const result = itemHelper.getItemName("fake tpl");