@deepkit/http 1.0.1-alpha.58 → 1.0.1-alpha.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/coverage/clover.xml +1086 -0
  2. package/coverage/coverage-final.json +12 -0
  3. package/coverage/lcov-report/base.css +224 -0
  4. package/coverage/lcov-report/block-navigation.js +79 -0
  5. package/coverage/lcov-report/favicon.png +0 -0
  6. package/coverage/lcov-report/index.html +126 -0
  7. package/coverage/lcov-report/prettify.css +1 -0
  8. package/coverage/lcov-report/prettify.js +2 -0
  9. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  10. package/coverage/lcov-report/sorter.js +170 -0
  11. package/coverage/lcov-report/src/controllers.ts.html +113 -0
  12. package/coverage/lcov-report/src/decorator.ts.html +1280 -0
  13. package/coverage/lcov-report/src/filter.ts.html +734 -0
  14. package/coverage/lcov-report/src/http.ts.html +2192 -0
  15. package/coverage/lcov-report/src/index.html +246 -0
  16. package/coverage/lcov-report/src/kernel.ts.html +260 -0
  17. package/coverage/lcov-report/src/middleware.ts.html +428 -0
  18. package/coverage/lcov-report/src/model.ts.html +937 -0
  19. package/coverage/lcov-report/src/module.config.ts.html +89 -0
  20. package/coverage/lcov-report/src/module.ts.html +245 -0
  21. package/coverage/lcov-report/src/router.ts.html +2318 -0
  22. package/coverage/lcov-report/tests/index.html +111 -0
  23. package/coverage/lcov-report/tests/utils.ts.html +176 -0
  24. package/coverage/lcov.info +2225 -0
  25. package/dist/cjs/src/controllers.d.ts +4 -4
  26. package/dist/cjs/src/controllers.js +3 -0
  27. package/dist/cjs/src/controllers.js.map +1 -1
  28. package/dist/cjs/src/decorator.d.ts +29 -94
  29. package/dist/cjs/src/decorator.js +53 -118
  30. package/dist/cjs/src/decorator.js.map +1 -1
  31. package/dist/cjs/src/filter.d.ts +1 -0
  32. package/dist/cjs/src/filter.js +11 -17
  33. package/dist/cjs/src/filter.js.map +1 -1
  34. package/dist/cjs/src/http.d.ts +5 -3
  35. package/dist/cjs/src/http.js +91 -55
  36. package/dist/cjs/src/http.js.map +1 -1
  37. package/dist/cjs/src/kernel.d.ts +3 -3
  38. package/dist/cjs/src/kernel.js +5 -25
  39. package/dist/cjs/src/kernel.js.map +1 -1
  40. package/dist/cjs/src/logger.d.ts +2 -2
  41. package/dist/cjs/src/logger.js +4 -8
  42. package/dist/cjs/src/logger.js.map +1 -1
  43. package/dist/cjs/src/middleware.d.ts +5 -1
  44. package/dist/cjs/src/middleware.js +15 -3
  45. package/dist/cjs/src/middleware.js.map +1 -1
  46. package/dist/cjs/src/model.d.ts +69 -2
  47. package/dist/cjs/src/model.js +96 -25
  48. package/dist/cjs/src/model.js.map +1 -1
  49. package/dist/cjs/src/module.config.d.ts +3 -4
  50. package/dist/cjs/src/module.config.js +8 -6
  51. package/dist/cjs/src/module.config.js.map +1 -1
  52. package/dist/cjs/src/module.d.ts +2 -3
  53. package/dist/cjs/src/module.js +4 -2
  54. package/dist/cjs/src/module.js.map +1 -1
  55. package/dist/cjs/src/router.d.ts +25 -54
  56. package/dist/cjs/src/router.js +157 -175
  57. package/dist/cjs/src/router.js.map +1 -1
  58. package/dist/cjs/src/static-serving.d.ts +1 -0
  59. package/dist/cjs/src/static-serving.js +38 -34
  60. package/dist/cjs/src/static-serving.js.map +1 -1
  61. package/dist/cjs/src/utils.js +1 -0
  62. package/dist/cjs/tests/filter.spec.js +61 -47
  63. package/dist/cjs/tests/filter.spec.js.map +1 -1
  64. package/dist/cjs/tests/middleware.spec.d.ts +1 -1
  65. package/dist/cjs/tests/middleware.spec.js +157 -145
  66. package/dist/cjs/tests/middleware.spec.js.map +1 -1
  67. package/dist/cjs/tests/model.spec.js +4 -4
  68. package/dist/cjs/tests/model.spec.js.map +1 -1
  69. package/dist/cjs/tests/module.spec.js +4 -3
  70. package/dist/cjs/tests/module.spec.js.map +1 -1
  71. package/dist/cjs/tests/router.spec.d.ts +1 -1
  72. package/dist/cjs/tests/router.spec.js +311 -322
  73. package/dist/cjs/tests/router.spec.js.map +1 -1
  74. package/dist/cjs/tests/utils.js +5 -2
  75. package/dist/cjs/tests/utils.js.map +1 -1
  76. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  77. package/dist/esm/src/controllers.d.ts +4 -4
  78. package/dist/esm/src/controllers.js +3 -0
  79. package/dist/esm/src/controllers.js.map +1 -1
  80. package/dist/esm/src/decorator.d.ts +29 -94
  81. package/dist/esm/src/decorator.js +49 -114
  82. package/dist/esm/src/decorator.js.map +1 -1
  83. package/dist/esm/src/filter.d.ts +1 -0
  84. package/dist/esm/src/filter.js +11 -18
  85. package/dist/esm/src/filter.js.map +1 -1
  86. package/dist/esm/src/http.d.ts +5 -3
  87. package/dist/esm/src/http.js +89 -55
  88. package/dist/esm/src/http.js.map +1 -1
  89. package/dist/esm/src/kernel.d.ts +3 -3
  90. package/dist/esm/src/kernel.js +6 -27
  91. package/dist/esm/src/kernel.js.map +1 -1
  92. package/dist/esm/src/logger.d.ts +2 -2
  93. package/dist/esm/src/logger.js +4 -9
  94. package/dist/esm/src/logger.js.map +1 -1
  95. package/dist/esm/src/middleware.d.ts +5 -1
  96. package/dist/esm/src/middleware.js +12 -0
  97. package/dist/esm/src/middleware.js.map +1 -1
  98. package/dist/esm/src/model.d.ts +69 -2
  99. package/dist/esm/src/model.js +92 -24
  100. package/dist/esm/src/model.js.map +1 -1
  101. package/dist/esm/src/module.config.d.ts +3 -4
  102. package/dist/esm/src/module.config.js +6 -5
  103. package/dist/esm/src/module.config.js.map +1 -1
  104. package/dist/esm/src/module.d.ts +2 -3
  105. package/dist/esm/src/module.js +5 -3
  106. package/dist/esm/src/module.js.map +1 -1
  107. package/dist/esm/src/router.d.ts +25 -54
  108. package/dist/esm/src/router.js +154 -172
  109. package/dist/esm/src/router.js.map +1 -1
  110. package/dist/esm/src/static-serving.d.ts +1 -0
  111. package/dist/esm/src/static-serving.js +29 -25
  112. package/dist/esm/src/static-serving.js.map +1 -1
  113. package/dist/esm/src/utils.js +1 -0
  114. package/dist/esm/tests/filter.spec.js +14 -0
  115. package/dist/esm/tests/filter.spec.js.map +1 -1
  116. package/dist/esm/tests/middleware.spec.d.ts +1 -1
  117. package/dist/esm/tests/middleware.spec.js +60 -48
  118. package/dist/esm/tests/middleware.spec.js.map +1 -1
  119. package/dist/esm/tests/module.spec.js +1 -0
  120. package/dist/esm/tests/module.spec.js.map +1 -1
  121. package/dist/esm/tests/router.spec.d.ts +1 -1
  122. package/dist/esm/tests/router.spec.js +184 -195
  123. package/dist/esm/tests/router.spec.js.map +1 -1
  124. package/dist/esm/tests/utils.js +4 -1
  125. package/dist/esm/tests/utils.js.map +1 -1
  126. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  127. package/package.json +14 -15
  128. package/src/controllers.ts +3 -3
  129. package/src/decorator.ts +42 -131
  130. package/src/filter.ts +0 -2
  131. package/src/http.ts +35 -36
  132. package/src/kernel.ts +4 -5
  133. package/src/logger.ts +2 -4
  134. package/src/middleware.ts +2 -1
  135. package/src/model.ts +86 -8
  136. package/src/module.config.ts +3 -6
  137. package/src/module.ts +2 -2
  138. package/src/router.ts +143 -183
  139. package/src/static-serving.ts +2 -4
  140. package/tests/middleware.spec.ts +0 -1
  141. package/tests/router.spec.ts +152 -131
  142. package/tsconfig.json +2 -1
