26 lines
734 B
TypeScript
26 lines
734 B
TypeScript
import type {
|
|
IProcessWalletTransactionPresenter,
|
|
ProcessWalletTransactionResultDTO,
|
|
ProcessWalletTransactionViewModel,
|
|
} from '@core/payments/application/presenters/IProcessWalletTransactionPresenter';
|
|
|
|
export class ProcessWalletTransactionPresenter implements IProcessWalletTransactionPresenter {
|
|
private result: ProcessWalletTransactionViewModel | null = null;
|
|
|
|
reset() {
|
|
this.result = null;
|
|
}
|
|
|
|
present(dto: ProcessWalletTransactionResultDTO) {
|
|
this.result = dto;
|
|
}
|
|
|
|
getViewModel(): ProcessWalletTransactionViewModel | null {
|
|
return this.result;
|
|
}
|
|
|
|
get viewModel(): ProcessWalletTransactionViewModel {
|
|
if (!this.result) throw new Error('Presenter not presented');
|
|
return this.result;
|
|
}
|
|
} |