@bepalo/router 1.5.20 → 1.7.22

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/README.md CHANGED
@@ -10,6 +10,10 @@
10
10
 
11
11
  **A fast, feature-rich HTTP router for modern JavaScript runtimes.** [jump to example](#example)
12
12
 
13
+ ## What is new in this version
14
+
15
+ Please refer to the [change-log](CHANGELOG.md).
16
+
13
17
  ## 📑 Table of Contents
14
18
 
15
19
  1. [🏆 @bepalo/router](#-bepalorouter)
@@ -60,6 +64,7 @@
60
64
  - 🧩 **Composable Router Architecture** - Append one router to another with a path prefix.
61
65
  - 🛠️ **Built-in Helper Utilities** - Built-in response helpers (json, html, parseBody, upload, etc.)
62
66
  - 🔐 **Middleware Integration** - CORS, rate limiting, authentication helpers
67
+ - 🔐 **Normalized pathname option** - An option to normalize pathnames.
63
68
 
64
69
  ## 🚀 Get Started
65
70
 
@@ -183,8 +188,8 @@ const router = new Router<CTXAddress>({
183
188
  ///...
184
189
  });
185
190
 
186
- // Global CORS
187
- router.filter("GET /.**", [
191
+ // Global rate-limit and CORS
192
+ router.filter("ALL /.**", [
188
193
  limitRate({
189
194
  key: (req, ctx) => ctx.address.address, // used to identify client
190
195
  maxTokens: 30,
@@ -198,31 +203,22 @@ router.filter("GET /.**", [
198
203
  ]);
199
204
 
200
205
  // Rate limiting for API
201
- router.filter(
202
- [
203
- "GET /api/.**",
204
- "POST /api/.**",
205
- "PUT /api/.**",
206
- "PATCH /api/.**",
207
- "DELETE /api/.**",
208
- ],
209
- [
210
- limitRate({
211
- key: (req, ctx) => ctx.address.address, // used to identify client
212
- maxTokens: 100,
213
- refillInterval: 30_000, // every 30 seconds
214
- refillRate: 50, // 50 tokens every refillInterval
215
- setXRateLimitHeaders: true,
216
- }),
217
- cors({
218
- origins: ["http://localhost:3000", "https://example.com"],
219
- methods: ["GET", "POST", "PUT", "DELETE"],
220
- allowedHeaders: ["Content-Type", "Authorization"],
221
- credentials: true,
222
- endHere: true,
223
- }),
224
- ],
225
- );
206
+ router.filter("CRUD /api/.**",[
207
+ limitRate({
208
+ key: (req, ctx) => ctx.address.address, // used to identify client
209
+ maxTokens: 100,
210
+ refillInterval: 30_000, // every 30 seconds
211
+ refillRate: 50, // 50 tokens every refillInterval
212
+ setXRateLimitHeaders: true,
213
+ }),
214
+ cors({
215
+ origins: ["http://localhost:3000", "https://example.com"],
216
+ methods: ["GET", "POST", "PUT", "DELETE"],
217
+ allowedHeaders: ["Content-Type", "Authorization"],
218
+ credentials: true,
219
+ endHere: true,
220
+ }),
221
+ ]);
226
222
 
227
223
  // Main route
228
224
  router.handle("GET /", () =>
@@ -230,6 +226,10 @@ router.handle("GET /", () =>
230
226
  );
231
227
  router.handle("GET /status", () => status(200));
232
228
 
229
+ // trailing slash matters unless normalizeTrailingSlash option is set
230
+ router.handle("GET /res/", () => text("/res/"));
231
+ router.handle("GET /res", () => text("/res"));
232
+
233
233
  // Sample sub-route `/api/user`
234
234
  ////////////////////////////////////////
235
235
  // eg. inside routes/api/user.ts
@@ -78,7 +78,7 @@ export declare enum Status {
78
78
  export declare function getHttpStatusText(code: number): string;
79
79
  /**
80
80
  * Creates a Response with the specified status code.
81
- * Defaults to text/plain content-type if not provided in init.headers.
81
+ * Defaults to 'text/plain; charset=utf-8' content-type if not provided in init.headers.
82
82
  * @param {number} status - The HTTP status code
83
83
  * @param {string|null} [content] - The response body content
84
84
  * @param {ResponseInit} [init] - Additional response initialization options
@@ -113,7 +113,7 @@ export declare const forward: <XContext = {}>(path: string, options?: {
113
113
  }) => BoundHandler<XContext>;
114
114
  /**
115
115
  * Creates a text/plain Response.
116
- * Defaults to status 200 and text/plain content-type if not specified.
116
+ * Defaults to status 200 and 'text/plain; charset=utf-8' content-type if not specified.
117
117
  * @param {string} content - The text content to return
118
118
  * @param {ResponseInit} [init] - Additional response initialization options
119
119
  * @returns {Response} A Response object with text/plain content-type
@@ -135,7 +135,7 @@ export declare const text: (content: string, init?: ResponseInit) => Response;
135
135
  export declare const html: (content: string, init?: ResponseInit) => Response;
136
136
  /**
137
137
  * Creates a JSON Response.
138
- * Defaults to status 200 and application/json content-type if not specified.
138
+ * Defaults to status 200 and 'application/json; charset=utf-8' content-type if not specified.
139
139
  * Uses Response.json() internally which automatically serializes the body.
140
140
  * @param {any} body - The data to serialize as JSON
141
141
  * @param {ResponseInit} [init] - Additional response initialization options
@@ -193,17 +193,17 @@ export declare const usp: (usp?: URLSearchParams, init?: ResponseInit) => Respon
193
193
  /**
194
194
  * Creates a Response from various body types with automatic content-type detection.
195
195
  * Supports strings, objects (JSON), Blobs, ArrayBuffers, FormData, URLSearchParams, and ReadableStreams.
196
- * @param {BodyInit} [body] - The body content to return
196
+ * @param {BodyInit|Record<string, unknown>} [body] - The body content to return
197
197
  * @param {ResponseInit} [init] - Additional response initialization options
198
198
  * @returns {Response} A Response object with appropriate content-type
199
199
  * @example
200
200
  * send("text"); // text/plain
201
- * send({ message: "success" }); // application/json
201
+ * send({ message: "success" }); // application/json; charset=utf-8
202
202
  * send(new Blob([])); // blob.type || application/octet-stream
203
203
  * send(new FormData()); // multipart/form-data
204
204
  * send(new URLSearchParams()); // application/x-www-form-urlencoded
205
205
  */
206
- export declare const send: (body?: BodyInit, init?: ResponseInit) => Response;
206
+ export declare const send: (body?: BodyInit | Record<string, unknown>, init?: ResponseInit) => Response;
207
207
  /**
208
208
  * Options for setting cookies.
209
209
  * @typedef {Object} CookieOptions
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -275,7 +275,7 @@ function getHttpStatusText(code) {
275
275
  }
276
276
  /**
277
277
  * Creates a Response with the specified status code.
278
- * Defaults to text/plain content-type if not provided in init.headers.
278
+ * Defaults to 'text/plain; charset=utf-8' content-type if not provided in init.headers.
279
279
  * @param {number} status - The HTTP status code
280
280
  * @param {string|null} [content] - The response body content
281
281
  * @param {ResponseInit} [init] - Additional response initialization options
@@ -290,7 +290,7 @@ const status = (status, content, init) => {
290
290
  const statusText = (_a = init === null || init === void 0 ? void 0 : init.statusText) !== null && _a !== void 0 ? _a : getHttpStatusText(status);
291
291
  const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
292
292
  if (content !== null && !headers.has("content-type")) {
293
- headers.set("content-type", "text/plain");
293
+ headers.set("content-type", "text/plain; charset=utf-8");
294
294
  }
295
295
  return new Response(content !== undefined ? content : statusText, Object.assign(Object.assign({ statusText }, init), { status,
296
296
  headers }));
@@ -348,7 +348,7 @@ const forward = (path, options) => {
348
348
  exports.forward = forward;
349
349
  /**
350
350
  * Creates a text/plain Response.
351
- * Defaults to status 200 and text/plain content-type if not specified.
351
+ * Defaults to status 200 and 'text/plain; charset=utf-8' content-type if not specified.
352
352
  * @param {string} content - The text content to return
353
353
  * @param {ResponseInit} [init] - Additional response initialization options
354
354
  * @returns {Response} A Response object with text/plain content-type
@@ -362,7 +362,7 @@ const text = (content, init) => {
362
362
  const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : getHttpStatusText(status);
363
363
  const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
364
364
  if (!headers.has("content-type")) {
365
- headers.set("content-type", "text/plain");
365
+ headers.set("content-type", "text/plain; charset=utf-8");
366
366
  }
367
367
  return new Response(content, Object.assign(Object.assign({ statusText }, init), { status,
368
368
  headers }));
@@ -384,7 +384,7 @@ const html = (content, init) => {
384
384
  const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : getHttpStatusText(status);
385
385
  const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
386
386
  if (!headers.has("content-type")) {
387
- headers.set("content-type", "text/html");
387
+ headers.set("content-type", "text/html; charset=utf-8");
388
388
  }
389
389
  return new Response(content, Object.assign(Object.assign({ statusText }, init), { status,
390
390
  headers }));
@@ -392,7 +392,7 @@ const html = (content, init) => {
392
392
  exports.html = html;
393
393
  /**
394
394
  * Creates a JSON Response.
395
- * Defaults to status 200 and application/json content-type if not specified.
395
+ * Defaults to status 200 and 'application/json; charset=utf-8' content-type if not specified.
396
396
  * Uses Response.json() internally which automatically serializes the body.
397
397
  * @param {any} body - The data to serialize as JSON
398
398
  * @param {ResponseInit} [init] - Additional response initialization options
@@ -407,7 +407,7 @@ const json = (body, init) => {
407
407
  const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : getHttpStatusText(status);
408
408
  const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
409
409
  if (!headers.has("content-type")) {
410
- headers.set("content-type", "application/json");
410
+ headers.set("content-type", "application/json; charset=utf-8");
411
411
  }
412
412
  return Response.json(body, Object.assign(Object.assign({ statusText }, init), { status,
413
413
  headers }));
@@ -504,12 +504,12 @@ exports.usp = usp;
504
504
  /**
505
505
  * Creates a Response from various body types with automatic content-type detection.
506
506
  * Supports strings, objects (JSON), Blobs, ArrayBuffers, FormData, URLSearchParams, and ReadableStreams.
507
- * @param {BodyInit} [body] - The body content to return
507
+ * @param {BodyInit|Record<string, unknown>} [body] - The body content to return
508
508
  * @param {ResponseInit} [init] - Additional response initialization options
509
509
  * @returns {Response} A Response object with appropriate content-type
510
510
  * @example
511
511
  * send("text"); // text/plain
512
- * send({ message: "success" }); // application/json
512
+ * send({ message: "success" }); // application/json; charset=utf-8
513
513
  * send(new Blob([])); // blob.type || application/octet-stream
514
514
  * send(new FormData()); // multipart/form-data
515
515
  * send(new URLSearchParams()); // application/x-www-form-urlencoded
@@ -519,30 +519,38 @@ const send = (body, init) => {
519
519
  const status = (_a = init === null || init === void 0 ? void 0 : init.status) !== null && _a !== void 0 ? _a : 200;
520
520
  const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : getHttpStatusText(status);
521
521
  const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
522
- if (body != null && !headers.has("content-type")) {
523
- if (body instanceof URLSearchParams) {
522
+ const isContentTypeNotSet = !headers.has("content-type");
523
+ if (body instanceof URLSearchParams) {
524
+ if (isContentTypeNotSet) {
524
525
  headers.set("content-type", "application/x-www-form-urlencoded");
525
- body = body.toString();
526
526
  }
527
- else if (body instanceof FormData) {
528
- }
529
- else if (typeof body === "string") {
527
+ }
528
+ else if (body instanceof FormData) {
529
+ // content type will be generated
530
+ }
531
+ else if (typeof body === "string") {
532
+ if (isContentTypeNotSet) {
530
533
  headers.set("content-type", "text/plain; charset=utf-8");
531
534
  }
532
- else if (body instanceof Blob) {
535
+ }
536
+ else if (body instanceof Blob) {
537
+ if (isContentTypeNotSet) {
533
538
  headers.set("content-type", body.type || "application/octet-stream");
534
539
  }
535
- else if (body instanceof ArrayBuffer) {
540
+ }
541
+ else if (body instanceof ArrayBuffer ||
542
+ ArrayBuffer.isView(body) ||
543
+ body instanceof ReadableStream) {
544
+ if (isContentTypeNotSet) {
536
545
  headers.set("content-type", "application/octet-stream");
537
546
  }
538
- else if (!(body instanceof ReadableStream)) {
539
- headers.set("content-type", "application/json");
540
- return Response.json(body, Object.assign(Object.assign({ status,
541
- statusText }, init), { headers }));
542
- }
543
- else {
544
- headers.set("content-type", "application/octet-stream");
547
+ }
548
+ else if (body != null) {
549
+ if (isContentTypeNotSet) {
550
+ headers.set("content-type", "application/json; charset=utf-8");
545
551
  }
552
+ return Response.json(body, Object.assign(Object.assign({ status,
553
+ statusText }, init), { headers }));
546
554
  }
547
555
  return new Response(body, Object.assign(Object.assign({ statusText }, init), { status,
548
556
  headers }));
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA,8CA2KC;AAzPD,kDAAgC;AAEhC,IAAY,MA0EX;AA1ED,WAAY,MAAM;IAChB,uDAAmB,CAAA;IACnB,2EAA6B,CAAA;IAC7B,2DAAqB,CAAA;IACrB,2DAAqB,CAAA;IACrB,2CAAa,CAAA;IACb,qDAAkB,CAAA;IAClB,uDAAmB,CAAA;IACnB,6FAAsC,CAAA;IACtC,yDAAoB,CAAA;IACpB,+DAAuB,CAAA;IACvB,mEAAyB,CAAA;IACzB,6DAAsB,CAAA;IACtB,qEAA0B,CAAA;IAC1B,mDAAiB,CAAA;IACjB,qEAA0B,CAAA;IAC1B,uEAA2B,CAAA;IAC3B,iDAAgB,CAAA;IAChB,uDAAmB,CAAA;IACnB,6DAAsB,CAAA;IACtB,uDAAmB,CAAA;IACnB,yEAA4B,CAAA;IAC5B,yEAA4B,CAAA;IAC5B,2DAAqB,CAAA;IACrB,+DAAuB,CAAA;IACvB,qEAA0B,CAAA;IAC1B,yDAAoB,CAAA;IACpB,uDAAmB,CAAA;IACnB,uEAA2B,CAAA;IAC3B,iEAAwB,CAAA;IACxB,6FAAsC,CAAA;IACtC,mEAAyB,CAAA;IACzB,uDAAmB,CAAA;IACnB,+CAAe,CAAA;IACf,mEAAyB,CAAA;IACzB,2EAA6B,CAAA;IAC7B,qEAA0B,CAAA;IAC1B,2DAAqB,CAAA;IACrB,+EAA+B,CAAA;IAC/B,6EAA8B,CAAA;IAC9B,yEAA4B,CAAA;IAC5B,yDAAoB,CAAA;IACpB,2EAA6B,CAAA;IAC7B,6EAA8B,CAAA;IAC9B,mDAAiB,CAAA;IACjB,uEAA2B,CAAA;IAC3B,uDAAmB,CAAA;IACnB,qEAA0B,CAAA;IAC1B,+EAA+B,CAAA;IAC/B,qEAA0B,CAAA;IAC1B,6FAAsC,CAAA;IACtC,2FAAqC,CAAA;IACrC,6EAA8B,CAAA;IAC9B,mEAAyB,CAAA;IACzB,2DAAqB,CAAA;IACrB,2EAA6B,CAAA;IAC7B,mEAAyB,CAAA;IACzB,qFAAkC,CAAA;IAClC,iFAAgC,CAAA;IAChC,6EAA8B,CAAA;IAC9B,+DAAuB,CAAA;IACvB,6DAAsB,CAAA;IACtB,iGAAwC,CAAA;IACxC,6DAAsB,CAAA;IACtB,qEAA0B,CAAA;IAC1B,uGAA2C,CAAA;IAC3C,+DAAuB,CAAA;IACvB,iEAAwB,CAAA;IACxB,mFAAiC,CAAA;IACjC,iFAAgC,CAAA;IAChC,uEAA2B,CAAA;IAC3B,+DAAuB,CAAA;IACvB,qFAAkC,CAAA;IAClC,2FAAqC,CAAA;AACvC,CAAC,EA1EW,MAAM,sBAAN,MAAM,QA0EjB;AAED,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,QAAQ,IAAI,EAAE,CAAC;QACb,oBAAoB;QACpB,KAAK,GAAG;YACN,OAAO,UAAU,CAAC;QACpB,KAAK,GAAG;YACN,OAAO,qBAAqB,CAAC;QAC/B,KAAK,GAAG;YACN,OAAO,YAAY,CAAC;QACtB,KAAK,GAAG;YACN,OAAO,aAAa,CAAC;QAEvB,cAAc;QACd,KAAK,GAAG;YACN,OAAO,IAAI,CAAC;QACd,KAAK,GAAG;YACN,OAAO,SAAS,CAAC;QACnB,KAAK,GAAG;YACN,OAAO,UAAU,CAAC;QACpB,KAAK,GAAG;YACN,OAAO,+BAA+B,CAAC;QACzC,KAAK,GAAG;YACN,OAAO,YAAY,CAAC;QACtB,KAAK,GAAG;YACN,OAAO,eAAe,CAAC;QACzB,KAAK,GAAG;YACN,OAAO,iBAAiB,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,cAAc,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,kBAAkB,CAAC;QAC5B,KAAK,GAAG;YACN,OAAO,SAAS,CAAC;QAEnB,kBAAkB;QAClB,KAAK,GAAG;YACN,OAAO,kBAAkB,CAAC;QAC5B,KAAK,GAAG;YACN,OAAO,mBAAmB,CAAC;QAC7B,KAAK,GAAG;YACN,OAAO,OAAO,CAAC;QACjB,KAAK,GAAG;YACN,OAAO,WAAW,CAAC;QACrB,KAAK,GAAG;YACN,OAAO,cAAc,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,WAAW,CAAC;QACrB,KAAK,GAAG;YACN,OAAO,oBAAoB,CAAC;QAC9B,KAAK,GAAG;YACN,OAAO,oBAAoB,CAAC;QAE9B,mBAAmB;QACnB,KAAK,GAAG;YACN,OAAO,aAAa,CAAC;QACvB,KAAK,GAAG;YACN,OAAO,cAAc,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,kBAAkB,CAAC;QAC5B,KAAK,GAAG;YACN,OAAO,WAAW,CAAC;QACrB,KAAK,GAAG;YACN,OAAO,WAAW,CAAC;QACrB,KAAK,GAAG;YACN,OAAO,oBAAoB,CAAC;QAC9B,KAAK,GAAG;YACN,OAAO,gBAAgB,CAAC;QAC1B,KAAK,GAAG;YACN,OAAO,+BAA+B,CAAC;QACzC,KAAK,GAAG;YACN,OAAO,iBAAiB,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,UAAU,CAAC;QACpB,KAAK,GAAG;YACN,OAAO,MAAM,CAAC;QAChB,KAAK,GAAG;YACN,OAAO,iBAAiB,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,qBAAqB,CAAC;QAC/B,KAAK,GAAG;YACN,OAAO,mBAAmB,CAAC;QAC7B,KAAK,GAAG;YACN,OAAO,cAAc,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,wBAAwB,CAAC;QAClC,KAAK,GAAG;YACN,OAAO,uBAAuB,CAAC;QACjC,KAAK,GAAG;YACN,OAAO,oBAAoB,CAAC;QAC9B,KAAK,GAAG;YACN,OAAO,cAAc,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,qBAAqB,CAAC;QAC/B,KAAK,GAAG;YACN,OAAO,sBAAsB,CAAC;QAChC,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC;QAClB,KAAK,GAAG;YACN,OAAO,mBAAmB,CAAC;QAC7B,KAAK,GAAG;YACN,OAAO,WAAW,CAAC;QACrB,KAAK,GAAG;YACN,OAAO,kBAAkB,CAAC;QAC5B,KAAK,GAAG;YACN,OAAO,uBAAuB,CAAC;QACjC,KAAK,GAAG;YACN,OAAO,mBAAmB,CAAC;QAC7B,KAAK,GAAG;YACN,OAAO,iCAAiC,CAAC;QAC3C,KAAK,GAAG;YACN,OAAO,+BAA+B,CAAC;QAEzC,mBAAmB;QACnB,KAAK,GAAG;YACN,OAAO,uBAAuB,CAAC;QACjC,KAAK,GAAG;YACN,OAAO,iBAAiB,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,aAAa,CAAC;QACvB,KAAK,GAAG;YACN,OAAO,qBAAqB,CAAC;QAC/B,KAAK,GAAG;YACN,OAAO,iBAAiB,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,4BAA4B,CAAC;QACtC,KAAK,GAAG;YACN,OAAO,yBAAyB,CAAC;QACnC,KAAK,GAAG;YACN,OAAO,sBAAsB,CAAC;QAChC,KAAK,GAAG;YACN,OAAO,eAAe,CAAC;QACzB,KAAK,GAAG;YACN,OAAO,cAAc,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,iCAAiC,CAAC;QAE3C,0BAA0B;QAC1B,KAAK,GAAG;YACN,OAAO,cAAc,CAAC,CAAC,oBAAoB;QAC7C,KAAK,GAAG;YACN,OAAO,mBAAmB,CAAC,CAAC,UAAU;QACxC,KAAK,GAAG;YACN,OAAO,iCAAiC,CAAC,CAAC,UAAU;QACtD,KAAK,GAAG;YACN,OAAO,sCAAsC,CAAC,CAAC,YAAY;QAC7D,KAAK,GAAG;YACN,OAAO,eAAe,CAAC,CAAC,OAAO;QACjC,KAAK,GAAG;YACN,OAAO,gBAAgB,CAAC,CAAC,OAAO;QAClC,KAAK,GAAG;YACN,OAAO,0BAA0B,CAAC,CAAC,SAAS;QAC9C,KAAK,GAAG;YACN,OAAO,yBAAyB,CAAC,CAAC,aAAa;QACjD,KAAK,GAAG;YACN,OAAO,oBAAoB,CAAC,CAAC,SAAS;QACxC,KAAK,GAAG;YACN,OAAO,gBAAgB,CAAC,CAAC,WAAW;QACtC,KAAK,GAAG;YACN,OAAO,4BAA4B,CAAC,CAAC,sBAAsB;QAC7D,KAAK,GAAG;YACN,OAAO,+BAA+B,CAAC,CAAC,sBAAsB;QAEhE;YACE,2BAA2B;YAC3B,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;gBAAE,OAAO,wBAAwB,CAAC;YAC/D,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;gBAAE,OAAO,qBAAqB,CAAC;YAC5D,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;gBAAE,OAAO,qBAAqB,CAAC;YAC5D,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;gBAAE,OAAO,uBAAuB,CAAC;YAC9D,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;gBAAE,OAAO,uBAAuB,CAAC;YAC9D,OAAO,qBAAqB,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACI,MAAM,MAAM,GAAG,CACpB,MAAc,EACd,OAAuB,EACvB,IAAmB,EACT,EAAE;;IACZ,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,gCAC9D,UAAU,IACP,IAAI,KACP,MAAM;QACN,OAAO,IACP,CAAC;AACL,CAAC,CAAC;AAhBW,QAAA,MAAM,UAgBjB;AAEF;;;;;;;GAOG;AACI,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,IAAmB,EAAY,EAAE;;IAC1E,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,IAAI,QAAQ,CAAC,IAAI,gCACtB,UAAU,IACP,IAAI,KACP,MAAM;QACN,OAAO,IACP,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,QAAQ,YAWnB;AAEF;;;;;;;;;GASG;AACI,MAAM,OAAO,GAAG,CACrB,IAAY,EACZ,OAEC,EACuB,EAAE;IAC1B,OAAO,UAAwC,GAAG,EAAE,GAAG;;;YACrD,MAAM,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,GAAG,CAAC,MAAM,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC;YACtC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;KAAA,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,OAAO,WAqBlB;AAEF;;;;;;;;;GASG;AACI,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,IAAmB,EAAY,EAAE;;IACrE,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,OAAO,gCACzB,UAAU,IACP,IAAI,KACP,MAAM;QACN,OAAO,IACP,CAAC;AACL,CAAC,CAAC;AAbW,QAAA,IAAI,QAaf;AAEF;;;;;;;;;GASG;AACI,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,IAAmB,EAAY,EAAE;;IACrE,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,OAAO,gCACzB,UAAU,IACP,IAAI,KACP,MAAM;QACN,OAAO,IACP,CAAC;AACL,CAAC,CAAC;AAbW,QAAA,IAAI,QAaf;AAEF;;;;;;;;;;GAUG;AACI,MAAM,IAAI,GAAG,CAAC,IAAS,EAAE,IAAmB,EAAY,EAAE;;IAC/D,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,gCACvB,UAAU,IACP,IAAI,KACP,MAAM;QACN,OAAO,IACP,CAAC;AACL,CAAC,CAAC;AAbW,QAAA,IAAI,QAaf;AAEF;;;;;;;;;;GAUG;AACI,MAAM,IAAI,GAAG,CAAC,IAAU,EAAE,IAAmB,EAAY,EAAE;;IAChE,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,IAAI,0BAA0B,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,OAAO,IAAI,QAAQ,CAAC,IAAI,gCACtB,UAAU,IACP,IAAI,KACP,MAAM;QACN,OAAO,IACP,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,IAAI,QAcf;AAEF;;;;;;;;;;GAUG;AACI,MAAM,WAAW,GAAG,CACzB,KAA0C,EAC1C,IAAmB,EACT,EAAE;;IACZ,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CACT,gBAAgB,EAChB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,KAAK,gCACvB,UAAU,IACP,IAAI,KACP,MAAM;QACN,OAAO,IACP,CAAC;AACL,CAAC,CAAC;AAtBW,QAAA,WAAW,eAsBtB;AAEF;;;;;;;;;GASG;AACI,MAAM,QAAQ,GAAG,CACtB,QAAmB,EACnB,IAAmB,EACT,EAAE;;IACZ,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO,IAAI,QAAQ,CAAC,QAAQ,gCAC1B,UAAU,IACP,IAAI,KACP,MAAM,IACN,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,QAAQ,YAWnB;AAEF;;;;;;;;GAQG;AACI,MAAM,GAAG,GAAG,CAAC,GAAqB,EAAE,IAAmB,EAAY,EAAE;;IAC1E,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,GAAG,gCACrB,UAAU,IACP,IAAI,KACP,MAAM;QACN,OAAO,IACP,CAAC;AACL,CAAC,CAAC;AAbW,QAAA,GAAG,OAad;AAEF;;;;;;;;;;;;GAYG;AACI,MAAM,IAAI,GAAG,CAAC,IAAe,EAAE,IAAmB,EAAY,EAAE;;IACrE,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,GAAG,CAAC;IACnC,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;YACjE,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;QACtC,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,YAAY,cAAc,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAChD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,gCACvB,MAAM;gBACN,UAAU,IACP,IAAI,KACP,OAAO,IACP,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,IAAI,gCACtB,UAAU,IACP,IAAI,KACP,MAAM;QACN,OAAO,IACP,CAAC;AACL,CAAC,CAAC;AAjCW,QAAA,IAAI,QAiCf;AA6BF;;;;;;;;;GASG;AACI,MAAM,SAAS,GAAG,CACvB,IAAY,EACZ,KAAa,EACb,OAAuB,EACV,EAAE;IACf,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,OAAO;YACjB,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAlBW,QAAA,SAAS,aAkBpB;AAEF;;;;;;;;;GASG;AACI,MAAM,WAAW,GAAG,CACzB,IAAY,EACZ,OAAuB,EACV,EAAE;IACf,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;QAC9B,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;QACzC,CAAC,CAAC,+BAA+B,CAAC;IACpC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAnBW,QAAA,WAAW,eAmBtB;AAEF;;;;;;;;GAQG;AACI,MAAM,sBAAsB,GAAG,CACpC,GAAY,EACU,EAAE;IACxB,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI;iBACpC,IAAI,EAAE;iBACN,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;iBACb,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAChC,IACE,OAAO;gBACP,QAAQ,KAAK,SAAS;gBACtB,QAAQ,KAAK,EAAE;gBACf,KAAK,KAAK,SAAS,EACnB,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,OAAO,OAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAvBW,QAAA,sBAAsB,0BAuBjC;AA+BF;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,WAAW,GAAG,CAMzB,OAAgB,EAChB,GAAG,QAAuB,EACa,EAAE;IACzC,OAAO,CAAO,GAAY,EAAE,EAAE;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC;QACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjC,IAAI,QAAQ,YAAY,OAAO;gBAAE,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC3D,IAAI,QAAQ,YAAY,QAAQ;gBAAE,OAAO,QAAQ,CAAC;QACpD,CAAC;QACD,OAAO,IAAA,cAAM,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,WAAW,eAkBtB;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,MAAM,kBAAkB,GAAG,CAOhC,OAAgB,EAChB,OAAgB,EAChB,GAAG,QAAuB,EACa,EAAE;IACzC,OAAO,CAAO,GAAY,EAAE,EAAE;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACjC,IAAI,QAAQ,YAAY,OAAO;oBAAE,QAAQ,GAAG,MAAM,QAAQ,CAAC;gBAC3D,IAAI,QAAQ,YAAY,QAAQ;oBAAE,OAAO,QAAQ,CAAC;YACpD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,QAAQ,GAAG,OAAO,CACpB,GAAG,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,GAAG,CACJ,CAAC;YACF,IAAI,QAAQ,YAAY,OAAO;gBAAE,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC3D,IAAI,QAAQ,YAAY,QAAQ;gBAAE,OAAO,QAAQ,CAAC;QACpD,CAAC;QACD,OAAO,IAAA,cAAM,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,kBAAkB,sBA8B7B"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,20 @@
1
1
  import type { RouterContext } from "./router";
2
- import type { FreeHandler, Handler, HttpMethod, CTXAddress } from "./types";
2
+ import type { FreeHandler, HttpMethod, CTXAddress } from "./types";
3
3
  import { CacheConfig } from "@bepalo/cache";
4
4
  import { JWT, JwtPayload, JwtVerifyOptions } from "@bepalo/jwt";
5
+ /**
6
+ * Context object containing parsed query.
7
+ * @typedef {Object} CTXQuery
8
+ * @property {Record<string, string>} query - Parsed query from the request url
9
+ */
10
+ export type CTXQuery = {
11
+ query: Record<string, string>;
12
+ };
13
+ /**
14
+ * Creates middleware that parses queries from the request url and adds them to the context.
15
+ * @returns {Function} A middleware function that adds parsed queries to context.query
16
+ */
17
+ export declare const parseQuery: <XContext = {}>() => FreeHandler<XContext & CTXQuery>;
5
18
  /**
6
19
  * Context object containing parsed cookies.
7
20
  * @typedef {Object} CTXCookie
@@ -13,11 +26,8 @@ export type CTXCookie = {
13
26
  /**
14
27
  * Creates middleware that parses cookies from the request and adds them to the context.
15
28
  * @returns {Function} A middleware function that adds parsed cookies to context.cookie
16
- * @example
17
- * const cookieParser = parseCookie();
18
- * // Use in respondWith: respondWith({}, cookieParser(), ...otherHandlers)
19
29
  */
20
- export declare const parseCookie: <Context extends CTXCookie>() => FreeHandler<Context>;
30
+ export declare const parseCookie: <XContext = {}>() => FreeHandler<XContext & CTXCookie>;
21
31
  /**
22
32
  * Parsed body object types.
23
33
  * @typedef {Object} ParsedBody
@@ -53,12 +63,12 @@ export type SupportedBodyMediaTypes = "application/x-www-form-urlencoded" | "app
53
63
  * @throws {Response} Returns a 413 response if body exceeds maxSize
54
64
  * @throws {Response} Returns a 400 response if body is malformed
55
65
  */
56
- export declare const parseBody: <Context extends CTXBody>(options?: {
66
+ export declare const parseBody: <XContext = {}>(options?: {
57
67
  accept?: SupportedBodyMediaTypes | SupportedBodyMediaTypes[];
58
68
  maxSize?: number;
59
69
  once?: boolean;
60
70
  clone?: boolean;
61
- }) => FreeHandler<Context>;
71
+ }) => FreeHandler<XContext & CTXBody>;
62
72
  /**
63
73
  * Creates a rate limiting middleware using token bucket algorithm.
64
74
  * Supports both fixed interval refill and continuous rate-based refill.
@@ -96,8 +106,8 @@ export declare const parseBody: <Context extends CTXBody>(options?: {
96
106
  *
97
107
  * @throws {Error} If neither refillInterval nor refillRate is provided
98
108
  */
99
- export declare const limitRate: <XContext = {}, Context extends RouterContext<XContext & CTXAddress> = RouterContext<XContext & CTXAddress>>(config: {
100
- key: (req: Request, ctx: Context) => string;
109
+ export declare const limitRate: <XContext = {}>(config: {
110
+ key: (req: Request, ctx: RouterContext<XContext & CTXAddress>) => string;
101
111
  refillInterval?: number;
102
112
  refillRate?: number;
103
113
  maxTokens: number;
@@ -106,7 +116,7 @@ export declare const limitRate: <XContext = {}, Context extends RouterContext<XC
106
116
  cacheConfig?: CacheConfig<string, any>;
107
117
  setXRateLimitHeaders?: boolean;
108
118
  endHere?: boolean;
109
- }) => Handler<Context>;
119
+ }) => FreeHandler<XContext & CTXAddress>;
110
120
  /**
111
121
  * Creates a CORS (Cross-Origin Resource Sharing) middleware.
112
122
  * Supports preflight requests and configurable CORS headers.
@@ -138,7 +148,7 @@ export declare const limitRate: <XContext = {}, Context extends RouterContext<XC
138
148
  *
139
149
  * @throws {Error} If credentials is true with wildcard origin ("*")
140
150
  */
141
- export declare const cors: <XContext = {}, Context extends RouterContext<XContext> = RouterContext<XContext>>(config?: {
151
+ export declare const cors: <XContext = {}>(config?: {
142
152
  origins: "*" | string | string[];
143
153
  methods?: HttpMethod[] | null;
144
154
  allowedHeaders?: string[] | null;
@@ -147,7 +157,7 @@ export declare const cors: <XContext = {}, Context extends RouterContext<XContex
147
157
  maxAge?: number | null;
148
158
  varyOrigin?: boolean;
149
159
  endHere?: boolean;
150
- }) => Handler<Context>;
160
+ }) => FreeHandler<XContext>;
151
161
  /**
152
162
  * Context type for Basic Authentication middleware.
153
163
  * @template {string} [prop="basicAuth"] - Property name to store auth data in context
@@ -247,16 +257,17 @@ export declare const authorize: <XContext = {}>({ allowRole, forbidRole, forPerm
247
257
  * ctxProp: "user" // Store in ctx.user instead of ctx.basicAuth
248
258
  * });
249
259
  */
250
- export declare const authBasic: <Context extends CTXBasicAuth, prop extends string = "basicAuth">({ credentials, type, separator, realm, ctxProp, endHere, }: {
260
+ export declare const authBasic: <XContext extends CTXBasicAuth, prop extends string = "basicAuth">({ credentials, type, separator, realm, ctxProp, endHere, }: {
251
261
  credentials: Map<string, {
252
262
  password: string;
263
+ role: string;
253
264
  } & Record<string, any>>;
254
265
  type?: "raw" | "base64";
255
266
  separator?: ":" | " ";
256
267
  realm?: string;
257
268
  ctxProp?: prop;
258
269
  endHere?: boolean;
259
- }) => Handler<Context>;
270
+ }) => FreeHandler<XContext & CTXBasicAuth>;
260
271
  /**
261
272
  * Context type for API Key Authentication middleware.
262
273
  * @template {string} [prop="apiKeyAuth"] - Property name to store auth data in context
@@ -299,11 +310,11 @@ export type CTXAPIKeyAuth<prop extends string = "apiKeyAuth"> = RouterContext<{
299
310
  * }
300
311
  * });
301
312
  */
302
- export declare const authAPIKey: <Context extends CTXAPIKeyAuth, prop extends string = "apiKeyAuth">({ verify, ctxProp, endHere, }: {
313
+ export declare const authAPIKey: <XContext extends CTXAPIKeyAuth, prop extends string = "apiKeyAuth">({ verify, ctxProp, endHere, }: {
303
314
  verify: (apiKey: string) => boolean;
304
315
  ctxProp?: prop;
305
316
  endHere?: boolean;
306
- }) => Handler<Context>;
317
+ }) => FreeHandler<XContext & CTXAPIKeyAuth>;
307
318
  /**
308
319
  * Context type for JWT Authentication middleware.
309
320
  * @template {JwtPayload<{}>} Payload - JWT payload type
@@ -365,11 +376,11 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
365
376
  * }
366
377
  * });
367
378
  */
368
- export declare const authJWT: <Payload extends JwtPayload<{}>, Context extends CTXJWTAuth<Payload, prop>, prop extends string = "jwtAuth">({ jwt, validate, verifyOptions, ctxProp, endHere, }: {
379
+ export declare const authJWT: <Payload extends JwtPayload<{}>, XContext extends CTXJWTAuth<Payload, prop>, prop extends string = "jwtAuth">({ jwt, validate, verifyOptions, ctxProp, endHere, }: {
369
380
  jwt: JWT<Payload>;
370
381
  validate?: (payload: Payload) => boolean;
371
382
  verifyOptions?: JwtVerifyOptions;
372
383
  ctxProp?: prop;
373
384
  endHere?: boolean;
374
- }) => Handler<Context>;
385
+ }) => FreeHandler<XContext & CTXJWTAuth<Payload>>;
375
386
  //# sourceMappingURL=middlewares.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
@@ -9,16 +9,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.authJWT = exports.authAPIKey = exports.authBasic = exports.authorize = exports.authenticate = exports.cors = exports.limitRate = exports.parseBody = exports.parseCookie = void 0;
12
+ exports.authJWT = exports.authAPIKey = exports.authBasic = exports.authorize = exports.authenticate = exports.cors = exports.limitRate = exports.parseBody = exports.parseCookie = exports.parseQuery = void 0;
13
13
  const helpers_1 = require("./helpers");
14
14
  const cache_1 = require("@bepalo/cache");
15
15
  const time_1 = require("@bepalo/time");
16
+ /**
17
+ * Creates middleware that parses queries from the request url and adds them to the context.
18
+ * @returns {Function} A middleware function that adds parsed queries to context.query
19
+ */
20
+ const parseQuery = () => {
21
+ return (req, ctx) => {
22
+ const query = Object.fromEntries(ctx.url.searchParams.entries());
23
+ ctx.query = query;
24
+ };
25
+ };
26
+ exports.parseQuery = parseQuery;
16
27
  /**
17
28
  * Creates middleware that parses cookies from the request and adds them to the context.
18
29
  * @returns {Function} A middleware function that adds parsed cookies to context.cookie
19
- * @example
20
- * const cookieParser = parseCookie();
21
- * // Use in respondWith: respondWith({}, cookieParser(), ...otherHandlers)
22
30
  */
23
31
  const parseCookie = () => {
24
32
  return (req, ctx) => {
@@ -416,18 +424,20 @@ const authBasic = ({ credentials, type = "raw", separator = ":", realm = "Protec
416
424
  const [scheme, creds] = authorization.split(" ", 2);
417
425
  if (scheme.toLowerCase() !== "basic" || !creds)
418
426
  return (0, helpers_1.status)(401);
419
- let xcreds;
420
- try {
421
- xcreds = type === "base64" ? atob(creds) : creds;
422
- }
423
- catch (_a) {
424
- return (0, helpers_1.status)(401);
427
+ let xcreds = creds;
428
+ if (type === "base64") {
429
+ try {
430
+ xcreds = atob(creds);
431
+ }
432
+ catch (_a) {
433
+ return (0, helpers_1.status)(401);
434
+ }
425
435
  }
426
436
  const [username, password] = xcreds.split(separator, 2);
427
437
  if (!username || !password)
428
438
  return (0, helpers_1.status)(401);
429
439
  const user = credentials.get(username);
430
- if (!user || password !== user.pass)
440
+ if (!user || password !== user.password)
431
441
  return (0, helpers_1.status)(401);
432
442
  ctx[ctxProp] = {
433
443
  username,