export class NatsRecord { constructor( public readonly data: TData, public readonly headers?: THeaders, ) {} } export class NatsRecordBuilder { private headers?: any; constructor(private data?: TData) {} public setHeaders(headers: THeaders): this { this.headers = headers; return this; } public setData(data: TData): this { this.data = data; return this; } public build(): NatsRecord { return new NatsRecord(this.data, this.headers); } }