@typetron/framework 0.3.18 → 0.4.0-rc10

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 (445) hide show
  1. package/Cache/Stores/DatabaseStore.js +0 -104
  2. package/Cache/Stores/DatabaseStore.js.map +1 -1
  3. package/Cache/Stores/FileStore.js +1 -1
  4. package/Cache/Stores/FileStore.js.map +1 -1
  5. package/Container/ClassResolver.d.ts.map +1 -1
  6. package/Container/ClassResolver.js +4 -1
  7. package/Container/ClassResolver.js.map +1 -1
  8. package/Container/Container.d.ts.map +1 -1
  9. package/Container/Container.js +3 -2
  10. package/Container/Container.js.map +1 -1
  11. package/Container/Decorators.js +1 -1
  12. package/Container/Decorators.js.map +1 -1
  13. package/Container/Metadata.d.ts +2 -2
  14. package/Database/Decorators.js +2 -3
  15. package/Database/Decorators.js.map +1 -1
  16. package/Database/Drivers/MySQL/MysqlDriver.js +1 -2
  17. package/Database/Drivers/MySQL/MysqlDriver.js.map +1 -1
  18. package/Database/Drivers/MySQL/Schema.js +7 -6
  19. package/Database/Drivers/MySQL/Schema.js.map +1 -1
  20. package/Database/Drivers/SQL/Statements/BaseStatement.js +1 -2
  21. package/Database/Drivers/SQL/Statements/BaseStatement.js.map +1 -1
  22. package/Database/Drivers/SQL/Statements/Insert.js +1 -2
  23. package/Database/Drivers/SQL/Statements/Insert.js.map +1 -1
  24. package/Database/Drivers/SQLite/Schema.js +4 -2
  25. package/Database/Drivers/SQLite/Schema.js.map +1 -1
  26. package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -1
  27. package/Database/Drivers/SQLite/SqliteDriver.js +4 -1
  28. package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -1
  29. package/Database/Entity.d.ts +1 -1
  30. package/Database/Entity.d.ts.map +1 -1
  31. package/Database/Entity.js +3 -4
  32. package/Database/Entity.js.map +1 -1
  33. package/Database/Fields.js +17 -21
  34. package/Database/Fields.js.map +1 -1
  35. package/Database/List.d.ts +1 -1
  36. package/Database/Migrations/Migrator.js +3 -4
  37. package/Database/Migrations/Migrator.js.map +1 -1
  38. package/Database/Query.js +1 -1
  39. package/Database/Query.js.map +1 -1
  40. package/Database/index.d.ts.map +1 -1
  41. package/Encryption/index.js +2 -2
  42. package/Encryption/index.js.map +1 -1
  43. package/Framework/Application.d.ts +0 -1
  44. package/Framework/Application.d.ts.map +1 -1
  45. package/Framework/Application.js +2 -5
  46. package/Framework/Application.js.map +1 -1
  47. package/Framework/Auth/Auth.d.ts +1 -1
  48. package/Framework/Auth/Auth.d.ts.map +1 -1
  49. package/Framework/Auth/Auth.js +5 -1
  50. package/Framework/Auth/Auth.js.map +1 -1
  51. package/Framework/Auth/index.d.ts +1 -1
  52. package/Framework/Auth/index.d.ts.map +1 -1
  53. package/Framework/Auth/index.js +3 -9
  54. package/Framework/Auth/index.js.map +1 -1
  55. package/Framework/Config/AppConfig.d.ts +9 -2
  56. package/Framework/Config/AppConfig.d.ts.map +1 -1
  57. package/Framework/Config/AppConfig.js +6 -0
  58. package/Framework/Config/AppConfig.js.map +1 -1
  59. package/Framework/Config/CacheConfig.d.ts +1 -1
  60. package/Framework/Config/CacheConfig.d.ts.map +1 -1
  61. package/Framework/Config/CacheConfig.js +1 -2
  62. package/Framework/Config/CacheConfig.js.map +1 -1
  63. package/Framework/Config/DatabaseConfig.js +2 -3
  64. package/Framework/Config/DatabaseConfig.js.map +1 -1
  65. package/Framework/Config/MailConfig.d.ts +19 -0
  66. package/Framework/Config/MailConfig.d.ts.map +1 -0
  67. package/Framework/Config/MailConfig.js +12 -0
  68. package/Framework/Config/MailConfig.js.map +1 -0
  69. package/Framework/Config/index.d.ts +1 -0
  70. package/Framework/Config/index.d.ts.map +1 -1
  71. package/Framework/Config/index.js +1 -0
  72. package/Framework/Config/index.js.map +1 -1
  73. package/Framework/Middleware/AuthMiddleware.d.ts +4 -3
  74. package/Framework/Middleware/AuthMiddleware.d.ts.map +1 -1
  75. package/Framework/Middleware/AuthMiddleware.js +1 -2
  76. package/Framework/Middleware/AuthMiddleware.js.map +1 -1
  77. package/Framework/Middleware/CorsMiddleware.d.ts +4 -3
  78. package/Framework/Middleware/CorsMiddleware.d.ts.map +1 -1
  79. package/Framework/Middleware/CorsMiddleware.js +8 -6
  80. package/Framework/Middleware/CorsMiddleware.js.map +1 -1
  81. package/Framework/Middleware/StaticAssetsMiddleware.d.ts +4 -3
  82. package/Framework/Middleware/StaticAssetsMiddleware.d.ts.map +1 -1
  83. package/Framework/Middleware/StaticAssetsMiddleware.js +8 -6
  84. package/Framework/Middleware/StaticAssetsMiddleware.js.map +1 -1
  85. package/Framework/Providers/CacheProvider.js +4 -4
  86. package/Framework/Providers/CacheProvider.js.map +1 -1
  87. package/Framework/Providers/MailProvider.d.ts +7 -0
  88. package/Framework/Providers/MailProvider.d.ts.map +1 -0
  89. package/Framework/Providers/MailProvider.js +40 -0
  90. package/Framework/Providers/MailProvider.js.map +1 -0
  91. package/Framework/Providers/WebsocketsProvider.d.ts +1 -1
  92. package/Framework/Providers/WebsocketsProvider.d.ts.map +1 -1
  93. package/Framework/Providers/WebsocketsProvider.js +16 -16
  94. package/Framework/Providers/WebsocketsProvider.js.map +1 -1
  95. package/Framework/Resolvers/AuthResolver.d.ts.map +1 -1
  96. package/Framework/Resolvers/AuthResolver.js +5 -1
  97. package/Framework/Resolvers/AuthResolver.js.map +1 -1
  98. package/Framework/Resolvers/EntityResolver.js +3 -4
  99. package/Framework/Resolvers/EntityResolver.js.map +1 -1
  100. package/Framework/Resolvers/FormResolver.d.ts.map +1 -1
  101. package/Framework/Resolvers/FormResolver.js +2 -1
  102. package/Framework/Resolvers/FormResolver.js.map +1 -1
  103. package/Framework/index.d.ts +1 -0
  104. package/Framework/index.d.ts.map +1 -1
  105. package/Framework/index.js +1 -0
  106. package/Framework/index.js.map +1 -1
  107. package/LICENSE.md +21 -0
  108. package/Mail/MailAddress.d.ts +5 -0
  109. package/Mail/MailAddress.d.ts.map +1 -0
  110. package/{Cache/Contracts/CacheInterface.js → Mail/MailAddress.js} +1 -1
  111. package/Mail/MailAddress.js.map +1 -0
  112. package/Mail/MailTransport.d.ts +6 -0
  113. package/Mail/MailTransport.d.ts.map +1 -0
  114. package/Mail/MailTransport.js +7 -0
  115. package/Mail/MailTransport.js.map +1 -0
  116. package/Mail/Mailable.d.ts +18 -0
  117. package/Mail/Mailable.d.ts.map +1 -0
  118. package/Mail/Mailable.js +10 -0
  119. package/Mail/Mailable.js.map +1 -0
  120. package/Mail/Mailer.d.ts +12 -0
  121. package/Mail/Mailer.d.ts.map +1 -0
  122. package/Mail/Mailer.js +25 -0
  123. package/Mail/Mailer.js.map +1 -0
  124. package/Mail/PendingMail.d.ts +30 -0
  125. package/Mail/PendingMail.d.ts.map +1 -0
  126. package/Mail/PendingMail.js +53 -0
  127. package/Mail/PendingMail.js.map +1 -0
  128. package/Mail/SentMessage.d.ts +16 -0
  129. package/Mail/SentMessage.d.ts.map +1 -0
  130. package/Mail/SentMessage.js +13 -0
  131. package/Mail/SentMessage.js.map +1 -0
  132. package/Mail/Transports/MemoryTransport.d.ts +8 -0
  133. package/Mail/Transports/MemoryTransport.d.ts.map +1 -0
  134. package/Mail/Transports/MemoryTransport.js +18 -0
  135. package/Mail/Transports/MemoryTransport.js.map +1 -0
  136. package/Mail/Transports/SendGridTransport.d.ts +11 -0
  137. package/Mail/Transports/SendGridTransport.d.ts.map +1 -0
  138. package/Mail/Transports/SendGridTransport.js +59 -0
  139. package/Mail/Transports/SendGridTransport.js.map +1 -0
  140. package/Mail/index.d.ts +4 -0
  141. package/Mail/index.d.ts.map +1 -0
  142. package/Mail/index.js +16 -0
  143. package/Mail/index.js.map +1 -0
  144. package/Models/Model.js +1 -1
  145. package/Models/Model.js.map +1 -1
  146. package/Readme.md +123 -0
  147. package/Router/Action.d.ts +17 -0
  148. package/Router/Action.d.ts.map +1 -0
  149. package/Router/Action.js +43 -0
  150. package/Router/Action.js.map +1 -0
  151. package/Router/ActionRequest.d.ts +17 -0
  152. package/Router/ActionRequest.d.ts.map +1 -0
  153. package/Router/ActionRequest.js +43 -0
  154. package/Router/ActionRequest.js.map +1 -0
  155. package/Router/Decorators.d.ts +4 -7
  156. package/Router/Decorators.d.ts.map +1 -1
  157. package/Router/Decorators.js +45 -40
  158. package/Router/Decorators.js.map +1 -1
  159. package/Router/Http/Handler.d.ts +4 -2
  160. package/Router/Http/Handler.d.ts.map +1 -1
  161. package/Router/Http/Handler.js +24 -17
  162. package/Router/Http/Handler.js.map +1 -1
  163. package/Router/Http/HttpRoute.d.ts +23 -0
  164. package/Router/Http/HttpRoute.d.ts.map +1 -0
  165. package/Router/Http/HttpRoute.js +111 -0
  166. package/Router/Http/HttpRoute.js.map +1 -0
  167. package/Router/Http/Middleware.d.ts +7 -0
  168. package/Router/Http/Middleware.d.ts.map +1 -0
  169. package/Router/Http/Middleware.js +8 -0
  170. package/Router/Http/Middleware.js.map +1 -0
  171. package/Router/Http/Request.d.ts +28 -12
  172. package/Router/Http/Request.d.ts.map +1 -1
  173. package/Router/Http/Request.js +107 -62
  174. package/Router/Http/Request.js.map +1 -1
  175. package/Router/Http/Response.d.ts +2 -5
  176. package/Router/Http/Response.d.ts.map +1 -1
  177. package/Router/Http/Response.js +1 -25
  178. package/Router/Http/Response.js.map +1 -1
  179. package/Router/Http/Route.d.ts +24 -0
  180. package/Router/Http/Route.d.ts.map +1 -0
  181. package/Router/Http/Route.js +111 -0
  182. package/Router/Http/Route.js.map +1 -0
  183. package/Router/Metadata.d.ts +17 -8
  184. package/Router/Metadata.d.ts.map +1 -1
  185. package/Router/Metadata.js +12 -5
  186. package/Router/Metadata.js.map +1 -1
  187. package/Router/Middleware.d.ts +9 -2
  188. package/Router/Middleware.d.ts.map +1 -1
  189. package/Router/Middleware.js +4 -0
  190. package/Router/Middleware.js.map +1 -1
  191. package/Router/Request.d.ts +24 -0
  192. package/Router/Request.d.ts.map +1 -0
  193. package/Router/Request.js +43 -0
  194. package/Router/Request.js.map +1 -0
  195. package/Router/Route.d.ts +8 -18
  196. package/Router/Route.d.ts.map +1 -1
  197. package/Router/Route.js +3 -98
  198. package/Router/Route.js.map +1 -1
  199. package/Router/Router.d.ts +12 -6
  200. package/Router/Router.d.ts.map +1 -1
  201. package/Router/Router.js +6 -2
  202. package/Router/Router.js.map +1 -1
  203. package/Router/Servers/index.d.ts +5 -0
  204. package/Router/Servers/index.d.ts.map +1 -0
  205. package/Router/Servers/index.js +15 -0
  206. package/Router/Servers/index.js.map +1 -0
  207. package/Router/Servers/node.d.ts +3 -0
  208. package/Router/Servers/node.d.ts.map +1 -0
  209. package/Router/Servers/node.js +42 -0
  210. package/Router/Servers/node.js.map +1 -0
  211. package/Router/Servers/uNetworking.d.ts +3 -0
  212. package/Router/Servers/uNetworking.d.ts.map +1 -0
  213. package/Router/Servers/uNetworking.js +159 -0
  214. package/Router/Servers/uNetworking.js.map +1 -0
  215. package/Router/Websockets/ActionRequest.d.ts +17 -0
  216. package/Router/Websockets/ActionRequest.d.ts.map +1 -0
  217. package/Router/Websockets/ActionRequest.js +43 -0
  218. package/Router/Websockets/ActionRequest.js.map +1 -0
  219. package/Router/Websockets/Handler.d.ts +9 -7
  220. package/Router/Websockets/Handler.d.ts.map +1 -1
  221. package/Router/Websockets/Handler.js +19 -13
  222. package/Router/Websockets/Handler.js.map +1 -1
  223. package/Router/Websockets/Middleware.d.ts +7 -0
  224. package/Router/Websockets/Middleware.d.ts.map +1 -0
  225. package/Router/Websockets/Middleware.js +8 -0
  226. package/Router/Websockets/Middleware.js.map +1 -0
  227. package/Router/Websockets/Request.d.ts +4 -0
  228. package/Router/Websockets/Request.d.ts.map +1 -0
  229. package/Router/Websockets/Request.js +8 -0
  230. package/Router/Websockets/Request.js.map +1 -0
  231. package/Router/Websockets/WebsocketAction.d.ts +7 -0
  232. package/Router/Websockets/WebsocketAction.d.ts.map +1 -0
  233. package/Router/Websockets/WebsocketAction.js +55 -0
  234. package/Router/Websockets/WebsocketAction.js.map +1 -0
  235. package/Router/Websockets/WebsocketEvent.js +2 -3
  236. package/Router/Websockets/WebsocketEvent.js.map +1 -1
  237. package/Router/Websockets/WebsocketRequest.d.ts +4 -0
  238. package/Router/Websockets/WebsocketRequest.d.ts.map +1 -0
  239. package/Router/Websockets/WebsocketRequest.js +8 -0
  240. package/Router/Websockets/WebsocketRequest.js.map +1 -0
  241. package/Router/Websockets/WebsocketRoute.d.ts +7 -0
  242. package/Router/Websockets/WebsocketRoute.d.ts.map +1 -0
  243. package/Router/Websockets/WebsocketRoute.js +46 -0
  244. package/Router/Websockets/WebsocketRoute.js.map +1 -0
  245. package/Router/Websockets/index.d.ts +3 -3
  246. package/Router/Websockets/index.d.ts.map +1 -1
  247. package/Router/Websockets/index.js +7 -7
  248. package/Router/Websockets/index.js.map +1 -1
  249. package/Router/Websockets/types.d.ts +6 -6
  250. package/Router/Websockets/types.d.ts.map +1 -1
  251. package/Storage/Storage.d.ts.map +1 -1
  252. package/Storage/Storage.js +4 -3
  253. package/Storage/Storage.js.map +1 -1
  254. package/Support/Array.js +5 -2
  255. package/Support/Array.js.map +1 -1
  256. package/Support/Metadata.d.ts +6 -5
  257. package/Support/Metadata.d.ts.map +1 -1
  258. package/Support/Metadata.js +15 -4
  259. package/Support/Metadata.js.map +1 -1
  260. package/Support/index.d.ts +1 -0
  261. package/Support/index.d.ts.map +1 -1
  262. package/Testing/TestCase.d.ts +5 -4
  263. package/Testing/TestCase.d.ts.map +1 -1
  264. package/Testing/TestCase.js +21 -14
  265. package/Testing/TestCase.js.map +1 -1
  266. package/Validation/RuleInterface.d.ts +1 -1
  267. package/Validation/RuleInterface.d.ts.map +1 -1
  268. package/Validation/Rules/Email.js +1 -1
  269. package/Validation/Rules/Email.js.map +1 -1
  270. package/Validation/Rules/FileExtension.js +3 -3
  271. package/Validation/Rules/FileExtension.js.map +1 -1
  272. package/Validation/Rules/MaxLength.js +1 -1
  273. package/Validation/Rules/MaxLength.js.map +1 -1
  274. package/Validation/Rules/MinLength.js +1 -1
  275. package/Validation/Rules/MinLength.js.map +1 -1
  276. package/Validation/Rules/Optional.js +1 -1
  277. package/Validation/Rules/Optional.js.map +1 -1
  278. package/Validation/Rules/Required.js +1 -1
  279. package/Validation/Rules/Required.js.map +1 -1
  280. package/Validation/index.d.ts +1 -0
  281. package/Validation/index.d.ts.map +1 -1
  282. package/Validation/index.js +1 -0
  283. package/Validation/index.js.map +1 -1
  284. package/benchmark.ts +47 -0
  285. package/package.json +70 -68
  286. package/types.d.ts +8 -0
  287. package/Cache/CacheLoader.d.ts +0 -8
  288. package/Cache/CacheLoader.d.ts.map +0 -1
  289. package/Cache/CacheLoader.js +0 -55
  290. package/Cache/CacheLoader.js.map +0 -1
  291. package/Cache/Consumers/Cache.d.ts +0 -18
  292. package/Cache/Consumers/Cache.d.ts.map +0 -1
  293. package/Cache/Consumers/Cache.js +0 -99
  294. package/Cache/Consumers/Cache.js.map +0 -1
  295. package/Cache/Contracts/CacheInterface.d.ts +0 -14
  296. package/Cache/Contracts/CacheInterface.d.ts.map +0 -1
  297. package/Cache/Contracts/CacheInterface.js.map +0 -1
  298. package/Cache/Contracts/EngineInterface.d.ts +0 -8
  299. package/Cache/Contracts/EngineInterface.d.ts.map +0 -1
  300. package/Cache/Contracts/EngineInterface.js +0 -3
  301. package/Cache/Contracts/EngineInterface.js.map +0 -1
  302. package/Cache/Contracts/ServiceInterface.d.ts +0 -8
  303. package/Cache/Contracts/ServiceInterface.d.ts.map +0 -1
  304. package/Cache/Contracts/ServiceInterface.js +0 -3
  305. package/Cache/Contracts/ServiceInterface.js.map +0 -1
  306. package/Cache/Engines/DatabaseCache.d.ts +0 -11
  307. package/Cache/Engines/DatabaseCache.d.ts.map +0 -1
  308. package/Cache/Engines/DatabaseCache.js +0 -40
  309. package/Cache/Engines/DatabaseCache.js.map +0 -1
  310. package/Cache/Engines/FileCache.d.ts +0 -22
  311. package/Cache/Engines/FileCache.d.ts.map +0 -1
  312. package/Cache/Engines/FileCache.js +0 -107
  313. package/Cache/Engines/FileCache.js.map +0 -1
  314. package/Cache/Services/DatabaseCacheService.d.ts +0 -13
  315. package/Cache/Services/DatabaseCacheService.d.ts.map +0 -1
  316. package/Cache/Services/DatabaseCacheService.js +0 -74
  317. package/Cache/Services/DatabaseCacheService.js.map +0 -1
  318. package/Cache/Services/FileCacheService.d.ts +0 -13
  319. package/Cache/Services/FileCacheService.d.ts.map +0 -1
  320. package/Cache/Services/FileCacheService.js +0 -60
  321. package/Cache/Services/FileCacheService.js.map +0 -1
  322. package/tests/Cache/DatabaseStoreTest.d.ts +0 -2
  323. package/tests/Cache/DatabaseStoreTest.d.ts.map +0 -1
  324. package/tests/Cache/DatabaseStoreTest.js +0 -138
  325. package/tests/Cache/DatabaseStoreTest.js.map +0 -1
  326. package/tests/Cache/FileStoreTest.d.ts +0 -2
  327. package/tests/Cache/FileStoreTest.d.ts.map +0 -1
  328. package/tests/Cache/FileStoreTest.js +0 -142
  329. package/tests/Cache/FileStoreTest.js.map +0 -1
  330. package/tests/Cache/MemoryStoreTest.d.ts +0 -2
  331. package/tests/Cache/MemoryStoreTest.d.ts.map +0 -1
  332. package/tests/Cache/MemoryStoreTest.js +0 -141
  333. package/tests/Cache/MemoryStoreTest.js.map +0 -1
  334. package/tests/Container/ContainerTest.d.ts +0 -2
  335. package/tests/Container/ContainerTest.d.ts.map +0 -1
  336. package/tests/Container/ContainerTest.js +0 -396
  337. package/tests/Container/ContainerTest.js.map +0 -1
  338. package/tests/Database/Drivers/MySQL/AlterTest.d.ts +0 -2
  339. package/tests/Database/Drivers/MySQL/AlterTest.d.ts.map +0 -1
  340. package/tests/Database/Drivers/MySQL/AlterTest.js +0 -144
  341. package/tests/Database/Drivers/MySQL/AlterTest.js.map +0 -1
  342. package/tests/Database/Drivers/MySQL/CreateTest.d.ts +0 -2
  343. package/tests/Database/Drivers/MySQL/CreateTest.d.ts.map +0 -1
  344. package/tests/Database/Drivers/MySQL/CreateTest.js +0 -64
  345. package/tests/Database/Drivers/MySQL/CreateTest.js.map +0 -1
  346. package/tests/Database/Drivers/MysqlDriverTest.d.ts +0 -2
  347. package/tests/Database/Drivers/MysqlDriverTest.d.ts.map +0 -1
  348. package/tests/Database/Drivers/MysqlDriverTest.js +0 -174
  349. package/tests/Database/Drivers/MysqlDriverTest.js.map +0 -1
  350. package/tests/Database/Drivers/SqliteDriverTest.d.ts +0 -2
  351. package/tests/Database/Drivers/SqliteDriverTest.d.ts.map +0 -1
  352. package/tests/Database/Drivers/SqliteDriverTest.js +0 -156
  353. package/tests/Database/Drivers/SqliteDriverTest.js.map +0 -1
  354. package/tests/Database/Entities/Article.d.ts +0 -11
  355. package/tests/Database/Entities/Article.d.ts.map +0 -1
  356. package/tests/Database/Entities/Article.js +0 -43
  357. package/tests/Database/Entities/Article.js.map +0 -1
  358. package/tests/Database/Entities/Profile.d.ts +0 -11
  359. package/tests/Database/Entities/Profile.d.ts.map +0 -1
  360. package/tests/Database/Entities/Profile.js +0 -39
  361. package/tests/Database/Entities/Profile.js.map +0 -1
  362. package/tests/Database/Entities/Role.d.ts +0 -9
  363. package/tests/Database/Entities/Role.d.ts.map +0 -1
  364. package/tests/Database/Entities/Role.js +0 -31
  365. package/tests/Database/Entities/Role.js.map +0 -1
  366. package/tests/Database/Entities/User.d.ts +0 -16
  367. package/tests/Database/Entities/User.d.ts.map +0 -1
  368. package/tests/Database/Entities/User.js +0 -58
  369. package/tests/Database/Entities/User.js.map +0 -1
  370. package/tests/Database/EntityRelationshipsTest.d.ts +0 -2
  371. package/tests/Database/EntityRelationshipsTest.d.ts.map +0 -1
  372. package/tests/Database/EntityRelationshipsTest.js +0 -553
  373. package/tests/Database/EntityRelationshipsTest.js.map +0 -1
  374. package/tests/Database/EntityTest.d.ts +0 -2
  375. package/tests/Database/EntityTest.d.ts.map +0 -1
  376. package/tests/Database/EntityTest.js +0 -234
  377. package/tests/Database/EntityTest.js.map +0 -1
  378. package/tests/Database/Migrations/RunnerTest.d.ts +0 -2
  379. package/tests/Database/Migrations/RunnerTest.d.ts.map +0 -1
  380. package/tests/Database/Migrations/RunnerTest.js +0 -112
  381. package/tests/Database/Migrations/RunnerTest.js.map +0 -1
  382. package/tests/Database/Migrations/migrations/1.createUserTable.d.ts +0 -6
  383. package/tests/Database/Migrations/migrations/1.createUserTable.d.ts.map +0 -1
  384. package/tests/Database/Migrations/migrations/1.createUserTable.js +0 -14
  385. package/tests/Database/Migrations/migrations/1.createUserTable.js.map +0 -1
  386. package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts +0 -6
  387. package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts.map +0 -1
  388. package/tests/Database/Migrations/migrations/2.createArticlesTable.js +0 -14
  389. package/tests/Database/Migrations/migrations/2.createArticlesTable.js.map +0 -1
  390. package/tests/Database/QueryTest.d.ts +0 -2
  391. package/tests/Database/QueryTest.d.ts.map +0 -1
  392. package/tests/Database/QueryTest.js +0 -623
  393. package/tests/Database/QueryTest.js.map +0 -1
  394. package/tests/Database/SchemaTest.d.ts +0 -2
  395. package/tests/Database/SchemaTest.d.ts.map +0 -1
  396. package/tests/Database/SchemaTest.js +0 -46
  397. package/tests/Database/SchemaTest.js.map +0 -1
  398. package/tests/Database/Seeders/RunnerTest.d.ts +0 -2
  399. package/tests/Database/Seeders/RunnerTest.d.ts.map +0 -1
  400. package/tests/Database/Seeders/RunnerTest.js +0 -44
  401. package/tests/Database/Seeders/RunnerTest.js.map +0 -1
  402. package/tests/Database/Seeders/seeders/RandomSeeder.d.ts +0 -5
  403. package/tests/Database/Seeders/seeders/RandomSeeder.d.ts.map +0 -1
  404. package/tests/Database/Seeders/seeders/RandomSeeder.js +0 -14
  405. package/tests/Database/Seeders/seeders/RandomSeeder.js.map +0 -1
  406. package/tests/Database/utils.d.ts +0 -6
  407. package/tests/Database/utils.d.ts.map +0 -1
  408. package/tests/Database/utils.js +0 -19
  409. package/tests/Database/utils.js.map +0 -1
  410. package/tests/Forms/FormsTest.d.ts +0 -2
  411. package/tests/Forms/FormsTest.d.ts.map +0 -1
  412. package/tests/Forms/FormsTest.js +0 -80
  413. package/tests/Forms/FormsTest.js.map +0 -1
  414. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts +0 -2
  415. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts.map +0 -1
  416. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js +0 -166
  417. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js.map +0 -1
  418. package/tests/Framework/Resolvers/EntityResolverTest.d.ts +0 -2
  419. package/tests/Framework/Resolvers/EntityResolverTest.d.ts.map +0 -1
  420. package/tests/Framework/Resolvers/EntityResolverTest.js +0 -60
  421. package/tests/Framework/Resolvers/EntityResolverTest.js.map +0 -1
  422. package/tests/Model/ModelTest.d.ts +0 -2
  423. package/tests/Model/ModelTest.d.ts.map +0 -1
  424. package/tests/Model/ModelTest.js +0 -234
  425. package/tests/Model/ModelTest.js.map +0 -1
  426. package/tests/Router/HttpHandlerTest.d.ts +0 -2
  427. package/tests/Router/HttpHandlerTest.d.ts.map +0 -1
  428. package/tests/Router/HttpHandlerTest.js +0 -37
  429. package/tests/Router/HttpHandlerTest.js.map +0 -1
  430. package/tests/Router/WebSocketsHandlerTest.d.ts +0 -2
  431. package/tests/Router/WebSocketsHandlerTest.d.ts.map +0 -1
  432. package/tests/Router/WebSocketsHandlerTest.js +0 -36
  433. package/tests/Router/WebSocketsHandlerTest.js.map +0 -1
  434. package/tests/Support/ArrayTest.d.ts +0 -2
  435. package/tests/Support/ArrayTest.d.ts.map +0 -1
  436. package/tests/Support/ArrayTest.js +0 -259
  437. package/tests/Support/ArrayTest.js.map +0 -1
  438. package/tests/Support/StringTest.d.ts +0 -2
  439. package/tests/Support/StringTest.d.ts.map +0 -1
  440. package/tests/Support/StringTest.js +0 -39
  441. package/tests/Support/StringTest.js.map +0 -1
  442. package/tests/Validation/RulesTest.d.ts +0 -2
  443. package/tests/Validation/RulesTest.d.ts.map +0 -1
  444. package/tests/Validation/RulesTest.js +0 -68
  445. package/tests/Validation/RulesTest.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Required.js","sourceRoot":"","sources":["../../../Validation/Rules/Required.ts"],"names":[],"mappings":";;;AAGA,SAAgB,QAAQ,CAAC,OAAgB;IACrC,OAAO;QAAA;YACH,eAAU,GAAG,UAAU,CAAA;QAsB3B,CAAC;QApBG,MAAM,CAAC,SAAiB,EAAE,KAAgB;YAEtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBACvC,OAAO,KAAK,CAAA;aACf;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAClD,OAAO,KAAK,CAAA;aACf;YAED,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnD,OAAO,KAAK,CAAA;aACf;YAED,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO,CAAC,SAAiB;YACrB,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,SAAS,cAAc,CAAA;QACpD,CAAC;KACJ,CAAA;AACL,CAAC;AAzBD,4BAyBC"}
