@typetron/framework 0.4.0-rc1 → 0.4.0-rc13

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 (296) hide show
  1. package/.eslintrc-old.js +208 -0
  2. package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -1
  3. package/Database/Drivers/SQLite/SqliteDriver.js +4 -1
  4. package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -1
  5. package/Database/Entity.d.ts +1 -1
  6. package/Database/Entity.d.ts.map +1 -1
  7. package/Database/Entity.js +1 -1
  8. package/Database/Entity.js.map +1 -1
  9. package/Database/List.d.ts +1 -1
  10. package/Database/index.d.ts.map +1 -1
  11. package/Encryption/index.js +1 -1
  12. package/Encryption/index.js.map +1 -1
  13. package/Framework/Application.d.ts +0 -1
  14. package/Framework/Application.d.ts.map +1 -1
  15. package/Framework/Application.js +1 -3
  16. package/Framework/Application.js.map +1 -1
  17. package/Framework/Auth/Auth.d.ts +1 -1
  18. package/Framework/Auth/Auth.d.ts.map +1 -1
  19. package/Framework/Auth/Auth.js +5 -1
  20. package/Framework/Auth/Auth.js.map +1 -1
  21. package/Framework/Auth/index.d.ts +1 -1
  22. package/Framework/Auth/index.d.ts.map +1 -1
  23. package/Framework/Auth/index.js +3 -9
  24. package/Framework/Auth/index.js.map +1 -1
  25. package/Framework/Config/AppConfig.d.ts +8 -2
  26. package/Framework/Config/AppConfig.d.ts.map +1 -1
  27. package/Framework/Config/AppConfig.js +5 -0
  28. package/Framework/Config/AppConfig.js.map +1 -1
  29. package/Framework/Middleware/AuthMiddleware.d.ts +3 -2
  30. package/Framework/Middleware/AuthMiddleware.d.ts.map +1 -1
  31. package/Framework/Middleware/AuthMiddleware.js.map +1 -1
  32. package/Framework/Middleware/CorsMiddleware.d.ts +3 -2
  33. package/Framework/Middleware/CorsMiddleware.d.ts.map +1 -1
  34. package/Framework/Middleware/CorsMiddleware.js +3 -2
  35. package/Framework/Middleware/CorsMiddleware.js.map +1 -1
  36. package/Framework/Middleware/StaticAssetsMiddleware.d.ts +3 -2
  37. package/Framework/Middleware/StaticAssetsMiddleware.d.ts.map +1 -1
  38. package/Framework/Middleware/StaticAssetsMiddleware.js +5 -2
  39. package/Framework/Middleware/StaticAssetsMiddleware.js.map +1 -1
  40. package/Framework/Providers/WebsocketsProvider.d.ts +1 -1
  41. package/Framework/Providers/WebsocketsProvider.d.ts.map +1 -1
  42. package/Framework/Providers/WebsocketsProvider.js +12 -8
  43. package/Framework/Providers/WebsocketsProvider.js.map +1 -1
  44. package/Framework/Resolvers/AuthResolver.d.ts.map +1 -1
  45. package/Framework/Resolvers/AuthResolver.js +5 -1
  46. package/Framework/Resolvers/AuthResolver.js.map +1 -1
  47. package/Framework/Resolvers/EntityResolver.js +2 -2
  48. package/Framework/Resolvers/EntityResolver.js.map +1 -1
  49. package/Framework/Resolvers/FormResolver.d.ts.map +1 -1
  50. package/Framework/Resolvers/FormResolver.js +2 -1
  51. package/Framework/Resolvers/FormResolver.js.map +1 -1
  52. package/Router/Decorators.d.ts +4 -7
  53. package/Router/Decorators.d.ts.map +1 -1
  54. package/Router/Decorators.js +45 -40
  55. package/Router/Decorators.js.map +1 -1
  56. package/Router/Http/Handler.d.ts +6 -3
  57. package/Router/Http/Handler.d.ts.map +1 -1
  58. package/Router/Http/Handler.js +45 -14
  59. package/Router/Http/Handler.js.map +1 -1
  60. package/Router/Http/HttpRoute.d.ts +25 -0
  61. package/Router/Http/HttpRoute.d.ts.map +1 -0
  62. package/Router/Http/HttpRoute.js +89 -0
  63. package/Router/Http/HttpRoute.js.map +1 -0
  64. package/Router/Http/Middleware.d.ts +7 -0
  65. package/Router/Http/Middleware.d.ts.map +1 -0
  66. package/Router/Http/Middleware.js +8 -0
  67. package/Router/Http/Middleware.js.map +1 -0
  68. package/Router/Http/Request.d.ts +21 -10
  69. package/Router/Http/Request.d.ts.map +1 -1
  70. package/Router/Http/Request.js +69 -59
  71. package/Router/Http/Request.js.map +1 -1
  72. package/Router/Http/Response.d.ts +1 -5
  73. package/Router/Http/Response.d.ts.map +1 -1
  74. package/Router/Http/Response.js +0 -15
  75. package/Router/Http/Response.js.map +1 -1
  76. package/Router/Metadata.d.ts +15 -6
  77. package/Router/Metadata.d.ts.map +1 -1
  78. package/Router/Metadata.js +12 -5
  79. package/Router/Metadata.js.map +1 -1
  80. package/Router/Middleware.d.ts +9 -2
  81. package/Router/Middleware.d.ts.map +1 -1
  82. package/Router/Middleware.js +4 -0
  83. package/Router/Middleware.js.map +1 -1
  84. package/Router/Request.d.ts +24 -0
  85. package/Router/Request.d.ts.map +1 -0
  86. package/Router/Request.js +43 -0
  87. package/Router/Request.js.map +1 -0
  88. package/Router/Route.d.ts +8 -19
  89. package/Router/Route.d.ts.map +1 -1
  90. package/Router/Route.js +3 -99
  91. package/Router/Route.js.map +1 -1
  92. package/Router/Router.d.ts +12 -6
  93. package/Router/Router.d.ts.map +1 -1
  94. package/Router/Router.js +6 -2
  95. package/Router/Router.js.map +1 -1
  96. package/Router/Servers/node.d.ts.map +1 -1
  97. package/Router/Servers/node.js +29 -2
  98. package/Router/Servers/node.js.map +1 -1
  99. package/Router/Servers/uNetworking.d.ts.map +1 -1
  100. package/Router/Servers/uNetworking.js +140 -14
  101. package/Router/Servers/uNetworking.js.map +1 -1
  102. package/Router/Websockets/Handler.d.ts +8 -6
  103. package/Router/Websockets/Handler.d.ts.map +1 -1
  104. package/Router/Websockets/Handler.js +19 -13
  105. package/Router/Websockets/Handler.js.map +1 -1
  106. package/Router/Websockets/Middleware.d.ts +7 -0
  107. package/Router/Websockets/Middleware.d.ts.map +1 -0
  108. package/Router/Websockets/Middleware.js +8 -0
  109. package/Router/Websockets/Middleware.js.map +1 -0
  110. package/Router/Websockets/Request.d.ts +4 -0
  111. package/Router/Websockets/Request.d.ts.map +1 -0
  112. package/Router/Websockets/Request.js +8 -0
  113. package/Router/Websockets/Request.js.map +1 -0
  114. package/Router/Websockets/WebsocketRoute.d.ts +7 -0
  115. package/Router/Websockets/WebsocketRoute.d.ts.map +1 -0
  116. package/Router/Websockets/{WebsocketEvent.js → WebsocketRoute.js} +8 -15
  117. package/Router/Websockets/WebsocketRoute.js.map +1 -0
  118. package/Router/Websockets/index.d.ts +3 -3
  119. package/Router/Websockets/index.d.ts.map +1 -1
  120. package/Router/Websockets/index.js +7 -7
  121. package/Router/Websockets/index.js.map +1 -1
  122. package/Router/Websockets/types.d.ts +6 -6
  123. package/Router/Websockets/types.d.ts.map +1 -1
  124. package/Storage/Storage.d.ts.map +1 -1
  125. package/Storage/Storage.js +4 -3
  126. package/Storage/Storage.js.map +1 -1
  127. package/Support/Array.js +2 -2
  128. package/Support/Array.js.map +1 -1
  129. package/Support/index.d.ts +1 -0
  130. package/Support/index.d.ts.map +1 -1
  131. package/Testing/TestCase.d.ts +5 -4
  132. package/Testing/TestCase.d.ts.map +1 -1
  133. package/Testing/TestCase.js +19 -11
  134. package/Testing/TestCase.js.map +1 -1
  135. package/Validation/RuleInterface.d.ts +1 -1
  136. package/Validation/RuleInterface.d.ts.map +1 -1
  137. package/Validation/Rules/FileExtension.js +2 -2
  138. package/Validation/Rules/FileExtension.js.map +1 -1
  139. package/Validation/Rules/Optional.js +1 -1
  140. package/Validation/Rules/Optional.js.map +1 -1
  141. package/Validation/index.d.ts +1 -0
  142. package/Validation/index.d.ts.map +1 -1
  143. package/Validation/index.js +1 -0
  144. package/Validation/index.js.map +1 -1
  145. package/benchmark-index.js +20 -0
  146. package/benchmark.ts +47 -0
  147. package/package.json +6 -6
  148. package/types.d.ts +8 -0
  149. package/Frontend/Angular/index.d.ts +0 -8
  150. package/Frontend/Angular/index.d.ts.map +0 -1
  151. package/Frontend/Angular/index.js +0 -20
  152. package/Frontend/Angular/index.js.map +0 -1
  153. package/Frontend/Websockets/index.js +0 -76
  154. package/Frontend/Websockets/index.js.map +0 -1
  155. package/Router/Websockets/WebsocketEvent.d.ts +0 -16
  156. package/Router/Websockets/WebsocketEvent.d.ts.map +0 -1
  157. package/Router/Websockets/WebsocketEvent.js.map +0 -1
  158. package/Router/micro.d.ts +0 -3
  159. package/Router/micro.d.ts.map +0 -1
  160. package/Router/micro.js +0 -44
  161. package/Router/micro.js.map +0 -1
  162. package/benchmark-index.js.map +0 -1
  163. package/benchmark.js.map +0 -1
  164. package/index.d.ts +0 -2
  165. package/index.d.ts.map +0 -1
  166. package/index.js +0 -41
  167. package/index.js.map +0 -1
  168. package/test.js.map +0 -1
  169. package/tests/Cache/DatabaseStoreTest.d.ts +0 -2
  170. package/tests/Cache/DatabaseStoreTest.d.ts.map +0 -1
  171. package/tests/Cache/DatabaseStoreTest.js +0 -137
  172. package/tests/Cache/DatabaseStoreTest.js.map +0 -1
  173. package/tests/Cache/FileStoreTest.d.ts +0 -2
  174. package/tests/Cache/FileStoreTest.d.ts.map +0 -1
  175. package/tests/Cache/FileStoreTest.js +0 -142
  176. package/tests/Cache/FileStoreTest.js.map +0 -1
  177. package/tests/Cache/MemoryStoreTest.d.ts +0 -2
  178. package/tests/Cache/MemoryStoreTest.d.ts.map +0 -1
  179. package/tests/Cache/MemoryStoreTest.js +0 -141
  180. package/tests/Cache/MemoryStoreTest.js.map +0 -1
  181. package/tests/Container/ContainerTest.d.ts +0 -2
  182. package/tests/Container/ContainerTest.d.ts.map +0 -1
  183. package/tests/Container/ContainerTest.js +0 -396
  184. package/tests/Container/ContainerTest.js.map +0 -1
  185. package/tests/Database/Drivers/MySQL/AlterTest.d.ts +0 -2
  186. package/tests/Database/Drivers/MySQL/AlterTest.d.ts.map +0 -1
  187. package/tests/Database/Drivers/MySQL/AlterTest.js +0 -144
  188. package/tests/Database/Drivers/MySQL/AlterTest.js.map +0 -1
  189. package/tests/Database/Drivers/MySQL/CreateTest.d.ts +0 -2
  190. package/tests/Database/Drivers/MySQL/CreateTest.d.ts.map +0 -1
  191. package/tests/Database/Drivers/MySQL/CreateTest.js +0 -64
  192. package/tests/Database/Drivers/MySQL/CreateTest.js.map +0 -1
  193. package/tests/Database/Drivers/MysqlDriverTest.d.ts +0 -2
  194. package/tests/Database/Drivers/MysqlDriverTest.d.ts.map +0 -1
  195. package/tests/Database/Drivers/MysqlDriverTest.js +0 -174
  196. package/tests/Database/Drivers/MysqlDriverTest.js.map +0 -1
  197. package/tests/Database/Drivers/SqliteDriverTest.d.ts +0 -2
  198. package/tests/Database/Drivers/SqliteDriverTest.d.ts.map +0 -1
  199. package/tests/Database/Drivers/SqliteDriverTest.js +0 -156
  200. package/tests/Database/Drivers/SqliteDriverTest.js.map +0 -1
  201. package/tests/Database/Entities/Article.d.ts +0 -11
  202. package/tests/Database/Entities/Article.d.ts.map +0 -1
  203. package/tests/Database/Entities/Article.js +0 -43
  204. package/tests/Database/Entities/Article.js.map +0 -1
  205. package/tests/Database/Entities/Profile.d.ts +0 -11
  206. package/tests/Database/Entities/Profile.d.ts.map +0 -1
  207. package/tests/Database/Entities/Profile.js +0 -39
  208. package/tests/Database/Entities/Profile.js.map +0 -1
  209. package/tests/Database/Entities/Role.d.ts +0 -9
  210. package/tests/Database/Entities/Role.d.ts.map +0 -1
  211. package/tests/Database/Entities/Role.js +0 -31
  212. package/tests/Database/Entities/Role.js.map +0 -1
  213. package/tests/Database/Entities/User.d.ts +0 -16
  214. package/tests/Database/Entities/User.d.ts.map +0 -1
  215. package/tests/Database/Entities/User.js +0 -58
  216. package/tests/Database/Entities/User.js.map +0 -1
  217. package/tests/Database/EntityRelationshipsTest.d.ts +0 -2
  218. package/tests/Database/EntityRelationshipsTest.d.ts.map +0 -1
  219. package/tests/Database/EntityRelationshipsTest.js +0 -548
  220. package/tests/Database/EntityRelationshipsTest.js.map +0 -1
  221. package/tests/Database/EntityTest.d.ts +0 -2
  222. package/tests/Database/EntityTest.d.ts.map +0 -1
  223. package/tests/Database/EntityTest.js +0 -234
  224. package/tests/Database/EntityTest.js.map +0 -1
  225. package/tests/Database/Migrations/RunnerTest.d.ts +0 -2
  226. package/tests/Database/Migrations/RunnerTest.d.ts.map +0 -1
  227. package/tests/Database/Migrations/RunnerTest.js +0 -112
  228. package/tests/Database/Migrations/RunnerTest.js.map +0 -1
  229. package/tests/Database/Migrations/migrations/1.createUserTable.d.ts +0 -6
  230. package/tests/Database/Migrations/migrations/1.createUserTable.d.ts.map +0 -1
  231. package/tests/Database/Migrations/migrations/1.createUserTable.js +0 -14
  232. package/tests/Database/Migrations/migrations/1.createUserTable.js.map +0 -1
  233. package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts +0 -6
  234. package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts.map +0 -1
  235. package/tests/Database/Migrations/migrations/2.createArticlesTable.js +0 -14
  236. package/tests/Database/Migrations/migrations/2.createArticlesTable.js.map +0 -1
  237. package/tests/Database/QueryTest.d.ts +0 -2
  238. package/tests/Database/QueryTest.d.ts.map +0 -1
  239. package/tests/Database/QueryTest.js +0 -623
  240. package/tests/Database/QueryTest.js.map +0 -1
  241. package/tests/Database/SchemaTest.d.ts +0 -2
  242. package/tests/Database/SchemaTest.d.ts.map +0 -1
  243. package/tests/Database/SchemaTest.js +0 -46
  244. package/tests/Database/SchemaTest.js.map +0 -1
  245. package/tests/Database/Seeders/RunnerTest.d.ts +0 -2
  246. package/tests/Database/Seeders/RunnerTest.d.ts.map +0 -1
  247. package/tests/Database/Seeders/RunnerTest.js +0 -44
  248. package/tests/Database/Seeders/RunnerTest.js.map +0 -1
  249. package/tests/Database/Seeders/seeders/RandomSeeder.d.ts +0 -5
  250. package/tests/Database/Seeders/seeders/RandomSeeder.d.ts.map +0 -1
  251. package/tests/Database/Seeders/seeders/RandomSeeder.js +0 -14
  252. package/tests/Database/Seeders/seeders/RandomSeeder.js.map +0 -1
  253. package/tests/Database/utils.d.ts +0 -6
  254. package/tests/Database/utils.d.ts.map +0 -1
  255. package/tests/Database/utils.js +0 -19
  256. package/tests/Database/utils.js.map +0 -1
  257. package/tests/Forms/FormsTest.d.ts +0 -2
  258. package/tests/Forms/FormsTest.d.ts.map +0 -1
  259. package/tests/Forms/FormsTest.js +0 -80
  260. package/tests/Forms/FormsTest.js.map +0 -1
  261. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts +0 -2
  262. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts.map +0 -1
  263. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js +0 -166
  264. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js.map +0 -1
  265. package/tests/Framework/Resolvers/EntityResolverTest.d.ts +0 -2
  266. package/tests/Framework/Resolvers/EntityResolverTest.d.ts.map +0 -1
  267. package/tests/Framework/Resolvers/EntityResolverTest.js +0 -60
  268. package/tests/Framework/Resolvers/EntityResolverTest.js.map +0 -1
  269. package/tests/Mail/MailerTest.d.ts +0 -2
  270. package/tests/Mail/MailerTest.d.ts.map +0 -1
  271. package/tests/Mail/MailerTest.js +0 -98
  272. package/tests/Mail/MailerTest.js.map +0 -1
  273. package/tests/Model/ModelTest.d.ts +0 -2
  274. package/tests/Model/ModelTest.d.ts.map +0 -1
  275. package/tests/Model/ModelTest.js +0 -234
  276. package/tests/Model/ModelTest.js.map +0 -1
  277. package/tests/Router/HttpHandlerTest.d.ts +0 -2
  278. package/tests/Router/HttpHandlerTest.d.ts.map +0 -1
  279. package/tests/Router/HttpHandlerTest.js +0 -37
  280. package/tests/Router/HttpHandlerTest.js.map +0 -1
  281. package/tests/Router/WebSocketsHandlerTest.d.ts +0 -2
  282. package/tests/Router/WebSocketsHandlerTest.d.ts.map +0 -1
  283. package/tests/Router/WebSocketsHandlerTest.js +0 -36
  284. package/tests/Router/WebSocketsHandlerTest.js.map +0 -1
  285. package/tests/Support/ArrayTest.d.ts +0 -2
  286. package/tests/Support/ArrayTest.d.ts.map +0 -1
  287. package/tests/Support/ArrayTest.js +0 -259
  288. package/tests/Support/ArrayTest.js.map +0 -1
  289. package/tests/Support/StringTest.d.ts +0 -2
  290. package/tests/Support/StringTest.d.ts.map +0 -1
  291. package/tests/Support/StringTest.js +0 -39
  292. package/tests/Support/StringTest.js.map +0 -1
  293. package/tests/Validation/RulesTest.d.ts +0 -2
  294. package/tests/Validation/RulesTest.d.ts.map +0 -1
  295. package/tests/Validation/RulesTest.js +0 -68
  296. package/tests/Validation/RulesTest.js.map +0 -1
