21 lines
491 B
TypeScript
21 lines
491 B
TypeScript
|
import type { Solvable } from "./solvable.ts";
|
||
|
|
||
|
const solutionFiles = Deno.readDirSync('./solutions');
|
||
|
|
||
|
const solvables: Solvable[] = [];
|
||
|
|
||
|
// need to wrap this stuff in a function to not trip the top level await
|
||
|
(async () => {
|
||
|
// cool dynamic module loading
|
||
|
for (const solution of solutionFiles){
|
||
|
await import('./solutions/' + solution.name)
|
||
|
}
|
||
|
|
||
|
if (import.meta.main) {
|
||
|
// only solve the latest day
|
||
|
solvables.toReversed()[0].part1().part2()
|
||
|
}
|
||
|
})()
|
||
|
|
||
|
|
||
|
export { solvables }
|