ufiber
Version:
Next-gen webserver for node-js developer
25 lines (23 loc) • 597 B
JavaScript
import { checkOptionalParameter } from "./utils.js";
import { Node } from "./node.js";
//#region src/router/trie-tree/index.ts
var TrieRouter = class {
name = "TrieRouter";
#node;
constructor() {
this.#node = new Node();
}
add(method, path, handler) {
const results = checkOptionalParameter(path);
if (results) {
for (let i = 0, len = results.length; i < len; i++) this.#node.insert(method, results[i], handler);
return;
}
this.#node.insert(method, path, handler);
}
match(method, path) {
return this.#node.search(method, path);
}
};
//#endregion
export { TrieRouter };