All files / modules/70-pipeline/components/LogsContent/LogsState toggleSection.ts

42.86% Statements 3/7
100% Branches 0/0
0% Functions 0/2
42.86% Lines 3/7

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              34x 34x       34x                
/*
 * Copyright 2021 Harness Inc. All rights reserved.
 * Use of this source code is governed by the PolyForm Shield 1.0.0 license
 * that can be found in the licenses directory at the root of this repository, also available at
 * https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt.
 */
 
import produce from 'immer'
import { set } from 'lodash-es'
 
import type { Action, ActionType, State } from './types'
 
export function toggleSection(state: State, action: Action<ActionType.ToggleSection>): State {
  const { payload } = action
 
  return produce(state, draft => {
    set(draft.dataMap[payload], 'isOpen', !state.dataMap[payload].isOpen)
    set(draft.dataMap[payload], 'manuallyToggled', true)
  })
}