How to use the rxjs-spy/operators.tag function in rxjs-spy

To help you get started, we’ve selected a few rxjs-spy examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github cloudfoundry / stratos / src / frontend / packages / core / src / shared / monitors / pagination-monitor.ts View on Github external
pagination$,
      schema
    );

    const allEntitiesObservable$ = this.store.select(getAPIRequestDataState);

    const entities$ = pagination$.pipe(
      distinctUntilChanged(),
      // Improve efficiency
      observeOn(asapScheduler),
      combineLatestOperator(entityObservable$),
      withLatestFrom(allEntitiesObservable$),
      map(([[pagination], allEntities]) => {
        return this.getLocalEntities(pagination, allEntities, schema).filter(ent => !!ent);
      }),
      tag('de-norming-local ' + schema.key),
    );

    const isMultiAction$ = combineLatest(
      pagination$,
      fetching$
    ).pipe(
      filter(([pagination, fetching]) => !fetching),
      map(([pagination]) => {
        return Object.values(pagination.pageRequests).reduce((entityKeys, pageRequest) => {
          const { entityConfig } = pageRequest;
          const key = entityCatalogue.getEntityKey(entityConfig);
          if (key && !entityKeys.includes(key)) {
            entityKeys.push(key);
          }
          return entityKeys;
        }, []).length > 1;
github cloudfoundry / stratos / src / frontend / packages / core / src / shared / components / list / data-sources-controllers / list-pagination-controller.ts View on Github external
filter(pag => !!pag),
      map(pag => {
        const pageSize = (dataSource.isLocal ? pag.clientPagination.pageSize : pag.params['results-per-page'])
          || defaultClientPaginationPageSize;
        const pageIndex = (dataSource.isLocal ? pag.clientPagination.currentPage : pag.currentPage) || 1;
        // const totalResults = (dataSource.isLocal ? pag.clientPagination.totalResults : pag.totalResults) || 0;
        return {
          totalResults: pag.totalResults,
          pageSize,
          pageIndex
        };
      }),
      distinctUntilChanged((x, y) => {
        return x.pageIndex === y.pageIndex && x.pageSize === y.pageSize && x.totalResults === y.totalResults;
      }),
      tag('list-pagination')
    );
  }
github cloudfoundry / stratos / src / frontend / packages / core / src / shared / monitors / pagination-monitor.ts View on Github external
const entityObservable$ = this.store
      .select(selectEntities(schema.key))
      .pipe(distinctUntilChanged());
    const allEntitiesObservable$ = this.store.select(getAPIRequestDataState);
    return pagination$.pipe(
      // Improve efficiency
      observeOn(asapScheduler),
      filter(pagination => this.hasPage(pagination) && !LocalPaginationHelpers.isPaginationMaxed(pagination)),
      distinctUntilChanged(this.isPageSameIsh),
      combineLatestOperator(entityObservable$),
      withLatestFrom(allEntitiesObservable$),
      map(([[pagination], allEntities]) => {
        const { page, pageSchema } = this.getPageInfo(pagination, pagination.currentPage, schema);
        return this.denormalizePage(page, pageSchema, allEntities);
      }),
      tag('de-norming ' + schema.key),
      publishReplay(1),
      refCount(),
    );
  }
github cloudfoundry / stratos / src / frontend / packages / core / src / app / shared / monitors / pagination-monitor.ts View on Github external
.pipe(distinctUntilChanged());
    const allEntitiesObservable$ = this.store.select(getAPIRequestDataState);
    return pagination$.pipe(
      // Improve efficiency
      observeOn(asapScheduler),
      filter(pagination => this.hasPage(pagination)),
      distinctUntilChanged(this.isPageSameIsh),
      combineLatestOperator(entityObservable$),
      withLatestFrom(allEntitiesObservable$),
      map(([[pagination], allEntities]) => {
        const page = pagination.ids[pagination.currentPage] || [];
        return page.length
          ? denormalize(page, [schema], allEntities).filter(ent => !!ent)
          : [];
      }),
      tag('de-norming ' + schema.key),
      publishReplay(1),
      refCount(),
    );
  }
github cloudfoundry / stratos / src / frontend / packages / core / src / app / shared / components / list / data-sources-controllers / list-pagination-controller.ts View on Github external
filter(pag => !!pag),
      map(pag => {
        const pageSize = (dataSource.isLocal ? pag.clientPagination.pageSize : pag.params['results-per-page'])
          || defaultClientPaginationPageSize;
        const pageIndex = (dataSource.isLocal ? pag.clientPagination.currentPage : pag.currentPage) || 1;
        // const totalResults = (dataSource.isLocal ? pag.clientPagination.totalResults : pag.totalResults) || 0;
        return {
          totalResults: pag.totalResults,
          pageSize,
          pageIndex
        };
      }),
      distinctUntilChanged((x, y) => {
        return x.pageIndex === y.pageIndex && x.pageSize === y.pageSize && x.totalResults === y.totalResults;
      }),
      tag('list-pagination')
    );
  }
github cloudfoundry / stratos / src / frontend / packages / core / src / shared / components / list / data-sources-controllers / list-data-source.ts View on Github external
private createSortObservable(): Observable {
    return this.pagination$.pipe(
      map(pag => ({
        direction: pag.params['order-direction'] as SortDirection,
        field: pag.params['order-direction-field']
      })),
      filter(x => !!x),
      distinctUntilChanged((x: ListSort, y: ListSort) => x.direction === y.direction && x.field === y.field),
      tag('list-sort')
    );
  }
github cloudfoundry / stratos / src / frontend / packages / core / src / app / shared / components / list / data-sources-controllers / list-pagination-controller.ts View on Github external
private createSortObservable(dataSource: IListDataSource): Observable {
    return dataSource.pagination$.pipe(
      map(pag => ({
        direction: pag.params['order-direction'] as SortDirection,
        field: pag.params['order-direction-field']
      })),
      filter(x => !!x),
      distinctUntilChanged((x, y) => {
        return x.direction === y.direction && x.field === y.field;
      }),
      tag('list-sort')
    );
  }
github cloudfoundry / stratos / src / frontend / packages / core / src / app / shared / components / list / data-sources-controllers / list-pagination-controller.ts View on Github external
private createFilterObservable(dataSource: IListDataSource): Observable {
    return dataSource.pagination$.pipe(
      map(pag => ({
        string: dataSource.isLocal ? pag.clientPagination.filter.string : dataSource.getFilterFromParams(pag),
        items: { ...pag.clientPagination.filter.items }
      })),
      tag('list-filter')
    );
  }
github cloudfoundry / stratos / src / frontend / packages / core / src / shared / components / list / data-sources-controllers / list-data-source.ts View on Github external
private createFilterObservable(): Observable {
    return this.pagination$.pipe(
      map(pag => ({
        string: this.isLocal ? pag.clientPagination.filter.string : this.getFilterFromParams(pag),
        items: { ...pag.clientPagination.filter.items },
        filterKey: pag.clientPagination.filter.filterKey,
      })),
      tag('list-filter')
    );
  }
}

rxjs-spy

A debugging library for RxJS

MIT
Latest version published 3 years ago

Package Health Score

45 / 100
Full package analysis