@typetron/framework 0.3.17 → 0.4.0-rc1

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 (509) 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/Stores/DatabaseStore.d.ts +16 -0
  6. package/Cache/Stores/DatabaseStore.d.ts.map +1 -0
  7. package/Cache/Stores/DatabaseStore.js +104 -0
  8. package/Cache/Stores/DatabaseStore.js.map +1 -0
  9. package/Cache/Stores/FileStore.d.ts +16 -0
  10. package/Cache/Stores/FileStore.d.ts.map +1 -0
  11. package/Cache/Stores/FileStore.js +63 -0
  12. package/Cache/Stores/FileStore.js.map +1 -0
  13. package/Cache/Stores/MemoryStore.d.ts +13 -0
  14. package/Cache/Stores/MemoryStore.d.ts.map +1 -0
  15. package/Cache/Stores/MemoryStore.js +60 -0
  16. package/Cache/Stores/MemoryStore.js.map +1 -0
  17. package/Cache/index.d.ts +6 -0
  18. package/Cache/index.d.ts.map +1 -0
  19. package/Cache/index.js +18 -0
  20. package/Cache/index.js.map +1 -0
  21. package/Cache/types.d.ts +5 -0
  22. package/Cache/types.d.ts.map +1 -0
  23. package/Cache/types.js +3 -0
  24. package/Cache/types.js.map +1 -0
  25. package/Container/ClassResolver.d.ts +8 -8
  26. package/Container/ClassResolver.d.ts.map +1 -1
  27. package/Container/ClassResolver.js +92 -87
  28. package/Container/ClassResolver.js.map +1 -1
  29. package/Container/Container.d.ts +24 -24
  30. package/Container/Container.d.ts.map +1 -1
  31. package/Container/Container.js +119 -118
  32. package/Container/Container.js.map +1 -1
  33. package/Container/Contracts.d.ts +2 -2
  34. package/Container/Contracts.js +2 -2
  35. package/Container/Decorators.d.ts +4 -4
  36. package/Container/Decorators.js +21 -21
  37. package/Container/Decorators.js.map +1 -1
  38. package/Container/Metadata.d.ts +20 -20
  39. package/Container/Metadata.js +18 -18
  40. package/Container/Resolver.d.ts +18 -18
  41. package/Container/Resolver.js +15 -15
  42. package/Container/index.d.ts +5 -5
  43. package/Container/index.js +17 -17
  44. package/Database/Clauses/Where.js +1 -1
  45. package/Database/Connection.d.ts +20 -20
  46. package/Database/Connection.js +42 -42
  47. package/Database/Decorators.d.ts +36 -36
  48. package/Database/Decorators.js +115 -116
  49. package/Database/Decorators.js.map +1 -1
  50. package/Database/Drivers/DatabaseDriver.d.ts +28 -28
  51. package/Database/Drivers/DatabaseDriver.js +6 -6
  52. package/Database/Drivers/MySQL/Alter/index.d.ts +33 -33
  53. package/Database/Drivers/MySQL/Alter/index.js +61 -61
  54. package/Database/Drivers/MySQL/ColumnDefinition.d.ts +6 -6
  55. package/Database/Drivers/MySQL/ColumnDefinition.js +17 -17
  56. package/Database/Drivers/MySQL/Create.d.ts +9 -9
  57. package/Database/Drivers/MySQL/Create.js +37 -37
  58. package/Database/Drivers/MySQL/MysqlDriver.d.ts +41 -41
  59. package/Database/Drivers/MySQL/MysqlDriver.js +75 -76
  60. package/Database/Drivers/MySQL/MysqlDriver.js.map +1 -1
  61. package/Database/Drivers/MySQL/Schema.d.ts +15 -15
  62. package/Database/Drivers/MySQL/Schema.js +66 -65
  63. package/Database/Drivers/MySQL/Schema.js.map +1 -1
  64. package/Database/Drivers/MySQL/index.d.ts +1 -1
  65. package/Database/Drivers/MySQL/index.js +15 -15
  66. package/Database/Drivers/SQL/Schema.d.ts +6 -6
  67. package/Database/Drivers/SQL/Schema.js +57 -57
  68. package/Database/Drivers/SQL/Statements/Alter.d.ts +7 -7
  69. package/Database/Drivers/SQL/Statements/Alter.js +17 -17
  70. package/Database/Drivers/SQL/Statements/BaseStatement.d.ts +12 -12
  71. package/Database/Drivers/SQL/Statements/BaseStatement.js +45 -46
  72. package/Database/Drivers/SQL/Statements/BaseStatement.js.map +1 -1
  73. package/Database/Drivers/SQL/Statements/Delete.d.ts +5 -5
  74. package/Database/Drivers/SQL/Statements/Delete.js +16 -16
  75. package/Database/Drivers/SQL/Statements/Insert.d.ts +6 -6
  76. package/Database/Drivers/SQL/Statements/Insert.js +22 -23
  77. package/Database/Drivers/SQL/Statements/Insert.js.map +1 -1
  78. package/Database/Drivers/SQL/Statements/Select.d.ts +7 -7
  79. package/Database/Drivers/SQL/Statements/Select.js +44 -44
  80. package/Database/Drivers/SQL/Statements/Update.d.ts +6 -6
  81. package/Database/Drivers/SQL/Statements/Update.js +27 -27
  82. package/Database/Drivers/SQL/index.d.ts +8 -8
  83. package/Database/Drivers/SQL/index.js +2 -2
  84. package/Database/Drivers/SQLite/Create.d.ts +9 -9
  85. package/Database/Drivers/SQLite/Create.js +36 -36
  86. package/Database/Drivers/SQLite/Schema.d.ts +15 -15
  87. package/Database/Drivers/SQLite/Schema.js +46 -44
  88. package/Database/Drivers/SQLite/Schema.js.map +1 -1
  89. package/Database/Drivers/SQLite/SqliteDriver.d.ts +42 -42
  90. package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -1
  91. package/Database/Drivers/SQLite/SqliteDriver.js +102 -102
  92. package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -1
  93. package/Database/Drivers/SQLite/index.d.ts +2 -2
  94. package/Database/Drivers/SQLite/index.js +26 -26
  95. package/Database/Drivers/SchemaContract.d.ts +8 -8
  96. package/Database/Drivers/SchemaContract.js +9 -9
  97. package/Database/Drivers/Statement.d.ts +9 -9
  98. package/Database/Drivers/Statement.js +15 -15
  99. package/Database/Drivers/index.d.ts +4 -4
  100. package/Database/Drivers/index.js +16 -16
  101. package/Database/Entity.d.ts +64 -64
  102. package/Database/Entity.d.ts.map +1 -1
  103. package/Database/Entity.js +251 -252
  104. package/Database/Entity.js.map +1 -1
  105. package/Database/EntityNotFoundError.d.ts +5 -5
  106. package/Database/EntityNotFoundError.js +10 -10
  107. package/Database/EntityProxyHandler.d.ts +5 -5
  108. package/Database/EntityProxyHandler.js +30 -30
  109. package/Database/EntityQuery.d.ts +28 -28
  110. package/Database/EntityQuery.js +156 -156
  111. package/Database/Expression.d.ts +3 -3
  112. package/Database/Expression.js +6 -6
  113. package/Database/Fields.d.ts +155 -155
  114. package/Database/Fields.js +544 -548
  115. package/Database/Fields.js.map +1 -1
  116. package/Database/Helpers.d.ts +1 -1
  117. package/Database/Helpers.js +16 -16
  118. package/Database/List.d.ts +24 -24
  119. package/Database/List.d.ts.map +1 -1
  120. package/Database/List.js +49 -49
  121. package/Database/List.js.map +1 -1
  122. package/Database/Migrations/Migration.d.ts +7 -7
  123. package/Database/Migrations/Migration.js +9 -9
  124. package/Database/Migrations/MigrationHistory.d.ts +8 -8
  125. package/Database/Migrations/MigrationHistory.js +38 -38
  126. package/Database/Migrations/Migrator.d.ts +20 -20
  127. package/Database/Migrations/Migrator.js +117 -118
  128. package/Database/Migrations/Migrator.js.map +1 -1
  129. package/Database/Migrations/index.d.ts +3 -3
  130. package/Database/Migrations/index.js +15 -15
  131. package/Database/ORM/BaseRelationship.d.ts +7 -7
  132. package/Database/ORM/BaseRelationship.js +10 -10
  133. package/Database/Query.d.ts +62 -62
  134. package/Database/Query.d.ts.map +1 -1
  135. package/Database/Query.js +265 -264
  136. package/Database/Query.js.map +1 -1
  137. package/Database/Seeders/Seeder.d.ts +3 -3
  138. package/Database/Seeders/Seeder.js +6 -6
  139. package/Database/Seeders/SeederManager.d.ts +8 -8
  140. package/Database/Seeders/SeederManager.js +24 -24
  141. package/Database/Seeders/index.d.ts +2 -2
  142. package/Database/Seeders/index.js +14 -14
  143. package/Database/StringExpression.d.ts +6 -6
  144. package/Database/StringExpression.js +14 -14
  145. package/Database/Types.d.ts +117 -117
  146. package/Database/Types.d.ts.map +1 -1
  147. package/Database/Types.js +94 -94
  148. package/Database/Types.js.map +1 -1
  149. package/Database/index.d.ts +20 -20
  150. package/Database/index.js +20 -20
  151. package/Encryption/index.d.ts +15 -15
  152. package/Encryption/index.js +53 -53
  153. package/Encryption/index.js.map +1 -1
  154. package/Forms/Decorators.d.ts +6 -6
  155. package/Forms/Decorators.js +28 -28
  156. package/Forms/Form.d.ts +17 -17
  157. package/Forms/Form.js +69 -69
  158. package/Forms/FormFields.d.ts +9 -9
  159. package/Forms/FormFields.js +35 -35
  160. package/Forms/index.d.ts +3 -3
  161. package/Forms/index.js +15 -15
  162. package/Framework/App.d.ts +6 -6
  163. package/Framework/App.js +9 -9
  164. package/Framework/Application.d.ts +17 -17
  165. package/Framework/Application.d.ts.map +1 -1
  166. package/Framework/Application.js +93 -93
  167. package/Framework/Application.js.map +1 -1
  168. package/Framework/Auth/Auth.d.ts +24 -24
  169. package/Framework/Auth/Auth.js +108 -108
  170. package/Framework/Auth/Authenticatable.d.ts +6 -6
  171. package/Framework/Auth/Authenticatable.js +2 -2
  172. package/Framework/Auth/User.d.ts +10 -10
  173. package/Framework/Auth/User.js +37 -37
  174. package/Framework/Auth/index.d.ts +5 -5
  175. package/Framework/Auth/index.d.ts.map +1 -1
  176. package/Framework/Auth/index.js +45 -45
  177. package/Framework/Auth/index.js.map +1 -1
  178. package/Framework/Config/AppConfig.d.ts +19 -18
  179. package/Framework/Config/AppConfig.d.ts.map +1 -1
  180. package/Framework/Config/AppConfig.js +12 -11
  181. package/Framework/Config/AppConfig.js.map +1 -1
  182. package/Framework/Config/AuthConfig.d.ts +8 -8
  183. package/Framework/Config/AuthConfig.js +7 -7
  184. package/Framework/Config/BaseConfig.d.ts +6 -6
  185. package/Framework/Config/BaseConfig.js +12 -12
  186. package/Framework/Config/CacheConfig.d.ts +16 -0
  187. package/Framework/Config/CacheConfig.d.ts.map +1 -0
  188. package/Framework/Config/CacheConfig.js +22 -0
  189. package/Framework/Config/CacheConfig.js.map +1 -0
  190. package/Framework/Config/DatabaseConfig.d.ts +10 -10
  191. package/Framework/Config/DatabaseConfig.js +24 -25
  192. package/Framework/Config/DatabaseConfig.js.map +1 -1
  193. package/Framework/Config/MailConfig.d.ts +19 -0
  194. package/Framework/Config/MailConfig.d.ts.map +1 -0
  195. package/Framework/Config/MailConfig.js +12 -0
  196. package/Framework/Config/MailConfig.js.map +1 -0
  197. package/Framework/Config/index.d.ts +6 -4
  198. package/Framework/Config/index.d.ts.map +1 -1
  199. package/Framework/Config/index.js +18 -16
  200. package/Framework/Config/index.js.map +1 -1
  201. package/Framework/Middleware/AuthMiddleware.d.ts +7 -7
  202. package/Framework/Middleware/AuthMiddleware.js +62 -63
  203. package/Framework/Middleware/AuthMiddleware.js.map +1 -1
  204. package/Framework/Middleware/CorsMiddleware.d.ts +6 -6
  205. package/Framework/Middleware/CorsMiddleware.d.ts.map +1 -1
  206. package/Framework/Middleware/CorsMiddleware.js +44 -43
  207. package/Framework/Middleware/CorsMiddleware.js.map +1 -1
  208. package/Framework/Middleware/StaticAssetsMiddleware.d.ts +14 -14
  209. package/Framework/Middleware/StaticAssetsMiddleware.js +103 -104
  210. package/Framework/Middleware/StaticAssetsMiddleware.js.map +1 -1
  211. package/Framework/Middleware/index.d.ts +2 -2
  212. package/Framework/Middleware/index.js +14 -14
  213. package/Framework/Provider.d.ts +5 -5
  214. package/Framework/Provider.js +20 -20
  215. package/Framework/Providers/CacheProvider.d.ts +7 -0
  216. package/Framework/Providers/CacheProvider.d.ts.map +1 -0
  217. package/Framework/Providers/CacheProvider.js +39 -0
  218. package/Framework/Providers/CacheProvider.js.map +1 -0
  219. package/Framework/Providers/DatabaseProvider.d.ts +9 -9
  220. package/Framework/Providers/DatabaseProvider.js +63 -63
  221. package/Framework/Providers/MailProvider.d.ts +7 -0
  222. package/Framework/Providers/MailProvider.d.ts.map +1 -0
  223. package/Framework/Providers/MailProvider.js +40 -0
  224. package/Framework/Providers/MailProvider.js.map +1 -0
  225. package/Framework/Providers/WebsocketsProvider.d.ts +12 -12
  226. package/Framework/Providers/WebsocketsProvider.d.ts.map +1 -1
  227. package/Framework/Providers/WebsocketsProvider.js +118 -122
  228. package/Framework/Providers/WebsocketsProvider.js.map +1 -1
  229. package/Framework/Resolvers/AuthResolver.d.ts +5 -5
  230. package/Framework/Resolvers/AuthResolver.js +14 -14
  231. package/Framework/Resolvers/EntityResolver.d.ts +9 -9
  232. package/Framework/Resolvers/EntityResolver.js +39 -40
  233. package/Framework/Resolvers/EntityResolver.js.map +1 -1
  234. package/Framework/Resolvers/FormResolver.d.ts +9 -9
  235. package/Framework/Resolvers/FormResolver.js +32 -32
  236. package/Framework/RootDir.d.ts +2 -2
  237. package/Framework/RootDir.js +6 -6
  238. package/Framework/index.d.ts +8 -6
  239. package/Framework/index.d.ts.map +1 -1
  240. package/Framework/index.js +20 -18
  241. package/Framework/index.js.map +1 -1
  242. package/Frontend/Angular/index.d.ts +8 -0
  243. package/Frontend/Angular/index.d.ts.map +1 -0
  244. package/Frontend/Angular/index.js +20 -0
  245. package/Frontend/Angular/index.js.map +1 -0
  246. package/Frontend/Websockets/index.js +76 -0
  247. package/Frontend/Websockets/index.js.map +1 -0
  248. package/LICENSE.md +20 -20
  249. package/Mail/MailAddress.d.ts +5 -0
  250. package/Mail/MailAddress.d.ts.map +1 -0
  251. package/Mail/MailAddress.js +3 -0
  252. package/Mail/MailAddress.js.map +1 -0
  253. package/Mail/MailTransport.d.ts +6 -0
  254. package/Mail/MailTransport.d.ts.map +1 -0
  255. package/Mail/MailTransport.js +7 -0
  256. package/Mail/MailTransport.js.map +1 -0
  257. package/Mail/Mailable.d.ts +18 -0
  258. package/Mail/Mailable.d.ts.map +1 -0
  259. package/Mail/Mailable.js +10 -0
  260. package/Mail/Mailable.js.map +1 -0
  261. package/Mail/Mailer.d.ts +12 -0
  262. package/Mail/Mailer.d.ts.map +1 -0
  263. package/Mail/Mailer.js +25 -0
  264. package/Mail/Mailer.js.map +1 -0
  265. package/Mail/PendingMail.d.ts +30 -0
  266. package/Mail/PendingMail.d.ts.map +1 -0
  267. package/Mail/PendingMail.js +53 -0
  268. package/Mail/PendingMail.js.map +1 -0
  269. package/Mail/SentMessage.d.ts +16 -0
  270. package/Mail/SentMessage.d.ts.map +1 -0
  271. package/Mail/SentMessage.js +13 -0
  272. package/Mail/SentMessage.js.map +1 -0
  273. package/Mail/Transports/MemoryTransport.d.ts +8 -0
  274. package/Mail/Transports/MemoryTransport.d.ts.map +1 -0
  275. package/Mail/Transports/MemoryTransport.js +18 -0
  276. package/Mail/Transports/MemoryTransport.js.map +1 -0
  277. package/Mail/Transports/SendGridTransport.d.ts +11 -0
  278. package/Mail/Transports/SendGridTransport.d.ts.map +1 -0
  279. package/Mail/Transports/SendGridTransport.js +59 -0
  280. package/Mail/Transports/SendGridTransport.js.map +1 -0
  281. package/Mail/index.d.ts +4 -0
  282. package/Mail/index.d.ts.map +1 -0
  283. package/Mail/index.js +16 -0
  284. package/Mail/index.js.map +1 -0
  285. package/Models/Model.d.ts +9 -9
  286. package/Models/Model.js +35 -35
  287. package/Models/Model.js.map +1 -1
  288. package/Models/index.d.ts +21 -21
  289. package/Models/index.d.ts.map +1 -1
  290. package/Models/index.js +58 -58
  291. package/Models/index.js.map +1 -1
  292. package/Router/BaseController.d.ts +4 -4
  293. package/Router/BaseController.js +20 -20
  294. package/Router/Decorators.d.ts +21 -21
  295. package/Router/Decorators.js +170 -170
  296. package/Router/Guard.d.ts +4 -4
  297. package/Router/Guard.js +10 -10
  298. package/Router/Http/Contracts.d.ts +3 -3
  299. package/Router/Http/Contracts.js +2 -2
  300. package/Router/Http/ErrorHandler.d.ts +9 -9
  301. package/Router/Http/ErrorHandler.js +51 -51
  302. package/Router/Http/ErrorHandlerInterface.d.ts +5 -5
  303. package/Router/Http/ErrorHandlerInterface.js +6 -6
  304. package/Router/Http/Errors/HttpError.d.ts +7 -7
  305. package/Router/Http/Errors/HttpError.js +15 -15
  306. package/Router/Http/Handler.d.ts +15 -15
  307. package/Router/Http/Handler.d.ts.map +1 -1
  308. package/Router/Http/Handler.js +131 -131
  309. package/Router/Http/Handler.js.map +1 -1
  310. package/Router/Http/Request.d.ts +27 -22
  311. package/Router/Http/Request.d.ts.map +1 -1
  312. package/Router/Http/Request.js +185 -151
  313. package/Router/Http/Request.js.map +1 -1
  314. package/Router/Http/Response.d.ts +18 -17
  315. package/Router/Http/Response.d.ts.map +1 -1
  316. package/Router/Http/Response.js +42 -51
  317. package/Router/Http/Response.js.map +1 -1
  318. package/Router/Http/index.d.ts +83 -83
  319. package/Router/Http/index.js +99 -99
  320. package/Router/Metadata.d.ts +31 -31
  321. package/Router/Metadata.js +25 -25
  322. package/Router/Middleware.d.ts +5 -5
  323. package/Router/Middleware.js +2 -2
  324. package/Router/Route.d.ts +23 -23
  325. package/Router/Route.js +110 -110
  326. package/Router/RouteNotFoundError.d.ts +3 -3
  327. package/Router/RouteNotFoundError.js +9 -9
  328. package/Router/Router.d.ts +12 -12
  329. package/Router/Router.js +32 -32
  330. package/Router/Servers/index.d.ts +5 -0
  331. package/Router/Servers/index.d.ts.map +1 -0
  332. package/Router/Servers/index.js +15 -0
  333. package/Router/Servers/index.js.map +1 -0
  334. package/Router/Servers/node.d.ts +3 -0
  335. package/Router/Servers/node.d.ts.map +1 -0
  336. package/Router/Servers/node.js +15 -0
  337. package/Router/Servers/node.js.map +1 -0
  338. package/Router/Servers/uNetworking.d.ts +3 -0
  339. package/Router/Servers/uNetworking.d.ts.map +1 -0
  340. package/Router/Servers/uNetworking.js +33 -0
  341. package/Router/Servers/uNetworking.js.map +1 -0
  342. package/Router/Websockets/Handler.d.ts +12 -12
  343. package/Router/Websockets/Handler.d.ts.map +1 -1
  344. package/Router/Websockets/Handler.js +59 -59
  345. package/Router/Websockets/Handler.js.map +1 -1
  346. package/Router/Websockets/WebsocketEvent.d.ts +15 -15
  347. package/Router/Websockets/WebsocketEvent.js +52 -53
  348. package/Router/Websockets/WebsocketEvent.js.map +1 -1
  349. package/Router/Websockets/index.d.ts +16 -16
  350. package/Router/Websockets/index.d.ts.map +1 -1
  351. package/Router/Websockets/index.js +57 -57
  352. package/Router/Websockets/index.js.map +1 -1
  353. package/Router/Websockets/types.d.ts +20 -20
  354. package/Router/Websockets/types.d.ts.map +1 -1
  355. package/Router/Websockets/types.js +8 -8
  356. package/Router/index.d.ts +6 -6
  357. package/Router/index.js +18 -18
  358. package/Router/micro.d.ts +3 -0
  359. package/Router/micro.d.ts.map +1 -0
  360. package/Router/micro.js +44 -0
  361. package/Router/micro.js.map +1 -0
  362. package/Storage/File.d.ts +11 -11
  363. package/Storage/File.js +46 -46
  364. package/Storage/Image.d.ts +3 -3
  365. package/Storage/Image.js +7 -7
  366. package/Storage/InvalidImage.d.ts +3 -3
  367. package/Storage/InvalidImage.js +7 -7
  368. package/Storage/Storage.d.ts +13 -12
  369. package/Storage/Storage.d.ts.map +1 -1
  370. package/Storage/Storage.js +104 -110
  371. package/Storage/Storage.js.map +1 -1
  372. package/Storage/index.d.ts +4 -4
  373. package/Storage/index.js +16 -16
  374. package/Storage/utils.d.ts +5 -5
  375. package/Storage/utils.js +20 -20
  376. package/Support/Array.d.ts +28 -28
  377. package/Support/Array.d.ts.map +1 -1
  378. package/Support/Array.js +111 -108
  379. package/Support/Array.js.map +1 -1
  380. package/Support/Math.d.ts +6 -6
  381. package/Support/Math.js +7 -7
  382. package/Support/Metadata.d.ts +15 -14
  383. package/Support/Metadata.d.ts.map +1 -1
  384. package/Support/Metadata.js +31 -20
  385. package/Support/Metadata.js.map +1 -1
  386. package/Support/String.d.ts +11 -11
  387. package/Support/String.js +23 -23
  388. package/Support/index.d.ts +14 -13
  389. package/Support/index.d.ts.map +1 -1
  390. package/Support/index.js +6 -5
  391. package/Support/index.js.map +1 -1
  392. package/Support/utils.d.ts +2 -0
  393. package/Support/utils.d.ts.map +1 -0
  394. package/Support/utils.js +13 -0
  395. package/Support/utils.js.map +1 -0
  396. package/Testing/TestCase.d.ts +32 -32
  397. package/Testing/TestCase.js +129 -130
  398. package/Testing/TestCase.js.map +1 -1
  399. package/Validation/Rule.d.ts +6 -6
  400. package/Validation/Rule.js +6 -6
  401. package/Validation/RuleInterface.d.ts +6 -6
  402. package/Validation/RuleInterface.js +2 -2
  403. package/Validation/Rules/Email.d.ts +3 -3
  404. package/Validation/Rules/Email.js +20 -20
  405. package/Validation/Rules/Email.js.map +1 -1
  406. package/Validation/Rules/FileExtension.d.ts +3 -3
  407. package/Validation/Rules/FileExtension.js +22 -22
  408. package/Validation/Rules/FileExtension.js.map +1 -1
  409. package/Validation/Rules/MaxLength.d.ts +3 -3
  410. package/Validation/Rules/MaxLength.js +19 -19
  411. package/Validation/Rules/MaxLength.js.map +1 -1
  412. package/Validation/Rules/MinLength.d.ts +3 -3
  413. package/Validation/Rules/MinLength.js +19 -19
  414. package/Validation/Rules/MinLength.js.map +1 -1
  415. package/Validation/Rules/Optional.d.ts +3 -3
  416. package/Validation/Rules/Optional.js +19 -19
  417. package/Validation/Rules/Required.d.ts +3 -3
  418. package/Validation/Rules/Required.js +26 -26
  419. package/Validation/Rules/Required.js.map +1 -1
  420. package/Validation/Validator.d.ts +11 -11
  421. package/Validation/Validator.js +10 -10
  422. package/Validation/index.d.ts +9 -9
  423. package/Validation/index.js +21 -21
  424. package/benchmark-index.js.map +1 -0
  425. package/benchmark.js.map +1 -0
  426. package/index.d.ts +2 -0
  427. package/index.d.ts.map +1 -0
  428. package/index.js +41 -0
  429. package/index.js.map +1 -0
  430. package/package.json +70 -64
  431. package/test.js.map +1 -0
  432. package/tests/Cache/DatabaseStoreTest.d.ts +2 -0
  433. package/tests/Cache/DatabaseStoreTest.d.ts.map +1 -0
  434. package/tests/Cache/DatabaseStoreTest.js +137 -0
  435. package/tests/Cache/DatabaseStoreTest.js.map +1 -0
  436. package/tests/Cache/FileStoreTest.d.ts +2 -0
  437. package/tests/Cache/FileStoreTest.d.ts.map +1 -0
  438. package/tests/Cache/FileStoreTest.js +142 -0
  439. package/tests/Cache/FileStoreTest.js.map +1 -0
  440. package/tests/Cache/MemoryStoreTest.d.ts +2 -0
  441. package/tests/Cache/MemoryStoreTest.d.ts.map +1 -0
  442. package/tests/Cache/MemoryStoreTest.js +141 -0
  443. package/tests/Cache/MemoryStoreTest.js.map +1 -0
  444. package/tests/Container/ContainerTest.d.ts +1 -1
  445. package/tests/Container/ContainerTest.js +395 -395
  446. package/tests/Database/Drivers/MySQL/AlterTest.d.ts +1 -1
  447. package/tests/Database/Drivers/MySQL/AlterTest.js +135 -135
  448. package/tests/Database/Drivers/MySQL/CreateTest.d.ts +1 -1
  449. package/tests/Database/Drivers/MySQL/CreateTest.js +57 -57
  450. package/tests/Database/Drivers/MysqlDriverTest.d.ts +1 -1
  451. package/tests/Database/Drivers/MysqlDriverTest.js +149 -149
  452. package/tests/Database/Drivers/SqliteDriverTest.d.ts +1 -1
  453. package/tests/Database/Drivers/SqliteDriverTest.js +135 -135
  454. package/tests/Database/Entities/Article.d.ts +10 -10
  455. package/tests/Database/Entities/Article.js +42 -42
  456. package/tests/Database/Entities/Profile.d.ts +10 -10
  457. package/tests/Database/Entities/Profile.js +38 -38
  458. package/tests/Database/Entities/Role.d.ts +8 -8
  459. package/tests/Database/Entities/Role.js +30 -30
  460. package/tests/Database/Entities/User.d.ts +15 -15
  461. package/tests/Database/Entities/User.js +57 -57
  462. package/tests/Database/EntityRelationshipsTest.d.ts +1 -1
  463. package/tests/Database/EntityRelationshipsTest.js +547 -552
  464. package/tests/Database/EntityRelationshipsTest.js.map +1 -1
  465. package/tests/Database/EntityTest.d.ts +1 -1
  466. package/tests/Database/EntityTest.js +233 -233
  467. package/tests/Database/Migrations/RunnerTest.d.ts +1 -1
  468. package/tests/Database/Migrations/RunnerTest.js +111 -111
  469. package/tests/Database/Migrations/migrations/1.createUserTable.d.ts +5 -5
  470. package/tests/Database/Migrations/migrations/1.createUserTable.js +13 -13
  471. package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts +5 -5
  472. package/tests/Database/Migrations/migrations/2.createArticlesTable.js +13 -13
  473. package/tests/Database/QueryTest.d.ts +1 -1
  474. package/tests/Database/QueryTest.js +622 -622
  475. package/tests/Database/SchemaTest.d.ts +1 -1
  476. package/tests/Database/SchemaTest.js +45 -45
  477. package/tests/Database/Seeders/RunnerTest.d.ts +1 -1
  478. package/tests/Database/Seeders/RunnerTest.js +43 -43
  479. package/tests/Database/Seeders/RunnerTest.js.map +1 -1
  480. package/tests/Database/Seeders/seeders/RandomSeeder.d.ts +4 -4
  481. package/tests/Database/Seeders/seeders/RandomSeeder.js +13 -13
  482. package/tests/Database/utils.d.ts +5 -5
  483. package/tests/Database/utils.js +18 -18
  484. package/tests/Forms/FormsTest.d.ts +1 -1
  485. package/tests/Forms/FormsTest.js +79 -79
  486. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts +1 -1
  487. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js +165 -165
  488. package/tests/Framework/Resolvers/EntityResolverTest.d.ts +1 -1
  489. package/tests/Framework/Resolvers/EntityResolverTest.js +59 -59
  490. package/tests/Mail/MailerTest.d.ts +2 -0
  491. package/tests/Mail/MailerTest.d.ts.map +1 -0
  492. package/tests/Mail/MailerTest.js +98 -0
  493. package/tests/Mail/MailerTest.js.map +1 -0
  494. package/tests/Model/ModelTest.d.ts +1 -1
  495. package/tests/Model/ModelTest.js +233 -233
  496. package/tests/Router/HttpHandlerTest.d.ts +1 -1
  497. package/tests/Router/HttpHandlerTest.js +36 -36
  498. package/tests/Router/WebSocketsHandlerTest.d.ts +1 -1
  499. package/tests/Router/WebSocketsHandlerTest.js +35 -35
  500. package/tests/Support/ArrayTest.d.ts +1 -1
  501. package/tests/Support/ArrayTest.js +258 -258
  502. package/tests/Support/StringTest.d.ts +1 -1
  503. package/tests/Support/StringTest.js +38 -38
  504. package/tests/Validation/RulesTest.d.ts +1 -1
  505. package/tests/Validation/RulesTest.js +67 -67
  506. package/Database/Drivers/SQL/Statements/Create.d.ts +0 -7
  507. package/Database/Drivers/SQL/Statements/Create.d.ts.map +0 -1
  508. package/Database/Drivers/SQL/Statements/Create.js +0 -22
  509. package/Database/Drivers/SQL/Statements/Create.js.map +0 -1
