core/formatters/config.formatter.ts

core/formatters/config.formatter.ts is a file in GovLab Quality. 8 lines of code and 2 definitions.

import type { ConfigValue } from "#types/emitter.types";
import { defineFormatter } from "#core/registries/formatter.registry";
import { treeFor } from "#core/converters/emitter.converter";

const JSON_INDENT = 4;

export const serializeJsRecord = function serializeJsRecord(tree: ConfigValue): string {
    return `${JSON.stringify(tree, null, JSON_INDENT)}\n`;
};

defineFormatter({ format: "js-record", render: (input) => serializeJsRecord(treeFor(input)) });