# core/formatters/config.formatter.ts

> 8 lines of code and 2 definitions.

Tree: GovLab Quality
Language: typescript
Layer: processing
Canonical: https://banes-lab.com/anatomy/quality#file-quality-core-formatters-config-formatter-ts
Source text: https://banes-lab.com/source/quality/core/formatters/config.formatter.ts.txt

Listed in [core/formatters](https://banes-lab.com/api/source/quality/core/formatters.md), after [core/formatters/catalog.formatter.ts](https://banes-lab.com/source/quality/core/formatters/catalog.formatter.ts.md) and before [core/formatters/config.ini.formatter.ts](https://banes-lab.com/source/quality/core/formatters/config.ini.formatter.ts.md).

## Definitions

- `JSON_INDENT` (lexical_declaration, line 5)
- `serializeJsRecord` (lexical_declaration, line 7, exported)

## Contained in

- [core/formatters](https://banes-lab.com/anatomy/quality/folder-quality-core-formatters.md)

## Source

```typescript
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)) });
```
