@taserjs/router 0.1.6 → 0.1.8

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 (39) hide show
  1. package/dist/cjs/builder/factories.cjs +2 -0
  2. package/dist/cjs/builder/factories.cjs.map +1 -1
  3. package/dist/cjs/builder/factories.d.cts +2 -1
  4. package/dist/cjs/builder/standalone.cjs +3 -0
  5. package/dist/cjs/builder/standalone.cjs.map +1 -1
  6. package/dist/cjs/builder/standalone.d.cts +2 -0
  7. package/dist/cjs/define/middleware.cjs.map +1 -1
  8. package/dist/cjs/define/middleware.d.cts +20 -20
  9. package/dist/cjs/index.cjs +1 -0
  10. package/dist/cjs/index.d.cts +6 -2
  11. package/dist/cjs/middleware/hono-mw.cjs.map +1 -1
  12. package/dist/cjs/middleware/hono-mw.d.cts +2 -1
  13. package/dist/cjs/types/index.d.cts +90 -64
  14. package/dist/cjs/types/type-utils.d.cts +3 -3
  15. package/dist/cjs/types/units.d.cts +26 -20
  16. package/dist/esm/builder/factories.d.ts +2 -1
  17. package/dist/esm/builder/factories.js +2 -1
  18. package/dist/esm/builder/factories.js.map +1 -1
  19. package/dist/esm/builder/standalone.d.ts +2 -0
  20. package/dist/esm/builder/standalone.js +4 -2
  21. package/dist/esm/builder/standalone.js.map +1 -1
  22. package/dist/esm/define/middleware.d.ts +20 -20
  23. package/dist/esm/define/middleware.js.map +1 -1
  24. package/dist/esm/index.d.ts +6 -2
  25. package/dist/esm/index.js +2 -2
  26. package/dist/esm/middleware/hono-mw.d.ts +2 -1
  27. package/dist/esm/middleware/hono-mw.js.map +1 -1
  28. package/dist/esm/types/index.d.ts +90 -64
  29. package/dist/esm/types/type-utils.d.ts +3 -3
  30. package/dist/esm/types/units.d.ts +26 -20
  31. package/package.json +3 -3
  32. package/src/builder/factories.ts +3 -2
  33. package/src/builder/standalone.ts +5 -0
  34. package/src/define/middleware.ts +68 -60
  35. package/src/index.ts +4 -0
  36. package/src/middleware/hono-mw.ts +5 -3
  37. package/src/types/index.ts +215 -130
  38. package/src/types/type-utils.ts +1 -1
  39. package/src/types/units.ts +47 -22
@@ -68,10 +68,10 @@ export type MiddlewareReturnFromParts<
68
68
  TParamsIn = TParams,
69
69
  TBodyIn = TBody,
70
70
  > = {
71
- query: Simplify<UnwrapPart<TQuery>>;
72
- params: Simplify<UnwrapPart<TParams>>;
73
- body: Simplify<UnwrapPart<TBody>>;
74
- state: Simplify<UnwrapPart<TState>>;
71
+ query: UnwrapPart<TQuery>;
72
+ params: UnwrapPart<TParams>;
73
+ body: UnwrapPart<TBody>;
74
+ state: UnwrapPart<TState>;
75
75
  /** Pre-parse shapes merged into route `$Infer.Input`. */
76
76
  input: {
77
77
  query: RequestShape<TQueryIn, TQuery>;
@@ -80,6 +80,13 @@ export type MiddlewareReturnFromParts<
80
80
  };
81
81
  };
82
82
 
83
+ export type MiddlewareRequirements = {
84
+ query?: Record<string, unknown>;
85
+ params?: Record<string, unknown>;
86
+ body?: unknown;
87
+ state?: Record<string, unknown>;
88
+ };
89
+
83
90
  export type DefineMiddlewareResult<
84
91
  TQuery,
85
92
  TParams,
@@ -91,7 +98,7 @@ export type DefineMiddlewareResult<
91
98
  TBodyIn = TBody,
92
99
  TReturns extends ReturnsMap = {},
93
100
  TLayout = null,
94
- TRequires = {},
101
+ TRequires extends MiddlewareRequirements = {},
95
102
  > = MiddlewareUnit<
96
103
  MiddlewareReturnFromParts<
97
104
  TQuery,
@@ -113,13 +120,30 @@ export type StandaloneMiddlewareContext<
113
120
  TBody = unknown,
114
121
  TAppContext extends Record<string, unknown> = EmptyAppContext,
115
122
  TState = {},
123
+ TRequires extends MiddlewareRequirements = {},
116
124
  > = Simplify<
117
125
  TAppContext &
