All files / layers / L2R / wiring defaultEditNav.ts

100% Statements 6/6
83.33% Branches 5/6
100% Functions 4/4
100% Lines 6/6

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  164x 1x 1x                 54x 10x 10x      
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))
  }
}