feat(utils): add talgistOrderParser will parse the order string into object

This commit is contained in:
Joxit
2023-05-05 00:07:29 +02:00
parent a3e987482e
commit edb5aa97e8
3 changed files with 56 additions and 1 deletions

5
src/scripts/error.js Normal file
View File

@@ -0,0 +1,5 @@
export class DockerRegistryUIError extends Error {
constructor(msg) {
super(msg);
}
}

View File

@@ -244,3 +244,21 @@ export const taglistOrderVariants = (taglistOrder) => {
throw new DockerRegistryUIError(`The order \`${taglistOrder}\` is not recognized.`);
}
};
export function talgistOrderParser(taglistOrder) {
const orders = taglistOrderVariants(taglistOrder)
.split(';')
.filter((e) => e)
.map((e) => e.split('-').filter((e) => e))
.reduce((acc, e, idx) => {
if (e.length > 1) {
acc[e[0] + 'Asc'] = e[1] === 'asc';
}
if (idx === 0) {
acc.numFirst = e[0] === 'num';
}
return acc;
}, {});
return orders;
}