Examples
Working examples demonstrating Interface-Forge features. All examples are in the repository examples folder.
Quick Examples
Basic Factory
import { Factory } from 'interface-forge';
interface User {
id: string;
name: string;
email: string;
}
const userFactory = new Factory<User>((faker) => ({
id: faker.string.uuid(),
name: faker.person.fullName(),
email: faker.internet.email(),
}));
const user = userFactory.build();
const users = userFactory.batch(5);
Zod Integration
import { z } from 'zod/v4';
import { ZodFactory } from 'interface-forge/zod';
const userSchema = z.object({
id: z.string().uuid(),
email: z.string().email(),
age: z.number().min(18),
});
const userFactory = new ZodFactory(userSchema);
const user = userFactory.build();
Repository Examples
| Example | Description |
|---|---|
| 01. Basic Usage | Factory creation, builds, overrides |
| 02. Composition | Factory composition, object relationships |
| 03. Testing | Jest/Vitest integration, test patterns |
| 04. Circular References | Handling recursive data structures |
| 05. Advanced Patterns | State-based factories, weighted distributions |
| 06. Hooks | beforeBuild/afterBuild hooks, validation |
| 07. Zod Basic | Schema-based generation, validation |
| 08. Zod Advanced | Complex schemas, discriminated unions |
| 09. Zod Testing | Test data from schemas |
| 10. Extensions | Factory hierarchies, specialized variants |
| 11. Generators | CycleGenerator, SampleGenerator patterns |
| 12. Custom Handlers | Custom Zod type handlers |
Database Adapters
| Adapter | Description |
|---|---|
| Mongoose | MongoDB with Mongoose ORM |
| Prisma | Prisma ORM integration |
| TypeORM | TypeORM entity generation |
Running Examples
git clone https://github.com/Goldziher/interface-forge.git
cd interface-forge && pnpm install
npx tsx examples/01-basic-usage.ts