Conditional Building & Templates
Create dynamic, reusable object construction patterns with conditional logic and templates.
Conditional Building
Build different objects based on runtime conditions.
Simple Conditionals
import { pipe } from '@noony-serverless/type-builder';
interface User {
id: number;
name: string;
role: 'admin' | 'user' | 'guest';
active: boolean;
}
// Simple ternary
const buildUser = (isAdmin: boolean) =>
pipe<User>(
userBuilder.withId(1),
userBuilder.withName('Alice'),
isAdmin ? userBuilder.withRole('admin') : userBuilder.withRole('user')
);
const admin = userBuilder.build(buildUser(true)(userBuilder.empty()));
const user = userBuilder.build(buildUser(false)(userBuilder.empty()));