Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1x 1x 1x 1x | import type { ITypeBuilder } from './ITypeBuilder';
export class IntersectionTypeBuilder<Raw1, Raw2, T1 extends Record<PropertyKey, unknown>, T2 extends Record<PropertyKey, unknown>> implements ITypeBuilder<Raw1 & Raw2, T1 & T2> {
public constructor(
private readonly builder1: ITypeBuilder<Raw1, T1>,
private readonly builder2: ITypeBuilder<Raw2, T2>
) {}
public build(value: Raw1 & Raw2): T1 & T2 {
return {
...this.builder1.build(value),
...this.builder2.build(value)
};
}
}
|