core/loaders/kind.loader.ts
core/loaders/kind.loader.ts is a file in GovLab Quality. 14 lines of code and 4 definitions.
import { recordAt, stringArrayField } from "#core/selectors/record.selector";
import { absolutePath } from "@ssot/paths";
import { jsonRecord } from "#core/parsers/record.parser";
import { readFileSync } from "node:fs";
const KIND_FILE = "kind.data.json";
export const loadKindMap = function loadKindMap(): ReadonlyMap<string, string> {
const text = readFileSync(absolutePath("govlab.quality.data", KIND_FILE), "utf8");
const kinds = recordAt(jsonRecord(text), "kinds");
return new Map(
Object.keys(kinds).flatMap((kind) =>
stringArrayField(kinds, kind).map((label): [string, string] => [label, kind]),
),
);
};