@@ -24,8 +24,27 @@ export const post = async ({ formUrlencoded }: { formUrlencoded: any }) => {
24
24
} ;
25
25
} ;
26
26
27
+ const ArrayObjectSchema = z . array ( z . object ( { from : z . string ( ) } ) ) ;
28
+
29
+ const StringOrArrayObject = z
30
+ . union ( [
31
+ ArrayObjectSchema ,
32
+ z . string ( ) . refine ( str => {
33
+ try {
34
+ const parsed = JSON . parse ( str ) ;
35
+ return ArrayObjectSchema . safeParse ( parsed ) . success ;
36
+ } catch ( error ) {
37
+ return false ;
38
+ }
39
+ } ) ,
40
+ ] )
41
+ . transform ( value => {
42
+ return typeof value === 'string' ? JSON . parse ( value ) : value ;
43
+ } ) ;
44
+
27
45
const QuerySchema = z . object ( {
28
46
user : z . string ( ) . email ( ) ,
47
+ ext : StringOrArrayObject ,
29
48
} ) ;
30
49
31
50
const DataSchema = z . object ( {
@@ -63,6 +82,7 @@ export const postHello = Api(
63
82
return input ;
64
83
} ) ,
65
84
async ( { query, data, params, headers } ) => {
85
+ console . log ( 'query:>>' , query . ext [ 0 ] ) ;
66
86
const c = useHonoContext ( ) ;
67
87
c . res . headers . set ( 'x-bff-api' , c . req . path ) ;
68
88
return {
@@ -75,9 +95,13 @@ export const postHello = Api(
75
95
} ,
76
96
) ;
77
97
98
+ const GetQuerySchema = z . object ( {
99
+ user : z . string ( ) . email ( ) ,
100
+ } ) ;
101
+
78
102
export const getHello = Api (
79
103
Get ( '/hello/get' ) ,
80
- Query ( QuerySchema ) ,
104
+ Query ( GetQuerySchema ) ,
81
105
async ( { query } ) => {
82
106
try {
83
107
const c = useHonoContext ( ) ;
0 commit comments