118
126
  UnitRuntimeContext & {
119
- query: Simplify<UnwrapPart<TQuery>>;
120
- params: Simplify<UnwrapPart<TParams>>;
121
- body: Simplify<UnwrapPart<TBody>>;
122
- state: Simplify<UnwrapPart<TState>>;
127
+ query: Simplify<
128
+ UnwrapPart<TQuery> &
129
+ (TRequires["query"] extends Record<string, unknown> ? TRequires["query"] : {})
130
+ >;
131
+ params: Simplify<
132
+ UnwrapPart<TParams> &
133
+ (TRequires["params"] extends Record<string, unknown> ? TRequires["params"] : {})
134
+ >;
135
+ body: Simplify<
136
+ UnwrapPart<TBody> &
137
+ (unknown extends TRequires["body"]
138
+ ? {}
139
+ : [TRequires["body"]] extends [undefined]
140
+ ? {}
141
+ : TRequires["body"])
142
+ >;
143
+ state: Simplify<
144
+ UnwrapPart<TState> &
145
+ (TRequires["state"] extends Record<string, unknown> ? TRequires["state"] : {})
146
+ >;
123
147
  headers: TaserHeaders;
124
148
  cookies: TaserCookieJar;
125
149
  }
@@ -131,13 +155,13 @@ export type MiddlewareUnit<
131
155
  TAcc = unknown,
132
156
  TReturns extends ReturnsMap = {},
133
157
  TRequiredLayouts = unknown,
134
- TRequiredState = unknown,
158
+ TRequires extends MiddlewareRequirements = {},
135
159
  > = MiddlewareDefinition & {
136
160
  readonly [MiddlewareUnitBrand]: true;
137
161
  readonly __middlewareAcc: TAcc;
138
162
  readonly __returns?: TReturns;
139
163
  readonly __requiredLayouts?: TRequiredLayouts;
140
- readonly __requiredState?: TRequiredState;
164
+ readonly __requirements?: TRequires;
141
165
  };
142
166
 
143
167
  export type MiddlewareUnitBuilder<
@@ -146,7 +170,7 @@ export type MiddlewareUnitBuilder<
146
170
  TBody = unknown,
147
171
  TReturns extends ReturnsMap = {},
148
172
  TRequiredLayouts = unknown,
149
- TRequiredState = {},
173
+ TRequires extends MiddlewareRequirements = {},
150
174
  TAppContext extends Record<string, unknown> = EmptyAppContext,
151
175
  TInheritedState = {},
152
176
  TQueryIn = unknown,
@@ -165,7 +189,7 @@ export type MiddlewareUnitBuilder<
165
189
  >,
166
190
  TReturns,
167
191
  TRequiredLayouts,
168
- TRequiredState
192
+ TRequires
169
193
  > & {
170
194
  query<Q, QIn = unknown>(
171
195
  schema: Schema<Q, QIn>,
@@ -175,7 +199,7 @@ export type MiddlewareUnitBuilder<
175
199
  TBody,
176
200
  TReturns,
177
201
  TRequiredLayouts,
178
- TRequiredState,
202
+ TRequires,
179
203
  TAppContext,
180
204
  TInheritedState,
181
205
  QIn,
@@ -191,7 +215,7 @@ export type MiddlewareUnitBuilder<
191
215
  TBody,
192
216
  TReturns,
193
217
  TRequiredLayouts,
194
- TRequiredState,
218
+ TRequires,
195
219
  TAppContext,
196
220
  TInheritedState,
197
221
  TQueryIn,
@@ -207,7 +231,7 @@ export type MiddlewareUnitBuilder<
207
231
  B,
208
232
  TReturns,
209
233
  TRequiredLayouts,
210
- TRequiredState,
234
+ TRequires,
211
235
  TAppContext,
212
236
  TInheritedState,
213
237
  TQueryIn,
@@ -224,7 +248,7 @@ export type MiddlewareUnitBuilder<
224
248
  B,
225
249
  TReturns,
226
250
  TRequiredLayouts,
227
- TRequiredState,
251
+ TRequires,
228
252
  TAppContext,
229
253
  TInheritedState,
230
254
  TQueryIn,
@@ -240,7 +264,7 @@ export type MiddlewareUnitBuilder<
240
264
  TBody,
241
265
  Omit<TReturns, keyof M> & M,
242
266
  TRequiredLayouts,
243
- TRequiredState,
267
+ TRequires,
244
268
  TAppContext,
245
269
  TInheritedState,
246
270
  TQueryIn,
@@ -248,13 +272,13 @@ export type MiddlewareUnitBuilder<
248
272
  TBodyIn,
249
273
  TExpectedState
250
274
  >;
251
- requires<Requires extends Record<string, unknown>>(): MiddlewareUnitBuilder<
275
+ requires<Requires extends MiddlewareRequirements>(): MiddlewareUnitBuilder<
252
276
  TQuery,
253
277
  TParams,
254
278
  TBody,
255
279
  TReturns,
256
280
  TRequiredLayouts,
257
- TRequiredState & Requires,
281
+ TRequires & Requires,
258
282
  TAppContext,
259
283
  TInheritedState,
260
284
  TQueryIn,
@@ -269,7 +293,8 @@ export type MiddlewareUnitBuilder<
269
293
  TParams,
270
294
  TBody,
271
295
  TAppContext,
272
- TInheritedState & TRequiredState
296
+ TInheritedState,
297
+ TRequires
273
298
  >,
274
299
  next: NextFn<TExpectedState>,
275
300
  ) => R,
@@ -284,6 +309,6 @@ export type MiddlewareUnitBuilder<
284
309
  TBodyIn,
285
310
  TReturns,
286
311
  TRequiredLayouts,
287
- TRequiredState
312
+ TRequires
288
313
  >;
289
314
  };