From da0a6379dd5acd0c64814a20e220ea3318014c1b Mon Sep 17 00:00:00 2001 From: Jesper Date: Wed, 13 Apr 2022 17:32:14 +0200 Subject: [PATCH] Ifs -> switch --- TypeScript/app/gilded-rose.ts | 43 +++++++++++++++++------------------ 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/TypeScript/app/gilded-rose.ts b/TypeScript/app/gilded-rose.ts index 0dd1859d..2382a5de 100644 --- a/TypeScript/app/gilded-rose.ts +++ b/TypeScript/app/gilded-rose.ts @@ -32,37 +32,36 @@ function updateItems(items: Item[]): Item[] { } function updateItemQuality({ name, quality, sellIn, ...rest }: Item): number { - if (name === 'Sulfuras, Hand of Ragnaros') return quality - - if (name == 'Aged Brie') return incrementQuality({ quality }); - - if (name == 'Backstage passes to a TAFKAL80ETC concert') { - let itemCopy = { name, quality, sellIn, ...rest } - itemCopy.quality = incrementQuality(itemCopy); - if (sellIn < 11) itemCopy.quality = incrementQuality(itemCopy) - if (sellIn < 6) itemCopy.quality = incrementQuality(itemCopy) - return itemCopy.quality + switch (name) { + case 'Sulfuras, Hand of Ragnaros': return quality + case 'Aged Brie': return incrementQuality({ quality }); + case 'Backstage passes to a TAFKAL80ETC concert': { + let itemCopy = { name, quality, sellIn, ...rest } + itemCopy.quality = incrementQuality(itemCopy); + if (sellIn < 11) itemCopy.quality = incrementQuality(itemCopy) + if (sellIn < 6) itemCopy.quality = incrementQuality(itemCopy) + return itemCopy.quality + } + default: return decrementQuality({ quality }) } - - return decrementQuality({ quality }) } function updateItemSellIn({ name, sellIn }: Item) { - if (name == 'Sulfuras, Hand of Ragnaros') return sellIn - - return sellIn - 1; + switch (name) { + case 'Sulfuras, Hand of Ragnaros': return sellIn + default: return sellIn - 1 + } } function updateExpiredItemQuality({ quality, name, sellIn }: Item): number { if (sellIn >= 0) return quality - if (name == 'Sulfuras, Hand of Ragnaros') return quality - - if (name == 'Aged Brie') return incrementQuality({ quality }) - - if (name == 'Backstage passes to a TAFKAL80ETC concert') return 0 - - return decrementQuality({quality}) + switch (name) { + case 'Sulfuras, Hand of Ragnaros': return quality + case 'Aged Brie': return incrementQuality({ quality }) + case 'Backstage passes to a TAFKAL80ETC concert': return 0 + default: return decrementQuality({ quality }) + } } function decrementQuality({ quality }: Pick): number {