insight-tcr
Version:
A blockchain explorer for Bitcore
38 lines (35 loc) • 1.13 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, switchMap } from "rxjs/operators";
import { ApiService } from "../../services/api/api.service";
import { IBlock, StreamingFindOptions } from "../../types/bitcore-node";
import { Chain } from "../../types/chains";
({
selector: 'app-block-list',
templateUrl: './block-list.component.html',
styleUrls: ['./block-list.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class BlockListComponent implements OnInit {
()
chain$: Observable<Chain>;
()
query$: Observable<StreamingFindOptions<IBlock>>;
()
displayValueCode = 'BCH';
blocks$: Observable<IBlock>;
constructor(private apiService: ApiService) {}
ngOnInit() {
this.blocks$ = combineLatest(this.chain$, this.query$).pipe(
distinctUntilChanged(equal),
switchMap(([chain, query]) => this.apiService.streamBlocks(chain, query)),
distinctUntilChanged(equal)
);
}
}