2 files changed, 11 insertions, 0 deletions
diff --git a/util/src/util/TraverseDirectory.ts b/util/src/util/TraverseDirectory.ts
new file mode 100644
index 00000000..275b7dcc
--- /dev/null
+++ b/util/src/util/TraverseDirectory.ts
@@ -0,0 +1,10 @@
+import { Server, traverseDirectory } from "lambert-server";
+
+const DEFAULT_FILTER = /^([^\.].*)(?<!\.d)\.(js)$/;
+
+export function registerRoutes(server: Server, root: string) {
+ return traverseDirectory(
+ { dirname: root, recursive: true, filter: DEFAULT_FILTER },
+ server.registerRoute.bind(server, root)
+ );
+}
diff --git a/util/src/util/index.ts b/util/src/util/index.ts
index 67583635..c5703468 100644
--- a/util/src/util/index.ts
+++ b/util/src/util/index.ts
@@ -17,3 +17,4 @@ export * from "./Rights";
export * from "./Snowflake";
export * from "./String";
export * from "./Array";
+export * from "./TraverseDirectory";
|