mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-18 16:01:42 +00:00
Ifs -> switch
This commit is contained in:
parent
ad10e04856
commit
da0a6379dd
@ -32,37 +32,36 @@ function updateItems(items: Item[]): Item[] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function updateItemQuality({ name, quality, sellIn, ...rest }: Item): number {
|
function updateItemQuality({ name, quality, sellIn, ...rest }: Item): number {
|
||||||
if (name === 'Sulfuras, Hand of Ragnaros') return quality
|
switch (name) {
|
||||||
|
case 'Sulfuras, Hand of Ragnaros': return quality
|
||||||
if (name == 'Aged Brie') return incrementQuality({ quality });
|
case 'Aged Brie': return incrementQuality({ quality });
|
||||||
|
case 'Backstage passes to a TAFKAL80ETC concert': {
|
||||||
if (name == 'Backstage passes to a TAFKAL80ETC concert') {
|
let itemCopy = { name, quality, sellIn, ...rest }
|
||||||
let itemCopy = { name, quality, sellIn, ...rest }
|
itemCopy.quality = incrementQuality(itemCopy);
|
||||||
itemCopy.quality = incrementQuality(itemCopy);
|
if (sellIn < 11) itemCopy.quality = incrementQuality(itemCopy)
|
||||||
if (sellIn < 11) itemCopy.quality = incrementQuality(itemCopy)
|
if (sellIn < 6) itemCopy.quality = incrementQuality(itemCopy)
|
||||||
if (sellIn < 6) itemCopy.quality = incrementQuality(itemCopy)
|
return itemCopy.quality
|
||||||
return itemCopy.quality
|
}
|
||||||
|
default: return decrementQuality({ quality })
|
||||||
}
|
}
|
||||||
|
|
||||||
return decrementQuality({ quality })
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateItemSellIn({ name, sellIn }: Item) {
|
function updateItemSellIn({ name, sellIn }: Item) {
|
||||||
if (name == 'Sulfuras, Hand of Ragnaros') return sellIn
|
switch (name) {
|
||||||
|
case 'Sulfuras, Hand of Ragnaros': return sellIn
|
||||||
return sellIn - 1;
|
default: return sellIn - 1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateExpiredItemQuality({ quality, name, sellIn }: Item): number {
|
function updateExpiredItemQuality({ quality, name, sellIn }: Item): number {
|
||||||
if (sellIn >= 0) return quality
|
if (sellIn >= 0) return quality
|
||||||
|
|
||||||
if (name == 'Sulfuras, Hand of Ragnaros') return quality
|
switch (name) {
|
||||||
|
case 'Sulfuras, Hand of Ragnaros': return quality
|
||||||
if (name == 'Aged Brie') return incrementQuality({ quality })
|
case 'Aged Brie': return incrementQuality({ quality })
|
||||||
|
case 'Backstage passes to a TAFKAL80ETC concert': return 0
|
||||||
if (name == 'Backstage passes to a TAFKAL80ETC concert') return 0
|
default: return decrementQuality({ quality })
|
||||||
|
}
|
||||||
return decrementQuality({quality})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function decrementQuality({ quality }: Pick<Item, 'quality'>): number {
|
function decrementQuality({ quality }: Pick<Item, 'quality'>): number {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user