typeorm 0.2.27 → 0.2.28

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 (674) hide show
  1. package/browser/connection/Connection.d.ts +2 -2
  2. package/browser/connection/Connection.js +2 -2
  3. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  4. package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
  5. package/browser/connection/ConnectionOptionsReader.js +3 -3
  6. package/browser/driver/DriverFactory.js.map +1 -1
  7. package/browser/driver/DriverUtils.js.map +1 -1
  8. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  9. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  10. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  11. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  12. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  13. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  14. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  15. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  16. package/browser/driver/postgres/PostgresDriver.d.ts +1 -1
  17. package/browser/driver/postgres/PostgresDriver.js +1 -1
  18. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  19. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  20. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  21. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  22. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  23. package/browser/entity-manager/EntityManager.d.ts +13 -13
  24. package/browser/entity-manager/EntityManager.js.map +1 -1
  25. package/browser/entity-manager/MongoEntityManager.d.ts +1 -1
  26. package/browser/entity-manager/MongoEntityManager.js +1 -1
  27. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  28. package/browser/find-options/FindOperator.d.ts +5 -5
  29. package/browser/find-options/FindOperator.js +5 -5
  30. package/browser/find-options/FindOptionsUtils.d.ts +2 -2
  31. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  32. package/browser/index.js +0 -22
  33. package/browser/index.js.map +1 -1
  34. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  35. package/browser/persistence/Subject.d.ts +4 -4
  36. package/browser/persistence/Subject.js +4 -4
  37. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  38. package/browser/query-builder/Alias.d.ts +3 -4
  39. package/browser/query-builder/Alias.js +3 -3
  40. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  41. package/browser/query-builder/JoinAttribute.d.ts +10 -10
  42. package/browser/query-builder/JoinAttribute.js +10 -10
  43. package/browser/query-builder/QueryBuilder.d.ts +1 -1
  44. package/browser/query-builder/QueryBuilder.js +1 -1
  45. package/browser/query-builder/QueryBuilder.js.map +1 -1
  46. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  47. package/browser/query-builder/QueryExpressionMap.d.ts +2 -2
  48. package/browser/query-builder/QueryExpressionMap.js +2 -2
  49. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  50. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  51. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  52. package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
  53. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  54. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  55. package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
  56. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  57. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
  58. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  59. package/browser/repository/AbstractRepository.d.ts +2 -2
  60. package/browser/repository/AbstractRepository.js +2 -2
  61. package/browser/repository/BaseEntity.d.ts +1 -1
  62. package/browser/repository/BaseEntity.js +1 -1
  63. package/browser/repository/Repository.d.ts +1 -1
  64. package/browser/repository/Repository.js +1 -1
  65. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  66. package/browser/schema-builder/RdbmsSchemaBuilder.js +2 -2
  67. package/browser/schema-builder/table/Table.d.ts +1 -1
  68. package/browser/schema-builder/table/Table.js +1 -1
  69. package/browser/util/DateUtils.js.map +1 -1
  70. package/browser/util/StringUtils.js.map +1 -1
  71. package/cache/DbQueryResultCache.js +0 -1
  72. package/cache/DbQueryResultCache.js.map +1 -1
  73. package/cache/QueryResultCacheFactory.js +0 -1
  74. package/cache/QueryResultCacheFactory.js.map +1 -1
  75. package/cache/RedisQueryResultCache.js +0 -1
  76. package/cache/RedisQueryResultCache.js.map +1 -1
  77. package/commands/CacheClearCommand.js +0 -1
  78. package/commands/CacheClearCommand.js.map +1 -1
  79. package/commands/CommandUtils.js +0 -1
  80. package/commands/CommandUtils.js.map +1 -1
  81. package/commands/EntityCreateCommand.js +0 -1
  82. package/commands/EntityCreateCommand.js.map +1 -1
  83. package/commands/InitCommand.js +0 -1
  84. package/commands/InitCommand.js.map +1 -1
  85. package/commands/MigrationCreateCommand.js +0 -1
  86. package/commands/MigrationCreateCommand.js.map +1 -1
  87. package/commands/MigrationGenerateCommand.js +0 -1
  88. package/commands/MigrationGenerateCommand.js.map +1 -1
  89. package/commands/MigrationRevertCommand.js +0 -1
  90. package/commands/MigrationRevertCommand.js.map +1 -1
  91. package/commands/MigrationRunCommand.js +0 -1
  92. package/commands/MigrationRunCommand.js.map +1 -1
  93. package/commands/MigrationShowCommand.js +0 -1
  94. package/commands/MigrationShowCommand.js.map +1 -1
  95. package/commands/QueryCommand.js +0 -1
  96. package/commands/QueryCommand.js.map +1 -1
  97. package/commands/SchemaDropCommand.js +0 -1
  98. package/commands/SchemaDropCommand.js.map +1 -1
  99. package/commands/SchemaLogCommand.js +0 -1
  100. package/commands/SchemaLogCommand.js.map +1 -1
  101. package/commands/SchemaSyncCommand.js +0 -1
  102. package/commands/SchemaSyncCommand.js.map +1 -1
  103. package/commands/SubscriberCreateCommand.js +0 -1
  104. package/commands/SubscriberCreateCommand.js.map +1 -1
  105. package/commands/VersionCommand.js +0 -1
  106. package/commands/VersionCommand.js.map +1 -1
  107. package/connection/Connection.d.ts +2 -2
  108. package/connection/Connection.js +2 -3
  109. package/connection/Connection.js.map +1 -1
  110. package/connection/ConnectionManager.js +0 -1
  111. package/connection/ConnectionManager.js.map +1 -1
  112. package/connection/ConnectionMetadataBuilder.js +0 -1
  113. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  114. package/connection/ConnectionOptionsReader.d.ts +3 -3
  115. package/connection/ConnectionOptionsReader.js +3 -4
  116. package/connection/ConnectionOptionsReader.js.map +1 -1
  117. package/connection/options-reader/ConnectionOptionsEnvReader.js +0 -1
  118. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  119. package/connection/options-reader/ConnectionOptionsXmlReader.js +0 -1
  120. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  121. package/connection/options-reader/ConnectionOptionsYmlReader.js +0 -1
  122. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  123. package/container.js +0 -1
  124. package/container.js.map +1 -1
  125. package/decorator/Check.js +0 -1
  126. package/decorator/Check.js.map +1 -1
  127. package/decorator/EntityRepository.js +0 -1
  128. package/decorator/EntityRepository.js.map +1 -1
  129. package/decorator/Exclusion.js +0 -1
  130. package/decorator/Exclusion.js.map +1 -1
  131. package/decorator/Generated.js +0 -1
  132. package/decorator/Generated.js.map +1 -1
  133. package/decorator/Index.js +0 -1
  134. package/decorator/Index.js.map +1 -1
  135. package/decorator/Unique.js +0 -1
  136. package/decorator/Unique.js.map +1 -1
  137. package/decorator/columns/Column.js +0 -1
  138. package/decorator/columns/Column.js.map +1 -1
  139. package/decorator/columns/CreateDateColumn.js +0 -1
  140. package/decorator/columns/CreateDateColumn.js.map +1 -1
  141. package/decorator/columns/DeleteDateColumn.js +0 -1
  142. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  143. package/decorator/columns/ObjectIdColumn.js +0 -1
  144. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  145. package/decorator/columns/PrimaryColumn.js +0 -1
  146. package/decorator/columns/PrimaryColumn.js.map +1 -1
  147. package/decorator/columns/PrimaryGeneratedColumn.js +0 -1
  148. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  149. package/decorator/columns/UpdateDateColumn.js +0 -1
  150. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  151. package/decorator/columns/VersionColumn.js +0 -1
  152. package/decorator/columns/VersionColumn.js.map +1 -1
  153. package/decorator/columns/ViewColumn.js +0 -1
  154. package/decorator/columns/ViewColumn.js.map +1 -1
  155. package/decorator/entity/ChildEntity.js +0 -1
  156. package/decorator/entity/ChildEntity.js.map +1 -1
  157. package/decorator/entity/Entity.js +0 -1
  158. package/decorator/entity/Entity.js.map +1 -1
  159. package/decorator/entity/TableInheritance.js +0 -1
  160. package/decorator/entity/TableInheritance.js.map +1 -1
  161. package/decorator/entity-view/ViewEntity.js +0 -1
  162. package/decorator/entity-view/ViewEntity.js.map +1 -1
  163. package/decorator/listeners/AfterInsert.js +0 -1
  164. package/decorator/listeners/AfterInsert.js.map +1 -1
  165. package/decorator/listeners/AfterLoad.js +0 -1
  166. package/decorator/listeners/AfterLoad.js.map +1 -1
  167. package/decorator/listeners/AfterRemove.js +0 -1
  168. package/decorator/listeners/AfterRemove.js.map +1 -1
  169. package/decorator/listeners/AfterUpdate.js +0 -1
  170. package/decorator/listeners/AfterUpdate.js.map +1 -1
  171. package/decorator/listeners/BeforeInsert.js +0 -1
  172. package/decorator/listeners/BeforeInsert.js.map +1 -1
  173. package/decorator/listeners/BeforeRemove.js +0 -1
  174. package/decorator/listeners/BeforeRemove.js.map +1 -1
  175. package/decorator/listeners/BeforeUpdate.js +0 -1
  176. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  177. package/decorator/listeners/EventSubscriber.js +0 -1
  178. package/decorator/listeners/EventSubscriber.js.map +1 -1
  179. package/decorator/relations/JoinColumn.js +0 -1
  180. package/decorator/relations/JoinColumn.js.map +1 -1
  181. package/decorator/relations/JoinTable.js +0 -1
  182. package/decorator/relations/JoinTable.js.map +1 -1
  183. package/decorator/relations/ManyToMany.js +0 -1
  184. package/decorator/relations/ManyToMany.js.map +1 -1
  185. package/decorator/relations/ManyToOne.js +0 -1
  186. package/decorator/relations/ManyToOne.js.map +1 -1
  187. package/decorator/relations/OneToMany.js +0 -1
  188. package/decorator/relations/OneToMany.js.map +1 -1
  189. package/decorator/relations/OneToOne.js +0 -1
  190. package/decorator/relations/OneToOne.js.map +1 -1
  191. package/decorator/relations/RelationCount.js +0 -1
  192. package/decorator/relations/RelationCount.js.map +1 -1
  193. package/decorator/relations/RelationId.js +0 -1
  194. package/decorator/relations/RelationId.js.map +1 -1
  195. package/decorator/transaction/Transaction.js +0 -1
  196. package/decorator/transaction/Transaction.js.map +1 -1
  197. package/decorator/transaction/TransactionManager.js +0 -1
  198. package/decorator/transaction/TransactionManager.js.map +1 -1
  199. package/decorator/transaction/TransactionRepository.js +0 -1
  200. package/decorator/transaction/TransactionRepository.js.map +1 -1
  201. package/decorator/tree/Tree.js +0 -1
  202. package/decorator/tree/Tree.js.map +1 -1
  203. package/decorator/tree/TreeChildren.js +0 -1
  204. package/decorator/tree/TreeChildren.js.map +1 -1
  205. package/decorator/tree/TreeLevelColumn.js +0 -1
  206. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  207. package/decorator/tree/TreeParent.js +0 -1
  208. package/decorator/tree/TreeParent.js.map +1 -1
  209. package/driver/DriverFactory.js +0 -1
  210. package/driver/DriverFactory.js.map +1 -1
  211. package/driver/DriverUtils.js +0 -1
  212. package/driver/DriverUtils.js.map +1 -1
  213. package/driver/Query.js +0 -1
  214. package/driver/Query.js.map +1 -1
  215. package/driver/SqlInMemory.js +0 -1
  216. package/driver/SqlInMemory.js.map +1 -1
  217. package/driver/aurora-data-api/AuroraDataApiConnection.js +0 -1
  218. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  219. package/driver/aurora-data-api/AuroraDataApiDriver.js +0 -1
  220. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  221. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +0 -1
  222. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  223. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +0 -1
  224. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  225. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +0 -1
  226. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  227. package/driver/better-sqlite3/BetterSqlite3Driver.js +0 -1
  228. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  229. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +0 -1
  230. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  231. package/driver/cockroachdb/CockroachDriver.js +0 -1
  232. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  233. package/driver/cockroachdb/CockroachQueryRunner.js +0 -1
  234. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  235. package/driver/cordova/CordovaDriver.js +0 -1
  236. package/driver/cordova/CordovaDriver.js.map +1 -1
  237. package/driver/cordova/CordovaQueryRunner.js +0 -1
  238. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  239. package/driver/expo/ExpoDriver.js +0 -1
  240. package/driver/expo/ExpoDriver.js.map +1 -1
  241. package/driver/expo/ExpoQueryRunner.js +0 -1
  242. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  243. package/driver/mongodb/MongoDriver.js +0 -1
  244. package/driver/mongodb/MongoDriver.js.map +1 -1
  245. package/driver/mongodb/MongoQueryRunner.js +0 -1
  246. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  247. package/driver/mysql/MysqlDriver.js +0 -1
  248. package/driver/mysql/MysqlDriver.js.map +1 -1
  249. package/driver/mysql/MysqlQueryRunner.js +0 -1
  250. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  251. package/driver/nativescript/NativescriptDriver.js +0 -1
  252. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  253. package/driver/nativescript/NativescriptQueryRunner.js +0 -1
  254. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  255. package/driver/oracle/OracleDriver.js +0 -1
  256. package/driver/oracle/OracleDriver.js.map +1 -1
  257. package/driver/oracle/OracleQueryRunner.js +0 -1
  258. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  259. package/driver/postgres/PostgresDriver.d.ts +1 -1
  260. package/driver/postgres/PostgresDriver.js +1 -2
  261. package/driver/postgres/PostgresDriver.js.map +1 -1
  262. package/driver/postgres/PostgresQueryRunner.js +0 -1
  263. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  264. package/driver/react-native/ReactNativeDriver.js +0 -1
  265. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  266. package/driver/react-native/ReactNativeQueryRunner.js +0 -1
  267. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  268. package/driver/sap/SapDriver.js +0 -1
  269. package/driver/sap/SapDriver.js.map +1 -1
  270. package/driver/sap/SapQueryRunner.js +0 -1
  271. package/driver/sap/SapQueryRunner.js.map +1 -1
  272. package/driver/sqlite/SqliteDriver.js +0 -1
  273. package/driver/sqlite/SqliteDriver.js.map +1 -1
  274. package/driver/sqlite/SqliteQueryRunner.js +0 -1
  275. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  276. package/driver/sqlite-abstract/AbstractSqliteDriver.js +0 -1
  277. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  278. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +0 -1
  279. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  280. package/driver/sqljs/SqljsDriver.js +0 -1
  281. package/driver/sqljs/SqljsDriver.js.map +1 -1
  282. package/driver/sqljs/SqljsQueryRunner.js +0 -1
  283. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  284. package/driver/sqlserver/MssqlParameter.js +0 -1
  285. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  286. package/driver/sqlserver/SqlServerDriver.js +0 -1
  287. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  288. package/driver/sqlserver/SqlServerQueryRunner.js +0 -1
  289. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  290. package/entity-manager/EntityManager.d.ts +13 -13
  291. package/entity-manager/EntityManager.js +0 -1
  292. package/entity-manager/EntityManager.js.map +1 -1
  293. package/entity-manager/EntityManagerFactory.js +0 -1
  294. package/entity-manager/EntityManagerFactory.js.map +1 -1
  295. package/entity-manager/MongoEntityManager.d.ts +1 -1
  296. package/entity-manager/MongoEntityManager.js +1 -2
  297. package/entity-manager/MongoEntityManager.js.map +1 -1
  298. package/entity-manager/SqljsEntityManager.js +0 -1
  299. package/entity-manager/SqljsEntityManager.js.map +1 -1
  300. package/entity-schema/EntitySchema.js +0 -1
  301. package/entity-schema/EntitySchema.js.map +1 -1
  302. package/entity-schema/EntitySchemaOptions.js +0 -1
  303. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  304. package/entity-schema/EntitySchemaTransformer.js +0 -1
  305. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  306. package/error/AlreadyHasActiveConnectionError.js +0 -1
  307. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  308. package/error/CannotAttachTreeChildrenEntityError.js +0 -1
  309. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  310. package/error/CannotConnectAlreadyConnectedError.js +0 -1
  311. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  312. package/error/CannotCreateEntityIdMapError.js +0 -1
  313. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  314. package/error/CannotDetermineEntityError.js +0 -1
  315. package/error/CannotDetermineEntityError.js.map +1 -1
  316. package/error/CannotExecuteNotConnectedError.js +0 -1
  317. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  318. package/error/CannotGetEntityManagerNotConnectedError.js +0 -1
  319. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  320. package/error/CannotReflectMethodParameterTypeError.js +0 -1
  321. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  322. package/error/CircularRelationsError.js +0 -1
  323. package/error/CircularRelationsError.js.map +1 -1
  324. package/error/ColumnTypeUndefinedError.js +0 -1
  325. package/error/ColumnTypeUndefinedError.js.map +1 -1
  326. package/error/ConnectionIsNotSetError.js +0 -1
  327. package/error/ConnectionIsNotSetError.js.map +1 -1
  328. package/error/ConnectionNotFoundError.js +0 -1
  329. package/error/ConnectionNotFoundError.js.map +1 -1
  330. package/error/CustomRepositoryCannotInheritRepositoryError.js +0 -1
  331. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  332. package/error/CustomRepositoryDoesNotHaveEntityError.js +0 -1
  333. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  334. package/error/CustomRepositoryNotFoundError.js +0 -1
  335. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  336. package/error/DataTypeNotSupportedError.js +0 -1
  337. package/error/DataTypeNotSupportedError.js.map +1 -1
  338. package/error/DriverOptionNotSetError.js +0 -1
  339. package/error/DriverOptionNotSetError.js.map +1 -1
  340. package/error/DriverPackageNotInstalledError.js +0 -1
  341. package/error/DriverPackageNotInstalledError.js.map +1 -1
  342. package/error/EntityColumnNotFound.js +0 -1
  343. package/error/EntityColumnNotFound.js.map +1 -1
  344. package/error/EntityMetadataNotFoundError.js +0 -1
  345. package/error/EntityMetadataNotFoundError.js.map +1 -1
  346. package/error/EntityNotFoundError.js +0 -1
  347. package/error/EntityNotFoundError.js.map +1 -1
  348. package/error/FindRelationsNotFoundError.js +0 -1
  349. package/error/FindRelationsNotFoundError.js.map +1 -1
  350. package/error/InitializedRelationError.js +0 -1
  351. package/error/InitializedRelationError.js.map +1 -1
  352. package/error/InsertValuesMissingError.js +0 -1
  353. package/error/InsertValuesMissingError.js.map +1 -1
  354. package/error/LimitOnUpdateNotSupportedError.js +0 -1
  355. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  356. package/error/LockNotSupportedOnGivenDriverError.js +0 -1
  357. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  358. package/error/MetadataAlreadyExistsError.js +0 -1
  359. package/error/MetadataAlreadyExistsError.js.map +1 -1
  360. package/error/MetadataWithSuchNameAlreadyExistsError.js +0 -1
  361. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  362. package/error/MissingDeleteDateColumnError.js +0 -1
  363. package/error/MissingDeleteDateColumnError.js.map +1 -1
  364. package/error/MissingDriverError.js +0 -1
  365. package/error/MissingDriverError.js.map +1 -1
  366. package/error/MissingJoinColumnError.js +0 -1
  367. package/error/MissingJoinColumnError.js.map +1 -1
  368. package/error/MissingJoinTableError.js +0 -1
  369. package/error/MissingJoinTableError.js.map +1 -1
  370. package/error/MissingPrimaryColumnError.js +0 -1
  371. package/error/MissingPrimaryColumnError.js.map +1 -1
  372. package/error/MustBeEntityError.js +0 -1
  373. package/error/MustBeEntityError.js.map +1 -1
  374. package/error/NamingStrategyNotFoundError.js +0 -1
  375. package/error/NamingStrategyNotFoundError.js.map +1 -1
  376. package/error/NoConnectionForRepositoryError.js +0 -1
  377. package/error/NoConnectionForRepositoryError.js.map +1 -1
  378. package/error/NoConnectionOptionError.js +0 -1
  379. package/error/NoConnectionOptionError.js.map +1 -1
  380. package/error/NoNeedToReleaseEntityManagerError.js +0 -1
  381. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  382. package/error/NoVersionOrUpdateDateColumnError.js +0 -1
  383. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  384. package/error/OffsetWithoutLimitNotSupportedError.js +0 -1
  385. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  386. package/error/OptimisticLockCanNotBeUsedError.js +0 -1
  387. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  388. package/error/OptimisticLockVersionMismatchError.js +0 -1
  389. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  390. package/error/PersistedEntityNotFoundError.js +0 -1
  391. package/error/PersistedEntityNotFoundError.js.map +1 -1
  392. package/error/PessimisticLockTransactionRequiredError.js +0 -1
  393. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  394. package/error/PrimaryColumnCannotBeNullableError.js +0 -1
  395. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  396. package/error/QueryFailedError.js +0 -1
  397. package/error/QueryFailedError.js.map +1 -1
  398. package/error/QueryRunnerAlreadyReleasedError.js +0 -1
  399. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  400. package/error/QueryRunnerProviderAlreadyReleasedError.js +0 -1
  401. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  402. package/error/RepositoryNotFoundError.js +0 -1
  403. package/error/RepositoryNotFoundError.js.map +1 -1
  404. package/error/RepositoryNotTreeError.js +0 -1
  405. package/error/RepositoryNotTreeError.js.map +1 -1
  406. package/error/ReturningStatementNotSupportedError.js +0 -1
  407. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  408. package/error/SubjectRemovedAndUpdatedError.js +0 -1
  409. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  410. package/error/SubjectWithoutIdentifierError.js +0 -1
  411. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  412. package/error/TransactionAlreadyStartedError.js +0 -1
  413. package/error/TransactionAlreadyStartedError.js.map +1 -1
  414. package/error/TransactionNotStartedError.js +0 -1
  415. package/error/TransactionNotStartedError.js.map +1 -1
  416. package/error/TreeRepositoryNotSupportedError.js +0 -1
  417. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  418. package/error/UpdateValuesMissingError.js +0 -1
  419. package/error/UpdateValuesMissingError.js.map +1 -1
  420. package/error/UsingJoinColumnIsNotAllowedError.js +0 -1
  421. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  422. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +0 -1
  423. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  424. package/error/UsingJoinTableIsNotAllowedError.js +0 -1
  425. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  426. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +0 -1
  427. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  428. package/find-options/FindOperator.d.ts +5 -5
  429. package/find-options/FindOperator.js +5 -6
  430. package/find-options/FindOperator.js.map +1 -1
  431. package/find-options/FindOptionsUtils.d.ts +2 -2
  432. package/find-options/FindOptionsUtils.js +0 -1
  433. package/find-options/FindOptionsUtils.js.map +1 -1
  434. package/find-options/operator/Any.js +0 -1
  435. package/find-options/operator/Any.js.map +1 -1
  436. package/find-options/operator/Between.js +0 -1
  437. package/find-options/operator/Between.js.map +1 -1
  438. package/find-options/operator/Equal.js +0 -1
  439. package/find-options/operator/Equal.js.map +1 -1
  440. package/find-options/operator/In.js +0 -1
  441. package/find-options/operator/In.js.map +1 -1
  442. package/find-options/operator/IsNull.js +0 -1
  443. package/find-options/operator/IsNull.js.map +1 -1
  444. package/find-options/operator/LessThan.js +0 -1
  445. package/find-options/operator/LessThan.js.map +1 -1
  446. package/find-options/operator/LessThanOrEqual.js +0 -1
  447. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  448. package/find-options/operator/Like.js +0 -1
  449. package/find-options/operator/Like.js.map +1 -1
  450. package/find-options/operator/MoreThan.js +0 -1
  451. package/find-options/operator/MoreThan.js.map +1 -1
  452. package/find-options/operator/MoreThanOrEqual.js +0 -1
  453. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  454. package/find-options/operator/Not.js +0 -1
  455. package/find-options/operator/Not.js.map +1 -1
  456. package/find-options/operator/Raw.js +0 -1
  457. package/find-options/operator/Raw.js.map +1 -1
  458. package/index.js +18 -41
  459. package/index.js.map +1 -1
  460. package/logger/AdvancedConsoleLogger.js +0 -1
  461. package/logger/AdvancedConsoleLogger.js.map +1 -1
  462. package/logger/DebugLogger.js +0 -1
  463. package/logger/DebugLogger.js.map +1 -1
  464. package/logger/FileLogger.js +0 -1
  465. package/logger/FileLogger.js.map +1 -1
  466. package/logger/LoggerFactory.js +0 -1
  467. package/logger/LoggerFactory.js.map +1 -1
  468. package/logger/SimpleConsoleLogger.js +0 -1
  469. package/logger/SimpleConsoleLogger.js.map +1 -1
  470. package/metadata/CheckMetadata.js +0 -1
  471. package/metadata/CheckMetadata.js.map +1 -1
  472. package/metadata/ColumnMetadata.js +0 -1
  473. package/metadata/ColumnMetadata.js.map +1 -1
  474. package/metadata/EmbeddedMetadata.js +0 -1
  475. package/metadata/EmbeddedMetadata.js.map +1 -1
  476. package/metadata/EntityListenerMetadata.js +0 -1
  477. package/metadata/EntityListenerMetadata.js.map +1 -1
  478. package/metadata/EntityMetadata.js +0 -1
  479. package/metadata/EntityMetadata.js.map +1 -1
  480. package/metadata/ExclusionMetadata.js +0 -1
  481. package/metadata/ExclusionMetadata.js.map +1 -1
  482. package/metadata/ForeignKeyMetadata.js +0 -1
  483. package/metadata/ForeignKeyMetadata.js.map +1 -1
  484. package/metadata/IndexMetadata.js +0 -1
  485. package/metadata/IndexMetadata.js.map +1 -1
  486. package/metadata/RelationCountMetadata.js +0 -1
  487. package/metadata/RelationCountMetadata.js.map +1 -1
  488. package/metadata/RelationIdMetadata.js +0 -1
  489. package/metadata/RelationIdMetadata.js.map +1 -1
  490. package/metadata/RelationMetadata.js +0 -1
  491. package/metadata/RelationMetadata.js.map +1 -1
  492. package/metadata/UniqueMetadata.js +0 -1
  493. package/metadata/UniqueMetadata.js.map +1 -1
  494. package/metadata/types/EventListenerTypes.js +0 -1
  495. package/metadata/types/EventListenerTypes.js.map +1 -1
  496. package/metadata-args/MetadataArgsStorage.js +0 -1
  497. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  498. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +0 -1
  499. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  500. package/metadata-builder/EntityMetadataBuilder.js +0 -1
  501. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  502. package/metadata-builder/EntityMetadataValidator.js +0 -1
  503. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  504. package/metadata-builder/JunctionEntityMetadataBuilder.js +0 -1
  505. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  506. package/metadata-builder/MetadataUtils.js +0 -1
  507. package/metadata-builder/MetadataUtils.js.map +1 -1
  508. package/metadata-builder/RelationJoinColumnBuilder.js +0 -1
  509. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  510. package/migration/Migration.js +0 -1
  511. package/migration/Migration.js.map +1 -1
  512. package/migration/MigrationExecutor.js +0 -1
  513. package/migration/MigrationExecutor.js.map +1 -1
  514. package/naming-strategy/DefaultNamingStrategy.js +0 -1
  515. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  516. package/package.json +2 -2
  517. package/persistence/EntityPersistExecutor.js +0 -1
  518. package/persistence/EntityPersistExecutor.js.map +1 -1
  519. package/persistence/Subject.d.ts +4 -4
  520. package/persistence/Subject.js +4 -5
  521. package/persistence/Subject.js.map +1 -1
  522. package/persistence/SubjectChangedColumnsComputer.js +0 -1
  523. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  524. package/persistence/SubjectDatabaseEntityLoader.js +0 -1
  525. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  526. package/persistence/SubjectExecutor.js +0 -1
  527. package/persistence/SubjectExecutor.js.map +1 -1
  528. package/persistence/SubjectTopoligicalSorter.js +0 -1
  529. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  530. package/persistence/subject-builder/CascadesSubjectBuilder.js +0 -1
  531. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  532. package/persistence/subject-builder/ManyToManySubjectBuilder.js +0 -1
  533. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  534. package/persistence/subject-builder/OneToManySubjectBuilder.js +0 -1
  535. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  536. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +0 -1
  537. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  538. package/persistence/tree/ClosureSubjectExecutor.js +0 -1
  539. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  540. package/persistence/tree/MaterializedPathSubjectExecutor.js +0 -1
  541. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  542. package/persistence/tree/NestedSetSubjectExecutor.js +0 -1
  543. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  544. package/platform/PlatformTools.js +4 -5
  545. package/platform/PlatformTools.js.map +1 -1
  546. package/query-builder/Alias.d.ts +3 -4
  547. package/query-builder/Alias.js +3 -4
  548. package/query-builder/Alias.js.map +1 -1
  549. package/query-builder/Brackets.js +0 -1
  550. package/query-builder/Brackets.js.map +1 -1
  551. package/query-builder/DeleteQueryBuilder.js +0 -1
  552. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  553. package/query-builder/InsertQueryBuilder.js +0 -1
  554. package/query-builder/InsertQueryBuilder.js.map +1 -1
  555. package/query-builder/JoinAttribute.d.ts +10 -10
  556. package/query-builder/JoinAttribute.js +10 -11
  557. package/query-builder/JoinAttribute.js.map +1 -1
  558. package/query-builder/QueryBuilder.d.ts +1 -1
  559. package/query-builder/QueryBuilder.js +1 -2
  560. package/query-builder/QueryBuilder.js.map +1 -1
  561. package/query-builder/QueryBuilderUtils.js +0 -1
  562. package/query-builder/QueryBuilderUtils.js.map +1 -1
  563. package/query-builder/QueryExpressionMap.d.ts +2 -2
  564. package/query-builder/QueryExpressionMap.js +2 -3
  565. package/query-builder/QueryExpressionMap.js.map +1 -1
  566. package/query-builder/RelationIdLoader.js +0 -1
  567. package/query-builder/RelationIdLoader.js.map +1 -1
  568. package/query-builder/RelationLoader.js +0 -1
  569. package/query-builder/RelationLoader.js.map +1 -1
  570. package/query-builder/RelationQueryBuilder.js +0 -1
  571. package/query-builder/RelationQueryBuilder.js.map +1 -1
  572. package/query-builder/RelationRemover.js +0 -1
  573. package/query-builder/RelationRemover.js.map +1 -1
  574. package/query-builder/RelationUpdater.js +0 -1
  575. package/query-builder/RelationUpdater.js.map +1 -1
  576. package/query-builder/ReturningResultsEntityUpdator.js +0 -1
  577. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  578. package/query-builder/SelectQueryBuilder.js +0 -1
  579. package/query-builder/SelectQueryBuilder.js.map +1 -1
  580. package/query-builder/SoftDeleteQueryBuilder.js +0 -1
  581. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  582. package/query-builder/UpdateQueryBuilder.js +0 -1
  583. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  584. package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  585. package/query-builder/relation-count/RelationCountAttribute.js +7 -8
  586. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  587. package/query-builder/relation-count/RelationCountLoader.js +0 -1
  588. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  589. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +0 -1
  590. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  591. package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  592. package/query-builder/relation-id/RelationIdAttribute.js +8 -9
  593. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  594. package/query-builder/relation-id/RelationIdLoader.js +0 -1
  595. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  596. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +0 -1
  597. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  598. package/query-builder/result/DeleteResult.js +0 -1
  599. package/query-builder/result/DeleteResult.js.map +1 -1
  600. package/query-builder/result/InsertResult.js +0 -1
  601. package/query-builder/result/InsertResult.js.map +1 -1
  602. package/query-builder/result/UpdateResult.js +0 -1
  603. package/query-builder/result/UpdateResult.js.map +1 -1
  604. package/query-builder/transformer/DocumentToEntityTransformer.js +0 -1
  605. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  606. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -4
  607. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  608. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +0 -1
  609. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  610. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +0 -1
  611. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  612. package/query-runner/BaseQueryRunner.js +0 -1
  613. package/query-runner/BaseQueryRunner.js.map +1 -1
  614. package/repository/AbstractRepository.d.ts +2 -2
  615. package/repository/AbstractRepository.js +2 -3
  616. package/repository/AbstractRepository.js.map +1 -1
  617. package/repository/BaseEntity.d.ts +1 -1
  618. package/repository/BaseEntity.js +1 -2
  619. package/repository/BaseEntity.js.map +1 -1
  620. package/repository/MongoRepository.js +0 -1
  621. package/repository/MongoRepository.js.map +1 -1
  622. package/repository/Repository.d.ts +1 -1
  623. package/repository/Repository.js +1 -2
  624. package/repository/Repository.js.map +1 -1
  625. package/repository/RepositoryFactory.js +0 -1
  626. package/repository/RepositoryFactory.js.map +1 -1
  627. package/repository/TreeRepository.js +0 -1
  628. package/repository/TreeRepository.js.map +1 -1
  629. package/schema-builder/MongoSchemaBuilder.js +0 -1
  630. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  631. package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  632. package/schema-builder/RdbmsSchemaBuilder.js +2 -3
  633. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  634. package/schema-builder/table/Table.d.ts +1 -1
  635. package/schema-builder/table/Table.js +1 -2
  636. package/schema-builder/table/Table.js.map +1 -1
  637. package/schema-builder/table/TableCheck.js +0 -1
  638. package/schema-builder/table/TableCheck.js.map +1 -1
  639. package/schema-builder/table/TableColumn.js +0 -1
  640. package/schema-builder/table/TableColumn.js.map +1 -1
  641. package/schema-builder/table/TableExclusion.js +0 -1
  642. package/schema-builder/table/TableExclusion.js.map +1 -1
  643. package/schema-builder/table/TableForeignKey.js +0 -1
  644. package/schema-builder/table/TableForeignKey.js.map +1 -1
  645. package/schema-builder/table/TableIndex.js +0 -1
  646. package/schema-builder/table/TableIndex.js.map +1 -1
  647. package/schema-builder/table/TableUnique.js +0 -1
  648. package/schema-builder/table/TableUnique.js.map +1 -1
  649. package/schema-builder/util/TableUtils.js +0 -1
  650. package/schema-builder/util/TableUtils.js.map +1 -1
  651. package/schema-builder/view/View.js +0 -1
  652. package/schema-builder/view/View.js.map +1 -1
  653. package/subscriber/Broadcaster.js +0 -1
  654. package/subscriber/Broadcaster.js.map +1 -1
  655. package/subscriber/BroadcasterResult.js +0 -1
  656. package/subscriber/BroadcasterResult.js.map +1 -1
  657. package/util/ApplyValueTransformers.js +0 -1
  658. package/util/ApplyValueTransformers.js.map +1 -1
  659. package/util/DateUtils.js +0 -1
  660. package/util/DateUtils.js.map +1 -1
  661. package/util/DepGraph.js +0 -1
  662. package/util/DepGraph.js.map +1 -1
  663. package/util/DirectoryExportedClassesLoader.js +0 -1
  664. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  665. package/util/ObjectUtils.js +0 -1
  666. package/util/ObjectUtils.js.map +1 -1
  667. package/util/OrmUtils.js +0 -1
  668. package/util/OrmUtils.js.map +1 -1
  669. package/util/RandomGenerator.js +0 -1
  670. package/util/RandomGenerator.js.map +1 -1
  671. package/util/StringUtils.js +0 -1
  672. package/util/StringUtils.js.map +1 -1
  673. package/util/VersionUtils.js +0 -1
  674. package/util/VersionUtils.js.map +1 -1
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CordovaDriver = void 0;
4
3
  var tslib_1 = require("tslib");
