|
1 | 1 | import type { Context } from '../context'
|
2 | 2 | import type { Env, MiddlewareHandler, ResponseValidationTargets } from '../types'
|
3 |
| -import { UnofficialStatusCode } from '../utils/http-status' |
4 | 3 |
|
5 | 4 | type ResponseValidationTargetKeys = keyof ResponseValidationTargets
|
6 | 5 |
|
@@ -38,51 +37,47 @@ export const responseValidator = <
|
38 | 37 |
|
39 | 38 | const contentType = c.res.headers.get('Content-Type')
|
40 | 39 |
|
41 |
| - // ToDo: remove satisfies after |
42 | 40 | switch (target) {
|
43 | 41 | case 'body':
|
44 | 42 | if (!c.res.body) {
|
45 | 43 | break
|
46 | 44 | }
|
47 |
| - value = c.res.body satisfies ResponseValidationTargets['body'] |
| 45 | + value = c.res.body |
48 | 46 | break
|
49 | 47 | case 'text':
|
50 | 48 | if (!contentType || !textRegex.test(contentType) || typeof c.validateData !== 'string') {
|
51 | 49 | break
|
52 | 50 | }
|
53 |
| - value = c.validateData satisfies ResponseValidationTargets['text'] |
| 51 | + value = c.validateData |
54 | 52 | break
|
55 | 53 | case 'json':
|
56 | 54 | if (!contentType || !jsonRegex.test(contentType) || typeof c.validateData !== 'object') {
|
57 | 55 | break
|
58 | 56 | }
|
59 |
| - value = c.validateData satisfies ResponseValidationTargets['json'] |
| 57 | + value = c.validateData |
60 | 58 | break
|
61 | 59 | case 'html':
|
62 | 60 | if (!contentType || !htmlRegex.test(contentType) || typeof c.validateData !== 'string') {
|
63 | 61 | break
|
64 | 62 | }
|
65 |
| - value = c.validateData satisfies ResponseValidationTargets['html'] |
| 63 | + value = c.validateData |
66 | 64 | break
|
67 | 65 | case 'header':
|
68 |
| - value = Object.fromEntries(c.res.headers.entries()) as Record< |
69 |
| - string, |
70 |
| - string |
71 |
| - > satisfies ResponseValidationTargets['header'] |
| 66 | + value = Object.fromEntries(c.res.headers.entries()) as Record<string, string> |
72 | 67 | break
|
73 | 68 | case 'cookie':
|
74 | 69 | value = c.res.headers.getSetCookie().reduce((record, cookie) => {
|
75 | 70 | const [name, ...rest] = cookie.split('=')
|
76 | 71 | record[name] = rest.join('=').split(';')[0]
|
77 | 72 | return record
|
78 |
| - }, {} as Record<string, string>) satisfies ResponseValidationTargets['cookie'] |
| 73 | + }, {} as Record<string, string>) |
79 | 74 | break
|
80 | 75 | case 'status':
|
81 | 76 | value = {
|
82 | 77 | ok: c.res.ok,
|
83 |
| - status: c.res.status as UnofficialStatusCode, |
| 78 | + status: c.res.status, |
84 | 79 | statusText: c.res.statusText,
|
85 |
| - } satisfies ResponseValidationTargets['status'] |
| 80 | + } |
86 | 81 | break
|
87 | 82 | }
|
88 | 83 |
|
|
0 commit comments