Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let userFields = {
- id: {
- dbFields: 'id',
- },
- email: {
- dbFields: 'email',
- },
- first_name: {
- dbFields: 'first_name',
- },
- last_name: {
- dbFields: 'last_name',
- },
- name: {
- dbFields: ['first_name', 'last_name'],
- resolve: user =>
- [user.first_name, user.last_name]
- .filter(n => n.length)
- .join(' '),
- }
- };
- let selectFields = ['name', 'first_name', 'email'];
- function ensureArray(x) {
- return x instanceof Array ? x : [x];
- }
- function concat(arrays) {
- return [].concat.apply([], arrays);
- }
- function uniquify(array) {
- let s = new Set(array);
- return Array.from(s);
- }
- var dbFieldsPerSelect =
- selectFields
- .map(name => userFields[name].dbFields)
- .map(ensureArray);
- var dbFields = uniquify(concat(dbFieldsPerSelect));
- console.log(dbFields);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement