Angularjs filtro personalizado e inyección de dependencias.

Soy nuevo en AngularJS y veo mucho esta sintaxis:

function someFunc(){
   return function(input){
    return 'hello' + input;
  }
}

La función anterior es una sintaxis general que tiendo a ver mucho, pero el problema es específico con este ejemplo para el filtro personalizado:

angular.module('bookFilters', [])
    .filter('newBookFilter', function(){
          return function(input){
        return 'The Book: ' + input.name + 'is new !';
   };
});

Entiendo que envolver la función con otra función me da la oportunidad de usar la inyección de dependencia. Aquí están mis preguntas al respecto:

¿El filtro obtiene la función devuelta de la función de ajuste? Entonces, ¿es capaz de usar la inyección de dependencia para inyectar el valor en la función?Teóricamente que:

Este código:

{{bookObj | newBookFilter}}

Se convertirá:

{{   bookObj | function(input){return 'The Book: ' + input.name + 'is new !'; }  }}

Y finalmente el{{}} devolverá el valor final de la función.

¿Por qué no puedo inyectar elinput a la primera función como:

angular.module('bookFilters', [])
         .filter('newBookFilter', function(input){
             return 'The Book: ' + input.name + 'is new !';
     });

¿Por qué la inyección de dependencia solo funcionará en la función devuelta?

Sé que estoy realmente confundido aquí, si alguien puede ayudarme, estaré muy agradecido, gracias a todos y que tenga un buen día.

Respuestas a la pregunta(3)

Su respuesta a la pregunta