mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-08-22 20:29:23 +00:00
24 lines
812 B
TypeScript
24 lines
812 B
TypeScript
![]() |
import { Operator } from "../functions";
|
||
|
import i18next from "i18next";
|
||
|
|
||
|
function getCompileTimeOperatorList(): string[] {
|
||
|
return import.meta.compileTime("./listOperatorsInDir.ts");
|
||
|
}
|
||
|
|
||
|
export async function getOperatorByName(name: string): Promise<typeof Operator | undefined> {
|
||
|
// Check if exists
|
||
|
if(!getCompileTimeOperatorList().includes(name)) return;
|
||
|
|
||
|
i18next.loadNamespaces(name, (err, t) => { if (err) throw err; });
|
||
|
return (await import("../functions/" + name + ".ts"))[capitalizeFirstLetter(name)];
|
||
|
}
|
||
|
|
||
|
export function listOperatorNames(): string[] {
|
||
|
const availableOperators = getCompileTimeOperatorList();
|
||
|
// TODO: Implement this
|
||
|
return availableOperators;
|
||
|
}
|
||
|
|
||
|
function capitalizeFirstLetter(string: String) {
|
||
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
||
|
}
|