efate
Version:
javascript test fixture generator. Autofixturejs 2.0
43 lines (42 loc) • 2.49 kB
TypeScript
import Field from '../field';
import Fixture from '../fixture';
import { DateBuilderOptions, LoremIpsumOptions } from '../types';
import { ArrayBuilderOptions } from './array-field-builder';
import { ArrayOfFixtureBuilderOptions } from './array-of-fixture-builder';
export interface FieldTypeSelector {
asBoolean: () => void;
asNumber: () => void;
asString: () => void;
withValue: (value: string) => void;
asConstant: (constantValue: string) => void;
firstName: () => void;
lastName: () => void;
fullName: () => void;
pickFrom: (options: any[]) => void;
asDate: (options?: DateBuilderOptions) => void;
fromFixture: <T>(fixture: Fixture<T>) => void;
asArray: <T>(options?: ArrayBuilderOptions) => void;
asEmail: () => void;
as: <T>(fn: (increment: number) => T) => void;
arrayOfFixture: <T>(options: ArrayOfFixtureBuilderOptions<T>) => void;
asLoremIpsum: (options?: LoremIpsumOptions) => void;
extends: <T>(fixture: Fixture<T>) => void;
}
export declare const fieldTypeGenerators: {
asBoolean: (fieldName: string) => (increment: number) => Field<boolean>;
asNumber: (fieldName: string) => (increment: number) => Field<number>;
asString: (fieldName: string) => (increment: number) => Field<string>;
withValue: (fieldName: string, [value]: [string]) => (increment: number) => Field<string>;
asConstant: (fieldName: string, [constantValue]: [string]) => () => Field<string>;
firstName: (fieldName: string) => () => Field<any>;
lastName: (fieldName: string) => () => Field<any>;
fullName: (fieldName: string) => () => Field<string>;
pickFrom: (fieldName: string, [options]: [any[]]) => (increment: number) => Field<any>;
asDate: (fieldName: string, [options]?: [(DateBuilderOptions | undefined)?]) => (increment: number) => Field<Date>;
fromFixture: <T>(fieldName: string, [fixture]: [Fixture<T>]) => (increment: number) => Field<T>;
asArray: (fieldName: string, [options]: [ArrayBuilderOptions]) => () => Field<string[]>;
asEmail: (fieldName: string) => (increment: number) => Field<string>;
as: <T_1>(fieldName: string, [func]: [(inc: number) => T_1]) => (increment: number) => Field<T_1>;
arrayOfFixture: <T_2>(fieldName: string, [{ fixture, count }]: ArrayOfFixtureBuilderOptions<T_2>[]) => (increment: number) => Field<T_2[]>;
asLoremIpsum: (fieldName: string, [options]: [(Partial<LoremIpsumOptions> | undefined)?]) => (increment: number) => Field<string>;
};