@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
@@ -1,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InjectableMetadata = exports.Scope = void 0;
4
- const Metadata_1 = require("../Support/Metadata");
5
- var Scope;
6
- (function (Scope) {
7
- Scope["TRANSIENT"] = "TRANSIENT";
8
- Scope["SINGLETON"] = "SINGLETON";
9
- Scope["REQUEST"] = "REQUEST";
10
- })(Scope = exports.Scope || (exports.Scope = {}));
11
- class InjectableMetadata extends Metadata_1.MetadataKey('injectable') {
12
- constructor() {
13
- super(...arguments);
14
- this.scope = Scope.SINGLETON;
15
- this.dependencies = {};
16
- }
17
- }
18
- exports.InjectableMetadata = InjectableMetadata;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InjectableMetadata = exports.Scope = void 0;
4
+ const Metadata_1 = require("../Support/Metadata");
5
+ var Scope;
6
+ (function (Scope) {
7
+ Scope["TRANSIENT"] = "TRANSIENT";
8
+ Scope["SINGLETON"] = "SINGLETON";
9
+ Scope["REQUEST"] = "REQUEST";
10
+ })(Scope = exports.Scope || (exports.Scope = {}));
11
+ class InjectableMetadata extends Metadata_1.MetadataKey('injectable') {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.scope = Scope.SINGLETON;
15
+ this.dependencies = {};
16
+ }
17
+ }
18
+ exports.InjectableMetadata = InjectableMetadata;
19
19
  //# sourceMappingURL=Metadata.js.map
@@ -1,19 +1,19 @@
1
- import { Container } from './Container';
2
- import { ServiceIdentifier } from './Contracts';
3
- export interface Resolver {
4
- container: Container;
5
- canResolve<T>(abstract: ServiceIdentifier<T>): boolean;
6
- resolve<T>(abstract: ServiceIdentifier<T>, parameters: object[]): T | Promise<T>;
7
- reload<T>(abstract: ServiceIdentifier<T>, concrete: T, container?: Container): T;
8
- }
9
- export declare abstract class BaseResolver implements Resolver {
10
- container: Container;
11
- constructor(container: Container);
12
- abstract canResolve<T>(abstract: ServiceIdentifier<T>): boolean;
13
- abstract resolve<T>(abstract: ServiceIdentifier<T>, parameters: object[]): T | Promise<T>;
14
- /**
15
- * Used to update the dependencies that have the REQUEST scope
16
- */
17
- reload<T>(abstract: ServiceIdentifier<T>, concrete: T, container?: Container): T;
18
- }
1
+ import { Container } from './Container';
2
+ import { ServiceIdentifier } from './Contracts';
3
+ export interface Resolver {
4
+ container: Container;
5
+ canResolve<T>(abstract: ServiceIdentifier<T>): boolean;
6
+ resolve<T>(abstract: ServiceIdentifier<T>, parameters: object[]): T | Promise<T>;
7
+ reload<T>(abstract: ServiceIdentifier<T>, concrete: T, container?: Container): T;
8
+ }
9
+ export declare abstract class BaseResolver implements Resolver {
10
+ container: Container;
11
+ constructor(container: Container);
12
+ abstract canResolve<T>(abstract: ServiceIdentifier<T>): boolean;
13
+ abstract resolve<T>(abstract: ServiceIdentifier<T>, parameters: object[]): T | Promise<T>;
14
+ /**
15
+ * Used to update the dependencies that have the REQUEST scope
16
+ */
17
+ reload<T>(abstract: ServiceIdentifier<T>, concrete: T, container?: Container): T;
18
+ }
19
19
  //# sourceMappingURL=Resolver.d.ts.map
