@taserjs/router 0.0.5 → 0.1.0

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.
Files changed (68) hide show
  1. package/dist/cjs/builder/app.cjs +5 -0
  2. package/dist/cjs/builder/app.cjs.map +1 -1
  3. package/dist/cjs/builder/app.d.cts +7 -7
  4. package/dist/cjs/builder/factories.cjs +4 -4
  5. package/dist/cjs/builder/factories.cjs.map +1 -1
  6. package/dist/cjs/builder/factories.d.cts +5 -51
  7. package/dist/cjs/builder/route.cjs +22 -1
  8. package/dist/cjs/builder/route.cjs.map +1 -1
  9. package/dist/cjs/builder/route.d.cts +1 -2
  10. package/dist/cjs/builder/router.cjs +3 -5
  11. package/dist/cjs/builder/router.cjs.map +1 -1
  12. package/dist/cjs/builder/router.d.cts +11 -12
  13. package/dist/cjs/define/middleware.cjs +2 -2
  14. package/dist/cjs/define/middleware.cjs.map +1 -1
  15. package/dist/cjs/define/middleware.d.cts +10 -8
  16. package/dist/cjs/index.cjs +0 -12
  17. package/dist/cjs/index.d.cts +4 -4
  18. package/dist/cjs/reply.cjs +8 -19
  19. package/dist/cjs/reply.d.cts +1 -2
  20. package/dist/cjs/stream.cjs +8 -31
  21. package/dist/cjs/stream.d.cts +1 -1
  22. package/dist/cjs/types/app.d.cts +3 -21
  23. package/dist/cjs/types/index.d.cts +29 -7
  24. package/dist/cjs/types/returns.d.cts +6 -9
  25. package/dist/cjs/types/type-utils.d.cts +7 -5
  26. package/dist/cjs/types/units.cjs.map +1 -1
  27. package/dist/cjs/types/units.d.cts +4 -10
  28. package/dist/esm/builder/app.d.ts +7 -7
  29. package/dist/esm/builder/app.js +5 -1
  30. package/dist/esm/builder/app.js.map +1 -1
  31. package/dist/esm/builder/factories.d.ts +5 -51
  32. package/dist/esm/builder/factories.js +4 -4
  33. package/dist/esm/builder/factories.js.map +1 -1
  34. package/dist/esm/builder/route.d.ts +1 -2
  35. package/dist/esm/builder/route.js +22 -1
  36. package/dist/esm/builder/route.js.map +1 -1
  37. package/dist/esm/builder/router.d.ts +11 -12
  38. package/dist/esm/builder/router.js +3 -5
  39. package/dist/esm/builder/router.js.map +1 -1
  40. package/dist/esm/define/middleware.d.ts +10 -8
  41. package/dist/esm/define/middleware.js +2 -2
  42. package/dist/esm/define/middleware.js.map +1 -1
  43. package/dist/esm/index.d.ts +4 -4
  44. package/dist/esm/index.js +2 -2
  45. package/dist/esm/reply.d.ts +1 -2
  46. package/dist/esm/reply.js +1 -2
  47. package/dist/esm/stream.d.ts +1 -1
  48. package/dist/esm/stream.js +1 -2
  49. package/dist/esm/types/app.d.ts +3 -21
  50. package/dist/esm/types/index.d.ts +29 -7
  51. package/dist/esm/types/returns.d.ts +6 -9
  52. package/dist/esm/types/type-utils.d.ts +7 -5
  53. package/dist/esm/types/units.d.ts +4 -10
  54. package/dist/esm/types/units.js.map +1 -1
  55. package/package.json +3 -3
  56. package/src/builder/app.ts +16 -5
  57. package/src/builder/factories.ts +28 -155
  58. package/src/builder/route.ts +25 -1
  59. package/src/builder/router.ts +24 -157
  60. package/src/define/middleware.ts +115 -123
  61. package/src/index.ts +5 -9
  62. package/src/reply.ts +1 -11
  63. package/src/stream.ts +1 -1
  64. package/src/types/app.ts +3 -22
  65. package/src/types/index.ts +83 -13
  66. package/src/types/returns.ts +7 -76
  67. package/src/types/type-utils.ts +9 -4
  68. package/src/types/units.ts +34 -10