5
4
  var AbstractSqliteDriver_1 = require("../sqlite-abstract/AbstractSqliteDriver");
6
5
  var CordovaQueryRunner_1 = require("./CordovaQueryRunner");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/cordova/CordovaDriver.ts"],"names":[],"mappings":";;;;AAAA,gFAA6E;AAE7E,2DAAwD;AAGxD,+EAA4E;AAC5E,6FAA0F;AAU1F;IAAmC,yCAAoB;IAGnD,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,uBAAY,UAAsB;QAAlC,YACI,kBAAM,UAAU,CAAC,SAepB;QAbG,gCAAgC;QAChC,iEAAiE;QACjE,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEtC,kDAAkD;QAClD,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ;YACtB,MAAM,IAAI,iDAAuB,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ;YACtB,MAAM,IAAI,iDAAuB,CAAC,UAAU,CAAC,CAAC;QAElD,sBAAsB;QACtB,KAAI,CAAC,gBAAgB,EAAE,CAAC;;IAC5B,CAAC;IAGD,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACG,kCAAU,GAAhB;;;;gBACI,sBAAO,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;wBAC9B,KAAI,CAAC,WAAW,GAAG,SAAS,CAAC;wBAC7B,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC5C,CAAC,CAAC,EAAC;;;KACN;IAED;;OAEG;IACH,yCAAiB,GAAjB,UAAkB,IAAqB;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,gDAAwB,GAAlC;QAAA,iBAqBC;QApBG,OAAO,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;YAC9B,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;gBAC9B,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ;aAClC,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAE7B,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAC,EAAO;gBACtC,IAAM,kBAAkB,GAAG,EAAE,CAAC;gBAE9B,yFAAyF;gBACzF,kEAAkE;gBAClE,kBAAkB,CAAC,UAAU,CAAC,2BAA2B,EAAE,EAAE,EAAE,UAAC,MAAW;oBACvE,EAAE,CAAC,kBAAkB,CAAC,CAAC;gBAC3B,CAAC,EAAE,UAAC,KAAU;oBACV,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACP,CAAC,EAAE,UAAC,KAAU;gBACV,IAAI,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,wCAAgB,GAA1B;QACI,IAAI;YACA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;SAErC;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,+DAA8B,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;SACxF;IACL,CAAC;IACL,oBAAC;AAAD,CA3FA,AA2FC,CA3FkC,2CAAoB,GA2FtD;AA3FY,sCAAa","file":"CordovaDriver.js","sourcesContent":["import {AbstractSqliteDriver} from \"../sqlite-abstract/AbstractSqliteDriver\";\nimport {CordovaConnectionOptions} from \"./CordovaConnectionOptions\";\nimport {CordovaQueryRunner} from \"./CordovaQueryRunner\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {Connection} from \"../../connection/Connection\";\nimport {DriverOptionNotSetError} from \"../../error/DriverOptionNotSetError\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n// needed for typescript compiler\ninterface Window {\n sqlitePlugin: any;\n}\n\ndeclare var window: Window;\n\nexport class CordovaDriver extends AbstractSqliteDriver {\n options: CordovaConnectionOptions;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n super(connection);\n\n // this.connection = connection;\n // this.options = connection.options as CordovaConnectionOptions;\n this.database = this.options.database;\n\n // validate options to make sure everything is set\n if (!this.options.database)\n throw new DriverOptionNotSetError(\"database\");\n\n if (!this.options.location)\n throw new DriverOptionNotSetError(\"location\");\n\n // load sqlite package\n this.loadDependencies();\n }\n\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n this.queryRunner = undefined;\n this.databaseConnection.close(ok, fail);\n });\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner)\n this.queryRunner = new CordovaQueryRunner(this);\n\n return this.queryRunner;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected createDatabaseConnection() {\n return new Promise<void>((ok, fail) => {\n const options = Object.assign({}, {\n name: this.options.database,\n location: this.options.location,\n }, this.options.extra || {});\n\n this.sqlite.openDatabase(options, (db: any) => {\n const databaseConnection = db;\n\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete to work with sqlite.\n databaseConnection.executeSql(`PRAGMA foreign_keys = ON;`, [], (result: any) => {\n ok(databaseConnection);\n }, (error: any) => {\n fail(error);\n });\n }, (error: any) => {\n fail(error);\n });\n });\n }\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n try {\n this.sqlite = window.sqlitePlugin;\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"Cordova-SQLite\", \"cordova-sqlite-storage\");\n }\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/cordova/CordovaDriver.ts"],"names":[],"mappings":";;;AAAA,gFAA6E;AAE7E,2DAAwD;AAGxD,+EAA4E;AAC5E,6FAA0F;AAU1F;IAAmC,yCAAoB;IAGnD,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,uBAAY,UAAsB;QAAlC,YACI,kBAAM,UAAU,CAAC,SAepB;QAbG,gCAAgC;QAChC,iEAAiE;QACjE,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEtC,kDAAkD;QAClD,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ;YACtB,MAAM,IAAI,iDAAuB,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ;YACtB,MAAM,IAAI,iDAAuB,CAAC,UAAU,CAAC,CAAC;QAElD,sBAAsB;QACtB,KAAI,CAAC,gBAAgB,EAAE,CAAC;;IAC5B,CAAC;IAGD,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACG,kCAAU,GAAhB;;;;gBACI,sBAAO,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;wBAC9B,KAAI,CAAC,WAAW,GAAG,SAAS,CAAC;wBAC7B,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC5C,CAAC,CAAC,EAAC;;;KACN;IAED;;OAEG;IACH,yCAAiB,GAAjB,UAAkB,IAAqB;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,gDAAwB,GAAlC;QAAA,iBAqBC;QApBG,OAAO,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;YAC9B,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;gBAC9B,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ;aAClC,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAE7B,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAC,EAAO;gBACtC,IAAM,kBAAkB,GAAG,EAAE,CAAC;gBAE9B,yFAAyF;gBACzF,kEAAkE;gBAClE,kBAAkB,CAAC,UAAU,CAAC,2BAA2B,EAAE,EAAE,EAAE,UAAC,MAAW;oBACvE,EAAE,CAAC,kBAAkB,CAAC,CAAC;gBAC3B,CAAC,EAAE,UAAC,KAAU;oBACV,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACP,CAAC,EAAE,UAAC,KAAU;gBACV,IAAI,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,wCAAgB,GAA1B;QACI,IAAI;YACA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;SAErC;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,+DAA8B,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;SACxF;IACL,CAAC;IACL,oBAAC;AAAD,CA3FA,AA2FC,CA3FkC,2CAAoB,GA2FtD;AA3FY,sCAAa","file":"CordovaDriver.js","sourcesContent":["import {AbstractSqliteDriver} from \"../sqlite-abstract/AbstractSqliteDriver\";\nimport {CordovaConnectionOptions} from \"./CordovaConnectionOptions\";\nimport {CordovaQueryRunner} from \"./CordovaQueryRunner\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {Connection} from \"../../connection/Connection\";\nimport {DriverOptionNotSetError} from \"../../error/DriverOptionNotSetError\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n// needed for typescript compiler\ninterface Window {\n sqlitePlugin: any;\n}\n\ndeclare var window: Window;\n\nexport class CordovaDriver extends AbstractSqliteDriver {\n options: CordovaConnectionOptions;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n super(connection);\n\n // this.connection = connection;\n // this.options = connection.options as CordovaConnectionOptions;\n this.database = this.options.database;\n\n // validate options to make sure everything is set\n if (!this.options.database)\n throw new DriverOptionNotSetError(\"database\");\n\n if (!this.options.location)\n throw new DriverOptionNotSetError(\"location\");\n\n // load sqlite package\n this.loadDependencies();\n }\n\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n this.queryRunner = undefined;\n this.databaseConnection.close(ok, fail);\n });\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner)\n this.queryRunner = new CordovaQueryRunner(this);\n\n return this.queryRunner;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected createDatabaseConnection() {\n return new Promise<void>((ok, fail) => {\n const options = Object.assign({}, {\n name: this.options.database,\n location: this.options.location,\n }, this.options.extra || {});\n\n this.sqlite.openDatabase(options, (db: any) => {\n const databaseConnection = db;\n\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete to work with sqlite.\n databaseConnection.executeSql(`PRAGMA foreign_keys = ON;`, [], (result: any) => {\n ok(databaseConnection);\n }, (error: any) => {\n fail(error);\n });\n }, (error: any) => {\n fail(error);\n });\n });\n }\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n try {\n this.sqlite = window.sqlitePlugin;\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"Cordova-SQLite\", \"cordova-sqlite-storage\");\n }\n }\n}\n"],"sourceRoot":"../.."}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CordovaQueryRunner = void 0;
