-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Open
Labels
supportQuestions, discussions, and general supportQuestions, discussions, and general support
Description
Runtime
Node
Runtime version
18
Module version
21.3.3
Used with
standalone
Any other relevant information
No response
How can we help?
I would like the handler to explicitly return the DataResultObject type (my object type), the handler type declaration in Hapi looks like this:
export namespace Lifecycle {
/**
* Lifecycle methods are the interface between the framework and the application. Many of the request lifecycle steps:
* extensions, authentication, handlers, pre-handler methods, and failAction function values are lifecycle methods
* provided by the developer and executed by the framework.
* Each lifecycle method is a function with the signature await function(request, h, [err]) where:
* * request - the request object.
* * h - the response toolkit the handler must call to set a response and return control back to the framework.
* * err - an error object available only when the method is used as a failAction value.
*/
type Method<
Refs extends ReqRef = ReqRefDefaults,
R extends ReturnValue<any> = ReturnValue<Refs>
> = (
this: MergeRefs<Refs>['Bind'],
request: Request<Refs>,
h: ResponseToolkit<Refs>,
err?: Error | undefined
) => R;So I declare the route object like this:
const poemsRoutings: ServerRoute<ReqRefDefaults, DataResultsObject>[] = [
{
method: "GET",
path: "/api/poems/pages/count",
options: {
handler: poems.getPoemsPagesCountHandler,
auth: {
mode: "try"
}
}
},and the environment (vscode) correctly develops this type, showing that my type will be returned:
But at the same time, I get a TS compilation error (which you can also see in the screenshot) that reads:
Generic type 'ServerRoute<Refs>' requires between 0 and 1 type arguments.ts(2707)
How to do this correctly?
RodolpheGohard
Metadata
Metadata
Assignees
Labels
supportQuestions, discussions, and general supportQuestions, discussions, and general support
