@@ -303,15 +303,15 @@ function convertToZod(schema: Schema, prefix: string = ""): ConvertResult {
303303 }
304304 let schemaStr = "z.string()" ;
305305 if ( schema . minLength !== undefined ) {
306- schemaStr += `.min( ${ schema . minLength } )` ;
306+ schemaStr += `.check(z.minLength( ${ schema . minLength } ) )` ;
307307 }
308308 if ( schema . maxLength !== undefined ) {
309- schemaStr += `.max( ${ schema . maxLength } )` ;
309+ schemaStr += `.check(z.maxLength( ${ schema . maxLength } ) )` ;
310310 }
311311 return { zodSchema : schemaStr , refs : [ ] } as const ;
312312 }
313313 case "string:nullable" : {
314- return { zodSchema : "z.string().nullable( )" , refs : [ ] } as const ;
314+ return { zodSchema : "z.nullable(z.string() )" , refs : [ ] } as const ;
315315 }
316316 case "enum:number" : {
317317 const literals = schema . enum . map ( ( v ) => JSON . stringify ( v ) ) . join ( ", " ) ;
@@ -331,23 +331,23 @@ function convertToZod(schema: Schema, prefix: string = ""): ConvertResult {
331331 }
332332 }
333333 if ( schema . minimum !== undefined ) {
334- schemaStr += `.min( ${ schema . minimum } )` ;
334+ schemaStr += `.check(z.minimum( ${ schema . minimum } ) )` ;
335335 }
336336 if ( schema . maximum !== undefined ) {
337- schemaStr += `.max( ${ schema . maximum } )` ;
337+ schemaStr += `.check(z.maximum( ${ schema . maximum } ) )` ;
338338 }
339339 return { zodSchema : schemaStr , refs : [ ] } as const ;
340340 }
341341 case "integer:nullable" : {
342- return { zodSchema : "z.int().nullable( )" , refs : [ ] } as const ;
342+ return { zodSchema : "z.nullable(z.int() )" , refs : [ ] } as const ;
343343 }
344344 case "number" : {
345345 let schemaStr = "z.number()" ;
346346 if ( schema . minimum !== undefined ) {
347- schemaStr += `.min( ${ schema . minimum } )` ;
347+ schemaStr += `.check(z.minimum( ${ schema . minimum } ) )` ;
348348 }
349349 if ( schema . maximum !== undefined ) {
350- schemaStr += `.max( ${ schema . maximum } )` ;
350+ schemaStr += `.check(z.maximum( ${ schema . maximum } ) )` ;
351351 }
352352 return { zodSchema : schemaStr , refs : [ ] } as const ;
353353 }
@@ -377,7 +377,7 @@ function convertToZod(schema: Schema, prefix: string = ""): ConvertResult {
377377 propRefs . forEach ( ( r ) => allRefs . add ( r ) ) ;
378378 let propStr = sch ;
379379 if ( ! required . has ( k ) ) {
380- propStr += " .optional()" ;
380+ propStr = `z .optional(${ propStr } )` ;
381381 }
382382 zodProps [ k ] = propStr ;
383383 }
@@ -422,10 +422,10 @@ function convertToZod(schema: Schema, prefix: string = ""): ConvertResult {
422422 inner += `.length(${ schema . minItems } )` ;
423423 } else {
424424 if ( schema . minItems !== undefined ) {
425- inner += `.min( ${ schema . minItems } )` ;
425+ inner += `.check(z.minLength( ${ schema . minItems } ) )` ;
426426 }
427427 if ( schema . maxItems !== undefined ) {
428- inner += `.max( ${ schema . maxItems } )` ;
428+ inner += `.check(z.maxLength( ${ schema . maxItems } ) )` ;
429429 }
430430 }
431431 zodSchemaStr = inner ;
0 commit comments