typeorm 0.3.18-dev.ff6e875 → 0.3.19-dev.633c4e3

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 (473) hide show
  1. package/README.md +23 -23
  2. package/browser/cache/DbQueryResultCache.js +3 -0
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
  5. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  6. package/browser/data-source/DataSource.d.ts +4 -0
  7. package/browser/data-source/DataSource.js +15 -0
  8. package/browser/data-source/DataSource.js.map +1 -1
  9. package/browser/decorator/Index.js +1 -0
  10. package/browser/decorator/Index.js.map +1 -1
  11. package/browser/decorator/entity/Entity.js +1 -0
  12. package/browser/decorator/entity/Entity.js.map +1 -1
  13. package/browser/decorator/options/EntityOptions.d.ts +4 -0
  14. package/browser/decorator/options/EntityOptions.js.map +1 -1
  15. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  16. package/browser/decorator/options/IndexOptions.js.map +1 -1
  17. package/browser/driver/Driver.d.ts +4 -0
  18. package/browser/driver/Driver.js.map +1 -1
  19. package/browser/driver/DriverUtils.js +2 -5
  20. package/browser/driver/DriverUtils.js.map +1 -1
  21. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
  22. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
  23. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  24. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
  25. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
  26. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  27. package/browser/driver/capacitor/CapacitorDriver.js +2 -2
  28. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  29. package/browser/driver/capacitor/CapacitorQueryRunner.js +2 -2
  30. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  31. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  32. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  33. package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  34. package/browser/driver/cockroachdb/CockroachDriver.js +30 -11
  35. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  36. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
  37. package/browser/driver/cockroachdb/CockroachQueryRunner.js +55 -19
  38. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  39. package/browser/driver/cordova/CordovaDriver.js +2 -2
  40. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  41. package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
  42. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  43. package/browser/driver/expo/ExpoQueryRunner.js +9 -2
  44. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  45. package/browser/driver/mongodb/MongoQueryRunner.d.ts +7 -3
  46. package/browser/driver/mongodb/MongoQueryRunner.js +6 -0
  47. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  48. package/browser/driver/mongodb/typings.d.ts +3 -3
  49. package/browser/driver/mongodb/typings.js.map +1 -1
  50. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  51. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  52. package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  53. package/browser/driver/mysql/MysqlQueryRunner.js +47 -10
  54. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  55. package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  56. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  57. package/browser/driver/oracle/OracleDriver.d.ts +4 -0
  58. package/browser/driver/oracle/OracleDriver.js +17 -2
  59. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  60. package/browser/driver/oracle/OracleQueryRunner.d.ts +4 -0
  61. package/browser/driver/oracle/OracleQueryRunner.js +55 -7
  62. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  63. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  64. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  65. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  66. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  67. package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
  68. package/browser/driver/postgres/PostgresDriver.js +14 -8
  69. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  70. package/browser/driver/postgres/PostgresQueryRunner.d.ts +4 -0
  71. package/browser/driver/postgres/PostgresQueryRunner.js +53 -24
  72. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  73. package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
  74. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  75. package/browser/driver/sap/SapDriver.d.ts +8 -0
  76. package/browser/driver/sap/SapDriver.js +14 -3
  77. package/browser/driver/sap/SapDriver.js.map +1 -1
  78. package/browser/driver/sap/SapQueryRunner.d.ts +8 -13
  79. package/browser/driver/sap/SapQueryRunner.js +81 -65
  80. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  81. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  82. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  83. package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
  84. package/browser/driver/spanner/SpannerDriver.js +10 -1
  85. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  86. package/browser/driver/spanner/SpannerQueryRunner.d.ts +4 -0
  87. package/browser/driver/spanner/SpannerQueryRunner.js +13 -1
  88. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  89. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  90. package/browser/driver/sqlite/SqliteQueryRunner.js +60 -46
  91. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  92. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
  93. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -17
  94. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  95. package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
  96. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  97. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  98. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  99. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
  100. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  101. package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  102. package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
  103. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  104. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
  105. package/browser/driver/sqlserver/SqlServerQueryRunner.js +32 -6
  106. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  107. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  108. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -0
  109. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  110. package/browser/entity-manager/EntityManager.d.ts +5 -1
  111. package/browser/entity-manager/EntityManager.js +15 -2
  112. package/browser/entity-manager/EntityManager.js.map +1 -1
  113. package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
  114. package/browser/entity-manager/MongoEntityManager.js +12 -10
  115. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  116. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  117. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  118. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  119. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  120. package/browser/error/EntityNotFoundError.d.ts +2 -0
  121. package/browser/error/EntityNotFoundError.js +2 -0
  122. package/browser/error/EntityNotFoundError.js.map +1 -1
  123. package/browser/error/QueryFailedError.d.ts +3 -3
  124. package/browser/error/QueryFailedError.js.map +1 -1
  125. package/browser/find-options/FindOperatorType.d.ts +1 -1
  126. package/browser/find-options/FindOperatorType.js.map +1 -1
  127. package/browser/find-options/FindOptionsUtils.js +1 -1
  128. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  129. package/browser/find-options/FindOptionsWhere.d.ts +1 -1
  130. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  131. package/browser/find-options/operator/Or.d.ts +2 -0
  132. package/browser/find-options/operator/Or.js +6 -0
  133. package/browser/find-options/operator/Or.js.map +1 -0
  134. package/browser/index.d.ts +2 -0
  135. package/browser/index.js +2 -0
  136. package/browser/index.js.map +1 -1
  137. package/browser/logger/AbstractLogger.js +1 -1
  138. package/browser/logger/AbstractLogger.js.map +1 -1
  139. package/browser/metadata/ColumnMetadata.js +4 -0
  140. package/browser/metadata/ColumnMetadata.js.map +1 -1
  141. package/browser/metadata/EntityMetadata.d.ts +7 -3
  142. package/browser/metadata/EntityMetadata.js +8 -3
  143. package/browser/metadata/EntityMetadata.js.map +1 -1
  144. package/browser/metadata/IndexMetadata.d.ts +5 -0
  145. package/browser/metadata/IndexMetadata.js +1 -0
  146. package/browser/metadata/IndexMetadata.js.map +1 -1
  147. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  148. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  149. package/browser/metadata-args/TableMetadataArgs.d.ts +4 -0
  150. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  151. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  152. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  153. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  154. package/browser/naming-strategy/DefaultNamingStrategy.js +0 -3
  155. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  156. package/browser/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  157. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  158. package/browser/persistence/Subject.js +2 -1
  159. package/browser/persistence/Subject.js.map +1 -1
  160. package/browser/persistence/SubjectExecutor.js +5 -2
  161. package/browser/persistence/SubjectExecutor.js.map +1 -1
  162. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  163. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  164. package/browser/platform/BrowserPlatformTools.d.ts +0 -7
  165. package/browser/platform/BrowserPlatformTools.js +3 -2
  166. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  167. package/browser/platform/PlatformTools.js +2 -0
  168. package/browser/platform/PlatformTools.js.map +1 -1
  169. package/browser/query-builder/InsertQueryBuilder.js +19 -6
  170. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  171. package/browser/query-builder/QueryBuilder.d.ts +5 -0
  172. package/browser/query-builder/QueryBuilder.js +36 -24
  173. package/browser/query-builder/QueryBuilder.js.map +1 -1
  174. package/browser/query-builder/QueryExpressionMap.d.ts +2 -1
  175. package/browser/query-builder/QueryExpressionMap.js +0 -4
  176. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  177. package/browser/query-builder/SelectQueryBuilder.js +14 -4
  178. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  179. package/browser/query-builder/WhereClause.d.ts +1 -1
  180. package/browser/query-builder/WhereClause.js.map +1 -1
  181. package/browser/query-builder/index.d.ts +1 -0
  182. package/browser/query-builder/index.js +17 -0
  183. package/browser/query-builder/index.js.map +1 -0
  184. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  185. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  186. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  187. package/browser/query-runner/BaseQueryRunner.js +1 -0
  188. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  189. package/browser/query-runner/QueryRunner.d.ts +4 -0
  190. package/browser/query-runner/QueryRunner.js.map +1 -1
  191. package/browser/repository/BaseEntity.d.ts +12 -0
  192. package/browser/repository/BaseEntity.js +12 -0
  193. package/browser/repository/BaseEntity.js.map +1 -1
  194. package/browser/repository/MongoRepository.d.ts +8 -4
  195. package/browser/repository/MongoRepository.js +6 -0
  196. package/browser/repository/MongoRepository.js.map +1 -1
  197. package/browser/repository/Repository.d.ts +14 -2
  198. package/browser/repository/Repository.js +26 -6
  199. package/browser/repository/Repository.js.map +1 -1
  200. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  201. package/browser/schema-builder/RdbmsSchemaBuilder.js +15 -0
  202. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  203. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  204. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  205. package/browser/schema-builder/options/TableOptions.d.ts +4 -0
  206. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  207. package/browser/schema-builder/table/Table.d.ts +4 -0
  208. package/browser/schema-builder/table/Table.js +3 -0
  209. package/browser/schema-builder/table/Table.js.map +1 -1
  210. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  211. package/browser/schema-builder/table/TableIndex.js +3 -0
  212. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  213. package/browser/subscriber/Broadcaster.d.ts +11 -1
  214. package/browser/subscriber/Broadcaster.js +48 -1
  215. package/browser/subscriber/Broadcaster.js.map +1 -1
  216. package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
  217. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  218. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  219. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  220. package/browser/subscriber/event/QueryEvent.d.ts +50 -0
  221. package/browser/subscriber/event/QueryEvent.js +3 -0
  222. package/browser/subscriber/event/QueryEvent.js.map +1 -0
  223. package/browser/util/DateUtils.js +4 -2
  224. package/browser/util/DateUtils.js.map +1 -1
  225. package/browser/util/DirectoryExportedClassesLoader.js +1 -1
  226. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  227. package/browser/util/OrmUtils.d.ts +6 -0
  228. package/browser/util/OrmUtils.js +66 -0
  229. package/browser/util/OrmUtils.js.map +1 -1
  230. package/cache/DbQueryResultCache.js +3 -0
  231. package/cache/DbQueryResultCache.js.map +1 -1
  232. package/commands/CommandUtils.js +6 -1
  233. package/commands/CommandUtils.js.map +1 -1
  234. package/commands/EntityCreateCommand.d.ts +3 -0
  235. package/commands/EntityCreateCommand.js +7 -0
  236. package/commands/EntityCreateCommand.js.map +1 -1
  237. package/commands/InitCommand.js +1 -1
  238. package/commands/InitCommand.js.map +1 -1
  239. package/commands/MigrationCreateCommand.d.ts +5 -1
  240. package/commands/MigrationCreateCommand.js +6 -1
  241. package/commands/MigrationCreateCommand.js.map +1 -1
  242. package/commands/MigrationGenerateCommand.d.ts +5 -1
  243. package/commands/MigrationGenerateCommand.js +8 -1
  244. package/commands/MigrationGenerateCommand.js.map +1 -1
  245. package/commands/SubscriberCreateCommand.d.ts +3 -0
  246. package/commands/SubscriberCreateCommand.js +7 -0
  247. package/commands/SubscriberCreateCommand.js.map +1 -1
  248. package/data-source/BaseDataSourceOptions.d.ts +4 -0
  249. package/data-source/BaseDataSourceOptions.js.map +1 -1
  250. package/data-source/DataSource.d.ts +4 -0
  251. package/data-source/DataSource.js +15 -0
  252. package/data-source/DataSource.js.map +1 -1
  253. package/decorator/Index.js +1 -0
  254. package/decorator/Index.js.map +1 -1
  255. package/decorator/entity/Entity.js +1 -0
  256. package/decorator/entity/Entity.js.map +1 -1
  257. package/decorator/options/EntityOptions.d.ts +4 -0
  258. package/decorator/options/EntityOptions.js.map +1 -1
  259. package/decorator/options/IndexOptions.d.ts +5 -0
  260. package/decorator/options/IndexOptions.js.map +1 -1
  261. package/driver/Driver.d.ts +4 -0
  262. package/driver/Driver.js.map +1 -1
  263. package/driver/DriverUtils.js +2 -5
  264. package/driver/DriverUtils.js.map +1 -1
  265. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
  266. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
  267. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  268. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
  269. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
  270. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  271. package/driver/capacitor/CapacitorDriver.js +2 -2
  272. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  273. package/driver/capacitor/CapacitorQueryRunner.js +2 -2
  274. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  275. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  276. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  277. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  278. package/driver/cockroachdb/CockroachDriver.js +30 -11
  279. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  280. package/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
  281. package/driver/cockroachdb/CockroachQueryRunner.js +55 -19
  282. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  283. package/driver/cordova/CordovaDriver.js +2 -2
  284. package/driver/cordova/CordovaDriver.js.map +1 -1
  285. package/driver/cordova/CordovaQueryRunner.js +8 -0
  286. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  287. package/driver/expo/ExpoQueryRunner.js +9 -2
  288. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  289. package/driver/mongodb/MongoQueryRunner.d.ts +7 -3
  290. package/driver/mongodb/MongoQueryRunner.js +6 -0
  291. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  292. package/driver/mongodb/typings.d.ts +3 -3
  293. package/driver/mongodb/typings.js.map +1 -1
  294. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  295. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  296. package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  297. package/driver/mysql/MysqlQueryRunner.js +47 -10
  298. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  299. package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  300. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  301. package/driver/oracle/OracleDriver.d.ts +4 -0
  302. package/driver/oracle/OracleDriver.js +17 -2
  303. package/driver/oracle/OracleDriver.js.map +1 -1
  304. package/driver/oracle/OracleQueryRunner.d.ts +4 -0
  305. package/driver/oracle/OracleQueryRunner.js +55 -7
  306. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  307. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  308. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  309. package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  310. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  311. package/driver/postgres/PostgresDriver.d.ts +4 -0
  312. package/driver/postgres/PostgresDriver.js +14 -8
  313. package/driver/postgres/PostgresDriver.js.map +1 -1
  314. package/driver/postgres/PostgresQueryRunner.d.ts +4 -0
  315. package/driver/postgres/PostgresQueryRunner.js +53 -24
  316. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  317. package/driver/react-native/ReactNativeQueryRunner.js +10 -2
  318. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  319. package/driver/sap/SapDriver.d.ts +8 -0
  320. package/driver/sap/SapDriver.js +15 -4
  321. package/driver/sap/SapDriver.js.map +1 -1
  322. package/driver/sap/SapQueryRunner.d.ts +8 -13
  323. package/driver/sap/SapQueryRunner.js +81 -65
  324. package/driver/sap/SapQueryRunner.js.map +1 -1
  325. package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  326. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  327. package/driver/spanner/SpannerDriver.d.ts +4 -0
  328. package/driver/spanner/SpannerDriver.js +10 -1
  329. package/driver/spanner/SpannerDriver.js.map +1 -1
  330. package/driver/spanner/SpannerQueryRunner.d.ts +4 -0
  331. package/driver/spanner/SpannerQueryRunner.js +13 -1
  332. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  333. package/driver/sqlite/SqliteDriver.js.map +1 -1
  334. package/driver/sqlite/SqliteQueryRunner.js +60 -46
  335. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  336. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
  337. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -17
  338. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  339. package/driver/sqljs/SqljsQueryRunner.js +11 -3
  340. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  341. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  342. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  343. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
  344. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  345. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  346. package/driver/sqlserver/SqlServerDriver.js +10 -1
  347. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  348. package/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
  349. package/driver/sqlserver/SqlServerQueryRunner.js +32 -6
  350. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  351. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  352. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +4 -0
  353. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  354. package/entity-manager/EntityManager.d.ts +5 -1
  355. package/entity-manager/EntityManager.js +15 -2
  356. package/entity-manager/EntityManager.js.map +1 -1
  357. package/entity-manager/MongoEntityManager.d.ts +8 -4
  358. package/entity-manager/MongoEntityManager.js +12 -10
  359. package/entity-manager/MongoEntityManager.js.map +1 -1
  360. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  361. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  362. package/entity-schema/EntitySchemaTransformer.js +7 -0
  363. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  364. package/error/EntityNotFoundError.d.ts +2 -0
  365. package/error/EntityNotFoundError.js +2 -0
  366. package/error/EntityNotFoundError.js.map +1 -1
  367. package/error/QueryFailedError.d.ts +3 -3
  368. package/error/QueryFailedError.js.map +1 -1
  369. package/find-options/FindOperatorType.d.ts +1 -1
  370. package/find-options/FindOperatorType.js.map +1 -1
  371. package/find-options/FindOptionsUtils.js +1 -1
  372. package/find-options/FindOptionsUtils.js.map +1 -1
  373. package/find-options/FindOptionsWhere.d.ts +1 -1
  374. package/find-options/FindOptionsWhere.js.map +1 -1
  375. package/find-options/operator/Or.d.ts +2 -0
  376. package/find-options/operator/Or.js +10 -0
  377. package/find-options/operator/Or.js.map +1 -0
  378. package/index.d.ts +2 -0
  379. package/index.js +2 -0
  380. package/index.js.map +1 -1
  381. package/index.mjs +4 -0
  382. package/logger/AbstractLogger.js +1 -1
  383. package/logger/AbstractLogger.js.map +1 -1
  384. package/metadata/ColumnMetadata.js +4 -0
  385. package/metadata/ColumnMetadata.js.map +1 -1
  386. package/metadata/EntityMetadata.d.ts +7 -3
  387. package/metadata/EntityMetadata.js +8 -3
  388. package/metadata/EntityMetadata.js.map +1 -1
  389. package/metadata/IndexMetadata.d.ts +5 -0
  390. package/metadata/IndexMetadata.js +1 -0
  391. package/metadata/IndexMetadata.js.map +1 -1
  392. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  393. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  394. package/metadata-args/TableMetadataArgs.d.ts +4 -0
  395. package/metadata-args/TableMetadataArgs.js.map +1 -1
  396. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  397. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  398. package/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  399. package/naming-strategy/DefaultNamingStrategy.js +0 -3
  400. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  401. package/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  402. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  403. package/package.json +1 -1
  404. package/persistence/Subject.js +2 -1
  405. package/persistence/Subject.js.map +1 -1
  406. package/persistence/SubjectExecutor.js +5 -2
  407. package/persistence/SubjectExecutor.js.map +1 -1
  408. package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  409. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  410. package/platform/PlatformTools.js +2 -0
  411. package/platform/PlatformTools.js.map +1 -1
  412. package/query-builder/InsertQueryBuilder.js +19 -6
  413. package/query-builder/InsertQueryBuilder.js.map +1 -1
  414. package/query-builder/QueryBuilder.d.ts +5 -0
  415. package/query-builder/QueryBuilder.js +36 -24
  416. package/query-builder/QueryBuilder.js.map +1 -1
  417. package/query-builder/QueryExpressionMap.d.ts +2 -1
  418. package/query-builder/QueryExpressionMap.js +0 -4
  419. package/query-builder/QueryExpressionMap.js.map +1 -1
  420. package/query-builder/SelectQueryBuilder.js +14 -4
  421. package/query-builder/SelectQueryBuilder.js.map +1 -1
  422. package/query-builder/WhereClause.d.ts +1 -1
  423. package/query-builder/WhereClause.js.map +1 -1
  424. package/query-builder/index.d.ts +1 -0
  425. package/query-builder/index.js +21 -0
  426. package/query-builder/index.js.map +1 -0
  427. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  428. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  429. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  430. package/query-runner/BaseQueryRunner.js +1 -0
  431. package/query-runner/BaseQueryRunner.js.map +1 -1
  432. package/query-runner/QueryRunner.d.ts +4 -0
  433. package/query-runner/QueryRunner.js.map +1 -1
  434. package/repository/BaseEntity.d.ts +12 -0
  435. package/repository/BaseEntity.js +12 -0
  436. package/repository/BaseEntity.js.map +1 -1
  437. package/repository/MongoRepository.d.ts +8 -4
  438. package/repository/MongoRepository.js +6 -0
  439. package/repository/MongoRepository.js.map +1 -1
  440. package/repository/Repository.d.ts +14 -2
  441. package/repository/Repository.js +26 -6
  442. package/repository/Repository.js.map +1 -1
  443. package/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  444. package/schema-builder/RdbmsSchemaBuilder.js +15 -0
  445. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  446. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  447. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  448. package/schema-builder/options/TableOptions.d.ts +4 -0
  449. package/schema-builder/options/TableOptions.js.map +1 -1
  450. package/schema-builder/table/Table.d.ts +4 -0
  451. package/schema-builder/table/Table.js +3 -0
  452. package/schema-builder/table/Table.js.map +1 -1
  453. package/schema-builder/table/TableIndex.d.ts +5 -0
  454. package/schema-builder/table/TableIndex.js +3 -0
  455. package/schema-builder/table/TableIndex.js.map +1 -1
  456. package/subscriber/Broadcaster.d.ts +11 -1
  457. package/subscriber/Broadcaster.js +48 -1
  458. package/subscriber/Broadcaster.js.map +1 -1
  459. package/subscriber/EntitySubscriberInterface.d.ts +9 -0
  460. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  461. package/subscriber/event/InsertEvent.d.ts +5 -0
  462. package/subscriber/event/InsertEvent.js.map +1 -1
  463. package/subscriber/event/QueryEvent.d.ts +50 -0
  464. package/subscriber/event/QueryEvent.js +4 -0
  465. package/subscriber/event/QueryEvent.js.map +1 -0
  466. package/typeorm-model-shim.js +61 -53
  467. package/util/DateUtils.js +5 -2
  468. package/util/DateUtils.js.map +1 -1
  469. package/util/DirectoryExportedClassesLoader.js +3 -3
  470. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  471. package/util/OrmUtils.d.ts +6 -0
  472. package/util/OrmUtils.js +66 -0
  473. package/util/OrmUtils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/decorator/Index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAyEjD;;;;GAIG;AACH,MAAM,UAAU,KAAK,CACjB,qBAIkB,EAClB,oBAI4B,EAC5B,YAA2B;IAE3B,uBAAuB;IACvB,MAAM,IAAI,GACN,OAAO,qBAAqB,KAAK,QAAQ;QACrC,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,SAAS,CAAA;IACnB,MAAM,MAAM,GACR,OAAO,qBAAqB,KAAK,QAAQ;QACrC,CAAC,CAGE,oBAAoB;QACvB,CAAC,CAAE,qBAAkC,CAAA;IAC7C,IAAI,OAAO,GACP,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC3C,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACjC,CAAC,CAAE,qBAAsC;QACzC,CAAC,CAAC,YAAY,CAAA;IACtB,IAAI,CAAC,OAAO;QACR,OAAO;YACH,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAC1C,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAChC,CAAC,CAAE,oBAAqC;gBACxC,CAAC,CAAC,YAAY,CAAA;IAE1B,OAAO,UACH,WAA8B,EAC9B,YAA8B;QAE9B,sBAAsB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,YAAY;gBAChB,CAAC,CAAC,WAAW,CAAC,WAAW;gBACzB,CAAC,CAAE,WAAwB;YAC/B,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM;YAC/C,WAAW,EACP,OAAO;gBACN,OAAkC,CAAC,WAAW,KAAK,KAAK;gBACrD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI;YACd,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC1C,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAChD,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAClD,QAAQ,EAAE,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YACpD,YAAY,EAAE,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC5D,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC5C,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAChD,UAAU,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YACxD,kBAAkB,EAAE,OAAO;gBACvB,CAAC,CAAC,OAAO,CAAC,kBAAkB;gBAC5B,CAAC,CAAC,SAAS;SACG,CAAC,CAAA;IAC3B,CAAC,CAAA;AACL,CAAC","file":"Index.js","sourcesContent":["import { getMetadataArgsStorage } from \"../globals\"\nimport { IndexMetadataArgs } from \"../metadata-args/IndexMetadataArgs\"\nimport { IndexOptions } from \"./options/IndexOptions\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n name: string,\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n name: string,\n options: { synchronize: false },\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n name: string,\n fields: string[],\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n fields: string[],\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n fields: (object?: any) => any[] | { [key: string]: number },\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n name: string,\n fields: (object?: any) => any[] | { [key: string]: number },\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n nameOrFieldsOrOptions?:\n | string\n | string[]\n | ((object: any) => any[] | { [key: string]: number })\n | IndexOptions,\n maybeFieldsOrOptions?:\n | ((object?: any) => any[] | { [key: string]: number })\n | IndexOptions\n | string[]\n | { synchronize: false },\n maybeOptions?: IndexOptions,\n): ClassDecorator & PropertyDecorator {\n // normalize parameters\n const name =\n typeof nameOrFieldsOrOptions === \"string\"\n ? nameOrFieldsOrOptions\n : undefined\n const fields =\n typeof nameOrFieldsOrOptions === \"string\"\n ? <\n | ((object?: any) => any[] | { [key: string]: number })\n | string[]\n >maybeFieldsOrOptions\n : (nameOrFieldsOrOptions as string[])\n let options =\n ObjectUtils.isObject(nameOrFieldsOrOptions) &&\n !Array.isArray(nameOrFieldsOrOptions)\n ? (nameOrFieldsOrOptions as IndexOptions)\n : maybeOptions\n if (!options)\n options =\n ObjectUtils.isObject(maybeFieldsOrOptions) &&\n !Array.isArray(maybeFieldsOrOptions)\n ? (maybeFieldsOrOptions as IndexOptions)\n : maybeOptions\n\n return function (\n clsOrObject: Function | Object,\n propertyName?: string | symbol,\n ) {\n getMetadataArgsStorage().indices.push({\n target: propertyName\n ? clsOrObject.constructor\n : (clsOrObject as Function),\n name: name,\n columns: propertyName ? [propertyName] : fields,\n synchronize:\n options &&\n (options as { synchronize: false }).synchronize === false\n ? false\n : true,\n where: options ? options.where : undefined,\n unique: options && options.unique ? true : false,\n spatial: options && options.spatial ? true : false,\n fulltext: options && options.fulltext ? true : false,\n nullFiltered: options && options.nullFiltered ? true : false,\n parser: options ? options.parser : undefined,\n sparse: options && options.sparse ? true : false,\n background: options && options.background ? true : false,\n expireAfterSeconds: options\n ? options.expireAfterSeconds\n : undefined,\n } as IndexMetadataArgs)\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/decorator/Index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAyEjD;;;;GAIG;AACH,MAAM,UAAU,KAAK,CACjB,qBAIkB,EAClB,oBAI4B,EAC5B,YAA2B;IAE3B,uBAAuB;IACvB,MAAM,IAAI,GACN,OAAO,qBAAqB,KAAK,QAAQ;QACrC,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,SAAS,CAAA;IACnB,MAAM,MAAM,GACR,OAAO,qBAAqB,KAAK,QAAQ;QACrC,CAAC,CAGE,oBAAoB;QACvB,CAAC,CAAE,qBAAkC,CAAA;IAC7C,IAAI,OAAO,GACP,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC3C,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACjC,CAAC,CAAE,qBAAsC;QACzC,CAAC,CAAC,YAAY,CAAA;IACtB,IAAI,CAAC,OAAO;QACR,OAAO;YACH,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAC1C,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAChC,CAAC,CAAE,oBAAqC;gBACxC,CAAC,CAAC,YAAY,CAAA;IAE1B,OAAO,UACH,WAA8B,EAC9B,YAA8B;QAE9B,sBAAsB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,YAAY;gBAChB,CAAC,CAAC,WAAW,CAAC,WAAW;gBACzB,CAAC,CAAE,WAAwB;YAC/B,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM;YAC/C,WAAW,EACP,OAAO;gBACN,OAAkC,CAAC,WAAW,KAAK,KAAK;gBACrD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI;YACd,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC1C,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAChD,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAClD,QAAQ,EAAE,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YACpD,YAAY,EAAE,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC5D,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC5C,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAChD,UAAU,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YACxD,UAAU,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YACxD,kBAAkB,EAAE,OAAO;gBACvB,CAAC,CAAC,OAAO,CAAC,kBAAkB;gBAC5B,CAAC,CAAC,SAAS;SACG,CAAC,CAAA;IAC3B,CAAC,CAAA;AACL,CAAC","file":"Index.js","sourcesContent":["import { getMetadataArgsStorage } from \"../globals\"\nimport { IndexMetadataArgs } from \"../metadata-args/IndexMetadataArgs\"\nimport { IndexOptions } from \"./options/IndexOptions\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n name: string,\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n name: string,\n options: { synchronize: false },\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n name: string,\n fields: string[],\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n fields: string[],\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n fields: (object?: any) => any[] | { [key: string]: number },\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n name: string,\n fields: (object?: any) => any[] | { [key: string]: number },\n options?: IndexOptions,\n): ClassDecorator & PropertyDecorator\n\n/**\n * Creates a database index.\n * Can be used on entity property or on entity.\n * Can create indices with composite columns when used on entity.\n */\nexport function Index(\n nameOrFieldsOrOptions?:\n | string\n | string[]\n | ((object: any) => any[] | { [key: string]: number })\n | IndexOptions,\n maybeFieldsOrOptions?:\n | ((object?: any) => any[] | { [key: string]: number })\n | IndexOptions\n | string[]\n | { synchronize: false },\n maybeOptions?: IndexOptions,\n): ClassDecorator & PropertyDecorator {\n // normalize parameters\n const name =\n typeof nameOrFieldsOrOptions === \"string\"\n ? nameOrFieldsOrOptions\n : undefined\n const fields =\n typeof nameOrFieldsOrOptions === \"string\"\n ? <\n | ((object?: any) => any[] | { [key: string]: number })\n | string[]\n >maybeFieldsOrOptions\n : (nameOrFieldsOrOptions as string[])\n let options =\n ObjectUtils.isObject(nameOrFieldsOrOptions) &&\n !Array.isArray(nameOrFieldsOrOptions)\n ? (nameOrFieldsOrOptions as IndexOptions)\n : maybeOptions\n if (!options)\n options =\n ObjectUtils.isObject(maybeFieldsOrOptions) &&\n !Array.isArray(maybeFieldsOrOptions)\n ? (maybeFieldsOrOptions as IndexOptions)\n : maybeOptions\n\n return function (\n clsOrObject: Function | Object,\n propertyName?: string | symbol,\n ) {\n getMetadataArgsStorage().indices.push({\n target: propertyName\n ? clsOrObject.constructor\n : (clsOrObject as Function),\n name: name,\n columns: propertyName ? [propertyName] : fields,\n synchronize:\n options &&\n (options as { synchronize: false }).synchronize === false\n ? false\n : true,\n where: options ? options.where : undefined,\n unique: options && options.unique ? true : false,\n spatial: options && options.spatial ? true : false,\n fulltext: options && options.fulltext ? true : false,\n nullFiltered: options && options.nullFiltered ? true : false,\n parser: options ? options.parser : undefined,\n sparse: options && options.sparse ? true : false,\n background: options && options.background ? true : false,\n concurrent: options && options.concurrent ? true : false,\n expireAfterSeconds: options\n ? options.expireAfterSeconds\n : undefined,\n } as IndexMetadataArgs)\n }\n}\n"],"sourceRoot":".."}
