core/loaders/catalog.loader.ts
core/loaders/catalog.loader.ts is a file in Bane's Lab Build Scripts. 58 lines of code and 5 definitions.
import type { ModuleImporter, WebModules } from "#types/loader.types";
import { RUNNER_MODULES } from "#configuration/constants/loader.constants";
const load = async function load<Key extends keyof WebModules>(
runner: ModuleImporter,
key: Key,
): Promise<WebModules[Key]> {
return runner.import<WebModules[Key]>(RUNNER_MODULES[key].path);
};
export const loadWebModules = async function loadWebModules(runner: ModuleImporter): Promise<WebModules> {
const [analyzer, anatomy, company, corpus, evidence, folder, learning, links] = await Promise.all([
load(runner, "analyzer"),
load(runner, "anatomy"),
load(runner, "company"),
load(runner, "corpus"),
load(runner, "evidence"),
load(runner, "folder"),
load(runner, "learning"),
load(runner, "links"),
]);
const [markup, matcher, ontology, reference, search, searchConstants, source, vocabulary] = await Promise.all([
load(runner, "markup"),
load(runner, "matcher"),
load(runner, "ontology"),
load(runner, "reference"),
load(runner, "search"),
load(runner, "searchConstants"),
load(runner, "source"),
load(runner, "vocabulary"),
]);
const [anatomyConstants, anatomyIds, definition, evidenceConstants] = await Promise.all([
load(runner, "anatomyConstants"),
load(runner, "anatomyIds"),
load(runner, "definition"),
load(runner, "evidenceConstants"),
]);
return {
analyzer,
anatomy,
anatomyConstants,
anatomyIds,
company,
corpus,
definition,
evidence,
evidenceConstants,
folder,
learning,
links,
markup,
matcher,
ontology,
reference,
search,
searchConstants,
source,
vocabulary,
};
};