insight-tcr
Version:
A blockchain explorer for Bitcore
41 lines (38 loc) • 1.2 kB
text/typescript
import {
ChangeDetectionStrategy,
Component,
Input,
OnInit
} from "@angular/core";
import * as equal from "fast-deep-equal";
import { combineLatest, Observable } from "rxjs";
import { distinctUntilChanged, map, switchMap } from "rxjs/operators";
import { ApiService } from "../../services/api/api.service";
import { CoinJSON, CoinListingJSON } from "../../types/bitcore-node";
import { Chain } from "../../types/chains";
({
selector: 'app-outputs-list',
templateUrl: './outputs-list.component.html',
styleUrls: ['./outputs-list.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class OutputsListComponent implements OnInit {
()
chain$: Observable<Chain>;
()
txHash$: Observable<string>;
()
displayValueCode = 'BCH';
outputs$: Observable<CoinJSON[]>;
constructor(private apiService: ApiService) {}
ngOnInit() {
this.outputs$ = combineLatest(this.chain$, this.txHash$).pipe(
distinctUntilChanged(equal),
switchMap(([chain, txHash]) =>
this.apiService.streamTransactionCoins(chain, txHash)
),
map(listing => listing.outputs),
distinctUntilChanged(equal)
);
}
}