core/registries/formatter.registry.ts
core/registries/formatter.registry.ts is a file in GovLab Quality. 13 lines of code and 3 definitions.
import type { ConfigFormatter, EmitFormat } from "#types/emitter.types";
import { duplicateFormatter } from "#configuration/strings/emitter.strings";
const FORMATTERS = new Map<EmitFormat, ConfigFormatter>();
export const defineFormatter = function defineFormatter(formatter: ConfigFormatter): ConfigFormatter {
if (FORMATTERS.has(formatter.format)) {
throw new Error(duplicateFormatter(formatter.format));
}
FORMATTERS.set(formatter.format, formatter);
return formatter;
};
export const formatterFor = function formatterFor(format: EmitFormat): ConfigFormatter | undefined {
return FORMATTERS.get(format);
};