@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,553 +1,553 @@
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 mocha_1 = require("@testdeck/mocha");
13
- const Database_1 = require("../../Database");
14
- const User_1 = require("./Entities/User");
15
- const Article_1 = require("./Entities/Article");
16
- const Role_1 = require("./Entities/Role");
17
- const Profile_1 = require("./Entities/Profile");
18
- const chai_1 = require("chai");
19
- const Fields_1 = require("../../Database/Fields");
20
- let EntityRelationshipsTest = class EntityRelationshipsTest {
21
- constructor() {
22
- this.joe = {
23
- name: 'Joe',
24
- email: 'joe@example.com',
25
- };
26
- this.doe = {
27
- name: 'Doe',
28
- email: 'doe@example.com',
29
- };
30
- this.admin = {
31
- name: 'Admin'
32
- };
33
- this.developer = {
34
- name: 'Developer'
35
- };
36
- }
37
- async before() {
38
- Database_1.Query.connection = new Database_1.Connection(new Database_1.SqliteDriver(':memory:'));
39
- // Query.connection = new Connection(new MysqlDriver({
40
- // host: 'localhost', user: 'root', password: 'root', database: 'typetron_test'
41
- // }))
42
- await Database_1.Query.connection.driver.schema.synchronize([User_1.User, Profile_1.Profile, Article_1.Article, Role_1.Role].pluck('metadata'));
43
- }
44
- async after() {
45
- for await (const entity of [User_1.User, Profile_1.Profile, Article_1.Article, Role_1.Role]) {
46
- await entity.truncate();
47
- }
48
- await Database_1.Query.table('role_users').truncate();
49
- }
50
- async hydratesEntityWithRelationships() {
51
- const user = new User_1.User();
52
- chai_1.expect(user).to.haveOwnProperty('profile');
53
- chai_1.expect(user.profile).to.be.instanceOf(Fields_1.HasOne);
54
- chai_1.expect(user).to.haveOwnProperty('articles');
55
- chai_1.expect(user.articles).to.be.instanceOf(Fields_1.HasMany);
56
- chai_1.expect(user).to.haveOwnProperty('roles');
57
- chai_1.expect(user.roles).to.be.instanceOf(Fields_1.BelongsToMany);
58
- }
59
- async hasOneSave() {
60
- var _a, _b, _c;
61
- const user = await User_1.User.create(this.joe);
62
- const profile = new Profile_1.Profile().fill({
63
- address: 'address'
64
- });
65
- await user.profile.save(profile);
66
- chai_1.expect((_a = user.profile.get()) === null || _a === void 0 ? void 0 : _a.id).to.be.equal(profile.id);
67
- chai_1.expect((_c = (_b = user.profile.get()) === null || _b === void 0 ? void 0 : _b.user.get()) === null || _c === void 0 ? void 0 : _c.id).to.be.equal(user.id);
68
- chai_1.expect(await Profile_1.Profile.first()).to.be.instanceOf(Profile_1.Profile);
69
- }
70
- async hasOneLoad() {
71
- var _a, _b, _c;
72
- const user = await User_1.User.create(this.joe);
73
- const profile = new Profile_1.Profile().fill({
74
- address: 'address'
75
- });
76
- await user.profile.save(profile);
77
- const sameUser = await User_1.User.findOrFail(user.id);
78
- chai_1.expect(sameUser.profile).to.be.instanceOf(Fields_1.HasOne);
79
- chai_1.expect(sameUser.profile.get()).to.be.equal(undefined);
80
- await sameUser.load('profile');
81
- chai_1.expect((_a = sameUser.profile.get()) === null || _a === void 0 ? void 0 : _a.id).to.be.equal((_b = user.profile.get()) === null || _b === void 0 ? void 0 : _b.id);
82
- chai_1.expect((_c = sameUser.profile.get()) === null || _c === void 0 ? void 0 : _c.address).to.be.equal('address');
83
- }
84
- async hasOneEagerLoad() {
85
- const user = await User_1.User.create(this.joe);
86
- const profile = new Profile_1.Profile().fill({
87
- address: 'address'
88
- });
89
- await user.profile.save(profile);
90
- const sameUser = await User_1.User.with('profile').where('id', user.id).first();
91
- chai_1.expect(sameUser.profile.get()).to.deep.include({
92
- id: profile.id,
93
- address: 'address'
94
- });
95
- }
96
- async hasManySave() {
97
- const user = await User_1.User.create(this.joe);
98
- const article = new Article_1.Article().fill({
99
- title: 'title',
100
- content: 'content',
101
- });
102
- await user.articles.save(article);
103
- chai_1.expect(user.articles).to.have.length(1);
104
- chai_1.expect(user.articles[0]).to.deep.include({
105
- id: article.id,
106
- title: 'title',
107
- content: 'content',
108
- });
109
- }
110
- async hasManySaveUsingPlainObject() {
111
- const user = await User_1.User.create(this.joe);
112
- await user.articles.save({
113
- title: 'title',
114
- content: 'content',
115
- });
116
- chai_1.expect(user.articles).to.have.length(1);
117
- chai_1.expect(user.articles[0]).to.deep.include({
118
- title: 'title',
119
- content: 'content',
120
- });
121
- }
122
- async hasManySaveUsingSaveOnUnsavedParent() {
123
- const user = new User_1.User().fill(this.joe);
124
- await user.articles.save(new Article_1.Article().fill({
125
- title: 'title',
126
- content: 'content',
127
- }));
128
- chai_1.expect(user.articles).to.have.length(1);
129
- chai_1.expect(user.articles[0]).to.deep.include({
130
- title: 'title',
131
- content: 'content',
132
- });
133
- }
134
- async hasManyLoad() {
135
- const user = await User_1.User.create(this.joe);
136
- await Article_1.Article.create({
137
- title: 'title',
138
- content: 'content',
139
- author: user
140
- });
141
- await user.load('articles');
142
- chai_1.expect(user.articles).to.be.instanceOf(Fields_1.HasMany);
143
- chai_1.expect(user.articles[0]).to.deep.include({
144
- title: 'title',
145
- content: 'content',
146
- });
147
- }
148
- async hasManyGet() {
149
- const user = await User_1.User.create(this.joe);
150
- const article = new Article_1.Article().fill({
151
- title: 'title',
152
- content: 'content',
153
- });
154
- await user.articles.save(article);
155
- await user.articles.load();
156
- chai_1.expect(user.articles[0]).to.deep.include({
157
- title: 'title',
158
- content: 'content',
159
- });
160
- }
161
- async hasManyEagerLoad() {
162
- const user = new User_1.User().fill(this.joe);
163
- const article = new Article_1.Article().fill({
164
- title: 'title',
165
- content: 'content',
166
- });
167
- await user.articles.save(article);
168
- const sameUser = await User_1.User.with('articles').where('id', user.id).first();
169
- chai_1.expect(sameUser.articles).to.have.length(1);
170
- chai_1.expect(user.articles[0]).to.deep.include({
171
- id: article.id,
172
- title: 'title',
173
- content: 'content',
174
- });
175
- }
176
- async hasManyQuery() {
177
- const user = await User_1.User.create(this.joe);
178
- await user.articles.saveMany({
179
- title: 'title',
180
- content: `joe's content`,
181
- }, {
182
- title: 'other title',
183
- content: 'other content',
184
- });
185
- const doe = await User_1.User.create(this.doe);
186
- await doe.articles.save({
187
- title: 'title',
188
- content: `doe's content`,
189
- });
190
- const articles = await user.articles.where('title', 'title').get();
191
- chai_1.expect(articles).to.have.length(1);
192
- chai_1.expect(user.articles[0]).to.deep.include({
193
- title: 'title',
194
- content: `joe's content`,
195
- });
196
- }
197
- async belongsToSave() {
198
- const user = await User_1.User.create(this.joe);
199
- const article = new Article_1.Article();
200
- await user.articles.save(article);
201
- chai_1.expect(user.articles).to.have.length(1);
202
- chai_1.expect(user.articles[0].author).to.be.instanceof(Fields_1.BelongsTo);
203
- }
204
- async belongsToEagerLoad() {
205
- const user = await User_1.User.create(this.joe);
206
- const article = new Article_1.Article();
207
- await user.articles.save(article);
208
- const articles = await Article_1.Article.with('author').get();
209
- chai_1.expect(articles).to.have.length(1);
210
- chai_1.expect(articles[0].author).to.be.instanceof(Fields_1.BelongsTo);
211
- }
212
- async belongsToEagerLoadWithCustomQuery() {
213
- const joe = await User_1.User.create(this.joe);
214
- await joe.articles.save(Article_1.Article.new({ title: 'article1' }));
215
- await joe.articles.save(Article_1.Article.new({ title: 'article2' }));
216
- const user = await User_1.User.with(['articles', query => query.where('title', 'article1')]).first();
217
- chai_1.expect(user.articles).to.have.length(1);
218
- }
219
- // @test
220
- // async deepBelongsToEagerLoadWithCustomQuery() {
221
- // const admin = await Role.create(this.admin)
222
- //
223
- // const joe = await User.create(this.joe)
224
- // await joe.profile.save(new Profile({address: 'south address'}))
225
- // const doe = await User.create(this.doe)
226
- // await doe.profile.save(new Profile({address: 'east address'}))
227
- //
228
- // await admin.users.add(joe, doe)
229
- //
230
- // const role = await Role.with(['users.profile', query => query.whereLike('address', '%east%')]).first() as Role
231
- //
232
- // expect(role.users).to.have.length(1)
233
- // expect(role.users[0].name).to.be.equal(doe.name)
234
- // }
235
- async belongsToLoad() {
236
- const user = await User_1.User.create(this.joe);
237
- let article = new Article_1.Article();
238
- await user.articles.save(article);
239
- article = await Article_1.Article.findOrFail(article.id);
240
- const a = await Article_1.Article.get();
241
- const u = await User_1.User.get();
242
- await article.load('author');
243
- chai_1.expect(article.author).to.be.instanceOf(Fields_1.BelongsTo);
244
- chai_1.expect(article.author.get()).to.be.instanceOf(User_1.User);
245
- }
246
- async belongsToReLoad() {
247
- var _a;
248
- const user = await User_1.User.create(this.joe);
249
- const article = new Article_1.Article();
250
- await user.articles.save(article);
251
- await article.load('author');
252
- chai_1.expect(article.author).to.be.instanceOf(Fields_1.BelongsTo);
253
- chai_1.expect(article.author.get()).to.be.instanceOf(User_1.User);
254
- chai_1.expect((_a = article.author.get()) === null || _a === void 0 ? void 0 : _a.id).to.be.equal(user.id);
255
- }
256
- async belongsToManySave() {
257
- const user = new User_1.User().fill(this.joe);
258
- const admin = await Role_1.Role.create(this.admin);
259
- const developer = await Role_1.Role.create(this.developer);
260
- await user.roles.add(admin.id, developer.id);
261
- chai_1.expect(user.roles).to.have.length(2);
262
- chai_1.expect(user.roles[0].id).to.be.equal(admin.id);
263
- chai_1.expect(user.roles[1].id).to.be.equal(developer.id);
264
- }
265
- async belongsToManyEagerLoad() {
266
- const user = await User_1.User.create(this.joe);
267
- const admin = await Role_1.Role.create(this.admin);
268
- const developer = await Role_1.Role.create(this.developer);
269
- await user.roles.add(admin.id, developer.id);
270
- const sameUser = await User_1.User.with('roles').where('id', user.id).first();
271
- chai_1.expect(sameUser.roles).to.have.length(2);
272
- chai_1.expect(sameUser.roles[0]).to.deep.include({
273
- id: admin.id,
274
- name: admin.name
275
- });
276
- chai_1.expect(sameUser.roles[1]).to.deep.include({
277
- id: developer.id,
278
- name: developer.name
279
- });
280
- }
281
- async belongsToManyClearing() {
282
- const user = new User_1.User().fill(this.joe);
283
- const admin = await Role_1.Role.create(this.admin);
284
- const developer = await Role_1.Role.create(this.developer);
285
- await user.roles.add(admin.id, developer.id);
286
- chai_1.expect(user.roles).to.have.length(2);
287
- await user.roles.clear();
288
- chai_1.expect(user.roles).to.have.length(0);
289
- }
290
- async belongsToManyRemove() {
291
- const user = new User_1.User().fill(this.joe);
292
- const admin = await Role_1.Role.create(this.admin);
293
- const developer = await Role_1.Role.create(this.developer);
294
- await user.roles.add(admin.id, developer.id);
295
- chai_1.expect(user.roles).to.have.length(2);
296
- await user.roles.remove(admin.id);
297
- chai_1.expect(user.roles).to.have.length(1);
298
- }
299
- async belongsToManySync() {
300
- const user = new User_1.User().fill(this.joe);
301
- const admin = await Role_1.Role.create(this.admin);
302
- const developer = await Role_1.Role.create(this.developer);
303
- const manager = await Role_1.Role.create({ name: 'Manager' });
304
- await user.roles.add(admin.id, manager.id);
305
- await user.roles.sync(admin.id, developer);
306
- chai_1.expect(user.roles).to.have.length(2);
307
- chai_1.expect(user.roles[0]).to.have.property('id', admin.id);
308
- chai_1.expect(user.roles[1]).to.have.property('id', developer.id);
309
- }
310
- async belongsToManySyncWithoutDetaching() {
311
- const user = new User_1.User().fill(this.joe);
312
- const admin = await Role_1.Role.create(this.admin);
313
- const developer = await Role_1.Role.create(this.developer);
314
- const manager = await Role_1.Role.create({ name: 'manager' });
315
- await user.roles.add(admin.id, manager.id);
316
- await user.roles.syncWithoutDetaching(admin.id, developer);
317
- chai_1.expect(user.roles).to.have.length(3);
318
- chai_1.expect(user.roles[0]).to.have.property('id', admin.id);
319
- chai_1.expect(user.roles[1]).to.have.property('id', manager.id);
320
- chai_1.expect(user.roles[2]).to.have.property('id', developer.id);
321
- }
322
- async belongsToManyToggle() {
323
- const user = new User_1.User().fill(this.joe);
324
- const admin = await Role_1.Role.create(this.admin);
325
- await user.roles.add(admin.id);
326
- chai_1.expect(user.roles).to.have.length(1);
327
- chai_1.expect(user.roles[0]).to.have.property('id', admin.id);
328
- const developer = await Role_1.Role.create(this.developer);
329
- await user.roles.toggle(admin.id, developer.id);
330
- chai_1.expect(user.roles).to.have.length(1);
331
- chai_1.expect(user.roles[0]).to.have.property('id', developer.id);
332
- }
333
- async belongsToManyLoad() {
334
- const user = new User_1.User().fill(this.joe);
335
- const admin = await Role_1.Role.create(this.admin);
336
- await user.roles.add(admin.id);
337
- const sameUser = await User_1.User.first();
338
- await sameUser.load('roles');
339
- chai_1.expect(sameUser.roles[0]).to.deep.include(this.admin);
340
- }
341
- async belongsToManyQuery() {
342
- const user = new User_1.User().fill(this.joe);
343
- const admin = await Role_1.Role.create(this.admin);
344
- const developer = await Role_1.Role.create(this.developer);
345
- await user.roles.add(admin.id, developer.id);
346
- chai_1.expect(user.roles).to.have.length(2);
347
- const roles = await user.roles.where('name', developer.name).get();
348
- chai_1.expect(roles).to.have.length(1);
349
- chai_1.expect(roles[0]).to.deep.include(this.developer);
350
- }
351
- async belongsToManyHas() {
352
- const user = new User_1.User().fill(this.joe);
353
- const admin = await Role_1.Role.create(this.admin);
354
- const developer = await Role_1.Role.create(this.developer);
355
- await user.roles.add(admin.id);
356
- chai_1.expect(await user.roles.has(admin)).to.be.equal(true);
357
- chai_1.expect(await user.roles.has(developer.id)).to.be.equal(false);
358
- }
359
- async nestedEagerLoading() {
360
- var _a;
361
- let user = await User_1.User.create(this.joe);
362
- await user.articles.save(new Article_1.Article());
363
- user = await User_1.User.find(user.id);
364
- await user.load('articles.author');
365
- chai_1.expect((_a = user.articles[0].author.get()) === null || _a === void 0 ? void 0 : _a.name).to.be.equal(user.name);
366
- }
367
- async multipleNestedEagerLoading() {
368
- var _a, _b, _c, _d;
369
- let adminRole = await Role_1.Role.create({ name: 'Admin' });
370
- const joe = await User_1.User.create(this.joe);
371
- await adminRole.users.add(joe);
372
- await joe.articles.save(new Article_1.Article().fill({ title: 'title' }));
373
- await joe.profile.save(new Profile_1.Profile().fill({ address: 'address' }));
374
- adminRole = await Role_1.Role.find(adminRole.id);
375
- await adminRole.load('users.articles.author', 'users.profile.user');
376
- chai_1.expect(adminRole.users[0].articles[0].title).to.be.equal('title');
377
- chai_1.expect((_a = adminRole.users[0].profile.get()) === null || _a === void 0 ? void 0 : _a.address).to.be.equal('address');
378
- chai_1.expect((_b = adminRole.users[0].articles[0].author.get()) === null || _b === void 0 ? void 0 : _b.name).to.be.equal(joe.name);
379
- chai_1.expect((_d = (_c = adminRole.users[0].profile.get()) === null || _c === void 0 ? void 0 : _c.user.get()) === null || _d === void 0 ? void 0 : _d.name).to.be.equal(joe.name);
380
- }
381
- };
382
- __decorate([
383
- mocha_1.test,
384
- __metadata("design:type", Function),
385
- __metadata("design:paramtypes", []),
386
- __metadata("design:returntype", Promise)
387
- ], EntityRelationshipsTest.prototype, "hydratesEntityWithRelationships", null);
388
- __decorate([
389
- mocha_1.test,
390
- __metadata("design:type", Function),
391
- __metadata("design:paramtypes", []),
392
- __metadata("design:returntype", Promise)
393
- ], EntityRelationshipsTest.prototype, "hasOneSave", null);
394
- __decorate([
395
- mocha_1.test,
396
- __metadata("design:type", Function),
397
- __metadata("design:paramtypes", []),
398
- __metadata("design:returntype", Promise)
399
- ], EntityRelationshipsTest.prototype, "hasOneLoad", null);
400
- __decorate([
401
- mocha_1.test,
402
- __metadata("design:type", Function),
403
- __metadata("design:paramtypes", []),
404
- __metadata("design:returntype", Promise)
405
- ], EntityRelationshipsTest.prototype, "hasOneEagerLoad", null);
406
- __decorate([
407
- mocha_1.test,
408
- __metadata("design:type", Function),
409
- __metadata("design:paramtypes", []),
410
- __metadata("design:returntype", Promise)
411
- ], EntityRelationshipsTest.prototype, "hasManySave", null);
412
- __decorate([
413
- mocha_1.test,
414
- __metadata("design:type", Function),
415
- __metadata("design:paramtypes", []),
416
- __metadata("design:returntype", Promise)
417
- ], EntityRelationshipsTest.prototype, "hasManySaveUsingPlainObject", null);
418
- __decorate([
419
- mocha_1.test,
420
- __metadata("design:type", Function),
421
- __metadata("design:paramtypes", []),
422
- __metadata("design:returntype", Promise)
423
- ], EntityRelationshipsTest.prototype, "hasManySaveUsingSaveOnUnsavedParent", null);
424
- __decorate([
425
- mocha_1.test,
426
- __metadata("design:type", Function),
427
- __metadata("design:paramtypes", []),
428
- __metadata("design:returntype", Promise)
429
- ], EntityRelationshipsTest.prototype, "hasManyLoad", null);
430
- __decorate([
431
- mocha_1.test,
432
- __metadata("design:type", Function),
433
- __metadata("design:paramtypes", []),
434
- __metadata("design:returntype", Promise)
435
- ], EntityRelationshipsTest.prototype, "hasManyGet", null);
436
- __decorate([
437
- mocha_1.test,
438
- __metadata("design:type", Function),
439
- __metadata("design:paramtypes", []),
440
- __metadata("design:returntype", Promise)
441
- ], EntityRelationshipsTest.prototype, "hasManyEagerLoad", null);
442
- __decorate([
443
- mocha_1.test,
444
- __metadata("design:type", Function),
445
- __metadata("design:paramtypes", []),
446
- __metadata("design:returntype", Promise)
447
- ], EntityRelationshipsTest.prototype, "hasManyQuery", null);
448
- __decorate([
449
- mocha_1.test,
450
- __metadata("design:type", Function),
451
- __metadata("design:paramtypes", []),
452
- __metadata("design:returntype", Promise)
453
- ], EntityRelationshipsTest.prototype, "belongsToSave", null);
454
- __decorate([
455
- mocha_1.test,
456
- __metadata("design:type", Function),
457
- __metadata("design:paramtypes", []),
458
- __metadata("design:returntype", Promise)
459
- ], EntityRelationshipsTest.prototype, "belongsToEagerLoad", null);
460
- __decorate([
461
- mocha_1.test,
462
- __metadata("design:type", Function),
463
- __metadata("design:paramtypes", []),
464
- __metadata("design:returntype", Promise)
465
- ], EntityRelationshipsTest.prototype, "belongsToEagerLoadWithCustomQuery", null);
466
- __decorate([
467
- mocha_1.test,
468
- __metadata("design:type", Function),
469
- __metadata("design:paramtypes", []),
470
- __metadata("design:returntype", Promise)
471
- ], EntityRelationshipsTest.prototype, "belongsToLoad", null);
472
- __decorate([
473
- mocha_1.test,
474
- __metadata("design:type", Function),
475
- __metadata("design:paramtypes", []),
476
- __metadata("design:returntype", Promise)
477
- ], EntityRelationshipsTest.prototype, "belongsToReLoad", null);
478
- __decorate([
479
- mocha_1.test,
480
- __metadata("design:type", Function),
481
- __metadata("design:paramtypes", []),
482
- __metadata("design:returntype", Promise)
483
- ], EntityRelationshipsTest.prototype, "belongsToManySave", null);
484
- __decorate([
485
- mocha_1.test,
486
- __metadata("design:type", Function),
487
- __metadata("design:paramtypes", []),
488
- __metadata("design:returntype", Promise)
489
- ], EntityRelationshipsTest.prototype, "belongsToManyEagerLoad", null);
490
- __decorate([
491
- mocha_1.test,
492
- __metadata("design:type", Function),
493
- __metadata("design:paramtypes", []),
494
- __metadata("design:returntype", Promise)
495
- ], EntityRelationshipsTest.prototype, "belongsToManyClearing", null);
496
- __decorate([
497
- mocha_1.test,
498
- __metadata("design:type", Function),
499
- __metadata("design:paramtypes", []),
500
- __metadata("design:returntype", Promise)
501
- ], EntityRelationshipsTest.prototype, "belongsToManyRemove", null);
502
- __decorate([
503
- mocha_1.test,
504
- __metadata("design:type", Function),
505
- __metadata("design:paramtypes", []),
506
- __metadata("design:returntype", Promise)
507
- ], EntityRelationshipsTest.prototype, "belongsToManySync", null);
508
- __decorate([
509
- mocha_1.test,
510
- __metadata("design:type", Function),
511
- __metadata("design:paramtypes", []),
512
- __metadata("design:returntype", Promise)
513
- ], EntityRelationshipsTest.prototype, "belongsToManySyncWithoutDetaching", null);
514
- __decorate([
515
- mocha_1.test,
516
- __metadata("design:type", Function),
517
- __metadata("design:paramtypes", []),
518
- __metadata("design:returntype", Promise)
519
- ], EntityRelationshipsTest.prototype, "belongsToManyToggle", null);
520
- __decorate([
521
- mocha_1.test,
522
- __metadata("design:type", Function),
523
- __metadata("design:paramtypes", []),
524
- __metadata("design:returntype", Promise)
525
- ], EntityRelationshipsTest.prototype, "belongsToManyLoad", null);
526
- __decorate([
527
- mocha_1.test,
528
- __metadata("design:type", Function),
529
- __metadata("design:paramtypes", []),
530
- __metadata("design:returntype", Promise)
531
- ], EntityRelationshipsTest.prototype, "belongsToManyQuery", null);
532
- __decorate([
533
- mocha_1.test,
534
- __metadata("design:type", Function),
535
- __metadata("design:paramtypes", []),
536
- __metadata("design:returntype", Promise)
537
- ], EntityRelationshipsTest.prototype, "belongsToManyHas", null);
538
- __decorate([
539
- mocha_1.test,
540
- __metadata("design:type", Function),
541
- __metadata("design:paramtypes", []),
542
- __metadata("design:returntype", Promise)
543
- ], EntityRelationshipsTest.prototype, "nestedEagerLoading", null);
544
- __decorate([
545
- mocha_1.test,
546
- __metadata("design:type", Function),
547
- __metadata("design:paramtypes", []),
548
- __metadata("design:returntype", Promise)
549
- ], EntityRelationshipsTest.prototype, "multipleNestedEagerLoading", null);
550
- EntityRelationshipsTest = __decorate([
551
- mocha_1.suite
552
- ], EntityRelationshipsTest);
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 mocha_1 = require("@testdeck/mocha");
13
+ const Database_1 = require("../../Database");
14
+ const User_1 = require("./Entities/User");
15
+ const Article_1 = require("./Entities/Article");
16
+ const Role_1 = require("./Entities/Role");
17
+ const Profile_1 = require("./Entities/Profile");
18
+ const chai_1 = require("chai");
19
+ const Fields_1 = require("../../Database/Fields");
20
+ let EntityRelationshipsTest = class EntityRelationshipsTest {
21
+ constructor() {
22
+ this.joe = {
23
+ name: 'Joe',
24
+ email: 'joe@example.com',
25
+ };
26
+ this.doe = {
27
+ name: 'Doe',
28
+ email: 'doe@example.com',
29
+ };
30
+ this.admin = {
31
+ name: 'Admin'
32
+ };
33
+ this.developer = {
34
+ name: 'Developer'
35
+ };
36
+ }
37
+ async before() {
38
+ Database_1.Query.connection = new Database_1.Connection(new Database_1.SqliteDriver(':memory:'));
39
+ // Query.connection = new Connection(new MysqlDriver({
40
+ // host: 'localhost', user: 'root', password: 'root', database: 'typetron_test'
41
+ // }))
42
+ await Database_1.Query.connection.driver.schema.synchronize([User_1.User, Profile_1.Profile, Article_1.Article, Role_1.Role].pluck('metadata'));
43
+ }
44
+ async after() {
45
+ for await (const entity of [User_1.User, Profile_1.Profile, Article_1.Article, Role_1.Role]) {
46
+ await entity.truncate();
47
+ }
48
+ await Database_1.Query.table('role_users').truncate();
49
+ }
50
+ async hydratesEntityWithRelationships() {
51
+ const user = new User_1.User();
52
+ chai_1.expect(user).to.haveOwnProperty('profile');
53
+ chai_1.expect(user.profile).to.be.instanceOf(Fields_1.HasOne);
54
+ chai_1.expect(user).to.haveOwnProperty('articles');
55
+ chai_1.expect(user.articles).to.be.instanceOf(Fields_1.HasMany);
56
+ chai_1.expect(user).to.haveOwnProperty('roles');
57
+ chai_1.expect(user.roles).to.be.instanceOf(Fields_1.BelongsToMany);
58
+ }
59
+ async hasOneSave() {
60
+ var _a, _b, _c;
61
+ const user = await User_1.User.create(this.joe);
62
+ const profile = new Profile_1.Profile().fill({
63
+ address: 'address'
64
+ });
65
+ await user.profile.save(profile);
66
+ chai_1.expect((_a = user.profile.get()) === null || _a === void 0 ? void 0 : _a.id).to.be.equal(profile.id);
67
+ chai_1.expect((_c = (_b = user.profile.get()) === null || _b === void 0 ? void 0 : _b.user.get()) === null || _c === void 0 ? void 0 : _c.id).to.be.equal(user.id);
68
+ chai_1.expect(await Profile_1.Profile.first()).to.be.instanceOf(Profile_1.Profile);
69
+ }
70
+ async hasOneLoad() {
71
+ var _a, _b, _c;
72
+ const user = await User_1.User.create(this.joe);
73
+ const profile = new Profile_1.Profile().fill({
74
+ address: 'address'
75
+ });
76
+ await user.profile.save(profile);
77
+ const sameUser = await User_1.User.findOrFail(user.id);
78
+ chai_1.expect(sameUser.profile).to.be.instanceOf(Fields_1.HasOne);
79
+ chai_1.expect(sameUser.profile.get()).to.be.equal(undefined);
80
+ await sameUser.load('profile');
81
+ chai_1.expect((_a = sameUser.profile.get()) === null || _a === void 0 ? void 0 : _a.id).to.be.equal((_b = user.profile.get()) === null || _b === void 0 ? void 0 : _b.id);
82
+ chai_1.expect((_c = sameUser.profile.get()) === null || _c === void 0 ? void 0 : _c.address).to.be.equal('address');
83
+ }
84
+ async hasOneEagerLoad() {
85
+ const user = await User_1.User.create(this.joe);
86
+ const profile = new Profile_1.Profile().fill({
87
+ address: 'address'
88
+ });
89
+ await user.profile.save(profile);
90
+ const sameUser = await User_1.User.with('profile').where('id', user.id).first();
91
+ chai_1.expect(sameUser.profile.get()).to.deep.include({
92
+ id: profile.id,
93
+ address: 'address'
94
+ });
95
+ }
96
+ async hasManySave() {
97
+ const user = await User_1.User.create(this.joe);
98
+ const article = new Article_1.Article().fill({
99
+ title: 'title',
100
+ content: 'content',
101
+ });
102
+ await user.articles.save(article);
103
+ chai_1.expect(user.articles).to.have.length(1);
104
+ chai_1.expect(user.articles[0]).to.deep.include({
105
+ id: article.id,
106
+ title: 'title',
107
+ content: 'content',
108
+ });
109
+ }
110
+ async hasManySaveUsingPlainObject() {
111
+ const user = await User_1.User.create(this.joe);
112
+ await user.articles.save({
113
+ title: 'title',
114
+ content: 'content',
115
+ });
116
+ chai_1.expect(user.articles).to.have.length(1);
117
+ chai_1.expect(user.articles[0]).to.deep.include({
118
+ title: 'title',
119
+ content: 'content',
120
+ });
121
+ }
122
+ async hasManySaveUsingSaveOnUnsavedParent() {
123
+ const user = new User_1.User().fill(this.joe);
124
+ await user.articles.save(new Article_1.Article().fill({
125
+ title: 'title',
126
+ content: 'content',
127
+ }));
128
+ chai_1.expect(user.articles).to.have.length(1);
129
+ chai_1.expect(user.articles[0]).to.deep.include({
130
+ title: 'title',
131
+ content: 'content',
132
+ });
133
+ }
134
+ async hasManyLoad() {
135
+ const user = await User_1.User.create(this.joe);
136
+ await Article_1.Article.create({
137
+ title: 'title',
138
+ content: 'content',
139
+ author: user
140
+ });
141
+ await user.load('articles');
142
+ chai_1.expect(user.articles).to.be.instanceOf(Fields_1.HasMany);
143
+ chai_1.expect(user.articles[0]).to.deep.include({
144
+ title: 'title',
145
+ content: 'content',
146
+ });
147
+ }
148
+ async hasManyGet() {
149
+ const user = await User_1.User.create(this.joe);
150
+ const article = new Article_1.Article().fill({
151
+ title: 'title',
152
+ content: 'content',
153
+ });
154
+ await user.articles.save(article);
155
+ await user.articles.load();
156
+ chai_1.expect(user.articles[0]).to.deep.include({
157
+ title: 'title',
158
+ content: 'content',
159
+ });
160
+ }
161
+ async hasManyEagerLoad() {
162
+ const user = new User_1.User().fill(this.joe);
163
+ const article = new Article_1.Article().fill({
164
+ title: 'title',
165
+ content: 'content',
166
+ });
167
+ await user.articles.save(article);
168
+ const sameUser = await User_1.User.with('articles').where('id', user.id).first();
169
+ chai_1.expect(sameUser.articles).to.have.length(1);
170
+ chai_1.expect(user.articles[0]).to.deep.include({
171
+ id: article.id,
172
+ title: 'title',
173
+ content: 'content',
174
+ });
175
+ }
176
+ async hasManyQuery() {
177
+ const user = await User_1.User.create(this.joe);
178
+ await user.articles.saveMany({
179
+ title: 'title',
180
+ content: `joe's content`,
181
+ }, {
182
+ title: 'other title',
183
+ content: 'other content',
184
+ });
185
+ const doe = await User_1.User.create(this.doe);
186
+ await doe.articles.save({
187
+ title: 'title',
188
+ content: `doe's content`,
189
+ });
190
+ const articles = await user.articles.where('title', 'title').get();
191
+ chai_1.expect(articles).to.have.length(1);
192
+ chai_1.expect(user.articles[0]).to.deep.include({
193
+ title: 'title',
194
+ content: `joe's content`,
195
+ });
196
+ }
197
+ async belongsToSave() {
198
+ const user = await User_1.User.create(this.joe);
199
+ const article = new Article_1.Article();
200
+ await user.articles.save(article);
201
+ chai_1.expect(user.articles).to.have.length(1);
202
+ chai_1.expect(user.articles[0].author).to.be.instanceof(Fields_1.BelongsTo);
203
+ }
204
+ async belongsToEagerLoad() {
205
+ const user = await User_1.User.create(this.joe);
206
+ const article = new Article_1.Article();
207
+ await user.articles.save(article);
208
+ const articles = await Article_1.Article.with('author').get();
209
+ chai_1.expect(articles).to.have.length(1);
210
+ chai_1.expect(articles[0].author).to.be.instanceof(Fields_1.BelongsTo);
211
+ }
212
+ async belongsToEagerLoadWithCustomQuery() {
213
+ const joe = await User_1.User.create(this.joe);
214
+ await joe.articles.save(Article_1.Article.new({ title: 'article1' }));
215
+ await joe.articles.save(Article_1.Article.new({ title: 'article2' }));
216
+ const user = await User_1.User.with(['articles', query => query.where('title', 'article1')]).first();
217
+ chai_1.expect(user.articles).to.have.length(1);
218
+ }
219
+ // @test
220
+ // async deepBelongsToEagerLoadWithCustomQuery() {
221
+ // const admin = await Role.create(this.admin)
222
+ //
223
+ // const joe = await User.create(this.joe)
224
+ // await joe.profile.save(new Profile({address: 'south address'}))
225
+ // const doe = await User.create(this.doe)
226
+ // await doe.profile.save(new Profile({address: 'east address'}))
227
+ //
228
+ // await admin.users.add(joe, doe)
229
+ //
230
+ // const role = await Role.with(['users.profile', query => query.whereLike('address', '%east%')]).first() as Role
231
+ //
232
+ // expect(role.users).to.have.length(1)
233
+ // expect(role.users[0].name).to.be.equal(doe.name)
234
+ // }
235
+ async belongsToLoad() {
236
+ const user = await User_1.User.create(this.joe);
237
+ let article = new Article_1.Article();
238
+ await user.articles.save(article);
239
+ article = await Article_1.Article.findOrFail(article.id);
240
+ const a = await Article_1.Article.get();
241
+ const u = await User_1.User.get();
242
+ await article.load('author');
243
+ chai_1.expect(article.author).to.be.instanceOf(Fields_1.BelongsTo);
244
+ chai_1.expect(article.author.get()).to.be.instanceOf(User_1.User);
245
+ }
246
+ async belongsToReLoad() {
247
+ var _a;
248
+ const user = await User_1.User.create(this.joe);
249
+ const article = new Article_1.Article();
250
+ await user.articles.save(article);
251
+ await article.load('author');
252
+ chai_1.expect(article.author).to.be.instanceOf(Fields_1.BelongsTo);
253
+ chai_1.expect(article.author.get()).to.be.instanceOf(User_1.User);
254
+ chai_1.expect((_a = article.author.get()) === null || _a === void 0 ? void 0 : _a.id).to.be.equal(user.id);
255
+ }
256
+ async belongsToManySave() {
257
+ const user = new User_1.User().fill(this.joe);
258
+ const admin = await Role_1.Role.create(this.admin);
259
+ const developer = await Role_1.Role.create(this.developer);
260
+ await user.roles.add(admin.id, developer.id);
261
+ chai_1.expect(user.roles).to.have.length(2);
262
+ chai_1.expect(user.roles[0].id).to.be.equal(admin.id);
263
+ chai_1.expect(user.roles[1].id).to.be.equal(developer.id);
264
+ }
265
+ async belongsToManyEagerLoad() {
266
+ const user = await User_1.User.create(this.joe);
267
+ const admin = await Role_1.Role.create(this.admin);
268
+ const developer = await Role_1.Role.create(this.developer);
269
+ await user.roles.add(admin.id, developer.id);
270
+ const sameUser = await User_1.User.with('roles').where('id', user.id).first();
271
+ chai_1.expect(sameUser.roles).to.have.length(2);
272
+ chai_1.expect(sameUser.roles[0]).to.deep.include({
273
+ id: admin.id,
274
+ name: admin.name
275
+ });
276
+ chai_1.expect(sameUser.roles[1]).to.deep.include({
277
+ id: developer.id,
278
+ name: developer.name
279
+ });
280
+ }
281
+ async belongsToManyClearing() {
282
+ const user = new User_1.User().fill(this.joe);
283
+ const admin = await Role_1.Role.create(this.admin);
284
+ const developer = await Role_1.Role.create(this.developer);
285
+ await user.roles.add(admin.id, developer.id);
286
+ chai_1.expect(user.roles).to.have.length(2);
287
+ await user.roles.clear();
288
+ chai_1.expect(user.roles).to.have.length(0);
289
+ }
290
+ async belongsToManyRemove() {
291
+ const user = new User_1.User().fill(this.joe);
292
+ const admin = await Role_1.Role.create(this.admin);
293
+ const developer = await Role_1.Role.create(this.developer);
294
+ await user.roles.add(admin.id, developer.id);
295
+ chai_1.expect(user.roles).to.have.length(2);
296
+ await user.roles.remove(admin.id);
297
+ chai_1.expect(user.roles).to.have.length(1);
298
+ }
299
+ async belongsToManySync() {
300
+ const user = new User_1.User().fill(this.joe);
301
+ const admin = await Role_1.Role.create(this.admin);
302
+ const developer = await Role_1.Role.create(this.developer);
303
+ const manager = await Role_1.Role.create({ name: 'Manager' });
304
+ await user.roles.add(admin.id, manager.id);
305
+ await user.roles.sync(admin.id, developer);
306
+ chai_1.expect(user.roles).to.have.length(2);
307
+ chai_1.expect(user.roles[0]).to.have.property('id', admin.id);
308
+ chai_1.expect(user.roles[1]).to.have.property('id', developer.id);
309
+ }
310
+ async belongsToManySyncWithoutDetaching() {
311
+ const user = new User_1.User().fill(this.joe);
312
+ const admin = await Role_1.Role.create(this.admin);
313
+ const developer = await Role_1.Role.create(this.developer);
314
+ const manager = await Role_1.Role.create({ name: 'manager' });
315
+ await user.roles.add(admin.id, manager.id);
316
+ await user.roles.syncWithoutDetaching(admin.id, developer);
317
+ chai_1.expect(user.roles).to.have.length(3);
318
+ chai_1.expect(user.roles[0]).to.have.property('id', admin.id);
319
+ chai_1.expect(user.roles[1]).to.have.property('id', manager.id);
320
+ chai_1.expect(user.roles[2]).to.have.property('id', developer.id);
321
+ }
322
+ async belongsToManyToggle() {
323
+ const user = new User_1.User().fill(this.joe);
324
+ const admin = await Role_1.Role.create(this.admin);
325
+ await user.roles.add(admin.id);
326
+ chai_1.expect(user.roles).to.have.length(1);
327
+ chai_1.expect(user.roles[0]).to.have.property('id', admin.id);
328
+ const developer = await Role_1.Role.create(this.developer);
329
+ await user.roles.toggle(admin.id, developer.id);
330
+ chai_1.expect(user.roles).to.have.length(1);
331
+ chai_1.expect(user.roles[0]).to.have.property('id', developer.id);
332
+ }
333
+ async belongsToManyLoad() {
334
+ const user = new User_1.User().fill(this.joe);
335
+ const admin = await Role_1.Role.create(this.admin);
336
+ await user.roles.add(admin.id);
337
+ const sameUser = await User_1.User.first();
338
+ await sameUser.load('roles');
339
+ chai_1.expect(sameUser.roles[0]).to.deep.include(this.admin);
340
+ }
341
+ async belongsToManyQuery() {
342
+ const user = new User_1.User().fill(this.joe);
343
+ const admin = await Role_1.Role.create(this.admin);
344
+ const developer = await Role_1.Role.create(this.developer);
345
+ await user.roles.add(admin.id, developer.id);
346
+ chai_1.expect(user.roles).to.have.length(2);
347
+ const roles = await user.roles.where('name', developer.name).get();
348
+ chai_1.expect(roles).to.have.length(1);
349
+ chai_1.expect(roles[0]).to.deep.include(this.developer);
350
+ }
351
+ async belongsToManyHas() {
352
+ const user = new User_1.User().fill(this.joe);
353
+ const admin = await Role_1.Role.create(this.admin);
354
+ const developer = await Role_1.Role.create(this.developer);
355
+ await user.roles.add(admin.id);
356
+ chai_1.expect(await user.roles.has(admin)).to.be.equal(true);
357
+ chai_1.expect(await user.roles.has(developer.id)).to.be.equal(false);
358
+ }
359
+ async nestedEagerLoading() {
360
+ var _a;
361
+ let user = await User_1.User.create(this.joe);
362
+ await user.articles.save(new Article_1.Article());
363
+ user = await User_1.User.find(user.id);
364
+ await user.load('articles.author');
365
+ chai_1.expect((_a = user.articles[0].author.get()) === null || _a === void 0 ? void 0 : _a.name).to.be.equal(user.name);
366
+ }
367
+ async multipleNestedEagerLoading() {
368
+ var _a, _b, _c, _d;
369
+ let adminRole = await Role_1.Role.create({ name: 'Admin' });
370
+ const joe = await User_1.User.create(this.joe);
371
+ await adminRole.users.add(joe);
372
+ await joe.articles.save(new Article_1.Article().fill({ title: 'title' }));
373
+ await joe.profile.save(new Profile_1.Profile().fill({ address: 'address' }));
374
+ adminRole = await Role_1.Role.find(adminRole.id);
375
+ await adminRole.load('users.articles.author', 'users.profile.user');
376
+ chai_1.expect(adminRole.users[0].articles[0].title).to.be.equal('title');
377
+ chai_1.expect((_a = adminRole.users[0].profile.get()) === null || _a === void 0 ? void 0 : _a.address).to.be.equal('address');
378
+ chai_1.expect((_b = adminRole.users[0].articles[0].author.get()) === null || _b === void 0 ? void 0 : _b.name).to.be.equal(joe.name);
379
+ chai_1.expect((_d = (_c = adminRole.users[0].profile.get()) === null || _c === void 0 ? void 0 : _c.user.get()) === null || _d === void 0 ? void 0 : _d.name).to.be.equal(joe.name);
380
+ }
381
+ };
382
+ __decorate([
383
+ mocha_1.test,
384
+ __metadata("design:type", Function),
385
+ __metadata("design:paramtypes", []),
386
+ __metadata("design:returntype", Promise)
387
+ ], EntityRelationshipsTest.prototype, "hydratesEntityWithRelationships", null);
388
+ __decorate([
389
+ mocha_1.test,
390
+ __metadata("design:type", Function),
391
+ __metadata("design:paramtypes", []),
392
+ __metadata("design:returntype", Promise)
393
+ ], EntityRelationshipsTest.prototype, "hasOneSave", null);
394
+ __decorate([
395
+ mocha_1.test,
396
+ __metadata("design:type", Function),
397
+ __metadata("design:paramtypes", []),
398
+ __metadata("design:returntype", Promise)
399
+ ], EntityRelationshipsTest.prototype, "hasOneLoad", null);
400
+ __decorate([
401
+ mocha_1.test,
402
+ __metadata("design:type", Function),
403
+ __metadata("design:paramtypes", []),
404
+ __metadata("design:returntype", Promise)
405
+ ], EntityRelationshipsTest.prototype, "hasOneEagerLoad", null);
406
+ __decorate([
407
+ mocha_1.test,
408
+ __metadata("design:type", Function),
409
+ __metadata("design:paramtypes", []),
410
+ __metadata("design:returntype", Promise)
411
+ ], EntityRelationshipsTest.prototype, "hasManySave", null);
412
+ __decorate([
413
+ mocha_1.test,
414
+ __metadata("design:type", Function),
415
+ __metadata("design:paramtypes", []),
416
+ __metadata("design:returntype", Promise)
417
+ ], EntityRelationshipsTest.prototype, "hasManySaveUsingPlainObject", null);
418
+ __decorate([
419
+ mocha_1.test,
420
+ __metadata("design:type", Function),
421
+ __metadata("design:paramtypes", []),
422
+ __metadata("design:returntype", Promise)
423
+ ], EntityRelationshipsTest.prototype, "hasManySaveUsingSaveOnUnsavedParent", null);
424
+ __decorate([
425
+ mocha_1.test,
426
+ __metadata("design:type", Function),
427
+ __metadata("design:paramtypes", []),
428
+ __metadata("design:returntype", Promise)
429
+ ], EntityRelationshipsTest.prototype, "hasManyLoad", null);
430
+ __decorate([
431
+ mocha_1.test,
432
+ __metadata("design:type", Function),
433
+ __metadata("design:paramtypes", []),
434
+ __metadata("design:returntype", Promise)
435
+ ], EntityRelationshipsTest.prototype, "hasManyGet", null);
436
+ __decorate([
437
+ mocha_1.test,
438
+ __metadata("design:type", Function),
439
+ __metadata("design:paramtypes", []),
440
+ __metadata("design:returntype", Promise)
441
+ ], EntityRelationshipsTest.prototype, "hasManyEagerLoad", null);
442
+ __decorate([
443
+ mocha_1.test,
444
+ __metadata("design:type", Function),
445
+ __metadata("design:paramtypes", []),
446
+ __metadata("design:returntype", Promise)
447
+ ], EntityRelationshipsTest.prototype, "hasManyQuery", null);
448
+ __decorate([
449
+ mocha_1.test,
450
+ __metadata("design:type", Function),
451
+ __metadata("design:paramtypes", []),
452
+ __metadata("design:returntype", Promise)
453
+ ], EntityRelationshipsTest.prototype, "belongsToSave", null);
454
+ __decorate([
455
+ mocha_1.test,
456
+ __metadata("design:type", Function),
457
+ __metadata("design:paramtypes", []),
458
+ __metadata("design:returntype", Promise)
459
+ ], EntityRelationshipsTest.prototype, "belongsToEagerLoad", null);
460
+ __decorate([
461
+ mocha_1.test,
462
+ __metadata("design:type", Function),
463
+ __metadata("design:paramtypes", []),
464
+ __metadata("design:returntype", Promise)
465
+ ], EntityRelationshipsTest.prototype, "belongsToEagerLoadWithCustomQuery", null);
466
+ __decorate([
467
+ mocha_1.test,
468
+ __metadata("design:type", Function),
469
+ __metadata("design:paramtypes", []),
470
+ __metadata("design:returntype", Promise)
471
+ ], EntityRelationshipsTest.prototype, "belongsToLoad", null);
472
+ __decorate([
473
+ mocha_1.test,
474
+ __metadata("design:type", Function),
475
+ __metadata("design:paramtypes", []),
476
+ __metadata("design:returntype", Promise)
477
+ ], EntityRelationshipsTest.prototype, "belongsToReLoad", null);
478
+ __decorate([
479
+ mocha_1.test,
480
+ __metadata("design:type", Function),
481
+ __metadata("design:paramtypes", []),
482
+ __metadata("design:returntype", Promise)
483
+ ], EntityRelationshipsTest.prototype, "belongsToManySave", null);
484
+ __decorate([
485
+ mocha_1.test,
486
+ __metadata("design:type", Function),
487
+ __metadata("design:paramtypes", []),
488
+ __metadata("design:returntype", Promise)
489
+ ], EntityRelationshipsTest.prototype, "belongsToManyEagerLoad", null);
490
+ __decorate([
491
+ mocha_1.test,
492
+ __metadata("design:type", Function),
493
+ __metadata("design:paramtypes", []),
494
+ __metadata("design:returntype", Promise)
495
+ ], EntityRelationshipsTest.prototype, "belongsToManyClearing", null);
496
+ __decorate([
497
+ mocha_1.test,
498
+ __metadata("design:type", Function),
499
+ __metadata("design:paramtypes", []),
500
+ __metadata("design:returntype", Promise)
501
+ ], EntityRelationshipsTest.prototype, "belongsToManyRemove", null);
502
+ __decorate([
503
+ mocha_1.test,
504
+ __metadata("design:type", Function),
505
+ __metadata("design:paramtypes", []),
506
+ __metadata("design:returntype", Promise)
507
+ ], EntityRelationshipsTest.prototype, "belongsToManySync", null);
508
+ __decorate([
509
+ mocha_1.test,
510
+ __metadata("design:type", Function),
511
+ __metadata("design:paramtypes", []),
512
+ __metadata("design:returntype", Promise)
513
+ ], EntityRelationshipsTest.prototype, "belongsToManySyncWithoutDetaching", null);
514
+ __decorate([
515
+ mocha_1.test,
516
+ __metadata("design:type", Function),
517
+ __metadata("design:paramtypes", []),
518
+ __metadata("design:returntype", Promise)
519
+ ], EntityRelationshipsTest.prototype, "belongsToManyToggle", null);
520
+ __decorate([
521
+ mocha_1.test,
522
+ __metadata("design:type", Function),
523
+ __metadata("design:paramtypes", []),
524
+ __metadata("design:returntype", Promise)
525
+ ], EntityRelationshipsTest.prototype, "belongsToManyLoad", null);
526
+ __decorate([
527
+ mocha_1.test,
528
+ __metadata("design:type", Function),
529
+ __metadata("design:paramtypes", []),
530
+ __metadata("design:returntype", Promise)
531
+ ], EntityRelationshipsTest.prototype, "belongsToManyQuery", null);
532
+ __decorate([
533
+ mocha_1.test,
534
+ __metadata("design:type", Function),
535
+ __metadata("design:paramtypes", []),
536
+ __metadata("design:returntype", Promise)
537
+ ], EntityRelationshipsTest.prototype, "belongsToManyHas", null);
538
+ __decorate([
539
+ mocha_1.test,
540
+ __metadata("design:type", Function),
541
+ __metadata("design:paramtypes", []),
542
+ __metadata("design:returntype", Promise)
543
+ ], EntityRelationshipsTest.prototype, "nestedEagerLoading", null);
544
+ __decorate([
545
+ mocha_1.test,
546
+ __metadata("design:type", Function),
547
+ __metadata("design:paramtypes", []),
548
+ __metadata("design:returntype", Promise)
549
+ ], EntityRelationshipsTest.prototype, "multipleNestedEagerLoading", null);
550
+ EntityRelationshipsTest = __decorate([
551
+ mocha_1.suite
552
+ ], EntityRelationshipsTest);
553
553
  //# sourceMappingURL=EntityRelationshipsTest.js.map