mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 23:27:26 +01:00
client: namespaces for actions and getteters
This commit is contained in:
32
website/client/store/helpers/internals.js
Normal file
32
website/client/store/helpers/internals.js
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user