是否有 FeathersJs 语法用于在单个命令中创建带挂钩的端点?

Is there FeathersJs syntax for creating an endpoint with hooks in a single command?

我找到了如何向现有服务添加挂钩:

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

但我很确定这种语法可以改进,我只是找不到示例。尝试搜索源代码也无济于事,它的类型定义非常复杂。

是否有 FeathersJs 语法用于在单个命令中创建带挂钩的端点?

像这样:

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

你可以创建一个这样的函数:

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

然后像这样使用它:

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

我这样做的原因是我想要一个没有连接到端点的服务,以便在 graphql 中使用。另外,我不喜欢通过字符串 id 连接东西。