Merged filters into new settings dialog, added experimental summary field.

This commit is contained in:
DebaucheryLibrarian
2022-11-28 03:33:46 +01:00
parent 637669e3d1
commit b5e308562e
15 changed files with 740 additions and 72 deletions

View File

@@ -0,0 +1,36 @@
import { formatDate } from '../format';
function formatSummary(release, summaryFormat) {
return summaryFormat
.map((group) => ({
...group,
segments: group.segments
.filter((segment) => {
if (!release[segment.prop]) {
return false;
}
if (Array.isArray(release[segment.prop]) && release[segment.prop].length === 0) {
return false;
}
return true;
})
.map((segment) => {
if (Array.isArray(release[segment.prop])) {
return release[segment.prop].join(segment.delimiter || ', ');
}
if (segment.prop === 'date') {
return formatDate(release[segment.prop], segment.format || 'YYYY-MM-DD');
}
return release[segment.prop];
}),
}))
.filter((group) => group.segments.length > 0)
.map((group) => `${group.bracket?.[0] || ''}${group.segments.join(group.delimiter || ' - ')}${group.bracket?.[1] || ''}`)
.join(' ');
}
export default formatSummary;