@@ -1,31 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityProxyHandler = void 0;
4
- const EntityQuery_1 = require("./EntityQuery");
5
- class EntityProxyHandler {
6
- set(target, property, value) {
7
- target[property] = value;
8
- return true;
9
- }
10
- get(target, property) {
11
- if (!(property in target)) {
12
- const targetConstructor = target.constructor;
13
- const query = new EntityQuery_1.EntityQuery(targetConstructor);
14
- const queryProperty = query[property];
15
- if (typeof queryProperty === 'function') {
16
- // @ts-ignore
17
- query.table(target.constructor.getTable());
18
- return (...args) => {
19
- return queryProperty.apply(query, args);
20
- };
21
- }
22
- }
23
- return target[property];
24
- // if (typeof value === 'function') {
25
- // return value.bind(target);
26
- // }
27
- // return value;
28
- }
29
- }
30
- exports.EntityProxyHandler = EntityProxyHandler;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityProxyHandler = void 0;
4
+ const EntityQuery_1 = require("./EntityQuery");
5
+ class EntityProxyHandler {
6
+ set(target, property, value) {
7
+ target[property] = value;
8
+ return true;
9
+ }
10
+ get(target, property) {
11
+ if (!(property in target)) {
12
+ const targetConstructor = target.constructor;
13
+ const query = new EntityQuery_1.EntityQuery(targetConstructor);
14
+ const queryProperty = query[property];
15
+ if (typeof queryProperty === 'function') {
16
+ // @ts-ignore
17
+ query.table(target.constructor.getTable());
18
+ return (...args) => {
19
+ return queryProperty.apply(query, args);
20
+ };
21
+ }
22
+ }
23
+ return target[property];
24
+ // if (typeof value === 'function') {
25
+ // return value.bind(target);
26
+ // }
27
+ // return value;
28
+ }
29
+ }
30
+ exports.EntityProxyHandler = EntityProxyHandler;
31
31
  //# sourceMappingURL=EntityProxyHandler.js.map