@@ -4,16 +4,17 @@ import { Response } from '../Router/Http';
4
4
  import { IncomingHttpHeaders } from 'http';
5
5
  import { Application, DatabaseProvider } from '../Framework';
6
6
  import { User } from '../Framework/Auth';
7
- import { EventRequest } from '../Router/Websockets/types';
7
+ import { ActionRequest } from '../Router/Websockets/types';
8
8
  import { Container } from '../Container';
9
9
  import { ID } from '@Typetron/Database';
10
10
  export declare abstract class TestCase {
11
11
  static app: Application;
12
12
  app: Container;
13
- eventListeners: Map<string, (response: any) => void>;
13
+ actionListeners: Map<string, (response: any) => void>;
14
14
  providersNeedingReboot: (typeof DatabaseProvider)[];
15
15
  abstract bootstrapApp(): Promise<Application>;
16
16
  before(): Promise<void>;
17
+ after(): Promise<void>;
17
18
  loginById(id: ID): Promise<void>;
18
19
  /**
19
20
  * @deprecated
@@ -25,8 +26,8 @@ export declare abstract class TestCase {
25
26
  patch<T extends string | object | undefined>(route: string | [string, Record<string, string | number>], content?: {}, headers?: IncomingHttpHeaders): Promise<Response<T>>;
26
27
  put<T extends string | object | undefined>(route: string | [string, Record<string, string | number>], content?: {}, headers?: IncomingHttpHeaders): Promise<Response<T>>;
27
28
  delete<T extends string | object | undefined>(route: string | [string, Record<string, string | number>], content?: {}, headers?: IncomingHttpHeaders): Promise<Response<T>>;
28
- event<T extends string | object | undefined>(event: string, content?: EventRequest['message']): Promise<Response<T>>;
29
- on<T>(event: string, callback: (response: T) => void): void;
29
+ action<T extends string | object | undefined>(action: string, content?: ActionRequest['message']): Promise<Response<T>>;
30
+ on<T>(action: string, callback: (response: T) => void): void;
30
31
  private request;
31
32
  private convertRouteParametersToString;
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TestCase.d.ts","sourceRoot":"","sources":["../../Testing/TestCase.ts"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,CAAA;AACxB,OAAO,EAA2E,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAClH,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAQ,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAIvC,8BAAsB,QAAQ;IAC1B,MAAM,CAAC,GAAG,EAAE,WAAW,CAAA;IACvB,GAAG,EAAE,SAAS,CAAA;IAGd,cAAc,yBAA8B,GAAG,KAAK,IAAI,EAAG;IAE3D,sBAAsB,8BAErB;IAED,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAEvC,MAAM;IAcN,SAAS,CAAC,EAAE,EAAE,EAAE;IAItB;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI;IAIhB,QAAQ,CAAC,IAAI,EAAE,IAAI;IAIzB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIpI,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACvC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACrC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIjB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAwC1H,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI;YAItC,OAAO;IA4CrB,OAAO,CAAC,8BAA8B;CAMzC"}
1
+ {"version":3,"file":"TestCase.d.ts","sourceRoot":"","sources":["../../Testing/TestCase.ts"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,CAAA;AACxB,OAAO,EAA0F,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACjI,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAQ,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAMvC,8BAAsB,QAAQ;IAC1B,MAAM,CAAC,GAAG,EAAE,WAAW,CAAA;IACvB,GAAG,EAAE,SAAS,CAAA;IAGd,eAAe,yBAA8B,GAAG,KAAK,IAAI,EAAG;IAE5D,sBAAsB,8BAErB;IAED,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAGvC,MAAM;IAcN,KAAK;IAEL,SAAS,CAAC,EAAE,EAAE,EAAE;IAItB;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI;IAIhB,QAAQ,CAAC,IAAI,EAAE,IAAI;IAIzB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIpI,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACvC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACrC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIvB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACzD,OAAO,KAAK,EACZ,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIjB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAmC7H,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI;YAIvC,OAAO;IAmDrB,OAAO,CAAC,8BAA8B;CAMzC"}
@@ -9,10 +9,11 @@ const Auth_1 = require("../Framework/Auth");
9
9
  const Websockets_1 = require("../Router/Websockets");
10
10
  const ts_mockito_1 = require("ts-mockito");
11
11
  const Encryption_1 = require("@Typetron/Encryption");
12
+ const Request_1 = require("@Typetron/Router/Request");
12
13
  class TestCase {
13
14
  constructor() {
14
15
  // tslint:disable-next-line:no-any
15
- this.eventListeners = new Map();
16
+ this.actionListeners = new Map();
16
17
  this.providersNeedingReboot = [
17
18
  Framework_1.DatabaseProvider
18
19
  ];
@@ -28,6 +29,7 @@ class TestCase {
28
29
  ts_mockito_1.when(crypt.compare(ts_mockito_1.anything(), ts_mockito_1.anything())).thenCall((first, second) => Promise.resolve(`testing-${first}` === second));
29
30
  this.app.set(Encryption_1.Crypt, ts_mockito_1.instance(crypt));
30
31
  }
32
+ async after() { }
31
33
  async loginById(id) {
32
34
  await this.app.get(Auth_1.Auth).loginById(id);
33
35
  }
@@ -55,19 +57,19 @@ class TestCase {
55
57
  delete(route, content = {}, headers = {}) {
56
58
  return this.request(Http_1.Http.Method.DELETE, route, content, headers);
57
59
  }
58
- async event(event, content) {
60
+ async action(action, content) {
59
61
  const socketMock = ts_mockito_1.mock(Websockets_1.WebSocket);
60
- ts_mockito_1.when(socketMock.publishAndSend(ts_mockito_1.anything(), ts_mockito_1.anything(), ts_mockito_1.anything())).thenCall((topic, calledEvent, message) => {
61
- const callback = this.eventListeners.get(calledEvent);
62
+ ts_mockito_1.when(socketMock.publishAndSend(ts_mockito_1.anything(), ts_mockito_1.anything(), ts_mockito_1.anything())).thenCall((topic, calledActon, message) => {
63
+ const callback = this.actionListeners.get(calledActon);
62
64
  callback?.(message);
63
65
  });
64
- ts_mockito_1.when(socketMock.send(ts_mockito_1.anything(), ts_mockito_1.anything())).thenCall((calledEvent, message) => {
65
- const callback = this.eventListeners.get(calledEvent);
66
+ ts_mockito_1.when(socketMock.send(ts_mockito_1.anything(), ts_mockito_1.anything())).thenCall((calledActon, message) => {
67
+ const callback = this.actionListeners.get(calledActon);
66
68
  callback?.(message);
67
69
  });
68
70
  const container = this.app.createChildContainer();
69
71
  container.set(Websockets_1.WebSocket, ts_mockito_1.instance(socketMock));
70
- const request = new Http_1.Request(event, Http_1.Http.Method.GET, {}, {}, {}, content?.body ?? {});
72
+ const request = new Request_1.Request(action, content?.body);
71
73
  // TODO find a way to save parameters so they can be retrieved easily in the Resolvers (check EntityResolver for example)
72
74
  content?.parameters?.forEach(parameter => {
73
75
  request.parameters[String.random(15)] = parameter;
@@ -84,8 +86,8 @@ class TestCase {
84
86
  throw error;
85
87
  }
86
88
  }
87
- on(event, callback) {
88
- this.eventListeners.set(event, callback);
89
+ on(action, callback) {
90
+ this.actionListeners.set(action, callback);
89
91
  }
90
92
  async request(method, routeName, content = {}, headers = {}) {
91
93
  let routeParameters = {};
@@ -97,13 +99,19 @@ class TestCase {
97
99
  if (!route) {
98
100
  throw new Error(`Route '${routeName}' not found`);
99
101
  }
100
- route.parameters = this.convertRouteParametersToString(routeParameters) || {};
102
+ const parameters = this.convertRouteParametersToString(routeParameters) || {};
101
103
  const auth = this.app.get(Auth_1.Auth);
102
104
  if (auth.id) {
103
105
  const token = await auth.sign(auth.id);
104
106
  headers.authorization = `Bearer ${token}`;
105
107
  }
106
- const request = new Http_1.Request(route.getUrl(), method, {}, headers, {}, content);
108
+ const request = new Http_1.Request(route.getUrl(parameters), method, {}, {}, content);
109
+ request.setHeadersLoader(() => {
110
+ return headers;
111
+ });
112
+ request.getHeader = (name) => {
113
+ return headers[String(name).toLowerCase()];
114
+ };
107
115
  let response;
108
116
  try {
109
117
  response = await this.app.get(Http_1.Handler).handle(this.app, request);
@@ -1 +1 @@
1
- {"version":3,"file":"TestCase.js","sourceRoot":"","sources":["../../Testing/TestCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestCase.js","sourceRoot":"","sources":["../../Testing/TestCase.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { RuleValue } from '.';
2
2
  export interface RuleInterface {
3
3
  identifier: string;
4
- passes(attribute: string, value: RuleValue): boolean;
4
+ passes(attribute: string, value?: RuleValue): boolean;
5
5
  message(attribute: string, value: RuleValue): string;
6
6
  }
7
7
  //# sourceMappingURL=RuleInterface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RuleInterface.d.ts","sourceRoot":"","sources":["../../Validation/RuleInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAA;AAE7B,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAErD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;CACxD"}
1
+ {"version":3,"file":"RuleInterface.d.ts","sourceRoot":"","sources":["../../Validation/RuleInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAA;AAE7B,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAEtD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;CACxD"}
@@ -9,9 +9,9 @@ function FileExtension(extensions, message) {
9
9
  this.identifier = 'fileExtension';
10
10
  }
11
11
  passes(attribute, value) {
12
- return value.extension ? extensions.includes(value.extension) : false;
12
+ return value?.extension ? extensions.includes(value.extension) : false;
13
13
  }
14
- message(attribute) {
14
+ message(attribute, value) {
15
15
  const messagePart = extensions.length === 1
16
16
  ? `the '.${extensions.first()}' extension`
17
17
  : `these extensions: ${extensions.map(extension => `.${extension}`).join(', ')}`;
@@ -1 +1 @@
1
- {"version":3,"file":"FileExtension.js","sourceRoot":"","sources":["../../../Validation/Rules/FileExtension.ts"],"names":[],"mappings":";;;AAAA,qDAA0D;AAI1D,SAAgB,aAAa,CAAC,UAAoB,EAAE,OAAgB;IAChE,OAAO,KAAM,SAAQ,iBAAI;QAAlB;;YACH,eAAU,GAAG,eAAe,CAAA;QAahC,CAAC;QAXG,MAAM,CAAC,SAAiB,EAAE,KAAW;YACjC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACzE,CAAC;QAED,OAAO,CAAC,SAAiB;YACrB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;gBACvC,CAAC,CAAC,SAAS,UAAU,CAAC,KAAK,EAAE,aAAa;gBAC1C,CAAC,CAAC,qBAAqB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;YAEpF,OAAO,OAAO,IAAI,OAAO,SAAS,cAAc,WAAW,EAAE,CAAA;QACjE,CAAC;KACJ,CAAA;AACL,CAAC;AAhBD,sCAgBC"}
1
+ {"version":3,"file":"FileExtension.js","sourceRoot":"","sources":["../../../Validation/Rules/FileExtension.ts"],"names":[],"mappings":";;;AAAA,qDAA0D;AAI1D,SAAgB,aAAa,CAAC,UAAoB,EAAE,OAAgB;IAChE,OAAO,KAAM,SAAQ,iBAAI;QAAlB;;YACH,eAAU,GAAG,eAAe,CAAA;QAahC,CAAC;QAXG,MAAM,CAAC,SAAiB,EAAE,KAAY;YAClC,OAAO,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC1E,CAAC;QAED,OAAO,CAAC,SAAiB,EAAE,KAAY;YACnC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;gBACvC,CAAC,CAAC,SAAS,UAAU,CAAC,KAAK,EAAE,aAAa;gBAC1C,CAAC,CAAC,qBAAqB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;YAEpF,OAAO,OAAO,IAAI,OAAO,SAAS,cAAc,WAAW,EAAE,CAAA;QACjE,CAAC;KACJ,CAAA;AACL,CAAC;AAhBD,sCAgBC"}
@@ -9,7 +9,7 @@ function Optional() {
9
9
  this.identifier = 'optional';
10
10
  }
11
11
  passes(attribute, value) {
12
- return true;
12
+ return true; // TODO
13
13
  }
14
14
  message(attribute) {
15
15
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"Optional.js","sourceRoot":"","sources":["../../../Validation/Rules/Optional.ts"],"names":[],"mappings":";;;AACA,kCAA8B;AAG9B,SAAgB,QAAQ;IACpB,OAAO,KAAM,SAAQ,WAAI;QAAlB;;YACH,eAAU,GAAG,UAAU,CAAA;QAS3B,CAAC;QAPG,MAAM,CAAC,SAAiB,EAAE,KAAgB;YACtC,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO,CAAC,SAAiB;YACrB,OAAO,EAAE,CAAA;QACb,CAAC;KACJ,CAAA;AACL,CAAC;AAZD,4BAYC"}
1
+ {"version":3,"file":"Optional.js","sourceRoot":"","sources":["../../../Validation/Rules/Optional.ts"],"names":[],"mappings":";;;AACA,kCAA8B;AAG9B,SAAgB,QAAQ;IACpB,OAAO,KAAM,SAAQ,WAAI;QAAlB;;YACH,eAAU,GAAG,UAAU,CAAA;QAS3B,CAAC;QAPG,MAAM,CAAC,SAAiB,EAAE,KAAgB;YACtC,OAAO,IAAI,CAAA,CAAC,OAAO;QACvB,CAAC;QAED,OAAO,CAAC,SAAiB;YACrB,OAAO,EAAE,CAAA;QACb,CAAC;KACJ,CAAA;AACL,CAAC;AAZD,4BAYC"}
@@ -4,6 +4,7 @@ export * from './Validator';
4
4
  export * from './Rule';
5
5
  export * from './Rules/MaxLength';
6
6
  export * from './Rules/MinLength';
7
+ export * from './Rules/FileExtension';
7
8
  export * from './Rules/Required';
8
9
  export * from './Rules/Email';
9
10
  export * from './Rules/Optional';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Validation/index.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS,GAAG,GAAG,CAAC;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Validation/index.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS,GAAG,GAAG,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA"}
@@ -15,6 +15,7 @@ __exportStar(require("./Validator"), exports);
15
15
  __exportStar(require("./Rule"), exports);
16
16
  __exportStar(require("./Rules/MaxLength"), exports);
17
17
  __exportStar(require("./Rules/MinLength"), exports);
18
+ __exportStar(require("./Rules/FileExtension"), exports);
18
19
  __exportStar(require("./Rules/Required"), exports);
19
20
  __exportStar(require("./Rules/Email"), exports);
20
21
  __exportStar(require("./Rules/Optional"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../Validation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kDAA+B;AAC/B,8CAA2B;AAC3B,yCAAsB;AACtB,oDAAiC;AACjC,oDAAiC;AACjC,mDAAgC;AAChC,gDAA6B;AAC7B,mDAAgC;AAChC,wCAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../Validation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kDAA+B;AAC/B,8CAA2B;AAC3B,yCAAsB;AACtB,oDAAiC;AACjC,oDAAiC;AACjC,wDAAqC;AACrC,mDAAgC;AAChC,gDAA6B;AAC7B,mDAAgC;AAChC,wCAAwC"}
@@ -0,0 +1,20 @@
1
+ const path = require('path')
2
+ const fs = require('fs')
3
+
4
+ const tsConfigPaths = require('tsconfig-paths')
5
+ const appTsConfigPath = path.join(process.cwd(), 'tsconfig.json')
6
+ const tsConfig = require(path.join(__dirname, 'tsconfig.json'))
7
+
8
+ require('ts-node').register({
9
+ project : fs.existsSync(appTsConfigPath) ? appTsConfigPath : path.join(__dirname, 'tsconfig.json'),
10
+ transpileOnly : true,
11
+ skipIgnore : true,
12
+ preferTsExts : true,
13
+ })
14
+
15
+ tsConfigPaths.register({
16
+ baseUrl : __dirname,
17
+ paths : tsConfig.compilerOptions.paths
18
+ })
19
+
20
+ require('./benchmark')
package/benchmark.ts ADDED
@@ -0,0 +1,47 @@
1
+ // clinic flame -- node -r ts-node/register -r tsconfig-paths/register benchmark.js
2
+
3
+ import 'reflect-metadata'
4
+ import '@Typetron/Support'
5
+ import { Handler, Http, Request } from './Router/Http'
6
+ import { Container } from './Container'
7
+ import { Get } from './Router'
8
+ import Method = Http.Method
9
+
10
+ class Controller {
11
+ @Get()
12
+ read() {
13
+ return 'Hello world!!!'
14
+ }
15
+ }
16
+
17
+ async function main() {
18
+
19
+ const app = new Container()
20
+ const handler = app.get(Handler)
21
+
22
+ handler.addRoute('', Method.GET, Controller, 'read', 'read')
23
+
24
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
+ // @ts-ignore
26
+ // const request = await Request.capture({
27
+ // url: 'http://localhost:3000',
28
+ // method: 'GET',
29
+ // headers: {}
30
+ // })
31
+ // await handler.handle(app, request)
32
+
33
+ console.time('test')
34
+ for (let i = 0; i < 1_000_000_0; i++) {
35
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
+ // @ts-ignore
37
+ const request = await Request.capture({
38
+ url: 'http://localhost:3000',
39
+ method: 'GET',
40
+ headers: {}
41
+ })
42
+ await handler.handle(app, request)
43
+ }
44
+ console.timeEnd('test')
45
+ }
46
+
47
+ main()
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typetron/framework",
3
3
  "description": "Modern Node.js framework for modern apps written in Typescript",
4
4
  "license": "MIT",
5
- "version": "0.4.0-rc1",
5
+ "version": "0.4.0-rc13",
6
6
  "keywords": [
7
7
  "typetron",
8
8
  "framework",
@@ -32,13 +32,14 @@
32
32
  "fast-url-parser": "^1.1.3",
33
33
  "jsonwebtoken": "^9.0.0",
34
34
  "mysql": "^2.18.1",
35
- "sqlite3": "^5.1.6",
36
- "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.31.0"
35
+ "sqlite3": "^5.0.2",
36
+ "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.31.0",
37
+ "reflect-metadata": "^0.1.13"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@testdeck/mocha": "^0.1.2",
40
41
  "@types/bcryptjs": "^2.4.2",
41
- "@types/busboy": "^0.2.4",
42
+ "@types/busboy": "^1.5.1",
42
43
  "@types/chai": "^4.2.21",
43
44
  "@types/jsonwebtoken": "^8.5.5",
44
45
  "@types/mocha": "^9.0.0",
@@ -50,10 +51,9 @@
50
51
  "chai": "^4.3.4",
51
52
  "eslint": "^8.46.0",
52
53
  "mocha": "^9.1.1",
54
+ "ts-mockito": "^2.6.1",
53
55
  "nyc": "^15.1.0",
54
- "reflect-metadata": "^0.1.13",
55
56
  "source-map-support": "^0.5.20",
56
- "ts-mockito": "^2.6.1",
57
57
  "ts-node": "^10.2.1",
58
58
  "tsconfig-paths": "^3.11.0",
59
59
  "tslint": "^6.1.3",
package/types.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ declare module 'fast-url-parser' {
2
+ export function parse(url: string): Url
3
+
4
+ type Url = URL & {
5
+ format(): string
6
+ query: string
7
+ }
8
+ }
@@ -1,8 +0,0 @@
1
- import { FormGroup } from '@angular/forms';
2
- import { Form } from '@Typetron/Forms';
3
- import { Constructor } from '@Typetron/Support';
4
- export declare class FormBuilder {
5
- static build(form: typeof Form & Constructor<Form>): FormGroup;
6
- private static getValidators;
7
- }
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Frontend/Angular/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,SAAS,EAAe,MAAM,gBAAgB,CAAA;AACrF,OAAO,EAAE,IAAI,EAAa,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,WAAW;IACpB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS;IAa9D,OAAO,CAAC,MAAM,CAAC,aAAa;CAG/B"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormBuilder = void 0;
4
- const forms_1 = require("@angular/forms");
5
- class FormBuilder {
6
- static build(form) {
7
- const controls = {};
8
- const formFields = Object.values(form.fields());
9
- const instance = new form();
10
- Object.values(formFields).forEach(field => {
11
- controls[field.name] = new forms_1.FormControl(instance[field.name], { validators: this.getValidators(field) });
12
- });
13
- return new forms_1.FormGroup(controls);
14
- }
15
- static getValidators(field) {
16
- return control => field.validate(control.value);
17
- }
18
- }
19
- exports.FormBuilder = FormBuilder;
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Frontend/Angular/index.ts"],"names":[],"mappings":";;;AAAA,0CAAqF;AAIrF,MAAa,WAAW;IACpB,MAAM,CAAC,KAAK,CAAC,IAAqC;QAC9C,MAAM,QAAQ,GAAoC,EAAE,CAAA;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAgB,CAAA;QAC9D,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;QAC3B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,mBAAW,CAClC,QAAQ,CAAC,KAAK,CAAC,IAAkB,CAAC,EAClC,EAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAC,CAC1C,CAAA;QACL,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,iBAAS,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAgB;QACzC,OAAO,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAA2B,CAAA;IAC7E,CAAC;CACJ;AAjBD,kCAiBC"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Websocket = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const types_1 = require("@typetron/framework/Router/Websockets/types");
7
- class Websocket {
8
- constructor(url, protocols) {
9
- this.url = url;
10
- this.protocols = protocols;
11
- this.eventMessages$ = new rxjs_1.Subject();
12
- this.queuedEvents$ = new rxjs_1.ReplaySubject();
13
- // @ts-ignore
14
- this.errors$ = new rxjs_1.Subject();
15
- this.connect(url, protocols);
16
- }
17
- get isConnected() {
18
- return this.socket?.readyState === WebSocket.OPEN;
19
- }
20
- connect(url, protocols) {
21
- const socket = new WebSocket(url ?? this.url, protocols ?? this.protocols);
22
- this.socket = socket;
23
- socket.onmessage = (event) => {
24
- const message = JSON.parse(event.data);
25
- this.eventMessages$.next(message);
26
- };
27
- socket.onopen = () => {
28
- this.onConnectCallback?.();
29
- this.queuedEvents$.subscribe(message => {
30
- socket.send(JSON.stringify(message));
31
- });
32
- };
33
- socket.onclose = (event) => {
34
- this.queuedEvents$ = new rxjs_1.ReplaySubject();
35
- this.reconnect();
36
- };
37
- }
38
- onConnect(callback) {
39
- this.onConnectCallback = callback;
40
- }
41
- reconnect() {
42
- if (this.socket?.readyState === WebSocket.CLOSED) {
43
- window.setTimeout(() => {
44
- this.connect(this.url, this.protocols);
45
- }, 1000);
46
- }
47
- }
48
- emit(event, request) {
49
- const eventMessage = { event, message: request };
50
- this.queuedEvents$.next(eventMessage);
51
- }
52
- on(event) {
53
- return this.eventMessages$.pipe(operators_1.filter(eventMessage => eventMessage.event === event), operators_1.switchMap(eventMessage => {
54
- if (eventMessage.status === types_1.WebsocketMessageStatus.Error) {
55
- // @ts-ignore
56
- this.errors$.next(eventMessage);
57
- return rxjs_1.throwError(eventMessage);
58
- }
59
- return rxjs_1.of(eventMessage);
60
- }), operators_1.map(eventMessage => eventMessage.message));
61
- }
62
- onError({ except }) {
63
- return this.errors$.pipe(operators_1.filter(eventMessage => !(except || []).includes(eventMessage.event)));
64
- }
65
- async request(event, message) {
66
- this.emit(event, message);
67
- return new Promise((resolve, reject) => {
68
- this.on(event).pipe(operators_1.take(1)).subscribe({
69
- next: resolve,
70
- error: reject
71
- });
72
- });
73
- }
74
- }
75
- exports.Websocket = Websocket;
76
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Frontend/Websockets/index.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { Container } from '../../Container';
2
- import { Abstract, Constructor, Type } from '../../Support';
3
- import { MiddlewareInterface } from '../Middleware';
4
- import { Guard } from '../Guard';
5
- export declare class WebsocketEvent {
6
- name: string;
7
- controller: Constructor;
8
- action: string;
9
- parametersTypes: (Type<Function> | FunctionConstructor)[];
10
- middleware: Abstract<MiddlewareInterface>[];
11
- guards: (typeof Guard)[];
12
- constructor(name: string, controller: Constructor, action: string, parametersTypes?: (Type<Function> | FunctionConstructor)[], middleware?: Abstract<MiddlewareInterface>[]);
13
- run(container: Container, requestParameters: Record<string, unknown>): Promise<object | string>;
14
- private resolveParameters;
15
- }
16
- //# sourceMappingURL=WebsocketEvent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebsocketEvent.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/WebsocketEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,qBAAa,cAAc;IAIZ,IAAI;IACJ,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,MAAM;IACd,eAAe,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,EAAE;IACzD,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE;IAPtD,MAAM,EAAE,CAAC,OAAO,KAAK,CAAC,EAAE,CAAK;gBAGlB,IAAI,QAAK,EACT,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,MAAM,EACd,eAAe,GAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,EAAO,EAC9D,UAAU,GAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAO;IAGrD,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YA0BvF,iBAAiB;CAyBlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebsocketEvent.js","sourceRoot":"","sources":["../../../Router/Websockets/WebsocketEvent.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAG/D,MAAa,cAAc;IAGvB,YACW,OAAO,EAAE,EACT,UAAuB,EACvB,MAAc,EACd,kBAA4D,EAAE,EAC9D,aAA8C,EAAE;QAJhD,SAAI,GAAJ,IAAI,CAAK;QACT,eAAU,GAAV,UAAU,CAAa;QACvB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAA+C;QAC9D,eAAU,GAAV,UAAU,CAAsC;QAP3D,WAAM,GAAqB,EAAE,CAAA;IAQ1B,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,SAAoB,EAAE,iBAA0C;QACtE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAEvD,IAAI;YACA,MAAM,QAAQ,GAA8B,6BAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACvG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,iBAAiB,EACjB,IAAI,CAAC,eAAe,EACpB,QAAQ,EAAE,mBAAmB,IAAI,EAAE,EACnC,SAAS,CACZ,CAAA;YAED,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE;gBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,EAAE;oBACvC,KAAK,CAAC,MAAM,EAAE,CAAA;iBACjB;aACJ;YAED,OAAQ,UAAU,CAAC,IAAI,CAAC,MAA2B,CAAc,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;SAClG;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,KAAK,GAAG,eAAe,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAA;YAC9F,MAAM,KAAK,CAAA;SACd;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC3B,iBAA0C,EAC1C,eAAiC,EACjC,SAAqB,EACrB,SAAoB;QAEpB,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,kCAAkC;QAClC,MAAM,eAAe,GAAU,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC/D,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACvD,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,gBAAgB,EAAE;gBAClB,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;aAC3D;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,OAAO,eAAe,CAAC,cAAc,EAAE,CAAC,CAAA;aAC3C;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAA;gBAC/C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aAClF;YACD,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;IACN,CAAC;CAEJ;AA9DD,wCA8DC"}
package/Router/micro.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { Request, Response } from '@Typetron/Router/Http';
2
- export declare function startServer(port: number, handler: (incomingMessage: Request) => Promise<Response>): void;
3
- //# sourceMappingURL=micro.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"micro.d.ts","sourceRoot":"","sources":["../../Router/micro.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,QAmCjG"}
package/Router/micro.js DELETED
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startServer = void 0;
4
- const uWebSockets_js_1 = require("uWebSockets.js");
5
- const Http_1 = require("@Typetron/Router/Http");
6
- function startServer(port, handler) {
7
- const app = /*SSL*/ uWebSockets_js_1.App({
8
- // key_file_name: 'misc/key.pem',
9
- // cert_file_name: 'misc/cert.pem',
10
- // passphrase: '1234'
11
- })
12
- .any('*', async (response, request) => {
13
- // res.end('Any route with method: ' + req.getMethod())
14
- const appRequest = new Http_1.Request(request.getUrl(), request.getMethod(), {});
15
- const appResponse = await handler(appRequest);
16
- response.writeStatus(appResponse.status.toString()).end(String(appResponse.body));
17
- })
18
- // .get('/user/agent', (res, req) => {
19
- // /* Read headers */
20
- // res.end('Your user agent is: ' + req.getHeader('user-agent') + ' thank you, come again!')
21
- // })
22
- // .get('/static/yes', (res, req) => {
23
- // /* Static match */
24
- // res.end('This is very static')
25
- // })
26
- // .get('/candy/:kind', (res, req) => {
27
- // /* Parameters */
28
- // res.end('So you want candy? Have some ' + req.getParameter(0) + '!')
29
- // })
30
- // .get('/*', (res, req) => {
31
- // /* Wildcards - make sure to catch them last */
32
- // res.end('Nothing to see here!')
33
- // })
34
- .listen(port, (token) => {
35
- if (token) {
36
- console.log('Listening to port ' + port);
37
- }
38
- else {
39
- console.log('Failed to listen to port ' + port);
40
- }
41
- });
42
- }
43
- exports.startServer = startServer;
44
- //# sourceMappingURL=micro.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"micro.js","sourceRoot":"","sources":["../../Router/micro.ts"],"names":[],"mappings":";;;AAAA,mDAAoC;AACpC,gDAA+D;AAE/D,SAAgB,WAAW,CAAC,IAAY,EAAE,OAAwD;IAC9F,MAAM,GAAG,GAAG,OAAO,CAAA,oBAAG,CAAC;IACnB,iCAAiC;IACjC,mCAAmC;IACnC,qBAAqB;KACxB,CAAC;SACG,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,uDAAuD;QACvD,MAAM,UAAU,GAAG,IAAI,cAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,SAAS,EAAiB,EAAE,EAAE,CAAC,CAAA;QACxF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;QAC7C,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC,CAAC;QACF,sCAAsC;QACtC,yBAAyB;QACzB,gGAAgG;QAChG,KAAK;QACL,sCAAsC;QACtC,yBAAyB;QACzB,qCAAqC;QACrC,KAAK;QACL,uCAAuC;QACvC,uBAAuB;QACvB,2EAA2E;QAC3E,KAAK;QACL,6BAA6B;QAC7B,qDAAqD;QACrD,sCAAsC;QACtC,KAAK;SACJ,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;QACpB,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;SAC3C;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAA;SAClD;IACL,CAAC,CAAC,CAAA;AACV,CAAC;AAnCD,kCAmCC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark-index.js","sourceRoot":"","sources":["../benchmark-index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,uCAAwB;AAExB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAC/C,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAA;AACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAElE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IACxB,OAAO,EAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;IAClG,aAAa,EAAG,IAAI;IACpB,UAAU,EAAG,IAAI;IACjB,YAAY,EAAG,IAAI;CACtB,CAAC,CAAA;AAEF,aAAa,CAAC,QAAQ,CAAC;IACnB,OAAO,EAAG,SAAS;IACnB,KAAK,EAAG,QAAQ,CAAC,eAAe,CAAC,KAAK;CACzC,CAAC,CAAA;AAEF,OAAO,CAAC,aAAa,CAAC,CAAA"}
package/benchmark.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../benchmark.ts"],"names":[],"mappings":";AAAA,mFAAmF;;;;;;;;;;;AAEnF,4BAAyB;AACzB,6BAA0B;AAC1B,wCAAsD;AACtD,2CAAuC;AACvC,IAAO,MAAM,GAAG,WAAI,CAAC,MAAM,CAAA;AAC3B,qCAA8B;AAG9B,MAAM,UAAU;IAEZ,IAAI;QACA,OAAO,gBAAgB,CAAA;IAC3B,CAAC;CACJ;AAHG;IADC,YAAG,EAAE;;;;sCAGL;AAGL,KAAK,UAAU,IAAI;IAEf,MAAM,GAAG,GAAG,IAAI,qBAAS,EAAE,CAAA;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,cAAO,CAAC,CAAA;IAEhC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5D,6DAA6D;IAC7D,aAAa;IACb,0CAA0C;IAC1C,oCAAoC;IACpC,qBAAqB;IACrB,kBAAkB;IAClB,KAAK;IACL,qCAAqC;IAErC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAW,EAAE,CAAC,EAAE,EAAE;QAClC,6DAA6D;QAC7D,aAAa;QACb,MAAM,OAAO,GAAG,MAAM,cAAO,CAAC,OAAO,CAAC;YAClC,GAAG,EAAE,uBAAuB;YAC5B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE;SACd,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;KACrC;IACD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC;AAED,IAAI,EAAE,CAAA"}
package/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":""}
package/index.js DELETED
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const path_1 = __importDefault(require("path"));
26
- const fs = __importStar(require("fs"));
27
- const tsConfigPaths = require('tsconfig-paths');
28
- const appTsConfigPath = path_1.default.join(process.cwd(), '../tsconfig.json');
29
- const tsConfig = require(path_1.default.join(__dirname, '../tsconfig.json'));
30
- require('ts-node').register({
31
- project: fs.existsSync(appTsConfigPath) ? appTsConfigPath : path_1.default.join(__dirname, 'tsconfig.json'),
32
- transpileOnly: true,
33
- skipIgnore: true,
34
- preferTsExts: true,
35
- });
36
- tsConfigPaths.register({
37
- baseUrl: __dirname,
38
- paths: tsConfig.compilerOptions.paths
39
- });
40
- require('./benchmark');
41
- //# sourceMappingURL=index.js.map