@typetron/framework 0.3.16 → 0.3.18

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 (428) hide show
  1. package/Cache/Cache.d.ts +9 -0
  2. package/Cache/Cache.d.ts.map +1 -0
  3. package/Cache/Cache.js +7 -0
  4. package/Cache/Cache.js.map +1 -0
  5. package/Cache/CacheLoader.d.ts +8 -0
  6. package/Cache/CacheLoader.d.ts.map +1 -0
  7. package/Cache/CacheLoader.js +55 -0
  8. package/Cache/CacheLoader.js.map +1 -0
  9. package/Cache/Consumers/Cache.d.ts +18 -0
  10. package/Cache/Consumers/Cache.d.ts.map +1 -0
  11. package/Cache/Consumers/Cache.js +99 -0
  12. package/Cache/Consumers/Cache.js.map +1 -0
  13. package/Cache/Contracts/CacheInterface.d.ts +14 -0
  14. package/Cache/Contracts/CacheInterface.d.ts.map +1 -0
  15. package/Cache/Contracts/CacheInterface.js +3 -0
  16. package/Cache/Contracts/CacheInterface.js.map +1 -0
  17. package/Cache/Contracts/EngineInterface.d.ts +8 -0
  18. package/Cache/Contracts/EngineInterface.d.ts.map +1 -0
  19. package/Cache/Contracts/EngineInterface.js +3 -0
  20. package/Cache/Contracts/EngineInterface.js.map +1 -0
  21. package/Cache/Contracts/ServiceInterface.d.ts +8 -0
  22. package/Cache/Contracts/ServiceInterface.d.ts.map +1 -0
  23. package/Cache/Contracts/ServiceInterface.js +3 -0
  24. package/Cache/Contracts/ServiceInterface.js.map +1 -0
  25. package/Cache/Engines/DatabaseCache.d.ts +11 -0
  26. package/Cache/Engines/DatabaseCache.d.ts.map +1 -0
  27. package/Cache/Engines/DatabaseCache.js +40 -0
  28. package/Cache/Engines/DatabaseCache.js.map +1 -0
  29. package/Cache/Engines/FileCache.d.ts +22 -0
  30. package/Cache/Engines/FileCache.d.ts.map +1 -0
  31. package/Cache/Engines/FileCache.js +107 -0
  32. package/Cache/Engines/FileCache.js.map +1 -0
  33. package/Cache/Services/DatabaseCacheService.d.ts +13 -0
  34. package/Cache/Services/DatabaseCacheService.d.ts.map +1 -0
  35. package/Cache/Services/DatabaseCacheService.js +74 -0
  36. package/Cache/Services/DatabaseCacheService.js.map +1 -0
  37. package/Cache/Services/FileCacheService.d.ts +13 -0
  38. package/Cache/Services/FileCacheService.d.ts.map +1 -0
  39. package/Cache/Services/FileCacheService.js +60 -0
  40. package/Cache/Services/FileCacheService.js.map +1 -0
  41. package/Cache/Stores/DatabaseStore.d.ts +16 -0
  42. package/Cache/Stores/DatabaseStore.d.ts.map +1 -0
  43. package/Cache/Stores/DatabaseStore.js +208 -0
  44. package/Cache/Stores/DatabaseStore.js.map +1 -0
  45. package/Cache/Stores/FileStore.d.ts +16 -0
  46. package/Cache/Stores/FileStore.d.ts.map +1 -0
  47. package/Cache/Stores/FileStore.js +63 -0
  48. package/Cache/Stores/FileStore.js.map +1 -0
  49. package/Cache/Stores/MemoryStore.d.ts +13 -0
  50. package/Cache/Stores/MemoryStore.d.ts.map +1 -0
  51. package/Cache/Stores/MemoryStore.js +60 -0
  52. package/Cache/Stores/MemoryStore.js.map +1 -0
  53. package/Cache/index.d.ts +6 -0
  54. package/Cache/index.d.ts.map +1 -0
  55. package/Cache/index.js +18 -0
  56. package/Cache/index.js.map +1 -0
  57. package/Cache/types.d.ts +5 -0
  58. package/Cache/types.d.ts.map +1 -0
  59. package/Cache/types.js +3 -0
  60. package/Cache/types.js.map +1 -0
  61. package/Container/ClassResolver.d.ts +8 -8
  62. package/Container/ClassResolver.d.ts.map +1 -1
  63. package/Container/ClassResolver.js +89 -87
  64. package/Container/ClassResolver.js.map +1 -1
  65. package/Container/Container.d.ts +24 -24
  66. package/Container/Container.d.ts.map +1 -1
  67. package/Container/Container.js +118 -118
  68. package/Container/Container.js.map +1 -1
  69. package/Container/Contracts.d.ts +2 -2
  70. package/Container/Contracts.js +2 -2
  71. package/Container/Decorators.d.ts +4 -4
  72. package/Container/Decorators.js +21 -21
  73. package/Container/Metadata.d.ts +20 -20
  74. package/Container/Metadata.js +18 -18
  75. package/Container/Resolver.d.ts +18 -18
  76. package/Container/Resolver.js +15 -15
  77. package/Container/index.d.ts +5 -5
  78. package/Container/index.js +17 -17
  79. package/Database/Clauses/Where.js +1 -1
  80. package/Database/Connection.d.ts +20 -20
  81. package/Database/Connection.js +42 -42
  82. package/Database/Decorators.d.ts +36 -36
  83. package/Database/Decorators.js +116 -116
  84. package/Database/Drivers/DatabaseDriver.d.ts +28 -28
  85. package/Database/Drivers/DatabaseDriver.js +6 -6
  86. package/Database/Drivers/MySQL/Alter/index.d.ts +33 -33
  87. package/Database/Drivers/MySQL/Alter/index.js +61 -61
  88. package/Database/Drivers/MySQL/ColumnDefinition.d.ts +6 -6
  89. package/Database/Drivers/MySQL/ColumnDefinition.js +17 -17
  90. package/Database/Drivers/MySQL/Create.d.ts +9 -9
  91. package/Database/Drivers/MySQL/Create.js +37 -37
  92. package/Database/Drivers/MySQL/MysqlDriver.d.ts +41 -41
  93. package/Database/Drivers/MySQL/MysqlDriver.js +76 -76
  94. package/Database/Drivers/MySQL/Schema.d.ts +15 -15
  95. package/Database/Drivers/MySQL/Schema.js +65 -65
  96. package/Database/Drivers/MySQL/index.d.ts +1 -1
  97. package/Database/Drivers/MySQL/index.js +15 -15
  98. package/Database/Drivers/SQL/Schema.d.ts +6 -6
  99. package/Database/Drivers/SQL/Schema.js +57 -57
  100. package/Database/Drivers/SQL/Statements/Alter.d.ts +7 -7
  101. package/Database/Drivers/SQL/Statements/Alter.js +17 -17
  102. package/Database/Drivers/SQL/Statements/BaseStatement.d.ts +12 -12
  103. package/Database/Drivers/SQL/Statements/BaseStatement.js +46 -46
  104. package/Database/Drivers/SQL/Statements/Delete.d.ts +5 -5
  105. package/Database/Drivers/SQL/Statements/Delete.js +16 -16
  106. package/Database/Drivers/SQL/Statements/Insert.d.ts +6 -6
  107. package/Database/Drivers/SQL/Statements/Insert.js +23 -23
  108. package/Database/Drivers/SQL/Statements/Select.d.ts +7 -7
  109. package/Database/Drivers/SQL/Statements/Select.js +44 -44
  110. package/Database/Drivers/SQL/Statements/Update.d.ts +6 -6
  111. package/Database/Drivers/SQL/Statements/Update.js +27 -27
  112. package/Database/Drivers/SQL/index.d.ts +8 -8
  113. package/Database/Drivers/SQL/index.js +2 -2
  114. package/Database/Drivers/SQLite/Create.d.ts +9 -9
  115. package/Database/Drivers/SQLite/Create.js +36 -36
  116. package/Database/Drivers/SQLite/Schema.d.ts +15 -15
  117. package/Database/Drivers/SQLite/Schema.js +44 -44
  118. package/Database/Drivers/SQLite/SqliteDriver.d.ts +42 -42
  119. package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -1
  120. package/Database/Drivers/SQLite/SqliteDriver.js +102 -102
  121. package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -1
  122. package/Database/Drivers/SQLite/index.d.ts +2 -2
  123. package/Database/Drivers/SQLite/index.js +26 -26
  124. package/Database/Drivers/SchemaContract.d.ts +8 -8
  125. package/Database/Drivers/SchemaContract.js +9 -9
  126. package/Database/Drivers/Statement.d.ts +9 -9
  127. package/Database/Drivers/Statement.js +15 -15
  128. package/Database/Drivers/index.d.ts +4 -4
  129. package/Database/Drivers/index.js +16 -16
  130. package/Database/Entity.d.ts +64 -64
  131. package/Database/Entity.d.ts.map +1 -1
  132. package/Database/Entity.js +252 -252
  133. package/Database/Entity.js.map +1 -1
  134. package/Database/EntityNotFoundError.d.ts +5 -5
  135. package/Database/EntityNotFoundError.js +10 -10
  136. package/Database/EntityProxyHandler.d.ts +5 -5
  137. package/Database/EntityProxyHandler.js +30 -30
  138. package/Database/EntityQuery.d.ts +28 -28
  139. package/Database/EntityQuery.js +156 -156
  140. package/Database/Expression.d.ts +3 -3
  141. package/Database/Expression.js +6 -6
  142. package/Database/Fields.d.ts +155 -155
  143. package/Database/Fields.js +548 -548
  144. package/Database/Helpers.d.ts +1 -1
  145. package/Database/Helpers.js +16 -16
  146. package/Database/List.d.ts +24 -24
  147. package/Database/List.d.ts.map +1 -1
  148. package/Database/List.js +49 -49
  149. package/Database/List.js.map +1 -1
  150. package/Database/Migrations/Migration.d.ts +7 -7
  151. package/Database/Migrations/Migration.js +9 -9
  152. package/Database/Migrations/MigrationHistory.d.ts +8 -8
  153. package/Database/Migrations/MigrationHistory.js +38 -38
  154. package/Database/Migrations/Migrator.d.ts +20 -20
  155. package/Database/Migrations/Migrator.js +118 -118
  156. package/Database/Migrations/index.d.ts +3 -3
  157. package/Database/Migrations/index.js +15 -15
  158. package/Database/ORM/BaseRelationship.d.ts +7 -7
  159. package/Database/ORM/BaseRelationship.js +10 -10
  160. package/Database/Query.d.ts +62 -62
  161. package/Database/Query.d.ts.map +1 -1
  162. package/Database/Query.js +265 -264
  163. package/Database/Query.js.map +1 -1
  164. package/Database/Seeders/Seeder.d.ts +3 -3
  165. package/Database/Seeders/Seeder.js +6 -6
  166. package/Database/Seeders/SeederManager.d.ts +8 -8
  167. package/Database/Seeders/SeederManager.js +24 -24
  168. package/Database/Seeders/index.d.ts +2 -2
  169. package/Database/Seeders/index.js +14 -14
  170. package/Database/StringExpression.d.ts +6 -6
  171. package/Database/StringExpression.js +14 -14
  172. package/Database/Types.d.ts +117 -117
  173. package/Database/Types.d.ts.map +1 -1
  174. package/Database/Types.js +94 -94
  175. package/Database/Types.js.map +1 -1
  176. package/Database/index.d.ts +20 -20
  177. package/Database/index.js +20 -20
  178. package/Encryption/index.d.ts +15 -15
  179. package/Encryption/index.js +53 -53
  180. package/Forms/Decorators.d.ts +6 -6
  181. package/Forms/Decorators.js +28 -28
  182. package/Forms/Form.d.ts +17 -17
  183. package/Forms/Form.js +69 -69
  184. package/Forms/FormFields.d.ts +9 -9
  185. package/Forms/FormFields.js +35 -35
  186. package/Forms/index.d.ts +3 -3
  187. package/Forms/index.js +15 -15
  188. package/Framework/App.d.ts +6 -6
  189. package/Framework/App.js +9 -9
  190. package/Framework/Application.d.ts +17 -17
  191. package/Framework/Application.d.ts.map +1 -1
  192. package/Framework/Application.js +94 -93
  193. package/Framework/Application.js.map +1 -1
  194. package/Framework/Auth/Auth.d.ts +24 -24
  195. package/Framework/Auth/Auth.js +108 -108
  196. package/Framework/Auth/Authenticatable.d.ts +6 -6
  197. package/Framework/Auth/Authenticatable.js +2 -2
  198. package/Framework/Auth/User.d.ts +10 -10
  199. package/Framework/Auth/User.js +37 -37
  200. package/Framework/Auth/index.d.ts +5 -5
  201. package/Framework/Auth/index.d.ts.map +1 -1
  202. package/Framework/Auth/index.js +45 -45
  203. package/Framework/Auth/index.js.map +1 -1
  204. package/Framework/Config/AppConfig.d.ts +18 -18
  205. package/Framework/Config/AppConfig.js +11 -11
  206. package/Framework/Config/AuthConfig.d.ts +8 -8
  207. package/Framework/Config/AuthConfig.js +7 -7
  208. package/Framework/Config/BaseConfig.d.ts +6 -6
  209. package/Framework/Config/BaseConfig.js +12 -12
  210. package/Framework/Config/CacheConfig.d.ts +16 -0
  211. package/Framework/Config/CacheConfig.d.ts.map +1 -0
  212. package/Framework/Config/CacheConfig.js +23 -0
  213. package/Framework/Config/CacheConfig.js.map +1 -0
  214. package/Framework/Config/DatabaseConfig.d.ts +10 -10
  215. package/Framework/Config/DatabaseConfig.js +25 -25
  216. package/Framework/Config/index.d.ts +5 -4
  217. package/Framework/Config/index.d.ts.map +1 -1
  218. package/Framework/Config/index.js +17 -16
  219. package/Framework/Config/index.js.map +1 -1
  220. package/Framework/Middleware/AuthMiddleware.d.ts +7 -7
  221. package/Framework/Middleware/AuthMiddleware.js +63 -63
  222. package/Framework/Middleware/CorsMiddleware.d.ts +6 -6
  223. package/Framework/Middleware/CorsMiddleware.js +43 -43
  224. package/Framework/Middleware/StaticAssetsMiddleware.d.ts +14 -14
  225. package/Framework/Middleware/StaticAssetsMiddleware.js +104 -104
  226. package/Framework/Middleware/index.d.ts +2 -2
  227. package/Framework/Middleware/index.js +14 -14
  228. package/Framework/Provider.d.ts +5 -5
  229. package/Framework/Provider.js +20 -20
  230. package/Framework/Providers/CacheProvider.d.ts +7 -0
  231. package/Framework/Providers/CacheProvider.d.ts.map +1 -0
  232. package/Framework/Providers/CacheProvider.js +39 -0
  233. package/Framework/Providers/CacheProvider.js.map +1 -0
  234. package/Framework/Providers/DatabaseProvider.d.ts +9 -9
  235. package/Framework/Providers/DatabaseProvider.js +63 -63
  236. package/Framework/Providers/WebsocketsProvider.d.ts +12 -12
  237. package/Framework/Providers/WebsocketsProvider.js +122 -122
  238. package/Framework/Resolvers/AuthResolver.d.ts +5 -5
  239. package/Framework/Resolvers/AuthResolver.js +14 -14
  240. package/Framework/Resolvers/EntityResolver.d.ts +9 -9
  241. package/Framework/Resolvers/EntityResolver.js +40 -40
  242. package/Framework/Resolvers/FormResolver.d.ts +9 -9
  243. package/Framework/Resolvers/FormResolver.js +32 -32
  244. package/Framework/RootDir.d.ts +2 -2
  245. package/Framework/RootDir.js +6 -6
  246. package/Framework/index.d.ts +7 -6
  247. package/Framework/index.d.ts.map +1 -1
  248. package/Framework/index.js +19 -18
  249. package/Framework/index.js.map +1 -1
  250. package/Models/Model.d.ts +9 -9
  251. package/Models/Model.js +35 -35
  252. package/Models/index.d.ts +21 -21
  253. package/Models/index.d.ts.map +1 -1
  254. package/Models/index.js +58 -58
  255. package/Models/index.js.map +1 -1
  256. package/Router/BaseController.d.ts +4 -4
  257. package/Router/BaseController.js +20 -20
  258. package/Router/Decorators.d.ts +21 -21
  259. package/Router/Decorators.js +170 -170
  260. package/Router/Guard.d.ts +4 -4
  261. package/Router/Guard.js +10 -10
  262. package/Router/Http/Contracts.d.ts +3 -3
  263. package/Router/Http/Contracts.js +2 -2
  264. package/Router/Http/ErrorHandler.d.ts +9 -9
  265. package/Router/Http/ErrorHandler.js +51 -51
  266. package/Router/Http/ErrorHandlerInterface.d.ts +5 -5
  267. package/Router/Http/ErrorHandlerInterface.js +6 -6
  268. package/Router/Http/Errors/HttpError.d.ts +7 -7
  269. package/Router/Http/Errors/HttpError.js +15 -15
  270. package/Router/Http/Handler.d.ts +15 -15
  271. package/Router/Http/Handler.js +131 -131
  272. package/Router/Http/Request.d.ts +22 -22
  273. package/Router/Http/Request.js +151 -151
  274. package/Router/Http/Response.d.ts +17 -17
  275. package/Router/Http/Response.js +51 -51
  276. package/Router/Http/index.d.ts +83 -83
  277. package/Router/Http/index.js +99 -99
  278. package/Router/Metadata.d.ts +31 -31
  279. package/Router/Metadata.js +25 -25
  280. package/Router/Middleware.d.ts +5 -5
  281. package/Router/Middleware.js +2 -2
  282. package/Router/Route.d.ts +23 -23
  283. package/Router/Route.js +110 -110
  284. package/Router/RouteNotFoundError.d.ts +3 -3
  285. package/Router/RouteNotFoundError.js +9 -9
  286. package/Router/Router.d.ts +12 -12
  287. package/Router/Router.js +32 -32
  288. package/Router/Websockets/Handler.d.ts +12 -12
  289. package/Router/Websockets/Handler.js +59 -59
  290. package/Router/Websockets/WebsocketEvent.d.ts +15 -15
  291. package/Router/Websockets/WebsocketEvent.js +53 -53
  292. package/Router/Websockets/index.d.ts +16 -16
  293. package/Router/Websockets/index.d.ts.map +1 -1
  294. package/Router/Websockets/index.js +57 -57
  295. package/Router/Websockets/index.js.map +1 -1
  296. package/Router/Websockets/types.d.ts +20 -20
  297. package/Router/Websockets/types.js +8 -8
  298. package/Router/index.d.ts +6 -6
  299. package/Router/index.js +18 -18
  300. package/Storage/File.d.ts +11 -11
  301. package/Storage/File.js +46 -46
  302. package/Storage/Image.d.ts +3 -3
  303. package/Storage/Image.js +7 -7
  304. package/Storage/InvalidImage.d.ts +3 -3
  305. package/Storage/InvalidImage.js +7 -7
  306. package/Storage/Storage.d.ts +13 -12
  307. package/Storage/Storage.d.ts.map +1 -1
  308. package/Storage/Storage.js +104 -110
  309. package/Storage/Storage.js.map +1 -1
  310. package/Storage/index.d.ts +4 -4
  311. package/Storage/index.js +16 -16
  312. package/Storage/utils.d.ts +5 -5
  313. package/Storage/utils.js +20 -20
  314. package/Support/Array.d.ts +28 -28
  315. package/Support/Array.d.ts.map +1 -1
  316. package/Support/Array.js +108 -108
  317. package/Support/Array.js.map +1 -1
  318. package/Support/Math.d.ts +6 -6
  319. package/Support/Math.js +7 -7
  320. package/Support/Metadata.d.ts +14 -14
  321. package/Support/Metadata.js +20 -20
  322. package/Support/String.d.ts +11 -11
  323. package/Support/String.js +23 -23
  324. package/Support/index.d.ts +14 -13
  325. package/Support/index.d.ts.map +1 -1
  326. package/Support/index.js +6 -5
  327. package/Support/index.js.map +1 -1
  328. package/Support/utils.d.ts +2 -0
  329. package/Support/utils.d.ts.map +1 -0
  330. package/Support/utils.js +13 -0
  331. package/Support/utils.js.map +1 -0
  332. package/Testing/TestCase.d.ts +32 -32
  333. package/Testing/TestCase.js +130 -130
  334. package/Validation/Rule.d.ts +6 -6
  335. package/Validation/Rule.js +6 -6
  336. package/Validation/RuleInterface.d.ts +6 -6
  337. package/Validation/RuleInterface.js +2 -2
  338. package/Validation/Rules/Email.d.ts +3 -3
  339. package/Validation/Rules/Email.js +20 -20
  340. package/Validation/Rules/FileExtension.d.ts +3 -3
  341. package/Validation/Rules/FileExtension.js +22 -22
  342. package/Validation/Rules/MaxLength.d.ts +3 -3
  343. package/Validation/Rules/MaxLength.js +19 -19
  344. package/Validation/Rules/MinLength.d.ts +3 -3
  345. package/Validation/Rules/MinLength.js +19 -19
  346. package/Validation/Rules/Optional.d.ts +3 -3
  347. package/Validation/Rules/Optional.js +19 -19
  348. package/Validation/Rules/Required.d.ts +3 -3
  349. package/Validation/Rules/Required.js +26 -26
  350. package/Validation/Validator.d.ts +11 -11
  351. package/Validation/Validator.js +10 -10
  352. package/Validation/index.d.ts +9 -9
  353. package/Validation/index.js +21 -21
  354. package/package.json +8 -5
  355. package/tests/Cache/DatabaseStoreTest.d.ts +2 -0
  356. package/tests/Cache/DatabaseStoreTest.d.ts.map +1 -0
  357. package/tests/Cache/DatabaseStoreTest.js +138 -0
  358. package/tests/Cache/DatabaseStoreTest.js.map +1 -0
  359. package/tests/Cache/FileStoreTest.d.ts +2 -0
  360. package/tests/Cache/FileStoreTest.d.ts.map +1 -0
  361. package/tests/Cache/FileStoreTest.js +142 -0
  362. package/tests/Cache/FileStoreTest.js.map +1 -0
  363. package/tests/Cache/MemoryStoreTest.d.ts +2 -0
  364. package/tests/Cache/MemoryStoreTest.d.ts.map +1 -0
  365. package/tests/Cache/MemoryStoreTest.js +141 -0
  366. package/tests/Cache/MemoryStoreTest.js.map +1 -0
  367. package/tests/Container/ContainerTest.d.ts +1 -1
  368. package/tests/Container/ContainerTest.js +395 -395
  369. package/tests/Database/Drivers/MySQL/AlterTest.d.ts +1 -1
  370. package/tests/Database/Drivers/MySQL/AlterTest.js +135 -135
  371. package/tests/Database/Drivers/MySQL/CreateTest.d.ts +1 -1
  372. package/tests/Database/Drivers/MySQL/CreateTest.js +57 -57
  373. package/tests/Database/Drivers/MysqlDriverTest.d.ts +1 -1
  374. package/tests/Database/Drivers/MysqlDriverTest.js +149 -149
  375. package/tests/Database/Drivers/SqliteDriverTest.d.ts +1 -1
  376. package/tests/Database/Drivers/SqliteDriverTest.js +135 -135
  377. package/tests/Database/Entities/Article.d.ts +10 -10
  378. package/tests/Database/Entities/Article.js +42 -42
  379. package/tests/Database/Entities/Profile.d.ts +10 -10
  380. package/tests/Database/Entities/Profile.js +38 -38
  381. package/tests/Database/Entities/Role.d.ts +8 -8
  382. package/tests/Database/Entities/Role.js +30 -30
  383. package/tests/Database/Entities/User.d.ts +15 -15
  384. package/tests/Database/Entities/User.js +57 -57
  385. package/tests/Database/EntityRelationshipsTest.d.ts +1 -1
  386. package/tests/Database/EntityRelationshipsTest.js +552 -552
  387. package/tests/Database/EntityTest.d.ts +1 -1
  388. package/tests/Database/EntityTest.js +233 -233
  389. package/tests/Database/Migrations/RunnerTest.d.ts +1 -1
  390. package/tests/Database/Migrations/RunnerTest.js +111 -111
  391. package/tests/Database/Migrations/migrations/1.createUserTable.d.ts +5 -5
  392. package/tests/Database/Migrations/migrations/1.createUserTable.js +13 -13
  393. package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts +5 -5
  394. package/tests/Database/Migrations/migrations/2.createArticlesTable.js +13 -13
  395. package/tests/Database/QueryTest.d.ts +1 -1
  396. package/tests/Database/QueryTest.js +622 -622
  397. package/tests/Database/SchemaTest.d.ts +1 -1
  398. package/tests/Database/SchemaTest.js +45 -45
  399. package/tests/Database/Seeders/RunnerTest.d.ts +1 -1
  400. package/tests/Database/Seeders/RunnerTest.js +43 -43
  401. package/tests/Database/Seeders/seeders/RandomSeeder.d.ts +4 -4
  402. package/tests/Database/Seeders/seeders/RandomSeeder.js +13 -13
  403. package/tests/Database/utils.d.ts +5 -5
  404. package/tests/Database/utils.js +18 -18
  405. package/tests/Forms/FormsTest.d.ts +1 -1
  406. package/tests/Forms/FormsTest.js +79 -79
  407. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts +1 -1
  408. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js +165 -165
  409. package/tests/Framework/Resolvers/EntityResolverTest.d.ts +1 -1
  410. package/tests/Framework/Resolvers/EntityResolverTest.js +59 -59
  411. package/tests/Model/ModelTest.d.ts +1 -1
  412. package/tests/Model/ModelTest.js +233 -233
  413. package/tests/Router/HttpHandlerTest.d.ts +1 -1
  414. package/tests/Router/HttpHandlerTest.js +36 -36
  415. package/tests/Router/WebSocketsHandlerTest.d.ts +1 -1
  416. package/tests/Router/WebSocketsHandlerTest.js +35 -35
  417. package/tests/Support/ArrayTest.d.ts +1 -1
  418. package/tests/Support/ArrayTest.js +258 -258
  419. package/tests/Support/StringTest.d.ts +1 -1
  420. package/tests/Support/StringTest.js +38 -38
  421. package/tests/Validation/RulesTest.d.ts +1 -1
  422. package/tests/Validation/RulesTest.js +67 -67
  423. package/Database/Drivers/SQL/Statements/Create.d.ts +0 -7
  424. package/Database/Drivers/SQL/Statements/Create.d.ts.map +0 -1
  425. package/Database/Drivers/SQL/Statements/Create.js +0 -22
  426. package/Database/Drivers/SQL/Statements/Create.js.map +0 -1
  427. package/LICENSE.md +0 -21
  428. package/Readme.md +0 -123
