nested-builder
Version:
Tersely construct complex test fixture objects with the builder pattern.
13 lines • 759 B
TypeScript
import { Template, Builder, Element } from "./types";
export declare abstract class BuilderBase<R> {
private template;
private underConstruction;
constructor(template: Template<R>);
build(): R;
protected setScalar<F extends keyof R>(fieldName: F, value: R[F]): this;
protected addScalar<F extends keyof R, E extends Element<R[F]>>(fieldName: F, value: E): this;
protected setNested<F extends keyof R, B extends Builder<R[F], Template<R[F]>>>(fieldName: F, builder: B, block: (builder: B) => any): this;
protected addNested<F extends keyof R, E extends Element<R[F]>, B extends Builder<E, Template<E>>>(fieldName: F, builder: B, block: (builder: B) => any): this;
private ensureArray;
}
//# sourceMappingURL=builder.d.ts.map