4
3
  var tslib_1 = require("tslib");
5
4
  var QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyReleasedError");
6
5
  var QueryFailedError_1 = require("../../error/QueryFailedError");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/cordova/CordovaQueryRunner.ts"],"names":[],"mappings":"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","file":"CordovaQueryRunner.js","sourcesContent":["import {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {CordovaDriver} from \"./CordovaDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class CordovaQueryRunner extends AbstractSqliteQueryRunner {\n \n /**\n * Database driver used by connection.\n */\n driver: CordovaDriver;\n \n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: CordovaDriver) {\n super();\n this.driver = driver;\n this.connection = driver.connection;\n this.broadcaster = new Broadcaster(this);\n }\n\n /**\n * Executes a given SQL query.\n */\n query(query: string, parameters?: any[]): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n return new Promise<any[]>(async (ok, fail) => {\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n databaseConnection.executeSql(query, parameters, (result: any) => {\n\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.connection.options.maxQueryExecutionTime;\n const queryEndTime = +new Date();\n const queryExecutionTime = queryEndTime - queryStartTime;\n if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime)\n this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);\n\n if (query.substr(0, 11) === \"INSERT INTO\") {\n ok(result.insertId);\n }\n else {\n let resultSet = [];\n for (let i = 0; i < result.rows.length; i++) {\n resultSet.push(result.rows.item(i));\n }\n \n ok(resultSet);\n }\n }, (err: any) => {\n this.driver.connection.logger.logQueryError(err, query, parameters, this);\n fail(new QueryFailedError(query, parameters, err));\n });\n });\n }\n\n /**\n * Insert a new row with given values into the given table.\n * Returns value of the generated column if given and generate column exist in the table.\n // todo: implement new syntax\n async insert(tableName: string, keyValues: ObjectLiteral): Promise<InsertResult> {\n const keys = Object.keys(keyValues);\n const columns = keys.map(key => `\"${key}\"`).join(\", \");\n const values = keys.map(key => \"?\").join(\",\");\n const generatedColumns = this.connection.hasMetadata(tableName) ? this.connection.getMetadata(tableName).generatedColumns : [];\n const sql = columns.length > 0 ? (`INSERT INTO \"${tableName}\"(${columns}) VALUES (${values})`) : `INSERT INTO \"${tableName}\" DEFAULT VALUES`;\n const parameters = keys.map(key => keyValues[key]);\n\n return new Promise<InsertResult>(async (ok, fail) => {\n this.driver.connection.logger.logQuery(sql, parameters, this);\n const __this = this;\n const databaseConnection = await this.connect();\n databaseConnection.executeSql(sql, parameters, (resultSet: any) => {\n const generatedMap = generatedColumns.reduce((map, generatedColumn) => {\n const value = generatedColumn.isPrimary && generatedColumn.generationStrategy === \"increment\" && resultSet.insertId ? resultSet.insertId : keyValues[generatedColumn.databaseName];\n if (!value) return map;\n return OrmUtils.mergeDeep(map, generatedColumn.createValueMap(value));\n }, {} as ObjectLiteral);\n\n ok({\n result: undefined,\n generatedMap: Object.keys(generatedMap).length > 0 ? generatedMap : undefined\n });\n }, (err: any) => {\n __this.driver.connection.logger.logQueryError(err, sql, parameters, this);\n fail(err);\n });\n });\n }*/\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Parametrizes given object of values. Used to create column=value queries.\n */\n protected parametrize(objectLiteral: ObjectLiteral, startIndex: number = 0): string[] {\n return Object.keys(objectLiteral).map((key, index) => `\"${key}\"` + \"=?\");\n }\n}"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/cordova/CordovaQueryRunner.ts"],"names":[],"mappings":"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","file":"CordovaQueryRunner.js","sourcesContent":["import {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {CordovaDriver} from \"./CordovaDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class CordovaQueryRunner extends AbstractSqliteQueryRunner {\n \n /**\n * Database driver used by connection.\n */\n driver: CordovaDriver;\n \n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: CordovaDriver) {\n super();\n this.driver = driver;\n this.connection = driver.connection;\n this.broadcaster = new Broadcaster(this);\n }\n\n /**\n * Executes a given SQL query.\n */\n query(query: string, parameters?: any[]): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n return new Promise<any[]>(async (ok, fail) => {\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n databaseConnection.executeSql(query, parameters, (result: any) => {\n\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.connection.options.maxQueryExecutionTime;\n const queryEndTime = +new Date();\n const queryExecutionTime = queryEndTime - queryStartTime;\n if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime)\n this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);\n\n if (query.substr(0, 11) === \"INSERT INTO\") {\n ok(result.insertId);\n }\n else {\n let resultSet = [];\n for (let i = 0; i < result.rows.length; i++) {\n resultSet.push(result.rows.item(i));\n }\n \n ok(resultSet);\n }\n }, (err: any) => {\n this.driver.connection.logger.logQueryError(err, query, parameters, this);\n fail(new QueryFailedError(query, parameters, err));\n });\n });\n }\n\n /**\n * Insert a new row with given values into the given table.\n * Returns value of the generated column if given and generate column exist in the table.\n // todo: implement new syntax\n async insert(tableName: string, keyValues: ObjectLiteral): Promise<InsertResult> {\n const keys = Object.keys(keyValues);\n const columns = keys.map(key => `\"${key}\"`).join(\", \");\n const values = keys.map(key => \"?\").join(\",\");\n const generatedColumns = this.connection.hasMetadata(tableName) ? this.connection.getMetadata(tableName).generatedColumns : [];\n const sql = columns.length > 0 ? (`INSERT INTO \"${tableName}\"(${columns}) VALUES (${values})`) : `INSERT INTO \"${tableName}\" DEFAULT VALUES`;\n const parameters = keys.map(key => keyValues[key]);\n\n return new Promise<InsertResult>(async (ok, fail) => {\n this.driver.connection.logger.logQuery(sql, parameters, this);\n const __this = this;\n const databaseConnection = await this.connect();\n databaseConnection.executeSql(sql, parameters, (resultSet: any) => {\n const generatedMap = generatedColumns.reduce((map, generatedColumn) => {\n const value = generatedColumn.isPrimary && generatedColumn.generationStrategy === \"increment\" && resultSet.insertId ? resultSet.insertId : keyValues[generatedColumn.databaseName];\n if (!value) return map;\n return OrmUtils.mergeDeep(map, generatedColumn.createValueMap(value));\n }, {} as ObjectLiteral);\n\n ok({\n result: undefined,\n generatedMap: Object.keys(generatedMap).length > 0 ? generatedMap : undefined\n });\n }, (err: any) => {\n __this.driver.connection.logger.logQueryError(err, sql, parameters, this);\n fail(err);\n });\n });\n }*/\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Parametrizes given object of values. Used to create column=value queries.\n */\n protected parametrize(objectLiteral: ObjectLiteral, startIndex: number = 0): string[] {\n return Object.keys(objectLiteral).map((key, index) => `\"${key}\"` + \"=?\");\n }\n}"],"sourceRoot":"../.."}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpoDriver = void 0;
