Skip to main content

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

ExampleDescription
01. Basic UsageFactory creation, builds, overrides
02. CompositionFactory composition, object relationships
03. TestingJest/Vitest integration, test patterns
04. Circular ReferencesHandling recursive data structures
05. Advanced PatternsState-based factories, weighted distributions
06. HooksbeforeBuild/afterBuild hooks, validation
07. Zod BasicSchema-based generation, validation
08. Zod AdvancedComplex schemas, discriminated unions
09. Zod TestingTest data from schemas
10. ExtensionsFactory hierarchies, specialized variants
11. GeneratorsCycleGenerator, SampleGenerator patterns
12. Custom HandlersCustom Zod type handlers

Database Adapters

AdapterDescription
MongooseMongoDB with Mongoose ORM
PrismaPrisma ORM integration
TypeORMTypeORM 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