truncar uma string no meio com javascript

anyone tem um método útil para truncar uma string no meio? Algo como

truncate ('abcdefghi', 8);

resultaria em

'abc...hi'

ATUALIZAR

para ser um pouco mais completo

se a string for <= maxLength, retorne a string caso contrário, retorne uma versão da string maxLength, com um pedaço retirado do meio e substituído por "...". conte os três caracteres de "..." no total; portanto, se maxLength for 8, você verá apenas 5 caracteres da string original

questionAnswers(6)

yourAnswerToTheQuestion