All files / layers / L2R / wiring defaultEditNav.ts

100% Statements 3/3
66.66% Branches 2/3
100% Functions 2/2
100% Lines 3/3

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  232x 2x 2x                            
import type { DetailConfig } from '../../interfaces'
 
export type NavigatorFn = (path: string) => void
 
export interface DefaultEditNavConfig {
  config: DetailConfig
  id: string
  navigate: NavigatorFn
  pathname: string
}
 
export function createDefaultEditNavHandler({ config, id, navigate, pathname }: DefaultEditNavConfig): () => void {
  return () => {
    const target = config.editTargetOverride ?? config.actionTargets?.edit ?? `${pathname.replace(/\/+$/, '')}/edit`
    navigate(target.replace(':id', id))
  }
}