@@ -1,11 +1,10 @@
1
- import 'reflect-metadata';
2
1
  import { ClassType, CompilerContext } from '@deepkit/core';
3
- import { JitConverterOptions, PropertySchema, Serializer, ValidationFailedItem } from '@deepkit/type';
2
+ import { ReflectionParameter, SerializationOptions, Serializer, Type } from '@deepkit/type';
4
3
  import { HttpRequest, HttpRequestQuery, HttpRequestResolvedParameters } from './model';
5
- import { InjectorContext, TagRegistry } from '@deepkit/injector';
6
- import { Logger } from '@deepkit/logger';
4
+ import { InjectorContext, InjectorModule, TagRegistry } from '@deepkit/injector';
5
+ import { LoggerInterface } from '@deepkit/logger';
7
6
  import { HttpControllers } from './controllers';
8
- import { AppModule, MiddlewareRegistry } from '@deepkit/app';
7
+ import { MiddlewareRegistry } from '@deepkit/app';
9
8
  import { HttpMiddlewareConfig, HttpMiddlewareFn } from './middleware';
10
9
  export declare type RouteParameterResolverForInjector = ((injector: InjectorContext) => any[] | Promise<any[]>);
11
10
  interface ResolvedController {
@@ -43,19 +42,10 @@ export declare class UploadedFile {
43
42
  lastModifiedDate: Date | null;
44
43
  }
45
44
  export interface RouteControllerAction {
46
- module?: AppModule<any>;
45
+ module?: InjectorModule<any>;
47
46
  controller: ClassType;
48
47
  methodName: string;
49
48
  }
50
- export interface RouteParameterConfig {
51
- type?: 'body' | 'query' | 'queries';
52
- /**
53
- * undefined = propertyName, '' === root, else given path
54
- */
55
- typePath?: string;
56
- optional: boolean;
57
- name: string;
58
- }
59
49
  export declare class RouteConfig {
60
50
  readonly name: string;
61
51
  readonly httpMethods: string[];
@@ -63,77 +53,54 @@ export declare class RouteConfig {
63
53
  readonly action: RouteControllerAction;
64
54
  internal: boolean;
65
55
  baseUrl: string;
66
- parameterRegularExpressions: {
67
- [name: string]: any;
68
- };
69
56
  responses: {
70
57
  statusCode: number;
71
58
  description: string;
72
- type?: PropertySchema;
59
+ type?: Type;
73
60
  }[];
74
61
  description: string;
75
62
  groups: string[];
76
63
  category: string;
77
- /**
78
- * This is set when the route action has a manual return type defined using @t.
79
- */
80
- returnSchema?: PropertySchema;
81
- serializationOptions?: JitConverterOptions;
64
+ returnType?: Type;
65
+ serializationOptions?: SerializationOptions;
82
66
  serializer?: Serializer;
83
67
  /**
84
68
  * When assigned defines where this route came from.
85
69
  */
86
- module?: AppModule<any>;
70
+ module?: InjectorModule<any>;
87
71
  resolverForToken: Map<any, ClassType>;
88
72
  middlewares: {
89
73
  config: HttpMiddlewareConfig;
90
- module: AppModule<any>;
74
+ module: InjectorModule<any>;
91
75
  }[];
92
76
  resolverForParameterName: Map<string, ClassType>;
93
77
  /**
94
78
  * An arbitrary data container the user can use to store app specific settings/values.
95
79
  */
96
80
  data: Map<any, any>;
97
- parameters: {
98
- [name: string]: RouteParameterConfig;
99
- };
100
81
  constructor(name: string, httpMethods: string[], path: string, action: RouteControllerAction, internal?: boolean);
101
- getSchemaForResponse(statusCode: number): PropertySchema | undefined;
82
+ getSchemaForResponse(statusCode: number): Type | undefined;
102
83
  getFullPath(): string;
103
84
  }
104
- /**
105
- * When this class is injected into a route, then validation errors are not automatically thrown (using onHttpControllerValidationError event),
106
- * but injected to the route itself. The user is then responsible to handle the errors.
107
- *
108
- * Note: The body parameter is still passed, however it might contain now invalid data. The BodyValidation tells what data is invalid.
109
- */
110
- export declare class BodyValidation {
111
- readonly errors: ValidationFailedItem[];
112
- constructor(errors?: ValidationFailedItem[]);
113
- hasErrors(prefix?: string): boolean;
114
- getErrors(prefix?: string): ValidationFailedItem[];
115
- getErrorsForPath(path: string): ValidationFailedItem[];
116
- getErrorMessageForPath(path: string): string;
117
- }
118
85
  declare class ParsedRoute {
119
86
  routeConfig: RouteConfig;
120
87
  regex?: string;
121
- customValidationErrorHandling?: ParsedRouteParameter;
122
88
  pathParameterNames: {
123
89
  [name: string]: number;
124
90
  };
125
91
  protected parameters: ParsedRouteParameter[];
126
92
  constructor(routeConfig: RouteConfig);
127
- addParameter(property: PropertySchema, config?: RouteParameterConfig): ParsedRouteParameter;
93
+ addParameter(property: ReflectionParameter): ParsedRouteParameter;
128
94
  getParameters(): ParsedRouteParameter[];
129
95
  getParameter(name: string): ParsedRouteParameter;
130
96
  }
131
97
  declare class ParsedRouteParameter {
132
- property: PropertySchema;
133
- config?: RouteParameterConfig | undefined;
98
+ parameter: ReflectionParameter;
134
99
  regexPosition?: number;
135
- constructor(property: PropertySchema, config?: RouteParameterConfig | undefined);
100
+ constructor(parameter: ReflectionParameter);
136
101
  get body(): boolean;
102
+ get bodyValidation(): boolean;
103
+ getType(): Type;
137
104
  get query(): boolean;
138
105
  get queries(): boolean;
139
106
  get typePath(): string | undefined;
@@ -169,17 +136,17 @@ export declare class Router {
169
136
  [name: string]: any;
170
137
  }) => string;
171
138
  protected routes: RouteConfig[];
172
- protected form: any;
173
- constructor(controllers: HttpControllers, logger: Logger, tagRegistry: TagRegistry, middlewareRegistry?: MiddlewareRegistry);
139
+ private parseBody;
140
+ constructor(controllers: HttpControllers, logger: LoggerInterface, tagRegistry: TagRegistry, middlewareRegistry?: MiddlewareRegistry);
174
141
  getRoutes(): RouteConfig[];
175
142
  static forControllers(controllers: (ClassType | {
176
- module: AppModule<any>;
143
+ module: InjectorModule<any>;
177
144
  controller: ClassType;
178
- })[], tagRegistry?: TagRegistry, middlewareRegistry?: MiddlewareRegistry, module?: AppModule<any>): Router;
145
+ })[], tagRegistry?: TagRegistry, middlewareRegistry?: MiddlewareRegistry, module?: InjectorModule<any>): Router;
179
146
  protected getRouteCode(compiler: CompilerContext, routeConfig: RouteConfig): string;
180
147
  protected getRouteUrlResolveCode(compiler: CompilerContext, routeConfig: RouteConfig): string;
181
148
  addRoute(routeConfig: RouteConfig): void;
182
- addRouteForController(controller: ClassType, module: AppModule<any>): void;
149
+ addRouteForController(controller: ClassType, module: InjectorModule<any>): void;
183
150
  protected build(): (request: HttpRequest) => ResolvedController | undefined;
184
151
  protected buildUrlResolver(): any;
185
152
  resolveUrl(routeName: string, parameters?: {
@@ -189,3 +156,7 @@ export declare class Router {
189
156
  resolve(method: string, url: string): ResolvedController | undefined;
190
157
  }
191
158
  export {};
159
+ export declare type __ΩRouteParameterResolverForInjector = any[];
160
+ export declare type __ΩRouteControllerAction = any[];
161
+ export declare type __ΩRouteParameterResolver = any[];
162
+ export declare type __ΩRouteParameterResolverContext = any[];