From 7948e8a8e2ac4087371efc01dc25f29bdc1bd2a7 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Tue, 22 Sep 2015 13:00:46 -0500 Subject: [PATCH] Create merge function --- common/script/src/content/eggs/index.js | 7 ++-- common/script/src/content/food/index.js | 14 ++++---- common/script/src/content/helpers.js | 16 ++++++++- .../src/content/quests/gold-purchasable.js | 19 +++++------ common/script/src/content/quests/index.js | 33 ++++++++++--------- .../script/src/content/quests/unlockable.js | 22 ++++++++----- 6 files changed, 62 insertions(+), 49 deletions(-) diff --git a/common/script/src/content/eggs/index.js b/common/script/src/content/eggs/index.js index e6ea746eab..a137ade6dd 100644 --- a/common/script/src/content/eggs/index.js +++ b/common/script/src/content/eggs/index.js @@ -1,12 +1,9 @@ -import {assign} from 'lodash'; +import {merge} from '../helpers'; import dropEggs from './drops'; import questEggs from './quest'; -let allEggs = {}; - -assign(allEggs, dropEggs); -assign(allEggs, questEggs); +let allEggs = merge([dropEggs, questEggs]); export default { allEggs: allEggs, diff --git a/common/script/src/content/food/index.js b/common/script/src/content/food/index.js index 4ef9828858..537551ea87 100644 --- a/common/script/src/content/food/index.js +++ b/common/script/src/content/food/index.js @@ -1,16 +1,14 @@ -import {each, defaults, assign} from 'lodash'; -import {translator as t} from '../helpers'; +import {each, defaults} from 'lodash'; +import { + translator as t, + merge +} from '../helpers'; import baseFood from './base'; import saddle from './saddle'; import cake from './birthday'; import candy from './fall'; -let allFood = {}; - -assign(allFood, baseFood); -assign(allFood, saddle); -assign(allFood, cake); -assign(allFood, candy); +let allFood = merge([baseFood, saddle, cake, candy]); export default allFood; diff --git a/common/script/src/content/helpers.js b/common/script/src/content/helpers.js index 8075bca50d..69342a4c7e 100644 --- a/common/script/src/content/helpers.js +++ b/common/script/src/content/helpers.js @@ -1,4 +1,4 @@ -import {each, defaults} from 'lodash'; +import {each, defaults, assign} from 'lodash'; import capitalize from 'lodash.capitalize'; import camelCase from 'lodash.camelcase'; @@ -27,6 +27,20 @@ export function formatForTranslator(name) { let capitalCamelCasedName = capitalize(camelCasedName); return capitalCamelCasedName; +}; + +//---------------------------------------- +// Object Merger +//---------------------------------------- + +export function merge(array=[]) { + let mergedObject = {}; + + each(array, (item) => { + assign(mergedObject, item); + }); + + return mergedObject; } //---------------------------------------- diff --git a/common/script/src/content/quests/gold-purchasable.js b/common/script/src/content/quests/gold-purchasable.js index 54c4ace86f..bc330dee0a 100644 --- a/common/script/src/content/quests/gold-purchasable.js +++ b/common/script/src/content/quests/gold-purchasable.js @@ -1,7 +1,9 @@ -import {each, defaults, assign} from 'lodash'; -import capitalize from 'lodash.capitalize'; -import camelCase from 'lodash.camelcase'; -import {translator as t} from '../helpers'; +import {each, defaults} from 'lodash'; +import { + translator as t, + merge, + formatForTranslator +} from '../helpers'; let dilatoryDistressSeries = { dilatoryDistress1: { @@ -95,16 +97,13 @@ let dilatoryDistressSeries = { }, }; -let goldPurchasableQuests = { }; - -assign(goldPurchasableQuests, dilatoryDistressSeries); +let goldPurchasableQuests = merge([dilatoryDistressSeries]); each(goldPurchasableQuests, (quest, name) => { - let camelName = camelCase(name); - let capitalizedName = capitalize(camelName); + let formattedName = formatForTranslator(name); let questDefaults = { - completion: t(`quest${capitalizedName}Completion`), + completion: t(`quest${formattedName}Completion`), category: 'gold', }; diff --git a/common/script/src/content/quests/index.js b/common/script/src/content/quests/index.js index 162d631418..98bd7e3678 100644 --- a/common/script/src/content/quests/index.js +++ b/common/script/src/content/quests/index.js @@ -1,7 +1,9 @@ -import {each, assign, defaults, sortBy} from 'lodash'; -import capitalize from 'lodash.capitalize'; -import camelCase from 'lodash.camelcase'; -import {translator as t} from '../helpers'; +import {each, defaults, sortBy} from 'lodash'; +import { + translator as t, + merge, + formatForTranslator +} from '../helpers'; import worldQuests from './world'; import holidayQuests from './holiday'; @@ -9,28 +11,27 @@ import petQuests from './pet'; import unlockableQuests from './unlockable'; import goldPurchasableQuests from './gold-purchasable'; -let allQuests = { }; - -assign(allQuests, worldQuests); -assign(allQuests, holidayQuests); -assign(allQuests, petQuests); -assign(allQuests, unlockableQuests); -assign(allQuests, goldPurchasableQuests); +let allQuests = merge([ + worldQuests, + holidayQuests, + petQuests, + unlockableQuests, + goldPurchasableQuests +]); each(allQuests, function(quest, key) { - let camelName = camelCase(key); - let capitalizedName = capitalize(camelName); + let formattedName = formatForTranslator(key); let questDefaults = { key: key, - text: t(`quest${capitalizedName}Text`), - notes: t(`quest${capitalizedName}Notes`), + text: t(`quest${formattedName}Text`), + notes: t(`quest${formattedName}Notes`), canBuy: true, value: 4, }; let questBossDefaults = { - name: t(`quest${capitalizedName}Boss`), + name: t(`quest${formattedName}Boss`), str: 1, def: 1, }; diff --git a/common/script/src/content/quests/unlockable.js b/common/script/src/content/quests/unlockable.js index b11e71b5c6..b6d6cfdf42 100644 --- a/common/script/src/content/quests/unlockable.js +++ b/common/script/src/content/quests/unlockable.js @@ -1,5 +1,9 @@ -import {each, defaults, assign} from 'lodash'; -import {translator as t} from '../helpers'; +import {each, defaults} from 'lodash'; +import { + translator as t, + merge, + formatForTranslator +} from '../helpers'; let inviteFriends = { basilist: { @@ -342,13 +346,13 @@ let goldenKnightSeries = { }, }; -let unlockableQuests = { }; - -assign(unlockableQuests, inviteFriends); -assign(unlockableQuests, atomSeries); -assign(unlockableQuests, viceSeries); -assign(unlockableQuests, moonstoneSeries); -assign(unlockableQuests, goldenKnightSeries); +let unlockableQuests = merge([ + inviteFriends, + atomSeries, + viceSeries, + moonstoneSeries, + goldenKnightSeries, +]); each(unlockableQuests, (quest, name) => { let questDefaults = {