Create module for standard item

This commit is contained in:
Dan Holmes 2020-12-03 17:00:28 +00:00
parent a94eb8c5f6
commit 1a8c9a073f
5 changed files with 53 additions and 8 deletions

View File

@ -1,3 +1,9 @@
function updateQuality(item) {
if (is(item)) {
item.quality += getQualityChange(item);
}
}
function getQualityChange(item) { function getQualityChange(item) {
if (item.sellIn <= 0) { if (item.sellIn <= 0) {
return 2; return 2;
@ -10,4 +16,4 @@ function is(item) {
return item.name.toLowerCase().match(/aged brie/); return item.name.toLowerCase().match(/aged brie/);
}; };
module.exports = { is, getQualityChange }; module.exports = { updateQuality, is };

View File

@ -1,3 +1,9 @@
function updateQuality(item) {
if (is(item)) {
item.quality += getQualityChange(item);
}
}
function getQualityChange(item) { function getQualityChange(item) {
if (item.sellIn <= 0) { if (item.sellIn <= 0) {
return -item.quality; return -item.quality;
@ -14,4 +20,4 @@ function is(item) {
return item.name.toLowerCase().match(/backstage pass/); return item.name.toLowerCase().match(/backstage pass/);
}; };
module.exports = { is, getQualityChange }; module.exports = { updateQuality, is };

View File

@ -1,5 +1,6 @@
var backstage_pass = require('./backstage_pass_update.js') var standardItem = require('./standard_update.js')
var aged_brie = require('./aged_brie_update.js') var backstagePass = require('./backstage_pass_update.js')
var agedBrie = require('./aged_brie_update.js')
var sulfuras = require('./sulfuras_update.js') var sulfuras = require('./sulfuras_update.js')
class Shop { class Shop {
@ -23,12 +24,15 @@ class Shop {
} }
_updateItemQuality(item) { _updateItemQuality(item) {
item.quality += this._getQualityChange(item); standardItem.updateQuality(item);
backstagePass.updateQuality(item);
agedBrie.updateQuality(item);
sulfuras.updateQuality(item);
} }
_getQualityChange(item) { _getQualityChange(item) {
if (backstage_pass.is(item)) { if (backstagePass.is(item)) {
return backstage_pass.getQualityChange(item); return 0;
} else if (aged_brie.is(item)) { } else if (aged_brie.is(item)) {
return aged_brie.getQualityChange(item); return aged_brie.getQualityChange(item);
} else if (sulfuras.is(item)) { } else if (sulfuras.is(item)) {

View File

@ -0,0 +1,23 @@
var backstagePass = require('./backstage_pass_update.js')
var agedBrie = require('./aged_brie_update.js')
var sulfuras = require('./sulfuras_update.js')
function updateQuality(item) {
if (is(item)) {
item.quality += getQualityChange(item);
}
}
function getQualityChange(item) {
if (item.sellIn <= 0) {
return -2;
} else {
return -1;
}
}
function is(item) {
return !(backstagePass.is(item) || agedBrie.is(item) || sulfuras.is(item))
};
module.exports = { updateQuality };

View File

@ -1,3 +1,9 @@
function updateQuality(item) {
if (is(item)) {
item.quality += getQualityChange(item);
}
}
function getQualityChange(item) { function getQualityChange(item) {
return 0; return 0;
} }
@ -6,4 +12,4 @@ function is(item) {
return item.name.toLowerCase().match(/sulfuras/); return item.name.toLowerCase().match(/sulfuras/);
}; };
module.exports = { is, getQualityChange }; module.exports = { updateQuality, is };