UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

37 lines (36 loc) 1.22 kB
import assert from "assert"; export class OrganizationMessages { /** * * @param {string[]} titles The raw title. * @see toTitle() for more complex title strings. */ constructor(titles) { this.titles = titles; } get title() { return this.titles[0]; } toTitle(context, org, options = { parent: true }) { var _a; const orgMessages = org.getMessages(context); assert.ok(orgMessages, `Could not find name of city with ZIP code "${org.id}" in departement "${(_a = org.parent) === null || _a === void 0 ? void 0 : _a.id}"`); let title = orgMessages.title; return this.toTitleFromName(context, org, title, options); } toTitleFromName(context, org, title, options) { let str = org.getMessages(context).cityName(title); if (options.parent) { const parent = org.parent; if (parent) { const depMessages = parent.getMessages(context); const parentStr = depMessages.toTitle(context, parent, options); str += ` (${parentStr})`; } } return str; } cityName(cityStr) { return cityStr.trim(); } }