Commit 37f5f08
Changed files (2)
src/present-badges.ts
@@ -10,8 +10,8 @@ export const mergeBadges = (...badges: (Badge | Badge[])[]): Badge[] =>
.flat()
.reduce<Record<string, Badge>>(
(m, v) => Object.assign(m, { [v.id]: v }),
- {}
- )
+ {},
+ ),
)
const parseRegexp = (value: string): RegExp =>
@@ -23,7 +23,7 @@ export const presentBadges = (
userBadges: Badge[],
pickBadges: string[],
omitBadges: string[],
- compact: boolean
+ compact: boolean,
): Badge[] => {
for (const presenter of presenters) {
const newBadges: Badge[] = []
@@ -45,28 +45,28 @@ export const presentBadges = (
continue
}
const touchedBadges = userBadges.filter(({ id }) =>
- (presenter.badges as ID[]).includes(id)
+ (presenter.badges as ID[]).includes(id),
)
const newHighestTierBadge = touchedBadges.reduce(
(prev, curr) => (prev.tier > curr.tier ? prev : curr),
- {} as Badge
+ {} as Badge,
)
omitBadges.push(
...touchedBadges
.map(({ id }) => id)
- .filter((id) => id !== newHighestTierBadge.id)
+ .filter((id) => id !== newHighestTierBadge.id),
)
}
}
if (pickBadges.length > 0) {
userBadges = userBadges.filter((x) =>
- pickBadges.map(parseRegexp).some((r) => r.test(x.id))
+ pickBadges.map(parseRegexp).some((r) => r.test(x.id)),
)
}
if (omitBadges.length > 0) {
userBadges = userBadges.filter((x) =>
- omitBadges.map(parseRegexp).every((r) => !r.test(x.id))
+ omitBadges.map(parseRegexp).every((r) => !r.test(x.id)),
)
}
test/present-badges.test.ts
@@ -34,9 +34,7 @@ describe('present-badges', () => {
it('presentBadges() applies `pick`', async () => {
const userBadges = presentBadges(
- [
- await import('../src/all-badges/stars/stars.js'),
- ].map((m) => m.default),
+ [await import('../src/all-badges/stars/stars.js')].map((m) => m.default),
data,
[],
['stars-100', 'stars-500'],
@@ -76,9 +74,7 @@ describe('present-badges', () => {
it('presentBadges() applies `omit`', async () => {
const userBadges = presentBadges(
- [
- await import('../src/all-badges/stars/stars.js'),
- ].map((m) => m.default),
+ [await import('../src/all-badges/stars/stars.js')].map((m) => m.default),
data,
[],
['stars-100', 'stars-500'],
@@ -105,9 +101,7 @@ describe('present-badges', () => {
it('presentBadges() supports masks for `omit` && `pick`', async () => {
const userBadges = presentBadges(
- [
- await import('../src/all-badges/stars/stars.js'),
- ].map((m) => m.default),
+ [await import('../src/all-badges/stars/stars.js')].map((m) => m.default),
data,
[],
['stars-*'],
@@ -147,9 +141,7 @@ describe('present-badges', () => {
it('presentBadges() applies `compact`', async () => {
const userBadges = presentBadges(
- [
- await import('../src/all-badges/stars/stars.js'),
- ].map((m) => m.default),
+ [await import('../src/all-badges/stars/stars.js')].map((m) => m.default),
data,
[],
['stars-1000', 'stars-2000', 'stars-5000'],