Create merge function

This commit is contained in:
Blade Barringer
2015-09-22 13:00:46 -05:00
parent ed5abf44e1
commit 7948e8a8e2
6 changed files with 62 additions and 49 deletions

View File

@@ -1,12 +1,9 @@
import {assign} from 'lodash'; import {merge} from '../helpers';
import dropEggs from './drops'; import dropEggs from './drops';
import questEggs from './quest'; import questEggs from './quest';
let allEggs = {}; let allEggs = merge([dropEggs, questEggs]);
assign(allEggs, dropEggs);
assign(allEggs, questEggs);
export default { export default {
allEggs: allEggs, allEggs: allEggs,

View File

@@ -1,16 +1,14 @@
import {each, defaults, assign} from 'lodash'; import {each, defaults} from 'lodash';
import {translator as t} from '../helpers'; import {
translator as t,
merge
} from '../helpers';
import baseFood from './base'; import baseFood from './base';
import saddle from './saddle'; import saddle from './saddle';
import cake from './birthday'; import cake from './birthday';
import candy from './fall'; import candy from './fall';
let allFood = {}; let allFood = merge([baseFood, saddle, cake, candy]);
assign(allFood, baseFood);
assign(allFood, saddle);
assign(allFood, cake);
assign(allFood, candy);
export default allFood; export default allFood;

View File

@@ -1,4 +1,4 @@
import {each, defaults} from 'lodash'; import {each, defaults, assign} from 'lodash';
import capitalize from 'lodash.capitalize'; import capitalize from 'lodash.capitalize';
import camelCase from 'lodash.camelcase'; import camelCase from 'lodash.camelcase';
@@ -27,6 +27,20 @@ export function formatForTranslator(name) {
let capitalCamelCasedName = capitalize(camelCasedName); let capitalCamelCasedName = capitalize(camelCasedName);
return capitalCamelCasedName; return capitalCamelCasedName;
};
//----------------------------------------
// Object Merger
//----------------------------------------
export function merge(array=[]) {
let mergedObject = {};
each(array, (item) => {
assign(mergedObject, item);
});
return mergedObject;
} }
//---------------------------------------- //----------------------------------------

View File

@@ -1,7 +1,9 @@
import {each, defaults, assign} from 'lodash'; import {each, defaults} from 'lodash';
import capitalize from 'lodash.capitalize'; import {
import camelCase from 'lodash.camelcase'; translator as t,
import {translator as t} from '../helpers'; merge,
formatForTranslator
} from '../helpers';
let dilatoryDistressSeries = { let dilatoryDistressSeries = {
dilatoryDistress1: { dilatoryDistress1: {
@@ -95,16 +97,13 @@ let dilatoryDistressSeries = {
}, },
}; };
let goldPurchasableQuests = { }; let goldPurchasableQuests = merge([dilatoryDistressSeries]);
assign(goldPurchasableQuests, dilatoryDistressSeries);
each(goldPurchasableQuests, (quest, name) => { each(goldPurchasableQuests, (quest, name) => {
let camelName = camelCase(name); let formattedName = formatForTranslator(name);
let capitalizedName = capitalize(camelName);
let questDefaults = { let questDefaults = {
completion: t(`quest${capitalizedName}Completion`), completion: t(`quest${formattedName}Completion`),
category: 'gold', category: 'gold',
}; };

View File

@@ -1,7 +1,9 @@
import {each, assign, defaults, sortBy} from 'lodash'; import {each, defaults, sortBy} from 'lodash';
import capitalize from 'lodash.capitalize'; import {
import camelCase from 'lodash.camelcase'; translator as t,
import {translator as t} from '../helpers'; merge,
formatForTranslator
} from '../helpers';
import worldQuests from './world'; import worldQuests from './world';
import holidayQuests from './holiday'; import holidayQuests from './holiday';
@@ -9,28 +11,27 @@ import petQuests from './pet';
import unlockableQuests from './unlockable'; import unlockableQuests from './unlockable';
import goldPurchasableQuests from './gold-purchasable'; import goldPurchasableQuests from './gold-purchasable';
let allQuests = { }; let allQuests = merge([
worldQuests,
assign(allQuests, worldQuests); holidayQuests,
assign(allQuests, holidayQuests); petQuests,
assign(allQuests, petQuests); unlockableQuests,
assign(allQuests, unlockableQuests); goldPurchasableQuests
assign(allQuests, goldPurchasableQuests); ]);
each(allQuests, function(quest, key) { each(allQuests, function(quest, key) {
let camelName = camelCase(key); let formattedName = formatForTranslator(key);
let capitalizedName = capitalize(camelName);
let questDefaults = { let questDefaults = {
key: key, key: key,
text: t(`quest${capitalizedName}Text`), text: t(`quest${formattedName}Text`),
notes: t(`quest${capitalizedName}Notes`), notes: t(`quest${formattedName}Notes`),
canBuy: true, canBuy: true,
value: 4, value: 4,
}; };
let questBossDefaults = { let questBossDefaults = {
name: t(`quest${capitalizedName}Boss`), name: t(`quest${formattedName}Boss`),
str: 1, str: 1,
def: 1, def: 1,
}; };

View File

@@ -1,5 +1,9 @@
import {each, defaults, assign} from 'lodash'; import {each, defaults} from 'lodash';
import {translator as t} from '../helpers'; import {
translator as t,
merge,
formatForTranslator
} from '../helpers';
let inviteFriends = { let inviteFriends = {
basilist: { basilist: {
@@ -342,13 +346,13 @@ let goldenKnightSeries = {
}, },
}; };
let unlockableQuests = { }; let unlockableQuests = merge([
inviteFriends,
assign(unlockableQuests, inviteFriends); atomSeries,
assign(unlockableQuests, atomSeries); viceSeries,
assign(unlockableQuests, viceSeries); moonstoneSeries,
assign(unlockableQuests, moonstoneSeries); goldenKnightSeries,
assign(unlockableQuests, goldenKnightSeries); ]);
each(unlockableQuests, (quest, name) => { each(unlockableQuests, (quest, name) => {
let questDefaults = { let questDefaults = {