UNPKG

@ribajs/core

Version:

Core module of Riba.js

35 lines (29 loc) 786 B
import { Formatter, Formatters } from "../types/index.js"; import { ModuleElementService } from "./module-element.service.js"; export class FormatterService extends ModuleElementService { protected type: "binder" | "formatter" | "components" | "services" = "formatter"; /** * */ constructor(formatters: Formatters) { super(formatters); } /** * Regist a formatter with his name */ public register( formatter: Formatter, fallbackName?: string, forceFallback = false, ): Formatters { const name = forceFallback ? fallbackName || formatter.name : formatter.name || fallbackName; if (!name) { throw new Error("Formatter name not found!"); } this.elements[name] = formatter; return this.elements; } }