+

-
{{ originalGear.price }}
+
{{ merchandise.original_gear.price }}
@@ -74,14 +74,7 @@
diff --git a/src/js/splatoon.js b/src/js/splatoon.js
index ebbf8c5..2898ea0 100644
--- a/src/js/splatoon.js
+++ b/src/js/splatoon.js
@@ -1,3 +1,4 @@
+const brands = require('./data/brands');
const skills = require('./data/skills');
const inkipediaGear = require('./data/inkipediaGear');
@@ -10,9 +11,15 @@ function getOriginalGear(gear) {
let originalGear = inkipediaGear[gear.kind].find(ig => ig.name.toLowerCase() == name);
if (!originalGear)
- return;
+ return null;
- return Object.assign({}, originalGear, { skill: skills[originalGear.skill] });
+ let brand = brands[originalGear.brand];
+ brand.frequent_skill = skills[brand.frequent_skill];
+
+ return Object.assign({}, originalGear, {
+ brand,
+ skill: skills[originalGear.skill],
+ });
}
module.exports = {
diff --git a/src/updater/update.js b/src/updater/update.js
index 59e22ac..a2e6892 100644
--- a/src/updater/update.js
+++ b/src/updater/update.js
@@ -3,6 +3,7 @@ require('./bootstrap');
const Updater = require('./updaters/Updater');
const OriginalGearImageUpdater = require('./updaters/OriginalGearImageUpdater');
const FestivalsUpdater = require('./updaters/FestivalsUpdater');
+const MerchandisesUpdater = require('./updaters/MerchandisesUpdater');
const updaters = [
// Original gear images
@@ -49,18 +50,7 @@ const updaters = [
new FestivalsUpdater,
// Merchandises
- new Updater({
- name: 'Merchandises',
- filename: 'merchandises.json',
- request: (splatnet) => splatnet.getMerchandises(),
- rootKeys: ['merchandises'],
- imagePaths: [
- '$..gear.image',
- '$..gear.brand.image',
- '$..gear.brand.frequent_skill.image',
- '$..skill.image',
- ],
- }),
+ new MerchandisesUpdater,
];
async function updateAll() {
diff --git a/src/updater/updaters/MerchandisesUpdater.js b/src/updater/updaters/MerchandisesUpdater.js
new file mode 100644
index 0000000..aba4006
--- /dev/null
+++ b/src/updater/updaters/MerchandisesUpdater.js
@@ -0,0 +1,29 @@
+const Updater = require('./Updater');
+const SplatNet = require('../splatnet');
+const { getOriginalGear } = require('../../js/splatoon');
+
+class MerchandisesUpdater extends Updater {
+ constructor() {
+ super({
+ name: 'Merchandises',
+ filename: 'merchandises.json',
+ request: (splatnet) => splatnet.getMerchandises(),
+ rootKeys: ['merchandises'],
+ imagePaths: [
+ '$..gear.image',
+ '$..gear.brand.image',
+ '$..gear.brand.frequent_skill.image',
+ '$..skill.image',
+ ],
+ });
+ }
+
+ processData(data) {
+ for (let merchandise of data.merchandises)
+ merchandise.original_gear = getOriginalGear(merchandise.gear);
+
+ return data;
+ }
+}
+
+module.exports = MerchandisesUpdater;
diff --git a/src/updater/updaters/Updater.js b/src/updater/updaters/Updater.js
index c58d9f6..523a5db 100644
--- a/src/updater/updaters/Updater.js
+++ b/src/updater/updaters/Updater.js
@@ -22,6 +22,9 @@ class Updater {
// Filter the root keys if necessary
data = this.filterRootKeys(data);
+ // Apply any other processing
+ data = this.processData(data);
+
// Convert the data to a JSON string
let dataString = JSON.stringify(data);
@@ -40,6 +43,10 @@ class Updater {
return this.options.request(splatnet);
}
+ processData(data) {
+ return data;
+ }
+
async handleRequest(request) {
try {
return await request;