@taserjs/router 0.1.4 → 0.1.6
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/dist/cjs/builder/factories.cjs.map +1 -1
- package/dist/cjs/builder/factories.d.cts +9 -9
- package/dist/cjs/builder/middleware-unit.cjs +21 -12
- package/dist/cjs/builder/middleware-unit.cjs.map +1 -1
- package/dist/cjs/builder/middleware-unit.d.cts +1 -18
- package/dist/cjs/builder/middleware.cjs +1 -0
- package/dist/cjs/builder/middleware.cjs.map +1 -1
- package/dist/cjs/builder/route.cjs +1 -0
- package/dist/cjs/builder/route.cjs.map +1 -1
- package/dist/cjs/builder/router.cjs +1 -16
- package/dist/cjs/builder/router.cjs.map +1 -1
- package/dist/cjs/builder/router.d.cts +6 -17
- package/dist/cjs/builder/standalone.cjs +43 -0
- package/dist/cjs/builder/standalone.cjs.map +1 -0
- package/dist/cjs/builder/standalone.d.cts +28 -0
- package/dist/cjs/define/middleware.cjs +2 -3
- package/dist/cjs/define/middleware.cjs.map +1 -1
- package/dist/cjs/define/middleware.d.cts +15 -16
- package/dist/cjs/index.cjs +13 -2
- package/dist/cjs/index.d.cts +5 -3
- package/dist/cjs/middleware/body-limit.cjs +1 -1
- package/dist/cjs/middleware/body-limit.cjs.map +1 -1
- package/dist/cjs/middleware/body-limit.d.cts +1 -1
- package/dist/cjs/middleware/compress.cjs +1 -1
- package/dist/cjs/middleware/compress.cjs.map +1 -1
- package/dist/cjs/middleware/compress.d.cts +1 -1
- package/dist/cjs/middleware/cors.cjs +1 -1
- package/dist/cjs/middleware/cors.cjs.map +1 -1
- package/dist/cjs/middleware/cors.d.cts +1 -1
- package/dist/cjs/middleware/csrf.cjs +1 -1
- package/dist/cjs/middleware/csrf.cjs.map +1 -1
- package/dist/cjs/middleware/csrf.d.cts +1 -1
- package/dist/cjs/middleware/etag.cjs +1 -1
- package/dist/cjs/middleware/etag.cjs.map +1 -1
- package/dist/cjs/middleware/etag.d.cts +1 -1
- package/dist/cjs/middleware/hono-mw.cjs +1 -1
- package/dist/cjs/middleware/hono-mw.cjs.map +1 -1
- package/dist/cjs/middleware/hono-mw.d.cts +1 -1
- package/dist/cjs/middleware/jwk.cjs +1 -1
- package/dist/cjs/middleware/jwk.cjs.map +1 -1
- package/dist/cjs/middleware/jwt.cjs +1 -1
- package/dist/cjs/middleware/jwt.cjs.map +1 -1
- package/dist/cjs/middleware/secure-headers.cjs +1 -1
- package/dist/cjs/middleware/secure-headers.cjs.map +1 -1
- package/dist/cjs/middleware/secure-headers.d.cts +1 -1
- package/dist/cjs/middleware/timing.cjs +1 -1
- package/dist/cjs/middleware/timing.cjs.map +1 -1
- package/dist/cjs/middleware/timing.d.cts +1 -1
- package/dist/cjs/types/index.d.cts +27 -17
- package/dist/cjs/types/type-utils.d.cts +2 -2
- package/dist/cjs/types/units.d.cts +17 -19
- package/dist/esm/builder/factories.d.ts +9 -9
- package/dist/esm/builder/factories.js.map +1 -1
- package/dist/esm/builder/middleware-unit.d.ts +1 -18
- package/dist/esm/builder/middleware-unit.js +21 -12
- package/dist/esm/builder/middleware-unit.js.map +1 -1
- package/dist/esm/builder/middleware.js +1 -0
- package/dist/esm/builder/middleware.js.map +1 -1
- package/dist/esm/builder/route.js +1 -0
- package/dist/esm/builder/route.js.map +1 -1
- package/dist/esm/builder/router.d.ts +6 -17
- package/dist/esm/builder/router.js +1 -16
- package/dist/esm/builder/router.js.map +1 -1
- package/dist/esm/builder/standalone.d.ts +28 -0
- package/dist/esm/builder/standalone.js +32 -0
- package/dist/esm/builder/standalone.js.map +1 -0
- package/dist/esm/define/middleware.d.ts +15 -16
- package/dist/esm/define/middleware.js +2 -3
- package/dist/esm/define/middleware.js.map +1 -1
- package/dist/esm/index.d.ts +5 -3
- package/dist/esm/index.js +2 -2
- package/dist/esm/middleware/body-limit.d.ts +1 -1
- package/dist/esm/middleware/body-limit.js +2 -2
- package/dist/esm/middleware/body-limit.js.map +1 -1
- package/dist/esm/middleware/compress.d.ts +1 -1
- package/dist/esm/middleware/compress.js +2 -2
- package/dist/esm/middleware/compress.js.map +1 -1
- package/dist/esm/middleware/cors.d.ts +1 -1
- package/dist/esm/middleware/cors.js +2 -2
- package/dist/esm/middleware/cors.js.map +1 -1
- package/dist/esm/middleware/csrf.d.ts +1 -1
- package/dist/esm/middleware/csrf.js +2 -2
- package/dist/esm/middleware/csrf.js.map +1 -1
- package/dist/esm/middleware/etag.d.ts +1 -1
- package/dist/esm/middleware/etag.js +2 -2
- package/dist/esm/middleware/etag.js.map +1 -1
- package/dist/esm/middleware/hono-mw.d.ts +1 -1
- package/dist/esm/middleware/hono-mw.js +1 -1
- package/dist/esm/middleware/hono-mw.js.map +1 -1
- package/dist/esm/middleware/jwk.js +2 -2
- package/dist/esm/middleware/jwk.js.map +1 -1
- package/dist/esm/middleware/jwt.js +2 -2
- package/dist/esm/middleware/jwt.js.map +1 -1
- package/dist/esm/middleware/secure-headers.d.ts +1 -1
- package/dist/esm/middleware/secure-headers.js +2 -2
- package/dist/esm/middleware/secure-headers.js.map +1 -1
- package/dist/esm/middleware/timing.d.ts +1 -1
- package/dist/esm/middleware/timing.js +2 -2
- package/dist/esm/middleware/timing.js.map +1 -1
- package/dist/esm/types/index.d.ts +27 -17
- package/dist/esm/types/type-utils.d.ts +2 -2
- package/dist/esm/types/units.d.ts +17 -19
- package/package.json +3 -3
- package/src/builder/factories.ts +2 -2
- package/src/builder/middleware-unit.ts +22 -11
- package/src/builder/middleware.ts +2 -0
- package/src/builder/route.ts +2 -0
- package/src/builder/router.ts +7 -60
- package/src/builder/standalone.ts +70 -0
- package/src/define/middleware.ts +37 -18
- package/src/index.ts +26 -2
- package/src/middleware/body-limit.ts +2 -2
- package/src/middleware/compress.ts +2 -2
- package/src/middleware/cors.ts +2 -2
- package/src/middleware/csrf.ts +2 -2
- package/src/middleware/etag.ts +2 -2
- package/src/middleware/hono-mw.ts +1 -1
- package/src/middleware/jwk.ts +2 -2
- package/src/middleware/jwt.ts +2 -2
- package/src/middleware/secure-headers.ts +2 -2
- package/src/middleware/timing.ts +2 -2
- package/src/types/index.ts +53 -28
- package/src/types/type-utils.ts +8 -4
- package/src/types/units.ts +46 -22
- package/dist/cjs/register.d.cts +0 -2
- package/dist/esm/register.d.ts +0 -2
- package/src/register.ts +0 -1
package/src/types/units.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
Awaitable,
|
|
3
2
|
MiddlewareDefinition as CoreMiddlewareDefinition,
|
|
4
3
|
TaserCookieJar,
|
|
5
4
|
TaserHeaders,
|
|
@@ -22,7 +21,7 @@ export type {
|
|
|
22
21
|
} from "./returns.js";
|
|
23
22
|
|
|
24
23
|
/** Default empty app context for standalone units without a bound router instance. */
|
|
25
|
-
export type
|
|
24
|
+
export type EmptyAppContext = Record<never, never>;
|
|
26
25
|
|
|
27
26
|
export type ValidatorParts = {
|
|
28
27
|
query?: unknown;
|
|
@@ -39,13 +38,17 @@ export type NextResult<TState = unknown> = Response & {
|
|
|
39
38
|
readonly [StateBrand]?: TState;
|
|
40
39
|
};
|
|
41
40
|
|
|
42
|
-
export type
|
|
43
|
-
?
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
export type ExtractStateFromUnion<T> = T extends { readonly [StateBrand]?: infer S }
|
|
42
|
+
? [S] extends [never]
|
|
43
|
+
? never
|
|
44
|
+
: [unknown] extends [S]
|
|
46
45
|
? {}
|
|
47
46
|
: S
|
|
48
|
-
|
|
47
|
+
: never;
|
|
48
|
+
|
|
49
|
+
export type ExtractState<T> = [ExtractStateFromUnion<Awaited<T>>] extends [never]
|
|
50
|
+
? {}
|
|
51
|
+
: ExtractStateFromUnion<Awaited<T>>;
|
|
49
52
|
|
|
50
53
|
export type IsUnknown<T> = [unknown] extends [T] ? true : false;
|
|
51
54
|
|
|
@@ -54,8 +57,6 @@ export type NextFn<TExpectedState = unknown> =
|
|
|
54
57
|
? <S extends Record<string, unknown> = {}>(state?: S) => Promise<NextResult<S>>
|
|
55
58
|
: (state: TExpectedState) => Promise<NextResult<TExpectedState>>;
|
|
56
59
|
|
|
57
|
-
export type MiddlewareNext = NextFn;
|
|
58
|
-
|
|
59
60
|
export type MiddlewareDefinition = CoreMiddlewareDefinition<ReturnsMap>;
|
|
60
61
|
|
|
61
62
|
export type MiddlewareReturnFromParts<
|
|
@@ -110,7 +111,7 @@ export type StandaloneMiddlewareContext<
|
|
|
110
111
|
TQuery = unknown,
|
|
111
112
|
TParams = unknown,
|
|
112
113
|
TBody = unknown,
|
|
113
|
-
TAppContext extends Record<string, unknown> =
|
|
114
|
+
TAppContext extends Record<string, unknown> = EmptyAppContext,
|
|
114
115
|
TState = {},
|
|
115
116
|
> = Simplify<
|
|
116
117
|
TAppContext &
|
|
@@ -124,12 +125,15 @@ export type StandaloneMiddlewareContext<
|
|
|
124
125
|
}
|
|
125
126
|
>;
|
|
126
127
|
|
|
128
|
+
export declare const MiddlewareUnitBrand: unique symbol;
|
|
129
|
+
|
|
127
130
|
export type MiddlewareUnit<
|
|
128
131
|
TAcc = unknown,
|
|
129
132
|
TReturns extends ReturnsMap = {},
|
|
130
133
|
TRequiredLayouts = unknown,
|
|
131
134
|
TRequiredState = unknown,
|
|
132
135
|
> = MiddlewareDefinition & {
|
|
136
|
+
readonly [MiddlewareUnitBrand]: true;
|
|
133
137
|
readonly __middlewareAcc: TAcc;
|
|
134
138
|
readonly __returns?: TReturns;
|
|
135
139
|
readonly __requiredLayouts?: TRequiredLayouts;
|
|
@@ -143,12 +147,26 @@ export type MiddlewareUnitBuilder<
|
|
|
143
147
|
TReturns extends ReturnsMap = {},
|
|
144
148
|
TRequiredLayouts = unknown,
|
|
145
149
|
TRequiredState = {},
|
|
146
|
-
TAppContext extends Record<string, unknown> =
|
|
150
|
+
TAppContext extends Record<string, unknown> = EmptyAppContext,
|
|
147
151
|
TInheritedState = {},
|
|
148
152
|
TQueryIn = unknown,
|
|
149
153
|
TParamsIn = unknown,
|
|
150
154
|
TBodyIn = unknown,
|
|
151
|
-
|
|
155
|
+
TExpectedState = unknown,
|
|
156
|
+
> = MiddlewareUnit<
|
|
157
|
+
MiddlewareReturnFromParts<
|
|
158
|
+
TQuery,
|
|
159
|
+
TParams,
|
|
160
|
+
TBody,
|
|
161
|
+
IsUnknown<TExpectedState> extends true ? {} : TExpectedState,
|
|
162
|
+
TQueryIn,
|
|
163
|
+
TParamsIn,
|
|
164
|
+
TBodyIn
|
|
165
|
+
>,
|
|
166
|
+
TReturns,
|
|
167
|
+
TRequiredLayouts,
|
|
168
|
+
TRequiredState
|
|
169
|
+
> & {
|
|
152
170
|
query<Q, QIn = unknown>(
|
|
153
171
|
schema: Schema<Q, QIn>,
|
|
154
172
|
): MiddlewareUnitBuilder<
|
|
@@ -162,7 +180,8 @@ export type MiddlewareUnitBuilder<
|
|
|
162
180
|
TInheritedState,
|
|
163
181
|
QIn,
|
|
164
182
|
TParamsIn,
|
|
165
|
-
TBodyIn
|
|
183
|
+
TBodyIn,
|
|
184
|
+
TExpectedState
|
|
166
185
|
>;
|
|
167
186
|
params<P, PIn = unknown>(
|
|
168
187
|
schema: Schema<P, PIn>,
|
|
@@ -177,7 +196,8 @@ export type MiddlewareUnitBuilder<
|
|
|
177
196
|
TInheritedState,
|
|
178
197
|
TQueryIn,
|
|
179
198
|
PIn,
|
|
180
|
-
TBodyIn
|
|
199
|
+
TBodyIn,
|
|
200
|
+
TExpectedState
|
|
181
201
|
>;
|
|
182
202
|
body<B, BIn = unknown>(
|
|
183
203
|
schema: Schema<B, BIn>,
|
|
@@ -192,7 +212,8 @@ export type MiddlewareUnitBuilder<
|
|
|
192
212
|
TInheritedState,
|
|
193
213
|
TQueryIn,
|
|
194
214
|
TParamsIn,
|
|
195
|
-
BIn
|
|
215
|
+
BIn,
|
|
216
|
+
TExpectedState
|
|
196
217
|
>;
|
|
197
218
|
body<Mode extends "json" | "form" | "urlencoded", B, BIn = unknown>(
|
|
198
219
|
mode: Mode,
|
|
@@ -208,7 +229,8 @@ export type MiddlewareUnitBuilder<
|
|
|
208
229
|
TInheritedState,
|
|
209
230
|
TQueryIn,
|
|
210
231
|
TParamsIn,
|
|
211
|
-
BIn
|
|
232
|
+
BIn,
|
|
233
|
+
TExpectedState
|
|
212
234
|
>;
|
|
213
235
|
returns<const M extends ReturnsMap>(
|
|
214
236
|
map: M,
|
|
@@ -223,7 +245,8 @@ export type MiddlewareUnitBuilder<
|
|
|
223
245
|
TInheritedState,
|
|
224
246
|
TQueryIn,
|
|
225
247
|
TParamsIn,
|
|
226
|
-
TBodyIn
|
|
248
|
+
TBodyIn,
|
|
249
|
+
TExpectedState
|
|
227
250
|
>;
|
|
228
251
|
requires<Requires extends Record<string, unknown>>(): MiddlewareUnitBuilder<
|
|
229
252
|
TQuery,
|
|
@@ -236,9 +259,10 @@ export type MiddlewareUnitBuilder<
|
|
|
236
259
|
TInheritedState,
|
|
237
260
|
TQueryIn,
|
|
238
261
|
TParamsIn,
|
|
239
|
-
TBodyIn
|
|
262
|
+
TBodyIn,
|
|
263
|
+
TExpectedState
|
|
240
264
|
>;
|
|
241
|
-
handler<
|
|
265
|
+
handler<R>(
|
|
242
266
|
fn: (
|
|
243
267
|
ctx: StandaloneMiddlewareContext<
|
|
244
268
|
TQuery,
|
|
@@ -247,13 +271,13 @@ export type MiddlewareUnitBuilder<
|
|
|
247
271
|
TAppContext,
|
|
248
272
|
TInheritedState & TRequiredState
|
|
249
273
|
>,
|
|
250
|
-
next: NextFn<
|
|
251
|
-
) =>
|
|
274
|
+
next: NextFn<TExpectedState>,
|
|
275
|
+
) => R,
|
|
252
276
|
): DefineMiddlewareResult<
|
|
253
277
|
TQuery,
|
|
254
278
|
TParams,
|
|
255
279
|
TBody,
|
|
256
|
-
|
|
280
|
+
IsUnknown<TExpectedState> extends true ? ExtractState<R> : TExpectedState,
|
|
257
281
|
R,
|
|
258
282
|
TQueryIn,
|
|
259
283
|
TParamsIn,
|
package/dist/cjs/register.d.cts
DELETED
package/dist/esm/register.d.ts
DELETED
package/src/register.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export interface RouterRegister {}
|