aboutsummaryrefslogtreecommitdiff
path: root/engine/entities/person-name.ts
blob: 8c234dc3cc83375e1d9bf7b20f509cc0589650f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * A character's name as tracked by the simulation. Surnames follow
 * inheritance rules per region and era — including keep-maiden, hyphenate,
 * matrilineal, and ad-hoc changes — so the structure preserves both the
 * current surname and the maiden form when relevant.
 */
export interface PersonName {
  readonly given: string
  readonly middle: string | null
  readonly surname: string
  readonly maidenSurname: string | null
  readonly nicknames: readonly string[]
  readonly preferredName: string | null
}