mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-08-03 19:17:07 -04:00
27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
import localeEventImports from '#virtual/calendar/events.ts';
|
|
import type { PronounExamplesData } from '~/locale/data.ts';
|
|
import { rootDir } from '~/server/paths.ts';
|
|
import { parsePronounGroups, parsePronouns } from '~/src/buildPronoun.ts';
|
|
import { buildCalendar } from '~/src/calendar/calendar.ts';
|
|
import type { Calendar } from '~/src/calendar/helpers.ts';
|
|
import { PronounLibrary } from '~/src/classes.ts';
|
|
import { loadTsv } from '~/src/tsv.ts';
|
|
|
|
const dataDir = `${rootDir}/locale/${global.config.locale}`;
|
|
export const pronouns = parsePronouns(global.config, loadTsv(`${dataDir}/pronouns/pronouns.tsv`));
|
|
const pronounGroups = parsePronounGroups(loadTsv(`${dataDir}/pronouns/pronounGroups.tsv`));
|
|
export const pronounLibrary = new PronounLibrary(global.config, pronounGroups, pronouns);
|
|
|
|
export const pronounExamples = loadTsv(`${dataDir}/pronouns/examples.tsv`) as PronounExamplesData[];
|
|
|
|
let calendar: Calendar | null = null;
|
|
|
|
export const loadCalendar = async () => {
|
|
if (calendar === null) {
|
|
const runtimeConfig = useRuntimeConfig();
|
|
const localEvents = await localeEventImports[config.locale]();
|
|
calendar = buildCalendar(localEvents, runtimeConfig.public.baseUrl);
|
|
}
|
|
return calendar;
|
|
};
|