Пользовательский фильтр Angularjs и внедрение зависимостей

Я новичок в AngularJS, и я часто вижу этот синтаксис:

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

Приведенная выше функция представляет собой общий синтаксис, который я часто вижу, но проблема специфична для этого примера для пользовательского фильтра:

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

Я понимаю, что добавление функции в другую функцию дает мне возможность использовать внедрение зависимостей. Вот мои вопросы по этому поводу:

Получает ли фильтр функцию, возвращаемую из функции обтекания? Тогда может ли он использовать внедрение зависимостей, чтобы ввести значение в функцию?Теоретически это:

Этот код:

{{bookObj | newBookFilter}}

Станет:

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

И наконец{{}} вернет окончательное значение из функции.

Почему я не могу просто ввестиinput к первой функции, как:

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

Почему внедрение зависимостей будет работать только для возвращаемой функции?

Я знаю, что я действительно сбит с толку, Если кто-то может мне помочь, я буду очень благодарен, Спасибо всем и хорошего дня.

Ответы на вопрос(3)

Ваш ответ на вопрос