client: namespaces for actions and getteters

This commit is contained in:
Matteo Pagliazzi
2016-12-08 23:01:59 -08:00
parent f9f22f313f
commit 1de4ab3612
14 changed files with 135 additions and 47 deletions

View File

@@ -0,0 +1,32 @@
/* Flatten multiple objects into a single, namespaced object.
Example:
getters
user
gems
tasks
...
tasks
todos
dailys
...
Result:
getters
user.gems
user.tasks
tasks.todos
tasks.dailys
*/
export function flattenAndNamespace (namespaces) {
let result = {};
Object.keys(namespaces).forEach(namespace => {
Object.keys(namespaces[namespace]).forEach(itemName => {
result[`${namespace}:${itemName}`] = namespaces[namespace][itemName];
});
});
return result;
}