@@ -1,29 +1,29 @@
1
- import { Query } from './Query';
2
- import { Entity } from './Entity';
3
- import { DotNotationProperties, EntityConstructor, EntityObject, StringExpression } from './index';
4
- import { KeysOfType } from '@Typetron/Support';
5
- import { BelongsTo, BelongsToMany, HasMany, HasOne } from './Fields';
6
- import { List } from './List';
7
- import { RelationsTreeQuery } from './Types';
8
- export declare class EntityQuery<T extends Entity> extends Query<T> {
9
- entity: EntityConstructor<T>;
10
- eagerLoad: (string | [string, RelationsTreeQuery])[];
11
- eagerLoadCount: (string | [string, RelationsTreeQuery])[];
12
- constructor(entity: EntityConstructor<T>);
13
- get<K extends keyof T>(...columns: (K | string | StringExpression)[]): Promise<T[]>;
14
- eagerLoadRelationships(entities: T[]): Promise<T[]>;
15
- eagerLoadRelationshipsCounts(entities: T[]): Promise<T[]>;
16
- first<K extends keyof T>(...columns: (K | string | StringExpression)[]): Promise<T | undefined>;
17
- firstOrNew<K extends keyof T>(properties: Partial<EntityObject<T> | Record<string, any>>, values?: Partial<EntityObject<T>>): Promise<T>;
18
- with(...relations: (KeysOfType<T, BelongsTo<any> | HasOne<any> | HasMany<any> | BelongsToMany<any>> | DotNotationProperties<this> | [
19
- KeysOfType<T, BelongsTo<any> | HasOne<any> | HasMany<any> | BelongsToMany<any>> | DotNotationProperties<this>,
20
- RelationsTreeQuery
21
- ])[]): this;
22
- withCount<K extends KeysOfType<T, List<Entity>>>(...relations: (KeysOfType<T, BelongsTo<any> | HasOne<any> | HasMany<any> | BelongsToMany<any>> | DotNotationProperties<this> | [
23
- KeysOfType<T, BelongsTo<any> | HasOne<any> | HasMany<any> | BelongsToMany<any>> | DotNotationProperties<this>,
24
- RelationsTreeQuery
25
- ])[]): this;
26
- private tree;
27
- private treeBack;
28
- }
1
+ import { Query } from './Query';
2
+ import { Entity } from './Entity';
3
+ import { DotNotationProperties, EntityConstructor, EntityObject, StringExpression } from './index';
4
+ import { KeysOfType } from '@Typetron/Support';
5
+ import { BelongsTo, BelongsToMany, HasMany, HasOne } from './Fields';
6
+ import { List } from './List';
7
+ import { RelationsTreeQuery } from './Types';
8
+ export declare class EntityQuery<T extends Entity> extends Query<T> {
9
+ entity: EntityConstructor<T>;
10
+ eagerLoad: (string | [string, RelationsTreeQuery])[];
11
+ eagerLoadCount: (string | [string, RelationsTreeQuery])[];
12
+ constructor(entity: EntityConstructor<T>);
13
+ get<K extends keyof T>(...columns: (K | string | StringExpression)[]): Promise<T[]>;
14
+ eagerLoadRelationships(entities: T[]): Promise<T[]>;
15
+ eagerLoadRelationshipsCounts(entities: T[]): Promise<T[]>;
16
+ first<K extends keyof T>(...columns: (K | string | StringExpression)[]): Promise<T | undefined>;
17
+ firstOrNew<K extends keyof T>(properties: Partial<EntityObject<T> | Record<string, any>>, values?: Partial<EntityObject<T>>): Promise<T>;
18
+ with(...relations: (KeysOfType<T, BelongsTo<any> | HasOne<any> | HasMany<any> | BelongsToMany<any>> | DotNotationProperties<this> | [
19
+ KeysOfType<T, BelongsTo<any> | HasOne<any> | HasMany<any> | BelongsToMany<any>> | DotNotationProperties<this>,
20
+ RelationsTreeQuery
21
+ ])[]): this;
22
+ withCount<K extends KeysOfType<T, List<Entity>>>(...relations: (KeysOfType<T, BelongsTo<any> | HasOne<any> | HasMany<any> | BelongsToMany<any>> | DotNotationProperties<this> | [
23
+ KeysOfType<T, BelongsTo<any> | HasOne<any> | HasMany<any> | BelongsToMany<any>> | DotNotationProperties<this>,
24
+ RelationsTreeQuery
25
+ ])[]): this;
26
+ private tree;
27
+ private treeBack;
28
+ }
29
29
  //# sourceMappingURL=EntityQuery.d.ts.map
