From 20370c5c26c8a0a532ffd116e9f3e1e93f914cd1 Mon Sep 17 00:00:00 2001 From: Simon Williams Date: Fri, 29 May 2020 23:12:35 +0100 Subject: [PATCH] Fix incorrect return types for Game.market.getHistory() Prevent Game.market.getHistory() returning empty objects if resource is invalid or has no data. Return an empty array instead. Includes a similar fix for underlying code of Game.market.getAllOrders(), which only works correctly at the moment because of the `_.filter` call. --- src/game/market.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/game/market.js b/src/game/market.js index ec4e2762..af193b77 100644 --- a/src/game/market.js +++ b/src/game/market.js @@ -16,9 +16,9 @@ exports.make = function(runtimeData, intents, register) { } if(!cachedOrders[resourceType]) { if(resourceType != 'all' && !_.contains(C.RESOURCES_ALL, resourceType) && !_.contains(C.INTERSHARD_RESOURCES, resourceType)) { - return {}; + return []; } - cachedOrders[resourceType] = JSON.parse(JSON.stringify(runtimeData.market.orders[resourceType]) || '{}'); + cachedOrders[resourceType] = JSON.parse(JSON.stringify(runtimeData.market.orders[resourceType]) || '[]'); for(var i in cachedOrders[resourceType]) { cachedOrders[resourceType][i].price /= 1000; } @@ -45,9 +45,9 @@ exports.make = function(runtimeData, intents, register) { if(!cachedHistory[resourceType]) { if(resourceType != 'all' && !_.contains(C.RESOURCES_ALL, resourceType) && !_.contains(C.INTERSHARD_RESOURCES, resourceType)) { - return {}; + return []; } - cachedHistory[resourceType] = JSON.parse(JSON.stringify(runtimeData.market.history[resourceType] || {})); + cachedHistory[resourceType] = JSON.parse(JSON.stringify(runtimeData.market.history[resourceType] || [])); } return cachedHistory[resourceType]; }),