truncate una cadena en el medio con javascript

@ cualquiera tiene un método útil para truncar una cadena en el medio? Algo como

truncate ('abcdefghi', 8);

resultaría en

'abc...hi'

ACTUALIZAR

para ser un poco más completo

si la cadena es <= maxLength, devuelve la cadena de lo contrario, devuelva una versión de la cadena que sea maxLength, con un trozo sacado del medio y reemplazado con "...". cuente los tres caracteres de "..." en el total, por lo que si maxLength es 8, solo verá 5 caracteres de la cadena original

Respuestas a la pregunta(6)

Su respuesta a la pregunta