@@ -0,0 +1,9 @@
1
+ export declare abstract class Cache {
2
+ abstract has(name: string): Promise<boolean>;
3
+ abstract get<T>(name: string, defaultValue?: T | (() => T | Promise<T>)): Promise<T | undefined>;
4
+ abstract remember<T>(name: string, defaultValue?: T | (() => T | Promise<T>), duration?: number): Promise<T | undefined>;
5
+ abstract set(name: string, data: any, duration?: number): Promise<void>;
6
+ abstract delete(name: string): Promise<void>;
7
+ abstract flush(): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=Cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../Cache/Cache.ts"],"names":[],"mappings":"AAAA,8BAAsB,KAAK;IACvB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE5C,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAEhG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAExH,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5C,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAClC"}
package/Cache/Cache.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cache = void 0;
4
+ class Cache {
5
+ }
6
+ exports.Cache = Cache;
7
+ //# sourceMappingURL=Cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../Cache/Cache.ts"],"names":[],"mappings":";;;AAAA,MAAsB,KAAK;CAY1B;AAZD,sBAYC"}
@@ -0,0 +1,8 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,55 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,99 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../Cache/Consumers/Cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CacheInterface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheInterface.js","sourceRoot":"","sources":["../../../Cache/Contracts/CacheInterface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=EngineInterface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineInterface.js","sourceRoot":"","sources":["../../../Cache/Contracts/EngineInterface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ServiceInterface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceInterface.js","sourceRoot":"","sources":["../../../Cache/Contracts/ServiceInterface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,40 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,22 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,107 @@
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
+ const Container_1 = require("@Typetron/Container");
13
+ const Storage_1 = require("@Typetron/Storage");
14
+ const node_crypto_1 = require("node:crypto");
15
+ class FileCache {
16
+ constructor(config) {
17
+ this.config = config;
18
+ }
19
+ async get(name) {
20
+ if (!(await this.isCacheExist(name))) {
21
+ return null;
22
+ }
23
+ const data = await this.read(name);
24
+ if (typeof data === 'boolean') {
25
+ return null;
26
+ }
27
+ return data;
28
+ }
29
+ async set(name, data, duration) {
30
+ if (!name) {
31
+ throw new Error('Cache key not provided');
32
+ }
33
+ if (!data) {
34
+ throw new Error('Cache data not provided');
35
+ }
36
+ if (duration > 0) {
37
+ return this.writeWithTime(name, data, duration);
38
+ }
39
+ return this.write(name, data);
40
+ }
41
+ async flush() {
42
+ await this.storage.deleteDirectory(this.config.path);
43
+ }
44
+ async delete(key) {
45
+ return this.deleteFile(key);
46
+ }
47
+ async ensureCacheDirectoryExists() {
48
+ if (!(await this.storage.exists('.' + this.config.path))) {
49
+ await this.storage.makeDirectory('.' + this.config.path);
50
+ }
51
+ }
52
+ async write(key, data) {
53
+ await this.ensureCacheDirectoryExists();
54
+ await this.storage.put(this.path(key), data);
55
+ }
56
+ async writeWithTime(key, data, duration) {
57
+ await this.ensureCacheDirectoryExists();
58
+ const currentDate = new Date();
59
+ const futureDate = new Date(currentDate.getTime() + duration * 60000);
60
+ const expiresIn = futureDate.getTime();
61
+ // Append Timestamp to the data
62
+ const newArr = {};
63
+ newArr['meta'] = { expiresIn };
64
+ newArr['data'] = data;
65
+ await this.storage.put(this.path(key), JSON.stringify(newArr));
66
+ }
67
+ path(key) {
68
+ const hashKey = this.hashKey(key);
69
+ return '.' + this.config.path + '/' + '_' + hashKey + '.cache';
70
+ }
71
+ async read(key) {
72
+ const binaryData = await this.storage.read(this.path(key));
73
+ if (!binaryData.byteLength) {
74
+ return false;
75
+ }
76
+ const data = JSON.parse(binaryData.toString());
77
+ const time = data['meta'] && new Date(data['meta']['expiresIn']).getTime();
78
+ if (time < new Date().getTime()) {
79
+ return this.deleteFile(key);
80
+ }
81
+ return JSON.stringify(data['data']);
82
+ }
83
+ hashKey(key) {
84
+ return node_crypto_1.createHash('sha1').update(key).digest('hex');
85
+ }
86
+ async isCacheExist(key) {
87
+ return await this.storage.exists(this.path(key));
88
+ }
89
+ async deleteFile(key) {
90
+ try {
91
+ if (!await this.isCacheExist(key)) {
92
+ return false;
93
+ }
94
+ await this.storage.delete(this.path(key));
95
+ return true;
96
+ }
97
+ catch (e) {
98
+ return false;
99
+ }
100
+ }
101
+ }
102
+ __decorate([
103
+ Container_1.Inject(),
104
+ __metadata("design:type", Storage_1.Storage)
105
+ ], FileCache.prototype, "storage", void 0);
106
+ exports.default = FileCache;
107
+ //# sourceMappingURL=FileCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileCache.js","sourceRoot":"","sources":["../../../Cache/Engines/FileCache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import ServiceInterface from '../Contracts/ServiceInterface';
2
+ import DatabaseCache from '../Engines/DatabaseCache';
3
+ export declare class DatabaseCacheService extends DatabaseCache implements ServiceInterface {
4
+ constructor(config: any);
5
+ get(name: string): Promise<any>;
6
+ has(name: string): Promise<Boolean>;
7
+ set(name: string, data: any, duration: number): Promise<any>;
8
+ delete(name: string): Promise<Boolean>;
9
+ update(name: string, data: any, duration: number): Promise<any>;
10
+ remember(name: string, duration: number, callback: Function): Promise<any>;
11
+ rememberForever(name: string, callback: Function): Promise<any>;
12
+ }
13
+ //# sourceMappingURL=DatabaseCacheService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseCacheService.d.ts","sourceRoot":"","sources":["../../../Cache/Services/DatabaseCacheService.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,+BAA+B,CAAA;AAC5D,OAAO,aAAa,MAAM,0BAA0B,CAAA;AAEpD,qBAAa,oBACT,SAAQ,aACR,YAAW,gBAAgB;gBACf,MAAM,EAAE,GAAG;IAIV,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAS/B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAW5D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQ/D,QAAQ,CACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,GAAG,CAAC;IAUF,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;CAS/E"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DatabaseCacheService = void 0;
7
+ const DatabaseCache_1 = __importDefault(require("../Engines/DatabaseCache"));
8
+ class DatabaseCacheService extends DatabaseCache_1.default {
9
+ constructor(config) {
10
+ super(config);
11
+ }
12
+ async get(name) {
13
+ if (name) {
14
+ const value = await super.get(name);
15
+ if (value) {
16
+ return JSON.parse(value);
17
+ }
18
+ }
19
+ }
20
+ async has(name) {
21
+ const value = await this.get(name);
22
+ if (value === null) {
23
+ return false;
24
+ }
25
+ return true;
26
+ }
27
+ async set(name, data, duration) {
28
+ if (name && data) {
29
+ data = JSON.stringify(data);
30
+ return await super.set(name, data, duration);
31
+ // if (duration == null) {
32
+ // return await this._addCache(name, data);
33
+ // }
34
+ // return await this._addExpiredCache(name, data, duration);
35
+ }
36
+ }
37
+ async delete(name) {
38
+ if (await this.has(name)) {
39
+ await super.delete(name);
40
+ return true;
41
+ }
42
+ return false;
43
+ }
44
+ async update(name, data, duration) {
45
+ if (await this.delete(name)) {
46
+ return await this.set(name, data, duration);
47
+ }
48
+ else {
49
+ return await this.set(name, data, duration);
50
+ }
51
+ }
52
+ async remember(name, duration, callback) {
53
+ if (await this.has(name)) {
54
+ return await this.get(name);
55
+ }
56
+ else {
57
+ const data = await callback();
58
+ await this.set(name, data, duration);
59
+ return data;
60
+ }
61
+ }
62
+ async rememberForever(name, callback) {
63
+ if (await this.has(name)) {
64
+ return await this.get(name);
65
+ }
66
+ else {
67
+ const data = await callback();
68
+ await this.set(name, data, 50000000000000);
69
+ return data;
70
+ }
71
+ }
72
+ }
73
+ exports.DatabaseCacheService = DatabaseCacheService;
74
+ //# sourceMappingURL=DatabaseCacheService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseCacheService.js","sourceRoot":"","sources":["../../../Cache/Services/DatabaseCacheService.ts"],"names":[],"mappings":";;;;;;AACA,6EAAoD;AAEpD,MAAa,oBACT,SAAQ,uBAAa;IAErB,YAAY,MAAW;QACnB,KAAK,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY;QACzB,IAAI,IAAI,EAAE;YACN,MAAM,KAAK,GAAW,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC3C,IAAI,KAAK,EAAE;gBACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;aAC3B;SACJ;IACL,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,OAAO,KAAK,CAAA;SACf;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAS,EAAE,QAAgB;QACtD,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC3B,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC5C,4BAA4B;YAC5B,+CAA+C;YAC/C,MAAM;YACN,8DAA8D;SACjE;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAY;QAC5B,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxB,OAAO,IAAI,CAAA;SACd;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,IAAS,EAAE,QAAgB;QACzD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;SAC9C;aAAM;YACH,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;SAC9C;IACL,CAAC;IAEM,KAAK,CAAC,QAAQ,CACjB,IAAY,EACZ,QAAgB,EAChB,QAAkB;QAElB,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;SAC9B;aAAM;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAA;YAC7B,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACpC,OAAO,IAAI,CAAA;SACd;IACL,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,QAAkB;QACzD,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;SAC9B;aAAM;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAA;YAC7B,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;YAC1C,OAAO,IAAI,CAAC;SACf;IACL,CAAC;CACJ;AA1ED,oDA0EC"}
@@ -0,0 +1,13 @@
1
+ import ServiceInterface from '../Contracts/ServiceInterface';
2
+ import FileCache from '../Engines/FileCache';
3
+ export declare class FileCacheService extends FileCache implements ServiceInterface {
4
+ get(name: string): Promise<any>;
5
+ has(name: string): Promise<boolean>;
6
+ set(name: string, data: any, duration?: number): Promise<any>;
7
+ delete(name: string): Promise<boolean>;
8
+ flush(): Promise<void>;
9
+ update(name: string, data: any, duration: number): Promise<any>;
10
+ private serialize;
11
+ private deserialize;
12
+ }
13
+ //# sourceMappingURL=FileCacheService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileCacheService.d.ts","sourceRoot":"","sources":["../../../Cache/Services/FileCacheService.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,+BAA+B,CAAA;AAC5D,OAAO,SAAS,MAAM,sBAAsB,CAAA;AAE5C,qBAAa,gBAAiB,SAAQ,SAAU,YAAW,gBAAgB;IAS1D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAY/B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMnC,GAAG,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,QAAQ,GAAE,MAAU,GACrB,OAAO,CAAC,GAAG,CAAC;IAMF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQ5E,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;CAGtB"}