lux-framework
Version:
Build scalable, Node.js-powered REST APIs with almost no code.
21 lines (17 loc) • 482 B
JavaScript
// @flow
import pick from '../../../../utils/pick';
import entries from '../../../../utils/entries';
import type Model from '../index';
/**
* @private
*/
export default function getColumns(record: Model, only?: Array<string>) {
let { constructor: { attributes: columns } } = record;
if (only) {
columns = pick(columns, ...only);
}
return entries(columns).reduce((obj, [key, { columnName }]) => ({
...obj,
[columnName]: Reflect.get(record, key)
}), {});
}