Fix route parameter typing to use SuffixTypeArray

master
Garrett Mills 2 years ago
parent 705bb20db1
commit 2e43b5bda9

@ -1,6 +1,6 @@
{ {
"name": "@extollo/lib", "name": "@extollo/lib",
"version": "0.9.47", "version": "0.9.48",
"description": "The framework library that lifts up your code.", "description": "The framework library that lifts up your code.",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

@ -1,4 +1,4 @@
import {Awaitable, Collection, Either, ErrorWithContext, Maybe, Pipeline, PrefixTypeArray, right} from '../../util' import {Awaitable, Collection, Either, ErrorWithContext, Maybe, Pipeline, SuffixTypeArray, right} from '../../util'
import {ResponseFactory} from '../response/ResponseFactory' import {ResponseFactory} from '../response/ResponseFactory'
import {HTTPMethod, Request} from '../lifecycle/Request' import {HTTPMethod, Request} from '../lifecycle/Request'
import {constructable, Constructable, Container, Instantiable, isInstantiableOf, TypedDependencyKey} from '../../di' import {constructable, Constructable, Container, Instantiable, isInstantiableOf, TypedDependencyKey} from '../../di'
@ -317,8 +317,8 @@ export class Route<TReturn extends ResponseObject, THandlerParams extends unknow
public parameterMiddleware<T, THandlerArgs extends any[] = []>( public parameterMiddleware<T, THandlerArgs extends any[] = []>(
handler: ParameterProvidingMiddleware<T> | Instantiable<ParameterMiddleware<T, THandlerArgs>>, handler: ParameterProvidingMiddleware<T> | Instantiable<ParameterMiddleware<T, THandlerArgs>>,
...handlerArgs: THandlerArgs ...handlerArgs: THandlerArgs
): Route<TReturn, PrefixTypeArray<T, THandlerParams>> { ): Route<TReturn, SuffixTypeArray<THandlerParams, T>> {
const route = new Route<TReturn, PrefixTypeArray<T, THandlerParams>>( const route = new Route<TReturn, SuffixTypeArray<THandlerParams, T>>(
this.method, this.method,
this.route, this.route,
) )
@ -409,7 +409,7 @@ export class Route<TReturn extends ResponseObject, THandlerParams extends unknow
return this return this
} }
public input<T>(validator: ValidatorFactory<T>): Route<TReturn, PrefixTypeArray<Valid<T>, THandlerParams>> { public input<T>(validator: ValidatorFactory<T>): Route<TReturn, SuffixTypeArray<THandlerParams, Valid<T>>> {
if ( !(validator instanceof Validator) ) { if ( !(validator instanceof Validator) ) {
validator = validator() validator = validator()
} }
@ -422,7 +422,7 @@ export class Route<TReturn extends ResponseObject, THandlerParams extends unknow
return this.parameterMiddleware(validateMiddleware(validator)) return this.parameterMiddleware(validateMiddleware(validator))
} }
public passingRequest(): Route<TReturn, PrefixTypeArray<Request, THandlerParams>> { public passingRequest(): Route<TReturn, SuffixTypeArray<THandlerParams, Request>> {
return this.parameterMiddleware(request => right(request)) return this.parameterMiddleware(request => right(request))
} }

Loading…
Cancel
Save