@bepalo/router 1.0.3
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/LICENSE +21 -0
- package/README.md +557 -0
- package/dist/cjs/helpers.d.ts +290 -0
- package/dist/cjs/helpers.d.ts.map +1 -0
- package/dist/cjs/helpers.js +691 -0
- package/dist/cjs/helpers.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/list.d.ts +166 -0
- package/dist/cjs/list.d.ts.map +1 -0
- package/dist/cjs/list.js +483 -0
- package/dist/cjs/list.js.map +1 -0
- package/dist/cjs/middlewares.d.ts +251 -0
- package/dist/cjs/middlewares.d.ts.map +1 -0
- package/dist/cjs/middlewares.js +359 -0
- package/dist/cjs/middlewares.js.map +1 -0
- package/dist/cjs/router.d.ts +333 -0
- package/dist/cjs/router.d.ts.map +1 -0
- package/dist/cjs/router.js +659 -0
- package/dist/cjs/router.js.map +1 -0
- package/dist/cjs/tree.d.ts +18 -0
- package/dist/cjs/tree.d.ts.map +1 -0
- package/dist/cjs/tree.js +162 -0
- package/dist/cjs/tree.js.map +1 -0
- package/dist/cjs/types.d.ts +127 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/upload-stream.d.ts +105 -0
- package/dist/cjs/upload-stream.d.ts.map +1 -0
- package/dist/cjs/upload-stream.js +417 -0
- package/dist/cjs/upload-stream.js.map +1 -0
- package/dist/helpers.d.ts +290 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +691 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/list.d.ts +166 -0
- package/dist/list.d.ts.map +1 -0
- package/dist/list.js +483 -0
- package/dist/list.js.map +1 -0
- package/dist/middlewares.d.ts +251 -0
- package/dist/middlewares.d.ts.map +1 -0
- package/dist/middlewares.js +359 -0
- package/dist/middlewares.js.map +1 -0
- package/dist/router.d.ts +333 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +659 -0
- package/dist/router.js.map +1 -0
- package/dist/tree.d.ts +18 -0
- package/dist/tree.d.ts.map +1 -0
- package/dist/tree.js +162 -0
- package/dist/tree.js.map +1 -0
- package/dist/types.d.ts +127 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/upload-stream.d.ts +105 -0
- package/dist/upload-stream.d.ts.map +1 -0
- package/dist/upload-stream.js +417 -0
- package/dist/upload-stream.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare class TreeNode<V> {
|
|
2
|
+
value?: V | undefined;
|
|
3
|
+
children: Map<string, TreeNode<V>>;
|
|
4
|
+
constructor(value?: V | undefined);
|
|
5
|
+
}
|
|
6
|
+
type TreeObj<V> = Record<string, V | Record<string, V>>;
|
|
7
|
+
export declare class Tree<V> {
|
|
8
|
+
#private;
|
|
9
|
+
get root(): TreeNode<V> | undefined;
|
|
10
|
+
tree(onHit?: (node: TreeNode<V>) => void): TreeObj<V>;
|
|
11
|
+
constructor();
|
|
12
|
+
getAll(key: Array<string>): Array<V>;
|
|
13
|
+
get(key: Array<string>): V | undefined;
|
|
14
|
+
has(key: Array<string>): boolean;
|
|
15
|
+
set(key: Array<string>, value: V): void;
|
|
16
|
+
}
|
|
17
|
+
export default Tree;
|
|
18
|
+
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/tree.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ,CAAC,CAAC;IAEF,KAAK,CAAC,EAAE,CAAC;IAD5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAa;gBAC5B,KAAK,CAAC,EAAE,CAAC,YAAA;CAC7B;AAED,KAAK,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAmBxD,qBAAa,IAAI,CAAC,CAAC;;IAGjB,IAAI,IAAI,4BAEP;IAED,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;;IAOrD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IA6BpC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS;IAqBtC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO;IAkBhC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;CAmCxC;AAED,eAAe,IAAI,CAAC"}
|
package/dist/cjs/tree.js
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var _Tree_root;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Tree = exports.TreeNode = void 0;
|
|
16
|
+
class TreeNode {
|
|
17
|
+
constructor(value) {
|
|
18
|
+
this.value = value;
|
|
19
|
+
this.children = new Map();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.TreeNode = TreeNode;
|
|
23
|
+
function getTreeObj(node, onHit) {
|
|
24
|
+
const obj = {};
|
|
25
|
+
if (node.value) {
|
|
26
|
+
obj[""] = node.value;
|
|
27
|
+
if (onHit) {
|
|
28
|
+
onHit(node);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
for (const [keyPart, child] of node.children) {
|
|
32
|
+
obj[keyPart] = getTreeObj(child, onHit);
|
|
33
|
+
}
|
|
34
|
+
return obj;
|
|
35
|
+
}
|
|
36
|
+
class Tree {
|
|
37
|
+
get root() {
|
|
38
|
+
return __classPrivateFieldGet(this, _Tree_root, "f");
|
|
39
|
+
}
|
|
40
|
+
tree(onHit) {
|
|
41
|
+
const tr = __classPrivateFieldGet(this, _Tree_root, "f") ? getTreeObj(__classPrivateFieldGet(this, _Tree_root, "f"), onHit) : {};
|
|
42
|
+
return tr;
|
|
43
|
+
}
|
|
44
|
+
constructor() {
|
|
45
|
+
_Tree_root.set(this, void 0);
|
|
46
|
+
}
|
|
47
|
+
getAll(key) {
|
|
48
|
+
var _a, _b, _c;
|
|
49
|
+
let node = __classPrivateFieldGet(this, _Tree_root, "f");
|
|
50
|
+
const values = [];
|
|
51
|
+
const klen_1 = key.length - 1;
|
|
52
|
+
for (let i = 0; i < key.length && node != null; i++) {
|
|
53
|
+
const keyPart = key[i];
|
|
54
|
+
if (keyPart !== "") {
|
|
55
|
+
const glob = node.children.get("**");
|
|
56
|
+
if ((glob === null || glob === void 0 ? void 0 : glob.value) != null) {
|
|
57
|
+
values.unshift(glob.value);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (i < klen_1) {
|
|
61
|
+
let nextNode = node.children.get(keyPart || "*");
|
|
62
|
+
if (nextNode == null || nextNode.children.size === 0) {
|
|
63
|
+
nextNode = node.children.get("*");
|
|
64
|
+
}
|
|
65
|
+
node = nextNode;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const value = !keyPart
|
|
69
|
+
? node.value
|
|
70
|
+
: (_b = (_a = node.children.get(keyPart)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : (_c = node.children.get("*")) === null || _c === void 0 ? void 0 : _c.value;
|
|
71
|
+
if (value)
|
|
72
|
+
values.unshift(value);
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return values;
|
|
77
|
+
}
|
|
78
|
+
get(key) {
|
|
79
|
+
var _a, _b, _c;
|
|
80
|
+
let node = __classPrivateFieldGet(this, _Tree_root, "f");
|
|
81
|
+
const klen_1 = key.length - 1;
|
|
82
|
+
for (let i = 0; i < key.length && node != null; i++) {
|
|
83
|
+
const keyPart = key[i];
|
|
84
|
+
if (i < klen_1) {
|
|
85
|
+
let nextNode = node.children.get(keyPart || "*");
|
|
86
|
+
if (nextNode == null) {
|
|
87
|
+
nextNode = node.children.get("*");
|
|
88
|
+
}
|
|
89
|
+
node = nextNode;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
const value = !keyPart
|
|
93
|
+
? node.value
|
|
94
|
+
: (_b = (_a = node.children.get(keyPart)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : (_c = node.children.get("*")) === null || _c === void 0 ? void 0 : _c.value;
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
has(key) {
|
|
101
|
+
var _a;
|
|
102
|
+
let node = __classPrivateFieldGet(this, _Tree_root, "f");
|
|
103
|
+
const klen_1 = key.length - 1;
|
|
104
|
+
for (let i = 0; i < key.length && node != null; i++) {
|
|
105
|
+
const keyPart = key[i];
|
|
106
|
+
if (i < klen_1) {
|
|
107
|
+
let nextNode = node.children.get(keyPart || "*");
|
|
108
|
+
if (nextNode == null) {
|
|
109
|
+
nextNode = node.children.get("*");
|
|
110
|
+
}
|
|
111
|
+
node = nextNode;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
return !keyPart ? !!node.value : !!((_a = node.children.get(keyPart)) === null || _a === void 0 ? void 0 : _a.value);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
set(key, value) {
|
|
120
|
+
if (__classPrivateFieldGet(this, _Tree_root, "f") == null) {
|
|
121
|
+
__classPrivateFieldSet(this, _Tree_root, new TreeNode(), "f");
|
|
122
|
+
}
|
|
123
|
+
let node = __classPrivateFieldGet(this, _Tree_root, "f");
|
|
124
|
+
const klen_1 = key.length - 1;
|
|
125
|
+
for (let i = 0; i < key.length; i++) {
|
|
126
|
+
if (i < klen_1) {
|
|
127
|
+
const keyPart = key[i] || "*";
|
|
128
|
+
const curNode = node.children.get(keyPart);
|
|
129
|
+
if (!curNode) {
|
|
130
|
+
const newNode = new TreeNode();
|
|
131
|
+
node.children.set(keyPart, newNode);
|
|
132
|
+
node = newNode;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
node = curNode;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
const keyPart = key[i];
|
|
140
|
+
if (!keyPart) {
|
|
141
|
+
node.value = value;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
const curNode = node.children.get(keyPart);
|
|
145
|
+
if (!curNode) {
|
|
146
|
+
const newNode = new TreeNode(value);
|
|
147
|
+
node.children.set(keyPart, newNode);
|
|
148
|
+
node = newNode;
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
curNode.value = value;
|
|
152
|
+
node = curNode;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
exports.Tree = Tree;
|
|
160
|
+
_Tree_root = new WeakMap();
|
|
161
|
+
exports.default = Tree;
|
|
162
|
+
//# sourceMappingURL=tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard HTTP methods supported by the router.
|
|
3
|
+
* These methods correspond to HTTP/1.1 request methods.
|
|
4
|
+
*
|
|
5
|
+
* @typedef {"HEAD"|"OPTIONS"|"GET"|"POST"|"PUT"|"PATCH"|"DELETE"} HttpMethod
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const method: HttpMethod = "GET";
|
|
9
|
+
* const method: HttpMethod = "POST";
|
|
10
|
+
*/
|
|
11
|
+
export type HttpMethod = "HEAD" | "OPTIONS" | "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
12
|
+
/**
|
|
13
|
+
* HTTP path pattern type.
|
|
14
|
+
* Represents valid HTTP paths starting with a forward slash.
|
|
15
|
+
*
|
|
16
|
+
* @typedef {`/${string}`} HttpPath
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const path: HttpPath = "/";
|
|
20
|
+
* const path: HttpPath = "/api/users";
|
|
21
|
+
* const path: HttpPath = "/users/:id";
|
|
22
|
+
* const path: HttpPath = "/static/**";
|
|
23
|
+
*/
|
|
24
|
+
export type HttpPath = `/${string}`;
|
|
25
|
+
/**
|
|
26
|
+
* Combined HTTP method and path pattern.
|
|
27
|
+
* Used for route registration with method-specific routing.
|
|
28
|
+
*
|
|
29
|
+
* @typedef {`${HttpMethod} ${HttpPath}`} MethodPath
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const route: MethodPath = "GET /api/users";
|
|
33
|
+
* const route: MethodPath = "POST /api/users";
|
|
34
|
+
* const route: MethodPath = "DELETE /api/users/:id";
|
|
35
|
+
*/
|
|
36
|
+
export type MethodPath = `${HttpMethod} ${HttpPath}`;
|
|
37
|
+
/**
|
|
38
|
+
* Types of handlers in the router pipeline.
|
|
39
|
+
* Each handler type has a specific role in request processing:
|
|
40
|
+
* - `filter`: Runs before handlers, can intercept requests
|
|
41
|
+
* - `hook`: Runs before filters, can't return responses
|
|
42
|
+
* - `handler`: Main request handlers
|
|
43
|
+
* - `fallback`: Runs when no handler matches
|
|
44
|
+
* - `catcher`: Error handlers for exceptions
|
|
45
|
+
* - `after`: Runs after response is created
|
|
46
|
+
*
|
|
47
|
+
* @typedef {"filter"|"hook"|"handler"|"fallback"|"catcher"|"after"} HandlerType
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
export type HandlerType = "filter" | "hook" | "handler" | "fallback" | "catcher" | "after";
|
|
51
|
+
/**
|
|
52
|
+
* Possible return types from route handlers.
|
|
53
|
+
* Handlers can:
|
|
54
|
+
* - Return a Response object to send immediately
|
|
55
|
+
* - Return void/undefined to continue to next handler
|
|
56
|
+
* - Return false to stop processing (for filters)
|
|
57
|
+
* - Return a Promise of any of the above
|
|
58
|
+
*
|
|
59
|
+
* @typedef {Response|void|boolean|Promise<Response|void|boolean>} HandlerResponse
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* // Return a Response
|
|
63
|
+
* (req, ctx) => new Response("Hello");
|
|
64
|
+
*
|
|
65
|
+
* // Return void (continue)
|
|
66
|
+
* (req, ctx) => { ctx.user = getUser(); }
|
|
67
|
+
*
|
|
68
|
+
* // Return false (stop processing)
|
|
69
|
+
* (req, ctx) => { if (!authorized) return false; }
|
|
70
|
+
*
|
|
71
|
+
* // Return Promise
|
|
72
|
+
* async (req, ctx) => {
|
|
73
|
+
* const data = await fetchData();
|
|
74
|
+
* return json(data);
|
|
75
|
+
* }
|
|
76
|
+
*/
|
|
77
|
+
export type HandlerResponse = Response | void | boolean | Promise<Response | void | boolean>;
|
|
78
|
+
/**
|
|
79
|
+
* Generic handler function type.
|
|
80
|
+
* Represents a function that processes HTTP requests.
|
|
81
|
+
*
|
|
82
|
+
* @template Context - The context type available to the handler
|
|
83
|
+
* @callback Handler
|
|
84
|
+
* @param {Request} req - The incoming HTTP request
|
|
85
|
+
* @param {Context} ctx - The request context with params, headers, etc.
|
|
86
|
+
* @returns {HandlerResponse} The handler's response
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* // Simple handler that returns JSON
|
|
90
|
+
* const userHandler: Handler<MyContext> = async (req, ctx) => {
|
|
91
|
+
* const users = await getUsers();
|
|
92
|
+
* return json(users);
|
|
93
|
+
* };
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* // Handler that modifies context and continues
|
|
97
|
+
* const authHandler: Handler<MyContext> = (req, ctx) => {
|
|
98
|
+
* const token = req.headers.get("Authorization");
|
|
99
|
+
* if (token) {
|
|
100
|
+
* ctx.user = decodeToken(token);
|
|
101
|
+
* }
|
|
102
|
+
* // Return nothing to continue to next handler
|
|
103
|
+
* };
|
|
104
|
+
*/
|
|
105
|
+
export type Handler<Context> = (req: Request, ctx: Context) => HandlerResponse;
|
|
106
|
+
/**
|
|
107
|
+
* Array of handler functions executed in sequence.
|
|
108
|
+
* Used to group multiple handlers for a route.
|
|
109
|
+
*
|
|
110
|
+
* @template Context - The context type available to handlers
|
|
111
|
+
* @typedef {Array<Handler<Context>>} Pipeline
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* // Pipeline with multiple handlers
|
|
115
|
+
* const userPipeline: Pipeline<MyContext> = [
|
|
116
|
+
* rateLimiter, // Apply rate limiting
|
|
117
|
+
* authMiddleware, // Check authentication
|
|
118
|
+
* validateInput, // Validate request body
|
|
119
|
+
* userHandler // Main request logic
|
|
120
|
+
* ];
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* // Register pipeline with router
|
|
124
|
+
* router.handle("GET /users", userPipeline);
|
|
125
|
+
*/
|
|
126
|
+
export type Pipeline<Context> = Array<Handler<Context>>;
|
|
127
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,SAAS,GACT,KAAK,GACL,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,CAAC;AAEb;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,IAAI,GACJ,OAAO,GACP,OAAO,CAAC,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,eAAe,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context object containing parsed upload data from multipart/form-data requests.
|
|
3
|
+
* @typedef {Object} CTXUpload
|
|
4
|
+
* @property {Map<string, StreamingUploadedFile>} files - Map of field names to uploaded file information
|
|
5
|
+
* @property {Map<string, string>} fields - Map of field names to string values
|
|
6
|
+
* @property {string} [uploadId] - Optional identifier for the upload session
|
|
7
|
+
*/
|
|
8
|
+
export type CTXUpload = {
|
|
9
|
+
files: Map<string, StreamingUploadedFile>;
|
|
10
|
+
fields: Map<string, string>;
|
|
11
|
+
uploadId?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Represents a file uploaded via streaming multipart/form-data.
|
|
15
|
+
* @typedef {Object} StreamingUploadedFile
|
|
16
|
+
* @property {string} name - Original filename from the upload
|
|
17
|
+
* @property {string} type - MIME type of the file
|
|
18
|
+
* @property {number} size - Size of the file in bytes
|
|
19
|
+
* @property {string} [customFilename] - Custom filename if provided by onFileStart handler
|
|
20
|
+
* @property {Record<string, any>} [metadata] - Additional metadata for the file
|
|
21
|
+
*/
|
|
22
|
+
export type StreamingUploadedFile = {
|
|
23
|
+
name: string;
|
|
24
|
+
type: string;
|
|
25
|
+
size: number;
|
|
26
|
+
customFilename?: string;
|
|
27
|
+
metadata?: Record<string, any>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Configuration options for streaming multipart upload parsing.
|
|
31
|
+
* @typedef {Object} StreamingUploadOptions
|
|
32
|
+
* @property {number} [maxTotalSize=100*1024*1024] - Maximum total request size in bytes (default: 100MB)
|
|
33
|
+
* @property {number} [maxFileSize=20*1024*1024] - Maximum size per file in bytes (default: 20MB)
|
|
34
|
+
* @property {number} [maxFiles=50] - Maximum number of files allowed
|
|
35
|
+
* @property {number} [maxFields=1000] - Maximum number of text fields allowed
|
|
36
|
+
* @property {string[]} [allowedTypes] - Array of allowed MIME types (if not provided, all types are allowed)
|
|
37
|
+
* @property {Function} [uploadIdGenerator] - Function that generates a unique upload ID
|
|
38
|
+
*
|
|
39
|
+
* @property {Function} [onUploadStart] - Called when upload starts
|
|
40
|
+
* @property {Function} [onUploadComplete] - Called when upload completes (successfully or not)
|
|
41
|
+
*
|
|
42
|
+
* @property {Function} [onFileStart] - Called when a file upload starts
|
|
43
|
+
* @property {Function} [onFileChunk] - Called for each chunk of file data
|
|
44
|
+
* @property {Function} [onFileComplete] - Called when a file upload completes
|
|
45
|
+
* @property {Function} [onFileError] - Called when a file upload encounters an error
|
|
46
|
+
*
|
|
47
|
+
* @property {Function} [onField] - Called when a text field is parsed
|
|
48
|
+
* @property {Function} [onError] - Called when the overall upload encounters an error
|
|
49
|
+
*/
|
|
50
|
+
export type StreamingUploadOptions = {
|
|
51
|
+
maxTotalSize?: number;
|
|
52
|
+
maxFileSize?: number;
|
|
53
|
+
maxFiles?: number;
|
|
54
|
+
maxFields?: number;
|
|
55
|
+
allowedTypes?: string[];
|
|
56
|
+
uploadIdGenerator?: () => string | Promise<string>;
|
|
57
|
+
onUploadStart?: (uploadId: string, totalSize: number) => Promise<void>;
|
|
58
|
+
onUploadComplete?: (uploadId: string, success: boolean) => Promise<void>;
|
|
59
|
+
onFileStart?: (uploadId: string, fieldName: string, fileName: string, contentType: string, fileSize?: number) => Promise<{
|
|
60
|
+
customFilename?: string;
|
|
61
|
+
metadata?: Record<string, any>;
|
|
62
|
+
} | void>;
|
|
63
|
+
onFileChunk?: (uploadId: string, fieldName: string, fileName: string, chunk: Uint8Array, offset: number, isLast: boolean) => Promise<void>;
|
|
64
|
+
onFileComplete?: (uploadId: string, fieldName: string, fileName: string, fileSize: number, customFilename?: string, metadata?: Record<string, any>) => Promise<void>;
|
|
65
|
+
onFileError?: (uploadId: string, fieldName: string, fileName: string, error: Error) => Promise<void>;
|
|
66
|
+
onField?: (uploadId: string, fieldName: string, value: string) => Promise<void>;
|
|
67
|
+
onError?: (uploadId: string, error: Error) => Promise<void>;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Creates a middleware function for streaming multipart/form-data upload parsing.
|
|
71
|
+
* This function processes uploads in chunks as they arrive, allowing for handling
|
|
72
|
+
* of large files without buffering the entire request in memory.
|
|
73
|
+
*
|
|
74
|
+
* @param {StreamingUploadOptions} [options] - Configuration options for upload parsing
|
|
75
|
+
* @returns {Function} A middleware function that adds uploaded files and fields to context
|
|
76
|
+
* @throws {Response} Returns a 415 response if content-type is not multipart/form-data
|
|
77
|
+
* @throws {Response} Returns a 400 response if boundary is missing in Content-Type
|
|
78
|
+
* @throws {Response} Returns a 413 response if request or file exceeds size limits
|
|
79
|
+
* @throws {Response} Returns a 415 response if file type is not allowed
|
|
80
|
+
* @throws {Response} Returns a 400 response if maximum file/field count is exceeded
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* const uploadHandler = parseUploadStreaming({
|
|
84
|
+
* maxFileSize: 10 * 1024 * 1024, // 10MB
|
|
85
|
+
* allowedTypes: ['image/jpeg', 'image/png'],
|
|
86
|
+
* onFileStart: async (uploadId, fieldName, fileName, contentType) => {
|
|
87
|
+
* console.log(`Starting upload: ${fileName}`);
|
|
88
|
+
* return { customFilename: `custom_${Date.now()}_${fileName}` };
|
|
89
|
+
* },
|
|
90
|
+
* onFileChunk: async (uploadId, fieldName, fileName, chunk, offset, isLast) => {
|
|
91
|
+
* console.log(`Received chunk for ${fileName}: ${chunk.length} bytes at offset ${offset}`);
|
|
92
|
+
* }
|
|
93
|
+
* });
|
|
94
|
+
*
|
|
95
|
+
* // Use in respondWith:
|
|
96
|
+
* const handler = respondWith({}, uploadHandler, (req, ctx) => {
|
|
97
|
+
* return json({
|
|
98
|
+
* uploadId: ctx.uploadId,
|
|
99
|
+
* files: Array.from(ctx.files.entries()),
|
|
100
|
+
* fields: Array.from(ctx.fields.entries())
|
|
101
|
+
* });
|
|
102
|
+
* });
|
|
103
|
+
*/
|
|
104
|
+
export declare const parseUploadStreaming: (options?: StreamingUploadOptions) => <Context extends CTXUpload>(req: Request, ctx: Context) => Promise<Response | undefined>;
|
|
105
|
+
//# sourceMappingURL=upload-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-stream.d.ts","sourceRoot":"","sources":["../../src/upload-stream.ts"],"names":[],"mappings":"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"}
|