@randsum/roller
Version:
A flexible, type-safe dice roller for tabletop RPGs, game development, and probability simulations
13 lines (10 loc) • 488 B
text/typescript
import type { ModifierOptions } from '../../../types'
import { MODIFIER_ORDER } from '../constants'
import { modifierToDescription } from '../modifierToDescription'
export function processModifierDescriptions(modifiers: ModifierOptions | undefined): string[] {
if (!modifiers) return []
return MODIFIER_ORDER.map(type => modifierToDescription(type, modifiers[type]))
.flat()
.filter((desc): desc is string => typeof desc === 'string')
.filter(desc => desc.length > 0)
}