// SPDX-FileCopyrightText: 2021 Johannes Loher // // SPDX-License-Identifier: MIT import { getGame } from "../utils/utils"; /** * @typedef {object} DS4ChatMessageFlags * @property {Record} [flavorData] Data to use for localizing the flavor of the chat message */ /** * @typedef {Record} ChatMessageFlags * @property {DS4ChatMessageFlags} [ds4] Flags for DS4 */ export class DS4ChatMessage extends ChatMessage { prepareData() { super.prepareData(); if (this.flavor) { const game = getGame(); const flavorData = Object.fromEntries( Object.entries(this.flags.ds4?.flavorData ?? {}).map(([key, value]) => [ key, typeof value === "string" ? game.i18n.localize(value) : value, ]), ); this.flavor = game.i18n.format(this.flavor, flavorData); } } }