diff --git a/TypeScript/app/gilded-rose.ts b/TypeScript/app/gilded-rose.ts index 928aa579..8e56e02d 100644 --- a/TypeScript/app/gilded-rose.ts +++ b/TypeScript/app/gilded-rose.ts @@ -18,52 +18,54 @@ export class GildedRose { } updateQuality() { - for (let i = 0; i < this.items.length; i++) { - if (this.items[i].name != 'Aged Brie' && this.items[i].name != 'Backstage passes to a TAFKAL80ETC concert') { - if (this.items[i].quality > 0) { - if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') { - this.items[i].quality = this.items[i].quality - 1 - } - } - } else { - if (this.items[i].quality < 50) { - this.items[i].quality = this.items[i].quality + 1 - if (this.items[i].name == 'Backstage passes to a TAFKAL80ETC concert') { - if (this.items[i].sellIn < 11) { - if (this.items[i].quality < 50) { - this.items[i].quality = this.items[i].quality + 1 - } - } - if (this.items[i].sellIn < 6) { - if (this.items[i].quality < 50) { - this.items[i].quality = this.items[i].quality + 1 - } - } - } + this.items.map(this.updateItemQuality); + return this.items; + } + + private updateItemQuality(item) { + if (item.name != 'Aged Brie' && item.name != 'Backstage passes to a TAFKAL80ETC concert') { + if (item.quality > 0) { + if (item.name != 'Sulfuras, Hand of Ragnaros') { + item.quality = item.quality - 1 } } - if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') { - this.items[i].sellIn = this.items[i].sellIn - 1; - } - if (this.items[i].sellIn < 0) { - if (this.items[i].name != 'Aged Brie') { - if (this.items[i].name != 'Backstage passes to a TAFKAL80ETC concert') { - if (this.items[i].quality > 0) { - if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') { - this.items[i].quality = this.items[i].quality - 1 - } + } else { + if (item.quality < 50) { + item.quality = item.quality + 1 + if (item.name == 'Backstage passes to a TAFKAL80ETC concert') { + if (item.sellIn < 11) { + if (item.quality < 50) { + item.quality = item.quality + 1 } - } else { - this.items[i].quality = this.items[i].quality - this.items[i].quality } - } else { - if (this.items[i].quality < 50) { - this.items[i].quality = this.items[i].quality + 1 + if (item.sellIn < 6) { + if (item.quality < 50) { + item.quality = item.quality + 1 + } } } } } - - return this.items; + if (item.name != 'Sulfuras, Hand of Ragnaros') { + item.sellIn = item.sellIn - 1; + } + if (item.sellIn < 0) { + if (item.name != 'Aged Brie') { + if (item.name != 'Backstage passes to a TAFKAL80ETC concert') { + if (item.quality > 0) { + if (item.name != 'Sulfuras, Hand of Ragnaros') { + item.quality = item.quality - 1 + } + } + } else { + item.quality = item.quality - item.quality + } + } else { + if (item.quality < 50) { + item.quality = item.quality + 1 + } + } + } + return item; } }