World & Progression

Milestone Categories

The 9 milestone categories used to group the game's long-term milestones for filtering.


Type

MilestoneCategory

interface MilestoneCategory {
  id: string
  name: string
}
FieldTypeDescription
idstringThe substring every milestone in this category shares in its own id
namestringDisplay name

A milestone belongs to a category when its id contains the category's id as a substring. For example, every fishing milestone's id contains "fish".


Factory

import { milestoneCategories } from 'dinkum-data'

milestoneCategories() // all 9 categories
milestoneCategories(source) // wrap a pre-filtered array

Terminal methods

MethodReturnsDescription
.get()MilestoneCategory[]All results
.first()MilestoneCategory | undefinedFirst result
.find(id)MilestoneCategory | undefinedFind by id
.findByName(name)MilestoneCategory | undefinedCase-insensitive exact name match
.search(query)MilestoneCategory[]Case-insensitive partial name match
.count()numberNumber of results

Examples

import { milestoneCategories, milestones } from 'dinkum-data'

// Build a category filter dropdown
const categories = milestoneCategories().get()

// Every milestone in the "Fishing" category
const fishing = milestoneCategories().findByName('Fishing')!
const fishingMilestones = milestones()
  .get()
  .filter((m) => m.id.includes(fishing.id))

Next steps

Previous
Milestones
Next
Skills