diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/valibot/default/valibot.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/valibot/default/valibot.gen.ts index 9a36fdf3f..62bacb938 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/valibot/default/valibot.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/plugins/valibot/default/valibot.gen.ts @@ -703,10 +703,10 @@ export const vModelWithPattern = v.object({ name: v.pipe(v.string(), v.maxLength(255)), enabled: v.optional(v.pipe(v.boolean(), v.readonly())), modified: v.optional(v.pipe(v.pipe(v.string(), v.isoTimestamp()), v.readonly())), - id: v.optional(v.pipe(v.string(), v.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: v.optional(v.pipe(v.string(), v.regex(/^\w+$/))), - patternWithSingleQuotes: v.optional(v.pipe(v.string(), v.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: v.optional(v.pipe(v.string(), v.regex(/aaa\nbbb/))), + id: v.optional(v.pipe(v.string(), v.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: v.optional(v.pipe(v.string(), v.regex(/^\\w+$/))), + patternWithSingleQuotes: v.optional(v.pipe(v.string(), v.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: v.optional(v.pipe(v.string(), v.regex(/aaa\\nbbb/))), patternWithBacktick: v.optional(v.pipe(v.string(), v.regex(/aaa`bbb/))) }); @@ -1093,10 +1093,10 @@ export const vModelWithPropertiesWritable = v.object({ export const vModelWithPatternWritable = v.object({ key: v.pipe(v.string(), v.maxLength(64), v.regex(/^[a-zA-Z0-9_]*$/)), name: v.pipe(v.string(), v.maxLength(255)), - id: v.optional(v.pipe(v.string(), v.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: v.optional(v.pipe(v.string(), v.regex(/^\w+$/))), - patternWithSingleQuotes: v.optional(v.pipe(v.string(), v.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: v.optional(v.pipe(v.string(), v.regex(/aaa\nbbb/))), + id: v.optional(v.pipe(v.string(), v.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: v.optional(v.pipe(v.string(), v.regex(/^\\w+$/))), + patternWithSingleQuotes: v.optional(v.pipe(v.string(), v.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: v.optional(v.pipe(v.string(), v.regex(/aaa\\nbbb/))), patternWithBacktick: v.optional(v.pipe(v.string(), v.regex(/aaa`bbb/))) }); diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/validators/valibot.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/validators/valibot.gen.ts index 9769db8fa..c79887e0e 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/validators/valibot.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/validators/valibot.gen.ts @@ -10,7 +10,7 @@ export const vBar: v.GenericSchema = v.object({ export const vFoo: v.GenericSchema = v.optional(v.union([ v.object({ - foo: v.optional(v.pipe(v.string(), v.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: v.optional(v.pipe(v.string(), v.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: v.optional(vBar), baz: v.optional(v.array(v.lazy(() => { return vFoo; @@ -20,4 +20,4 @@ export const vFoo: v.GenericSchema = v.optional(v.union([ v.null() ]), null); -export const vBaz = v.optional(v.pipe(v.pipe(v.string(), v.regex(/foo\nbar/)), v.readonly()), 'baz'); +export const vBaz = v.optional(v.pipe(v.pipe(v.string(), v.regex(/foo\\nbar/)), v.readonly()), 'baz'); diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/valibot/default/valibot.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/valibot/default/valibot.gen.ts index 973798655..148058455 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/valibot/default/valibot.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/plugins/valibot/default/valibot.gen.ts @@ -704,10 +704,10 @@ export const vModelWithPattern = v.object({ name: v.pipe(v.string(), v.maxLength(255)), enabled: v.optional(v.pipe(v.boolean(), v.readonly())), modified: v.optional(v.pipe(v.pipe(v.string(), v.isoTimestamp()), v.readonly())), - id: v.optional(v.pipe(v.string(), v.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: v.optional(v.pipe(v.string(), v.regex(/^\w+$/))), - patternWithSingleQuotes: v.optional(v.pipe(v.string(), v.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: v.optional(v.pipe(v.string(), v.regex(/aaa\nbbb/))), + id: v.optional(v.pipe(v.string(), v.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: v.optional(v.pipe(v.string(), v.regex(/^\\w+$/))), + patternWithSingleQuotes: v.optional(v.pipe(v.string(), v.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: v.optional(v.pipe(v.string(), v.regex(/aaa\\nbbb/))), patternWithBacktick: v.optional(v.pipe(v.string(), v.regex(/aaa`bbb/))) }); @@ -1097,10 +1097,10 @@ export const vModelWithPropertiesWritable = v.object({ export const vModelWithPatternWritable = v.object({ key: v.pipe(v.string(), v.maxLength(64), v.regex(/^[a-zA-Z0-9_]*$/)), name: v.pipe(v.string(), v.maxLength(255)), - id: v.optional(v.pipe(v.string(), v.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: v.optional(v.pipe(v.string(), v.regex(/^\w+$/))), - patternWithSingleQuotes: v.optional(v.pipe(v.string(), v.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: v.optional(v.pipe(v.string(), v.regex(/aaa\nbbb/))), + id: v.optional(v.pipe(v.string(), v.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: v.optional(v.pipe(v.string(), v.regex(/^\\w+$/))), + patternWithSingleQuotes: v.optional(v.pipe(v.string(), v.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: v.optional(v.pipe(v.string(), v.regex(/aaa\\nbbb/))), patternWithBacktick: v.optional(v.pipe(v.string(), v.regex(/aaa`bbb/))) }); diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators-metadata/valibot.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators-metadata/valibot.gen.ts index c54dd93e8..7301f9fb0 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators-metadata/valibot.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators-metadata/valibot.gen.ts @@ -18,7 +18,7 @@ export const vBar: v.GenericSchema = v.pipe(v.object({ */ export const vFoo: v.GenericSchema = v.optional(v.union([ v.object({ - foo: v.optional(v.pipe(v.pipe(v.string(), v.regex(/^\d{3}-\d{2}-\d{4}$/)), v.metadata({ + foo: v.optional(v.pipe(v.pipe(v.string(), v.regex(/^\\d{3}-\\d{2}-\\d{4}$/)), v.metadata({ description: 'This is foo property.' }))), bar: v.optional(vBar), @@ -34,7 +34,7 @@ export const vFoo: v.GenericSchema = v.optional(v.union([ v.null() ]), null); -export const vBaz = v.optional(v.pipe(v.pipe(v.string(), v.regex(/foo\nbar/)), v.readonly()), 'baz'); +export const vBaz = v.optional(v.pipe(v.pipe(v.string(), v.regex(/foo\\nbar/)), v.readonly()), 'baz'); export const vQux = v.record(v.string(), v.object({ qux: v.optional(v.string()) diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators-types/valibot.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators-types/valibot.gen.ts index 3c12cbfaa..af1d594fb 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators-types/valibot.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators-types/valibot.gen.ts @@ -16,7 +16,7 @@ export const vBar: v.GenericSchema = v.object({ */ export const vFoo: v.GenericSchema = v.optional(v.union([ v.object({ - foo: v.optional(v.pipe(v.string(), v.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: v.optional(v.pipe(v.string(), v.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: v.optional(vBar), baz: v.optional(v.array(v.lazy(() => { return vFoo; @@ -26,7 +26,7 @@ export const vFoo: v.GenericSchema = v.optional(v.union([ v.null() ]), null); -export const vBaz = v.optional(v.pipe(v.pipe(v.string(), v.regex(/foo\nbar/)), v.readonly()), 'baz'); +export const vBaz = v.optional(v.pipe(v.pipe(v.string(), v.regex(/foo\\nbar/)), v.readonly()), 'baz'); export const vQux = v.record(v.string(), v.object({ qux: v.optional(v.string()) diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators/valibot.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators/valibot.gen.ts index 3c12cbfaa..af1d594fb 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators/valibot.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/validators/valibot.gen.ts @@ -16,7 +16,7 @@ export const vBar: v.GenericSchema = v.object({ */ export const vFoo: v.GenericSchema = v.optional(v.union([ v.object({ - foo: v.optional(v.pipe(v.string(), v.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: v.optional(v.pipe(v.string(), v.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: v.optional(vBar), baz: v.optional(v.array(v.lazy(() => { return vFoo; @@ -26,7 +26,7 @@ export const vFoo: v.GenericSchema = v.optional(v.union([ v.null() ]), null); -export const vBaz = v.optional(v.pipe(v.pipe(v.string(), v.regex(/foo\nbar/)), v.readonly()), 'baz'); +export const vBaz = v.optional(v.pipe(v.pipe(v.string(), v.regex(/foo\\nbar/)), v.readonly()), 'baz'); export const vQux = v.record(v.string(), v.object({ qux: v.optional(v.string()) diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/mini/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/mini/default/zod.gen.ts index cbdcfbb53..b77dff897 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/mini/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/mini/default/zod.gen.ts @@ -733,10 +733,10 @@ export const zModelWithPattern = z.object({ name: z.string().check(z.maxLength(255)), enabled: z.optional(z.readonly(z.boolean())), modified: z.optional(z.readonly(z.iso.datetime())), - id: z.optional(z.string().check(z.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: z.optional(z.string().check(z.regex(/^\w+$/))), - patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: z.optional(z.string().check(z.regex(/aaa\nbbb/))), + id: z.optional(z.string().check(z.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: z.optional(z.string().check(z.regex(/^\\w+$/))), + patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: z.optional(z.string().check(z.regex(/aaa\\nbbb/))), patternWithBacktick: z.optional(z.string().check(z.regex(/aaa`bbb/))) }); @@ -1126,10 +1126,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().check(z.maxLength(64), z.regex(/^[a-zA-Z0-9_]*$/)), name: z.string().check(z.maxLength(255)), - id: z.optional(z.string().check(z.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: z.optional(z.string().check(z.regex(/^\w+$/))), - patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: z.optional(z.string().check(z.regex(/aaa\nbbb/))), + id: z.optional(z.string().check(z.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: z.optional(z.string().check(z.regex(/^\\w+$/))), + patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: z.optional(z.string().check(z.regex(/aaa\\nbbb/))), patternWithBacktick: z.optional(z.string().check(z.regex(/aaa`bbb/))) }); diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/mini/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/mini/validators/zod.gen.ts index a8be5f51c..7ec16b42b 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/mini/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/mini/validators/zod.gen.ts @@ -10,7 +10,7 @@ export const zBar = z.object({ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: z.optional(zBar), get baz(): z.ZodMiniOptional { return z.optional(z.array(z.lazy((): any => { @@ -22,4 +22,4 @@ export const zFoo = z._default(z.union([ z.null() ]), null); -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v3/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v3/default/zod.gen.ts index 2d2a772a6..2f525bdc3 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v3/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v3/default/zod.gen.ts @@ -731,10 +731,10 @@ export const zModelWithPattern = z.object({ name: z.string().max(255), enabled: z.boolean().readonly().optional(), modified: z.string().datetime().readonly().optional(), - id: z.string().regex(/^\d{2}-\d{3}-\d{4}$/).optional(), - text: z.string().regex(/^\w+$/).optional(), - patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9']*$/).optional(), - patternWithNewline: z.string().regex(/aaa\nbbb/).optional(), + id: z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/).optional(), + text: z.string().regex(/^\\w+$/).optional(), + patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9\']*$/).optional(), + patternWithNewline: z.string().regex(/aaa\\nbbb/).optional(), patternWithBacktick: z.string().regex(/aaa`bbb/).optional() }); @@ -1124,10 +1124,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/), name: z.string().max(255), - id: z.string().regex(/^\d{2}-\d{3}-\d{4}$/).optional(), - text: z.string().regex(/^\w+$/).optional(), - patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9']*$/).optional(), - patternWithNewline: z.string().regex(/aaa\nbbb/).optional(), + id: z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/).optional(), + text: z.string().regex(/^\\w+$/).optional(), + patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9\']*$/).optional(), + patternWithNewline: z.string().regex(/aaa\\nbbb/).optional(), patternWithBacktick: z.string().regex(/aaa`bbb/).optional() }); diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v3/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v3/validators/zod.gen.ts index a6537a847..6bd95fc8c 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v3/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v3/validators/zod.gen.ts @@ -10,7 +10,7 @@ export const zBar: z.AnyZodObject = z.object({ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -20,4 +20,4 @@ export const zFoo: z.ZodTypeAny = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v4/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v4/default/zod.gen.ts index aeb69d39e..47c37abf1 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v4/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v4/default/zod.gen.ts @@ -733,10 +733,10 @@ export const zModelWithPattern = z.object({ name: z.string().max(255), enabled: z.optional(z.boolean().readonly()), modified: z.optional(z.iso.datetime().readonly()), - id: z.optional(z.string().regex(/^\d{2}-\d{3}-\d{4}$/)), - text: z.optional(z.string().regex(/^\w+$/)), - patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9']*$/)), - patternWithNewline: z.optional(z.string().regex(/aaa\nbbb/)), + id: z.optional(z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/)), + text: z.optional(z.string().regex(/^\\w+$/)), + patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9\']*$/)), + patternWithNewline: z.optional(z.string().regex(/aaa\\nbbb/)), patternWithBacktick: z.optional(z.string().regex(/aaa`bbb/)) }); @@ -1126,10 +1126,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/), name: z.string().max(255), - id: z.optional(z.string().regex(/^\d{2}-\d{3}-\d{4}$/)), - text: z.optional(z.string().regex(/^\w+$/)), - patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9']*$/)), - patternWithNewline: z.optional(z.string().regex(/aaa\nbbb/)), + id: z.optional(z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/)), + text: z.optional(z.string().regex(/^\\w+$/)), + patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9\']*$/)), + patternWithNewline: z.optional(z.string().regex(/aaa\\nbbb/)), patternWithBacktick: z.optional(z.string().regex(/aaa`bbb/)) }); diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v4/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v4/validators/zod.gen.ts index d0fb4e7a8..6459164a2 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v4/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.0.x/v4/validators/zod.gen.ts @@ -10,7 +10,7 @@ export const zBar = z.object({ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/)), + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/)), bar: z.optional(zBar), get baz(): z.ZodOptional { return z.optional(z.array(z.lazy((): any => { @@ -22,4 +22,4 @@ export const zFoo = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/default/zod.gen.ts index f45f4f952..54b62b13e 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/default/zod.gen.ts @@ -740,10 +740,10 @@ export const zModelWithPattern = z.object({ name: z.string().check(z.maxLength(255)), enabled: z.optional(z.readonly(z.boolean())), modified: z.optional(z.readonly(z.iso.datetime())), - id: z.optional(z.string().check(z.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: z.optional(z.string().check(z.regex(/^\w+$/))), - patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: z.optional(z.string().check(z.regex(/aaa\nbbb/))), + id: z.optional(z.string().check(z.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: z.optional(z.string().check(z.regex(/^\\w+$/))), + patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: z.optional(z.string().check(z.regex(/aaa\\nbbb/))), patternWithBacktick: z.optional(z.string().check(z.regex(/aaa`bbb/))) }); @@ -1132,10 +1132,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().check(z.maxLength(64), z.regex(/^[a-zA-Z0-9_]*$/)), name: z.string().check(z.maxLength(255)), - id: z.optional(z.string().check(z.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: z.optional(z.string().check(z.regex(/^\w+$/))), - patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: z.optional(z.string().check(z.regex(/aaa\nbbb/))), + id: z.optional(z.string().check(z.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: z.optional(z.string().check(z.regex(/^\\w+$/))), + patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: z.optional(z.string().check(z.regex(/aaa\\nbbb/))), patternWithBacktick: z.optional(z.string().check(z.regex(/aaa`bbb/))) }); diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-dates/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-dates/zod.gen.ts index 3fd3ebc43..3c98dc531 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-dates/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-dates/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar = z.object({ */ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: z.optional(zBar), get baz(): z.ZodMiniOptional { return z.optional(z.array(z.lazy((): any => { @@ -28,7 +28,7 @@ export const zFoo = z._default(z.union([ z.null() ]), null); -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-metadata/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-metadata/zod.gen.ts index 1a5edf41c..a85cf11bc 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-metadata/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-metadata/zod.gen.ts @@ -18,7 +18,7 @@ export const zBar = z.object({ */ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/)).register(z.globalRegistry, { + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/)).register(z.globalRegistry, { description: 'This is foo property.' })), bar: z.optional(zBar), @@ -36,7 +36,7 @@ export const zFoo = z._default(z.union([ z.null() ]), null); -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-types/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-types/zod.gen.ts index a3170d6a4..248cb4fc7 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-types/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators-types/zod.gen.ts @@ -18,7 +18,7 @@ export type BarZodType = z.infer; */ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: z.optional(zBar), get baz(): z.ZodMiniOptional { return z.optional(z.array(z.lazy((): any => { @@ -32,7 +32,7 @@ export const zFoo = z._default(z.union([ export type FooZodType = z.infer; -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); export type BazZodType = z.infer; diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators/zod.gen.ts index 5bcc24c6f..4daa0ecaf 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/mini/validators/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar = z.object({ */ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: z.optional(zBar), get baz(): z.ZodMiniOptional { return z.optional(z.array(z.lazy((): any => { @@ -28,7 +28,7 @@ export const zFoo = z._default(z.union([ z.null() ]), null); -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/default/zod.gen.ts index 2005c3692..529df7ec8 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/default/zod.gen.ts @@ -738,10 +738,10 @@ export const zModelWithPattern = z.object({ name: z.string().max(255), enabled: z.boolean().readonly().optional(), modified: z.string().datetime().readonly().optional(), - id: z.string().regex(/^\d{2}-\d{3}-\d{4}$/).optional(), - text: z.string().regex(/^\w+$/).optional(), - patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9']*$/).optional(), - patternWithNewline: z.string().regex(/aaa\nbbb/).optional(), + id: z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/).optional(), + text: z.string().regex(/^\\w+$/).optional(), + patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9\']*$/).optional(), + patternWithNewline: z.string().regex(/aaa\\nbbb/).optional(), patternWithBacktick: z.string().regex(/aaa`bbb/).optional() }); @@ -1130,10 +1130,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/), name: z.string().max(255), - id: z.string().regex(/^\d{2}-\d{3}-\d{4}$/).optional(), - text: z.string().regex(/^\w+$/).optional(), - patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9']*$/).optional(), - patternWithNewline: z.string().regex(/aaa\nbbb/).optional(), + id: z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/).optional(), + text: z.string().regex(/^\\w+$/).optional(), + patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9\']*$/).optional(), + patternWithNewline: z.string().regex(/aaa\\nbbb/).optional(), patternWithBacktick: z.string().regex(/aaa`bbb/).optional() }); diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-dates/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-dates/zod.gen.ts index 6eb670417..d8e8bcf22 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-dates/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-dates/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar: z.AnyZodObject = z.object({ */ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -26,7 +26,7 @@ export const zFoo: z.ZodTypeAny = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.object({ qux: z.string().optional() diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-metadata/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-metadata/zod.gen.ts index 585fddbb2..fae29bd68 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-metadata/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-metadata/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar: z.AnyZodObject = z.object({ */ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).describe('This is foo property.').optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).describe('This is foo property.').optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -26,7 +26,7 @@ export const zFoo: z.ZodTypeAny = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.object({ qux: z.string().optional() diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-types/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-types/zod.gen.ts index ace814995..6e4ce1bac 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-types/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators-types/zod.gen.ts @@ -18,7 +18,7 @@ export type BarZodType = z.infer; */ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -30,7 +30,7 @@ export const zFoo: z.ZodTypeAny = z.union([ export type FooZodType = z.infer; -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export type BazZodType = z.infer; diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators/zod.gen.ts index 83f84b2d0..10da0dc51 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v3/validators/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar: z.AnyZodObject = z.object({ */ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -26,7 +26,7 @@ export const zFoo: z.ZodTypeAny = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.object({ qux: z.string().optional() diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/default/zod.gen.ts index 2d383b3ed..e17eb792b 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/default/zod.gen.ts @@ -740,10 +740,10 @@ export const zModelWithPattern = z.object({ name: z.string().max(255), enabled: z.optional(z.boolean().readonly()), modified: z.optional(z.iso.datetime().readonly()), - id: z.optional(z.string().regex(/^\d{2}-\d{3}-\d{4}$/)), - text: z.optional(z.string().regex(/^\w+$/)), - patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9']*$/)), - patternWithNewline: z.optional(z.string().regex(/aaa\nbbb/)), + id: z.optional(z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/)), + text: z.optional(z.string().regex(/^\\w+$/)), + patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9\']*$/)), + patternWithNewline: z.optional(z.string().regex(/aaa\\nbbb/)), patternWithBacktick: z.optional(z.string().regex(/aaa`bbb/)) }); @@ -1132,10 +1132,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/), name: z.string().max(255), - id: z.optional(z.string().regex(/^\d{2}-\d{3}-\d{4}$/)), - text: z.optional(z.string().regex(/^\w+$/)), - patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9']*$/)), - patternWithNewline: z.optional(z.string().regex(/aaa\nbbb/)), + id: z.optional(z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/)), + text: z.optional(z.string().regex(/^\\w+$/)), + patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9\']*$/)), + patternWithNewline: z.optional(z.string().regex(/aaa\\nbbb/)), patternWithBacktick: z.optional(z.string().regex(/aaa`bbb/)) }); diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-dates/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-dates/zod.gen.ts index fa1234e0a..0d831e9ca 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-dates/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-dates/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar = z.object({ */ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/)), + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/)), bar: z.optional(zBar), get baz(): z.ZodOptional { return z.optional(z.array(z.lazy((): any => { @@ -28,7 +28,7 @@ export const zFoo = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-metadata/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-metadata/zod.gen.ts index 5e997ec27..0fed69910 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-metadata/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-metadata/zod.gen.ts @@ -18,7 +18,7 @@ export const zBar = z.object({ */ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/).register(z.globalRegistry, { + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).register(z.globalRegistry, { description: 'This is foo property.' })), bar: z.optional(zBar), @@ -36,7 +36,7 @@ export const zFoo = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-types/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-types/zod.gen.ts index 2794c6a1e..2077751d4 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-types/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators-types/zod.gen.ts @@ -18,7 +18,7 @@ export type BarZodType = z.infer; */ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/)), + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/)), bar: z.optional(zBar), get baz(): z.ZodOptional { return z.optional(z.array(z.lazy((): any => { @@ -32,7 +32,7 @@ export const zFoo = z.union([ export type FooZodType = z.infer; -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export type BazZodType = z.infer; diff --git a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators/zod.gen.ts index f9c56845a..60ad8519c 100644 --- a/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v3/__snapshots__/3.1.x/v4/validators/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar = z.object({ */ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/)), + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/)), bar: z.optional(zBar), get baz(): z.ZodOptional { return z.optional(z.array(z.lazy((): any => { @@ -28,7 +28,7 @@ export const zFoo = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/mini/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/mini/default/zod.gen.ts index 459ac09e6..48ad3c3e5 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/mini/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/mini/default/zod.gen.ts @@ -733,10 +733,10 @@ export const zModelWithPattern = z.object({ name: z.string().check(z.maxLength(255)), enabled: z.optional(z.readonly(z.boolean())), modified: z.optional(z.readonly(z.iso.datetime())), - id: z.optional(z.string().check(z.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: z.optional(z.string().check(z.regex(/^\w+$/))), - patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: z.optional(z.string().check(z.regex(/aaa\nbbb/))), + id: z.optional(z.string().check(z.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: z.optional(z.string().check(z.regex(/^\\w+$/))), + patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: z.optional(z.string().check(z.regex(/aaa\\nbbb/))), patternWithBacktick: z.optional(z.string().check(z.regex(/aaa`bbb/))) }); @@ -1126,10 +1126,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().check(z.maxLength(64), z.regex(/^[a-zA-Z0-9_]*$/)), name: z.string().check(z.maxLength(255)), - id: z.optional(z.string().check(z.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: z.optional(z.string().check(z.regex(/^\w+$/))), - patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: z.optional(z.string().check(z.regex(/aaa\nbbb/))), + id: z.optional(z.string().check(z.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: z.optional(z.string().check(z.regex(/^\\w+$/))), + patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: z.optional(z.string().check(z.regex(/aaa\\nbbb/))), patternWithBacktick: z.optional(z.string().check(z.regex(/aaa`bbb/))) }); diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/mini/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/mini/validators/zod.gen.ts index 77ab57f60..9988a8f22 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/mini/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/mini/validators/zod.gen.ts @@ -10,7 +10,7 @@ export const zBar = z.object({ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: z.optional(zBar), get baz(): z.ZodMiniOptional { return z.optional(z.array(z.lazy((): any => { @@ -22,4 +22,4 @@ export const zFoo = z._default(z.union([ z.null() ]), null); -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v3/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v3/default/zod.gen.ts index 83a62aa1c..0224010e8 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v3/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v3/default/zod.gen.ts @@ -731,10 +731,10 @@ export const zModelWithPattern = z.object({ name: z.string().max(255), enabled: z.boolean().readonly().optional(), modified: z.string().datetime().readonly().optional(), - id: z.string().regex(/^\d{2}-\d{3}-\d{4}$/).optional(), - text: z.string().regex(/^\w+$/).optional(), - patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9']*$/).optional(), - patternWithNewline: z.string().regex(/aaa\nbbb/).optional(), + id: z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/).optional(), + text: z.string().regex(/^\\w+$/).optional(), + patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9\']*$/).optional(), + patternWithNewline: z.string().regex(/aaa\\nbbb/).optional(), patternWithBacktick: z.string().regex(/aaa`bbb/).optional() }); @@ -1124,10 +1124,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/), name: z.string().max(255), - id: z.string().regex(/^\d{2}-\d{3}-\d{4}$/).optional(), - text: z.string().regex(/^\w+$/).optional(), - patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9']*$/).optional(), - patternWithNewline: z.string().regex(/aaa\nbbb/).optional(), + id: z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/).optional(), + text: z.string().regex(/^\\w+$/).optional(), + patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9\']*$/).optional(), + patternWithNewline: z.string().regex(/aaa\\nbbb/).optional(), patternWithBacktick: z.string().regex(/aaa`bbb/).optional() }); diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v3/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v3/validators/zod.gen.ts index 1b13ab9cb..1d7d2fee4 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v3/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v3/validators/zod.gen.ts @@ -10,7 +10,7 @@ export const zBar: z.AnyZodObject = z.object({ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -20,4 +20,4 @@ export const zFoo: z.ZodTypeAny = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v4/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v4/default/zod.gen.ts index 9fbb92dbe..147a56358 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v4/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v4/default/zod.gen.ts @@ -733,10 +733,10 @@ export const zModelWithPattern = z.object({ name: z.string().max(255), enabled: z.optional(z.boolean().readonly()), modified: z.optional(z.iso.datetime().readonly()), - id: z.optional(z.string().regex(/^\d{2}-\d{3}-\d{4}$/)), - text: z.optional(z.string().regex(/^\w+$/)), - patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9']*$/)), - patternWithNewline: z.optional(z.string().regex(/aaa\nbbb/)), + id: z.optional(z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/)), + text: z.optional(z.string().regex(/^\\w+$/)), + patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9\']*$/)), + patternWithNewline: z.optional(z.string().regex(/aaa\\nbbb/)), patternWithBacktick: z.optional(z.string().regex(/aaa`bbb/)) }); @@ -1126,10 +1126,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/), name: z.string().max(255), - id: z.optional(z.string().regex(/^\d{2}-\d{3}-\d{4}$/)), - text: z.optional(z.string().regex(/^\w+$/)), - patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9']*$/)), - patternWithNewline: z.optional(z.string().regex(/aaa\nbbb/)), + id: z.optional(z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/)), + text: z.optional(z.string().regex(/^\\w+$/)), + patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9\']*$/)), + patternWithNewline: z.optional(z.string().regex(/aaa\\nbbb/)), patternWithBacktick: z.optional(z.string().regex(/aaa`bbb/)) }); diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v4/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v4/validators/zod.gen.ts index 7f3ce000b..2e6181f2f 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v4/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.0.x/v4/validators/zod.gen.ts @@ -10,7 +10,7 @@ export const zBar = z.object({ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/)), + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/)), bar: z.optional(zBar), get baz(): z.ZodOptional { return z.optional(z.array(z.lazy((): any => { @@ -22,4 +22,4 @@ export const zFoo = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/default/zod.gen.ts index 14bef957d..8ffc81e4a 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/default/zod.gen.ts @@ -740,10 +740,10 @@ export const zModelWithPattern = z.object({ name: z.string().check(z.maxLength(255)), enabled: z.optional(z.readonly(z.boolean())), modified: z.optional(z.readonly(z.iso.datetime())), - id: z.optional(z.string().check(z.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: z.optional(z.string().check(z.regex(/^\w+$/))), - patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: z.optional(z.string().check(z.regex(/aaa\nbbb/))), + id: z.optional(z.string().check(z.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: z.optional(z.string().check(z.regex(/^\\w+$/))), + patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: z.optional(z.string().check(z.regex(/aaa\\nbbb/))), patternWithBacktick: z.optional(z.string().check(z.regex(/aaa`bbb/))) }); @@ -1132,10 +1132,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().check(z.maxLength(64), z.regex(/^[a-zA-Z0-9_]*$/)), name: z.string().check(z.maxLength(255)), - id: z.optional(z.string().check(z.regex(/^\d{2}-\d{3}-\d{4}$/))), - text: z.optional(z.string().check(z.regex(/^\w+$/))), - patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9']*$/))), - patternWithNewline: z.optional(z.string().check(z.regex(/aaa\nbbb/))), + id: z.optional(z.string().check(z.regex(/^\\d{2}-\\d{3}-\\d{4}$/))), + text: z.optional(z.string().check(z.regex(/^\\w+$/))), + patternWithSingleQuotes: z.optional(z.string().check(z.regex(/^[a-zA-Z0-9\']*$/))), + patternWithNewline: z.optional(z.string().check(z.regex(/aaa\\nbbb/))), patternWithBacktick: z.optional(z.string().check(z.regex(/aaa`bbb/))) }); diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-dates/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-dates/zod.gen.ts index f5db2ce5c..635b40f8b 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-dates/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-dates/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar = z.object({ */ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: z.optional(zBar), get baz(): z.ZodMiniOptional { return z.optional(z.array(z.lazy((): any => { @@ -28,7 +28,7 @@ export const zFoo = z._default(z.union([ z.null() ]), null); -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-metadata/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-metadata/zod.gen.ts index 4b4759e2d..42c8b794a 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-metadata/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-metadata/zod.gen.ts @@ -18,7 +18,7 @@ export const zBar = z.object({ */ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/)).register(z.globalRegistry, { + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/)).register(z.globalRegistry, { description: 'This is foo property.' })), bar: z.optional(zBar), @@ -36,7 +36,7 @@ export const zFoo = z._default(z.union([ z.null() ]), null); -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-types/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-types/zod.gen.ts index 1eb0cfb95..2458ff3b0 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-types/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators-types/zod.gen.ts @@ -18,7 +18,7 @@ export type BarZodType = z.infer; */ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: z.optional(zBar), get baz(): z.ZodMiniOptional { return z.optional(z.array(z.lazy((): any => { @@ -32,7 +32,7 @@ export const zFoo = z._default(z.union([ export type FooZodType = z.infer; -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); export type BazZodType = z.infer; diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators/zod.gen.ts index 0ee090a1a..d9f8e3f87 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/mini/validators/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar = z.object({ */ export const zFoo = z._default(z.union([ z.object({ - foo: z.optional(z.string().check(z.regex(/^\d{3}-\d{2}-\d{4}$/))), + foo: z.optional(z.string().check(z.regex(/^\\d{3}-\\d{2}-\\d{4}$/))), bar: z.optional(zBar), get baz(): z.ZodMiniOptional { return z.optional(z.array(z.lazy((): any => { @@ -28,7 +28,7 @@ export const zFoo = z._default(z.union([ z.null() ]), null); -export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\nbar/))), 'baz'); +export const zBaz = z._default(z.readonly(z.string().check(z.regex(/foo\\nbar/))), 'baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/default/zod.gen.ts index 8a9c58819..8eb1323e0 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/default/zod.gen.ts @@ -738,10 +738,10 @@ export const zModelWithPattern = z.object({ name: z.string().max(255), enabled: z.boolean().readonly().optional(), modified: z.string().datetime().readonly().optional(), - id: z.string().regex(/^\d{2}-\d{3}-\d{4}$/).optional(), - text: z.string().regex(/^\w+$/).optional(), - patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9']*$/).optional(), - patternWithNewline: z.string().regex(/aaa\nbbb/).optional(), + id: z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/).optional(), + text: z.string().regex(/^\\w+$/).optional(), + patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9\']*$/).optional(), + patternWithNewline: z.string().regex(/aaa\\nbbb/).optional(), patternWithBacktick: z.string().regex(/aaa`bbb/).optional() }); @@ -1130,10 +1130,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/), name: z.string().max(255), - id: z.string().regex(/^\d{2}-\d{3}-\d{4}$/).optional(), - text: z.string().regex(/^\w+$/).optional(), - patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9']*$/).optional(), - patternWithNewline: z.string().regex(/aaa\nbbb/).optional(), + id: z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/).optional(), + text: z.string().regex(/^\\w+$/).optional(), + patternWithSingleQuotes: z.string().regex(/^[a-zA-Z0-9\']*$/).optional(), + patternWithNewline: z.string().regex(/aaa\\nbbb/).optional(), patternWithBacktick: z.string().regex(/aaa`bbb/).optional() }); diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-dates/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-dates/zod.gen.ts index 140dc5e8c..84c0ef913 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-dates/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-dates/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar: z.AnyZodObject = z.object({ */ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -26,7 +26,7 @@ export const zFoo: z.ZodTypeAny = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.object({ qux: z.string().optional() diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-metadata/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-metadata/zod.gen.ts index efc9209a2..cb0253656 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-metadata/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-metadata/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar: z.AnyZodObject = z.object({ */ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).describe('This is foo property.').optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).describe('This is foo property.').optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -26,7 +26,7 @@ export const zFoo: z.ZodTypeAny = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.object({ qux: z.string().optional() diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-types/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-types/zod.gen.ts index 399d2c413..b82a47a38 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-types/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators-types/zod.gen.ts @@ -18,7 +18,7 @@ export type BarZodType = z.infer; */ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -30,7 +30,7 @@ export const zFoo: z.ZodTypeAny = z.union([ export type FooZodType = z.infer; -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export type BazZodType = z.infer; diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators/zod.gen.ts index fcc9c8c55..7eb4cfe7b 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v3/validators/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar: z.AnyZodObject = z.object({ */ export const zFoo: z.ZodTypeAny = z.union([ z.object({ - foo: z.string().regex(/^\d{3}-\d{2}-\d{4}$/).optional(), + foo: z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).optional(), bar: zBar.optional(), baz: z.array(z.lazy(() => { return zFoo; @@ -26,7 +26,7 @@ export const zFoo: z.ZodTypeAny = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.object({ qux: z.string().optional() diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/default/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/default/zod.gen.ts index 7ec52bfb3..71ffcb269 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/default/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/default/zod.gen.ts @@ -740,10 +740,10 @@ export const zModelWithPattern = z.object({ name: z.string().max(255), enabled: z.optional(z.boolean().readonly()), modified: z.optional(z.iso.datetime().readonly()), - id: z.optional(z.string().regex(/^\d{2}-\d{3}-\d{4}$/)), - text: z.optional(z.string().regex(/^\w+$/)), - patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9']*$/)), - patternWithNewline: z.optional(z.string().regex(/aaa\nbbb/)), + id: z.optional(z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/)), + text: z.optional(z.string().regex(/^\\w+$/)), + patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9\']*$/)), + patternWithNewline: z.optional(z.string().regex(/aaa\\nbbb/)), patternWithBacktick: z.optional(z.string().regex(/aaa`bbb/)) }); @@ -1132,10 +1132,10 @@ export const zModelWithPropertiesWritable = z.object({ export const zModelWithPatternWritable = z.object({ key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/), name: z.string().max(255), - id: z.optional(z.string().regex(/^\d{2}-\d{3}-\d{4}$/)), - text: z.optional(z.string().regex(/^\w+$/)), - patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9']*$/)), - patternWithNewline: z.optional(z.string().regex(/aaa\nbbb/)), + id: z.optional(z.string().regex(/^\\d{2}-\\d{3}-\\d{4}$/)), + text: z.optional(z.string().regex(/^\\w+$/)), + patternWithSingleQuotes: z.optional(z.string().regex(/^[a-zA-Z0-9\']*$/)), + patternWithNewline: z.optional(z.string().regex(/aaa\\nbbb/)), patternWithBacktick: z.optional(z.string().regex(/aaa`bbb/)) }); diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-dates/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-dates/zod.gen.ts index 9b0132631..eafccda57 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-dates/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-dates/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar = z.object({ */ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/)), + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/)), bar: z.optional(zBar), get baz(): z.ZodOptional { return z.optional(z.array(z.lazy((): any => { @@ -28,7 +28,7 @@ export const zFoo = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-metadata/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-metadata/zod.gen.ts index 34e6fe096..68df7a4ee 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-metadata/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-metadata/zod.gen.ts @@ -18,7 +18,7 @@ export const zBar = z.object({ */ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/).register(z.globalRegistry, { + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/).register(z.globalRegistry, { description: 'This is foo property.' })), bar: z.optional(zBar), @@ -36,7 +36,7 @@ export const zFoo = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-types/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-types/zod.gen.ts index 649cd0534..5caf5fdca 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-types/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators-types/zod.gen.ts @@ -18,7 +18,7 @@ export type BarZodType = z.infer; */ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/)), + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/)), bar: z.optional(zBar), get baz(): z.ZodOptional { return z.optional(z.array(z.lazy((): any => { @@ -32,7 +32,7 @@ export const zFoo = z.union([ export type FooZodType = z.infer; -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export type BazZodType = z.infer; diff --git a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators/zod.gen.ts b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators/zod.gen.ts index 921e41c46..ca9cd2834 100644 --- a/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators/zod.gen.ts +++ b/packages/openapi-ts-tests/zod/v4/__snapshots__/3.1.x/v4/validators/zod.gen.ts @@ -16,7 +16,7 @@ export const zBar = z.object({ */ export const zFoo = z.union([ z.object({ - foo: z.optional(z.string().regex(/^\d{3}-\d{2}-\d{4}$/)), + foo: z.optional(z.string().regex(/^\\d{3}-\\d{2}-\\d{4}$/)), bar: z.optional(zBar), get baz(): z.ZodOptional { return z.optional(z.array(z.lazy((): any => { @@ -28,7 +28,7 @@ export const zFoo = z.union([ z.null() ]).default(null); -export const zBaz = z.string().regex(/foo\nbar/).readonly().default('baz'); +export const zBaz = z.string().regex(/foo\\nbar/).readonly().default('baz'); export const zQux = z.record(z.string(), z.object({ qux: z.optional(z.string()) diff --git a/packages/openapi-ts/src/openApi/3.0.x/parser/schema.ts b/packages/openapi-ts/src/openApi/3.0.x/parser/schema.ts index b80ca1949..1ca3f8c5d 100644 --- a/packages/openapi-ts/src/openApi/3.0.x/parser/schema.ts +++ b/packages/openapi-ts/src/openApi/3.0.x/parser/schema.ts @@ -1,6 +1,7 @@ import type { IR } from '../../../ir/types'; import { addItemsToSchema } from '../../../ir/utils'; import { refToName } from '../../../utils/ref'; +import { getPattern } from '../../common/parser/getPattern'; import type { SchemaState, SchemaType, @@ -98,7 +99,7 @@ const parseSchemaMeta = ({ } if (schema.pattern) { - irSchema.pattern = schema.pattern; + irSchema.pattern = getPattern(schema.pattern); } if (schema.readOnly) { diff --git a/packages/openapi-ts/src/openApi/3.1.x/parser/schema.ts b/packages/openapi-ts/src/openApi/3.1.x/parser/schema.ts index b2ac1c3f7..40e42e575 100644 --- a/packages/openapi-ts/src/openApi/3.1.x/parser/schema.ts +++ b/packages/openapi-ts/src/openApi/3.1.x/parser/schema.ts @@ -1,6 +1,7 @@ import type { IR } from '../../../ir/types'; import { addItemsToSchema } from '../../../ir/utils'; import { refToName } from '../../../utils/ref'; +import { getPattern } from '../../common/parser/getPattern'; import type { SchemaState, SchemaType, @@ -126,7 +127,7 @@ const parseSchemaMeta = ({ } if (schema.pattern) { - irSchema.pattern = schema.pattern; + irSchema.pattern = getPattern(schema.pattern); } if (schema.readOnly) { diff --git a/packages/openapi-ts/src/tsc/__tests__/types.test.ts b/packages/openapi-ts/src/tsc/__tests__/types.test.ts index bd1c94a63..14c96123d 100644 --- a/packages/openapi-ts/src/tsc/__tests__/types.test.ts +++ b/packages/openapi-ts/src/tsc/__tests__/types.test.ts @@ -73,4 +73,27 @@ describe('createRegularExpressionLiteral', () => { '/^data:image\\/svg\\+xml;base64,[A-Za-z0-9+\\/]+=*$/', ); }); + + it('should handle patterns with backslash followed by forward slash', () => { + // Pattern from getPattern() which has doubled backslashes: ^[^.][^\\/:*?"<>| ]*$ + // This represents a character class that excludes: backslash, forward slash, colon, etc. + // The \\ in the input string represents a single backslash in the regex + const result = createRegularExpressionLiteral({ + text: '^[^.][^\\\\/:*?"<>| ]*$', + }); + + // The output should have the backslashes preserved and the forward slash not escaped + // (because it's already preceded by a backslash) + expect(result.text).toBe('/^[^.][^\\\\/:*?"<>| ]*$/'); + }); + + it('should handle patterns with multiple consecutive backslashes', () => { + // Input: ^\d{3}-\d{2}-\d{4}$ (with doubled backslashes from getPattern) + const result = createRegularExpressionLiteral({ + text: '^\\\\d{3}-\\\\d{2}-\\\\d{4}$', + }); + + // Backslashes should be preserved as-is + expect(result.text).toBe('/^\\\\d{3}-\\\\d{2}-\\\\d{4}$/'); + }); }); diff --git a/packages/openapi-ts/src/tsc/types.ts b/packages/openapi-ts/src/tsc/types.ts index af869048b..a214a488f 100644 --- a/packages/openapi-ts/src/tsc/types.ts +++ b/packages/openapi-ts/src/tsc/types.ts @@ -1084,8 +1084,27 @@ export const createRegularExpressionLiteral = ({ const patternContent = text.startsWith('/') && text.endsWith('/') ? text.slice(1, -1) : text; - // Escape forward slashes in the pattern content, but only if they're not already escaped - const escapedPattern = patternContent.replace(/(? 0 && patternContent[i - 1] === '\\') { + // Forward slash is preceded by a backslash, no need to escape + escapedPattern += '/'; + } else { + // Forward slash needs escaping + escapedPattern += '\\/'; + } + } else { + escapedPattern += char; + } + } // Wrap with forward slashes const textWithSlashes = `/${escapedPattern}/`;