4
3
  var tslib_1 = require("tslib");
5
4
  var AbstractSqliteDriver_1 = require("../sqlite-abstract/AbstractSqliteDriver");
6
5
  var ExpoQueryRunner_1 = require("./ExpoQueryRunner");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/expo/ExpoDriver.ts"],"names":[],"mappings":";;;;AAAA,gFAA6E;AAE7E,qDAAkD;AAGlD,+EAA4E;AAG5E;IAAgC,sCAAoB;IAGhD,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,oBAAY,UAAsB;QAAlC,YACI,kBAAM,UAAU,CAAC,SAapB;QAXG,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEtC,kDAAkD;QAClD,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ;YACtB,MAAM,IAAI,iDAAuB,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,MAAM;YACpB,MAAM,IAAI,iDAAuB,CAAC,QAAQ,CAAC,CAAC;QAEhD,sBAAsB;QACtB,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC;;IACtC,CAAC;IAGD,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACG,+BAAU,GAAhB;;;;gBACI,sBAAO,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;wBAC9B,IAAI;4BACA,KAAI,CAAC,WAAW,GAAG,SAAS,CAAC;4BAC7B,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;4BACpC,KAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;4BACpC,EAAE,EAAE,CAAC;yBACR;wBAAC,OAAO,KAAK,EAAE;4BACZ,IAAI,CAAC,KAAK,CAAC,CAAC;yBACf;oBACL,CAAC,CAAC,EAAC;;;KACN;IAED;;OAEG;IACH,sCAAiB,GAAjB,UAAkB,IAAqB;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,6CAAwB,GAAlC;QAAA,iBAqBC;QApBG,OAAO,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;YAC9B,IAAI;gBACA,IAAM,oBAAkB,GAAG,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC3E;;;kBAGE;gBACF,oBAAkB,CAAC,WAAW,CAAC,UAAC,GAAQ;oBACpC,GAAG,CAAC,UAAU,CAAC,2BAA2B,EAAE,EAAE,EAAE,UAAC,CAAM,EAAE,MAAW;wBAChE,EAAE,CAAC,oBAAkB,CAAC,CAAC;oBAC3B,CAAC,EAAE,UAAC,CAAM,EAAE,GAAQ;wBAChB,IAAI,CAAC,EAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;gBACP,CAAC,EAAE,UAAC,GAAQ;oBACR,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,KAAK,CAAC,CAAC;aACf;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACL,iBAAC;AAAD,CAnFA,AAmFC,CAnF+B,2CAAoB,GAmFnD;AAnFY,gCAAU","file":"ExpoDriver.js","sourcesContent":["import {AbstractSqliteDriver} from \"../sqlite-abstract/AbstractSqliteDriver\";\nimport {ExpoConnectionOptions} from \"./ExpoConnectionOptions\";\nimport {ExpoQueryRunner} from \"./ExpoQueryRunner\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {Connection} from \"../../connection/Connection\";\nimport {DriverOptionNotSetError} from \"../../error/DriverOptionNotSetError\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\nexport class ExpoDriver extends AbstractSqliteDriver {\n options: ExpoConnectionOptions;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n super(connection);\n\n this.database = this.options.database;\n\n // validate options to make sure everything is set\n if (!this.options.database)\n throw new DriverOptionNotSetError(\"database\");\n\n if (!this.options.driver)\n throw new DriverOptionNotSetError(\"driver\");\n\n // load sqlite package\n this.sqlite = this.options.driver;\n }\n\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n try {\n this.queryRunner = undefined;\n this.databaseConnection._db.close();\n this.databaseConnection = undefined;\n ok();\n } catch (error) {\n fail(error);\n }\n });\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner)\n this.queryRunner = new ExpoQueryRunner(this);\n\n return this.queryRunner;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected createDatabaseConnection() {\n return new Promise<void>((ok, fail) => {\n try {\n const databaseConnection = this.sqlite.openDatabase(this.options.database);\n /*\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete work with sqlite.\n */\n databaseConnection.transaction((tsx: any) => {\n tsx.executeSql(`PRAGMA foreign_keys = ON;`, [], (t: any, result: any) => {\n ok(databaseConnection);\n }, (t: any, err: any) => {\n fail({transaction: t, error: err});\n });\n }, (err: any) => {\n fail(err);\n });\n } catch (error) {\n fail(error);\n }\n });\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/expo/ExpoDriver.ts"],"names":[],"mappings":";;;AAAA,gFAA6E;AAE7E,qDAAkD;AAGlD,+EAA4E;AAG5E;IAAgC,sCAAoB;IAGhD,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,oBAAY,UAAsB;QAAlC,YACI,kBAAM,UAAU,CAAC,SAapB;QAXG,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEtC,kDAAkD;QAClD,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ;YACtB,MAAM,IAAI,iDAAuB,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,MAAM;YACpB,MAAM,IAAI,iDAAuB,CAAC,QAAQ,CAAC,CAAC;QAEhD,sBAAsB;QACtB,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC;;IACtC,CAAC;IAGD,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACG,+BAAU,GAAhB;;;;gBACI,sBAAO,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;wBAC9B,IAAI;4BACA,KAAI,CAAC,WAAW,GAAG,SAAS,CAAC;4BAC7B,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;4BACpC,KAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;4BACpC,EAAE,EAAE,CAAC;yBACR;wBAAC,OAAO,KAAK,EAAE;4BACZ,IAAI,CAAC,KAAK,CAAC,CAAC;yBACf;oBACL,CAAC,CAAC,EAAC;;;KACN;IAED;;OAEG;IACH,sCAAiB,GAAjB,UAAkB,IAAqB;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,6CAAwB,GAAlC;QAAA,iBAqBC;QApBG,OAAO,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;YAC9B,IAAI;gBACA,IAAM,oBAAkB,GAAG,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC3E;;;kBAGE;gBACF,oBAAkB,CAAC,WAAW,CAAC,UAAC,GAAQ;oBACpC,GAAG,CAAC,UAAU,CAAC,2BAA2B,EAAE,EAAE,EAAE,UAAC,CAAM,EAAE,MAAW;wBAChE,EAAE,CAAC,oBAAkB,CAAC,CAAC;oBAC3B,CAAC,EAAE,UAAC,CAAM,EAAE,GAAQ;wBAChB,IAAI,CAAC,EAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;gBACP,CAAC,EAAE,UAAC,GAAQ;oBACR,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,KAAK,CAAC,CAAC;aACf;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACL,iBAAC;AAAD,CAnFA,AAmFC,CAnF+B,2CAAoB,GAmFnD;AAnFY,gCAAU","file":"ExpoDriver.js","sourcesContent":["import {AbstractSqliteDriver} from \"../sqlite-abstract/AbstractSqliteDriver\";\nimport {ExpoConnectionOptions} from \"./ExpoConnectionOptions\";\nimport {ExpoQueryRunner} from \"./ExpoQueryRunner\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {Connection} from \"../../connection/Connection\";\nimport {DriverOptionNotSetError} from \"../../error/DriverOptionNotSetError\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\nexport class ExpoDriver extends AbstractSqliteDriver {\n options: ExpoConnectionOptions;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n super(connection);\n\n this.database = this.options.database;\n\n // validate options to make sure everything is set\n if (!this.options.database)\n throw new DriverOptionNotSetError(\"database\");\n\n if (!this.options.driver)\n throw new DriverOptionNotSetError(\"driver\");\n\n // load sqlite package\n this.sqlite = this.options.driver;\n }\n\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n try {\n this.queryRunner = undefined;\n this.databaseConnection._db.close();\n this.databaseConnection = undefined;\n ok();\n } catch (error) {\n fail(error);\n }\n });\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner)\n this.queryRunner = new ExpoQueryRunner(this);\n\n return this.queryRunner;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected createDatabaseConnection() {\n return new Promise<void>((ok, fail) => {\n try {\n const databaseConnection = this.sqlite.openDatabase(this.options.database);\n /*\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete work with sqlite.\n */\n databaseConnection.transaction((tsx: any) => {\n tsx.executeSql(`PRAGMA foreign_keys = ON;`, [], (t: any, result: any) => {\n ok(databaseConnection);\n }, (t: any, err: any) => {\n fail({transaction: t, error: err});\n });\n }, (err: any) => {\n fail(err);\n });\n } catch (error) {\n fail(error);\n }\n });\n }\n}\n"],"sourceRoot":"../.."}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpoQueryRunner = void 0;
4
3
  var tslib_1 = require("tslib");
5
4
  var QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyReleasedError");