@@ -1,16 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseResolver = void 0;
4
- class BaseResolver {
5
- constructor(container) {
6
- this.container = container;
7
- }
8
- /**
9
- * Used to update the dependencies that have the REQUEST scope
10
- */
11
- reload(abstract, concrete, container) {
12
- return concrete;
13
- }
14
- }
15
- exports.BaseResolver = BaseResolver;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseResolver = void 0;
4
+ class BaseResolver {
5
+ constructor(container) {
6
+ this.container = container;
7
+ }
8
+ /**
9
+ * Used to update the dependencies that have the REQUEST scope
10
+ */
11
+ reload(abstract, concrete, container) {
12
+ return concrete;
13
+ }
14
+ }
15
+ exports.BaseResolver = BaseResolver;
16
16
  //# sourceMappingURL=Resolver.js.map
@@ -1,6 +1,6 @@
1
- export * from './Decorators';
2
- export * from './Container';
3
- export * from './ClassResolver';
4
- export * from './Resolver';
5
- export * from './Metadata';
1
+ export * from './Decorators';
2
+ export * from './Container';
3
+ export * from './ClassResolver';
4
+ export * from './Resolver';
5
+ export * from './Metadata';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1,18 +1,18 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./Decorators"), exports);
14
- __exportStar(require("./Container"), exports);
15
- __exportStar(require("./ClassResolver"), exports);
16
- __exportStar(require("./Resolver"), exports);
17
- __exportStar(require("./Metadata"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./Decorators"), exports);
14
+ __exportStar(require("./Container"), exports);
15
+ __exportStar(require("./ClassResolver"), exports);
16
+ __exportStar(require("./Resolver"), exports);
17
+ __exportStar(require("./Metadata"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
2
  //# sourceMappingURL=Where.js.map
@@ -1,21 +1,21 @@
1
- import { Query } from './Query';
2
- import { DatabaseDriver } from './Drivers/DatabaseDriver';
3
- import { SqlValue } from './Types';
4
- export declare class Connection {
5
- driver: DatabaseDriver;
6
- constructor(driver: DatabaseDriver);
7
- run(query: Query): Promise<void>;
8
- insertOne(query: Query): Promise<number>;
9
- truncate(table: string): Promise<void>;
10
- get<T>(query: Query<T>): Promise<T[]>;
11
- first<T>(query: Query<T>): Promise<T | undefined>;
12
- getRaw<T>(rawQuery: string, params?: SqlValue[]): Promise<T[]>;
13
- firstRaw<T>(rawQuery: string, params?: SqlValue[]): Promise<T>;
14
- runRaw(rawQuery: string, params?: SqlValue[]): Promise<void>;
15
- tables(): Promise<{
16
- name: string;
17
- }[]>;
18
- tableExists(table: string): Promise<Boolean>;
19
- tableColumns(table: string): Promise<import("./Drivers/SQL").ColumnDefinitionOptions[]>;
20
- }
1
+ import { Query } from './Query';
2
+ import { DatabaseDriver } from './Drivers/DatabaseDriver';
3
+ import { SqlValue } from './Types';
4
+ export declare class Connection {
5
+ driver: DatabaseDriver;
6
+ constructor(driver: DatabaseDriver);
7
+ run(query: Query): Promise<void>;
8
+ insertOne(query: Query): Promise<number>;
9
+ truncate(table: string): Promise<void>;
10
+ get<T>(query: Query<T>): Promise<T[]>;
11
+ first<T>(query: Query<T>): Promise<T | undefined>;
12
+ getRaw<T>(rawQuery: string, params?: SqlValue[]): Promise<T[]>;
13
+ firstRaw<T>(rawQuery: string, params?: SqlValue[]): Promise<T>;
14
+ runRaw(rawQuery: string, params?: SqlValue[]): Promise<void>;
15
+ tables(): Promise<{
16
+ name: string;
17
+ }[]>;
18
+ tableExists(table: string): Promise<boolean>;
19
+ tableColumns(table: string): Promise<import("./Drivers/SQL").ColumnDefinitionOptions[]>;
20
+ }
21
21
  //# sourceMappingURL=Connection.d.ts.map
@@ -1,43 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Connection = void 0;
4
- class Connection {
5
- constructor(driver) {
6
- this.driver = driver;
7
- }
8
- async run(query) {
9
- return this.driver.run(query.toSQL(), query.getBindings());
10
- }
11
- async insertOne(query) {
12
- return this.driver.insertOne(query.toSQL(), query.getBindings());
13
- }
14
- truncate(table) {
15
- return this.driver.truncate(table);
16
- }
17
- async get(query) {
18
- return await this.driver.get(query.toSQL(), query.getBindings());
19
- }
20
- async first(query) {
21
- return await this.driver.first(query.toSQL(), query.getBindings());
22
- }
23
- async getRaw(rawQuery, params = []) {
24
- return await this.driver.get(rawQuery, params);
25
- }
26
- async firstRaw(rawQuery, params = []) {
27
- return await this.driver.first(rawQuery, params);
28
- }
29
- async runRaw(rawQuery, params = []) {
30
- return this.driver.run(rawQuery, params);
31
- }
32
- async tables() {
33
- return this.driver.tables();
34
- }
35
- async tableExists(table) {
36
- return this.driver.tableExists(table);
37
- }
38
- async tableColumns(table) {
39
- return this.driver.tableColumns(table);
40
- }
41
- }
42
- exports.Connection = Connection;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Connection = void 0;
4
+ class Connection {
5
+ constructor(driver) {
6
+ this.driver = driver;
7
+ }
8
+ async run(query) {
9
+ return this.driver.run(query.toSQL(), query.getBindings());
10
+ }
11
+ async insertOne(query) {
12
+ return this.driver.insertOne(query.toSQL(), query.getBindings());
13
+ }
14
+ truncate(table) {
15
+ return this.driver.truncate(table);
16
+ }
17
+ async get(query) {
18
+ return await this.driver.get(query.toSQL(), query.getBindings());
19
+ }
20
+ async first(query) {
21
+ return await this.driver.first(query.toSQL(), query.getBindings());
22
+ }
23
+ async getRaw(rawQuery, params = []) {
24
+ return await this.driver.get(rawQuery, params);
25
+ }
26
+ async firstRaw(rawQuery, params = []) {
27
+ return await this.driver.first(rawQuery, params);
28
+ }
29
+ async runRaw(rawQuery, params = []) {
30
+ return this.driver.run(rawQuery, params);
31
+ }
32
+ async tables() {
33
+ return this.driver.tables();
34
+ }
35
+ async tableExists(table) {
36
+ return this.driver.tableExists(table);
37
+ }
38
+ async tableColumns(table) {
39
+ return this.driver.tableColumns(table);
40
+ }
41
+ }
42
+ exports.Connection = Connection;
43
43
  //# sourceMappingURL=Connection.js.map
@@ -1,37 +1,37 @@
1
- import { ChildObject, Constructor, KeysOfType } from '@Typetron/Support';
2
- import { Entity } from './Entity';
3
- import { BelongsToManyField, BelongsToManyFieldOptions, ColumnField, HasManyField, HasOneField, RelationshipField } from './Fields';
4
- import { List } from './List';
5
- import { BaseRelationship } from './ORM/BaseRelationship';
6
- export declare const EntityMetadataKey = "framework:entity";
7
- export declare type ID = number | string;
8
- export declare class EntityOptions<T extends Entity> {
9
- table?: string;
10
- touch?: KeysOfType<T, Entity | List<T, Entity>>[];
11
- }
12
- export declare class EntityMetadata<T extends Entity> extends EntityOptions<T> {
13
- columns: Record<string, ColumnField<T>>;
14
- relationships: Record<string, RelationshipField<T, Entity>>;
15
- inverseRelationships: Record<string, BelongsToManyField<T, Entity> | HasManyField<T, Entity> | HasOneField<T, Entity>>;
16
- createdAtColumn?: string;
17
- updatedAtColumn?: string;
18
- get allRelationships(): {
19
- [x: string]: RelationshipField<T, Entity> | BelongsToManyField<T, Entity> | HasManyField<T, Entity> | HasOneField<T, Entity>;
20
- };
21
- static get<T extends Entity>(entity: T): EntityMetadata<T>;
22
- }
23
- export declare function Options<T extends Entity>(options?: EntityOptions<T>): (entity: object) => void;
24
- export declare function Column<T extends Entity>(column?: string | {
25
- type: any;
26
- }): PropertyDecorator;
27
- export declare function Column<T extends Entity>(column: string, options?: {
28
- type: any;
29
- }): PropertyDecorator;
30
- export declare function JSONColumn<T extends Entity>(column?: string): (entity: object, name: string) => void;
31
- export declare function Enum<T extends Entity>(...values: string[]): (entity: object, name: string) => void;
32
- export declare function PrimaryColumn<T extends Entity>(column?: string): (entity: object, name: string) => void;
33
- export declare function CreatedAt<T extends Entity>(column?: string): (entity: object, name: string) => void;
34
- export declare function UpdatedAt<T extends Entity>(column?: string): (entity: object, name: string) => void;
35
- export declare function Relation<T extends Entity, R extends Entity>(type: () => Constructor<R>, inverseBy: KeysOfType<ChildObject<R, Entity>, BaseRelationship<T>>): (entity: object, property: string) => void;
36
- export declare function BelongsToManyOptions<T extends Entity>(options: BelongsToManyFieldOptions): (entity: object, property: string) => void;
1
+ import { ChildObject, Constructor, KeysOfType } from '@Typetron/Support';
2
+ import { Entity } from './Entity';
3
+ import { BelongsToManyField, BelongsToManyFieldOptions, ColumnField, HasManyField, HasOneField, RelationshipField } from './Fields';
4
+ import { List } from './List';
5
+ import { BaseRelationship } from './ORM/BaseRelationship';
6
+ export declare const EntityMetadataKey = "framework:entity";
7
+ export declare type ID = number | string;
8
+ export declare class EntityOptions<T extends Entity> {
9
+ table?: string;
10
+ touch?: KeysOfType<T, Entity | List<T, Entity>>[];
11
+ }
12
+ export declare class EntityMetadata<T extends Entity> extends EntityOptions<T> {
13
+ columns: Record<string, ColumnField<T>>;
14
+ relationships: Record<string, RelationshipField<T, Entity>>;
15
+ inverseRelationships: Record<string, BelongsToManyField<T, Entity> | HasManyField<T, Entity> | HasOneField<T, Entity>>;
16
+ createdAtColumn?: string;
17
+ updatedAtColumn?: string;
18
+ get allRelationships(): {
19
+ [x: string]: RelationshipField<T, Entity> | BelongsToManyField<T, Entity> | HasManyField<T, Entity> | HasOneField<T, Entity>;
20
+ };
21
+ static get<T extends Entity>(entity: T): EntityMetadata<T>;
22
+ }
23
+ export declare function Options<T extends Entity>(options?: EntityOptions<T>): (entity: object) => void;
24
+ export declare function Column<T extends Entity>(column?: string | {
25
+ type: any;
26
+ }): PropertyDecorator;
27
+ export declare function Column<T extends Entity>(column: string, options?: {
28
+ type: any;
29
+ }): PropertyDecorator;
30
+ export declare function JSONColumn<T extends Entity>(column?: string): (entity: object, name: string) => void;
31
+ export declare function Enum<T extends Entity>(...values: string[]): (entity: object, name: string) => void;
32
+ export declare function PrimaryColumn<T extends Entity>(column?: string): (entity: object, name: string) => void;
33
+ export declare function CreatedAt<T extends Entity>(column?: string): (entity: object, name: string) => void;
34
+ export declare function UpdatedAt<T extends Entity>(column?: string): (entity: object, name: string) => void;
35
+ export declare function Relation<T extends Entity, R extends Entity>(type: () => Constructor<R>, inverseBy: KeysOfType<ChildObject<R, Entity>, BaseRelationship<T>>): (entity: object, property: string) => void;
36
+ export declare function BelongsToManyOptions<T extends Entity>(options: BelongsToManyFieldOptions): (entity: object, property: string) => void;
37
37
  //# sourceMappingURL=Decorators.d.ts.map
@@ -1,117 +1,117 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BelongsToManyOptions = exports.Relation = exports.UpdatedAt = exports.CreatedAt = exports.PrimaryColumn = exports.Enum = exports.JSONColumn = exports.Column = exports.Options = exports.EntityMetadata = exports.EntityOptions = exports.EntityMetadataKey = void 0;
4
- const Fields_1 = require("./Fields");
5
- exports.EntityMetadataKey = 'framework:entity';
6
- class EntityOptions {
7
- }
8
- exports.EntityOptions = EntityOptions;
9
- class EntityMetadata extends EntityOptions {
10
- constructor() {
11
- super(...arguments);
12
- this.columns = {};
13
- this.relationships = {};
14
- this.inverseRelationships = {};
15
- }
16
- get allRelationships() {
17
- return { ...this.relationships, ...this.inverseRelationships };
18
- }
19
- static get(entity) {
20
- const metadata = Reflect.getMetadata(exports.EntityMetadataKey, entity) || new this();
21
- metadata.table = (metadata === null || metadata === void 0 ? void 0 : metadata.table) || entity.constructor.name.toLowerCase();
22
- return metadata;
23
- }
24
- }
25
- exports.EntityMetadata = EntityMetadata;
26
- function Options(options = {}) {
27
- return (entity) => {
28
- const entityClass = entity;
29
- const metadata = EntityMetadata.get(entityClass.prototype);
30
- options.table = options.table || entityClass.name.toLowerCase();
31
- Object.assign(metadata, options);
32
- Reflect.defineMetadata(exports.EntityMetadataKey, metadata, entityClass.prototype);
33
- };
34
- }
35
- exports.Options = Options;
36
- function setField(entity, field) {
37
- const entityMetadata = EntityMetadata.get(entity);
38
- entityMetadata.columns[field.property] = field;
39
- Reflect.defineMetadata(exports.EntityMetadataKey, entityMetadata, entity);
40
- }
41
- // tslint:disable-next-line:no-any
42
- function Column(column, options) {
43
- return function (entity, name) {
44
- var _a;
45
- const actualColumn = typeof column === 'string' ? column : undefined;
46
- const type = (_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : Reflect.getMetadata('design:type', entity, name);
47
- const field = new Fields_1.ColumnField(entity.constructor, String(name), () => type, actualColumn || String(name));
48
- setField(entity, field);
49
- };
50
- }
51
- exports.Column = Column;
52
- function JSONColumn(column) {
53
- return function (entity, name) {
54
- const field = new Fields_1.JSONField(entity.constructor, name, () => String, column || name);
55
- setField(entity, field);
56
- };
57
- }
58
- exports.JSONColumn = JSONColumn;
59
- function Enum(...values) {
60
- return function (entity, name) {
61
- };
62
- }
63
- exports.Enum = Enum;
64
- function PrimaryColumn(column) {
65
- return function (entity, name) {
66
- const type = Reflect.getMetadata('design:type', entity, name);
67
- const field = new Fields_1.PrimaryField(entity.constructor, name, () => type, column || name);
68
- setField(entity, field);
69
- };
70
- }
71
- exports.PrimaryColumn = PrimaryColumn;
72
- function CreatedAt(column) {
73
- return function (entity, name) {
74
- Column(column)(entity, name);
75
- const entityMetadata = EntityMetadata.get(entity);
76
- entityMetadata.createdAtColumn = column || name;
77
- Reflect.defineMetadata(exports.EntityMetadataKey, entityMetadata, entity);
78
- };
79
- }
80
- exports.CreatedAt = CreatedAt;
81
- function UpdatedAt(column) {
82
- return function (entity, name) {
83
- Column(column)(entity, name);
84
- const entityMetadata = EntityMetadata.get(entity);
85
- entityMetadata.updatedAtColumn = column || name;
86
- Reflect.defineMetadata(exports.EntityMetadataKey, entityMetadata, entity);
87
- };
88
- }
89
- exports.UpdatedAt = UpdatedAt;
90
- const entityOptionsCache = new Map();
91
- function Relation(type,
92
- // tslint:disable-next-line:no-any
93
- // inverseBy: KeysOfType<Omit<R, keyof Entity>, Entity | HasOne<any> | BelongsTo<any> | HasMany<any> | BelongsToMany<any>>,
94
- // tslint:disable-next-line:no-any
95
- // inverseBy: KeysOfType<R, Entity | HasOne<any> | BelongsTo<any> | HasMany<any> | BelongsToMany<any>>,
96
- // tslint:disable-next-line:no-any
97
- inverseBy) {
98
- return function (entity, property) {
99
- let entityMetadata = EntityMetadata.get(entity);
100
- const fieldClass = Reflect.getMetadata('design:type', entity, property);
101
- const entityClass = entity.constructor;
102
- const options = entityOptionsCache.get(entity) || {};
103
- // @ts-ignore
104
- entityMetadata = fieldClass.relationship(entityMetadata, entityClass, property, type, inverseBy, options[property]);
105
- Reflect.defineMetadata(exports.EntityMetadataKey, entityMetadata, entity);
106
- };
107
- }
108
- exports.Relation = Relation;
109
- function BelongsToManyOptions(options) {
110
- return function (entity, property) {
111
- const entityOptions = entityOptionsCache.get(entity) || {};
112
- entityOptions[property] = options;
113
- entityOptionsCache.set(entity, entityOptions);
114
- };
115
- }
116
- exports.BelongsToManyOptions = BelongsToManyOptions;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BelongsToManyOptions = exports.Relation = exports.UpdatedAt = exports.CreatedAt = exports.PrimaryColumn = exports.Enum = exports.JSONColumn = exports.Column = exports.Options = exports.EntityMetadata = exports.EntityOptions = exports.EntityMetadataKey = void 0;
4
+ const Fields_1 = require("./Fields");
5
+ exports.EntityMetadataKey = 'framework:entity';
6
+ class EntityOptions {
7
+ }
8
+ exports.EntityOptions = EntityOptions;
9
+ class EntityMetadata extends EntityOptions {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.columns = {};
13
+ this.relationships = {};
14
+ this.inverseRelationships = {};
15
+ }
16
+ get allRelationships() {
17
+ return { ...this.relationships, ...this.inverseRelationships };
18
+ }
19
+ static get(entity) {
20
+ const metadata = Reflect.getMetadata(exports.EntityMetadataKey, entity) || new this();
21
+ metadata.table = (metadata === null || metadata === void 0 ? void 0 : metadata.table) || entity.constructor.name.toLowerCase();
22
+ return metadata;
23
+ }
24
+ }
25
+ exports.EntityMetadata = EntityMetadata;
26
+ function Options(options = {}) {
27
+ return (entity) => {
28
+ const entityClass = entity;
29
+ const metadata = EntityMetadata.get(entityClass.prototype);
30
+ options.table = options.table || entityClass.name.toLowerCase();
31
+ Object.assign(metadata, options);
32
+ Reflect.defineMetadata(exports.EntityMetadataKey, metadata, entityClass.prototype);
33
+ };
34
+ }
35
+ exports.Options = Options;
36
+ function setField(entity, field) {
37
+ const entityMetadata = EntityMetadata.get(entity);
38
+ entityMetadata.columns[field.property] = field;
39
+ Reflect.defineMetadata(exports.EntityMetadataKey, entityMetadata, entity);
40
+ }
41
+ // tslint:disable-next-line:no-any
42
+ function Column(column, options) {
43
+ return function (entity, name) {
44
+ var _a;
45
+ const actualColumn = typeof column === 'string' ? column : undefined;
46
+ const type = (_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : Reflect.getMetadata('design:type', entity, name);
47
+ const field = new Fields_1.ColumnField(entity.constructor, String(name), () => type, actualColumn || String(name));
48
+ setField(entity, field);
49
+ };
50
+ }
51
+ exports.Column = Column;
52
+ function JSONColumn(column) {
53
+ return function (entity, name) {
54
+ const field = new Fields_1.JSONField(entity.constructor, name, () => String, column || name);
55
+ setField(entity, field);
56
+ };
57
+ }
58
+ exports.JSONColumn = JSONColumn;
59
+ function Enum(...values) {
60
+ return function (entity, name) {
61
+ };
62
+ }
63
+ exports.Enum = Enum;
64
+ function PrimaryColumn(column) {
65
+ return function (entity, name) {
66
+ const type = Reflect.getMetadata('design:type', entity, name);
67
+ const field = new Fields_1.PrimaryField(entity.constructor, name, () => type, column || name);
68
+ setField(entity, field);
69
+ };
70
+ }
71
+ exports.PrimaryColumn = PrimaryColumn;
72
+ function CreatedAt(column) {
73
+ return function (entity, name) {
74
+ Column(column)(entity, name);
75
+ const entityMetadata = EntityMetadata.get(entity);
76
+ entityMetadata.createdAtColumn = column || name;
77
+ Reflect.defineMetadata(exports.EntityMetadataKey, entityMetadata, entity);
78
+ };
79
+ }
80
+ exports.CreatedAt = CreatedAt;
81
+ function UpdatedAt(column) {
82
+ return function (entity, name) {
83
+ Column(column)(entity, name);
84
+ const entityMetadata = EntityMetadata.get(entity);
85
+ entityMetadata.updatedAtColumn = column || name;
86
+ Reflect.defineMetadata(exports.EntityMetadataKey, entityMetadata, entity);
87
+ };
88
+ }
89
+ exports.UpdatedAt = UpdatedAt;
90
+ const entityOptionsCache = new Map();
91
+ function Relation(type,
92
+ // tslint:disable-next-line:no-any
93
+ // inverseBy: KeysOfType<Omit<R, keyof Entity>, Entity | HasOne<any> | BelongsTo<any> | HasMany<any> | BelongsToMany<any>>,
94
+ // tslint:disable-next-line:no-any
95
+ // inverseBy: KeysOfType<R, Entity | HasOne<any> | BelongsTo<any> | HasMany<any> | BelongsToMany<any>>,
96
+ // tslint:disable-next-line:no-any
97
+ inverseBy) {
98
+ return function (entity, property) {
99
+ let entityMetadata = EntityMetadata.get(entity);
100
+ const fieldClass = Reflect.getMetadata('design:type', entity, property);
101
+ const entityClass = entity.constructor;
102
+ const options = entityOptionsCache.get(entity) || {};
103
+ // @ts-ignore
104
+ entityMetadata = fieldClass.relationship(entityMetadata, entityClass, property, type, inverseBy, options[property]);
105
+ Reflect.defineMetadata(exports.EntityMetadataKey, entityMetadata, entity);
106
+ };
107
+ }
108
+ exports.Relation = Relation;
109
+ function BelongsToManyOptions(options) {
110
+ return function (entity, property) {
111
+ const entityOptions = entityOptionsCache.get(entity) || {};
112
+ entityOptions[property] = options;
113
+ entityOptionsCache.set(entity, entityOptions);
114
+ };
115
+ }
116
+ exports.BelongsToManyOptions = BelongsToManyOptions;
117
117
  //# sourceMappingURL=Decorators.js.map