runtime/entrypoints/site.entrypoint.ts
runtime/entrypoints/site.entrypoint.ts is a file in Bane's Lab Site. 37 lines of code and 4 definitions.
import "#presentation/records/records.barrel";
import { COPYRIGHT_ID, HEADER_ID, MAIN_ID } from "#core/ids/site.ids";
import type { Disposer } from "#types/base.types";
import { missingElement } from "#configuration/strings/report.strings";
import { mountCite } from "#presentation/widgets/citation.widget";
import { mountCopyright } from "#presentation/widgets/site.widget";
import { mountHome } from "#presentation/widgets/home.widget";
import { mountMenu } from "#presentation/widgets/menu.widget";
import { mountOverlay } from "#presentation/widgets/overlay.widget";
import { mountReference } from "#presentation/widgets/reference.widget";
import { observeAnimations } from "#core/observers/element.observer";
import { startRouting } from "#runtime/coordinators/route.coordinator";
const required = function required(id: string): HTMLElement {
const element = document.getElementById(id);
if (element === null) {
throw new Error(missingElement(id));
}
return element;
};
const start = function start(): Disposer {
const disposers: Disposer[] = [
observeAnimations(document.body),
mountMenu(required(HEADER_ID)),
mountCopyright(required(COPYRIGHT_ID)),
mountOverlay(),
mountReference(),
mountCite(),
mountHome(required(MAIN_ID)),
startRouting(required(MAIN_ID)),
];
return () => {
for (const dispose of disposers) {
dispose();
}
};
};
void start();