import type { Show } from "@principia/prelude/Show"; import { fromShow } from "@principia/prelude/Show"; import { collect_ } from "./combinators"; import type { ReadonlyRecord } from "./model"; /* * ------------------------------------------- * Show Record * ------------------------------------------- */ export const getShow = (S: Show): Show> => fromShow((a) => { const elements = collect_(a, (k, a) => `${JSON.stringify(k)}: ${S.show(a)}`).join(", "); return elements === "" ? "{}" : `{ ${elements} }`; });