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