core/formatters/tab.formatter.ts
core/formatters/tab.formatter.ts is a file in Bane's Lab Build Scripts. 20 lines of code and 2 definitions.
import type { BakedTabs } from "@banes-lab/web/types/vocabulary.types.js";
import type { PageTabs } from "#types/tab.types";
export const renderTabs = function renderTabs(pages: readonly PageTabs[]): string {
return [
'import type { PageTabs } from "#types/tab.types";',
"",
`export const PAGE_TABS: readonly PageTabs[] = JSON.parse(${JSON.stringify(JSON.stringify(pages))});`,
"",
].join("\n");
};
export const renderBakedTabs = function renderBakedTabs(entries: readonly BakedTabs[]): string {
return [
'import type { Tab } from "#types/document.types";',
"",
...entries.flatMap((entry) => [
`export const ${entry.name}: readonly Tab[] = JSON.parse(${JSON.stringify(JSON.stringify(entry.tabs))});`,
"",
]),
].join("\n");
};