This commit is contained in:
2025-03-24 14:35:08 +01:00
parent 1381f3ee65
commit b5d488b0b8
7 changed files with 73 additions and 0 deletions

5
dist/container.d.ts vendored
View File

@ -1,5 +1,10 @@
export default class Container {
private services;
<<<<<<< HEAD
set<T>(type: new (...args: any[]) => T, instance: T): void;
get<T>(type: new (...args: any[]) => T): T;
=======
register<T>(name: string, factory: () => T): void;
resolve<T>(name: string): T;
>>>>>>> 277f5a3 (test)
}

11
dist/container.js vendored
View File

@ -2,6 +2,7 @@ export default class Container {
constructor() {
this.services = new Map();
}
<<<<<<< HEAD
set(type, instance) {
this.services.set(type, instance);
}
@ -10,5 +11,15 @@ export default class Container {
if (!instance)
throw new Error(`Service of type "${type.name}" not found.`);
return instance;
=======
register(name, factory) {
this.services.set(name, factory);
}
resolve(name) {
const factory = this.services.get(name);
if (!factory)
throw new Error(`Service "${name}" not found.`);
return factory();
>>>>>>> 277f5a3 (test)
}
}

5
dist/index.d.ts vendored
View File

@ -7,8 +7,13 @@ export default class Flummpress {
private middleware;
router: Router;
constructor();
<<<<<<< HEAD
use<T>(plugin: new (...args: any[]) => T | Router | Handler, factory?: () => T): this;
get<T>(type: new (...args: any[]) => T): T;
=======
use<T>(nameOrRouter: string | Router, factory?: () => T): this;
resolve<T>(name: string): T;
>>>>>>> 277f5a3 (test)
private processPipeline;
listen(...args: any[]): this;
private parseRequest;

13
dist/index.js vendored
View File

@ -20,6 +20,7 @@ export default class Flummpress {
this.router = new Router();
this.middleware = [];
}
<<<<<<< HEAD
use(plugin, factory) {
if (typeof plugin === "function" && factory)
this.container.set(plugin, factory());
@ -31,15 +32,27 @@ export default class Flummpress {
else
throw new TypeError("Invalid plugin provided to use()");
}
=======
use(nameOrRouter, factory) {
if (typeof nameOrRouter === "string" && factory)
this.container.register(nameOrRouter, factory);
else if (nameOrRouter instanceof Router)
this.router.use(nameOrRouter);
>>>>>>> 277f5a3 (test)
else
throw new TypeError("Invalid arguments provided to use()");
return this;
}
<<<<<<< HEAD
get(type) {
const instance = this.container.get(type);
if (!instance)
throw new Error(`Service of type "${type.name}" not found.`);
return instance;
=======
resolve(name) {
return this.container.resolve(name);
>>>>>>> 277f5a3 (test)
}
processPipeline(handlers, req, res) {
return __awaiter(this, void 0, void 0, function* () {