All files / app/codeCharta/state/selectors/allNecessaryRenderDataAvailable areAllNecessaryRenderDataAvailable.selector.ts

70% Statements 14/20
0% Branches 0/5
0% Functions 0/4
73.68% Lines 14/19

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 405x 5x 5x 5x 5x 5x 5x 5x 5x 5x   5x   5x                 5x       5x                          
import { createSelector } from "@ngrx/store"
import { fileStatesAvailable } from "../../../model/files/files.helper"
import { areaMetricSelector } from "../../store/dynamicSettings/areaMetric/areaMetric.selector"
import { colorMetricSelector } from "../../store/dynamicSettings/colorMetric/colorMetric.selector"
import { dynamicSettingsSelector } from "../../store/dynamicSettings/dynamicSettings.selector"
import { heightMetricSelector } from "../../store/dynamicSettings/heightMetric/heightMetric.selector"
import { filesSelector } from "../../store/files/files.selector"
import { metricDataSelector } from "../accumulatedData/metricData/metricData.selector"
import { areDynamicSettingsAvailable } from "./utils/areDynamicSettingsAvailable"
import { areMetricsAvailable } from "./utils/areMetricsAvailable"
 
const areFileStatesAvailableSelector = createSelector(filesSelector, files => fileStatesAvailable(files))
 
export const areChosenMetricsAvailableSelector = createSelector(
    metricDataSelector,
    areaMetricSelector,
    colorMetricSelector,
    heightMetricSelector,
    (metricData, areaMetric, colorMetric, heightMetric) =>
        areMetricsAvailable(metricData.nodeMetricData, [areaMetric, colorMetric, heightMetric])
)
 
const areDynamicSettingsAvailableSelector = createSelector(dynamicSettingsSelector, dynamicSettings =>
    areDynamicSettingsAvailable(dynamicSettings)
)
 
export const areAllNecessaryRenderDataAvailableSelector = createSelector(
    metricDataSelector,
    areFileStatesAvailableSelector,
    areChosenMetricsAvailableSelector,
    areDynamicSettingsAvailableSelector,
    (metricData, areFileStatesAvailable, areChosenMetricsAvailable, areDynamicSettingsAvailable) => {
        Iif (metricData.nodeMetricData === null || !areFileStatesAvailable || !areChosenMetricsAvailable || !areDynamicSettingsAvailable) {
            return false
        }
 
        return true
    }
)