@@ -1,157 +1,157 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityQuery = void 0;
4
- const Query_1 = require("./Query");
5
- const Entity_1 = require("./Entity");
6
- class EntityQuery extends Query_1.Query {
7
- constructor(entity) {
8
- super();
9
- this.entity = entity;
10
- // tslint:disable-next-line:no-any
11
- this.eagerLoad = [];
12
- // tslint:disable-next-line:no-any
13
- this.eagerLoadCount = [];
14
- }
15
- async get(...columns) {
16
- let entities = await super.get(...columns);
17
- entities = this.entity.hydrate(this.entity, entities, true);
18
- entities = await this.eagerLoadRelationships(entities);
19
- return await this.eagerLoadRelationshipsCounts(entities);
20
- }
21
- async eagerLoadRelationships(entities) {
22
- const relationsTree = this.tree(this.eagerLoad);
23
- await Object.keys(relationsTree).forEachAsync(async (relationName) => {
24
- const relationValue = relationsTree[relationName];
25
- const relation = this.entity.metadata.allRelationships[relationName];
26
- if (!relation) {
27
- throw new Error(`Relation '${relationName}' doesn't not exist on entity '${this.entity.name}'`);
28
- }
29
- // tslint:disable-next-line:no-any
30
- let fieldQueryFunction;
31
- let otherRelations = [];
32
- if (relationValue instanceof Function) {
33
- fieldQueryFunction = relationValue;
34
- }
35
- else {
36
- otherRelations = this.treeBack(relationValue);
37
- }
38
- const results = await relation.getRelatedValue(entities, otherRelations, fieldQueryFunction);
39
- if (results.length) {
40
- entities = relation.match(entities, results);
41
- }
42
- });
43
- // await this.eagerLoad.forEachAsync(async (field) => {
44
- // // tslint:disable-next-line:no-any
45
- // let fieldName: string, fieldQueryFunction: undefined | RelationsTreeQuery
46
- // if (field instanceof Array) {
47
- // fieldName = field[0]
48
- // fieldQueryFunction = field[1]
49
- // } else {
50
- // fieldName = field
51
- // }
52
- // const [first, ...rest] = fieldName.split('.')
53
- // const relation = this.entity.metadata.allRelationships[first]
54
- // const results = await relation.getRelatedValue(entities, [rest.join('.')], fieldQueryFunction as (query: Query) => void)
55
- // if (results.length) {
56
- // entities = relation.match(entities, results) as T[]
57
- // }
58
- // })
59
- return entities;
60
- }
61
- async eagerLoadRelationshipsCounts(entities) {
62
- await this.eagerLoadCount.forEachAsync(async (field) => {
63
- // tslint:disable-next-line:no-any
64
- let fieldName, fieldQueryFunction;
65
- if (field instanceof Array) {
66
- fieldName = field[0];
67
- fieldQueryFunction = field[1];
68
- }
69
- else {
70
- fieldName = field;
71
- }
72
- const relation = this.entity.metadata.allRelationships[fieldName];
73
- const results = await relation.getRelatedCount(entities, fieldQueryFunction);
74
- if (results.length) {
75
- entities = relation.matchCounts(entities, results);
76
- }
77
- });
78
- return entities;
79
- }
80
- async first(...columns) {
81
- const entityData = await super.first(...columns);
82
- if (!entityData) {
83
- return undefined;
84
- }
85
- let entity = this.entity.new(entityData, true);
86
- entity = (await this.eagerLoadRelationships([entity])).first();
87
- return (await this.eagerLoadRelationshipsCounts([entity])).first();
88
- }
89
- async firstOrNew(
90
- // tslint:disable-next-line:no-any
91
- properties, values) {
92
- Object.entries(properties).forEach(([property, value]) => {
93
- const field = this.entity.metadata.columns[property] || this.entity.metadata.relationships[property];
94
- const finalValue = value instanceof Entity_1.Entity ? value[value.getPrimaryKey()] : value;
95
- if (finalValue === undefined) {
96
- this.andWhereNull(field.column);
97
- }
98
- else {
99
- this.andWhere(field.column, finalValue);
100
- }
101
- });
102
- const instance = await this.first();
103
- if (!instance) {
104
- return this.entity.new({ ...properties, ...values });
105
- }
106
- instance.exists = true;
107
- return instance;
108
- }
109
- with(...relations) {
110
- relations = relations.filter(Boolean);
111
- if (relations.length) {
112
- // tslint:disable-next-line:no-any
113
- this.eagerLoad = this.eagerLoad.concat(relations).unique();
114
- }
115
- return this;
116
- }
117
- withCount(...relations) {
118
- // @ts-ignore
119
- this.eagerLoadCount = this.eagerLoadCount.concat(relations);
120
- return this;
121
- }
122
- tree(relations) {
123
- const tree = {};
124
- relations.forEach(relation => {
125
- let relationName;
126
- let relationValue = {};
127
- if (relation instanceof Array) {
128
- relationName = relation[0];
129
- relationValue = relation[1];
130
- }
131
- else {
132
- relationName = relation;
133
- }
134
- let container = tree;
135
- const relationStringParts = relationName.split('.');
136
- relationStringParts.forEach((part, index) => {
137
- const value = index === relationStringParts.length - 1 ? relationValue : {};
138
- // @ts-ignore
139
- container = (container[part] ? container[part] : container[part] = value);
140
- });
141
- });
142
- return tree;
143
- }
144
- treeBack(relationsTree) {
145
- return Object.keys(relationsTree).map(relationName => {
146
- const item = relationsTree[relationName];
147
- if (item instanceof Function) {
148
- return [relationName, item];
149
- }
150
- else {
151
- return [relationName, this.treeBack(item)].filter(Boolean).join('.');
152
- }
153
- });
154
- }
155
- }
156
- exports.EntityQuery = EntityQuery;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityQuery = void 0;
4
+ const Query_1 = require("./Query");
5
+ const Entity_1 = require("./Entity");
6
+ class EntityQuery extends Query_1.Query {
7
+ constructor(entity) {
8
+ super();
9
+ this.entity = entity;
10
+ // tslint:disable-next-line:no-any
11
+ this.eagerLoad = [];
12
+ // tslint:disable-next-line:no-any
13
+ this.eagerLoadCount = [];
14
+ }
15
+ async get(...columns) {
16
+ let entities = await super.get(...columns);
17
+ entities = this.entity.hydrate(this.entity, entities, true);
18
+ entities = await this.eagerLoadRelationships(entities);
19
+ return await this.eagerLoadRelationshipsCounts(entities);
20
+ }
21
+ async eagerLoadRelationships(entities) {
22
+ const relationsTree = this.tree(this.eagerLoad);
23
+ await Object.keys(relationsTree).forEachAsync(async (relationName) => {
24
+ const relationValue = relationsTree[relationName];
25
+ const relation = this.entity.metadata.allRelationships[relationName];
26
+ if (!relation) {
27
+ throw new Error(`Relation '${relationName}' doesn't not exist on entity '${this.entity.name}'`);
28
+ }
29
+ // tslint:disable-next-line:no-any
30
+ let fieldQueryFunction;
31
+ let otherRelations = [];
32
+ if (relationValue instanceof Function) {
33
+ fieldQueryFunction = relationValue;
34
+ }
35
+ else {
36
+ otherRelations = this.treeBack(relationValue);
37
+ }
38
+ const results = await relation.getRelatedValue(entities, otherRelations, fieldQueryFunction);
39
+ if (results.length) {
40
+ entities = relation.match(entities, results);
41
+ }
42
+ });
43
+ // await this.eagerLoad.forEachAsync(async (field) => {
44
+ // // tslint:disable-next-line:no-any
45
+ // let fieldName: string, fieldQueryFunction: undefined | RelationsTreeQuery
46
+ // if (field instanceof Array) {
47
+ // fieldName = field[0]
48
+ // fieldQueryFunction = field[1]
49
+ // } else {
50
+ // fieldName = field
51
+ // }
52
+ // const [first, ...rest] = fieldName.split('.')
53
+ // const relation = this.entity.metadata.allRelationships[first]
54
+ // const results = await relation.getRelatedValue(entities, [rest.join('.')], fieldQueryFunction as (query: Query) => void)
55
+ // if (results.length) {
56
+ // entities = relation.match(entities, results) as T[]
57
+ // }
58
+ // })
59
+ return entities;
60
+ }
61
+ async eagerLoadRelationshipsCounts(entities) {
62
+ await this.eagerLoadCount.forEachAsync(async (field) => {
63
+ // tslint:disable-next-line:no-any
64
+ let fieldName, fieldQueryFunction;
65
+ if (field instanceof Array) {
66
+ fieldName = field[0];
67
+ fieldQueryFunction = field[1];
68
+ }
69
+ else {
70
+ fieldName = field;
71
+ }
72
+ const relation = this.entity.metadata.allRelationships[fieldName];
73
+ const results = await relation.getRelatedCount(entities, fieldQueryFunction);
74
+ if (results.length) {
75
+ entities = relation.matchCounts(entities, results);
76
+ }
77
+ });
78
+ return entities;
79
+ }
80
+ async first(...columns) {
81
+ const entityData = await super.first(...columns);
82
+ if (!entityData) {
83
+ return undefined;
84
+ }
85
+ let entity = this.entity.new(entityData, true);
86
+ entity = (await this.eagerLoadRelationships([entity])).first();
87
+ return (await this.eagerLoadRelationshipsCounts([entity])).first();
88
+ }
89
+ async firstOrNew(
90
+ // tslint:disable-next-line:no-any
91
+ properties, values) {
92
+ Object.entries(properties).forEach(([property, value]) => {
93
+ const field = this.entity.metadata.columns[property] || this.entity.metadata.relationships[property];
94
+ const finalValue = value instanceof Entity_1.Entity ? value[value.getPrimaryKey()] : value;
95
+ if (finalValue === undefined) {
96
+ this.andWhereNull(field.column);
97
+ }
98
+ else {
99
+ this.andWhere(field.column, finalValue);
100
+ }
101
+ });
102
+ const instance = await this.first();
103
+ if (!instance) {
104
+ return this.entity.new({ ...properties, ...values });
105
+ }
106
+ instance.exists = true;
107
+ return instance;
108
+ }
109
+ with(...relations) {
110
+ relations = relations.filter(Boolean);
111
+ if (relations.length) {
112
+ // tslint:disable-next-line:no-any
113
+ this.eagerLoad = this.eagerLoad.concat(relations).unique();
114
+ }
115
+ return this;
116
+ }
117
+ withCount(...relations) {
118
+ // @ts-ignore
119
+ this.eagerLoadCount = this.eagerLoadCount.concat(relations);
120
+ return this;
121
+ }
122
+ tree(relations) {
123
+ const tree = {};
124
+ relations.forEach(relation => {
125
+ let relationName;
126
+ let relationValue = {};
127
+ if (relation instanceof Array) {
128
+ relationName = relation[0];
129
+ relationValue = relation[1];
130
+ }
131
+ else {
132
+ relationName = relation;
133
+ }
134
+ let container = tree;
135
+ const relationStringParts = relationName.split('.');
136
+ relationStringParts.forEach((part, index) => {
137
+ const value = index === relationStringParts.length - 1 ? relationValue : {};
138
+ // @ts-ignore
139
+ container = (container[part] ? container[part] : container[part] = value);
140
+ });
141
+ });
142
+ return tree;
143
+ }
144
+ treeBack(relationsTree) {
145
+ return Object.keys(relationsTree).map(relationName => {
146
+ const item = relationsTree[relationName];
147
+ if (item instanceof Function) {
148
+ return [relationName, item];
149
+ }
150
+ else {
151
+ return [relationName, this.treeBack(item)].filter(Boolean).join('.');
152
+ }
153
+ });
154
+ }
155
+ }
156
+ exports.EntityQuery = EntityQuery;
157
157
  //# sourceMappingURL=EntityQuery.js.map
@@ -1,4 +1,4 @@
1
- export declare abstract class Expression {
2
- abstract toSQL(): string;
3
- }
1
+ export declare abstract class Expression {
2
+ abstract toSQL(): string;
3
+ }
4
4
  //# sourceMappingURL=Expression.d.ts.map
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Expression = void 0;
4
- class Expression {
5
- }
6
- exports.Expression = Expression;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Expression = void 0;
4
+ class Expression {
5
+ }
6
+ exports.Expression = Expression;
7
7
  //# sourceMappingURL=Expression.js.map