Skip to content

Commit 13054da

Browse files
committed
refactor(common): simplified type inference for custom decorators
1 parent 15424e6 commit 13054da

1 file changed

Lines changed: 2 additions & 9 deletions

File tree

packages/common/decorators/http/create-route-param-metadata.decorator.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,6 @@ const assignCustomMetadata = (
2828

2929
export type ParamDecoratorEnhancer = ParameterDecorator;
3030

31-
type Unpacked<T> = T extends (infer U)[]
32-
? U
33-
: T extends (...args: any[]) => infer A
34-
? A
35-
: T extends Promise<infer B>
36-
? B
37-
: T;
3831
/**
3932
* Defines HTTP route param decorator
4033
*
@@ -44,12 +37,12 @@ export function createParamDecorator<T>(
4437
factory: CustomParamFactory,
4538
enhancers: ParamDecoratorEnhancer[] = [],
4639
): (
47-
...dataOrPipes: (Type<PipeTransform> | PipeTransform | Unpacked<T>)[]
40+
...dataOrPipes: (Type<PipeTransform> | PipeTransform | T)[]
4841
) => ParameterDecorator {
4942
const paramtype = uuid();
5043
return (
5144
data?,
52-
...pipes: (Type<PipeTransform> | PipeTransform | Unpacked<T>)[]
45+
...pipes: (Type<PipeTransform> | PipeTransform | T)[]
5346
): ParameterDecorator => (target, key, index) => {
5447
const args =
5548
Reflect.getMetadata(ROUTE_ARGS_METADATA, target.constructor, key) || {};

0 commit comments

Comments
 (0)