@deepkit/http 1.0.1-alpha.70 → 1.0.1-alpha.73

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 (121) hide show
  1. package/dist/cjs/src/decorator.d.ts +8 -6
  2. package/dist/cjs/src/decorator.js +49 -12
  3. package/dist/cjs/src/decorator.js.map +1 -1
  4. package/dist/cjs/src/filter.d.ts +3 -3
  5. package/dist/cjs/src/filter.js +3 -3
  6. package/dist/cjs/src/filter.js.map +1 -1
  7. package/dist/cjs/src/http.d.ts +49 -11
  8. package/dist/cjs/src/http.js +124 -38
  9. package/dist/cjs/src/http.js.map +1 -1
  10. package/dist/cjs/src/kernel.d.ts +3 -3
  11. package/dist/cjs/src/kernel.js +1 -1
  12. package/dist/cjs/src/kernel.js.map +1 -1
  13. package/dist/cjs/src/model.d.ts +11 -3
  14. package/dist/cjs/src/model.js +58 -26
  15. package/dist/cjs/src/model.js.map +1 -1
  16. package/dist/cjs/src/module.js +5 -3
  17. package/dist/cjs/src/module.js.map +1 -1
  18. package/dist/cjs/src/router.d.ts +84 -11
  19. package/dist/cjs/src/router.js +280 -94
  20. package/dist/cjs/src/router.js.map +1 -1
  21. package/dist/cjs/src/static-serving.js +15 -8
  22. package/dist/cjs/src/static-serving.js.map +1 -1
  23. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  24. package/dist/esm/src/decorator.d.ts +8 -6
  25. package/dist/esm/src/decorator.js +47 -11
  26. package/dist/esm/src/decorator.js.map +1 -1
  27. package/dist/esm/src/filter.d.ts +3 -3
  28. package/dist/esm/src/filter.js +4 -4
  29. package/dist/esm/src/filter.js.map +1 -1
  30. package/dist/esm/src/http.d.ts +49 -11
  31. package/dist/esm/src/http.js +111 -38
  32. package/dist/esm/src/http.js.map +1 -1
  33. package/dist/esm/src/kernel.d.ts +3 -3
  34. package/dist/esm/src/kernel.js +2 -2
  35. package/dist/esm/src/kernel.js.map +1 -1
  36. package/dist/esm/src/model.d.ts +11 -3
  37. package/dist/esm/src/model.js +47 -15
  38. package/dist/esm/src/model.js.map +1 -1
  39. package/dist/esm/src/module.js +6 -4
  40. package/dist/esm/src/module.js.map +1 -1
  41. package/dist/esm/src/router.d.ts +84 -11
  42. package/dist/esm/src/router.js +278 -94
  43. package/dist/esm/src/router.js.map +1 -1
  44. package/dist/esm/src/static-serving.js +16 -9
  45. package/dist/esm/src/static-serving.js.map +1 -1
  46. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  47. package/package.json +17 -14
  48. package/src/decorator.ts +9 -6
  49. package/src/filter.ts +4 -4
  50. package/src/http.ts +83 -15
  51. package/src/kernel.ts +2 -2
  52. package/src/model.ts +35 -6
  53. package/src/module.ts +5 -3
  54. package/src/router.ts +286 -73
  55. package/src/static-serving.ts +6 -3
  56. package/coverage/clover.xml +0 -1086
  57. package/coverage/coverage-final.json +0 -12
  58. package/coverage/lcov-report/base.css +0 -224
  59. package/coverage/lcov-report/block-navigation.js +0 -79
  60. package/coverage/lcov-report/favicon.png +0 -0
  61. package/coverage/lcov-report/index.html +0 -126
  62. package/coverage/lcov-report/prettify.css +0 -1
  63. package/coverage/lcov-report/prettify.js +0 -2
  64. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  65. package/coverage/lcov-report/sorter.js +0 -170
  66. package/coverage/lcov-report/src/controllers.ts.html +0 -113
  67. package/coverage/lcov-report/src/decorator.ts.html +0 -1280
  68. package/coverage/lcov-report/src/filter.ts.html +0 -734
  69. package/coverage/lcov-report/src/http.ts.html +0 -2192
  70. package/coverage/lcov-report/src/index.html +0 -246
  71. package/coverage/lcov-report/src/kernel.ts.html +0 -260
  72. package/coverage/lcov-report/src/middleware.ts.html +0 -428
  73. package/coverage/lcov-report/src/model.ts.html +0 -937
  74. package/coverage/lcov-report/src/module.config.ts.html +0 -89
  75. package/coverage/lcov-report/src/module.ts.html +0 -245
  76. package/coverage/lcov-report/src/router.ts.html +0 -2318
  77. package/coverage/lcov-report/tests/index.html +0 -111
  78. package/coverage/lcov-report/tests/utils.ts.html +0 -176
  79. package/coverage/lcov.info +0 -2225
  80. package/dist/cjs/tests/filter.spec.d.ts +0 -1
  81. package/dist/cjs/tests/filter.spec.js +0 -251
  82. package/dist/cjs/tests/filter.spec.js.map +0 -1
  83. package/dist/cjs/tests/middleware.spec.d.ts +0 -1
  84. package/dist/cjs/tests/middleware.spec.js +0 -471
  85. package/dist/cjs/tests/middleware.spec.js.map +0 -1
  86. package/dist/cjs/tests/model.spec.d.ts +0 -1
  87. package/dist/cjs/tests/model.spec.js +0 -23
  88. package/dist/cjs/tests/model.spec.js.map +0 -1
  89. package/dist/cjs/tests/module.spec.d.ts +0 -1
  90. package/dist/cjs/tests/module.spec.js +0 -46
  91. package/dist/cjs/tests/module.spec.js.map +0 -1
  92. package/dist/cjs/tests/router.spec.d.ts +0 -1
  93. package/dist/cjs/tests/router.spec.js +0 -987
  94. package/dist/cjs/tests/router.spec.js.map +0 -1
  95. package/dist/cjs/tests/utils.d.ts +0 -8
  96. package/dist/cjs/tests/utils.js +0 -30
  97. package/dist/cjs/tests/utils.js.map +0 -1
  98. package/dist/esm/tests/filter.spec.d.ts +0 -1
  99. package/dist/esm/tests/filter.spec.js +0 -249
  100. package/dist/esm/tests/filter.spec.js.map +0 -1
  101. package/dist/esm/tests/middleware.spec.d.ts +0 -1
  102. package/dist/esm/tests/middleware.spec.js +0 -469
  103. package/dist/esm/tests/middleware.spec.js.map +0 -1
  104. package/dist/esm/tests/model.spec.d.ts +0 -1
  105. package/dist/esm/tests/model.spec.js +0 -21
  106. package/dist/esm/tests/model.spec.js.map +0 -1
  107. package/dist/esm/tests/module.spec.d.ts +0 -1
  108. package/dist/esm/tests/module.spec.js +0 -44
  109. package/dist/esm/tests/module.spec.js.map +0 -1
  110. package/dist/esm/tests/router.spec.d.ts +0 -1
  111. package/dist/esm/tests/router.spec.js +0 -985
  112. package/dist/esm/tests/router.spec.js.map +0 -1
  113. package/dist/esm/tests/utils.d.ts +0 -8
  114. package/dist/esm/tests/utils.js +0 -26
  115. package/dist/esm/tests/utils.js.map +0 -1
  116. package/tests/filter.spec.ts +0 -181
  117. package/tests/middleware.spec.ts +0 -440
  118. package/tests/model.spec.ts +0 -26
  119. package/tests/module.spec.ts +0 -32
  120. package/tests/router.spec.ts +0 -781
  121. package/tests/utils.ts +0 -32
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.spec.js","sourceRoot":"","sources":["../../../tests/router.spec.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { ClassType } from '@deepkit/core';
2
- import { ProviderWithScope } from '@deepkit/injector';
3
- import { HttpKernel } from '../src/kernel';
4
- import { AppModule, MiddlewareFactory } from '@deepkit/app';
5
- export declare function createHttpKernel(controllers: (ClassType | {
6
- module: AppModule<any>;
7
- controller: ClassType;
8
- })[], providers?: ProviderWithScope[], listeners?: ClassType[], middlewares?: MiddlewareFactory[], modules?: AppModule<any>[]): HttpKernel;
@@ -1,26 +0,0 @@
1
- import { __ΩClassType as __ΩClassType } from '@deepkit/core';
2
- import { __ΩMiddlewareFactory as __ΩMiddlewareFactory } from '@deepkit/app';
3
- import { isClass } from '@deepkit/core';
4
- import { HttpKernel } from '../src/kernel';
5
- import { App, AppModule } from '@deepkit/app';
6
- import { HttpModule } from '../src/module';
7
- export function createHttpKernel(controllers, providers = [], listeners = [], middlewares = [], modules = []) {
8
- const imports = modules.slice(0);
9
- imports.push(new HttpModule());
10
- for (const controller of controllers) {
11
- if (isClass(controller))
12
- continue;
13
- imports.push(controller.module);
14
- }
15
- const module = new AppModule({
16
- controllers: controllers.map(Object.assign(v => isClass(v) ? v : v.controller, { __type: ['v', '', 'P"2!"/"'] })),
17
- imports,
18
- providers,
19
- listeners,
20
- middlewares,
21
- });
22
- const app = App.fromModule(module);
23
- return app.get(HttpKernel);
24
- }
25
- createHttpKernel.__type = [() => __ΩClassType, () => AppModule, 'module', () => __ΩClassType, 'controller', 'controllers', 'providers', () => [], () => __ΩClassType, 'listeners', () => [], () => __ΩMiddlewareFactory, 'middlewares', () => [], () => AppModule, 'modules', () => [], 'createHttpKernel', 'PPn!PP"7"4#n$4%MJF2&"F2\'>(n)F2*>+n,F2->.P"7/F20>1"/2'];
26
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../tests/utils.ts"],"names":[],"mappings":"6CAAmC,eAAe;6DAGA,cAAc;AAHhE,OAAO,EAAa,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,gBAAgB,CAC5B,WAA8E,EAC9E,YAAiC,EAAE,EACnC,YAAyB,EAAE,EAC3B,cAAmC,EAAE,EACrC,UAA4B,EAAE;IAE9B,MAAM,OAAO,GAAqB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IAE/B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QAClC,IAAI,OAAO,CAAC,UAAU,CAAC;YAAE,SAAS;QAClC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACnC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QACzB,WAAW,EAAE,WAAW,CAAC,GAAG,eAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,oCAAC;QAChE,OAAO;QACP,SAAS;QACT,SAAS;QACT,WAAW;KACd,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,181 +0,0 @@
1
- import { expect, test } from '@jest/globals';
2
- import { Router } from '../src/router';
3
- import { HttpRouteFilter, HttpRouterFilterResolver } from '../src/filter';
4
- import { http } from '../src/decorator';
5
- import { createModule } from '@deepkit/app';
6
-
7
- test('filter by controller', async () => {
8
- class ControllerA {
9
- @http.GET('a')
10
- route() {
11
- }
12
- }
13
-
14
- class ControllerB {
15
- @http.GET('b')
16
- route() {
17
- }
18
- }
19
-
20
- const resolver = new HttpRouterFilterResolver(Router.forControllers([
21
- ControllerA, ControllerB
22
- ]));
23
-
24
- class NonExisting {
25
- }
26
-
27
- expect(resolver.resolve(new HttpRouteFilter().model).length).toBe(2);
28
- expect(resolver.resolve(new HttpRouteFilter().excludeControllers(ControllerA).model).length).toBe(1);
29
- expect(resolver.resolve(new HttpRouteFilter().excludeControllers(ControllerA, ControllerB).model).length).toBe(0);
30
- expect(resolver.resolve(new HttpRouteFilter().forControllers(ControllerA).model).length).toBe(1);
31
- expect(resolver.resolve(new HttpRouteFilter().forControllers(ControllerB).model).length).toBe(1);
32
- expect(resolver.resolve(new HttpRouteFilter().forControllers(NonExisting).model).length).toBe(0);
33
- });
34
-
35
- test('filter by route names', async () => {
36
- class ControllerA {
37
- @http.GET('a').name('a')
38
- route() {
39
- }
40
- }
41
-
42
- class ControllerB {
43
- @http.GET('b').name('b')
44
- route() {
45
- }
46
-
47
- @http.GET('c')
48
- unnamed() {
49
- }
50
- }
51
-
52
- const resolver = new HttpRouterFilterResolver(Router.forControllers([
53
- ControllerA, ControllerB
54
- ]));
55
-
56
- expect(resolver.resolve(new HttpRouteFilter().model).length).toBe(3);
57
- expect(resolver.resolve(new HttpRouteFilter().forRouteNames('a').model).length).toBe(1);
58
- expect(resolver.resolve(new HttpRouteFilter().excludeRouteNames('a').model).length).toBe(2);
59
- expect(resolver.resolve(new HttpRouteFilter().excludeRouteNames('a', 'b').model).length).toBe(1);
60
- expect(resolver.resolve(new HttpRouteFilter().excludeRouteNames('a', 'b', 'c').model).length).toBe(1); //name c doesnt exist
61
- expect(resolver.resolve(new HttpRouteFilter().forRouteNames('b').model).length).toBe(1);
62
- expect(resolver.resolve(new HttpRouteFilter().forRouteNames('b', 'a').model).length).toBe(2);
63
- });
64
-
65
- test('filter by route names and controller', async () => {
66
- class ControllerA {
67
- @http.GET('a').name('a')
68
- route() {
69
- }
70
- }
71
-
72
- class ControllerB {
73
- @http.GET('a').name('a')
74
- route() {
75
- }
76
-
77
- @http.GET('b')
78
- unnamed() {
79
- }
80
- }
81
-
82
- const resolver = new HttpRouterFilterResolver(Router.forControllers([
83
- ControllerA, ControllerB
84
- ]));
85
-
86
- expect(resolver.resolve(new HttpRouteFilter().model).length).toBe(3);
87
- expect(resolver.resolve(new HttpRouteFilter().forRouteNames('a').model).length).toBe(2);
88
- expect(resolver.resolve(new HttpRouteFilter().forControllers(ControllerA).forRouteNames('a').model).length).toBe(1);
89
- });
90
-
91
- test('filter by groups', async () => {
92
- class ControllerA {
93
- @http.GET('a').group('a')
94
- route() {
95
- }
96
- }
97
-
98
- class ControllerB {
99
- @http.GET('a').group('b')
100
- route() {
101
- }
102
-
103
- @http.GET('b')
104
- unnamed() {
105
- }
106
- }
107
-
108
- const resolver = new HttpRouterFilterResolver(Router.forControllers([
109
- ControllerA, ControllerB
110
- ]));
111
-
112
- expect(resolver.resolve(new HttpRouteFilter().model).length).toBe(3);
113
- expect(resolver.resolve(new HttpRouteFilter().forRoutes({group: 'a'}).model).length).toBe(1);
114
- expect(resolver.resolve(new HttpRouteFilter().forRoutes({group: 'b'}).model).length).toBe(1);
115
- expect(resolver.resolve(new HttpRouteFilter().forRoutes({group: 'c'}).model).length).toBe(0);
116
-
117
- expect(resolver.resolve(new HttpRouteFilter().excludeRoutes({group: 'a'}).model).length).toBe(2);
118
- expect(resolver.resolve(new HttpRouteFilter().excludeRoutes({group: 'b'}).model).length).toBe(2);
119
- expect(resolver.resolve(new HttpRouteFilter().excludeRoutes({group: 'c'}).model).length).toBe(3);
120
- });
121
-
122
- test('filter by modules', async () => {
123
- class ControllerA {
124
- @http.GET('a')
125
- route() {
126
- }
127
- }
128
-
129
- class ControllerB {
130
- @http.GET('a')
131
- route() {
132
- }
133
-
134
- @http.GET('b')
135
- unnamed() {
136
- }
137
- }
138
-
139
- class ControllerC {
140
- @http.GET('c')
141
- route() {
142
- }
143
- }
144
-
145
- class ModuleA extends createModule({}) {
146
- }
147
-
148
- class ModuleB extends createModule({}) {
149
- }
150
-
151
- const moduleA = new ModuleA();
152
- const moduleB = new ModuleB();
153
- expect(moduleA instanceof ModuleA).toBe(true);
154
- expect(moduleA instanceof ModuleB).toBe(false);
155
-
156
- expect(moduleB instanceof ModuleA).toBe(false);
157
- expect(moduleB instanceof ModuleB).toBe(true);
158
-
159
- const resolver = new HttpRouterFilterResolver(Router.forControllers([
160
- { controller: ControllerA, module: moduleA }, { controller: ControllerB, module: moduleA },
161
- { controller: ControllerC, module: moduleB },
162
- ]));
163
-
164
- {
165
- expect(resolver.resolve(new HttpRouteFilter().model).length).toBe(4);
166
- expect(resolver.resolve(new HttpRouteFilter().forModules(moduleA).model).length).toBe(3);
167
- expect(resolver.resolve(new HttpRouteFilter().excludeModules(moduleA).model).length).toBe(1);
168
- expect(resolver.resolve(new HttpRouteFilter().forModules(moduleB).model).length).toBe(1);
169
- expect(resolver.resolve(new HttpRouteFilter().excludeModules(moduleB).model).length).toBe(3);
170
- expect(resolver.resolve(new HttpRouteFilter().forModules(moduleA, moduleB).model).length).toBe(4);
171
- expect(resolver.resolve(new HttpRouteFilter().forModules(moduleA, moduleB).excludeModules(moduleB).model).length).toBe(3);
172
- }
173
- {
174
- expect(resolver.resolve(new HttpRouteFilter().model).length).toBe(4);
175
- expect(resolver.resolve(new HttpRouteFilter().excludeModuleClasses(ModuleA).model).length).toBe(1);
176
- expect(resolver.resolve(new HttpRouteFilter().excludeModuleClasses(ModuleB).model).length).toBe(3);
177
- expect(resolver.resolve(new HttpRouteFilter().forModuleClasses(ModuleA).model).length).toBe(3);
178
- expect(resolver.resolve(new HttpRouteFilter().forModuleClasses(ModuleB).model).length).toBe(1);
179
- expect(resolver.resolve(new HttpRouteFilter().forModuleClasses(ModuleA, ModuleB).model).length).toBe(4);
180
- }
181
- });