All files / src/typeBuilder OptionalTypeBuilder.ts

100% Statements 5/5
100% Branches 1/1
100% Functions 2/2
100% Lines 5/5

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    1x     1x       2x 1x 1x      
import type { ITypeBuilder } from './ITypeBuilder';
 
export class OptionalTypeBuilder<Raw, T> implements ITypeBuilder<Raw | null, T | null> {
 
    public constructor(
        private readonly builder: ITypeBuilder<Raw, T>
    ) {}
 
    public build(value: Raw | null): T | null {
        if (value === null)
            return null;
        return this.builder.build(value);
    }
}