interface-faker
Version:
Generate mock data for TypeScript interfaces using faker.js
38 lines (36 loc) • 1.19 kB
TypeScript
/**
* Configuration options for mock generation
*/
interface FakeGeneratorOptions {
/** Default length for generated arrays */
arrayLength?: number;
/** Probability (0-1) that optional properties will be included */
optionalPropertyChance?: number;
/** Min/max length for Record objects */
recordLength?: {
min: number;
max: number;
};
}
/**
* Creates a function to generate fake data for a TypeScript interface.
*
* @param interfaceName Name of the interface to mock
* @param filePath Path to the file containing the interface (use __filename)
* @param options Generation options
* @returns Function that generates mock data: (count?: number) => T[]
*
* @example
* ```typescript
* interface User {
* id: string;
* name: string;
* email: string;
* }
*
* const generateUsers = mockInterface<User>("User", __filename);
* const users = generateUsers(5); // Generate 5 mock users
* ```
*/
declare function createFakeGenerator<T>(interfaceName: string, filePath: string, options?: FakeGeneratorOptions): (count?: number) => T[];
export { type FakeGeneratorOptions, createFakeGenerator, createFakeGenerator as default };