Create modules for other items

This commit is contained in:
Dan Holmes 2020-12-03 16:33:40 +00:00
parent ec0fe1dfa2
commit a94eb8c5f6
3 changed files with 28 additions and 24 deletions

View File

@ -0,0 +1,13 @@
function getQualityChange(item) {
if (item.sellIn <= 0) {
return 2;
} else {
return 1;
}
}
function is(item) {
return item.name.toLowerCase().match(/aged brie/);
};
module.exports = { is, getQualityChange };

View File

@ -1,4 +1,6 @@
var backstage_pass = require('./backstage_pass_update.js') var backstage_pass = require('./backstage_pass_update.js')
var aged_brie = require('./aged_brie_update.js')
var sulfuras = require('./sulfuras_update.js')
class Shop { class Shop {
constructor(items = []) { constructor(items = []) {
@ -27,23 +29,15 @@ class Shop {
_getQualityChange(item) { _getQualityChange(item) {
if (backstage_pass.is(item)) { if (backstage_pass.is(item)) {
return backstage_pass.getQualityChange(item); return backstage_pass.getQualityChange(item);
} else if (this._isAgedBrie(item)) { } else if (aged_brie.is(item)) {
return this._getQualityChangeAgedBrie(item); return aged_brie.getQualityChange(item);
} else if (this._isSulfuras(item)) { } else if (sulfuras.is(item)) {
return this._getQualityChangeSulfuras(item); return sulfuras.getQualityChange(item);
} else { } else {
return this._getQualityChangeStandard(item); return this._getQualityChangeStandard(item);
} }
} }
_isAgedBrie(item) {
return item.name.toLowerCase().match(/aged brie/);
}
_isSulfuras(item) {
return item.name.toLowerCase().match(/sulfuras/);
}
_getQualityChangeStandard(item) { _getQualityChangeStandard(item) {
if (item.sellIn <= 0) { if (item.sellIn <= 0) {
return -2; return -2;
@ -52,18 +46,6 @@ class Shop {
} }
} }
_getQualityChangeAgedBrie(item) {
if (item.sellIn <= 0) {
return 2;
} else {
return 1;
}
}
_getQualityChangeSulfuras(item) {
return 0;
}
_updateItemSellIn(item) { _updateItemSellIn(item) {
if (item.name != 'Sulfuras, Hand of Ragnaros') { if (item.name != 'Sulfuras, Hand of Ragnaros') {
item.sellIn = item.sellIn - 1; item.sellIn = item.sellIn - 1;

View File

@ -0,0 +1,9 @@
function getQualityChange(item) {
return 0;
}
function is(item) {
return item.name.toLowerCase().match(/sulfuras/);
};
module.exports = { is, getQualityChange };