You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
planka_custom/server/api/helpers/utils/map-records.js

31 lines
504 B
JavaScript

const recordsValidator = (value) => _.isArray(value);
module.exports = {
sync: true,
inputs: {
records: {
type: 'ref',
custom: recordsValidator,
required: true,
},
attribute: {
type: 'string',
defaultsTo: 'id',
},
unique: {
type: 'boolean',
defaultsTo: false,
},
},
fn(inputs) {
let result = _.map(inputs.records, inputs.attribute);
if (inputs.unique) {
result = _.uniq(result);
}
return result;
},
};