hisptz/90-90-90-cascade-graph-widget

View on GitHub
src/app/store/selectors/analytics.selector.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { createSelector } from '@ngrx/store';
import { getRootState, State } from '../reducers';
import { AnalyticsState, adapter } from '../states/analytics.state';

export const getAnalyticsSnapshot = createSelector(
    getRootState,
    (state: State) => state.analytics
);

export const {
    selectEntities: getAnalyticsEntities,
    selectAll: getAllAnalytics,
    selectIds: getAnalyticsIds,
    selectTotal: getTotalAnalytics,
} = adapter.getSelectors(getAnalyticsSnapshot);

export const getAnalytics = createSelector(
    getAnalyticsSnapshot,
    (analyticsState: AnalyticsState) => analyticsState.chartAnalytics
);

export const getAnalyticsLoading = createSelector(
    getAnalyticsSnapshot,
    (analyticsState: AnalyticsState) => analyticsState.loading
);

export const getAnalyticsLoaded = createSelector(
    getAnalyticsSnapshot,
    (analyticsState: AnalyticsState) => analyticsState.loaded
);

export const getAnalyticsHasError = createSelector(
    getAnalyticsSnapshot,
    (analyticsState: AnalyticsState) => analyticsState.hasError
);

export const getAnalyticsError = createSelector(
    getAnalyticsSnapshot,
    (analyticsState: AnalyticsState) => analyticsState.error
);