'use strict'

const fs = require('fs')
const path = require('path')
const findParent = require('./find-parent')

function findHooksDir(dir) {
  if (dir) {
    let gitDir = path.join(dir, '.git')
    if (!fs.existsSync(gitDir)) {
      return
    }

    const stats = fs.lstatSync(gitDir)

    if (stats.isFile()) {
      // Expect following format
      // git: pathToGit
      // On Windows pathToGit can contain ':' (example "gitdir: C:/Some/Path")
      const gitFileData = fs.readFileSync(gitDir, 'utf-8')
      gitDir = gitFileData
        .split(':')
        .slice(1)
        .join(':')
        .trim()
    }

    return path.resolve(dir, gitDir, 'hooks')
  }
}

module.exports = findHooksDir