1
+ {"version":3,"file":"Required.js","sourceRoot":"","sources":["../../../Validation/Rules/Required.ts"],"names":[],"mappings":";;;AAGA,SAAgB,QAAQ,CAAC,OAAgB;IACrC,OAAO;QAAA;YACH,eAAU,GAAG,UAAU,CAAA;QAsB3B,CAAC;QApBG,MAAM,CAAC,SAAiB,EAAE,KAAgB;YAEtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBACvC,OAAO,KAAK,CAAA;aACf;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAClD,OAAO,KAAK,CAAA;aACf;YAED,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnD,OAAO,KAAK,CAAA;aACf;YAED,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO,CAAC,SAAiB;YACrB,OAAO,OAAO,IAAI,OAAO,SAAS,cAAc,CAAA;QACpD,CAAC;KACJ,CAAA;AACL,CAAC;AAzBD,4BAyBC"}
@@ -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"}
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
@@ -1,70 +1,72 @@
1
1
  {
2
- "name": "@typetron/framework",
3
- "description": "Modern Node.js framework for modern apps written in Typescript",
4
- "license": "MIT",
5
- "version": "0.3.18",
6
- "keywords": [
7
- "typetron",
8
- "framework",
9
- "web",
10
- "backend",
11
- "typescript"
12
- ],
13
- "author": {
14
- "email": "ionel@typetron.org",
15
- "name": "Ionel Lupu"
16
- },
17
- "scripts": {
18
- "build": "tsc",
19
- "dev": "tsc --watch",
20
- "test": "mocha",
21
- "test:watch": "mocha --watch",
22
- "preversion": "npm test",
23
- "lint": "eslint -c .eslintrc.json --ext .ts <mySrcFolder>"
24
- },
25
- "engines": {
26
- "node": ">= 12.13.0"
27
- },
28
- "dependencies": {
29
- "bcryptjs": "^2.4.3",
30
- "busboy": "^1.6.0",
31
- "jsonwebtoken": "^9.0.0",
32
- "mysql": "^2.18.1",
33
- "sqlite3": "^5.0.2",
34
- "ts-mockito": "^2.6.1",
35
- "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.14.0"
36
- },
37
- "devDependencies": {
38
- "@testdeck/mocha": "^0.1.2",
39
- "@types/bcryptjs": "^2.4.2",
40
- "@types/busboy": "^0.2.4",
41
- "@types/chai": "^4.2.21",
42
- "@types/jsonwebtoken": "^8.5.5",
43
- "@types/mocha": "^9.0.0",
44
- "@types/mysql": "^2.15.19",
45
- "@types/node": "^16.9.3",
46
- "@types/sqlite3": "^3.1.7",
47
- "@typescript-eslint/eslint-plugin": "^6.2.1",
48
- "@typescript-eslint/parser": "^6.2.1",
49
- "chai": "^4.3.4",
50
- "eslint": "^8.46.0",
51
- "mocha": "^9.1.1",
52
- "nyc": "^15.1.0",
53
- "reflect-metadata": "^0.1.13",
54
- "source-map-support": "^0.5.20",
55
- "ts-node": "^10.2.1",
56
- "tsconfig-paths": "^3.11.0",
57
- "tslint": "^6.1.3",
58
- "typescript": "4.1.6"
59
- },
60
- "repository": {
61
- "type": "git",
62
- "url": "https://github.com/typetron/framework.git"
63
- },
64
- "files": [
65
- "**/*.ts",
66
- "**/*.js",
67
- "**/*.ts.map",
68
- "**/*.js.map"
69
- ]
2
+ "name": "@typetron/framework",
3
+ "description": "Modern Node.js framework for modern apps written in Typescript",
4
+ "license": "MIT",
5
+ "version": "0.4.0-rc10",
6
+ "keywords": [
7
+ "typetron",
8
+ "framework",
9
+ "web",
10
+ "backend",
11
+ "typescript"
12
+ ],
13
+ "author": {
14
+ "email": "ionel@typetron.org",
15
+ "name": "Ionel Lupu"
16
+ },
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "dev": "tsc --watch",
20
+ "test": "mocha",
21
+ "test:watch": "mocha --watch",
22
+ "preversion": "npm test",
23
+ "lint": "eslint -c .eslintrc.json --ext .ts ."
24
+ },
25
+ "engines": {
26
+ "node": ">= 12.13.0"
27
+ },
28
+ "dependencies": {
29
+ "@sendgrid/mail": "^7.7.0",
30
+ "bcryptjs": "^2.4.3",
31
+ "busboy": "^1.6.0",
32
+ "fast-url-parser": "^1.1.3",
33
+ "jsonwebtoken": "^9.0.0",
34
+ "mysql": "^2.18.1",
35
+ "ts-mockito": "^2.6.1",
36
+ "sqlite3": "^5.0.2",
37
+ "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.31.0"
38
+ },
39
+ "devDependencies": {
40
+ "@testdeck/mocha": "^0.1.2",
41
+ "@types/bcryptjs": "^2.4.2",
42
+ "@types/busboy": "^1.5.1",
43
+ "@types/chai": "^4.2.21",
44
+ "@types/jsonwebtoken": "^8.5.5",
45
+ "@types/mocha": "^9.0.0",
46
+ "@types/mysql": "^2.15.19",
47
+ "@types/node": "^16.9.3",
48
+ "@types/sqlite3": "^3.1.7",
49
+ "@typescript-eslint/eslint-plugin": "^6.2.1",
50
+ "@typescript-eslint/parser": "^6.2.1",
51
+ "chai": "^4.3.4",
52
+ "eslint": "^8.46.0",
53
+ "mocha": "^9.1.1",
54
+ "nyc": "^15.1.0",
55
+ "reflect-metadata": "^0.1.13",
56
+ "source-map-support": "^0.5.20",
57
+ "ts-node": "^10.2.1",
58
+ "tsconfig-paths": "^3.11.0",
59
+ "tslint": "^6.1.3",
60
+ "typescript": "4.1.6"
61
+ },
62
+ "repository": {
63
+ "type": "git",
64
+ "url": "https://github.com/typetron/framework.git"
65
+ },
66
+ "files": [
67
+ "**/*.ts",
68
+ "**/*.js",
69
+ "**/*.ts.map",
70
+ "**/*.js.map"
71
+ ]
70
72
  }
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 { CacheConfig } from '@Typetron/Framework';
2
- import { Container } from '@Typetron/Container';
3
- export declare class CacheLoader {
4
- config: CacheConfig;
5
- app: Container;
6
- createCache(): void;
7
- }
8
- //# sourceMappingURL=CacheLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheLoader.d.ts","sourceRoot":"","sources":["../../Cache/CacheLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAA;AAOvD,qBAAa,WAAW;IAEpB,MAAM,EAAE,WAAW,CAAA;IAGnB,GAAG,EAAE,SAAS,CAAA;IAEP,WAAW;CA2BrB"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CacheLoader = void 0;
13
- const Framework_1 = require("@Typetron/Framework");
14
- const Container_1 = require("@Typetron/Container");
15
- // const RedisCacheService = require("../src/Services/RedisCacheService");
16
- // const MemCacheService = require("../src/Services/MemCacheService");
17
- class CacheLoader {
18
- createCache() {
19
- // let cache: CacheInterface
20
- //
21
- // switch (this.config.defaultStore.toLowerCase()) {
22
- // case "memcache":
23
- // // Load MemCacheService
24
- // cache = new Cache(new MemCacheService(this.app));
25
- // break;
26
- // case "redis":
27
- // // Load RedisCacheService
28
- // cache = new Cache(new RedisCacheService(this.app));
29
- // break;
30
- // case "database":
31
- // // Load DatabaseCacheService
32
- // cache = new Cache(new DatabaseCacheService(this.app));
33
- // break;
34
- // case 'file':
35
- // Load FileCacheService
36
- // cache = this.app.get(FileCacheService)
37
- // cache.config = this.config.stores['file']
38
- // break
39
- //
40
- // default:
41
- // throw new Error('No driver provided')
42
- // }
43
- // return cache
44
- }
45
- }
46
- __decorate([
47
- Container_1.Inject(),
48
- __metadata("design:type", Framework_1.CacheConfig)
49
- ], CacheLoader.prototype, "config", void 0);
50
- __decorate([
51
- Container_1.Inject(),
52
- __metadata("design:type", Container_1.Container)
53
- ], CacheLoader.prototype, "app", void 0);
54
- exports.CacheLoader = CacheLoader;
55
- //# sourceMappingURL=CacheLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheLoader.js","sourceRoot":"","sources":["../../Cache/CacheLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAiD;AACjD,mDAAuD;AAIvD,0EAA0E;AAC1E,sEAAsE;AAEtE,MAAa,WAAW;IAOb,WAAW;QACd,4BAA4B;QAC5B,EAAE;QACF,oDAAoD;QAChD,qBAAqB;QACrB,8BAA8B;QAC9B,wDAAwD;QACxD,aAAa;QACb,kBAAkB;QAClB,gCAAgC;QAChC,0DAA0D;QAC1D,aAAa;QACb,qBAAqB;QACrB,mCAAmC;QACnC,6DAA6D;QAC7D,aAAa;QACb,eAAe;QACX,wBAAwB;QACxB,yCAAyC;QACzC,4CAA4C;QACpD,gBAAgB;QAChB,EAAE;QACF,eAAe;QACf,gDAAgD;QAChD,IAAI;QACJ,eAAe;IACnB,CAAC;CACJ;AAhCG;IADC,kBAAM,EAAE;8BACD,uBAAW;2CAAA;AAGnB;IADC,kBAAM,EAAE;8BACJ,qBAAS;wCAAA;AALlB,kCAkCC"}
@@ -1,18 +0,0 @@
1
- import CacheInterface from '../Contracts/CacheInterface';
2
- import ServiceInterface from '../Contracts/ServiceInterface';
3
- export declare abstract class Cache implements CacheInterface {
4
- private cacheService;
5
- constructor(cacheService: ServiceInterface);
6
- get(name: string): Promise<any>;
7
- has(name: string): Promise<Boolean>;
8
- set(name: string, data: any, minutes: number): Promise<any>;
9
- delete(name: string): Promise<Boolean>;
10
- update(name: string, data: any, minutes?: number): Promise<any>;
11
- remember(name: string, minutes: number, callback: Function): Promise<any>;
12
- rememberForever(name: string, callback: Function): Promise<any>;
13
- many(keys: Array<string>): Promise<Record<string, unknown>>;
14
- setMany(data: Record<string, unknown>, minutes?: number): Promise<any>;
15
- flush(): Promise<void>;
16
- forever(key: string, values: any): Promise<any>;
17
- }
18
- //# sourceMappingURL=Cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../../Cache/Consumers/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,6BAA6B,CAAA;AACxD,OAAO,gBAAgB,MAAM,+BAA+B,CAAA;AAE5D,8BAAsB,KAAM,YAAW,cAAc;IACjD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,gBAAgB;IAI7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAO/B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAO3D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtC,MAAM,CACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,OAAO,GAAE,MAAU,GACpB,OAAO,CAAC,GAAG,CAAC;IASF,QAAQ,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,GAAG,CAAC;IAUF,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAU/D,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAS3D,OAAO,CAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,MAAU,GACpB,OAAO,CAAC,GAAG,CAAC;IAOF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAM/D"}
@@ -1,99 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Cache = void 0;
4
- class Cache {
5
- constructor(cacheService) {
6
- this.cacheService = cacheService;
7
- }
8
- async get(name) {
9
- if (name) {
10
- return await this.cacheService.get(name);
11
- }
12
- throw new Error('Specify a name');
13
- }
14
- async has(name) {
15
- const value = await this.cacheService.get(name);
16
- return !!value;
17
- }
18
- async set(name, data, minutes) {
19
- if (name && data) {
20
- return await this.cacheService.set(name, data, minutes);
21
- }
22
- throw new Error('Specify a name and data to cache');
23
- }
24
- async delete(name) {
25
- if (await this.has(name)) {
26
- await this.cacheService.delete(name);
27
- return true;
28
- }
29
- return false;
30
- }
31
- async update(name, data, minutes = 0) {
32
- if (await this.has(name)) {
33
- await this.delete(name);
34
- return await this.set(name, data, minutes);
35
- }
36
- else {
37
- return await this.set(name, data, minutes);
38
- }
39
- }
40
- async remember(name, minutes, callback) {
41
- if (await this.has(name)) {
42
- return await this.get(name);
43
- }
44
- else {
45
- const data = await callback();
46
- await this.set(name, data, minutes);
47
- return data;
48
- }
49
- }
50
- async rememberForever(name, callback) {
51
- if (await this.has(name)) {
52
- return await this.get(name);
53
- }
54
- else {
55
- const data = await callback();
56
- await this.cacheService.set(name, data);
57
- return data;
58
- }
59
- }
60
- async many(keys) {
61
- let values = Promise.all(keys.map((key) => this.get(key)));
62
- let mappedValues = {};
63
- for (let index = 0; index < keys.length; index++) {
64
- mappedValues[keys[index]] = values[index];
65
- }
66
- return mappedValues;
67
- }
68
- async setMany(data, minutes = 0) {
69
- for (let prop in data) {
70
- await this.set(prop, data[prop], minutes);
71
- }
72
- return data;
73
- }
74
- async flush() {
75
- return await this.cacheService.flush();
76
- }
77
- async forever(key, values) {
78
- if (key && values) {
79
- return await this.cacheService.set(key, values);
80
- }
81
- throw new Error('Specify a name and data to cache');
82
- }
83
- }
84
- exports.Cache = Cache;
85
- /*
86
-
87
- public function get($key) {}
88
- public function many(array $keys) {}
89
- public function put($key, $value, $seconds) {}
90
- public function putMany(array $values, $seconds) {}
91
- public function increment($key, $value = 1) {}
92
- public function decrement($key, $value = 1) {}
93
- public function forever($key, $value) {}
94
- public function forget($key) {}
95
- public function flush() {}
96
- public function getPrefix() {}
97
-
98
- */
99
- //# sourceMappingURL=Cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../Cache/Consumers/Cache.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- interface CacheInterface {
2
- get(name: string): Promise<any>;
3
- set(name: string, data: any, duration: number): Promise<any>;
4
- forever(name: string, data: any): Promise<any>;
5
- update(name: string, data: any, duration?: number): Promise<any>;
6
- delete(name: string): Promise<Boolean>;
7
- remember(name: string, minutes: number, callback: Function): Promise<any>;
8
- rememberForever(name: string, callback: Function): Promise<any>;
9
- many(keys: Array<string>): Promise<object>;
10
- setMany(data: object, minutes: number): Promise<any>;
11
- flush(): Promise<void>;
12
- }
13
- export default CacheInterface;
14
- //# sourceMappingURL=CacheInterface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheInterface.d.ts","sourceRoot":"","sources":["../../../Cache/Contracts/CacheInterface.ts"],"names":[],"mappings":"AAAA,UAAU,cAAc;IACpB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE5D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE9C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAEhE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAEzE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE/D,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAE1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAEpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,eAAe,cAAc,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheInterface.js","sourceRoot":"","sources":["../../../Cache/Contracts/CacheInterface.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- interface EngineInterface {
2
- get(name: string): Promise<any>;
3
- set(name: string, data: any, duration: number): Promise<any>;
4
- delete(name: String): Promise<Boolean>;
5
- flush(): Promise<void>;
6
- }
7
- export default EngineInterface;
8
- //# sourceMappingURL=EngineInterface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EngineInterface.d.ts","sourceRoot":"","sources":["../../../Cache/Contracts/EngineInterface.ts"],"names":[],"mappings":"AAAA,UAAU,eAAe;IACrB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE5D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,eAAe,eAAe,CAAA"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=EngineInterface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EngineInterface.js","sourceRoot":"","sources":["../../../Cache/Contracts/EngineInterface.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- interface ServiceInterface {
2
- get(name: string): Promise<any>;
3
- set(name: string, data: any, duration?: number): Promise<any>;
4
- delete(name: string): Promise<boolean>;
5
- flush(): Promise<void>;
6
- }
7
- export default ServiceInterface;
8
- //# sourceMappingURL=ServiceInterface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServiceInterface.d.ts","sourceRoot":"","sources":["../../../Cache/Contracts/ServiceInterface.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB;IACtB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE7D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ServiceInterface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServiceInterface.js","sourceRoot":"","sources":["../../../Cache/Contracts/ServiceInterface.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import EngineInterface from '../Contracts/EngineInterface';
2
- declare class DatabaseCache implements EngineInterface {
3
- private defaultMinutes;
4
- constructor(app: any);
5
- get(name: string): Promise<any>;
6
- set(name: string, data: any, duration?: number): Promise<any>;
7
- flush(): Promise<void>;
8
- delete(name: string): Promise<any>;
9
- }
10
- export default DatabaseCache;
11
- //# sourceMappingURL=DatabaseCache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseCache.d.ts","sourceRoot":"","sources":["../../../Cache/Engines/DatabaseCache.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,8BAA8B,CAAA;AAI1D,cAAM,aAAc,YAAW,eAAe;IAC1C,OAAO,CAAC,cAAc,CAAK;gBAEf,GAAG,EAAE,GAAG;IAIP,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAW/B,GAAG,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,QAAQ,GAAE,MAA4B,GACvC,OAAO,CAAC,GAAG,CAAC;IAYF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAMlD;AAED,eAAe,aAAa,CAAA"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- // const DatabaseCache = use("DatabaseCache");
4
- class DatabaseCache {
5
- constructor(app) {
6
- this.defaultMinutes = 60;
7
- console.log(app);
8
- }
9
- async get(name) {
10
- if (name) {
11
- // Implement Database get here
12
- console.log(name);
13
- const value = '';
14
- if (value) {
15
- return JSON.parse(value);
16
- }
17
- }
18
- }
19
- async set(name, data, duration = this.defaultMinutes) {
20
- if (name && data) {
21
- // Implement Set method
22
- console.log(name, data, duration);
23
- // data = JSON.stringify(data);
24
- // if (duration == null) {
25
- // return await this._addCache(name, data);
26
- // }
27
- // return await this._addExpiredCache(name, data, duration);
28
- }
29
- }
30
- async flush() {
31
- throw new Error('Method not implemented.');
32
- }
33
- async delete(name) {
34
- // Implement Delete function
35
- console.log(name);
36
- return true;
37
- }
38
- }
39
- exports.default = DatabaseCache;
40
- //# sourceMappingURL=DatabaseCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseCache.js","sourceRoot":"","sources":["../../../Cache/Engines/DatabaseCache.ts"],"names":[],"mappings":";;AAEA,8CAA8C;AAE9C,MAAM,aAAa;IAGf,YAAY,GAAQ;QAFZ,mBAAc,GAAG,EAAE,CAAA;QAGvB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY;QACzB,IAAI,IAAI,EAAE;YACN,8BAA8B;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACjB,MAAM,KAAK,GAAG,EAAE,CAAA;YAChB,IAAI,KAAK,EAAE;gBACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;aAC3B;SACJ;IACL,CAAC;IAEM,KAAK,CAAC,GAAG,CACZ,IAAY,EACZ,IAAS,EACT,WAAmB,IAAI,CAAC,cAAc;QAEtC,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,uBAAuB;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACjC,iCAAiC;YACjC,4BAA4B;YAC5B,+CAA+C;YAC/C,MAAM;YACN,8DAA8D;SACjE;IACL,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAY;QAC5B,4BAA4B;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEjB,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAED,kBAAe,aAAa,CAAA"}
@@ -1,22 +0,0 @@
1
- import EngineInterface from '../Contracts/EngineInterface';
2
- import { Storage } from '@Typetron/Storage';
3
- import { CacheConfig } from '@Typetron/Framework';
4
- declare class FileCache implements EngineInterface {
5
- storage: Storage;
6
- config: any;
7
- constructor(config: CacheConfig['drivers']['file']);
8
- get(name: string): Promise<any>;
9
- set(name: string, data: any, duration: number): Promise<any>;
10
- flush(): Promise<void>;
11
- delete(key: string): Promise<boolean>;
12
- private ensureCacheDirectoryExists;
13
- private write;
14
- private writeWithTime;
15
- private path;
16
- private read;
17
- private hashKey;
18
- private isCacheExist;
19
- private deleteFile;
20
- }
21
- export default FileCache;
22
- //# sourceMappingURL=FileCache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileCache.d.ts","sourceRoot":"","sources":["../../../Cache/Engines/FileCache.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,cAAM,SAAU,YAAW,eAAe;IAEtC,OAAO,EAAE,OAAO,CAAA;IAET,MAAM,EAAE,GAAG,CAAA;gBAEN,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAIrC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAc/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgB5D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAIpC,0BAA0B;YAM1B,KAAK;YAKL,aAAa;IAgB3B,OAAO,CAAC,IAAI;YAKE,IAAI;IAkBlB,OAAO,CAAC,OAAO;YAID,YAAY;YAIZ,UAAU;CAW3B;AAED,eAAe,SAAS,CAAA"}