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

37.5% Statements 3/8
100% Branches 0/0
0% Functions 0/4
37.5% Lines 3/8

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              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 { mapValues } from 'lodash-es'
 
import type { Action, ActionType, State } from './types'
 
export function resetSearch(state: State, _action: Action<ActionType.ResetSearch>): State {
  return produce(state, draft => {
    draft.searchData = { currentIndex: 0, text: '', linesWithResults: [] }
    draft.dataMap = mapValues(state.dataMap, unit => {
      return {
        ...unit,
        data: unit.data.map(({ searchIndices, ...rest }) => rest)
      }
    })
  })
}