Существует ли синтаксис FeathersJ для создания конечной точки с перехватами в одной команде?

Я нашел, как добавить хуки в существующий сервис:

app.use("/hello", { get: async () => "Hello World"});
app.service('/hello').hooks({
  before: { create: someHookFn }
});

Но я почти уверен, что этот синтаксис можно улучшить, и я просто не могу найти пример. Попытка поиска в исходном коде также не помогла, она довольно сложна с точки зрения определений типов.

Существует ли синтаксис FeathersJ для создания конечной точки с перехватами в одной команде?

Что-то вроде этого:

// non-functional code
app.use("/hello", {
  service: { get: async () => "Hello World"},
  hooks: {
    before: { create: someHookFn }
  }
});

1 ответ

Вы можете сделать функцию, которая делает это так:

function createService(service, hooks) {
  return feathers().use('', service).service('').hooks(hooks);
}

Тогда используйте это так:

app.use("/hello", createService({
  { get: async () => "Hello World"},
  { before: { create: someHookFn } }
}));

Причина, по которой я сделал это, заключалась в том, что я хотел иметь службу, не подключенную к конечной точке, для использования в graphql. Кроме того, мне не нравится связывать вещи по строковому идентификатору.

Другие вопросы по тегам