6
5
  var QueryFailedError_1 = require("../../error/QueryFailedError");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/expo/ExpoQueryRunner.ts"],"names":[],"mappings":"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","file":"ExpoQueryRunner.js","sourcesContent":["import {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {TransactionAlreadyStartedError} from \"../../error/TransactionAlreadyStartedError\";\nimport {TransactionNotStartedError} from \"../../error/TransactionNotStartedError\";\nimport {ExpoDriver} from \"./ExpoDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\n\n// Needed to satisfy the Typescript compiler\ninterface IResultSet {\n insertId: number | undefined;\n rowsAffected: number;\n rows: {\n length: number;\n item: (idx: number) => any;\n _array: any[];\n };\n}\ninterface ITransaction {\n executeSql: (\n sql: string,\n args: any[] | undefined,\n ok: (tsx: ITransaction, resultSet: IResultSet) => void,\n fail: (tsx: ITransaction, err: any) => void\n ) => void;\n}\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class ExpoQueryRunner extends AbstractSqliteQueryRunner {\n \n /**\n * Database driver used by connection.\n */\n driver: ExpoDriver;\n\n /**\n * Database transaction object\n */\n private transaction?: ITransaction;\n \n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: ExpoDriver) {\n super();\n this.driver = driver;\n this.connection = driver.connection;\n this.broadcaster = new Broadcaster(this);\n }\n\n /**\n * Starts transaction. Within Expo, all database operations happen in a\n * transaction context, so issuing a `BEGIN TRANSACTION` command is\n * redundant and will result in the following error:\n * \n * `Error: Error code 1: cannot start a transaction within a transaction`\n * \n * Instead, we keep track of a `Transaction` object in `this.transaction`\n * and continue using the same object until we wish to commit the\n * transaction.\n */\n async startTransaction(): Promise<void> {\n if (this.isTransactionActive && typeof this.transaction !== \"undefined\")\n throw new TransactionAlreadyStartedError();\n\n this.isTransactionActive = true;\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n * Since Expo will automatically commit the transaction once all the\n * callbacks of the transaction object have been completed, \"committing\" a\n * transaction in this driver's context means that we delete the transaction\n * object and set the stage for the next transaction.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n this.isTransactionActive = false;\n this.transaction = undefined;\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n * This method's functionality is identical to `commitTransaction()` because\n * the transaction lifecycle is handled within the Expo transaction object.\n * Issuing separate statements for `COMMIT` or `ROLLBACK` aren't necessary.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n this.isTransactionActive = false;\n this.transaction = undefined;\n }\n\n /**\n * Executes a given SQL query.\n */\n query(query: string, parameters?: any[]): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n return new Promise<any>(async (ok, fail) => {\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n // All Expo SQL queries are executed in a transaction context\n databaseConnection.transaction((transaction: ITransaction) => {\n if (typeof this.transaction === \"undefined\") {\n this.startTransaction();\n this.transaction = transaction;\n }\n this.transaction.executeSql(query, parameters, (t: ITransaction, result: IResultSet) => {\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.connection.options.maxQueryExecutionTime;\n const queryEndTime = +new Date();\n const queryExecutionTime = queryEndTime - queryStartTime;\n if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime) {\n this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);\n }\n \n // return id of inserted row, if query was insert statement.\n if (query.substr(0, 11) === \"INSERT INTO\") {\n ok(result.insertId);\n }\n else {\n let resultSet = [];\n for (let i = 0; i < result.rows.length; i++) {\n resultSet.push(result.rows.item(i));\n }\n ok(resultSet);\n }\n }, (t: ITransaction, err: any) => {\n this.driver.connection.logger.logQueryError(err, query, parameters, this);\n fail(new QueryFailedError(query, parameters, err));\n });\n }, (err: any) => {\n this.rollbackTransaction();\n }, () => {\n this.isTransactionActive = false;\n this.transaction = undefined;\n });\n });\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/expo/ExpoQueryRunner.ts"],"names":[],"mappings":"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","file":"ExpoQueryRunner.js","sourcesContent":["import {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {TransactionAlreadyStartedError} from \"../../error/TransactionAlreadyStartedError\";\nimport {TransactionNotStartedError} from \"../../error/TransactionNotStartedError\";\nimport {ExpoDriver} from \"./ExpoDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\n\n// Needed to satisfy the Typescript compiler\ninterface IResultSet {\n insertId: number | undefined;\n rowsAffected: number;\n rows: {\n length: number;\n item: (idx: number) => any;\n _array: any[];\n };\n}\ninterface ITransaction {\n executeSql: (\n sql: string,\n args: any[] | undefined,\n ok: (tsx: ITransaction, resultSet: IResultSet) => void,\n fail: (tsx: ITransaction, err: any) => void\n ) => void;\n}\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class ExpoQueryRunner extends AbstractSqliteQueryRunner {\n \n /**\n * Database driver used by connection.\n */\n driver: ExpoDriver;\n\n /**\n * Database transaction object\n */\n private transaction?: ITransaction;\n \n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: ExpoDriver) {\n super();\n this.driver = driver;\n this.connection = driver.connection;\n this.broadcaster = new Broadcaster(this);\n }\n\n /**\n * Starts transaction. Within Expo, all database operations happen in a\n * transaction context, so issuing a `BEGIN TRANSACTION` command is\n * redundant and will result in the following error:\n * \n * `Error: Error code 1: cannot start a transaction within a transaction`\n * \n * Instead, we keep track of a `Transaction` object in `this.transaction`\n * and continue using the same object until we wish to commit the\n * transaction.\n */\n async startTransaction(): Promise<void> {\n if (this.isTransactionActive && typeof this.transaction !== \"undefined\")\n throw new TransactionAlreadyStartedError();\n\n this.isTransactionActive = true;\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n * Since Expo will automatically commit the transaction once all the\n * callbacks of the transaction object have been completed, \"committing\" a\n * transaction in this driver's context means that we delete the transaction\n * object and set the stage for the next transaction.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n this.isTransactionActive = false;\n this.transaction = undefined;\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n * This method's functionality is identical to `commitTransaction()` because\n * the transaction lifecycle is handled within the Expo transaction object.\n * Issuing separate statements for `COMMIT` or `ROLLBACK` aren't necessary.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n this.isTransactionActive = false;\n this.transaction = undefined;\n }\n\n /**\n * Executes a given SQL query.\n */\n query(query: string, parameters?: any[]): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n return new Promise<any>(async (ok, fail) => {\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n // All Expo SQL queries are executed in a transaction context\n databaseConnection.transaction((transaction: ITransaction) => {\n if (typeof this.transaction === \"undefined\") {\n this.startTransaction();\n this.transaction = transaction;\n }\n this.transaction.executeSql(query, parameters, (t: ITransaction, result: IResultSet) => {\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.connection.options.maxQueryExecutionTime;\n const queryEndTime = +new Date();\n const queryExecutionTime = queryEndTime - queryStartTime;\n if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime) {\n this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);\n }\n \n // return id of inserted row, if query was insert statement.\n if (query.substr(0, 11) === \"INSERT INTO\") {\n ok(result.insertId);\n }\n else {\n let resultSet = [];\n for (let i = 0; i < result.rows.length; i++) {\n resultSet.push(result.rows.item(i));\n }\n ok(resultSet);\n }\n }, (t: ITransaction, err: any) => {\n this.driver.connection.logger.logQueryError(err, query, parameters, this);\n fail(new QueryFailedError(query, parameters, err));\n });\n }, (err: any) => {\n this.rollbackTransaction();\n }, () => {\n this.isTransactionActive = false;\n this.transaction = undefined;\n });\n });\n }\n}\n"],"sourceRoot":"../.."}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MongoDriver = void 0;
4
3
  var tslib_1 = require("tslib");
5
4
  var ConnectionIsNotSetError_1 = require("../../error/ConnectionIsNotSetError");
6
5
  var DriverPackageNotInstalledError_1 = require("../../error/DriverPackageNotInstalledError");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/mongodb/MongoDriver.ts"],"names":[],"mappings":"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","file":"MongoDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {ConnectionIsNotSetError} from \"../../error/ConnectionIsNotSetError\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {MongoQueryRunner} from \"./MongoQueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {Connection} from \"../../connection/Connection\";\nimport {MongoConnectionOptions} from \"./MongoConnectionOptions\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {MongoSchemaBuilder} from \"../../schema-builder/MongoSchemaBuilder\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {ConnectionOptions} from \"../../connection/ConnectionOptions\";\nimport {EntityMetadata} from \"../../metadata/EntityMetadata\";\nimport {ObjectUtils} from \"../../util/ObjectUtils\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with MongoDB.\n */\nexport class MongoDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Underlying mongodb library.\n */\n mongodb: any;\n\n /**\n * Mongodb does not require to dynamically create query runner each time,\n * because it does not have a regular connection pool as RDBMS systems have.\n */\n queryRunner?: MongoQueryRunner;\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: MongoConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = false;\n\n /**\n * Mongodb does not need to have column types because they are not used in schema sync.\n */\n supportedDataTypes: ColumnType[] = [];\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 * Mongodb does not need to have a strong defined mapped column types because they are not used in schema sync.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"int\",\n createDateDefault: \"\",\n updateDate: \"int\",\n updateDateDefault: \"\",\n deleteDate: \"int\",\n deleteDateNullable: true,\n version: \"int\",\n treeLevel: \"int\",\n migrationId: \"int\",\n migrationName: \"int\",\n migrationTimestamp: \"int\",\n cacheId: \"int\",\n cacheIdentifier: \"int\",\n cacheTime: \"int\",\n cacheDuration: \"int\",\n cacheQuery: \"int\",\n cacheResult: \"int\",\n metadataType: \"int\",\n metadataDatabase: \"int\",\n metadataSchema: \"int\",\n metadataTable: \"int\",\n metadataName: \"int\",\n metadataValue: \"int\",\n };\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 * No documentation specifying a maximum length for identifiers could be found\n * for MongoDB.\n */\n maxAliasLength?: number;\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Valid mongo connection options\n * NOTE: Keep sync with MongoConnectionOptions\n * Sync with http://mongodb.github.io/node-mongodb-native/3.1/api/MongoClient.html\n */\n protected validOptionNames: string[] = [\n \"poolSize\",\n \"ssl\",\n \"sslValidate\",\n \"sslCA\",\n \"sslCert\",\n \"sslKey\",\n \"sslPass\",\n \"sslCRL\",\n \"autoReconnect\",\n \"noDelay\",\n \"keepAlive\",\n \"keepAliveInitialDelay\",\n \"connectTimeoutMS\",\n \"family\",\n \"socketTimeoutMS\",\n \"reconnectTries\",\n \"reconnectInterval\",\n \"ha\",\n \"haInterval\",\n \"replicaSet\",\n \"secondaryAcceptableLatencyMS\",\n \"acceptableLatencyMS\",\n \"connectWithNoPrimary\",\n \"authSource\",\n \"w\",\n \"wtimeout\",\n \"j\",\n \"forceServerObjectId\",\n \"serializeFunctions\",\n \"ignoreUndefined\",\n \"raw\",\n \"bufferMaxEntries\",\n \"readPreference\",\n \"pkFactory\",\n \"promiseLibrary\",\n \"readConcern\",\n \"maxStalenessSeconds\",\n \"loggerLevel\",\n // Do not overwrite BaseConnectionOptions.logger\n // \"logger\",\n \"promoteValues\",\n \"promoteBuffers\",\n \"promoteLongs\",\n \"domainsEnabled\",\n \"checkServerIdentity\",\n \"validateOptions\",\n \"appname\",\n // omit auth - we are building url from username and password\n // \"auth\"\n \"authMechanism\",\n \"compression\",\n \"fsync\",\n \"readPreferenceTags\",\n \"numberOfRetries\",\n \"auto_reconnect\",\n \"minSize\",\n \"monitorCommands\",\n \"useNewUrlParser\",\n \"useUnifiedTopology\"\n ];\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n this.options = connection.options as MongoConnectionOptions;\n\n // validate options to make sure everything is correct and driver will be able to establish connection\n this.validateOptions(connection.options);\n\n // load mongodb package\n this.loadDependencies();\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n */\n connect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n this.mongodb.MongoClient.connect(\n this.buildConnectionUrl(),\n this.buildConnectionOptions(),\n (err: any, client: any) => {\n if (err) return fail(err);\n\n this.queryRunner = new MongoQueryRunner(this.connection, client);\n ObjectUtils.assign(this.queryRunner, { manager: this.connection.manager });\n ok();\n });\n });\n }\n\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n if (!this.queryRunner)\n return fail(new ConnectionIsNotSetError(\"mongodb\"));\n\n const handler = (err: any) => err ? fail(err) : ok();\n this.queryRunner.databaseConnection.close(handler);\n this.queryRunner = undefined;\n });\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new MongoSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return this.queryRunner!;\n }\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(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n throw new Error(`This operation is not supported by Mongodb driver.`);\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return columnName;\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. \"myDB\".\"mySchema\".\"myTable\"\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return tableName;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n return value;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type?: ColumnType, length?: number | string, precision?: number|null, scale?: number }): string {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata): string {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n createFullType(column: TableColumn): string {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\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 return Promise.resolve();\n }\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 return Promise.resolve();\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertedId: any) {\n return metadata.objectIdColumn!.createValueMap(insertedId);\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return false;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \"\";\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Validate driver options to make sure everything is correct and driver will be able to establish connection.\n */\n protected validateOptions(options: ConnectionOptions) { // todo: fix\n // if (!options.url) {\n // if (!options.database)\n // throw new DriverOptionNotSetError(\"database\");\n // }\n }\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): any {\n try {\n this.mongodb = PlatformTools.load(\"mongodb\"); // try to load native driver dynamically\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"MongoDB\", \"mongodb\");\n }\n }\n\n /**\n * Builds connection url that is passed to underlying driver to perform connection to the mongodb database.\n */\n protected buildConnectionUrl(): string {\n if (this.options.url)\n return this.options.url;\n\n const credentialsUrlPart = (this.options.username && this.options.password)\n ? `${this.options.username}:${this.options.password}@`\n : \"\";\n\n return `mongodb://${credentialsUrlPart}${this.options.host || \"127.0.0.1\"}:${this.options.port || \"27017\"}/${this.options.database}`;\n }\n\n /**\n * Build connection options from MongoConnectionOptions\n */\n protected buildConnectionOptions(): any {\n const mongoOptions: any = {};\n\n for (let index = 0; index < this.validOptionNames.length; index++) {\n const optionName = this.validOptionNames[index];\n\n if (this.options.extra && optionName in this.options.extra) {\n mongoOptions[optionName] = this.options.extra[optionName];\n } else if (optionName in this.options) {\n mongoOptions[optionName] = (this.options as any)[optionName];\n }\n }\n\n return mongoOptions;\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/mongodb/MongoDriver.ts"],"names":[],"mappings":"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","file":"MongoDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {ConnectionIsNotSetError} from \"../../error/ConnectionIsNotSetError\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {MongoQueryRunner} from \"./MongoQueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {Connection} from \"../../connection/Connection\";\nimport {MongoConnectionOptions} from \"./MongoConnectionOptions\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {MongoSchemaBuilder} from \"../../schema-builder/MongoSchemaBuilder\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {ConnectionOptions} from \"../../connection/ConnectionOptions\";\nimport {EntityMetadata} from \"../../metadata/EntityMetadata\";\nimport {ObjectUtils} from \"../../util/ObjectUtils\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with MongoDB.\n */\nexport class MongoDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Underlying mongodb library.\n */\n mongodb: any;\n\n /**\n * Mongodb does not require to dynamically create query runner each time,\n * because it does not have a regular connection pool as RDBMS systems have.\n */\n queryRunner?: MongoQueryRunner;\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: MongoConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = false;\n\n /**\n * Mongodb does not need to have column types because they are not used in schema sync.\n */\n supportedDataTypes: ColumnType[] = [];\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 * Mongodb does not need to have a strong defined mapped column types because they are not used in schema sync.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"int\",\n createDateDefault: \"\",\n updateDate: \"int\",\n updateDateDefault: \"\",\n deleteDate: \"int\",\n deleteDateNullable: true,\n version: \"int\",\n treeLevel: \"int\",\n migrationId: \"int\",\n migrationName: \"int\",\n migrationTimestamp: \"int\",\n cacheId: \"int\",\n cacheIdentifier: \"int\",\n cacheTime: \"int\",\n cacheDuration: \"int\",\n cacheQuery: \"int\",\n cacheResult: \"int\",\n metadataType: \"int\",\n metadataDatabase: \"int\",\n metadataSchema: \"int\",\n metadataTable: \"int\",\n metadataName: \"int\",\n metadataValue: \"int\",\n };\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 * No documentation specifying a maximum length for identifiers could be found\n * for MongoDB.\n */\n maxAliasLength?: number;\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Valid mongo connection options\n * NOTE: Keep sync with MongoConnectionOptions\n * Sync with http://mongodb.github.io/node-mongodb-native/3.1/api/MongoClient.html\n */\n protected validOptionNames: string[] = [\n \"poolSize\",\n \"ssl\",\n \"sslValidate\",\n \"sslCA\",\n \"sslCert\",\n \"sslKey\",\n \"sslPass\",\n \"sslCRL\",\n \"autoReconnect\",\n \"noDelay\",\n \"keepAlive\",\n \"keepAliveInitialDelay\",\n \"connectTimeoutMS\",\n \"family\",\n \"socketTimeoutMS\",\n \"reconnectTries\",\n \"reconnectInterval\",\n \"ha\",\n \"haInterval\",\n \"replicaSet\",\n \"secondaryAcceptableLatencyMS\",\n \"acceptableLatencyMS\",\n \"connectWithNoPrimary\",\n \"authSource\",\n \"w\",\n \"wtimeout\",\n \"j\",\n \"forceServerObjectId\",\n \"serializeFunctions\",\n \"ignoreUndefined\",\n \"raw\",\n \"bufferMaxEntries\",\n \"readPreference\",\n \"pkFactory\",\n \"promiseLibrary\",\n \"readConcern\",\n \"maxStalenessSeconds\",\n \"loggerLevel\",\n // Do not overwrite BaseConnectionOptions.logger\n // \"logger\",\n \"promoteValues\",\n \"promoteBuffers\",\n \"promoteLongs\",\n \"domainsEnabled\",\n \"checkServerIdentity\",\n \"validateOptions\",\n \"appname\",\n // omit auth - we are building url from username and password\n // \"auth\"\n \"authMechanism\",\n \"compression\",\n \"fsync\",\n \"readPreferenceTags\",\n \"numberOfRetries\",\n \"auto_reconnect\",\n \"minSize\",\n \"monitorCommands\",\n \"useNewUrlParser\",\n \"useUnifiedTopology\"\n ];\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n this.options = connection.options as MongoConnectionOptions;\n\n // validate options to make sure everything is correct and driver will be able to establish connection\n this.validateOptions(connection.options);\n\n // load mongodb package\n this.loadDependencies();\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n */\n connect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n this.mongodb.MongoClient.connect(\n this.buildConnectionUrl(),\n this.buildConnectionOptions(),\n (err: any, client: any) => {\n if (err) return fail(err);\n\n this.queryRunner = new MongoQueryRunner(this.connection, client);\n ObjectUtils.assign(this.queryRunner, { manager: this.connection.manager });\n ok();\n });\n });\n }\n\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n if (!this.queryRunner)\n return fail(new ConnectionIsNotSetError(\"mongodb\"));\n\n const handler = (err: any) => err ? fail(err) : ok();\n this.queryRunner.databaseConnection.close(handler);\n this.queryRunner = undefined;\n });\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new MongoSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return this.queryRunner!;\n }\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(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n throw new Error(`This operation is not supported by Mongodb driver.`);\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return columnName;\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. \"myDB\".\"mySchema\".\"myTable\"\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return tableName;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n return value;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type?: ColumnType, length?: number | string, precision?: number|null, scale?: number }): string {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata): string {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n createFullType(column: TableColumn): string {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\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 return Promise.resolve();\n }\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 return Promise.resolve();\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertedId: any) {\n return metadata.objectIdColumn!.createValueMap(insertedId);\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n throw new Error(`MongoDB is schema-less, not supported by this driver.`);\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return false;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \"\";\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Validate driver options to make sure everything is correct and driver will be able to establish connection.\n */\n protected validateOptions(options: ConnectionOptions) { // todo: fix\n // if (!options.url) {\n // if (!options.database)\n // throw new DriverOptionNotSetError(\"database\");\n // }\n }\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): any {\n try {\n this.mongodb = PlatformTools.load(\"mongodb\"); // try to load native driver dynamically\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"MongoDB\", \"mongodb\");\n }\n }\n\n /**\n * Builds connection url that is passed to underlying driver to perform connection to the mongodb database.\n */\n protected buildConnectionUrl(): string {\n if (this.options.url)\n return this.options.url;\n\n const credentialsUrlPart = (this.options.username && this.options.password)\n ? `${this.options.username}:${this.options.password}@`\n : \"\";\n\n return `mongodb://${credentialsUrlPart}${this.options.host || \"127.0.0.1\"}:${this.options.port || \"27017\"}/${this.options.database}`;\n }\n\n /**\n * Build connection options from MongoConnectionOptions\n */\n protected buildConnectionOptions(): any {\n const mongoOptions: any = {};\n\n for (let index = 0; index < this.validOptionNames.length; index++) {\n const optionName = this.validOptionNames[index];\n\n if (this.options.extra && optionName in this.options.extra) {\n mongoOptions[optionName] = this.options.extra[optionName];\n } else if (optionName in this.options) {\n mongoOptions[optionName] = (this.options as any)[optionName];\n }\n }\n\n return mongoOptions;\n }\n\n}\n"],"sourceRoot":"../.."}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MongoQueryRunner = void 0;