@@ -1,5 +1,8 @@
1
- export type Method = "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "OPTIONS" | "HEAD";
2
- export type HttpMethod = Method;
1
+ import type { TaserCookieJar, TaserHeaders } from "@taserjs/router-core";
2
+ import type { HttpMethod, HttpVerb } from "@taserjs/router-utils/http";
3
+
4
+ export type Method = HttpMethod;
5
+ export type { HttpMethod, HttpVerb };
3
6
 
4
7
  export type MiddlewareFieldName = "query" | "params" | "body" | "state";
5
8
 
@@ -75,7 +78,9 @@ export type RuntimeContextFields = {
75
78
  request: Request;
76
79
  method: Method;
77
80
  url: URL;
78
- headers: import("@taserjs/router-core").TaserHeaders;
79
- cookies: import("@taserjs/router-core").TaserCookieJar;
81
+ headers: TaserHeaders;
82
+ cookies: TaserCookieJar;
80
83
  var: Record<string, unknown>;
81
84
  };
85
+
86
+ export type UnitRuntimeContext = Omit<RuntimeContextFields, "var">;
@@ -1,11 +1,16 @@
1
- import type { Awaitable, TaserCookieJar, TaserHeaders } from "@taserjs/router-core";
1
+ import type {
2
+ Awaitable,
3
+ MiddlewareDefinition as CoreMiddlewareDefinition,
4
+ TaserCookieJar,
5
+ TaserHeaders,
6
+ } from "@taserjs/router-core";
2
7
 
3
8
  import type {
4
9
  MergeMiddlewareField,
5
10
  MergePart,
6
11
  RequestShape,
7
- RuntimeContextFields,
8
12
  Simplify,
13
+ UnitRuntimeContext,
9
14
  UnwrapPart,
10
15
  } from "./type-utils.js";
11
16
  import type { ReturnsMap } from "./returns.js";
@@ -58,13 +63,7 @@ export type NextFn<TExpectedState = unknown> =
58
63
 
59
64
  export type MiddlewareNext = NextFn;
60
65
 
61
- export type MiddlewareDefinition = {
62
- query?: unknown;
63
- params?: unknown;
64
- body?: unknown;
65
- returns?: ReturnsMap;
66
- handler: (ctx: unknown, next: MiddlewareNext) => Awaitable<Response | unknown>;
67
- };
66
+ export type MiddlewareDefinition = CoreMiddlewareDefinition<ReturnsMap>;
68
67
 
69
68
  export type MiddlewareReturnFromParts<
70
69
  TQuery,
@@ -87,7 +86,32 @@ export type MiddlewareReturnFromParts<
87
86
  };
88
87
  };
89
88
 
90
- type UnitRuntimeContext = Omit<RuntimeContextFields, "var">;
89
+ export type DefineMiddlewareResult<
90
+ TQuery,
91
+ TParams,
92
+ TBody,
93
+ TState,
94
+ R,
95
+ TQueryIn = TQuery,
96
+ TParamsIn = TParams,
97
+ TBodyIn = TBody,
98
+ TReturns extends ReturnsMap = {},
99
+ TLayout = null,
100
+ TRequires = {},
101
+ > = MiddlewareUnit<
102
+ MiddlewareReturnFromParts<
103
+ TQuery,
104
+ TParams,
105
+ TBody,
106
+ IsUnknown<TState> extends true ? ExtractState<R> : TState,
107
+ TQueryIn,
108
+ TParamsIn,
109
+ TBodyIn
110
+ >,
111
+ TReturns,
112
+ TLayout,
113
+ TRequires
114
+ >;
91
115
 
92
116
  export type StandaloneMiddlewareContext<
93
117
  TQuery = unknown,