@@ -20,6 +20,7 @@ export function Entity(nameOrOptions, maybeOptions) {
20
20
  schema: options.schema ? options.schema : undefined,
21
21
  synchronize: options.synchronize,
22
22
  withoutRowid: options.withoutRowid,
23
+ comment: options.comment ? options.comment : undefined,
23
24
  });
24
25
  };
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/decorator/entity/Entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAcpD;;;GAGG;AACH,MAAM,UAAU,MAAM,CAClB,aAAsC,EACtC,YAA4B;IAE5B,MAAM,OAAO,GACT,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC,CAAE,aAA+B;QAClC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAC7B,MAAM,IAAI,GACN,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;IAEpE,OAAO,UAAU,MAAM;QACnB,sBAAsB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACtD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACzD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACnD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;SAChB,CAAC,CAAA;IAC3B,CAAC,CAAA;AACL,CAAC","file":"Entity.js","sourcesContent":["import { getMetadataArgsStorage } from \"../../globals\"\nimport { TableMetadataArgs } from \"../../metadata-args/TableMetadataArgs\"\nimport { EntityOptions } from \"../options/EntityOptions\"\nimport { ObjectUtils } from \"../../util/ObjectUtils\"\n\n/**\n * This decorator is used to mark classes that will be an entity (table or document depend on database type).\n * Database schema will be created for all classes decorated with it, and Repository can be retrieved and used for it.\n */\nexport function Entity(options?: EntityOptions): ClassDecorator\n\n/**\n * This decorator is used to mark classes that will be an entity (table or document depend on database type).\n * Database schema will be created for all classes decorated with it, and Repository can be retrieved and used for it.\n */\nexport function Entity(name?: string, options?: EntityOptions): ClassDecorator\n\n/**\n * This decorator is used to mark classes that will be an entity (table or document depend on database type).\n * Database schema will be created for all classes decorated with it, and Repository can be retrieved and used for it.\n */\nexport function Entity(\n nameOrOptions?: string | EntityOptions,\n maybeOptions?: EntityOptions,\n): ClassDecorator {\n const options =\n (ObjectUtils.isObject(nameOrOptions)\n ? (nameOrOptions as EntityOptions)\n : maybeOptions) || {}\n const name =\n typeof nameOrOptions === \"string\" ? nameOrOptions : options.name\n\n return function (target) {\n getMetadataArgsStorage().tables.push({\n target: target,\n name: name,\n type: \"regular\",\n orderBy: options.orderBy ? options.orderBy : undefined,\n engine: options.engine ? options.engine : undefined,\n database: options.database ? options.database : undefined,\n schema: options.schema ? options.schema : undefined,\n synchronize: options.synchronize,\n withoutRowid: options.withoutRowid,\n } as TableMetadataArgs)\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/decorator/entity/Entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAcpD;;;GAGG;AACH,MAAM,UAAU,MAAM,CAClB,aAAsC,EACtC,YAA4B;IAE5B,MAAM,OAAO,GACT,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC,CAAE,aAA+B;QAClC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAC7B,MAAM,IAAI,GACN,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;IAEpE,OAAO,UAAU,MAAM;QACnB,sBAAsB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACtD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACzD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACnD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACpC,CAAC,CAAA;IAC3B,CAAC,CAAA;AACL,CAAC","file":"Entity.js","sourcesContent":["import { getMetadataArgsStorage } from \"../../globals\"\nimport { TableMetadataArgs } from \"../../metadata-args/TableMetadataArgs\"\nimport { EntityOptions } from \"../options/EntityOptions\"\nimport { ObjectUtils } from \"../../util/ObjectUtils\"\n\n/**\n * This decorator is used to mark classes that will be an entity (table or document depend on database type).\n * Database schema will be created for all classes decorated with it, and Repository can be retrieved and used for it.\n */\nexport function Entity(options?: EntityOptions): ClassDecorator\n\n/**\n * This decorator is used to mark classes that will be an entity (table or document depend on database type).\n * Database schema will be created for all classes decorated with it, and Repository can be retrieved and used for it.\n */\nexport function Entity(name?: string, options?: EntityOptions): ClassDecorator\n\n/**\n * This decorator is used to mark classes that will be an entity (table or document depend on database type).\n * Database schema will be created for all classes decorated with it, and Repository can be retrieved and used for it.\n */\nexport function Entity(\n nameOrOptions?: string | EntityOptions,\n maybeOptions?: EntityOptions,\n): ClassDecorator {\n const options =\n (ObjectUtils.isObject(nameOrOptions)\n ? (nameOrOptions as EntityOptions)\n : maybeOptions) || {}\n const name =\n typeof nameOrOptions === \"string\" ? nameOrOptions : options.name\n\n return function (target) {\n getMetadataArgsStorage().tables.push({\n target: target,\n name: name,\n type: \"regular\",\n orderBy: options.orderBy ? options.orderBy : undefined,\n engine: options.engine ? options.engine : undefined,\n database: options.database ? options.database : undefined,\n schema: options.schema ? options.schema : undefined,\n synchronize: options.synchronize,\n withoutRowid: options.withoutRowid,\n comment: options.comment ? options.comment : undefined,\n } as TableMetadataArgs)\n }\n}\n"],"sourceRoot":"../.."}
@@ -39,4 +39,8 @@ export interface EntityOptions {
39
39
  * @see https://www.sqlite.org/withoutrowid.html.
40
40
  */
41
41
  withoutRowid?: boolean;
42
+ /**
43
+ * Table comment. Not supported by all database types.
44
+ */
45
+ comment?: string;
42
46
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/decorator/options/EntityOptions.ts"],"names":[],"mappings":"","file":"EntityOptions.js","sourcesContent":["import { OrderByCondition } from \"../../find-options/OrderByCondition\"\n\n/**\n * Describes all entity's options.\n */\nexport interface EntityOptions {\n /**\n * Table name.\n * If not specified then naming strategy will generate table name from entity name.\n */\n name?: string\n\n /**\n * Specifies a default order by used for queries from this table when no explicit order by is specified.\n */\n orderBy?: OrderByCondition | ((object: any) => OrderByCondition | any)\n\n /**\n * Table's database engine type (like \"InnoDB\", \"MyISAM\", etc).\n * It is used only during table creation.\n * If you update this value and table is already created, it will not change table's engine type.\n * Note that not all databases support this option.\n */\n engine?: string\n\n /**\n * Database name. Used in Mysql and Sql Server.\n */\n database?: string\n\n /**\n * Schema name. Used in Postgres and Sql Server.\n */\n schema?: string\n\n /**\n * Indicates if schema synchronization is enabled or disabled for this entity.\n * If it will be set to false then schema sync will and migrations ignore this entity.\n * By default schema synchronization is enabled for all entities.\n */\n synchronize?: boolean\n\n /**\n * If set to 'true' this option disables Sqlite's default behaviour of secretly creating\n * an integer primary key column named 'rowid' on table creation.\n * @see https://www.sqlite.org/withoutrowid.html.\n */\n withoutRowid?: boolean\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/decorator/options/EntityOptions.ts"],"names":[],"mappings":"","file":"EntityOptions.js","sourcesContent":["import { OrderByCondition } from \"../../find-options/OrderByCondition\"\n\n/**\n * Describes all entity's options.\n */\nexport interface EntityOptions {\n /**\n * Table name.\n * If not specified then naming strategy will generate table name from entity name.\n */\n name?: string\n\n /**\n * Specifies a default order by used for queries from this table when no explicit order by is specified.\n */\n orderBy?: OrderByCondition | ((object: any) => OrderByCondition | any)\n\n /**\n * Table's database engine type (like \"InnoDB\", \"MyISAM\", etc).\n * It is used only during table creation.\n * If you update this value and table is already created, it will not change table's engine type.\n * Note that not all databases support this option.\n */\n engine?: string\n\n /**\n * Database name. Used in Mysql and Sql Server.\n */\n database?: string\n\n /**\n * Schema name. Used in Postgres and Sql Server.\n */\n schema?: string\n\n /**\n * Indicates if schema synchronization is enabled or disabled for this entity.\n * If it will be set to false then schema sync will and migrations ignore this entity.\n * By default schema synchronization is enabled for all entities.\n */\n synchronize?: boolean\n\n /**\n * If set to 'true' this option disables Sqlite's default behaviour of secretly creating\n * an integer primary key column named 'rowid' on table creation.\n * @see https://www.sqlite.org/withoutrowid.html.\n */\n withoutRowid?: boolean\n\n /**\n * Table comment. Not supported by all database types.\n */\n comment?: string\n}\n"],"sourceRoot":"../.."}
@@ -44,6 +44,11 @@ export interface IndexOptions {
44
44
  * This option is only supported for mongodb database.
45
45
  */
46
46
  background?: boolean;
47
+ /**
48
+ * Create the index using the CONCURRENTLY modifier
49
+ * Works only in postgres.
50
+ */
51
+ concurrent?: boolean;
47
52
  /**
48
53
  * Specifies a time to live, in seconds.
49
54
  * This option is only supported for mongodb database.
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/decorator/options/IndexOptions.ts"],"names":[],"mappings":"","file":"IndexOptions.js","sourcesContent":["/**\n * Describes all index options.\n */\nexport interface IndexOptions {\n /**\n * Indicates if this composite index must be unique or not.\n */\n unique?: boolean\n\n /**\n * The SPATIAL modifier indexes the entire column and does not allow indexed columns to contain NULL values.\n * Works only in MySQL and PostgreSQL.\n */\n spatial?: boolean\n\n /**\n * The FULLTEXT modifier indexes the entire column and does not allow prefixing.\n * Works only in MySQL.\n */\n fulltext?: boolean\n\n /**\n * NULL_FILTERED indexes are particularly useful for indexing sparse columns, where most rows contain a NULL value.\n * In these cases, the NULL_FILTERED index can be considerably smaller and more efficient to maintain than\n * a normal index that includes NULL values.\n *\n * Works only in Spanner.\n */\n nullFiltered?: boolean\n\n /**\n * Fulltext parser.\n * Works only in MySQL.\n */\n parser?: string\n\n /**\n * Index filter condition.\n */\n where?: string\n\n /**\n * If true, the index only references documents with the specified field.\n * These indexes use less space but behave differently in some situations (particularly sorts).\n * This option is only supported for mongodb database.\n */\n sparse?: boolean\n\n /**\n * Builds the index in the background so that building an index an does not block other database activities.\n * This option is only supported for mongodb database.\n */\n background?: boolean\n\n /**\n * Specifies a time to live, in seconds.\n * This option is only supported for mongodb database.\n */\n expireAfterSeconds?: number\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/decorator/options/IndexOptions.ts"],"names":[],"mappings":"","file":"IndexOptions.js","sourcesContent":["/**\n * Describes all index options.\n */\nexport interface IndexOptions {\n /**\n * Indicates if this composite index must be unique or not.\n */\n unique?: boolean\n\n /**\n * The SPATIAL modifier indexes the entire column and does not allow indexed columns to contain NULL values.\n * Works only in MySQL and PostgreSQL.\n */\n spatial?: boolean\n\n /**\n * The FULLTEXT modifier indexes the entire column and does not allow prefixing.\n * Works only in MySQL.\n */\n fulltext?: boolean\n\n /**\n * NULL_FILTERED indexes are particularly useful for indexing sparse columns, where most rows contain a NULL value.\n * In these cases, the NULL_FILTERED index can be considerably smaller and more efficient to maintain than\n * a normal index that includes NULL values.\n *\n * Works only in Spanner.\n */\n nullFiltered?: boolean\n\n /**\n * Fulltext parser.\n * Works only in MySQL.\n */\n parser?: string\n\n /**\n * Index filter condition.\n */\n where?: string\n\n /**\n * If true, the index only references documents with the specified field.\n * These indexes use less space but behave differently in some situations (particularly sorts).\n * This option is only supported for mongodb database.\n */\n sparse?: boolean\n\n /**\n * Builds the index in the background so that building an index an does not block other database activities.\n * This option is only supported for mongodb database.\n */\n background?: boolean\n\n /**\n * Create the index using the CONCURRENTLY modifier\n * Works only in postgres.\n */\n concurrent?: boolean\n\n /**\n * Specifies a time to live, in seconds.\n * This option is only supported for mongodb database.\n */\n expireAfterSeconds?: number\n}\n"],"sourceRoot":"../.."}
@@ -93,6 +93,10 @@ export interface Driver {
93
93
  * Column types are driver dependant.
94
94
  */
95
95
  mappedDataTypes: MappedColumnTypes;
96
+ /**
97
+ * The prefix used for the parameters
98
+ */
99
+ parametersPrefix?: string;
96
100
  /**
97
101
  * Max length allowed by the DBMS for aliases (execution of queries).
98
102
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/Driver.ts"],"names":[],"mappings":"","file":"Driver.js","sourcesContent":["import { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { ColumnType } from \"./types/ColumnTypes\"\nimport { CteCapabilities } from \"./types/CteCapabilities\"\nimport { MappedColumnTypes } from \"./types/MappedColumnTypes\"\nimport { SchemaBuilder } from \"../schema-builder/SchemaBuilder\"\nimport { DataTypeDefaults } from \"./types/DataTypeDefaults\"\nimport { BaseDataSourceOptions } from \"../data-source/BaseDataSourceOptions\"\nimport { TableColumn } from \"../schema-builder/table/TableColumn\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ReplicationMode } from \"./types/ReplicationMode\"\nimport { Table } from \"../schema-builder/table/Table\"\nimport { View } from \"../schema-builder/view/View\"\nimport { TableForeignKey } from \"../schema-builder/table/TableForeignKey\"\nimport { UpsertType } from \"./types/UpsertType\"\nimport { OnDeleteType } from \"../metadata/types/OnDeleteType\"\nimport { OnUpdateType } from \"../metadata/types/OnUpdateType\"\n\nexport type ReturningType = \"insert\" | \"update\" | \"delete\"\n\n/**\n * Driver organizes TypeORM communication with specific database management system.\n */\nexport interface Driver {\n /**\n * Connection options.\n */\n options: BaseDataSourceOptions\n\n /**\n * Database version/release. Often requires a SQL query to the DB, so it is not always set\n */\n version?: string\n\n /**\n * Database name used to perform all write queries.\n *\n * todo: probably move into query runner.\n */\n database?: string\n\n /**\n * Schema name used to perform all write queries.\n */\n schema?: string\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport: boolean\n\n /**\n * Represent transaction support by this driver\n */\n transactionSupport: \"simple\" | \"nested\" | \"none\"\n\n /**\n * Gets list of supported column data types by a driver.\n */\n supportedDataTypes: ColumnType[]\n\n /**\n * Returns type of upsert supported by driver if any\n */\n supportedUpsertTypes: UpsertType[]\n\n /**\n * Returns list of supported onDelete types by driver\n */\n supportedOnDeleteTypes?: OnDeleteType[]\n\n /**\n * Returns list of supported onUpdate types by driver\n */\n supportedOnUpdateTypes?: OnUpdateType[]\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[]\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes\n\n /**\n * Max length allowed by the DBMS for aliases (execution of queries).\n */\n maxAliasLength?: number\n\n cteCapabilities: CteCapabilities\n\n /**\n * Dummy table name\n */\n dummyTableName?: string\n\n /**\n * Performs connection to the database.\n * Depend on driver type it may create a connection pool.\n */\n connect(): Promise<void>\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void>\n\n /**\n * Closes connection with database and releases all resources.\n */\n disconnect(): Promise<void>\n\n /**\n * Synchronizes database schema (creates tables, indices, etc).\n */\n createSchemaBuilder(): SchemaBuilder\n\n /**\n * Creates a query runner used for common queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(\n sql: string,\n parameters: ObjectLiteral,\n nativeParameters: ObjectLiteral,\n ): [string, any[]]\n\n /**\n * Escapes a table name, column name or an alias.\n *\n * todo: probably escape should be able to handle dots in the names and automatically escape them\n */\n escape(name: string): string\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. myDB.mySchema.myTable\n */\n buildTableName(\n tableName: string,\n schema?: string,\n database?: string,\n ): string\n\n /**\n * Parse a target table name or other types and return a normalized table definition.\n */\n parseTableName(\n target: EntityMetadata | Table | View | TableForeignKey | string,\n ): { tableName: string; schema?: string; database?: string }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, column: ColumnMetadata): any\n\n /**\n * Prepares given value to a value to be persisted, based on its column type.\n */\n prepareHydratedValue(value: any, column: ColumnMetadata): any\n\n /**\n * Transforms type of the given column to a database column type.\n */\n normalizeType(column: {\n type?: ColumnType | string\n length?: number | string\n precision?: number | null\n scale?: number\n isArray?: boolean\n }): string\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata): string\n\n /**\n * Normalizes \"default\" value of the column.\n */\n createFullType(column: TableColumn): string\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any>\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any>\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(\n metadata: EntityMetadata,\n insertResult: any,\n entityIndex?: number,\n entityNum?: number,\n ): ObjectLiteral | undefined\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(\n tableColumns: TableColumn[],\n columnMetadatas: ColumnMetadata[],\n ): ColumnMetadata[]\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(returningType: ReturningType): boolean\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/driver/Driver.ts"],"names":[],"mappings":"","file":"Driver.js","sourcesContent":["import { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { ColumnType } from \"./types/ColumnTypes\"\nimport { CteCapabilities } from \"./types/CteCapabilities\"\nimport { MappedColumnTypes } from \"./types/MappedColumnTypes\"\nimport { SchemaBuilder } from \"../schema-builder/SchemaBuilder\"\nimport { DataTypeDefaults } from \"./types/DataTypeDefaults\"\nimport { BaseDataSourceOptions } from \"../data-source/BaseDataSourceOptions\"\nimport { TableColumn } from \"../schema-builder/table/TableColumn\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ReplicationMode } from \"./types/ReplicationMode\"\nimport { Table } from \"../schema-builder/table/Table\"\nimport { View } from \"../schema-builder/view/View\"\nimport { TableForeignKey } from \"../schema-builder/table/TableForeignKey\"\nimport { UpsertType } from \"./types/UpsertType\"\nimport { OnDeleteType } from \"../metadata/types/OnDeleteType\"\nimport { OnUpdateType } from \"../metadata/types/OnUpdateType\"\n\nexport type ReturningType = \"insert\" | \"update\" | \"delete\"\n\n/**\n * Driver organizes TypeORM communication with specific database management system.\n */\nexport interface Driver {\n /**\n * Connection options.\n */\n options: BaseDataSourceOptions\n\n /**\n * Database version/release. Often requires a SQL query to the DB, so it is not always set\n */\n version?: string\n\n /**\n * Database name used to perform all write queries.\n *\n * todo: probably move into query runner.\n */\n database?: string\n\n /**\n * Schema name used to perform all write queries.\n */\n schema?: string\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport: boolean\n\n /**\n * Represent transaction support by this driver\n */\n transactionSupport: \"simple\" | \"nested\" | \"none\"\n\n /**\n * Gets list of supported column data types by a driver.\n */\n supportedDataTypes: ColumnType[]\n\n /**\n * Returns type of upsert supported by driver if any\n */\n supportedUpsertTypes: UpsertType[]\n\n /**\n * Returns list of supported onDelete types by driver\n */\n supportedOnDeleteTypes?: OnDeleteType[]\n\n /**\n * Returns list of supported onUpdate types by driver\n */\n supportedOnUpdateTypes?: OnUpdateType[]\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[]\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes\n\n /**\n * The prefix used for the parameters\n */\n parametersPrefix?: string\n\n /**\n * Max length allowed by the DBMS for aliases (execution of queries).\n */\n maxAliasLength?: number\n\n cteCapabilities: CteCapabilities\n\n /**\n * Dummy table name\n */\n dummyTableName?: string\n\n /**\n * Performs connection to the database.\n * Depend on driver type it may create a connection pool.\n */\n connect(): Promise<void>\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void>\n\n /**\n * Closes connection with database and releases all resources.\n */\n disconnect(): Promise<void>\n\n /**\n * Synchronizes database schema (creates tables, indices, etc).\n */\n createSchemaBuilder(): SchemaBuilder\n\n /**\n * Creates a query runner used for common queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(\n sql: string,\n parameters: ObjectLiteral,\n nativeParameters: ObjectLiteral,\n ): [string, any[]]\n\n /**\n * Escapes a table name, column name or an alias.\n *\n * todo: probably escape should be able to handle dots in the names and automatically escape them\n */\n escape(name: string): string\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. myDB.mySchema.myTable\n */\n buildTableName(\n tableName: string,\n schema?: string,\n database?: string,\n ): string\n\n /**\n * Parse a target table name or other types and return a normalized table definition.\n */\n parseTableName(\n target: EntityMetadata | Table | View | TableForeignKey | string,\n ): { tableName: string; schema?: string; database?: string }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, column: ColumnMetadata): any\n\n /**\n * Prepares given value to a value to be persisted, based on its column type.\n */\n prepareHydratedValue(value: any, column: ColumnMetadata): any\n\n /**\n * Transforms type of the given column to a database column type.\n */\n normalizeType(column: {\n type?: ColumnType | string\n length?: number | string\n precision?: number | null\n scale?: number\n isArray?: boolean\n }): string\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata): string\n\n /**\n * Normalizes \"default\" value of the column.\n */\n createFullType(column: TableColumn): string\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any>\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any>\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(\n metadata: EntityMetadata,\n insertResult: any,\n entityIndex?: number,\n entityNum?: number,\n ): ObjectLiteral | undefined\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(\n tableColumns: TableColumn[],\n columnMetadatas: ColumnMetadata[],\n ): ColumnMetadata[]\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(returningType: ReturningType): boolean\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string\n}\n"],"sourceRoot":".."}
@@ -90,11 +90,8 @@ export class DriverUtils {
90
90
  * @return An alias that is no longer than the divers max alias length.
91
91
  */
92
92
  static buildAlias({ maxAliasLength }, buildOptions, ...alias) {
93
- const newAlias = alias.length === 1
94
- ? alias[0]
95
- : alias.join(buildOptions && buildOptions.joiner
96
- ? buildOptions.joiner
97
- : "_");
93
+ const joiner = buildOptions && buildOptions.joiner ? buildOptions.joiner : "_";
94
+ let newAlias = alias.length === 1 ? alias[0] : alias.join(joiner);
98
95
  if (maxAliasLength &&
99
96
  maxAliasLength > 0 &&
100
97
  newAlias.length > maxAliasLength) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/DriverUtils.ts"],"names":[],"mappings":"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","file":"DriverUtils.js","sourcesContent":["import { Driver } from \"./Driver\"\nimport { hash, shorten } from \"../util/StringUtils\"\nimport { VersionUtils } from \"../util/VersionUtils\"\n\n/**\n * Common driver utility functions.\n */\nexport class DriverUtils {\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Returns true if given driver is SQLite-based driver.\n */\n static isSQLiteFamily(driver: Driver): boolean {\n return [\n \"sqlite\",\n \"cordova\",\n \"react-native\",\n \"nativescript\",\n \"sqljs\",\n \"expo\",\n \"better-sqlite3\",\n \"capacitor\",\n ].includes(driver.options.type)\n }\n\n /**\n * Returns true if given driver is MySQL-based driver.\n */\n static isMySQLFamily(driver: Driver): boolean {\n return [\"mysql\", \"mariadb\"].includes(driver.options.type)\n }\n\n static isReleaseVersionOrGreater(driver: Driver, version: string): boolean {\n return (\n driver.version != null &&\n VersionUtils.isGreaterOrEqual(driver.version, version)\n )\n }\n\n static isPostgresFamily(driver: Driver): boolean {\n return [\"postgres\", \"aurora-postgres\", \"cockroachdb\"].includes(\n driver.options.type,\n )\n }\n\n /**\n * Normalizes and builds a new driver options.\n * Extracts settings from connection url and sets to a new options object.\n */\n static buildDriverOptions(\n options: any,\n buildOptions?: { useSid: boolean },\n ): any {\n if (options.url) {\n const urlDriverOptions = this.parseConnectionUrl(options.url) as {\n [key: string]: any\n }\n\n if (\n buildOptions &&\n buildOptions.useSid &&\n urlDriverOptions.database\n ) {\n urlDriverOptions.sid = urlDriverOptions.database\n }\n\n for (const key of Object.keys(urlDriverOptions)) {\n if (typeof urlDriverOptions[key] === \"undefined\") {\n delete urlDriverOptions[key]\n }\n }\n\n return Object.assign({}, options, urlDriverOptions)\n }\n return Object.assign({}, options)\n }\n\n /**\n * buildDriverOptions for MongodDB only to support replica set\n */\n static buildMongoDBDriverOptions(\n options: any,\n buildOptions?: { useSid: boolean },\n ): any {\n if (options.url) {\n const urlDriverOptions = this.parseMongoDBConnectionUrl(\n options.url,\n ) as { [key: string]: any }\n\n if (\n buildOptions &&\n buildOptions.useSid &&\n urlDriverOptions.database\n ) {\n urlDriverOptions.sid = urlDriverOptions.database\n }\n\n for (const key of Object.keys(urlDriverOptions)) {\n if (typeof urlDriverOptions[key] === \"undefined\") {\n delete urlDriverOptions[key]\n }\n }\n\n return Object.assign({}, options, urlDriverOptions)\n }\n return Object.assign({}, options)\n }\n\n /**\n * Joins and shortens alias if needed.\n *\n * If the alias length is greater than the limit allowed by the current\n * driver, replaces it with a shortend string, if the shortend string\n * is still too long, it will then hash the alias.\n *\n * @param driver Current `Driver`.\n * @param buildOptions Optional settings.\n * @param alias Alias parts.\n *\n * @return An alias that is no longer than the divers max alias length.\n */\n static buildAlias(\n { maxAliasLength }: Driver,\n buildOptions: { shorten?: boolean; joiner?: string } | undefined,\n ...alias: string[]\n ): string {\n const newAlias =\n alias.length === 1\n ? alias[0]\n : alias.join(\n buildOptions && buildOptions.joiner\n ? buildOptions.joiner\n : \"_\",\n )\n if (\n maxAliasLength &&\n maxAliasLength > 0 &&\n newAlias.length > maxAliasLength\n ) {\n if (buildOptions && buildOptions.shorten === true) {\n const shortenedAlias = shorten(newAlias)\n if (shortenedAlias.length < maxAliasLength) {\n return shortenedAlias\n }\n }\n\n return hash(newAlias, { length: maxAliasLength })\n }\n\n return newAlias\n }\n\n /**\n * @deprecated use `buildAlias` instead.\n */\n static buildColumnAlias(\n { maxAliasLength }: Driver,\n buildOptions: { shorten?: boolean; joiner?: string } | string,\n ...alias: string[]\n ) {\n if (typeof buildOptions === \"string\") {\n alias.unshift(buildOptions)\n buildOptions = { shorten: false, joiner: \"_\" }\n } else {\n buildOptions = Object.assign(\n { shorten: false, joiner: \"_\" },\n buildOptions,\n )\n }\n return this.buildAlias(\n { maxAliasLength } as Driver,\n buildOptions,\n ...alias,\n )\n }\n\n // -------------------------------------------------------------------------\n // Private Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Extracts connection data from the connection url.\n */\n private static parseConnectionUrl(url: string) {\n const type = url.split(\":\")[0]\n const firstSlashes = url.indexOf(\"//\")\n const preBase = url.substr(firstSlashes + 2)\n const secondSlash = preBase.indexOf(\"/\")\n const base =\n secondSlash !== -1 ? preBase.substr(0, secondSlash) : preBase\n let afterBase =\n secondSlash !== -1 ? preBase.substr(secondSlash + 1) : undefined\n // remove mongodb query params\n if (afterBase && afterBase.indexOf(\"?\") !== -1) {\n afterBase = afterBase.substr(0, afterBase.indexOf(\"?\"))\n }\n\n const lastAtSign = base.lastIndexOf(\"@\")\n const usernameAndPassword = base.substr(0, lastAtSign)\n const hostAndPort = base.substr(lastAtSign + 1)\n\n let username = usernameAndPassword\n let password = \"\"\n const firstColon = usernameAndPassword.indexOf(\":\")\n if (firstColon !== -1) {\n username = usernameAndPassword.substr(0, firstColon)\n password = usernameAndPassword.substr(firstColon + 1)\n }\n const [host, port] = hostAndPort.split(\":\")\n\n return {\n type: type,\n host: host,\n username: decodeURIComponent(username),\n password: decodeURIComponent(password),\n port: port ? parseInt(port) : undefined,\n database: afterBase || undefined,\n }\n }\n\n /**\n * Extracts connection data from the connection url for MongoDB to support replica set.\n */\n private static parseMongoDBConnectionUrl(url: string) {\n const type = url.split(\":\")[0]\n const firstSlashes = url.indexOf(\"//\")\n const preBase = url.substr(firstSlashes + 2)\n const secondSlash = preBase.indexOf(\"/\")\n const base =\n secondSlash !== -1 ? preBase.substr(0, secondSlash) : preBase\n let afterBase =\n secondSlash !== -1 ? preBase.substr(secondSlash + 1) : undefined\n let afterQuestionMark = \"\"\n let host = undefined\n let port = undefined\n let hostReplicaSet = undefined\n let replicaSet = undefined\n\n let optionsObject: any = {}\n\n if (afterBase && afterBase.indexOf(\"?\") !== -1) {\n // split params\n afterQuestionMark = afterBase.substr(\n afterBase.indexOf(\"?\") + 1,\n afterBase.length,\n )\n\n const optionsList = afterQuestionMark.split(\"&\")\n let optionKey: string\n let optionValue: string\n\n // create optionsObject for merge with connectionUrl object before return\n optionsList.forEach((optionItem) => {\n optionKey = optionItem.split(\"=\")[0]\n optionValue = optionItem.split(\"=\")[1]\n optionsObject[optionKey] = optionValue\n })\n\n // specific replicaSet value to set options about hostReplicaSet\n replicaSet = optionsObject[\"replicaSet\"]\n afterBase = afterBase.substr(0, afterBase.indexOf(\"?\"))\n }\n\n const lastAtSign = base.lastIndexOf(\"@\")\n const usernameAndPassword = base.substr(0, lastAtSign)\n const hostAndPort = base.substr(lastAtSign + 1)\n\n let username = usernameAndPassword\n let password = \"\"\n const firstColon = usernameAndPassword.indexOf(\":\")\n if (firstColon !== -1) {\n username = usernameAndPassword.substr(0, firstColon)\n password = usernameAndPassword.substr(firstColon + 1)\n }\n\n // If replicaSet have value set It as hostlist, If not set like standalone host\n if (replicaSet) {\n hostReplicaSet = hostAndPort\n } else {\n ;[host, port] = hostAndPort.split(\":\")\n }\n\n let connectionUrl: any = {\n type: type,\n host: host,\n hostReplicaSet: hostReplicaSet,\n username: decodeURIComponent(username),\n password: decodeURIComponent(password),\n port: port ? parseInt(port) : undefined,\n database: afterBase || undefined,\n }\n\n // Loop to set every options in connectionUrl to object\n for (const [key, value] of Object.entries(optionsObject)) {\n connectionUrl[key] = value\n }\n\n return connectionUrl\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/driver/DriverUtils.ts"],"names":[],"mappings":"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","file":"DriverUtils.js","sourcesContent":["import { Driver } from \"./Driver\"\nimport { hash, shorten } from \"../util/StringUtils\"\nimport { VersionUtils } from \"../util/VersionUtils\"\n\n/**\n * Common driver utility functions.\n */\nexport class DriverUtils {\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Returns true if given driver is SQLite-based driver.\n */\n static isSQLiteFamily(driver: Driver): boolean {\n return [\n \"sqlite\",\n \"cordova\",\n \"react-native\",\n \"nativescript\",\n \"sqljs\",\n \"expo\",\n \"better-sqlite3\",\n \"capacitor\",\n ].includes(driver.options.type)\n }\n\n /**\n * Returns true if given driver is MySQL-based driver.\n */\n static isMySQLFamily(driver: Driver): boolean {\n return [\"mysql\", \"mariadb\"].includes(driver.options.type)\n }\n\n static isReleaseVersionOrGreater(driver: Driver, version: string): boolean {\n return (\n driver.version != null &&\n VersionUtils.isGreaterOrEqual(driver.version, version)\n )\n }\n\n static isPostgresFamily(driver: Driver): boolean {\n return [\"postgres\", \"aurora-postgres\", \"cockroachdb\"].includes(\n driver.options.type,\n )\n }\n\n /**\n * Normalizes and builds a new driver options.\n * Extracts settings from connection url and sets to a new options object.\n */\n static buildDriverOptions(\n options: any,\n buildOptions?: { useSid: boolean },\n ): any {\n if (options.url) {\n const urlDriverOptions = this.parseConnectionUrl(options.url) as {\n [key: string]: any\n }\n\n if (\n buildOptions &&\n buildOptions.useSid &&\n urlDriverOptions.database\n ) {\n urlDriverOptions.sid = urlDriverOptions.database\n }\n\n for (const key of Object.keys(urlDriverOptions)) {\n if (typeof urlDriverOptions[key] === \"undefined\") {\n delete urlDriverOptions[key]\n }\n }\n\n return Object.assign({}, options, urlDriverOptions)\n }\n return Object.assign({}, options)\n }\n\n /**\n * buildDriverOptions for MongodDB only to support replica set\n */\n static buildMongoDBDriverOptions(\n options: any,\n buildOptions?: { useSid: boolean },\n ): any {\n if (options.url) {\n const urlDriverOptions = this.parseMongoDBConnectionUrl(\n options.url,\n ) as { [key: string]: any }\n\n if (\n buildOptions &&\n buildOptions.useSid &&\n urlDriverOptions.database\n ) {\n urlDriverOptions.sid = urlDriverOptions.database\n }\n\n for (const key of Object.keys(urlDriverOptions)) {\n if (typeof urlDriverOptions[key] === \"undefined\") {\n delete urlDriverOptions[key]\n }\n }\n\n return Object.assign({}, options, urlDriverOptions)\n }\n return Object.assign({}, options)\n }\n\n /**\n * Joins and shortens alias if needed.\n *\n * If the alias length is greater than the limit allowed by the current\n * driver, replaces it with a shortend string, if the shortend string\n * is still too long, it will then hash the alias.\n *\n * @param driver Current `Driver`.\n * @param buildOptions Optional settings.\n * @param alias Alias parts.\n *\n * @return An alias that is no longer than the divers max alias length.\n */\n static buildAlias(\n { maxAliasLength }: Driver,\n buildOptions: { shorten?: boolean; joiner?: string } | undefined,\n ...alias: string[]\n ): string {\n const joiner =\n buildOptions && buildOptions.joiner ? buildOptions.joiner : \"_\"\n\n let newAlias = alias.length === 1 ? alias[0] : alias.join(joiner)\n\n if (\n maxAliasLength &&\n maxAliasLength > 0 &&\n newAlias.length > maxAliasLength\n ) {\n if (buildOptions && buildOptions.shorten === true) {\n const shortenedAlias = shorten(newAlias)\n if (shortenedAlias.length < maxAliasLength) {\n return shortenedAlias\n }\n }\n\n return hash(newAlias, { length: maxAliasLength })\n }\n\n return newAlias\n }\n\n /**\n * @deprecated use `buildAlias` instead.\n */\n static buildColumnAlias(\n { maxAliasLength }: Driver,\n buildOptions: { shorten?: boolean; joiner?: string } | string,\n ...alias: string[]\n ) {\n if (typeof buildOptions === \"string\") {\n alias.unshift(buildOptions)\n buildOptions = { shorten: false, joiner: \"_\" }\n } else {\n buildOptions = Object.assign(\n { shorten: false, joiner: \"_\" },\n buildOptions,\n )\n }\n return this.buildAlias(\n { maxAliasLength } as Driver,\n buildOptions,\n ...alias,\n )\n }\n\n // -------------------------------------------------------------------------\n // Private Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Extracts connection data from the connection url.\n */\n private static parseConnectionUrl(url: string) {\n const type = url.split(\":\")[0]\n const firstSlashes = url.indexOf(\"//\")\n const preBase = url.substr(firstSlashes + 2)\n const secondSlash = preBase.indexOf(\"/\")\n const base =\n secondSlash !== -1 ? preBase.substr(0, secondSlash) : preBase\n let afterBase =\n secondSlash !== -1 ? preBase.substr(secondSlash + 1) : undefined\n // remove mongodb query params\n if (afterBase && afterBase.indexOf(\"?\") !== -1) {\n afterBase = afterBase.substr(0, afterBase.indexOf(\"?\"))\n }\n\n const lastAtSign = base.lastIndexOf(\"@\")\n const usernameAndPassword = base.substr(0, lastAtSign)\n const hostAndPort = base.substr(lastAtSign + 1)\n\n let username = usernameAndPassword\n let password = \"\"\n const firstColon = usernameAndPassword.indexOf(\":\")\n if (firstColon !== -1) {\n username = usernameAndPassword.substr(0, firstColon)\n password = usernameAndPassword.substr(firstColon + 1)\n }\n const [host, port] = hostAndPort.split(\":\")\n\n return {\n type: type,\n host: host,\n username: decodeURIComponent(username),\n password: decodeURIComponent(password),\n port: port ? parseInt(port) : undefined,\n database: afterBase || undefined,\n }\n }\n\n /**\n * Extracts connection data from the connection url for MongoDB to support replica set.\n */\n private static parseMongoDBConnectionUrl(url: string) {\n const type = url.split(\":\")[0]\n const firstSlashes = url.indexOf(\"//\")\n const preBase = url.substr(firstSlashes + 2)\n const secondSlash = preBase.indexOf(\"/\")\n const base =\n secondSlash !== -1 ? preBase.substr(0, secondSlash) : preBase\n let afterBase =\n secondSlash !== -1 ? preBase.substr(secondSlash + 1) : undefined\n let afterQuestionMark = \"\"\n let host = undefined\n let port = undefined\n let hostReplicaSet = undefined\n let replicaSet = undefined\n\n let optionsObject: any = {}\n\n if (afterBase && afterBase.indexOf(\"?\") !== -1) {\n // split params\n afterQuestionMark = afterBase.substr(\n afterBase.indexOf(\"?\") + 1,\n afterBase.length,\n )\n\n const optionsList = afterQuestionMark.split(\"&\")\n let optionKey: string\n let optionValue: string\n\n // create optionsObject for merge with connectionUrl object before return\n optionsList.forEach((optionItem) => {\n optionKey = optionItem.split(\"=\")[0]\n optionValue = optionItem.split(\"=\")[1]\n optionsObject[optionKey] = optionValue\n })\n\n // specific replicaSet value to set options about hostReplicaSet\n replicaSet = optionsObject[\"replicaSet\"]\n afterBase = afterBase.substr(0, afterBase.indexOf(\"?\"))\n }\n\n const lastAtSign = base.lastIndexOf(\"@\")\n const usernameAndPassword = base.substr(0, lastAtSign)\n const hostAndPort = base.substr(lastAtSign + 1)\n\n let username = usernameAndPassword\n let password = \"\"\n const firstColon = usernameAndPassword.indexOf(\":\")\n if (firstColon !== -1) {\n username = usernameAndPassword.substr(0, firstColon)\n password = usernameAndPassword.substr(firstColon + 1)\n }\n\n // If replicaSet have value set It as hostlist, If not set like standalone host\n if (replicaSet) {\n hostReplicaSet = hostAndPort\n } else {\n ;[host, port] = hostAndPort.split(\":\")\n }\n\n let connectionUrl: any = {\n type: type,\n host: host,\n hostReplicaSet: hostReplicaSet,\n username: decodeURIComponent(username),\n password: decodeURIComponent(password),\n port: port ? parseInt(port) : undefined,\n database: afterBase || undefined,\n }\n\n // Loop to set every options in connectionUrl to object\n for (const [key, value] of Object.entries(optionsObject)) {\n connectionUrl[key] = value\n }\n\n return connectionUrl\n }\n}\n"],"sourceRoot":".."}
@@ -325,4 +325,8 @@ export declare class AuroraMysqlQueryRunner extends BaseQueryRunner implements Q
325
325
  * Checks if column display width is by default.
326
326
  */
327
327
  protected isDefaultColumnWidth(table: Table, column: TableColumn, width: number): boolean;
328
+ /**
329
+ * Change table comment.
330
+ */
331
+ changeTableComment(tableOrName: Table | string, comment?: string): Promise<void>;
328
332
  }
@@ -61,12 +61,13 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
61
61
  throw err;
62
62
  }
