efate
Version:
javascript test fixture generator. Autofixturejs 2.0
16 lines (15 loc) • 1.11 kB
TypeScript
import Fixture from './fixture';
import { FieldTypeSelector } from './property-builders/field-generator';
import { BuilderGeneratorFunction } from './types';
declare type FixtureFactoryExtensions = Record<string, (...args: any) => BuilderGeneratorFunction<any>>;
declare type ExtendsFixture = {
extends: (...fixture: Array<Fixture<any>>) => void;
};
declare type DefineFieldsParam<T, TFieldTypeSelector> = ExtendsFixture & {
[P in keyof T]: TFieldTypeSelector;
};
declare type DefineFields<T, TFieldTypeSelector> = (t: DefineFieldsParam<T, TFieldTypeSelector>) => void;
export declare function defineFixtureFactory<TFieldSelectorExtension>(...extensions: FixtureFactoryExtensions[]): <T>(defineFields: DefineFields<T, FieldTypeSelector & TFieldSelectorExtension>) => Fixture<T>;
export declare function createFixtureFactory<TFieldSelectorExtension>(...extensions: FixtureFactoryExtensions[]): <T>(defineFields: DefineFields<T, FieldTypeSelector & TFieldSelectorExtension>) => Fixture<T>;
export declare function defineFixture<T>(defineFields: DefineFields<T, FieldTypeSelector>): Fixture<T>;
export {};