#!/usr/bin/env bash

./prepend-jsdoc-module-name src

for i in $( find src -type d | grep "/" ) 
do 
  ./create-index "$i"
done

header="import { HKT, Type, URIS } from 'fp-ts/lib/HKT'

declare module 'fp-ts/lib/HKT' {
  interface URI2HKT<A> {
    'Array': A[],
  }
}"
dirs=''
files=''
exportFrom=$( printf %s "export * from" )

for i in $( find src -depth 1 | sort -r )
do
  moduleName=$( x="${i//src}" && echo "${x//.ts}" )
  if [[ -d "$i" ]]
  then 
    dirs=$( echo -e "$exportFrom '.$moduleName/index'\n$dirs" )
  else
    files=$( echo -e "$exportFrom '.$moduleName'\n$files" )
  fi
done

echo -e "$header\n\n$dirs\n\n$files" > ./src/index.ts