make-fetch 3.2.0 → 3.2.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.
@@ -0,0 +1,111 @@
1
+ /**
2
+ * @param {Handler} handler
3
+ * @param {object} [options]
4
+ * @param {typeof globalThis.Request} [options.Request]
5
+ * @param {typeof globalThis.Response} [options.Response]
6
+ * @returns {typeof fetch}
7
+ */
8
+ export function makeFetch(handler: Handler, { Request, Response }?: {
9
+ Request?: typeof import("undici-types").Request | undefined;
10
+ Response?: typeof import("undici-types").Response | undefined;
11
+ }): (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
12
+ /**
13
+ *
14
+ * @param {object} [options]
15
+ * @param {Handler} [options.onNotFound]
16
+ * @param {ErrorHandler} [options.onError]
17
+ * @returns
18
+ */
19
+ export function makeRoutedFetch({ onNotFound, onError }?: {
20
+ onNotFound?: Handler | undefined;
21
+ onError?: ErrorHandler | undefined;
22
+ }): {
23
+ fetch: (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
24
+ router: Router;
25
+ };
26
+ export function DEFAULT_NOT_FOUND(): {
27
+ status: number;
28
+ statusText: string;
29
+ };
30
+ export function DEFAULT_ON_ERROR(error: Error, request: Request): ResponseLike;
31
+ export const WILDCARD: "*";
32
+ export class Router {
33
+ routes: Route[];
34
+ /**
35
+ *
36
+ * @param {string} url
37
+ * @param {Handler} handler
38
+ * @returns {Router}
39
+ */
40
+ get(url: string, handler: Handler): Router;
41
+ /**
42
+ *
43
+ * @param {string} url
44
+ * @param {Handler} handler
45
+ * @returns {Router}
46
+ */
47
+ head(url: string, handler: Handler): Router;
48
+ /**
49
+ *
50
+ * @param {string} url
51
+ * @param {Handler} handler
52
+ * @returns {Router}
53
+ */
54
+ post(url: string, handler: Handler): Router;
55
+ /**
56
+ *
57
+ * @param {string} url
58
+ * @param {Handler} handler
59
+ * @returns {Router}
60
+ */
61
+ put(url: string, handler: Handler): Router;
62
+ /**
63
+ *
64
+ * @param {string} url
65
+ * @param {Handler} handler
66
+ * @returns {Router}
67
+ */
68
+ delete(url: string, handler: Handler): Router;
69
+ /**
70
+ *
71
+ * @param {string} url
72
+ * @param {Handler} handler
73
+ * @returns {Router}
74
+ */
75
+ patch(url: string, handler: Handler): Router;
76
+ /**
77
+ *
78
+ * @param {string} url
79
+ * @param {Handler} handler
80
+ * @returns {Router}
81
+ */
82
+ any(url: string, handler: Handler): Router;
83
+ /**
84
+ *
85
+ * @param {string} method
86
+ * @param {string} url
87
+ * @param {Handler} handler
88
+ * @returns {Router}
89
+ */
90
+ add(method: string, url: string, handler: Handler): Router;
91
+ /**
92
+ *
93
+ * @param {Request} request
94
+ * @returns {Route?}
95
+ */
96
+ route(request: Request): Route | null;
97
+ }
98
+ export type Body = ConstructorParameters<typeof globalThis.Response>[0] | AsyncIterable<string>;
99
+ export type ResponseLike = Response | (ResponseInit & {
100
+ body?: Body;
101
+ });
102
+ export type Handler = (request: Request) => ResponseLike | Promise<ResponseLike>;
103
+ export type ErrorHandler = (error: Error, request: Request) => ResponseLike;
104
+ export type Route = {
105
+ protocol: string;
106
+ method: string;
107
+ hostname: string;
108
+ segments: string[];
109
+ handler: Handler;
110
+ };
111
+ export type MatchProperty = "pathname" | "hostname" | "protocol" | "method";
package/dist/test.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "make-fetch",
3
- "version": "3.2.0",
3
+ "version": "3.2.2",
4
4
  "description": "Implement your own `fetch()` with node.js streams",
5
5
  "main": "index.js",
6
6
  "type": "module",
7
+ "types": "./dist/index.d.ts",
7
8
  "scripts": {
8
9
  "test": "node test",
9
10
  "lint": "standard --fix && tsc --noEmit",