4
3
  var tslib_1 = require("tslib");
5
4
  var Broadcaster_1 = require("../../subscriber/Broadcaster");
6
5
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/mongodb/MongoQueryRunner.ts"],"names":[],"mappings":"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","file":"MongoQueryRunner.js","sourcesContent":["import {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {Table} from \"../../schema-builder/table/Table\";\nimport {TableForeignKey} from \"../../schema-builder/table/TableForeignKey\";\nimport {TableIndex} from \"../../schema-builder/table/TableIndex\";\nimport {View} from \"../../schema-builder/view/View\";\nimport {\n AggregationCursor,\n BulkWriteOpResultObject,\n ChangeStream,\n ChangeStreamOptions,\n Code,\n Collection,\n CollectionAggregationOptions,\n CollectionBulkWriteOptions,\n CollectionInsertManyOptions,\n CollectionInsertOneOptions,\n CollectionOptions,\n CollStats,\n CommandCursor,\n Cursor,\n Db,\n DeleteWriteOpResultObject,\n FindAndModifyWriteOpResultObject,\n FindOneAndReplaceOption,\n GeoHaystackSearchOptions,\n GeoNearOptions,\n InsertOneWriteOpResult,\n InsertWriteOpResult,\n MapReduceOptions,\n MongoCountPreferences,\n MongodbIndexOptions,\n OrderedBulkOperation,\n ParallelCollectionScanOptions,\n ReadPreference,\n ReplaceOneOptions,\n UnorderedBulkOperation,\n UpdateWriteOpResult\n} from \"./typings\";\nimport {Connection} from \"../../connection/Connection\";\nimport {ReadStream} from \"../../platform/PlatformTools\";\nimport {MongoEntityManager} from \"../../entity-manager/MongoEntityManager\";\nimport {SqlInMemory} from \"../SqlInMemory\";\nimport {TableUnique} from \"../../schema-builder/table/TableUnique\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\nimport {TableCheck} from \"../../schema-builder/table/TableCheck\";\nimport {TableExclusion} from \"../../schema-builder/table/TableExclusion\";\n\n/**\n * Runs queries on a single MongoDB connection.\n */\nexport class MongoQueryRunner implements QueryRunner {\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by this query runner.\n */\n connection: Connection;\n\n /**\n * Broadcaster used on this query runner to broadcast entity events.\n */\n broadcaster: Broadcaster;\n\n /**\n * Entity manager working only with current query runner.\n */\n manager: MongoEntityManager;\n\n /**\n * Indicates if connection for this query runner is released.\n * Once its released, query runner cannot run queries anymore.\n * Always false for mongodb since mongodb has a single query executor instance.\n */\n isReleased = false;\n\n /**\n * Indicates if transaction is active in this query executor.\n * Always false for mongodb since mongodb does not support transactions.\n */\n isTransactionActive = false;\n\n /**\n * Stores temporarily user data.\n * Useful for sharing data with subscribers.\n */\n data = {};\n\n /**\n * All synchronized tables in the database.\n */\n loadedTables: Table[];\n\n /**\n * All synchronized views in the database.\n */\n loadedViews: View[];\n\n /**\n * Real database connection from a connection pool used to perform queries.\n */\n databaseConnection: Db;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection, databaseConnection: Db) {\n this.connection = connection;\n this.databaseConnection = databaseConnection;\n this.broadcaster = new Broadcaster(this);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a cursor for a query that can be used to iterate over results from MongoDB.\n */\n cursor(collectionName: string, query?: ObjectLiteral): Cursor<any> {\n return this.getCollection(collectionName).find(query || {});\n }\n\n /**\n * Execute an aggregation framework pipeline against the collection.\n */\n aggregate(collectionName: string, pipeline: ObjectLiteral[], options?: CollectionAggregationOptions): AggregationCursor<any> {\n return this.getCollection(collectionName).aggregate(pipeline, options);\n }\n\n /**\n * Perform a bulkWrite operation without a fluent API.\n */\n async bulkWrite(collectionName: string, operations: ObjectLiteral[], options?: CollectionBulkWriteOptions): Promise<BulkWriteOpResultObject> {\n return await this.getCollection(collectionName).bulkWrite(operations, options);\n }\n\n /**\n * Count number of matching documents in the db to a query.\n */\n async count(collectionName: string, query?: ObjectLiteral, options?: MongoCountPreferences): Promise<any> {\n return await this.getCollection(collectionName).countDocuments(query || {}, options);\n }\n\n /**\n * Creates an index on the db and collection.\n */\n async createCollectionIndex(collectionName: string, fieldOrSpec: string | any, options?: MongodbIndexOptions): Promise<string> {\n return await this.getCollection(collectionName).createIndex(fieldOrSpec, options);\n }\n\n /**\n * Creates multiple indexes in the collection, this method is only supported for MongoDB 2.6 or higher.\n * Earlier version of MongoDB will throw a command not supported error. Index specifications are defined at http://docs.mongodb.org/manual/reference/command/createIndexes/.\n */\n async createCollectionIndexes(collectionName: string, indexSpecs: ObjectLiteral[]): Promise<void> {\n return await this.getCollection(collectionName).createIndexes(indexSpecs);\n }\n\n /**\n * Delete multiple documents on MongoDB.\n */\n async deleteMany(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise<DeleteWriteOpResultObject> {\n return await this.getCollection(collectionName).deleteMany(query, options);\n }\n\n /**\n * Delete a document on MongoDB.\n */\n async deleteOne(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise<DeleteWriteOpResultObject> {\n return await this.getCollection(collectionName).deleteOne(query, options);\n }\n\n /**\n * The distinct command returns returns a list of distinct values for the given key across a collection.\n */\n async distinct(collectionName: string, key: string, query: ObjectLiteral, options?: { readPreference?: ReadPreference | string }): Promise<any> {\n return await this.getCollection(collectionName).distinct(key, query, options);\n }\n\n /**\n * Drops an index from this collection.\n */\n async dropCollectionIndex(collectionName: string, indexName: string, options?: CollectionOptions): Promise<any> {\n return await this.getCollection(collectionName).dropIndex(indexName, options);\n }\n\n /**\n * Drops all indexes from the collection.\n */\n async dropCollectionIndexes(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).dropIndexes();\n }\n\n /**\n * Find a document and delete it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndDelete(collectionName: string, query: ObjectLiteral, options?: { projection?: Object, sort?: Object, maxTimeMS?: number }): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndDelete(query, options);\n }\n\n /**\n * Find a document and replace it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndReplace(collectionName: string, query: ObjectLiteral, replacement: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndReplace(query, replacement, options);\n }\n\n /**\n * Find a document and update it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndUpdate(collectionName: string, query: ObjectLiteral, update: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndUpdate(query, update, options);\n }\n\n /**\n * Execute a geo search using a geo haystack index on a collection.\n */\n async geoHaystackSearch(collectionName: string, x: number, y: number, options?: GeoHaystackSearchOptions): Promise<any> {\n return await this.getCollection(collectionName).geoHaystackSearch(x, y, options);\n }\n\n /**\n * Execute the geoNear command to search for items in the collection.\n */\n async geoNear(collectionName: string, x: number, y: number, options?: GeoNearOptions): Promise<any> {\n return await this.getCollection(collectionName).geoNear(x, y, options);\n }\n\n /**\n * Run a group command across a collection.\n */\n async group(collectionName: string, keys: Object | Array<any> | Function | Code, condition: Object, initial: Object, reduce: Function | Code, finalize: Function | Code, command: boolean, options?: { readPreference?: ReadPreference | string }): Promise<any> {\n return await this.getCollection(collectionName).group(keys, condition, initial, reduce, finalize, command, options);\n }\n\n /**\n * Retrieve all the indexes on the collection.\n */\n async collectionIndexes(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).indexes();\n }\n\n /**\n * Retrieve all the indexes on the collection.\n */\n async collectionIndexExists(collectionName: string, indexes: string | string[]): Promise<boolean> {\n return await this.getCollection(collectionName).indexExists(indexes);\n }\n\n /**\n * Retrieves this collections index info.\n */\n async collectionIndexInformation(collectionName: string, options?: { full: boolean }): Promise<any> {\n return await this.getCollection(collectionName).indexInformation(options);\n }\n\n /**\n * Initiate an In order bulk write operation, operations will be serially executed in the order they are added, creating a new operation for each switch in types.\n */\n initializeOrderedBulkOp(collectionName: string, options?: CollectionOptions): OrderedBulkOperation {\n return this.getCollection(collectionName).initializeOrderedBulkOp(options);\n }\n\n /**\n * Initiate a Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order.\n */\n initializeUnorderedBulkOp(collectionName: string, options?: CollectionOptions): UnorderedBulkOperation {\n return this.getCollection(collectionName).initializeUnorderedBulkOp(options);\n }\n\n /**\n * Inserts an array of documents into MongoDB.\n */\n async insertMany(collectionName: string, docs: ObjectLiteral[], options?: CollectionInsertManyOptions): Promise<InsertWriteOpResult> {\n return await this.getCollection(collectionName).insertMany(docs, options);\n }\n\n /**\n * Inserts a single document into MongoDB.\n */\n async insertOne(collectionName: string, doc: ObjectLiteral, options?: CollectionInsertOneOptions): Promise<InsertOneWriteOpResult> {\n return await this.getCollection(collectionName).insertOne(doc, options);\n }\n\n /**\n * Returns if the collection is a capped collection.\n */\n async isCapped(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).isCapped();\n }\n\n /**\n * Get the list of all indexes information for the collection.\n */\n listCollectionIndexes(collectionName: string, options?: { batchSize?: number, readPreference?: ReadPreference | string }): CommandCursor {\n return this.getCollection(collectionName).listIndexes(options);\n }\n\n /**\n * Run Map Reduce across a collection. Be aware that the inline option for out will return an array of results not a collection.\n */\n async mapReduce(collectionName: string, map: Function | string, reduce: Function | string, options?: MapReduceOptions): Promise<any> {\n return await this.getCollection(collectionName).mapReduce(map, reduce, options);\n }\n\n /**\n * Return N number of parallel cursors for a collection allowing parallel reading of entire collection.\n * There are no ordering guarantees for returned results.\n */\n async parallelCollectionScan(collectionName: string, options?: ParallelCollectionScanOptions): Promise<Cursor<any>[]> {\n return await this.getCollection(collectionName).parallelCollectionScan(options);\n }\n\n /**\n * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections.\n */\n async reIndex(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).reIndex();\n }\n\n /**\n * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections.\n */\n async rename(collectionName: string, newName: string, options?: { dropTarget?: boolean }): Promise<Collection<any>> {\n return await this.getCollection(collectionName).rename(newName, options);\n }\n\n /**\n * Replace a document on MongoDB.\n */\n async replaceOne(collectionName: string, query: ObjectLiteral, doc: ObjectLiteral, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).replaceOne(query, doc, options);\n }\n\n /**\n * Get all the collection statistics.\n */\n async stats(collectionName: string, options?: { scale: number }): Promise<CollStats> {\n return await this.getCollection(collectionName).stats(options);\n }\n\n /**\n * Watching new changes as stream.\n */\n watch(collectionName: string, pipeline?: Object[], options?: ChangeStreamOptions): ChangeStream {\n return this.getCollection(collectionName).watch(pipeline, options);\n }\n\n /**\n * Update multiple documents on MongoDB.\n */\n async updateMany(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: { upsert?: boolean, w?: any, wtimeout?: number, j?: boolean }): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).updateMany(query, update, options);\n }\n\n /**\n * Update a single document on MongoDB.\n */\n async updateOne(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).updateOne(query, update, options);\n }\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods (from QueryRunner)\n // -------------------------------------------------------------------------\n\n /**\n * Removes all collections from the currently connected database.\n * Be careful with using this method and avoid using it in production or migrations\n * (because it can clear all your database).\n */\n async clearDatabase(): Promise<void> {\n await this.databaseConnection.db(this.connection.driver.database!).dropDatabase();\n }\n\n /**\n * For MongoDB database we don't create connection, because its single connection already created by a driver.\n */\n async connect(): Promise<any> {\n }\n\n /**\n * For MongoDB database we don't release connection, because its single connection.\n */\n async release(): Promise<void> {\n // releasing connection are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Starts transaction.\n */\n async startTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Commits transaction.\n */\n async commitTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Rollbacks transaction.\n */\n async rollbackTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Executes a given SQL query.\n */\n query(query: string, parameters?: any[]): Promise<any> {\n throw new Error(`Executing SQL query is not supported by MongoDB driver.`);\n }\n\n /**\n * Returns raw data stream.\n */\n stream(query: string, parameters?: any[], onEnd?: Function, onError?: Function): Promise<ReadStream> {\n throw new Error(`Stream is not supported by MongoDB driver. Use watch instead.`);\n }\n\n /**\n * Insert a new row with given values into the given table.\n * Returns value of inserted object id.\n\n async insert(collectionName: string, keyValues: ObjectLiteral): Promise<any> { // todo: fix any\n const results = await this.databaseConnection\n .collection(collectionName)\n .insertOne(keyValues);\n const generatedMap = this.connection.getMetadata(collectionName).objectIdColumn!.createValueMap(results.insertedId);\n return {\n result: results,\n generatedMap: generatedMap\n };\n }*/\n\n /**\n * Updates rows that match given conditions in the given table.\n\n async update(collectionName: string, valuesMap: ObjectLiteral, conditions: ObjectLiteral): Promise<any> { // todo: fix any\n await this.databaseConnection\n .collection(collectionName)\n .updateOne(conditions, valuesMap);\n }*/\n\n /**\n * Deletes from the given table by a given conditions.\n\n async delete(collectionName: string, conditions: ObjectLiteral|ObjectLiteral[]|string, maybeParameters?: any[]): Promise<any> { // todo: fix any\n if (typeof conditions === \"string\")\n throw new Error(`String condition is not supported by MongoDB driver.`);\n\n await this.databaseConnection\n .collection(collectionName)\n .deleteOne(conditions);\n }*/\n\n /**\n * Returns all available database names including system databases.\n */\n async getDatabases(): Promise<string[]> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Returns all available schema names including system schemas.\n * If database parameter specified, returns schemas of that database.\n */\n async getSchemas(database?: string): Promise<string[]> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads given table's data from the database.\n */\n async getTable(collectionName: string): Promise<Table | undefined> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads all tables (with given names) from the database and creates a Table from them.\n */\n async getTables(collectionNames: string[]): Promise<Table[]> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads given views's data from the database.\n */\n async getView(collectionName: string): Promise<View | undefined> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads all views (with given names) from the database and creates a Table from them.\n */\n async getViews(collectionNames: string[]): Promise<View[]> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if database with the given name exist.\n */\n async hasDatabase(database: string): Promise<boolean> {\n throw new Error(`Check database queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if schema with the given name exist.\n */\n async hasSchema(schema: string): Promise<boolean> {\n throw new Error(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if table with the given name exist in the database.\n */\n async hasTable(collectionName: string): Promise<boolean> {\n throw new Error(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if column with the given name exist in the given table.\n */\n async hasColumn(tableOrName: Table | string, columnName: string): Promise<boolean> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a database if it's not created.\n */\n async createDatabase(database: string): Promise<void> {\n throw new Error(`Database create queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops database.\n */\n async dropDatabase(database: string, ifExist?: boolean): Promise<void> {\n throw new Error(`Database drop queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new table schema.\n */\n async createSchema(schema: string, ifNotExist?: boolean): Promise<void> {\n throw new Error(`Schema create queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops table schema.\n */\n async dropSchema(schemaPath: string, ifExist?: boolean): Promise<void> {\n throw new Error(`Schema drop queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new table from the given table and columns inside it.\n */\n async createTable(table: Table): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the table.\n */\n async dropTable(tableName: Table | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new view.\n */\n async createView(view: View): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the view.\n */\n async dropView(target: View|string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Renames the given table.\n */\n async renameTable(oldTableOrName: Table | string, newTableOrName: Table | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new column from the column in the table.\n */\n async addColumn(tableOrName: Table | string, column: TableColumn): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new columns from the column in the table.\n */\n async addColumns(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Renames column in the given table.\n */\n async renameColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newTableColumnOrName: TableColumn | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Changes a column in the table.\n */\n async changeColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newColumn: TableColumn): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Changes a column in the table.\n */\n async changeColumns(tableOrName: Table | string, changedColumns: { newColumn: TableColumn, oldColumn: TableColumn }[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops column in the table.\n */\n async dropColumn(tableOrName: Table | string, columnOrName: TableColumn | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the columns in the table.\n */\n async dropColumns(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new primary key.\n */\n async createPrimaryKey(tableOrName: Table | string, columnNames: string[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Updates composite primary keys.\n */\n async updatePrimaryKeys(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a primary key.\n */\n async dropPrimaryKey(tableOrName: Table | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new unique constraint.\n */\n async createUniqueConstraint(tableOrName: Table | string, uniqueConstraint: TableUnique): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new unique constraints.\n */\n async createUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an unique constraint.\n */\n async dropUniqueConstraint(tableOrName: Table | string, uniqueOrName: TableUnique | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an unique constraints.\n */\n async dropUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new check constraint.\n */\n async createCheckConstraint(tableOrName: Table | string, checkConstraint: TableCheck): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new check constraints.\n */\n async createCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops check constraint.\n */\n async dropCheckConstraint(tableOrName: Table | string, checkOrName: TableCheck | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops check constraints.\n */\n async dropCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new exclusion constraint.\n */\n async createExclusionConstraint(tableOrName: Table | string, exclusionConstraint: TableExclusion): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new exclusion constraints.\n */\n async createExclusionConstraints(tableOrName: Table | string, exclusionConstraints: TableExclusion[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops exclusion constraint.\n */\n async dropExclusionConstraint(tableOrName: Table | string, exclusionOrName: TableExclusion | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops exclusion constraints.\n */\n async dropExclusionConstraints(tableOrName: Table | string, exclusionConstraints: TableExclusion[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new foreign key.\n */\n async createForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new foreign keys.\n */\n async createForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a foreign key from the table.\n */\n async dropForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a foreign keys from the table.\n */\n async dropForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new index.\n */\n async createIndex(tableOrName: Table | string, index: TableIndex): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new indices\n */\n async createIndices(tableOrName: Table | string, indices: TableIndex[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an index from the table.\n */\n async dropIndex(collectionName: string, indexName: string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an indices from the table.\n */\n async dropIndices(tableOrName: Table | string, indices: TableIndex[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops collection.\n */\n async clearTable(collectionName: string): Promise<void> {\n await this.databaseConnection\n .db(this.connection.driver.database!)\n .dropCollection(collectionName);\n }\n\n /**\n * Enables special query runner mode in which sql queries won't be executed,\n * instead they will be memorized into a special variable inside query runner.\n * You can get memorized sql using getMemorySql() method.\n */\n enableSqlMemory(): void {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Disables special query runner mode in which sql queries won't be executed\n * started by calling enableSqlMemory() method.\n *\n * Previously memorized sql will be flushed.\n */\n disableSqlMemory(): void {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Flushes all memorized sqls.\n */\n clearSqlMemory(): void {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Gets sql stored in the memory. Parameters in the sql are already replaced.\n */\n getMemorySql(): SqlInMemory {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Executes up sql queries.\n */\n async executeMemoryUpSql(): Promise<void> {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Executes down sql queries.\n */\n async executeMemoryDownSql(): Promise<void> {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets collection from the database with a given name.\n */\n protected getCollection(collectionName: string): Collection<any> {\n return this.databaseConnection.db(this.connection.driver.database!).collection(collectionName);\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/mongodb/MongoQueryRunner.ts"],"names":[],"mappings":"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","file":"MongoQueryRunner.js","sourcesContent":["import {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {Table} from \"../../schema-builder/table/Table\";\nimport {TableForeignKey} from \"../../schema-builder/table/TableForeignKey\";\nimport {TableIndex} from \"../../schema-builder/table/TableIndex\";\nimport {View} from \"../../schema-builder/view/View\";\nimport {\n AggregationCursor,\n BulkWriteOpResultObject,\n ChangeStream,\n ChangeStreamOptions,\n Code,\n Collection,\n CollectionAggregationOptions,\n CollectionBulkWriteOptions,\n CollectionInsertManyOptions,\n CollectionInsertOneOptions,\n CollectionOptions,\n CollStats,\n CommandCursor,\n Cursor,\n Db,\n DeleteWriteOpResultObject,\n FindAndModifyWriteOpResultObject,\n FindOneAndReplaceOption,\n GeoHaystackSearchOptions,\n GeoNearOptions,\n InsertOneWriteOpResult,\n InsertWriteOpResult,\n MapReduceOptions,\n MongoCountPreferences,\n MongodbIndexOptions,\n OrderedBulkOperation,\n ParallelCollectionScanOptions,\n ReadPreference,\n ReplaceOneOptions,\n UnorderedBulkOperation,\n UpdateWriteOpResult\n} from \"./typings\";\nimport {Connection} from \"../../connection/Connection\";\nimport {ReadStream} from \"../../platform/PlatformTools\";\nimport {MongoEntityManager} from \"../../entity-manager/MongoEntityManager\";\nimport {SqlInMemory} from \"../SqlInMemory\";\nimport {TableUnique} from \"../../schema-builder/table/TableUnique\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\nimport {TableCheck} from \"../../schema-builder/table/TableCheck\";\nimport {TableExclusion} from \"../../schema-builder/table/TableExclusion\";\n\n/**\n * Runs queries on a single MongoDB connection.\n */\nexport class MongoQueryRunner implements QueryRunner {\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by this query runner.\n */\n connection: Connection;\n\n /**\n * Broadcaster used on this query runner to broadcast entity events.\n */\n broadcaster: Broadcaster;\n\n /**\n * Entity manager working only with current query runner.\n */\n manager: MongoEntityManager;\n\n /**\n * Indicates if connection for this query runner is released.\n * Once its released, query runner cannot run queries anymore.\n * Always false for mongodb since mongodb has a single query executor instance.\n */\n isReleased = false;\n\n /**\n * Indicates if transaction is active in this query executor.\n * Always false for mongodb since mongodb does not support transactions.\n */\n isTransactionActive = false;\n\n /**\n * Stores temporarily user data.\n * Useful for sharing data with subscribers.\n */\n data = {};\n\n /**\n * All synchronized tables in the database.\n */\n loadedTables: Table[];\n\n /**\n * All synchronized views in the database.\n */\n loadedViews: View[];\n\n /**\n * Real database connection from a connection pool used to perform queries.\n */\n databaseConnection: Db;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection, databaseConnection: Db) {\n this.connection = connection;\n this.databaseConnection = databaseConnection;\n this.broadcaster = new Broadcaster(this);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a cursor for a query that can be used to iterate over results from MongoDB.\n */\n cursor(collectionName: string, query?: ObjectLiteral): Cursor<any> {\n return this.getCollection(collectionName).find(query || {});\n }\n\n /**\n * Execute an aggregation framework pipeline against the collection.\n */\n aggregate(collectionName: string, pipeline: ObjectLiteral[], options?: CollectionAggregationOptions): AggregationCursor<any> {\n return this.getCollection(collectionName).aggregate(pipeline, options);\n }\n\n /**\n * Perform a bulkWrite operation without a fluent API.\n */\n async bulkWrite(collectionName: string, operations: ObjectLiteral[], options?: CollectionBulkWriteOptions): Promise<BulkWriteOpResultObject> {\n return await this.getCollection(collectionName).bulkWrite(operations, options);\n }\n\n /**\n * Count number of matching documents in the db to a query.\n */\n async count(collectionName: string, query?: ObjectLiteral, options?: MongoCountPreferences): Promise<any> {\n return await this.getCollection(collectionName).countDocuments(query || {}, options);\n }\n\n /**\n * Creates an index on the db and collection.\n */\n async createCollectionIndex(collectionName: string, fieldOrSpec: string | any, options?: MongodbIndexOptions): Promise<string> {\n return await this.getCollection(collectionName).createIndex(fieldOrSpec, options);\n }\n\n /**\n * Creates multiple indexes in the collection, this method is only supported for MongoDB 2.6 or higher.\n * Earlier version of MongoDB will throw a command not supported error. Index specifications are defined at http://docs.mongodb.org/manual/reference/command/createIndexes/.\n */\n async createCollectionIndexes(collectionName: string, indexSpecs: ObjectLiteral[]): Promise<void> {\n return await this.getCollection(collectionName).createIndexes(indexSpecs);\n }\n\n /**\n * Delete multiple documents on MongoDB.\n */\n async deleteMany(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise<DeleteWriteOpResultObject> {\n return await this.getCollection(collectionName).deleteMany(query, options);\n }\n\n /**\n * Delete a document on MongoDB.\n */\n async deleteOne(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise<DeleteWriteOpResultObject> {\n return await this.getCollection(collectionName).deleteOne(query, options);\n }\n\n /**\n * The distinct command returns returns a list of distinct values for the given key across a collection.\n */\n async distinct(collectionName: string, key: string, query: ObjectLiteral, options?: { readPreference?: ReadPreference | string }): Promise<any> {\n return await this.getCollection(collectionName).distinct(key, query, options);\n }\n\n /**\n * Drops an index from this collection.\n */\n async dropCollectionIndex(collectionName: string, indexName: string, options?: CollectionOptions): Promise<any> {\n return await this.getCollection(collectionName).dropIndex(indexName, options);\n }\n\n /**\n * Drops all indexes from the collection.\n */\n async dropCollectionIndexes(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).dropIndexes();\n }\n\n /**\n * Find a document and delete it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndDelete(collectionName: string, query: ObjectLiteral, options?: { projection?: Object, sort?: Object, maxTimeMS?: number }): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndDelete(query, options);\n }\n\n /**\n * Find a document and replace it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndReplace(collectionName: string, query: ObjectLiteral, replacement: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndReplace(query, replacement, options);\n }\n\n /**\n * Find a document and update it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndUpdate(collectionName: string, query: ObjectLiteral, update: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndUpdate(query, update, options);\n }\n\n /**\n * Execute a geo search using a geo haystack index on a collection.\n */\n async geoHaystackSearch(collectionName: string, x: number, y: number, options?: GeoHaystackSearchOptions): Promise<any> {\n return await this.getCollection(collectionName).geoHaystackSearch(x, y, options);\n }\n\n /**\n * Execute the geoNear command to search for items in the collection.\n */\n async geoNear(collectionName: string, x: number, y: number, options?: GeoNearOptions): Promise<any> {\n return await this.getCollection(collectionName).geoNear(x, y, options);\n }\n\n /**\n * Run a group command across a collection.\n */\n async group(collectionName: string, keys: Object | Array<any> | Function | Code, condition: Object, initial: Object, reduce: Function | Code, finalize: Function | Code, command: boolean, options?: { readPreference?: ReadPreference | string }): Promise<any> {\n return await this.getCollection(collectionName).group(keys, condition, initial, reduce, finalize, command, options);\n }\n\n /**\n * Retrieve all the indexes on the collection.\n */\n async collectionIndexes(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).indexes();\n }\n\n /**\n * Retrieve all the indexes on the collection.\n */\n async collectionIndexExists(collectionName: string, indexes: string | string[]): Promise<boolean> {\n return await this.getCollection(collectionName).indexExists(indexes);\n }\n\n /**\n * Retrieves this collections index info.\n */\n async collectionIndexInformation(collectionName: string, options?: { full: boolean }): Promise<any> {\n return await this.getCollection(collectionName).indexInformation(options);\n }\n\n /**\n * Initiate an In order bulk write operation, operations will be serially executed in the order they are added, creating a new operation for each switch in types.\n */\n initializeOrderedBulkOp(collectionName: string, options?: CollectionOptions): OrderedBulkOperation {\n return this.getCollection(collectionName).initializeOrderedBulkOp(options);\n }\n\n /**\n * Initiate a Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order.\n */\n initializeUnorderedBulkOp(collectionName: string, options?: CollectionOptions): UnorderedBulkOperation {\n return this.getCollection(collectionName).initializeUnorderedBulkOp(options);\n }\n\n /**\n * Inserts an array of documents into MongoDB.\n */\n async insertMany(collectionName: string, docs: ObjectLiteral[], options?: CollectionInsertManyOptions): Promise<InsertWriteOpResult> {\n return await this.getCollection(collectionName).insertMany(docs, options);\n }\n\n /**\n * Inserts a single document into MongoDB.\n */\n async insertOne(collectionName: string, doc: ObjectLiteral, options?: CollectionInsertOneOptions): Promise<InsertOneWriteOpResult> {\n return await this.getCollection(collectionName).insertOne(doc, options);\n }\n\n /**\n * Returns if the collection is a capped collection.\n */\n async isCapped(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).isCapped();\n }\n\n /**\n * Get the list of all indexes information for the collection.\n */\n listCollectionIndexes(collectionName: string, options?: { batchSize?: number, readPreference?: ReadPreference | string }): CommandCursor {\n return this.getCollection(collectionName).listIndexes(options);\n }\n\n /**\n * Run Map Reduce across a collection. Be aware that the inline option for out will return an array of results not a collection.\n */\n async mapReduce(collectionName: string, map: Function | string, reduce: Function | string, options?: MapReduceOptions): Promise<any> {\n return await this.getCollection(collectionName).mapReduce(map, reduce, options);\n }\n\n /**\n * Return N number of parallel cursors for a collection allowing parallel reading of entire collection.\n * There are no ordering guarantees for returned results.\n */\n async parallelCollectionScan(collectionName: string, options?: ParallelCollectionScanOptions): Promise<Cursor<any>[]> {\n return await this.getCollection(collectionName).parallelCollectionScan(options);\n }\n\n /**\n * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections.\n */\n async reIndex(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).reIndex();\n }\n\n /**\n * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections.\n */\n async rename(collectionName: string, newName: string, options?: { dropTarget?: boolean }): Promise<Collection<any>> {\n return await this.getCollection(collectionName).rename(newName, options);\n }\n\n /**\n * Replace a document on MongoDB.\n */\n async replaceOne(collectionName: string, query: ObjectLiteral, doc: ObjectLiteral, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).replaceOne(query, doc, options);\n }\n\n /**\n * Get all the collection statistics.\n */\n async stats(collectionName: string, options?: { scale: number }): Promise<CollStats> {\n return await this.getCollection(collectionName).stats(options);\n }\n\n /**\n * Watching new changes as stream.\n */\n watch(collectionName: string, pipeline?: Object[], options?: ChangeStreamOptions): ChangeStream {\n return this.getCollection(collectionName).watch(pipeline, options);\n }\n\n /**\n * Update multiple documents on MongoDB.\n */\n async updateMany(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: { upsert?: boolean, w?: any, wtimeout?: number, j?: boolean }): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).updateMany(query, update, options);\n }\n\n /**\n * Update a single document on MongoDB.\n */\n async updateOne(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).updateOne(query, update, options);\n }\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods (from QueryRunner)\n // -------------------------------------------------------------------------\n\n /**\n * Removes all collections from the currently connected database.\n * Be careful with using this method and avoid using it in production or migrations\n * (because it can clear all your database).\n */\n async clearDatabase(): Promise<void> {\n await this.databaseConnection.db(this.connection.driver.database!).dropDatabase();\n }\n\n /**\n * For MongoDB database we don't create connection, because its single connection already created by a driver.\n */\n async connect(): Promise<any> {\n }\n\n /**\n * For MongoDB database we don't release connection, because its single connection.\n */\n async release(): Promise<void> {\n // releasing connection are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Starts transaction.\n */\n async startTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Commits transaction.\n */\n async commitTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Rollbacks transaction.\n */\n async rollbackTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Executes a given SQL query.\n */\n query(query: string, parameters?: any[]): Promise<any> {\n throw new Error(`Executing SQL query is not supported by MongoDB driver.`);\n }\n\n /**\n * Returns raw data stream.\n */\n stream(query: string, parameters?: any[], onEnd?: Function, onError?: Function): Promise<ReadStream> {\n throw new Error(`Stream is not supported by MongoDB driver. Use watch instead.`);\n }\n\n /**\n * Insert a new row with given values into the given table.\n * Returns value of inserted object id.\n\n async insert(collectionName: string, keyValues: ObjectLiteral): Promise<any> { // todo: fix any\n const results = await this.databaseConnection\n .collection(collectionName)\n .insertOne(keyValues);\n const generatedMap = this.connection.getMetadata(collectionName).objectIdColumn!.createValueMap(results.insertedId);\n return {\n result: results,\n generatedMap: generatedMap\n };\n }*/\n\n /**\n * Updates rows that match given conditions in the given table.\n\n async update(collectionName: string, valuesMap: ObjectLiteral, conditions: ObjectLiteral): Promise<any> { // todo: fix any\n await this.databaseConnection\n .collection(collectionName)\n .updateOne(conditions, valuesMap);\n }*/\n\n /**\n * Deletes from the given table by a given conditions.\n\n async delete(collectionName: string, conditions: ObjectLiteral|ObjectLiteral[]|string, maybeParameters?: any[]): Promise<any> { // todo: fix any\n if (typeof conditions === \"string\")\n throw new Error(`String condition is not supported by MongoDB driver.`);\n\n await this.databaseConnection\n .collection(collectionName)\n .deleteOne(conditions);\n }*/\n\n /**\n * Returns all available database names including system databases.\n */\n async getDatabases(): Promise<string[]> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Returns all available schema names including system schemas.\n * If database parameter specified, returns schemas of that database.\n */\n async getSchemas(database?: string): Promise<string[]> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads given table's data from the database.\n */\n async getTable(collectionName: string): Promise<Table | undefined> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads all tables (with given names) from the database and creates a Table from them.\n */\n async getTables(collectionNames: string[]): Promise<Table[]> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads given views's data from the database.\n */\n async getView(collectionName: string): Promise<View | undefined> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads all views (with given names) from the database and creates a Table from them.\n */\n async getViews(collectionNames: string[]): Promise<View[]> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if database with the given name exist.\n */\n async hasDatabase(database: string): Promise<boolean> {\n throw new Error(`Check database queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if schema with the given name exist.\n */\n async hasSchema(schema: string): Promise<boolean> {\n throw new Error(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if table with the given name exist in the database.\n */\n async hasTable(collectionName: string): Promise<boolean> {\n throw new Error(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if column with the given name exist in the given table.\n */\n async hasColumn(tableOrName: Table | string, columnName: string): Promise<boolean> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a database if it's not created.\n */\n async createDatabase(database: string): Promise<void> {\n throw new Error(`Database create queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops database.\n */\n async dropDatabase(database: string, ifExist?: boolean): Promise<void> {\n throw new Error(`Database drop queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new table schema.\n */\n async createSchema(schema: string, ifNotExist?: boolean): Promise<void> {\n throw new Error(`Schema create queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops table schema.\n */\n async dropSchema(schemaPath: string, ifExist?: boolean): Promise<void> {\n throw new Error(`Schema drop queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new table from the given table and columns inside it.\n */\n async createTable(table: Table): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the table.\n */\n async dropTable(tableName: Table | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new view.\n */\n async createView(view: View): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the view.\n */\n async dropView(target: View|string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Renames the given table.\n */\n async renameTable(oldTableOrName: Table | string, newTableOrName: Table | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new column from the column in the table.\n */\n async addColumn(tableOrName: Table | string, column: TableColumn): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new columns from the column in the table.\n */\n async addColumns(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Renames column in the given table.\n */\n async renameColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newTableColumnOrName: TableColumn | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Changes a column in the table.\n */\n async changeColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newColumn: TableColumn): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Changes a column in the table.\n */\n async changeColumns(tableOrName: Table | string, changedColumns: { newColumn: TableColumn, oldColumn: TableColumn }[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops column in the table.\n */\n async dropColumn(tableOrName: Table | string, columnOrName: TableColumn | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the columns in the table.\n */\n async dropColumns(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new primary key.\n */\n async createPrimaryKey(tableOrName: Table | string, columnNames: string[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Updates composite primary keys.\n */\n async updatePrimaryKeys(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a primary key.\n */\n async dropPrimaryKey(tableOrName: Table | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new unique constraint.\n */\n async createUniqueConstraint(tableOrName: Table | string, uniqueConstraint: TableUnique): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new unique constraints.\n */\n async createUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an unique constraint.\n */\n async dropUniqueConstraint(tableOrName: Table | string, uniqueOrName: TableUnique | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an unique constraints.\n */\n async dropUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new check constraint.\n */\n async createCheckConstraint(tableOrName: Table | string, checkConstraint: TableCheck): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new check constraints.\n */\n async createCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops check constraint.\n */\n async dropCheckConstraint(tableOrName: Table | string, checkOrName: TableCheck | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops check constraints.\n */\n async dropCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new exclusion constraint.\n */\n async createExclusionConstraint(tableOrName: Table | string, exclusionConstraint: TableExclusion): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new exclusion constraints.\n */\n async createExclusionConstraints(tableOrName: Table | string, exclusionConstraints: TableExclusion[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops exclusion constraint.\n */\n async dropExclusionConstraint(tableOrName: Table | string, exclusionOrName: TableExclusion | string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops exclusion constraints.\n */\n async dropExclusionConstraints(tableOrName: Table | string, exclusionConstraints: TableExclusion[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new foreign key.\n */\n async createForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new foreign keys.\n */\n async createForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a foreign key from the table.\n */\n async dropForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a foreign keys from the table.\n */\n async dropForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new index.\n */\n async createIndex(tableOrName: Table | string, index: TableIndex): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new indices\n */\n async createIndices(tableOrName: Table | string, indices: TableIndex[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an index from the table.\n */\n async dropIndex(collectionName: string, indexName: string): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an indices from the table.\n */\n async dropIndices(tableOrName: Table | string, indices: TableIndex[]): Promise<void> {\n throw new Error(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops collection.\n */\n async clearTable(collectionName: string): Promise<void> {\n await this.databaseConnection\n .db(this.connection.driver.database!)\n .dropCollection(collectionName);\n }\n\n /**\n * Enables special query runner mode in which sql queries won't be executed,\n * instead they will be memorized into a special variable inside query runner.\n * You can get memorized sql using getMemorySql() method.\n */\n enableSqlMemory(): void {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Disables special query runner mode in which sql queries won't be executed\n * started by calling enableSqlMemory() method.\n *\n * Previously memorized sql will be flushed.\n */\n disableSqlMemory(): void {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Flushes all memorized sqls.\n */\n clearSqlMemory(): void {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Gets sql stored in the memory. Parameters in the sql are already replaced.\n */\n getMemorySql(): SqlInMemory {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Executes up sql queries.\n */\n async executeMemoryUpSql(): Promise<void> {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Executes down sql queries.\n */\n async executeMemoryDownSql(): Promise<void> {\n throw new Error(`This operation is not supported by MongoDB driver.`);\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets collection from the database with a given name.\n */\n protected getCollection(collectionName: string): Collection<any> {\n return this.databaseConnection.db(this.connection.driver.database!).collection(collectionName);\n }\n\n}\n"],"sourceRoot":"../.."}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MysqlDriver = void 0;
4
3
  var tslib_1 = require("tslib");
5
4
  var ConnectionIsNotSetError_1 = require("../../error/ConnectionIsNotSetError");
6
5
  var DriverPackageNotInstalledError_1 = require("../../error/DriverPackageNotInstalledError");