@stingerloom/orm 0.1.0

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 (595) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +53 -0
  3. package/dist/DatabaseClient.d.ts +23 -0
  4. package/dist/DatabaseClient.d.ts.map +1 -0
  5. package/dist/DatabaseClient.js +125 -0
  6. package/dist/DatabaseClient.js.map +1 -0
  7. package/dist/core/BaseEntityManager.d.ts +29 -0
  8. package/dist/core/BaseEntityManager.d.ts.map +1 -0
  9. package/dist/core/BaseEntityManager.js +7 -0
  10. package/dist/core/BaseEntityManager.js.map +1 -0
  11. package/dist/core/BaseInsertQueryBuilder.d.ts +8 -0
  12. package/dist/core/BaseInsertQueryBuilder.d.ts.map +1 -0
  13. package/dist/core/BaseInsertQueryBuilder.js +3 -0
  14. package/dist/core/BaseInsertQueryBuilder.js.map +1 -0
  15. package/dist/core/BaseRawQueryBuilder.d.ts +33 -0
  16. package/dist/core/BaseRawQueryBuilder.d.ts.map +1 -0
  17. package/dist/core/BaseRawQueryBuilder.js +3 -0
  18. package/dist/core/BaseRawQueryBuilder.js.map +1 -0
  19. package/dist/core/BaseRepository.d.ts +37 -0
  20. package/dist/core/BaseRepository.d.ts.map +1 -0
  21. package/dist/core/BaseRepository.js +77 -0
  22. package/dist/core/BaseRepository.js.map +1 -0
  23. package/dist/core/BaseResultTransformer.d.ts +11 -0
  24. package/dist/core/BaseResultTransformer.d.ts.map +1 -0
  25. package/dist/core/BaseResultTransformer.js +3 -0
  26. package/dist/core/BaseResultTransformer.js.map +1 -0
  27. package/dist/core/Conditions.d.ts +33 -0
  28. package/dist/core/Conditions.d.ts.map +1 -0
  29. package/dist/core/Conditions.js +154 -0
  30. package/dist/core/Conditions.js.map +1 -0
  31. package/dist/core/CursorPagination.d.ts +19 -0
  32. package/dist/core/CursorPagination.d.ts.map +1 -0
  33. package/dist/core/CursorPagination.js +27 -0
  34. package/dist/core/CursorPagination.js.map +1 -0
  35. package/dist/core/DatabaseClientOptions.d.ts +41 -0
  36. package/dist/core/DatabaseClientOptions.d.ts.map +1 -0
  37. package/dist/core/DatabaseClientOptions.js +3 -0
  38. package/dist/core/DatabaseClientOptions.js.map +1 -0
  39. package/dist/core/EntityEventEmitter.d.ts +14 -0
  40. package/dist/core/EntityEventEmitter.d.ts.map +1 -0
  41. package/dist/core/EntityEventEmitter.js +35 -0
  42. package/dist/core/EntityEventEmitter.js.map +1 -0
  43. package/dist/core/EntityManager.d.ts +115 -0
  44. package/dist/core/EntityManager.d.ts.map +1 -0
  45. package/dist/core/EntityManager.js +2347 -0
  46. package/dist/core/EntityManager.js.map +1 -0
  47. package/dist/core/EntitySubscriber.d.ts +31 -0
  48. package/dist/core/EntitySubscriber.d.ts.map +1 -0
  49. package/dist/core/EntitySubscriber.js +3 -0
  50. package/dist/core/EntitySubscriber.js.map +1 -0
  51. package/dist/core/EntityValidator.d.ts +6 -0
  52. package/dist/core/EntityValidator.d.ts.map +1 -0
  53. package/dist/core/EntityValidator.js +43 -0
  54. package/dist/core/EntityValidator.js.map +1 -0
  55. package/dist/core/ExplainResult.d.ts +9 -0
  56. package/dist/core/ExplainResult.d.ts.map +1 -0
  57. package/dist/core/ExplainResult.js +3 -0
  58. package/dist/core/ExplainResult.js.map +1 -0
  59. package/dist/core/IConnector.d.ts +18 -0
  60. package/dist/core/IConnector.d.ts.map +1 -0
  61. package/dist/core/IConnector.js +7 -0
  62. package/dist/core/IConnector.js.map +1 -0
  63. package/dist/core/LazyLoader.d.ts +6 -0
  64. package/dist/core/LazyLoader.d.ts.map +1 -0
  65. package/dist/core/LazyLoader.js +94 -0
  66. package/dist/core/LazyLoader.js.map +1 -0
  67. package/dist/core/MyClassConstructor.d.ts +4 -0
  68. package/dist/core/MyClassConstructor.d.ts.map +1 -0
  69. package/dist/core/MyClassConstructor.js +3 -0
  70. package/dist/core/MyClassConstructor.js.map +1 -0
  71. package/dist/core/QueryTracker.d.ts +37 -0
  72. package/dist/core/QueryTracker.d.ts.map +1 -0
  73. package/dist/core/QueryTracker.js +111 -0
  74. package/dist/core/QueryTracker.js.map +1 -0
  75. package/dist/core/RawQueryBuilder.d.ts +40 -0
  76. package/dist/core/RawQueryBuilder.d.ts.map +1 -0
  77. package/dist/core/RawQueryBuilder.js +211 -0
  78. package/dist/core/RawQueryBuilder.js.map +1 -0
  79. package/dist/core/RawQueryBuilderFactory.d.ts +6 -0
  80. package/dist/core/RawQueryBuilderFactory.d.ts.map +1 -0
  81. package/dist/core/RawQueryBuilderFactory.js +14 -0
  82. package/dist/core/RawQueryBuilderFactory.js.map +1 -0
  83. package/dist/core/ResultTransformer.d.ts +24 -0
  84. package/dist/core/ResultTransformer.d.ts.map +1 -0
  85. package/dist/core/ResultTransformer.js +134 -0
  86. package/dist/core/ResultTransformer.js.map +1 -0
  87. package/dist/core/ResultTransformerFactory.d.ts +5 -0
  88. package/dist/core/ResultTransformerFactory.d.ts.map +1 -0
  89. package/dist/core/ResultTransformerFactory.js +11 -0
  90. package/dist/core/ResultTransformerFactory.js.map +1 -0
  91. package/dist/core/SelectUtils.d.ts +14 -0
  92. package/dist/core/SelectUtils.d.ts.map +1 -0
  93. package/dist/core/SelectUtils.js +19 -0
  94. package/dist/core/SelectUtils.js.map +1 -0
  95. package/dist/core/deserializer/ClassTransformerDeserializer.d.ts +7 -0
  96. package/dist/core/deserializer/ClassTransformerDeserializer.d.ts.map +1 -0
  97. package/dist/core/deserializer/ClassTransformerDeserializer.js +14 -0
  98. package/dist/core/deserializer/ClassTransformerDeserializer.js.map +1 -0
  99. package/dist/core/deserializer/DeserializeEntity.d.ts +7 -0
  100. package/dist/core/deserializer/DeserializeEntity.d.ts.map +1 -0
  101. package/dist/core/deserializer/DeserializeEntity.js +17 -0
  102. package/dist/core/deserializer/DeserializeEntity.js.map +1 -0
  103. package/dist/core/deserializer/DeserializeOptions.d.ts +9 -0
  104. package/dist/core/deserializer/DeserializeOptions.d.ts.map +1 -0
  105. package/dist/core/deserializer/DeserializeOptions.js +3 -0
  106. package/dist/core/deserializer/DeserializeOptions.js.map +1 -0
  107. package/dist/core/deserializer/Deserializer.d.ts +6 -0
  108. package/dist/core/deserializer/Deserializer.d.ts.map +1 -0
  109. package/dist/core/deserializer/Deserializer.js +3 -0
  110. package/dist/core/deserializer/Deserializer.js.map +1 -0
  111. package/dist/core/deserializer/DeserializerRegistry.d.ts +13 -0
  112. package/dist/core/deserializer/DeserializerRegistry.d.ts.map +1 -0
  113. package/dist/core/deserializer/DeserializerRegistry.js +26 -0
  114. package/dist/core/deserializer/DeserializerRegistry.js.map +1 -0
  115. package/dist/core/deserializer/index.d.ts +6 -0
  116. package/dist/core/deserializer/index.d.ts.map +1 -0
  117. package/dist/core/deserializer/index.js +22 -0
  118. package/dist/core/deserializer/index.js.map +1 -0
  119. package/dist/core/generators/SchemaDiff.d.ts +34 -0
  120. package/dist/core/generators/SchemaDiff.d.ts.map +1 -0
  121. package/dist/core/generators/SchemaDiff.js +231 -0
  122. package/dist/core/generators/SchemaDiff.js.map +1 -0
  123. package/dist/core/generators/SchemaDiffMigrationGenerator.d.ts +11 -0
  124. package/dist/core/generators/SchemaDiffMigrationGenerator.d.ts.map +1 -0
  125. package/dist/core/generators/SchemaDiffMigrationGenerator.js +108 -0
  126. package/dist/core/generators/SchemaDiffMigrationGenerator.js.map +1 -0
  127. package/dist/core/generators/SchemaGenerator.d.ts +37 -0
  128. package/dist/core/generators/SchemaGenerator.d.ts.map +1 -0
  129. package/dist/core/generators/SchemaGenerator.js +379 -0
  130. package/dist/core/generators/SchemaGenerator.js.map +1 -0
  131. package/dist/core/generators/index.d.ts +4 -0
  132. package/dist/core/generators/index.d.ts.map +1 -0
  133. package/dist/core/generators/index.js +20 -0
  134. package/dist/core/generators/index.js.map +1 -0
  135. package/dist/core/index.d.ts +20 -0
  136. package/dist/core/index.d.ts.map +1 -0
  137. package/dist/core/index.js +36 -0
  138. package/dist/core/index.js.map +1 -0
  139. package/dist/decorators/Column.d.ts +19 -0
  140. package/dist/decorators/Column.d.ts.map +1 -0
  141. package/dist/decorators/Column.js +53 -0
  142. package/dist/decorators/Column.js.map +1 -0
  143. package/dist/decorators/CustomColumn.d.ts +6 -0
  144. package/dist/decorators/CustomColumn.d.ts.map +1 -0
  145. package/dist/decorators/CustomColumn.js +13 -0
  146. package/dist/decorators/CustomColumn.js.map +1 -0
  147. package/dist/decorators/DeletedAt.d.ts +3 -0
  148. package/dist/decorators/DeletedAt.d.ts.map +1 -0
  149. package/dist/decorators/DeletedAt.js +16 -0
  150. package/dist/decorators/DeletedAt.js.map +1 -0
  151. package/dist/decorators/Entity.d.ts +16 -0
  152. package/dist/decorators/Entity.d.ts.map +1 -0
  153. package/dist/decorators/Entity.js +32 -0
  154. package/dist/decorators/Entity.js.map +1 -0
  155. package/dist/decorators/Hooks.d.ts +14 -0
  156. package/dist/decorators/Hooks.d.ts.map +1 -0
  157. package/dist/decorators/Hooks.js +36 -0
  158. package/dist/decorators/Hooks.js.map +1 -0
  159. package/dist/decorators/Indexer.d.ts +11 -0
  160. package/dist/decorators/Indexer.d.ts.map +1 -0
  161. package/dist/decorators/Indexer.js +21 -0
  162. package/dist/decorators/Indexer.js.map +1 -0
  163. package/dist/decorators/InjectEntityManager.d.ts +3 -0
  164. package/dist/decorators/InjectEntityManager.d.ts.map +1 -0
  165. package/dist/decorators/InjectEntityManager.js +13 -0
  166. package/dist/decorators/InjectEntityManager.js.map +1 -0
  167. package/dist/decorators/InjectRepository.d.ts +4 -0
  168. package/dist/decorators/InjectRepository.d.ts.map +1 -0
  169. package/dist/decorators/InjectRepository.js +22 -0
  170. package/dist/decorators/InjectRepository.js.map +1 -0
  171. package/dist/decorators/ManyToMany.d.ts +21 -0
  172. package/dist/decorators/ManyToMany.d.ts.map +1 -0
  173. package/dist/decorators/ManyToMany.js +29 -0
  174. package/dist/decorators/ManyToMany.js.map +1 -0
  175. package/dist/decorators/ManyToOne.d.ts +27 -0
  176. package/dist/decorators/ManyToOne.d.ts.map +1 -0
  177. package/dist/decorators/ManyToOne.js +35 -0
  178. package/dist/decorators/ManyToOne.js.map +1 -0
  179. package/dist/decorators/OneToMany.d.ts +17 -0
  180. package/dist/decorators/OneToMany.d.ts.map +1 -0
  181. package/dist/decorators/OneToMany.js +29 -0
  182. package/dist/decorators/OneToMany.js.map +1 -0
  183. package/dist/decorators/OneToOne.d.ts +20 -0
  184. package/dist/decorators/OneToOne.d.ts.map +1 -0
  185. package/dist/decorators/OneToOne.js +30 -0
  186. package/dist/decorators/OneToOne.js.map +1 -0
  187. package/dist/decorators/PrimaryColumn.d.ts +3 -0
  188. package/dist/decorators/PrimaryColumn.d.ts.map +1 -0
  189. package/dist/decorators/PrimaryColumn.js +14 -0
  190. package/dist/decorators/PrimaryColumn.js.map +1 -0
  191. package/dist/decorators/PrimaryGeneratedColumn.d.ts +3 -0
  192. package/dist/decorators/PrimaryGeneratedColumn.d.ts.map +1 -0
  193. package/dist/decorators/PrimaryGeneratedColumn.js +17 -0
  194. package/dist/decorators/PrimaryGeneratedColumn.js.map +1 -0
  195. package/dist/decorators/Transactional.d.ts +15 -0
  196. package/dist/decorators/Transactional.d.ts.map +1 -0
  197. package/dist/decorators/Transactional.js +76 -0
  198. package/dist/decorators/Transactional.js.map +1 -0
  199. package/dist/decorators/UniqueIndex.d.ts +7 -0
  200. package/dist/decorators/UniqueIndex.d.ts.map +1 -0
  201. package/dist/decorators/UniqueIndex.js +12 -0
  202. package/dist/decorators/UniqueIndex.js.map +1 -0
  203. package/dist/decorators/Validation.d.ts +15 -0
  204. package/dist/decorators/Validation.d.ts.map +1 -0
  205. package/dist/decorators/Validation.js +64 -0
  206. package/dist/decorators/Validation.js.map +1 -0
  207. package/dist/decorators/Version.d.ts +3 -0
  208. package/dist/decorators/Version.d.ts.map +1 -0
  209. package/dist/decorators/Version.js +17 -0
  210. package/dist/decorators/Version.js.map +1 -0
  211. package/dist/decorators/index.d.ts +19 -0
  212. package/dist/decorators/index.d.ts.map +1 -0
  213. package/dist/decorators/index.js +35 -0
  214. package/dist/decorators/index.js.map +1 -0
  215. package/dist/dialects/ConnectionLeakDetector.d.ts +19 -0
  216. package/dist/dialects/ConnectionLeakDetector.d.ts.map +1 -0
  217. package/dist/dialects/ConnectionLeakDetector.js +50 -0
  218. package/dist/dialects/ConnectionLeakDetector.js.map +1 -0
  219. package/dist/dialects/EntityNotFound.d.ts +4 -0
  220. package/dist/dialects/EntityNotFound.d.ts.map +1 -0
  221. package/dist/dialects/EntityNotFound.js +10 -0
  222. package/dist/dialects/EntityNotFound.js.map +1 -0
  223. package/dist/dialects/FindOption.d.ts +20 -0
  224. package/dist/dialects/FindOption.d.ts.map +1 -0
  225. package/dist/dialects/FindOption.js +3 -0
  226. package/dist/dialects/FindOption.js.map +1 -0
  227. package/dist/dialects/IConnection.d.ts +7 -0
  228. package/dist/dialects/IConnection.d.ts.map +1 -0
  229. package/dist/dialects/IConnection.js +3 -0
  230. package/dist/dialects/IConnection.js.map +1 -0
  231. package/dist/dialects/IDataSource.d.ts +12 -0
  232. package/dist/dialects/IDataSource.d.ts.map +1 -0
  233. package/dist/dialects/IDataSource.js +3 -0
  234. package/dist/dialects/IDataSource.js.map +1 -0
  235. package/dist/dialects/IOrderBy.d.ts +4 -0
  236. package/dist/dialects/IOrderBy.d.ts.map +1 -0
  237. package/dist/dialects/IOrderBy.js +3 -0
  238. package/dist/dialects/IOrderBy.js.map +1 -0
  239. package/dist/dialects/IQueryEngine.d.ts +15 -0
  240. package/dist/dialects/IQueryEngine.d.ts.map +1 -0
  241. package/dist/dialects/IQueryEngine.js +7 -0
  242. package/dist/dialects/IQueryEngine.js.map +1 -0
  243. package/dist/dialects/ISelectOption.d.ts +7 -0
  244. package/dist/dialects/ISelectOption.d.ts.map +1 -0
  245. package/dist/dialects/ISelectOption.js +3 -0
  246. package/dist/dialects/ISelectOption.js.map +1 -0
  247. package/dist/dialects/ITenantMigrationRunner.d.ts +16 -0
  248. package/dist/dialects/ITenantMigrationRunner.d.ts.map +1 -0
  249. package/dist/dialects/ITenantMigrationRunner.js +3 -0
  250. package/dist/dialects/ITenantMigrationRunner.js.map +1 -0
  251. package/dist/dialects/ITxEngine.d.ts +9 -0
  252. package/dist/dialects/ITxEngine.d.ts.map +1 -0
  253. package/dist/dialects/ITxEngine.js +3 -0
  254. package/dist/dialects/ITxEngine.js.map +1 -0
  255. package/dist/dialects/IsolationLevel.d.ts +2 -0
  256. package/dist/dialects/IsolationLevel.d.ts.map +1 -0
  257. package/dist/dialects/IsolationLevel.js +3 -0
  258. package/dist/dialects/IsolationLevel.js.map +1 -0
  259. package/dist/dialects/ReplicationRouter.d.ts +28 -0
  260. package/dist/dialects/ReplicationRouter.d.ts.map +1 -0
  261. package/dist/dialects/ReplicationRouter.js +64 -0
  262. package/dist/dialects/ReplicationRouter.js.map +1 -0
  263. package/dist/dialects/SqlDriver.d.ts +43 -0
  264. package/dist/dialects/SqlDriver.d.ts.map +1 -0
  265. package/dist/dialects/SqlDriver.js +3 -0
  266. package/dist/dialects/SqlDriver.js.map +1 -0
  267. package/dist/dialects/TransactionSessionManager.d.ts +21 -0
  268. package/dist/dialects/TransactionSessionManager.d.ts.map +1 -0
  269. package/dist/dialects/TransactionSessionManager.js +112 -0
  270. package/dist/dialects/TransactionSessionManager.js.map +1 -0
  271. package/dist/dialects/index.d.ts +32 -0
  272. package/dist/dialects/index.d.ts.map +1 -0
  273. package/dist/dialects/index.js +65 -0
  274. package/dist/dialects/index.js.map +1 -0
  275. package/dist/dialects/mysql/BaseSchema.d.ts +9 -0
  276. package/dist/dialects/mysql/BaseSchema.d.ts.map +1 -0
  277. package/dist/dialects/mysql/BaseSchema.js +3 -0
  278. package/dist/dialects/mysql/BaseSchema.js.map +1 -0
  279. package/dist/dialects/mysql/Connection.d.ts +9 -0
  280. package/dist/dialects/mysql/Connection.d.ts.map +1 -0
  281. package/dist/dialects/mysql/Connection.js +3 -0
  282. package/dist/dialects/mysql/Connection.js.map +1 -0
  283. package/dist/dialects/mysql/ConnectionNotFound.d.ts +4 -0
  284. package/dist/dialects/mysql/ConnectionNotFound.d.ts.map +1 -0
  285. package/dist/dialects/mysql/ConnectionNotFound.js +10 -0
  286. package/dist/dialects/mysql/ConnectionNotFound.js.map +1 -0
  287. package/dist/dialects/mysql/MySqlConnectionError.d.ts +4 -0
  288. package/dist/dialects/mysql/MySqlConnectionError.d.ts.map +1 -0
  289. package/dist/dialects/mysql/MySqlConnectionError.js +10 -0
  290. package/dist/dialects/mysql/MySqlConnectionError.js.map +1 -0
  291. package/dist/dialects/mysql/MySqlConnector.d.ts +26 -0
  292. package/dist/dialects/mysql/MySqlConnector.d.ts.map +1 -0
  293. package/dist/dialects/mysql/MySqlConnector.js +195 -0
  294. package/dist/dialects/mysql/MySqlConnector.js.map +1 -0
  295. package/dist/dialects/mysql/MySqlDataSource.d.ts +17 -0
  296. package/dist/dialects/mysql/MySqlDataSource.d.ts.map +1 -0
  297. package/dist/dialects/mysql/MySqlDataSource.js +63 -0
  298. package/dist/dialects/mysql/MySqlDataSource.js.map +1 -0
  299. package/dist/dialects/mysql/MySqlDriver.d.ts +49 -0
  300. package/dist/dialects/mysql/MySqlDriver.d.ts.map +1 -0
  301. package/dist/dialects/mysql/MySqlDriver.js +260 -0
  302. package/dist/dialects/mysql/MySqlDriver.js.map +1 -0
  303. package/dist/dialects/mysql/MySqlTenantMigrationRunner.d.ts +11 -0
  304. package/dist/dialects/mysql/MySqlTenantMigrationRunner.d.ts.map +1 -0
  305. package/dist/dialects/mysql/MySqlTenantMigrationRunner.js +31 -0
  306. package/dist/dialects/mysql/MySqlTenantMigrationRunner.js.map +1 -0
  307. package/dist/dialects/mysql/MysqlConnection.d.ts +12 -0
  308. package/dist/dialects/mysql/MysqlConnection.d.ts.map +1 -0
  309. package/dist/dialects/mysql/MysqlConnection.js +26 -0
  310. package/dist/dialects/mysql/MysqlConnection.js.map +1 -0
  311. package/dist/dialects/mysql/PoolNotFound.d.ts +4 -0
  312. package/dist/dialects/mysql/PoolNotFound.d.ts.map +1 -0
  313. package/dist/dialects/mysql/PoolNotFound.js +10 -0
  314. package/dist/dialects/mysql/PoolNotFound.js.map +1 -0
  315. package/dist/dialects/mysql/index.d.ts +10 -0
  316. package/dist/dialects/mysql/index.d.ts.map +1 -0
  317. package/dist/dialects/mysql/index.js +26 -0
  318. package/dist/dialects/mysql/index.js.map +1 -0
  319. package/dist/dialects/postgres/ConnectionNotFound.d.ts +4 -0
  320. package/dist/dialects/postgres/ConnectionNotFound.d.ts.map +1 -0
  321. package/dist/dialects/postgres/ConnectionNotFound.js +10 -0
  322. package/dist/dialects/postgres/ConnectionNotFound.js.map +1 -0
  323. package/dist/dialects/postgres/PoolNotFound.d.ts +4 -0
  324. package/dist/dialects/postgres/PoolNotFound.d.ts.map +1 -0
  325. package/dist/dialects/postgres/PoolNotFound.js +10 -0
  326. package/dist/dialects/postgres/PoolNotFound.js.map +1 -0
  327. package/dist/dialects/postgres/PostgresConnection.d.ts +12 -0
  328. package/dist/dialects/postgres/PostgresConnection.d.ts.map +1 -0
  329. package/dist/dialects/postgres/PostgresConnection.js +26 -0
  330. package/dist/dialects/postgres/PostgresConnection.js.map +1 -0
  331. package/dist/dialects/postgres/PostgresConnectionError.d.ts +4 -0
  332. package/dist/dialects/postgres/PostgresConnectionError.d.ts.map +1 -0
  333. package/dist/dialects/postgres/PostgresConnectionError.js +10 -0
  334. package/dist/dialects/postgres/PostgresConnectionError.js.map +1 -0
  335. package/dist/dialects/postgres/PostgresConnector.d.ts +24 -0
  336. package/dist/dialects/postgres/PostgresConnector.d.ts.map +1 -0
  337. package/dist/dialects/postgres/PostgresConnector.js +158 -0
  338. package/dist/dialects/postgres/PostgresConnector.js.map +1 -0
  339. package/dist/dialects/postgres/PostgresDataSource.d.ts +18 -0
  340. package/dist/dialects/postgres/PostgresDataSource.d.ts.map +1 -0
  341. package/dist/dialects/postgres/PostgresDataSource.js +66 -0
  342. package/dist/dialects/postgres/PostgresDataSource.js.map +1 -0
  343. package/dist/dialects/postgres/PostgresDriver.d.ts +71 -0
  344. package/dist/dialects/postgres/PostgresDriver.d.ts.map +1 -0
  345. package/dist/dialects/postgres/PostgresDriver.js +440 -0
  346. package/dist/dialects/postgres/PostgresDriver.js.map +1 -0
  347. package/dist/dialects/postgres/PostgresTenantMigrationRunner.d.ts +18 -0
  348. package/dist/dialects/postgres/PostgresTenantMigrationRunner.d.ts.map +1 -0
  349. package/dist/dialects/postgres/PostgresTenantMigrationRunner.js +78 -0
  350. package/dist/dialects/postgres/PostgresTenantMigrationRunner.js.map +1 -0
  351. package/dist/dialects/postgres/index.d.ts +8 -0
  352. package/dist/dialects/postgres/index.d.ts.map +1 -0
  353. package/dist/dialects/postgres/index.js +26 -0
  354. package/dist/dialects/postgres/index.js.map +1 -0
  355. package/dist/dialects/sqlite/ConnectionNotFound.d.ts +4 -0
  356. package/dist/dialects/sqlite/ConnectionNotFound.d.ts.map +1 -0
  357. package/dist/dialects/sqlite/ConnectionNotFound.js +10 -0
  358. package/dist/dialects/sqlite/ConnectionNotFound.js.map +1 -0
  359. package/dist/dialects/sqlite/SqliteConnection.d.ts +12 -0
  360. package/dist/dialects/sqlite/SqliteConnection.d.ts.map +1 -0
  361. package/dist/dialects/sqlite/SqliteConnection.js +23 -0
  362. package/dist/dialects/sqlite/SqliteConnection.js.map +1 -0
  363. package/dist/dialects/sqlite/SqliteConnectionError.d.ts +4 -0
  364. package/dist/dialects/sqlite/SqliteConnectionError.d.ts.map +1 -0
  365. package/dist/dialects/sqlite/SqliteConnectionError.js +10 -0
  366. package/dist/dialects/sqlite/SqliteConnectionError.js.map +1 -0
  367. package/dist/dialects/sqlite/SqliteConnector.d.ts +24 -0
  368. package/dist/dialects/sqlite/SqliteConnector.d.ts.map +1 -0
  369. package/dist/dialects/sqlite/SqliteConnector.js +119 -0
  370. package/dist/dialects/sqlite/SqliteConnector.js.map +1 -0
  371. package/dist/dialects/sqlite/SqliteDataSource.d.ts +18 -0
  372. package/dist/dialects/sqlite/SqliteDataSource.d.ts.map +1 -0
  373. package/dist/dialects/sqlite/SqliteDataSource.js +56 -0
  374. package/dist/dialects/sqlite/SqliteDataSource.js.map +1 -0
  375. package/dist/dialects/sqlite/SqliteDriver.d.ts +49 -0
  376. package/dist/dialects/sqlite/SqliteDriver.d.ts.map +1 -0
  377. package/dist/dialects/sqlite/SqliteDriver.js +234 -0
  378. package/dist/dialects/sqlite/SqliteDriver.js.map +1 -0
  379. package/dist/dialects/sqlite/SqliteTenantMigrationRunner.d.ts +11 -0
  380. package/dist/dialects/sqlite/SqliteTenantMigrationRunner.d.ts.map +1 -0
  381. package/dist/dialects/sqlite/SqliteTenantMigrationRunner.js +31 -0
  382. package/dist/dialects/sqlite/SqliteTenantMigrationRunner.js.map +1 -0
  383. package/dist/dialects/sqlite/index.d.ts +7 -0
  384. package/dist/dialects/sqlite/index.d.ts.map +1 -0
  385. package/dist/dialects/sqlite/index.js +23 -0
  386. package/dist/dialects/sqlite/index.js.map +1 -0
  387. package/dist/errors/AdvisoryLockError.d.ts +5 -0
  388. package/dist/errors/AdvisoryLockError.d.ts.map +1 -0
  389. package/dist/errors/AdvisoryLockError.js +13 -0
  390. package/dist/errors/AdvisoryLockError.js.map +1 -0
  391. package/dist/errors/DatabaseConnectionFailedError.d.ts +5 -0
  392. package/dist/errors/DatabaseConnectionFailedError.d.ts.map +1 -0
  393. package/dist/errors/DatabaseConnectionFailedError.js +11 -0
  394. package/dist/errors/DatabaseConnectionFailedError.js.map +1 -0
  395. package/dist/errors/DatabaseNotConnectedError.d.ts +5 -0
  396. package/dist/errors/DatabaseNotConnectedError.d.ts.map +1 -0
  397. package/dist/errors/DatabaseNotConnectedError.js +11 -0
  398. package/dist/errors/DatabaseNotConnectedError.js.map +1 -0
  399. package/dist/errors/DeleteWithoutConditionsError.d.ts +5 -0
  400. package/dist/errors/DeleteWithoutConditionsError.d.ts.map +1 -0
  401. package/dist/errors/DeleteWithoutConditionsError.js +13 -0
  402. package/dist/errors/DeleteWithoutConditionsError.js.map +1 -0
  403. package/dist/errors/EntityMetadataNotFoundError.d.ts +5 -0
  404. package/dist/errors/EntityMetadataNotFoundError.d.ts.map +1 -0
  405. package/dist/errors/EntityMetadataNotFoundError.js +13 -0
  406. package/dist/errors/EntityMetadataNotFoundError.js.map +1 -0
  407. package/dist/errors/EntityNotFoundError.d.ts +5 -0
  408. package/dist/errors/EntityNotFoundError.d.ts.map +1 -0
  409. package/dist/errors/EntityNotFoundError.js +13 -0
  410. package/dist/errors/EntityNotFoundError.js.map +1 -0
  411. package/dist/errors/Exception.d.ts +5 -0
  412. package/dist/errors/Exception.d.ts.map +1 -0
  413. package/dist/errors/Exception.js +11 -0
  414. package/dist/errors/Exception.js.map +1 -0
  415. package/dist/errors/InvalidQueryError.d.ts +5 -0
  416. package/dist/errors/InvalidQueryError.d.ts.map +1 -0
  417. package/dist/errors/InvalidQueryError.js +13 -0
  418. package/dist/errors/InvalidQueryError.js.map +1 -0
  419. package/dist/errors/NotSupportedDatabaseTypeError.d.ts +5 -0
  420. package/dist/errors/NotSupportedDatabaseTypeError.d.ts.map +1 -0
  421. package/dist/errors/NotSupportedDatabaseTypeError.js +11 -0
  422. package/dist/errors/NotSupportedDatabaseTypeError.js.map +1 -0
  423. package/dist/errors/OrmError.d.ts +6 -0
  424. package/dist/errors/OrmError.d.ts.map +1 -0
  425. package/dist/errors/OrmError.js +12 -0
  426. package/dist/errors/OrmError.js.map +1 -0
  427. package/dist/errors/OrmErrorCode.d.ts +16 -0
  428. package/dist/errors/OrmErrorCode.d.ts.map +1 -0
  429. package/dist/errors/OrmErrorCode.js +20 -0
  430. package/dist/errors/OrmErrorCode.js.map +1 -0
  431. package/dist/errors/PrimaryKeyNotFoundError.d.ts +5 -0
  432. package/dist/errors/PrimaryKeyNotFoundError.d.ts.map +1 -0
  433. package/dist/errors/PrimaryKeyNotFoundError.js +13 -0
  434. package/dist/errors/PrimaryKeyNotFoundError.js.map +1 -0
  435. package/dist/errors/QueryTimeoutError.d.ts +5 -0
  436. package/dist/errors/QueryTimeoutError.d.ts.map +1 -0
  437. package/dist/errors/QueryTimeoutError.js +13 -0
  438. package/dist/errors/QueryTimeoutError.js.map +1 -0
  439. package/dist/errors/TransactionError.d.ts +5 -0
  440. package/dist/errors/TransactionError.d.ts.map +1 -0
  441. package/dist/errors/TransactionError.js +13 -0
  442. package/dist/errors/TransactionError.js.map +1 -0
  443. package/dist/errors/ValidationError.d.ts +6 -0
  444. package/dist/errors/ValidationError.d.ts.map +1 -0
  445. package/dist/errors/ValidationError.js +13 -0
  446. package/dist/errors/ValidationError.js.map +1 -0
  447. package/dist/errors/index.d.ts +16 -0
  448. package/dist/errors/index.d.ts.map +1 -0
  449. package/dist/errors/index.js +32 -0
  450. package/dist/errors/index.js.map +1 -0
  451. package/dist/index.d.ts +14 -0
  452. package/dist/index.d.ts.map +1 -0
  453. package/dist/index.js +34 -0
  454. package/dist/index.js.map +1 -0
  455. package/dist/metadata/LayeredMetadataScanner.d.ts +32 -0
  456. package/dist/metadata/LayeredMetadataScanner.d.ts.map +1 -0
  457. package/dist/metadata/LayeredMetadataScanner.js +119 -0
  458. package/dist/metadata/LayeredMetadataScanner.js.map +1 -0
  459. package/dist/metadata/LayeredMetadataStore.d.ts +30 -0
  460. package/dist/metadata/LayeredMetadataStore.d.ts.map +1 -0
  461. package/dist/metadata/LayeredMetadataStore.js +150 -0
  462. package/dist/metadata/LayeredMetadataStore.js.map +1 -0
  463. package/dist/metadata/MetadataContext.d.ts +11 -0
  464. package/dist/metadata/MetadataContext.d.ts.map +1 -0
  465. package/dist/metadata/MetadataContext.js +23 -0
  466. package/dist/metadata/MetadataContext.js.map +1 -0
  467. package/dist/metadata/MetadataLayer.d.ts +27 -0
  468. package/dist/metadata/MetadataLayer.d.ts.map +1 -0
  469. package/dist/metadata/MetadataLayer.js +78 -0
  470. package/dist/metadata/MetadataLayer.js.map +1 -0
  471. package/dist/metadata/MetadataPath.d.ts +24 -0
  472. package/dist/metadata/MetadataPath.d.ts.map +1 -0
  473. package/dist/metadata/MetadataPath.js +104 -0
  474. package/dist/metadata/MetadataPath.js.map +1 -0
  475. package/dist/metadata/MultiTenantMetadataManager.d.ts +27 -0
  476. package/dist/metadata/MultiTenantMetadataManager.d.ts.map +1 -0
  477. package/dist/metadata/MultiTenantMetadataManager.js +69 -0
  478. package/dist/metadata/MultiTenantMetadataManager.js.map +1 -0
  479. package/dist/metadata/index.d.ts +7 -0
  480. package/dist/metadata/index.d.ts.map +1 -0
  481. package/dist/metadata/index.js +23 -0
  482. package/dist/metadata/index.js.map +1 -0
  483. package/dist/migration/Migration.d.ts +11 -0
  484. package/dist/migration/Migration.d.ts.map +1 -0
  485. package/dist/migration/Migration.js +10 -0
  486. package/dist/migration/Migration.js.map +1 -0
  487. package/dist/migration/MigrationCli.d.ts +25 -0
  488. package/dist/migration/MigrationCli.d.ts.map +1 -0
  489. package/dist/migration/MigrationCli.js +108 -0
  490. package/dist/migration/MigrationCli.js.map +1 -0
  491. package/dist/migration/MigrationRunner.d.ts +47 -0
  492. package/dist/migration/MigrationRunner.d.ts.map +1 -0
  493. package/dist/migration/MigrationRunner.js +182 -0
  494. package/dist/migration/MigrationRunner.js.map +1 -0
  495. package/dist/migration/index.d.ts +4 -0
  496. package/dist/migration/index.d.ts.map +1 -0
  497. package/dist/migration/index.js +20 -0
  498. package/dist/migration/index.js.map +1 -0
  499. package/dist/scanner/ColumnScanner.d.ts +16 -0
  500. package/dist/scanner/ColumnScanner.d.ts.map +1 -0
  501. package/dist/scanner/ColumnScanner.js +30 -0
  502. package/dist/scanner/ColumnScanner.js.map +1 -0
  503. package/dist/scanner/EntityScanner.d.ts +14 -0
  504. package/dist/scanner/EntityScanner.d.ts.map +1 -0
  505. package/dist/scanner/EntityScanner.js +38 -0
  506. package/dist/scanner/EntityScanner.js.map +1 -0
  507. package/dist/scanner/ManyToManyScanner.d.ts +9 -0
  508. package/dist/scanner/ManyToManyScanner.d.ts.map +1 -0
  509. package/dist/scanner/ManyToManyScanner.js +39 -0
  510. package/dist/scanner/ManyToManyScanner.js.map +1 -0
  511. package/dist/scanner/ManyToOneScanner.d.ts +9 -0
  512. package/dist/scanner/ManyToOneScanner.d.ts.map +1 -0
  513. package/dist/scanner/ManyToOneScanner.js +38 -0
  514. package/dist/scanner/ManyToOneScanner.js.map +1 -0
  515. package/dist/scanner/MetadataScanner.d.ts +45 -0
  516. package/dist/scanner/MetadataScanner.d.ts.map +1 -0
  517. package/dist/scanner/MetadataScanner.js +200 -0
  518. package/dist/scanner/MetadataScanner.js.map +1 -0
  519. package/dist/scanner/OneToManyScanner.d.ts +9 -0
  520. package/dist/scanner/OneToManyScanner.d.ts.map +1 -0
  521. package/dist/scanner/OneToManyScanner.js +39 -0
  522. package/dist/scanner/OneToManyScanner.js.map +1 -0
  523. package/dist/scanner/OneToOneScanner.d.ts +9 -0
  524. package/dist/scanner/OneToOneScanner.d.ts.map +1 -0
  525. package/dist/scanner/OneToOneScanner.js +39 -0
  526. package/dist/scanner/OneToOneScanner.js.map +1 -0
  527. package/dist/scanner/index.d.ts +9 -0
  528. package/dist/scanner/index.d.ts.map +1 -0
  529. package/dist/scanner/index.js +27 -0
  530. package/dist/scanner/index.js.map +1 -0
  531. package/dist/types/CascadeType.d.ts +5 -0
  532. package/dist/types/CascadeType.d.ts.map +1 -0
  533. package/dist/types/CascadeType.js +19 -0
  534. package/dist/types/CascadeType.js.map +1 -0
  535. package/dist/types/ColumnPaths.d.ts +7 -0
  536. package/dist/types/ColumnPaths.d.ts.map +1 -0
  537. package/dist/types/ColumnPaths.js +3 -0
  538. package/dist/types/ColumnPaths.js.map +1 -0
  539. package/dist/types/DeepPartial.d.ts +4 -0
  540. package/dist/types/DeepPartial.d.ts.map +1 -0
  541. package/dist/types/DeepPartial.js +3 -0
  542. package/dist/types/DeepPartial.js.map +1 -0
  543. package/dist/types/DeleteResult.d.ts +4 -0
  544. package/dist/types/DeleteResult.d.ts.map +1 -0
  545. package/dist/types/DeleteResult.js +3 -0
  546. package/dist/types/DeleteResult.js.map +1 -0
  547. package/dist/types/EntityResult.d.ts +3 -0
  548. package/dist/types/EntityResult.d.ts.map +1 -0
  549. package/dist/types/EntityResult.js +3 -0
  550. package/dist/types/EntityResult.js.map +1 -0
  551. package/dist/types/FindCondition.d.ts +16 -0
  552. package/dist/types/FindCondition.d.ts.map +1 -0
  553. package/dist/types/FindCondition.js +3 -0
  554. package/dist/types/FindCondition.js.map +1 -0
  555. package/dist/types/OrderByOption.d.ts +5 -0
  556. package/dist/types/OrderByOption.d.ts.map +1 -0
  557. package/dist/types/OrderByOption.js +3 -0
  558. package/dist/types/OrderByOption.js.map +1 -0
  559. package/dist/types/QueryResult.d.ts +5 -0
  560. package/dist/types/QueryResult.d.ts.map +1 -0
  561. package/dist/types/QueryResult.js +3 -0
  562. package/dist/types/QueryResult.js.map +1 -0
  563. package/dist/types/SchemaOption.d.ts +3 -0
  564. package/dist/types/SchemaOption.d.ts.map +1 -0
  565. package/dist/types/SchemaOption.js +3 -0
  566. package/dist/types/SchemaOption.js.map +1 -0
  567. package/dist/types/index.d.ts +9 -0
  568. package/dist/types/index.d.ts.map +1 -0
  569. package/dist/types/index.js +25 -0
  570. package/dist/types/index.js.map +1 -0
  571. package/dist/utils/Logger.d.ts +15 -0
  572. package/dist/utils/Logger.d.ts.map +1 -0
  573. package/dist/utils/Logger.js +75 -0
  574. package/dist/utils/Logger.js.map +1 -0
  575. package/dist/utils/ReflectManager.d.ts +12 -0
  576. package/dist/utils/ReflectManager.d.ts.map +1 -0
  577. package/dist/utils/ReflectManager.js +34 -0
  578. package/dist/utils/ReflectManager.js.map +1 -0
  579. package/dist/utils/camelToSnakeCase.d.ts +2 -0
  580. package/dist/utils/camelToSnakeCase.d.ts.map +1 -0
  581. package/dist/utils/camelToSnakeCase.js +7 -0
  582. package/dist/utils/camelToSnakeCase.js.map +1 -0
  583. package/dist/utils/index.d.ts +6 -0
  584. package/dist/utils/index.d.ts.map +1 -0
  585. package/dist/utils/index.js +22 -0
  586. package/dist/utils/index.js.map +1 -0
  587. package/dist/utils/scanner.d.ts +2 -0
  588. package/dist/utils/scanner.d.ts.map +1 -0
  589. package/dist/utils/scanner.js +8 -0
  590. package/dist/utils/scanner.js.map +1 -0
  591. package/dist/utils/types.d.ts +5 -0
  592. package/dist/utils/types.d.ts.map +1 -0
  593. package/dist/utils/types.js +3 -0
  594. package/dist/utils/types.js.map +1 -0
  595. package/package.json +87 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 biud436
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,53 @@
1
+ <h1 align="center">Stingerloom ORM</h1>
2
+ <p align="center">Decorator-driven TypeScript ORM with multi-tenancy support.</p>
3
+
4
+ <p align="center">
5
+ <img src="https://img.shields.io/badge/tests-1%2C405%20passed-brightgreen" alt="Tests" />
6
+ <img src="https://img.shields.io/badge/license-MIT-blue" alt="License" />
7
+ <img src="https://img.shields.io/badge/TypeScript-strict-3178C6?logo=typescript&logoColor=white" alt="TypeScript" />
8
+ </p>
9
+
10
+ ---
11
+
12
+ ```typescript
13
+ @Entity()
14
+ class User {
15
+ @PrimaryGeneratedColumn() id!: number;
16
+ @Column() name!: string;
17
+ @Column() email!: string;
18
+ }
19
+
20
+ const em = new EntityManager();
21
+ await em.register({ type: "postgres", entities: [User], synchronize: true });
22
+
23
+ await em.save(User, { name: "Alice", email: "alice@example.com" });
24
+ await em.find(User, { where: { name: "Alice" } });
25
+ ```
26
+
27
+ ## Features
28
+
29
+ - CRUD
30
+ - Relations (ManyToOne, OneToMany, ManyToMany, OneToOne)
31
+ - Eager & Lazy Loading
32
+ - Transactions
33
+ - Migrations
34
+ - Query Builder
35
+ - Multi-tenancy
36
+ - Soft Delete
37
+ - Upsert
38
+ - Cursor Pagination
39
+ - N+1 Detection
40
+ - EntitySubscriber
41
+ - NestJS Integration
42
+
43
+ ## Databases
44
+
45
+ PostgreSQL · MySQL · SQLite
46
+
47
+ ## Docs
48
+
49
+ See **[docs/](./docs/README.md)** for full documentation.
50
+
51
+ ## License
52
+
53
+ [MIT](./LICENSE)
@@ -0,0 +1,23 @@
1
+ import { DatabaseClientOptions } from "./core/DatabaseClientOptions";
2
+ import { IConnector } from "./core/IConnector";
3
+ export declare class DatabaseClient {
4
+ private static instance;
5
+ private readonly connectors;
6
+ private readonly connectionsOptions;
7
+ private readonly connectionsType;
8
+ private readonly logger;
9
+ private constructor();
10
+ static getInstance(): DatabaseClient;
11
+ get type(): string | undefined;
12
+ connect(options: DatabaseClientOptions, name?: string): Promise<IConnector>;
13
+ private createConnector;
14
+ private connectWithRetry;
15
+ private sleep;
16
+ getConnection(name?: string): IConnector;
17
+ getOptions(name?: string): DatabaseClientOptions;
18
+ getType(name?: string): string | undefined;
19
+ getRegisteredNames(): string[];
20
+ hasConnection(name?: string): boolean;
21
+ close(name?: string): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=DatabaseClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseClient.d.ts","sourceRoot":"","sources":["../src/DatabaseClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK/C,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IAGxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CACvB;IACZ,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAElE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAE1D,OAAO;WAEO,WAAW,IAAI,cAAc;IAW3C,IAAW,IAAI,IAAI,MAAM,GAAG,SAAS,CAEpC;IAOY,OAAO,CAClB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,SAAY,GACf,OAAO,CAAC,UAAU,CAAC;IAqBtB,OAAO,CAAC,eAAe;YAkBT,gBAAgB;IA2B9B,OAAO,CAAC,KAAK;IAQN,aAAa,CAAC,IAAI,SAAY,GAAG,UAAU;IAgB3C,UAAU,CAAC,IAAI,SAAY,GAAG,qBAAqB;IAkBnD,OAAO,CAAC,IAAI,SAAY,GAAG,MAAM,GAAG,SAAS;IAO7C,kBAAkB,IAAI,MAAM,EAAE;IAO9B,aAAa,CAAC,IAAI,SAAY,GAAG,OAAO;IAQlC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBjD"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatabaseClient = void 0;
4
+ const DatabaseNotConnectedError_1 = require("./errors/DatabaseNotConnectedError");
5
+ const MySqlConnector_1 = require("./dialects/mysql/MySqlConnector");
6
+ const PostgresConnector_1 = require("./dialects/postgres/PostgresConnector");
7
+ const SqliteConnector_1 = require("./dialects/sqlite/SqliteConnector");
8
+ const NotSupportedDatabaseTypeError_1 = require("./errors/NotSupportedDatabaseTypeError");
9
+ const errors_1 = require("./errors");
10
+ const Logger_1 = require("./utils/Logger");
11
+ class DatabaseClient {
12
+ constructor() {
13
+ this.connectors = new Map();
14
+ this.connectionsOptions = new Map();
15
+ this.connectionsType = new Map();
16
+ this.logger = new Logger_1.Logger(DatabaseClient.name);
17
+ }
18
+ static getInstance() {
19
+ if (!DatabaseClient.instance) {
20
+ DatabaseClient.instance = new DatabaseClient();
21
+ }
22
+ return DatabaseClient.instance;
23
+ }
24
+ get type() {
25
+ return this.connectionsType.get("default");
26
+ }
27
+ async connect(options, name = "default") {
28
+ const { type } = options;
29
+ this.connectionsType.set(name, type);
30
+ this.connectionsOptions.set(name, options);
31
+ const connector = this.createConnector(type);
32
+ this.connectors.set(name, connector);
33
+ if (options.retry) {
34
+ await this.connectWithRetry(connector, options);
35
+ }
36
+ else {
37
+ await connector.connect(options);
38
+ }
39
+ return connector;
40
+ }
41
+ createConnector(type) {
42
+ switch (type) {
43
+ case "mariadb":
44
+ case "mysql":
45
+ return new MySqlConnector_1.MySqlConnector();
46
+ case "postgres":
47
+ return new PostgresConnector_1.PostgresConnector();
48
+ case "sqlite":
49
+ return new SqliteConnector_1.SqliteConnector();
50
+ default:
51
+ throw new NotSupportedDatabaseTypeError_1.NotSupportedDatabaseTypeError();
52
+ }
53
+ }
54
+ async connectWithRetry(connector, options) {
55
+ const { maxAttempts, backoffMs } = options.retry;
56
+ let lastError;
57
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
58
+ try {
59
+ await connector.connect(options);
60
+ return;
61
+ }
62
+ catch (error) {
63
+ lastError = error;
64
+ if (attempt < maxAttempts) {
65
+ const delay = backoffMs * Math.pow(2, attempt - 1);
66
+ this.logger.warn(`Connection attempt ${attempt}/${maxAttempts} failed. Retrying in ${delay}ms...`);
67
+ await this.sleep(delay);
68
+ }
69
+ }
70
+ }
71
+ this.logger.error(`All ${maxAttempts} connection attempts failed.`);
72
+ throw lastError;
73
+ }
74
+ sleep(ms) {
75
+ return new Promise((resolve) => setTimeout(resolve, ms));
76
+ }
77
+ getConnection(name = "default") {
78
+ const connector = this.connectors.get(name);
79
+ if (!connector) {
80
+ if (name === "default") {
81
+ throw new DatabaseNotConnectedError_1.DatabaseNotConnectedError();
82
+ }
83
+ throw new errors_1.Exception(`연결 '${name}'을 찾을 수 없습니다.`, 500);
84
+ }
85
+ return connector;
86
+ }
87
+ getOptions(name = "default") {
88
+ const options = this.connectionsOptions.get(name);
89
+ if (!options) {
90
+ throw new errors_1.Exception(name === "default"
91
+ ? "옵션이 존재하지 않습니다."
92
+ : `연결 '${name}'의 옵션을 찾을 수 없습니다.`, 500);
93
+ }
94
+ return options;
95
+ }
96
+ getType(name = "default") {
97
+ return this.connectionsType.get(name);
98
+ }
99
+ getRegisteredNames() {
100
+ return Array.from(this.connectors.keys());
101
+ }
102
+ hasConnection(name = "default") {
103
+ return this.connectors.has(name);
104
+ }
105
+ async close(name) {
106
+ if (name) {
107
+ const connector = this.connectors.get(name);
108
+ if (connector) {
109
+ await connector.close();
110
+ this.connectors.delete(name);
111
+ this.connectionsOptions.delete(name);
112
+ this.connectionsType.delete(name);
113
+ }
114
+ return;
115
+ }
116
+ for (const [connName, connector] of this.connectors) {
117
+ await connector.close();
118
+ this.connectors.delete(connName);
119
+ this.connectionsOptions.delete(connName);
120
+ this.connectionsType.delete(connName);
121
+ }
122
+ }
123
+ }
124
+ exports.DatabaseClient = DatabaseClient;
125
+ //# sourceMappingURL=DatabaseClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseClient.js","sourceRoot":"","sources":["../src/DatabaseClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { ClazzType } from "../utils";
2
+ import { FindOption, WhereClause } from "../dialects/FindOption";
3
+ import { BaseRepository } from "./BaseRepository";
4
+ import { EntityResult } from "../types/EntityResult";
5
+ import { DeleteResult } from "../types/DeleteResult";
6
+ import { DatabaseClientOptions } from "./DatabaseClientOptions";
7
+ import { Sql } from "sql-template-tag";
8
+ import { CursorPaginationOption, CursorPaginationResult } from "./CursorPagination";
9
+ export declare abstract class BaseEntityManager {
10
+ abstract register(databaseClientOptions: DatabaseClientOptions): Promise<void>;
11
+ abstract connect(databaseClientOptions: DatabaseClientOptions): Promise<void>;
12
+ abstract propagateShutdown(options?: {
13
+ gracefulTimeoutMs?: number;
14
+ closeConnections?: boolean;
15
+ }): Promise<boolean>;
16
+ abstract findOne<T>(entity: ClazzType<T>, findOption: FindOption<T>): Promise<T | null>;
17
+ abstract find<T>(entity: ClazzType<T>, findOption: FindOption<T>): Promise<EntityResult<T>>;
18
+ abstract findWithCursor<T>(entity: ClazzType<T>, option?: CursorPaginationOption<T>): Promise<CursorPaginationResult<T>>;
19
+ abstract save<T>(entity: ClazzType<T>, item: Partial<T>): Promise<InstanceType<ClazzType<T>>>;
20
+ abstract delete<T>(entity: ClazzType<T>, criteria: WhereClause<T>): Promise<DeleteResult>;
21
+ abstract deleteMany<T>(entity: ClazzType<T>, ids: any[]): Promise<DeleteResult>;
22
+ abstract softDelete<T>(entity: ClazzType<T>, criteria: WhereClause<T>): Promise<DeleteResult>;
23
+ abstract restore<T>(entity: ClazzType<T>, criteria: WhereClause<T>): Promise<DeleteResult>;
24
+ abstract query<T = Record<string, unknown>>(sqlQuery: string | Sql, params?: unknown[]): Promise<T[]>;
25
+ abstract findAndCount<T>(entity: ClazzType<T>, findOption?: FindOption<T>): Promise<[T[], number]>;
26
+ abstract getRepository<T>(entity: ClazzType<T>): BaseRepository<T>;
27
+ abstract withTenant<R>(tenantId: string, callback: (em: this) => Promise<R>): Promise<R>;
28
+ }
29
+ //# sourceMappingURL=BaseEntityManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEntityManager.d.ts","sourceRoot":"","sources":["../../src/core/BaseEntityManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseEntityManager = void 0;
4
+ class BaseEntityManager {
5
+ }
6
+ exports.BaseEntityManager = BaseEntityManager;
7
+ //# sourceMappingURL=BaseEntityManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEntityManager.js","sourceRoot":"","sources":["../../src/core/BaseEntityManager.ts"],"names":[],"mappings":";;;AAaA,MAAsB,iBAAiB;CAuLtC;AAvLD,8CAuLC"}
@@ -0,0 +1,8 @@
1
+ import { ClazzType } from "../utils";
2
+ import { Sql } from "sql-template-tag";
3
+ export interface BaseInsertQueryBuilder {
4
+ into<T>(entity: ClazzType<T>): BaseInsertQueryBuilder;
5
+ values<T>(data: Partial<T>): BaseInsertQueryBuilder;
6
+ build(): Sql;
7
+ }
8
+ //# sourceMappingURL=BaseInsertQueryBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseInsertQueryBuilder.d.ts","sourceRoot":"","sources":["../../src/core/BaseInsertQueryBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAKvC,MAAM,WAAW,sBAAsB;IAOrC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC;IAQtD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC;IAOpD,KAAK,IAAI,GAAG,CAAC;CACd"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BaseInsertQueryBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseInsertQueryBuilder.js","sourceRoot":"","sources":["../../src/core/BaseInsertQueryBuilder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { Sql } from "sql-template-tag";
2
+ import { DatabaseType } from "./RawQueryBuilder";
3
+ export interface BaseRawQueryBuilder {
4
+ setDatabaseType(type: DatabaseType): BaseRawQueryBuilder;
5
+ select(columns: string[] | "*"): BaseRawQueryBuilder;
6
+ from(table: string, alias?: string): BaseRawQueryBuilder;
7
+ where(conditions: Sql[]): BaseRawQueryBuilder;
8
+ andWhere(condition: Sql): BaseRawQueryBuilder;
9
+ orWhere(condition: Sql): BaseRawQueryBuilder;
10
+ whereIn(column: string, values: any[]): BaseRawQueryBuilder;
11
+ whereNotIn(column: string, values: any[]): BaseRawQueryBuilder;
12
+ whereNull(column: string): BaseRawQueryBuilder;
13
+ whereNotNull(column: string): BaseRawQueryBuilder;
14
+ whereBetween(column: string, min: any, max: any): BaseRawQueryBuilder;
15
+ orderBy(orders: Array<{
16
+ column: string;
17
+ direction: "ASC" | "DESC";
18
+ }>): BaseRawQueryBuilder;
19
+ limit(limit: number | [number, number]): BaseRawQueryBuilder;
20
+ join(type: "INNER" | "LEFT" | "RIGHT", table: string, alias: string, condition: Sql): BaseRawQueryBuilder;
21
+ leftJoin(table: string, alias: string, condition: Sql): BaseRawQueryBuilder;
22
+ innerJoin(table: string, alias: string, condition: Sql): BaseRawQueryBuilder;
23
+ rightJoin(table: string, alias: string, condition: Sql): BaseRawQueryBuilder;
24
+ offset(offset: number): BaseRawQueryBuilder;
25
+ groupBy(columns: string[]): BaseRawQueryBuilder;
26
+ having(conditions: Sql[]): BaseRawQueryBuilder;
27
+ appendSql(sqlFragment: Sql): BaseRawQueryBuilder;
28
+ as(alias: string): Sql;
29
+ asInQuery(): Sql;
30
+ asExists(): Sql;
31
+ build(): Sql;
32
+ }
33
+ //# sourceMappingURL=BaseRawQueryBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseRawQueryBuilder.d.ts","sourceRoot":"","sources":["../../src/core/BaseRawQueryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD,MAAM,WAAW,mBAAmB;IAMlC,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,mBAAmB,CAAC;IAOzD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,mBAAmB,CAAC;IAQrD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAOzD,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC;IAM9C,QAAQ,CAAC,SAAS,EAAE,GAAG,GAAG,mBAAmB,CAAC;IAM9C,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,mBAAmB,CAAC;IAK7C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC;IAK5D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC;IAK/D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAK/C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAKlD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,mBAAmB,CAAC;IAOtE,OAAO,CACL,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC,GAC3D,mBAAmB,CAAC;IAOvB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,mBAAmB,CAAC;IAU7D,IAAI,CACF,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,EAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,GAAG,GACb,mBAAmB,CAAC;IAMvB,QAAQ,CACN,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,GAAG,GACb,mBAAmB,CAAC;IAMvB,SAAS,CACP,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,GAAG,GACb,mBAAmB,CAAC;IAMvB,SAAS,CACP,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,GAAG,GACb,mBAAmB,CAAC;IAOvB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAO5C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;IAOhD,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC;IAO/C,SAAS,CAAC,WAAW,EAAE,GAAG,GAAG,mBAAmB,CAAC;IAOjD,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;IAMvB,SAAS,IAAI,GAAG,CAAC;IAMjB,QAAQ,IAAI,GAAG,CAAC;IAMhB,KAAK,IAAI,GAAG,CAAC;CACd"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BaseRawQueryBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseRawQueryBuilder.js","sourceRoot":"","sources":["../../src/core/BaseRawQueryBuilder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { ClazzType } from "../utils";
2
+ import { FindOption, WhereClause } from "../dialects/FindOption";
3
+ import { EntityManager } from "./EntityManager";
4
+ import { EntityResult } from "../types/EntityResult";
5
+ import { DeleteResult } from "../types/DeleteResult";
6
+ import { CursorPaginationOption, CursorPaginationResult } from "./CursorPagination";
7
+ import { ExplainResult } from "./ExplainResult";
8
+ export declare class BaseRepository<T> {
9
+ private readonly entity;
10
+ private readonly em;
11
+ constructor(entity: ClazzType<T>, em: EntityManager);
12
+ save(item: Partial<T>): Promise<InstanceType<ClazzType<T>>>;
13
+ find(findOption?: FindOption<T>): Promise<EntityResult<T>>;
14
+ findOne(findOption: FindOption<T>): Promise<T | null>;
15
+ findWithCursor(option?: CursorPaginationOption<T>): Promise<CursorPaginationResult<T>>;
16
+ findAndCount(findOption?: FindOption<T>): Promise<[T[], number]>;
17
+ static of<T>(entity: ClazzType<T>, em: EntityManager): BaseRepository<T>;
18
+ delete(criteria: WhereClause<T>): Promise<DeleteResult>;
19
+ remove(item: T): Promise<DeleteResult>;
20
+ softDelete(criteria: WhereClause<T>): Promise<DeleteResult>;
21
+ restore(criteria: WhereClause<T>): Promise<DeleteResult>;
22
+ saveMany(items: Partial<T>[]): Promise<InstanceType<ClazzType<T>>[]>;
23
+ insertMany(items: Partial<T>[]): Promise<{
24
+ affected: number;
25
+ }>;
26
+ deleteMany(ids: any[]): Promise<DeleteResult>;
27
+ clear(): Promise<void>;
28
+ count(where?: WhereClause<T>): Promise<number>;
29
+ sum(field: keyof T & string, where?: WhereClause<T>): Promise<number>;
30
+ avg(field: keyof T & string, where?: WhereClause<T>): Promise<number>;
31
+ min(field: keyof T & string, where?: WhereClause<T>): Promise<number>;
32
+ max(field: keyof T & string, where?: WhereClause<T>): Promise<number>;
33
+ explain(findOption?: FindOption<T>): Promise<ExplainResult>;
34
+ upsert(data: Partial<T>, conflictColumns?: string[]): Promise<void>;
35
+ persist(item: T): Promise<InstanceType<ClazzType<T>>>;
36
+ }
37
+ //# sourceMappingURL=BaseRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseRepository.d.ts","sourceRoot":"","sources":["../../src/core/BaseRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseRepository = void 0;
4
+ class BaseRepository {
5
+ constructor(entity, em) {
6
+ this.entity = entity;
7
+ this.em = em;
8
+ }
9
+ async save(item) {
10
+ return await this.em.save(this.entity, item);
11
+ }
12
+ async find(findOption) {
13
+ return await this.em.find(this.entity, findOption);
14
+ }
15
+ async findOne(findOption) {
16
+ return await this.em.findOne(this.entity, findOption);
17
+ }
18
+ async findWithCursor(option) {
19
+ return await this.em.findWithCursor(this.entity, option);
20
+ }
21
+ async findAndCount(findOption) {
22
+ return await this.em.findAndCount(this.entity, findOption);
23
+ }
24
+ static of(entity, em) {
25
+ return new BaseRepository(entity, em);
26
+ }
27
+ async delete(criteria) {
28
+ return await this.em.delete(this.entity, criteria);
29
+ }
30
+ async remove(item) {
31
+ return await this.em.delete(this.entity, item);
32
+ }
33
+ async softDelete(criteria) {
34
+ return await this.em.softDelete(this.entity, criteria);
35
+ }
36
+ async restore(criteria) {
37
+ return await this.em.restore(this.entity, criteria);
38
+ }
39
+ async saveMany(items) {
40
+ return await this.em.saveMany(this.entity, items);
41
+ }
42
+ async insertMany(items) {
43
+ return await this.em.insertMany(this.entity, items);
44
+ }
45
+ async deleteMany(ids) {
46
+ return await this.em.deleteMany(this.entity, ids);
47
+ }
48
+ async clear() {
49
+ return await this.em.clear(this.entity);
50
+ }
51
+ async count(where) {
52
+ return await this.em.count(this.entity, where);
53
+ }
54
+ async sum(field, where) {
55
+ return await this.em.sum(this.entity, field, where);
56
+ }
57
+ async avg(field, where) {
58
+ return await this.em.avg(this.entity, field, where);
59
+ }
60
+ async min(field, where) {
61
+ return await this.em.min(this.entity, field, where);
62
+ }
63
+ async max(field, where) {
64
+ return await this.em.max(this.entity, field, where);
65
+ }
66
+ async explain(findOption) {
67
+ return await this.em.explain(this.entity, findOption);
68
+ }
69
+ async upsert(data, conflictColumns) {
70
+ return await this.em.upsert(this.entity, data, conflictColumns);
71
+ }
72
+ async persist(item) {
73
+ return await this.em.save(this.entity, item);
74
+ }
75
+ }
76
+ exports.BaseRepository = BaseRepository;
77
+ //# sourceMappingURL=BaseRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseRepository.js","sourceRoot":"","sources":["../../src/core/BaseRepository.ts"],"names":[],"mappings":";;;AAiBA,MAAa,cAAc;IAOzB,YACmB,MAAoB,EACpB,EAAiB;QADjB,WAAM,GAAN,MAAM,CAAc;QACpB,OAAE,GAAF,EAAE,CAAe;IACjC,CAAC;IASJ,KAAK,CAAC,IAAI,CAAC,IAAgB;QACzB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAQD,KAAK,CAAC,IAAI,CAAC,UAA0B;QACnC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAI,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAQD,KAAK,CAAC,OAAO,CAAC,UAAyB;QACrC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAI,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAQD,KAAK,CAAC,cAAc,CAClB,MAAkC;QAElC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,CAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IASD,KAAK,CAAC,YAAY,CAAC,UAA0B;QAC3C,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAI,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IASD,MAAM,CAAC,EAAE,CAAI,MAAoB,EAAE,EAAiB;QAClD,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAQD,KAAK,CAAC,MAAM,CAAC,QAAwB;QACnC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAQD,KAAK,CAAC,MAAM,CAAC,IAAO;QAClB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAI,IAAI,CAAC,MAAM,EAAE,IAAW,CAAC,CAAC;IAC3D,CAAC;IASD,KAAK,CAAC,UAAU,CAAC,QAAwB;QACvC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IASD,KAAK,CAAC,OAAO,CAAC,QAAwB;QACpC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IASD,KAAK,CAAC,QAAQ,CACZ,KAAmB;QAEnB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAQD,KAAK,CAAC,UAAU,CAAC,KAAmB;QAClC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAQD,KAAK,CAAC,UAAU,CAAC,GAAU;QACzB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAI,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAKD,KAAK,CAAC,KAAK;QACT,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAKD,KAAK,CAAC,KAAK,CAAC,KAAsB;QAChC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAKD,KAAK,CAAC,GAAG,CACP,KAAuB,EACvB,KAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAKD,KAAK,CAAC,GAAG,CACP,KAAuB,EACvB,KAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAKD,KAAK,CAAC,GAAG,CACP,KAAuB,EACvB,KAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAKD,KAAK,CAAC,GAAG,CACP,KAAuB,EACvB,KAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAQD,KAAK,CAAC,OAAO,CAAC,UAA0B;QACtC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAI,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IASD,KAAK,CAAC,MAAM,CACV,IAAgB,EAChB,eAA0B;QAE1B,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IACrE,CAAC;IAQD,KAAK,CAAC,OAAO,CAAC,IAAO;QACnB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AA/OD,wCA+OC"}
@@ -0,0 +1,11 @@
1
+ import { MyClassConstructor } from "./MyClassConstructor";
2
+ import type { QueryResult } from "../types/QueryResult";
3
+ export interface BaseResultTransformer {
4
+ toEntity<T>(entityClass: MyClassConstructor<T>, result: QueryResult<any> | undefined): T | undefined;
5
+ toEntities<T>(entityClass: MyClassConstructor<T>, result: QueryResult<any> | undefined): T[];
6
+ transform<T>(entityClass: MyClassConstructor<T>, result: QueryResult<any> | undefined): T | T[] | undefined;
7
+ transformNested<T>(entityClass: MyClassConstructor<T>, result: QueryResult<any> | undefined, relations: {
8
+ [key: string]: MyClassConstructor<any>;
9
+ }): T | T[] | undefined;
10
+ }
11
+ //# sourceMappingURL=BaseResultTransformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseResultTransformer.d.ts","sourceRoot":"","sources":["../../src/core/BaseResultTransformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,qBAAqB;IAIpC,QAAQ,CAAC,CAAC,EACR,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAClC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,GACnC,CAAC,GAAG,SAAS,CAAC;IAIjB,UAAU,CAAC,CAAC,EACV,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAClC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,GACnC,CAAC,EAAE,CAAC;IAOP,SAAS,CAAC,CAAC,EACT,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAClC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,GACnC,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IAIvB,eAAe,CAAC,CAAC,EACf,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAClC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,EACpC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;KAAE,GACpD,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BaseResultTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseResultTransformer.js","sourceRoot":"","sources":["../../src/core/BaseResultTransformer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { Sql } from "sql-template-tag";
2
+ export declare class Conditions {
3
+ static equals(column: string, value: any): Sql;
4
+ static notEquals(column: string, value: any): Sql;
5
+ static in(column: string, values: any[]): Sql;
6
+ static notIn(column: string, values: any[]): Sql;
7
+ static like(column: string, pattern: string): Sql;
8
+ static notLike(column: string, pattern: string): Sql;
9
+ static isNull(column: string): Sql;
10
+ static isNotNull(column: string): Sql;
11
+ static between(column: string, start: any, end: any): Sql;
12
+ static notBetween(column: string, start: any, end: any): Sql;
13
+ static gt(column: string | Sql, value: any): Sql;
14
+ static gte(column: string, value: any): Sql;
15
+ static lt(column: string | Sql, value: any): Sql;
16
+ static lte(column: string, value: any): Sql;
17
+ static or(conditions: Sql[]): Sql;
18
+ static and(conditions: Sql[]): Sql;
19
+ static raw(condition: string): Sql;
20
+ static aggregate(fn: string, column: string): Sql;
21
+ static count(column: string): Sql;
22
+ static sum(column: string): Sql;
23
+ static avg(column: string): Sql;
24
+ static inSubquery(column: string, subquery: Sql): Sql;
25
+ static notInSubquery(column: string, subquery: Sql): Sql;
26
+ static exists(subquery: Sql): Sql;
27
+ static notExists(subquery: Sql): Sql;
28
+ private static readonly ALLOWED_OPERATORS;
29
+ private static validateOperator;
30
+ static compareSubquery(column: string, operator: string, subquery: Sql): Sql;
31
+ static compareColumns(column1: string, operator: string, column2: string): Sql;
32
+ }
33
+ //# sourceMappingURL=Conditions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Conditions.d.ts","sourceRoot":"","sources":["../../src/core/Conditions.ts"],"names":[],"mappings":"AACA,OAAY,EAAE,GAAG,EAAa,MAAM,kBAAkB,CAAC;AAEvD,qBAAa,UAAU;IAIrB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAO9C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAOjD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG;IAU7C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG;IAUhD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG;IAOjD,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG;IAOpD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAOlC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAOrC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG;IAOzD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG;IAO5D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAUhD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAO3C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAUhD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAO3C,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG;IAOjC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG;IAOlC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAOlC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG;IAOjD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAOjC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAO/B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAO/B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAOrD,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAOxD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG;IAYjC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG;IAIpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAavC;IAEF,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAY/B,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAQ5E,MAAM,CAAC,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,GAAG;CAIP"}