elit 3.1.0 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build.d.mts +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/dist/router.d.mts +1 -0
- package/dist/router.d.ts +1 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +1 -0
- package/dist/router.mjs +1 -0
- package/dist/{server-CcEBQ7L6.d.ts → server-BvYkTRi4.d.ts} +7 -6
- package/dist/{server-BgWmjg9q.d.mts → server-XT4I28Cr.d.mts} +7 -6
- package/dist/server.d.mts +1 -1
- package/dist/server.d.ts +7 -6
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +21 -10
- package/dist/server.mjs +21 -10
- package/dist/types.d.mts +7 -6
- package/package.json +1 -1
- package/src/router.ts +2 -0
- package/src/server.ts +25 -10
package/dist/build.d.mts
CHANGED
package/dist/cli.js
CHANGED
|
@@ -1412,7 +1412,7 @@ var require_package = __commonJS({
|
|
|
1412
1412
|
"package.json"(exports2, module2) {
|
|
1413
1413
|
module2.exports = {
|
|
1414
1414
|
name: "elit",
|
|
1415
|
-
version: "3.1.
|
|
1415
|
+
version: "3.1.2",
|
|
1416
1416
|
description: "Optimized lightweight library for creating DOM elements with reactive state",
|
|
1417
1417
|
main: "dist/index.js",
|
|
1418
1418
|
module: "dist/index.mjs",
|
package/dist/index.js
CHANGED
package/dist/index.mjs
CHANGED
package/dist/router.d.mts
CHANGED
package/dist/router.d.ts
CHANGED
package/dist/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAG1D,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,KAAK,GAAG,KAAK,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5F;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,KAAK,GAAG,KAAK,CAAC;CACrD;AAED,MAAM,WAAW,MAAM;IACnB,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxG,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AA6DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAG1D,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,KAAK,GAAG,KAAK,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5F;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,KAAK,GAAG,KAAK,CAAC;CACrD;AAED,MAAM,WAAW,MAAM;IACnB,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxG,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AA6DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAiG3D;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,KAAK,CAoBpF;AAGD,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,OAAO,KAAK,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,UAAU,KAAK,EAAE,KAAG,KAahG,CAAC"}
|
package/dist/router.js
CHANGED
package/dist/router.mjs
CHANGED
|
@@ -188,6 +188,7 @@ interface ServerRouteContext {
|
|
|
188
188
|
query: Record<string, string>;
|
|
189
189
|
body: any;
|
|
190
190
|
headers: Record<string, string | string[] | undefined>;
|
|
191
|
+
user?: any;
|
|
191
192
|
}
|
|
192
193
|
type ServerRouteHandler = (ctx: ServerRouteContext) => void | Promise<void>;
|
|
193
194
|
type Middleware = (ctx: ServerRouteContext, next: () => Promise<void>) => void | Promise<void>;
|
|
@@ -195,12 +196,12 @@ declare class ServerRouter {
|
|
|
195
196
|
private routes;
|
|
196
197
|
private middlewares;
|
|
197
198
|
use(middleware: Middleware): this;
|
|
198
|
-
get: (path: string,
|
|
199
|
-
post: (path: string,
|
|
200
|
-
put: (path: string,
|
|
201
|
-
delete: (path: string,
|
|
202
|
-
patch: (path: string,
|
|
203
|
-
options: (path: string,
|
|
199
|
+
get: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
200
|
+
post: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
201
|
+
put: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
202
|
+
delete: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
203
|
+
patch: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
204
|
+
options: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
204
205
|
private addRoute;
|
|
205
206
|
private pathToRegex;
|
|
206
207
|
private parseQuery;
|
|
@@ -188,6 +188,7 @@ interface ServerRouteContext {
|
|
|
188
188
|
query: Record<string, string>;
|
|
189
189
|
body: any;
|
|
190
190
|
headers: Record<string, string | string[] | undefined>;
|
|
191
|
+
user?: any;
|
|
191
192
|
}
|
|
192
193
|
type ServerRouteHandler = (ctx: ServerRouteContext) => void | Promise<void>;
|
|
193
194
|
type Middleware = (ctx: ServerRouteContext, next: () => Promise<void>) => void | Promise<void>;
|
|
@@ -195,12 +196,12 @@ declare class ServerRouter {
|
|
|
195
196
|
private routes;
|
|
196
197
|
private middlewares;
|
|
197
198
|
use(middleware: Middleware): this;
|
|
198
|
-
get: (path: string,
|
|
199
|
-
post: (path: string,
|
|
200
|
-
put: (path: string,
|
|
201
|
-
delete: (path: string,
|
|
202
|
-
patch: (path: string,
|
|
203
|
-
options: (path: string,
|
|
199
|
+
get: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
200
|
+
post: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
201
|
+
put: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
202
|
+
delete: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
203
|
+
patch: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
204
|
+
options: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
204
205
|
private addRoute;
|
|
205
206
|
private pathToRegex;
|
|
206
207
|
private parseQuery;
|
package/dist/server.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './http.mjs';
|
|
2
2
|
import './ws.mjs';
|
|
3
|
-
export { H as HttpMethod, M as Middleware, S as ServerRouteContext, b as ServerRouteHandler, c as ServerRouter, q as SharedState, p as SharedStateOptions, o as StateChangeHandler, u as StateManager, g as bodyLimit, i as cacheControl, d as clearImportMapCache, k as compress, e as cors, v as createDevServer, n as createProxyHandler, f as errorHandler, h as html, j as json, l as logger, r as rateLimit, m as security, s as status, t as text } from './server-
|
|
3
|
+
export { H as HttpMethod, M as Middleware, S as ServerRouteContext, b as ServerRouteHandler, c as ServerRouter, q as SharedState, p as SharedStateOptions, o as StateChangeHandler, u as StateManager, g as bodyLimit, i as cacheControl, d as clearImportMapCache, k as compress, e as cors, v as createDevServer, n as createProxyHandler, f as errorHandler, h as html, j as json, l as logger, r as rateLimit, m as security, s as status, t as text } from './server-XT4I28Cr.mjs';
|
|
4
4
|
import 'node:events';
|
|
5
5
|
import 'events';
|
|
6
6
|
import 'http';
|
package/dist/server.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export interface ServerRouteContext {
|
|
|
16
16
|
query: Record<string, string>;
|
|
17
17
|
body: any;
|
|
18
18
|
headers: Record<string, string | string[] | undefined>;
|
|
19
|
+
user?: any;
|
|
19
20
|
}
|
|
20
21
|
export type ServerRouteHandler = (ctx: ServerRouteContext) => void | Promise<void>;
|
|
21
22
|
export type Middleware = (ctx: ServerRouteContext, next: () => Promise<void>) => void | Promise<void>;
|
|
@@ -23,12 +24,12 @@ export declare class ServerRouter {
|
|
|
23
24
|
private routes;
|
|
24
25
|
private middlewares;
|
|
25
26
|
use(middleware: Middleware): this;
|
|
26
|
-
get: (path: string,
|
|
27
|
-
post: (path: string,
|
|
28
|
-
put: (path: string,
|
|
29
|
-
delete: (path: string,
|
|
30
|
-
patch: (path: string,
|
|
31
|
-
options: (path: string,
|
|
27
|
+
get: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
28
|
+
post: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
29
|
+
put: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
30
|
+
delete: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
31
|
+
patch: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
32
|
+
options: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
32
33
|
private addRoute;
|
|
33
34
|
private pathToRegex;
|
|
34
35
|
private parseQuery;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,eAAe,EAAE,cAAc,EAA0B,MAAM,QAAQ,CAAC;AAE/F,OAAO,EAAmB,SAAS,EAAc,MAAM,MAAM,CAAC;AAM9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAA4B,WAAW,EAAE,MAAM,SAAS,CAAC;AAKlG,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -2662,20 +2662,24 @@ var ServerRouter = class {
|
|
|
2662
2662
|
constructor() {
|
|
2663
2663
|
this.routes = [];
|
|
2664
2664
|
this.middlewares = [];
|
|
2665
|
-
|
|
2666
|
-
this.
|
|
2667
|
-
this.
|
|
2668
|
-
this.
|
|
2669
|
-
this.
|
|
2670
|
-
this.
|
|
2665
|
+
// Support per-route middleware: accept middleware(s) before the final handler
|
|
2666
|
+
this.get = (path, ...handlers) => this.addRoute("GET", path, handlers);
|
|
2667
|
+
this.post = (path, ...handlers) => this.addRoute("POST", path, handlers);
|
|
2668
|
+
this.put = (path, ...handlers) => this.addRoute("PUT", path, handlers);
|
|
2669
|
+
this.delete = (path, ...handlers) => this.addRoute("DELETE", path, handlers);
|
|
2670
|
+
this.patch = (path, ...handlers) => this.addRoute("PATCH", path, handlers);
|
|
2671
|
+
this.options = (path, ...handlers) => this.addRoute("OPTIONS", path, handlers);
|
|
2671
2672
|
}
|
|
2672
2673
|
use(middleware) {
|
|
2673
2674
|
this.middlewares.push(middleware);
|
|
2674
2675
|
return this;
|
|
2675
2676
|
}
|
|
2676
|
-
addRoute(method, path,
|
|
2677
|
+
addRoute(method, path, handlers) {
|
|
2677
2678
|
const { pattern, paramNames } = this.pathToRegex(path);
|
|
2678
|
-
|
|
2679
|
+
if (!handlers || handlers.length === 0) throw new Error("Route must include a handler");
|
|
2680
|
+
const last = handlers[handlers.length - 1];
|
|
2681
|
+
const middlewares = handlers.slice(0, handlers.length - 1).map((h) => h);
|
|
2682
|
+
this.routes.push({ method, pattern, paramNames, handler: last, middlewares });
|
|
2679
2683
|
return this;
|
|
2680
2684
|
}
|
|
2681
2685
|
pathToRegex(path) {
|
|
@@ -2754,11 +2758,18 @@ var ServerRouter = class {
|
|
|
2754
2758
|
}
|
|
2755
2759
|
}
|
|
2756
2760
|
const ctx = { req, res, params, query: this.parseQuery(url), body, headers: req.headers };
|
|
2761
|
+
const routeMiddlewares = route.middlewares || [];
|
|
2762
|
+
const chain = [...this.middlewares, ...routeMiddlewares, async (c, _next) => {
|
|
2763
|
+
await route.handler(c);
|
|
2764
|
+
}];
|
|
2757
2765
|
let i = 0;
|
|
2758
|
-
const next = async () =>
|
|
2766
|
+
const next = async () => {
|
|
2767
|
+
if (i >= chain.length) return;
|
|
2768
|
+
const mw = chain[i++];
|
|
2769
|
+
await mw(ctx, next);
|
|
2770
|
+
};
|
|
2759
2771
|
try {
|
|
2760
2772
|
await next();
|
|
2761
|
-
await route.handler(ctx);
|
|
2762
2773
|
} catch (e) {
|
|
2763
2774
|
console.error("[ServerRouter] Route error:", e);
|
|
2764
2775
|
!res.headersSent && (res.writeHead(500, { "Content-Type": "application/json" }), res.end(JSON.stringify({ error: "Internal Server Error", message: e instanceof Error ? e.message : "Unknown" })));
|
package/dist/server.mjs
CHANGED
|
@@ -2636,20 +2636,24 @@ var ServerRouter = class {
|
|
|
2636
2636
|
constructor() {
|
|
2637
2637
|
this.routes = [];
|
|
2638
2638
|
this.middlewares = [];
|
|
2639
|
-
|
|
2640
|
-
this.
|
|
2641
|
-
this.
|
|
2642
|
-
this.
|
|
2643
|
-
this.
|
|
2644
|
-
this.
|
|
2639
|
+
// Support per-route middleware: accept middleware(s) before the final handler
|
|
2640
|
+
this.get = (path, ...handlers) => this.addRoute("GET", path, handlers);
|
|
2641
|
+
this.post = (path, ...handlers) => this.addRoute("POST", path, handlers);
|
|
2642
|
+
this.put = (path, ...handlers) => this.addRoute("PUT", path, handlers);
|
|
2643
|
+
this.delete = (path, ...handlers) => this.addRoute("DELETE", path, handlers);
|
|
2644
|
+
this.patch = (path, ...handlers) => this.addRoute("PATCH", path, handlers);
|
|
2645
|
+
this.options = (path, ...handlers) => this.addRoute("OPTIONS", path, handlers);
|
|
2645
2646
|
}
|
|
2646
2647
|
use(middleware) {
|
|
2647
2648
|
this.middlewares.push(middleware);
|
|
2648
2649
|
return this;
|
|
2649
2650
|
}
|
|
2650
|
-
addRoute(method, path,
|
|
2651
|
+
addRoute(method, path, handlers) {
|
|
2651
2652
|
const { pattern, paramNames } = this.pathToRegex(path);
|
|
2652
|
-
|
|
2653
|
+
if (!handlers || handlers.length === 0) throw new Error("Route must include a handler");
|
|
2654
|
+
const last = handlers[handlers.length - 1];
|
|
2655
|
+
const middlewares = handlers.slice(0, handlers.length - 1).map((h) => h);
|
|
2656
|
+
this.routes.push({ method, pattern, paramNames, handler: last, middlewares });
|
|
2653
2657
|
return this;
|
|
2654
2658
|
}
|
|
2655
2659
|
pathToRegex(path) {
|
|
@@ -2728,11 +2732,18 @@ var ServerRouter = class {
|
|
|
2728
2732
|
}
|
|
2729
2733
|
}
|
|
2730
2734
|
const ctx = { req, res, params, query: this.parseQuery(url), body, headers: req.headers };
|
|
2735
|
+
const routeMiddlewares = route.middlewares || [];
|
|
2736
|
+
const chain = [...this.middlewares, ...routeMiddlewares, async (c, _next) => {
|
|
2737
|
+
await route.handler(c);
|
|
2738
|
+
}];
|
|
2731
2739
|
let i = 0;
|
|
2732
|
-
const next = async () =>
|
|
2740
|
+
const next = async () => {
|
|
2741
|
+
if (i >= chain.length) return;
|
|
2742
|
+
const mw = chain[i++];
|
|
2743
|
+
await mw(ctx, next);
|
|
2744
|
+
};
|
|
2733
2745
|
try {
|
|
2734
2746
|
await next();
|
|
2735
|
-
await route.handler(ctx);
|
|
2736
2747
|
} catch (e) {
|
|
2737
2748
|
console.error("[ServerRouter] Route error:", e);
|
|
2738
2749
|
!res.headersSent && (res.writeHead(500, { "Content-Type": "application/json" }), res.end(JSON.stringify({ error: "Internal Server Error", message: e instanceof Error ? e.message : "Unknown" })));
|
package/dist/types.d.mts
CHANGED
|
@@ -155,6 +155,7 @@ interface ServerRouteContext {
|
|
|
155
155
|
query: Record<string, string>;
|
|
156
156
|
body: any;
|
|
157
157
|
headers: Record<string, string | string[] | undefined>;
|
|
158
|
+
user?: any;
|
|
158
159
|
}
|
|
159
160
|
type ServerRouteHandler = (ctx: ServerRouteContext) => void | Promise<void>;
|
|
160
161
|
type Middleware = (ctx: ServerRouteContext, next: () => Promise<void>) => void | Promise<void>;
|
|
@@ -162,12 +163,12 @@ declare class ServerRouter {
|
|
|
162
163
|
private routes;
|
|
163
164
|
private middlewares;
|
|
164
165
|
use(middleware: Middleware): this;
|
|
165
|
-
get: (path: string,
|
|
166
|
-
post: (path: string,
|
|
167
|
-
put: (path: string,
|
|
168
|
-
delete: (path: string,
|
|
169
|
-
patch: (path: string,
|
|
170
|
-
options: (path: string,
|
|
166
|
+
get: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
167
|
+
post: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
168
|
+
put: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
169
|
+
delete: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
170
|
+
patch: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
171
|
+
options: (path: string, ...handlers: Array<Middleware | ServerRouteHandler>) => this;
|
|
171
172
|
private addRoute;
|
|
172
173
|
private pathToRegex;
|
|
173
174
|
private parseQuery;
|
package/package.json
CHANGED
package/src/router.ts
CHANGED
|
@@ -31,6 +31,7 @@ export interface RouterOptions {
|
|
|
31
31
|
|
|
32
32
|
export interface Router {
|
|
33
33
|
currentRoute: State<RouteLocation>;
|
|
34
|
+
navigate: (path: string, replace?: boolean) => void;
|
|
34
35
|
push: (path: string) => void;
|
|
35
36
|
replace: (path: string) => void;
|
|
36
37
|
back: () => void;
|
|
@@ -182,6 +183,7 @@ export function createRouter(options: RouterOptions): Router {
|
|
|
182
183
|
|
|
183
184
|
return {
|
|
184
185
|
currentRoute,
|
|
186
|
+
navigate,
|
|
185
187
|
push: (path: string) => navigate(path, false),
|
|
186
188
|
replace: (path: string) => navigate(path, true),
|
|
187
189
|
back: () => window.history.back(),
|
package/src/server.ts
CHANGED
|
@@ -28,6 +28,7 @@ export interface ServerRouteContext {
|
|
|
28
28
|
query: Record<string, string>;
|
|
29
29
|
body: any;
|
|
30
30
|
headers: Record<string, string | string[] | undefined>;
|
|
31
|
+
user?: any;
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
export type ServerRouteHandler = (ctx: ServerRouteContext) => void | Promise<void>;
|
|
@@ -38,6 +39,7 @@ interface ServerRoute {
|
|
|
38
39
|
pattern: RegExp;
|
|
39
40
|
paramNames: string[];
|
|
40
41
|
handler: ServerRouteHandler;
|
|
42
|
+
middlewares: Middleware[];
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
export class ServerRouter {
|
|
@@ -49,16 +51,21 @@ export class ServerRouter {
|
|
|
49
51
|
return this;
|
|
50
52
|
}
|
|
51
53
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
// Support per-route middleware: accept middleware(s) before the final handler
|
|
55
|
+
get = (path: string, ...handlers: Array<Middleware | ServerRouteHandler>): this => this.addRoute('GET', path, handlers as any);
|
|
56
|
+
post = (path: string, ...handlers: Array<Middleware | ServerRouteHandler>): this => this.addRoute('POST', path, handlers as any);
|
|
57
|
+
put = (path: string, ...handlers: Array<Middleware | ServerRouteHandler>): this => this.addRoute('PUT', path, handlers as any);
|
|
58
|
+
delete = (path: string, ...handlers: Array<Middleware | ServerRouteHandler>): this => this.addRoute('DELETE', path, handlers as any);
|
|
59
|
+
patch = (path: string, ...handlers: Array<Middleware | ServerRouteHandler>): this => this.addRoute('PATCH', path, handlers as any);
|
|
60
|
+
options = (path: string, ...handlers: Array<Middleware | ServerRouteHandler>): this => this.addRoute('OPTIONS', path, handlers as any);
|
|
58
61
|
|
|
59
|
-
private addRoute(method: HttpMethod, path: string,
|
|
62
|
+
private addRoute(method: HttpMethod, path: string, handlers: Array<Middleware | ServerRouteHandler>): this {
|
|
60
63
|
const { pattern, paramNames } = this.pathToRegex(path);
|
|
61
|
-
|
|
64
|
+
// Last item is the actual route handler, preceding items are middlewares
|
|
65
|
+
if (!handlers || handlers.length === 0) throw new Error('Route must include a handler');
|
|
66
|
+
const last = handlers[handlers.length - 1] as ServerRouteHandler;
|
|
67
|
+
const middlewares = handlers.slice(0, handlers.length - 1).map(h => h as Middleware);
|
|
68
|
+
this.routes.push({ method, pattern, paramNames, handler: last, middlewares });
|
|
62
69
|
return this;
|
|
63
70
|
}
|
|
64
71
|
|
|
@@ -157,12 +164,20 @@ export class ServerRouter {
|
|
|
157
164
|
}
|
|
158
165
|
|
|
159
166
|
const ctx: ServerRouteContext = { req, res, params, query: this.parseQuery(url), body, headers: req.headers as any };
|
|
167
|
+
|
|
168
|
+
// Build middleware chain: global middlewares -> route middlewares -> final handler
|
|
169
|
+
const routeMiddlewares = route.middlewares || [];
|
|
170
|
+
const chain: Middleware[] = [ ...this.middlewares, ...routeMiddlewares, async (c, _next) => { await route.handler(c); } ];
|
|
171
|
+
|
|
160
172
|
let i = 0;
|
|
161
|
-
const next = async () =>
|
|
173
|
+
const next = async () => {
|
|
174
|
+
if (i >= chain.length) return;
|
|
175
|
+
const mw = chain[i++];
|
|
176
|
+
await mw(ctx, next);
|
|
177
|
+
};
|
|
162
178
|
|
|
163
179
|
try {
|
|
164
180
|
await next();
|
|
165
|
-
await route.handler(ctx);
|
|
166
181
|
}
|
|
167
182
|
catch (e) {
|
|
168
183
|
console.error('[ServerRouter] Route error:', e);
|