63
63
  if (this.transactionDepth === 0) {
64
+ this.transactionDepth += 1;
64
65
  await this.client.startTransaction();
65
66
  }
66
67
  else {
67
- await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
68
+ this.transactionDepth += 1;
69
+ await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
68
70
  }
69
- this.transactionDepth += 1;
70
71
  await this.broadcaster.broadcast("AfterTransactionStart");
71
72
  }
72
73
  /**
@@ -78,13 +79,14 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
78
79
  throw new TransactionNotStartedError();
79
80
  await this.broadcaster.broadcast("BeforeTransactionCommit");
80
81
  if (this.transactionDepth > 1) {
81
- await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
82
+ this.transactionDepth -= 1;
83
+ await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
82
84
  }
83
85
  else {
86
+ this.transactionDepth -= 1;
84
87
  await this.client.commitTransaction();
85
88
  this.isTransactionActive = false;
86
89
  }
87
- this.transactionDepth -= 1;
88
90
  await this.broadcaster.broadcast("AfterTransactionCommit");
89
91
  }
90
92
  /**
@@ -96,13 +98,14 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
96
98
  throw new TransactionNotStartedError();
97
99
  await this.broadcaster.broadcast("BeforeTransactionRollback");
98
100
  if (this.transactionDepth > 1) {
99
- await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
101
+ this.transactionDepth -= 1;
102
+ await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
100
103
  }
101
104
  else {
105
+ this.transactionDepth -= 1;
102
106
  await this.client.rollbackTransaction();
103
107
  this.isTransactionActive = false;
104
108
  }
105
- this.transactionDepth -= 1;
106
109
  await this.broadcaster.broadcast("AfterTransactionRollback");
107
110
  }
108
111
  /**
@@ -1694,6 +1697,12 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1694
1697
  }
1695
1698
  return false;
1696
1699
  }
1700
+ /**
1701
+ * Change table comment.
1702
+ */
1703
+ changeTableComment(tableOrName, comment) {
1704
+ throw new TypeORMError(`aurora-mysql driver does not support change table comment.`);
1705
+ }
1697
1706
  }
1698
1707
 
1699
1708
  //# sourceMappingURL=AuroraMysqlQueryRunner.js.map