diff --git a/libs/common/src/tools/achievements/event-processor.spec.ts b/libs/common/src/tools/achievements/event-processor.spec.ts new file mode 100644 index 00000000000..ed547707169 --- /dev/null +++ b/libs/common/src/tools/achievements/event-processor.spec.ts @@ -0,0 +1,9 @@ +describe("event-processor", () => { + describe("active", () => { + it("", () => {}); + }); + + describe("validate", () => { + it("", () => {}); + }); +}); diff --git a/libs/common/src/tools/achievements/event-processor.ts b/libs/common/src/tools/achievements/event-processor.ts index d422c51265b..b80156d127f 100644 --- a/libs/common/src/tools/achievements/event-processor.ts +++ b/libs/common/src/tools/achievements/event-processor.ts @@ -76,15 +76,15 @@ function validate( for (const monitor of monitors) { const progress = mapProgressByName(status); - const measurements = monitor.measure(action, progress); - results.push(...measurements); + const measured = monitor.measure(action, progress); + results.push(...measured); // modify copy produced by filter to avoid reallocation - for (const m of measurements) { + for (const m of measured) { progress.set(m.achievement.name, m.achievement.value); } - results.push(...monitor.earn(progress)); + results.push(...monitor.earn(measured, progress)); } // deliver results as a stream containing individual records to maintain diff --git a/libs/common/src/tools/achievements/example-validators.ts b/libs/common/src/tools/achievements/example-validators.ts index 3a775cb7a6a..ea5867b8130 100644 --- a/libs/common/src/tools/achievements/example-validators.ts +++ b/libs/common/src/tools/achievements/example-validators.ts @@ -38,7 +38,7 @@ const ThreeItemsCreatedValidator = { const value = 1 + (progress.get(ItemCreatedProgress) ?? 0); return [progressEvent(ItemCreatedProgress, value)]; }, - earn(progress) { + earn(_measured, progress) { const value = progress.get(ItemCreatedProgress) ?? 0; return value >= 3 ? [earnedEvent(ItemCreatedAchievement)] : []; }, @@ -57,7 +57,7 @@ const FiveItemsCreatedValidator = { const value = 1 + (progress.get(ItemCreatedProgress) ?? 0); return [progressEvent(ItemCreatedProgress, value)]; }, - earn(progress) { + earn(_measured, progress) { const value = progress.get(ItemCreatedProgress) ?? 0; return value >= 5 ? [earnedEvent(ItemCreatedAchievement)] : []; },