---
source: crates/normalize-typegen/tests/codegen.rs
assertion_line: 60
expression: output
---
// Auto-generated by normalize-typegen
import { z } from "zod";

/** Physical address */
export const AddressSchema = z.object({
  city: z.string(),
  country: z.string(),
  postalCode: z.string().optional(),
  street: z.string(),
});

/** User account status */
export const StatusSchema = z.enum(["pending", "active", "suspended", "deleted"]);

/** A user account */
export const UserSchema = z.object({
  address: AddressSchema.optional(),
  age: z.number().int().optional(),
  /** Email address */
  email: z.string(),
  /** Unique identifier */
  id: z.string(),
  metadata: z.record(z.string(), z.string()).optional(),
  name: z.string().optional(),
  status: StatusSchema,
  tags: z.array(z.string()).optional(),
});
