UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

27 lines (26 loc) 834 B
import assert from "assert"; export class OrgMessages { /** * * @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, opts) { const options = opts || { parent: false }; const OrgMessages = org.getMessages(context); assert.ok(OrgMessages, `Could not find organization "${org.id}" in organization "${org.parent.id}"`); let str = OrgMessages.title; if (options.parent) { const parent = org.parent; const parentMessages = parent.getMessages(context); str += ` (${parentMessages.toTitle(context, parent, options)})`; } return str; } }