typeorm 0.2.38 → 0.2.39-dev.1649882

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 (695) hide show
  1. package/README.md +60 -59
  2. package/browser/connection/ConnectionMetadataBuilder.js +4 -4
  3. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  4. package/browser/connection/ConnectionOptionsReader.js +2 -1
  5. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  6. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
  7. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  8. package/browser/decorator/entity-view/ViewEntity.js +1 -0
  9. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  10. package/browser/decorator/options/ViewEntityOptions.d.ts +5 -0
  11. package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
  12. package/browser/decorator/transaction/Transaction.js +3 -3
  13. package/browser/decorator/transaction/Transaction.js.map +1 -1
  14. package/browser/driver/DriverUtils.js +1 -1
  15. package/browser/driver/DriverUtils.js.map +1 -1
  16. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +5 -0
  17. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  18. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +6 -5
  19. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  20. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +19 -48
  21. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  22. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +5 -0
  23. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  24. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +2 -1
  25. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  26. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +17 -46
  27. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  28. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +5 -0
  29. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  30. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +4 -3
  31. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  32. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +10 -0
  33. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  34. package/browser/driver/cockroachdb/CockroachDriver.js +28 -18
  35. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  36. package/browser/driver/cockroachdb/CockroachQueryRunner.js +109 -146
  37. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  38. package/browser/driver/cordova/CordovaConnectionOptions.d.ts +5 -0
  39. package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  40. package/browser/driver/cordova/CordovaDriver.d.ts +1 -1
  41. package/browser/driver/cordova/CordovaDriver.js +27 -19
  42. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  43. package/browser/driver/cordova/CordovaQueryRunner.js +50 -43
  44. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  45. package/browser/driver/expo/ExpoQueryRunner.js +12 -43
  46. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  47. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +5 -0
  48. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  49. package/browser/driver/mongodb/MongoDriver.js +2 -1
  50. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  51. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  52. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  53. package/browser/driver/mysql/MysqlDriver.js +4 -2
  54. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  55. package/browser/driver/mysql/MysqlQueryRunner.js +24 -54
  56. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  57. package/browser/driver/nativescript/NativescriptQueryRunner.js +45 -37
  58. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  59. package/browser/driver/oracle/OracleConnectionOptions.d.ts +5 -0
  60. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  61. package/browser/driver/oracle/OracleDriver.js +5 -4
  62. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  63. package/browser/driver/oracle/OracleQueryRunner.js +20 -48
  64. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  65. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +10 -0
  66. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  67. package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
  68. package/browser/driver/postgres/PostgresDriver.js +37 -45
  69. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  70. package/browser/driver/postgres/PostgresQueryRunner.js +28 -66
  71. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  72. package/browser/driver/react-native/ReactNativeConnectionOptions.d.ts +5 -0
  73. package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  74. package/browser/driver/react-native/ReactNativeDriver.js +2 -1
  75. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  76. package/browser/driver/sap/SapConnectionOptions.d.ts +16 -6
  77. package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
  78. package/browser/driver/sap/SapDriver.js +6 -3
  79. package/browser/driver/sap/SapDriver.js.map +1 -1
  80. package/browser/driver/sap/SapQueryRunner.js +30 -78
  81. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  82. package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +5 -0
  83. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  84. package/browser/driver/sqlite/SqliteDriver.js +4 -3
  85. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  86. package/browser/driver/sqlite/SqliteQueryRunner.js +16 -8
  87. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  88. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +19 -49
  89. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  90. package/browser/driver/sqljs/SqljsConnectionOptions.d.ts +5 -0
  91. package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  92. package/browser/driver/sqljs/SqljsDriver.js +9 -24
  93. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  94. package/browser/driver/sqljs/SqljsQueryRunner.js +9 -10
  95. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  96. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
  97. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  98. package/browser/driver/sqlserver/SqlServerDriver.js +7 -6
  99. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  100. package/browser/driver/sqlserver/SqlServerQueryRunner.js +84 -116
  101. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  102. package/browser/entity-manager/MongoEntityManager.js +8 -13
  103. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  104. package/browser/find-options/FindOptionsUtils.js +1 -1
  105. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  106. package/browser/metadata/ColumnMetadata.js +4 -4
  107. package/browser/metadata/ColumnMetadata.js.map +1 -1
  108. package/browser/metadata/EmbeddedMetadata.js +1 -1
  109. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  110. package/browser/metadata/EntityMetadata.d.ts +5 -0
  111. package/browser/metadata/EntityMetadata.js +2 -1
  112. package/browser/metadata/EntityMetadata.js.map +1 -1
  113. package/browser/metadata/RelationMetadata.js +4 -4
  114. package/browser/metadata/RelationMetadata.js.map +1 -1
  115. package/browser/metadata-args/TableMetadataArgs.d.ts +4 -0
  116. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  117. package/browser/metadata-builder/EntityMetadataBuilder.js +5 -5
  118. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  119. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +1 -1
  120. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  121. package/browser/migration/MigrationExecutor.d.ts +1 -1
  122. package/browser/migration/MigrationExecutor.js +6 -14
  123. package/browser/migration/MigrationExecutor.js.map +1 -1
  124. package/browser/naming-strategy/DefaultNamingStrategy.js +5 -5
  125. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  126. package/browser/persistence/Subject.js +1 -1
  127. package/browser/persistence/Subject.js.map +1 -1
  128. package/browser/persistence/SubjectDatabaseEntityLoader.js +1 -1
  129. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  130. package/browser/persistence/SubjectExecutor.js +4 -4
  131. package/browser/persistence/SubjectExecutor.js.map +1 -1
  132. package/browser/persistence/SubjectTopoligicalSorter.js +5 -5
  133. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  134. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +10 -4
  135. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  136. package/browser/persistence/tree/ClosureSubjectExecutor.js +4 -4
  137. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  138. package/browser/query-builder/DeleteQueryBuilder.js +3 -10
  139. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  140. package/browser/query-builder/InsertQueryBuilder.js +4 -6
  141. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  142. package/browser/query-builder/QueryBuilder.js +9 -9
  143. package/browser/query-builder/QueryBuilder.js.map +1 -1
  144. package/browser/query-builder/RelationLoader.js +2 -2
  145. package/browser/query-builder/RelationLoader.js.map +1 -1
  146. package/browser/query-builder/RelationRemover.js +6 -6
  147. package/browser/query-builder/RelationRemover.js.map +1 -1
  148. package/browser/query-builder/SelectQueryBuilder.d.ts +1 -1
  149. package/browser/query-builder/SelectQueryBuilder.js +33 -17
  150. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  151. package/browser/query-builder/SoftDeleteQueryBuilder.js +3 -10
  152. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  153. package/browser/query-builder/UpdateQueryBuilder.js +5 -12
  154. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  155. package/browser/query-builder/relation-id/RelationIdLoader.js +1 -1
  156. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  157. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -10
  158. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  159. package/browser/query-runner/BaseQueryRunner.js +5 -4
  160. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  161. package/browser/query-runner/QueryLock.js +1 -1
  162. package/browser/query-runner/QueryLock.js.map +1 -1
  163. package/browser/repository/BaseEntity.js +1 -1
  164. package/browser/repository/BaseEntity.js.map +1 -1
  165. package/browser/repository/Repository.js +1 -1
  166. package/browser/repository/Repository.js.map +1 -1
  167. package/browser/repository/TreeRepository.js +2 -2
  168. package/browser/repository/TreeRepository.js.map +1 -1
  169. package/browser/schema-builder/RdbmsSchemaBuilder.js +223 -148
  170. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  171. package/browser/schema-builder/table/TableCheck.js +1 -1
  172. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  173. package/browser/schema-builder/table/TableForeignKey.js +2 -2
  174. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  175. package/browser/schema-builder/table/TableIndex.js +1 -1
  176. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  177. package/browser/schema-builder/table/TableUnique.js +1 -1
  178. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  179. package/browser/schema-builder/util/ViewUtils.d.ts +7 -0
  180. package/browser/schema-builder/util/ViewUtils.js +25 -0
  181. package/browser/schema-builder/util/ViewUtils.js.map +1 -0
  182. package/browser/subscriber/Broadcaster.d.ts +23 -2
  183. package/browser/subscriber/Broadcaster.js +35 -2
  184. package/browser/subscriber/Broadcaster.js.map +1 -1
  185. package/browser/subscriber/BroadcasterResult.d.ts +4 -0
  186. package/browser/subscriber/BroadcasterResult.js +19 -0
  187. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  188. package/cache/DbQueryResultCache.js +12 -12
  189. package/cache/RedisQueryResultCache.js +12 -12
  190. package/cli.js +1 -6
  191. package/cli.js.map +1 -1
  192. package/commands/CacheClearCommand.js +4 -4
  193. package/commands/CacheClearCommand.js.map +1 -1
  194. package/commands/CommandUtils.js +10 -10
  195. package/commands/CommandUtils.js.map +1 -1
  196. package/commands/EntityCreateCommand.js +3 -3
  197. package/commands/EntityCreateCommand.js.map +1 -1
  198. package/commands/InitCommand.js +5 -5
  199. package/commands/InitCommand.js.map +1 -1
  200. package/commands/MigrationCreateCommand.js +5 -5
  201. package/commands/MigrationCreateCommand.js.map +1 -1
  202. package/commands/MigrationGenerateCommand.js +7 -7
  203. package/commands/MigrationGenerateCommand.js.map +1 -1
  204. package/commands/MigrationRevertCommand.js +4 -4
  205. package/commands/MigrationRevertCommand.js.map +1 -1
  206. package/commands/MigrationRunCommand.js +5 -5
  207. package/commands/MigrationRunCommand.js.map +1 -1
  208. package/commands/MigrationShowCommand.js +5 -5
  209. package/commands/MigrationShowCommand.js.map +1 -1
  210. package/commands/QueryCommand.js +4 -4
  211. package/commands/QueryCommand.js.map +1 -1
  212. package/commands/SchemaDropCommand.js +4 -4
  213. package/commands/SchemaDropCommand.js.map +1 -1
  214. package/commands/SchemaLogCommand.js +5 -5
  215. package/commands/SchemaLogCommand.js.map +1 -1
  216. package/commands/SchemaSyncCommand.js +4 -4
  217. package/commands/SchemaSyncCommand.js.map +1 -1
  218. package/commands/SubscriberCreateCommand.js +3 -3
  219. package/commands/SubscriberCreateCommand.js.map +1 -1
  220. package/commands/VersionCommand.js +3 -3
  221. package/commands/VersionCommand.js.map +1 -1
  222. package/connection/Connection.js +19 -19
  223. package/connection/Connection.js.map +1 -1
  224. package/connection/ConnectionMetadataBuilder.js +11 -11
  225. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  226. package/connection/ConnectionOptionsReader.js +11 -10
  227. package/connection/ConnectionOptionsReader.js.map +1 -1
  228. package/connection/options-reader/ConnectionOptionsEnvReader.js +2 -2
  229. package/connection/options-reader/ConnectionOptionsXmlReader.js +3 -3
  230. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  231. package/connection/options-reader/ConnectionOptionsYmlReader.js +4 -4
  232. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  233. package/decorator/Check.js +1 -1
  234. package/decorator/Check.js.map +1 -1
  235. package/decorator/EntityRepository.js +1 -1
  236. package/decorator/EntityRepository.js.map +1 -1
  237. package/decorator/Exclusion.js +1 -1
  238. package/decorator/Exclusion.js.map +1 -1
  239. package/decorator/Generated.js +1 -1
  240. package/decorator/Generated.js.map +1 -1
  241. package/decorator/Index.js +1 -1
  242. package/decorator/Index.js.map +1 -1
  243. package/decorator/Unique.js +1 -1
  244. package/decorator/Unique.js.map +1 -1
  245. package/decorator/columns/Column.js +4 -4
  246. package/decorator/columns/Column.js.map +1 -1
  247. package/decorator/columns/CreateDateColumn.js +1 -1
  248. package/decorator/columns/CreateDateColumn.js.map +1 -1
  249. package/decorator/columns/DeleteDateColumn.js +1 -1
  250. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  251. package/decorator/columns/ObjectIdColumn.js +1 -1
  252. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  253. package/decorator/columns/PrimaryColumn.js +2 -2
  254. package/decorator/columns/PrimaryColumn.js.map +1 -1
  255. package/decorator/columns/PrimaryGeneratedColumn.js +2 -2
  256. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  257. package/decorator/columns/UpdateDateColumn.js +1 -1
  258. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  259. package/decorator/columns/VersionColumn.js +1 -1
  260. package/decorator/columns/VersionColumn.js.map +1 -1
  261. package/decorator/columns/ViewColumn.js +1 -1
  262. package/decorator/columns/ViewColumn.js.map +1 -1
  263. package/decorator/entity/ChildEntity.js +2 -2
  264. package/decorator/entity/ChildEntity.js.map +1 -1
  265. package/decorator/entity/Entity.js +1 -1
  266. package/decorator/entity/Entity.js.map +1 -1
  267. package/decorator/entity/TableInheritance.js +1 -1
  268. package/decorator/entity/TableInheritance.js.map +1 -1
  269. package/decorator/entity-view/ViewEntity.js +2 -1
  270. package/decorator/entity-view/ViewEntity.js.map +1 -1
  271. package/decorator/listeners/AfterInsert.js +1 -1
  272. package/decorator/listeners/AfterInsert.js.map +1 -1
  273. package/decorator/listeners/AfterLoad.js +1 -1
  274. package/decorator/listeners/AfterLoad.js.map +1 -1
  275. package/decorator/listeners/AfterRemove.js +1 -1
  276. package/decorator/listeners/AfterRemove.js.map +1 -1
  277. package/decorator/listeners/AfterUpdate.js +1 -1
  278. package/decorator/listeners/AfterUpdate.js.map +1 -1
  279. package/decorator/listeners/BeforeInsert.js +1 -1
  280. package/decorator/listeners/BeforeInsert.js.map +1 -1
  281. package/decorator/listeners/BeforeRemove.js +1 -1
  282. package/decorator/listeners/BeforeRemove.js.map +1 -1
  283. package/decorator/listeners/BeforeUpdate.js +1 -1
  284. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  285. package/decorator/listeners/EventSubscriber.js +1 -1
  286. package/decorator/listeners/EventSubscriber.js.map +1 -1
  287. package/decorator/options/ViewEntityOptions.d.ts +5 -0
  288. package/decorator/options/ViewEntityOptions.js.map +1 -1
  289. package/decorator/relations/JoinColumn.js +1 -1
  290. package/decorator/relations/JoinColumn.js.map +1 -1
  291. package/decorator/relations/JoinTable.js +1 -1
  292. package/decorator/relations/JoinTable.js.map +1 -1
  293. package/decorator/relations/ManyToMany.js +1 -1
  294. package/decorator/relations/ManyToMany.js.map +1 -1
  295. package/decorator/relations/ManyToOne.js +1 -1
  296. package/decorator/relations/ManyToOne.js.map +1 -1
  297. package/decorator/relations/OneToMany.js +1 -1
  298. package/decorator/relations/OneToMany.js.map +1 -1
  299. package/decorator/relations/OneToOne.js +1 -1
  300. package/decorator/relations/OneToOne.js.map +1 -1
  301. package/decorator/relations/RelationCount.js +1 -1
  302. package/decorator/relations/RelationCount.js.map +1 -1
  303. package/decorator/relations/RelationId.js +1 -1
  304. package/decorator/relations/RelationId.js.map +1 -1
  305. package/decorator/transaction/Transaction.js +7 -7
  306. package/decorator/transaction/Transaction.js.map +1 -1
  307. package/decorator/transaction/TransactionManager.js +1 -1
  308. package/decorator/transaction/TransactionManager.js.map +1 -1
  309. package/decorator/transaction/TransactionRepository.js +1 -1
  310. package/decorator/transaction/TransactionRepository.js.map +1 -1
  311. package/decorator/tree/Tree.js +1 -1
  312. package/decorator/tree/Tree.js.map +1 -1
  313. package/decorator/tree/TreeChildren.js +1 -1
  314. package/decorator/tree/TreeChildren.js.map +1 -1
  315. package/decorator/tree/TreeLevelColumn.js +1 -1
  316. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  317. package/decorator/tree/TreeParent.js +1 -1
  318. package/decorator/tree/TreeParent.js.map +1 -1
  319. package/driver/DriverUtils.js +9 -9
  320. package/driver/DriverUtils.js.map +1 -1
  321. package/driver/aurora-data-api/AuroraDataApiConnection.js +1 -1
  322. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  323. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +5 -0
  324. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  325. package/driver/aurora-data-api/AuroraDataApiDriver.js +12 -11
  326. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  327. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +146 -175
  328. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  329. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +5 -0
  330. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  331. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +10 -9
  332. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  333. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +29 -58
  334. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  335. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +5 -0
  336. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  337. package/driver/better-sqlite3/BetterSqlite3Driver.js +12 -11
  338. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  339. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +5 -5
  340. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  341. package/driver/capacitor/CapacitorDriver.js +7 -7
  342. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  343. package/driver/capacitor/CapacitorQueryRunner.js +5 -5
  344. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  345. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +10 -0
  346. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  347. package/driver/cockroachdb/CockroachDriver.js +38 -28
  348. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  349. package/driver/cockroachdb/CockroachQueryRunner.js +241 -278
  350. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  351. package/driver/cordova/CordovaConnectionOptions.d.ts +5 -0
  352. package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  353. package/driver/cordova/CordovaDriver.d.ts +1 -1
  354. package/driver/cordova/CordovaDriver.js +30 -22
  355. package/driver/cordova/CordovaDriver.js.map +1 -1
  356. package/driver/cordova/CordovaQueryRunner.js +61 -54
  357. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  358. package/driver/expo/ExpoDriver.js +3 -3
  359. package/driver/expo/ExpoDriver.js.map +1 -1
  360. package/driver/expo/ExpoQueryRunner.js +23 -54
  361. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  362. package/driver/mongodb/MongoConnectionOptions.d.ts +5 -0
  363. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  364. package/driver/mongodb/MongoDriver.js +4 -3
  365. package/driver/mongodb/MongoDriver.js.map +1 -1
  366. package/driver/mongodb/MongoQueryRunner.js +178 -178
  367. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  368. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  369. package/driver/mysql/MysqlDriver.js +9 -7
  370. package/driver/mysql/MysqlDriver.js.map +1 -1
  371. package/driver/mysql/MysqlQueryRunner.js +152 -182
  372. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  373. package/driver/nativescript/NativescriptDriver.js +3 -3
  374. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  375. package/driver/nativescript/NativescriptQueryRunner.js +48 -40
  376. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  377. package/driver/oracle/OracleConnectionOptions.d.ts +5 -0
  378. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  379. package/driver/oracle/OracleDriver.js +13 -12
  380. package/driver/oracle/OracleDriver.js.map +1 -1
  381. package/driver/oracle/OracleQueryRunner.js +143 -171
  382. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  383. package/driver/postgres/PostgresConnectionOptions.d.ts +10 -0
  384. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  385. package/driver/postgres/PostgresDriver.d.ts +2 -2
  386. package/driver/postgres/PostgresDriver.js +52 -60
  387. package/driver/postgres/PostgresDriver.js.map +1 -1
  388. package/driver/postgres/PostgresQueryRunner.js +175 -213
  389. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  390. package/driver/react-native/ReactNativeConnectionOptions.d.ts +5 -0
  391. package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  392. package/driver/react-native/ReactNativeDriver.js +5 -4
  393. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  394. package/driver/react-native/ReactNativeQueryRunner.js +3 -3
  395. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  396. package/driver/sap/SapConnectionOptions.d.ts +16 -6
  397. package/driver/sap/SapConnectionOptions.js.map +1 -1
  398. package/driver/sap/SapDriver.js +11 -8
  399. package/driver/sap/SapDriver.js.map +1 -1
  400. package/driver/sap/SapQueryRunner.js +159 -207
  401. package/driver/sap/SapQueryRunner.js.map +1 -1
  402. package/driver/sqlite/SqliteConnectionOptions.d.ts +5 -0
  403. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  404. package/driver/sqlite/SqliteDriver.js +12 -11
  405. package/driver/sqlite/SqliteDriver.js.map +1 -1
  406. package/driver/sqlite/SqliteQueryRunner.js +21 -13
  407. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  408. package/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -4
  409. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +138 -168
  410. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  411. package/driver/sqljs/SqljsConnectionOptions.d.ts +5 -0
  412. package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  413. package/driver/sqljs/SqljsDriver.js +22 -37
  414. package/driver/sqljs/SqljsDriver.js.map +1 -1
  415. package/driver/sqljs/SqljsQueryRunner.js +17 -18
  416. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  417. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
  418. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  419. package/driver/sqlserver/SqlServerDriver.js +13 -12
  420. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  421. package/driver/sqlserver/SqlServerQueryRunner.js +220 -252
  422. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  423. package/entity-manager/EntityManager.js +30 -30
  424. package/entity-manager/EntityManager.js.map +1 -1
  425. package/entity-manager/MongoEntityManager.js +23 -28
  426. package/entity-manager/MongoEntityManager.js.map +1 -1
  427. package/entity-manager/SqljsEntityManager.js +5 -5
  428. package/entity-manager/SqljsEntityManager.js.map +1 -1
  429. package/entity-schema/EntitySchemaTransformer.js +1 -1
  430. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  431. package/error/AlreadyHasActiveConnectionError.js +1 -1
  432. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  433. package/error/CannotAttachTreeChildrenEntityError.js +1 -1
  434. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  435. package/error/CannotConnectAlreadyConnectedError.js +1 -1
  436. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  437. package/error/CannotCreateEntityIdMapError.js +1 -1
  438. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  439. package/error/CannotDetermineEntityError.js +1 -1
  440. package/error/CannotDetermineEntityError.js.map +1 -1
  441. package/error/CannotExecuteNotConnectedError.js +1 -1
  442. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  443. package/error/CannotGetEntityManagerNotConnectedError.js +1 -1
  444. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  445. package/error/CannotReflectMethodParameterTypeError.js +1 -1
  446. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  447. package/error/CircularRelationsError.js +1 -1
  448. package/error/CircularRelationsError.js.map +1 -1
  449. package/error/ColumnTypeUndefinedError.js +1 -1
  450. package/error/ColumnTypeUndefinedError.js.map +1 -1
  451. package/error/ConnectionIsNotSetError.js +1 -1
  452. package/error/ConnectionIsNotSetError.js.map +1 -1
  453. package/error/ConnectionNotFoundError.js +1 -1
  454. package/error/ConnectionNotFoundError.js.map +1 -1
  455. package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -1
  456. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  457. package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -1
  458. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  459. package/error/CustomRepositoryNotFoundError.js +1 -1
  460. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  461. package/error/DataTypeNotSupportedError.js +1 -1
  462. package/error/DataTypeNotSupportedError.js.map +1 -1
  463. package/error/DriverOptionNotSetError.js +1 -1
  464. package/error/DriverOptionNotSetError.js.map +1 -1
  465. package/error/DriverPackageNotInstalledError.js +1 -1
  466. package/error/DriverPackageNotInstalledError.js.map +1 -1
  467. package/error/EntityColumnNotFound.js +1 -1
  468. package/error/EntityColumnNotFound.js.map +1 -1
  469. package/error/EntityMetadataNotFoundError.js +1 -1
  470. package/error/EntityMetadataNotFoundError.js.map +1 -1
  471. package/error/EntityNotFoundError.js +1 -1
  472. package/error/EntityNotFoundError.js.map +1 -1
  473. package/error/FindRelationsNotFoundError.js +1 -1
  474. package/error/FindRelationsNotFoundError.js.map +1 -1
  475. package/error/InitializedRelationError.js +1 -1
  476. package/error/InitializedRelationError.js.map +1 -1
  477. package/error/InsertValuesMissingError.js +1 -1
  478. package/error/InsertValuesMissingError.js.map +1 -1
  479. package/error/LimitOnUpdateNotSupportedError.js +1 -1
  480. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  481. package/error/LockNotSupportedOnGivenDriverError.js +1 -1
  482. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  483. package/error/MetadataAlreadyExistsError.js +1 -1
  484. package/error/MetadataAlreadyExistsError.js.map +1 -1
  485. package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -1
  486. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  487. package/error/MissingDeleteDateColumnError.js +1 -1
  488. package/error/MissingDeleteDateColumnError.js.map +1 -1
  489. package/error/MissingDriverError.js +1 -1
  490. package/error/MissingDriverError.js.map +1 -1
  491. package/error/MissingJoinColumnError.js +1 -1
  492. package/error/MissingJoinColumnError.js.map +1 -1
  493. package/error/MissingJoinTableError.js +1 -1
  494. package/error/MissingJoinTableError.js.map +1 -1
  495. package/error/MissingPrimaryColumnError.js +1 -1
  496. package/error/MissingPrimaryColumnError.js.map +1 -1
  497. package/error/MustBeEntityError.js +1 -1
  498. package/error/MustBeEntityError.js.map +1 -1
  499. package/error/NamingStrategyNotFoundError.js +1 -1
  500. package/error/NamingStrategyNotFoundError.js.map +1 -1
  501. package/error/NestedSetMultipleRootError.js +1 -1
  502. package/error/NestedSetMultipleRootError.js.map +1 -1
  503. package/error/NoConnectionForRepositoryError.js +1 -1
  504. package/error/NoConnectionForRepositoryError.js.map +1 -1
  505. package/error/NoConnectionOptionError.js +1 -1
  506. package/error/NoConnectionOptionError.js.map +1 -1
  507. package/error/NoNeedToReleaseEntityManagerError.js +1 -1
  508. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  509. package/error/NoVersionOrUpdateDateColumnError.js +1 -1
  510. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  511. package/error/OffsetWithoutLimitNotSupportedError.js +1 -1
  512. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  513. package/error/OptimisticLockCanNotBeUsedError.js +1 -1
  514. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  515. package/error/OptimisticLockVersionMismatchError.js +1 -1
  516. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  517. package/error/PersistedEntityNotFoundError.js +1 -1
  518. package/error/PersistedEntityNotFoundError.js.map +1 -1
  519. package/error/PessimisticLockTransactionRequiredError.js +1 -1
  520. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  521. package/error/PrimaryColumnCannotBeNullableError.js +1 -1
  522. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  523. package/error/QueryFailedError.js +3 -3
  524. package/error/QueryFailedError.js.map +1 -1
  525. package/error/QueryRunnerAlreadyReleasedError.js +1 -1
  526. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  527. package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -1
  528. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  529. package/error/RepositoryNotFoundError.js +1 -1
  530. package/error/RepositoryNotFoundError.js.map +1 -1
  531. package/error/RepositoryNotTreeError.js +1 -1
  532. package/error/RepositoryNotTreeError.js.map +1 -1
  533. package/error/ReturningStatementNotSupportedError.js +1 -1
  534. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  535. package/error/SubjectRemovedAndUpdatedError.js +1 -1
  536. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  537. package/error/SubjectWithoutIdentifierError.js +1 -1
  538. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  539. package/error/TransactionAlreadyStartedError.js +1 -1
  540. package/error/TransactionAlreadyStartedError.js.map +1 -1
  541. package/error/TransactionNotStartedError.js +1 -1
  542. package/error/TransactionNotStartedError.js.map +1 -1
  543. package/error/TreeRepositoryNotSupportedError.js +1 -1
  544. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  545. package/error/TypeORMError.js +1 -1
  546. package/error/TypeORMError.js.map +1 -1
  547. package/error/UpdateValuesMissingError.js +1 -1
  548. package/error/UpdateValuesMissingError.js.map +1 -1
  549. package/error/UsingJoinColumnIsNotAllowedError.js +1 -1
  550. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  551. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -1
  552. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  553. package/error/UsingJoinTableIsNotAllowedError.js +1 -1
  554. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  555. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -1
  556. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  557. package/error/index.js +62 -62
  558. package/error/index.js.map +1 -1
  559. package/find-options/FindOptionsUtils.js +4 -4
  560. package/find-options/FindOptionsUtils.js.map +1 -1
  561. package/globals.js +7 -7
  562. package/globals.js.map +1 -1
  563. package/index.js +102 -102
  564. package/index.js.map +1 -1
  565. package/logger/DebugLogger.js +9 -9
  566. package/logger/DebugLogger.js.map +1 -1
  567. package/logger/FileLogger.js +1 -1
  568. package/logger/FileLogger.js.map +1 -1
  569. package/metadata/ColumnMetadata.js +4 -4
  570. package/metadata/ColumnMetadata.js.map +1 -1
  571. package/metadata/EmbeddedMetadata.js +1 -1
  572. package/metadata/EmbeddedMetadata.js.map +1 -1
  573. package/metadata/EntityMetadata.d.ts +5 -0
  574. package/metadata/EntityMetadata.js +3 -2
  575. package/metadata/EntityMetadata.js.map +1 -1
  576. package/metadata/RelationMetadata.js +4 -4
  577. package/metadata/RelationMetadata.js.map +1 -1
  578. package/metadata-args/TableMetadataArgs.d.ts +4 -0
  579. package/metadata-args/TableMetadataArgs.js.map +1 -1
  580. package/metadata-builder/EntityMetadataBuilder.js +5 -5
  581. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  582. package/metadata-builder/JunctionEntityMetadataBuilder.js +1 -1
  583. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  584. package/migration/MigrationExecutor.d.ts +1 -1
  585. package/migration/MigrationExecutor.js +39 -47
  586. package/migration/MigrationExecutor.js.map +1 -1
  587. package/naming-strategy/DefaultNamingStrategy.js +10 -10
  588. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  589. package/package.json +1 -239
  590. package/persistence/EntityPersistExecutor.js +5 -5
  591. package/persistence/EntityPersistExecutor.js.map +1 -1
  592. package/persistence/Subject.js +1 -1
  593. package/persistence/Subject.js.map +1 -1
  594. package/persistence/SubjectDatabaseEntityLoader.js +6 -6
  595. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  596. package/persistence/SubjectExecutor.js +33 -33
  597. package/persistence/SubjectExecutor.js.map +1 -1
  598. package/persistence/SubjectTopoligicalSorter.js +5 -5
  599. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  600. package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -1
  601. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  602. package/persistence/subject-builder/OneToManySubjectBuilder.js +10 -4
  603. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  604. package/persistence/tree/ClosureSubjectExecutor.js +13 -13
  605. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  606. package/persistence/tree/MaterializedPathSubjectExecutor.js +5 -5
  607. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  608. package/persistence/tree/NestedSetSubjectExecutor.js +14 -14
  609. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  610. package/platform/PlatformTools.js +8 -8
  611. package/platform/PlatformTools.js.map +1 -1
  612. package/query-builder/DeleteQueryBuilder.js +7 -14
  613. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  614. package/query-builder/InsertQueryBuilder.js +9 -11
  615. package/query-builder/InsertQueryBuilder.js.map +1 -1
  616. package/query-builder/JoinAttribute.js +1 -1
  617. package/query-builder/JoinAttribute.js.map +1 -1
  618. package/query-builder/QueryBuilder.js +37 -37
  619. package/query-builder/QueryBuilder.js.map +1 -1
  620. package/query-builder/QueryBuilderUtils.js +1 -1
  621. package/query-builder/QueryBuilderUtils.js.map +1 -1
  622. package/query-builder/QueryExpressionMap.js +3 -3
  623. package/query-builder/QueryExpressionMap.js.map +1 -1
  624. package/query-builder/RelationLoader.js +2 -2
  625. package/query-builder/RelationLoader.js.map +1 -1
  626. package/query-builder/RelationQueryBuilder.js +13 -13
  627. package/query-builder/RelationQueryBuilder.js.map +1 -1
  628. package/query-builder/RelationRemover.js +12 -12
  629. package/query-builder/RelationRemover.js.map +1 -1
  630. package/query-builder/RelationUpdater.js +2 -2
  631. package/query-builder/ReturningResultsEntityUpdator.js +6 -6
  632. package/query-builder/SelectQueryBuilder.d.ts +1 -1
  633. package/query-builder/SelectQueryBuilder.js +61 -45
  634. package/query-builder/SelectQueryBuilder.js.map +1 -1
  635. package/query-builder/SoftDeleteQueryBuilder.js +7 -14
  636. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  637. package/query-builder/UpdateQueryBuilder.js +10 -17
  638. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  639. package/query-builder/relation-count/RelationCountAttribute.js +2 -2
  640. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  641. package/query-builder/relation-count/RelationCountLoader.js +4 -4
  642. package/query-builder/relation-id/RelationIdAttribute.js +1 -1
  643. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  644. package/query-builder/relation-id/RelationIdLoader.js +5 -5
  645. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  646. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
  647. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  648. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -10
  649. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  650. package/query-runner/BaseQueryRunner.js +28 -27
  651. package/query-runner/BaseQueryRunner.js.map +1 -1
  652. package/query-runner/QueryLock.js +3 -3
  653. package/query-runner/QueryLock.js.map +1 -1
  654. package/repository/AbstractRepository.js +1 -1
  655. package/repository/AbstractRepository.js.map +1 -1
  656. package/repository/BaseEntity.js +4 -4
  657. package/repository/BaseEntity.js.map +1 -1
  658. package/repository/MongoRepository.js +1 -1
  659. package/repository/MongoRepository.js.map +1 -1
  660. package/repository/Repository.js +1 -1
  661. package/repository/Repository.js.map +1 -1
  662. package/repository/TreeRepository.js +7 -7
  663. package/repository/TreeRepository.js.map +1 -1
  664. package/schema-builder/MongoSchemaBuilder.js +2 -2
  665. package/schema-builder/RdbmsSchemaBuilder.js +311 -236
  666. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  667. package/schema-builder/table/Table.js +1 -1
  668. package/schema-builder/table/Table.js.map +1 -1
  669. package/schema-builder/table/TableCheck.js +1 -1
  670. package/schema-builder/table/TableCheck.js.map +1 -1
  671. package/schema-builder/table/TableForeignKey.js +2 -2
  672. package/schema-builder/table/TableForeignKey.js.map +1 -1
  673. package/schema-builder/table/TableIndex.js +1 -1
  674. package/schema-builder/table/TableIndex.js.map +1 -1
  675. package/schema-builder/table/TableUnique.js +1 -1
  676. package/schema-builder/table/TableUnique.js.map +1 -1
  677. package/schema-builder/util/ViewUtils.d.ts +7 -0
  678. package/schema-builder/util/ViewUtils.js +28 -0
  679. package/schema-builder/util/ViewUtils.js.map +1 -0
  680. package/subscriber/Broadcaster.d.ts +23 -2
  681. package/subscriber/Broadcaster.js +35 -2
  682. package/subscriber/Broadcaster.js.map +1 -1
  683. package/subscriber/BroadcasterResult.d.ts +4 -0
  684. package/subscriber/BroadcasterResult.js +19 -0
  685. package/subscriber/BroadcasterResult.js.map +1 -1
  686. package/util/DateUtils.js +1 -1
  687. package/util/DateUtils.js.map +1 -1
  688. package/util/DirectoryExportedClassesLoader.js +1 -1
  689. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  690. package/util/ObjectUtils.js +2 -2
  691. package/util/ObjectUtils.js.map +1 -1
  692. package/util/OrmUtils.js +2 -2
  693. package/util/OrmUtils.js.map +1 -1
  694. package/util/StringUtils.js +2 -2
  695. package/util/StringUtils.js.map +1 -1
@@ -11,6 +11,11 @@ export interface CordovaConnectionOptions extends BaseConnectionOptions {
11
11
  * Database name.
12
12
  */
13
13
  readonly database: string;
14
+ /**
15
+ * The driver object
16
+ * This defaults to `window.sqlitePlugin`
17
+ */
18
+ readonly driver?: any;
14
19
  /**
15
20
  * Storage Location
16
21
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/cordova/CordovaConnectionOptions.ts"],"names":[],"mappings":"","file":"CordovaConnectionOptions.js","sourcesContent":["import {BaseConnectionOptions} from \"../../connection/BaseConnectionOptions\";\n\n/**\n * Sqlite-specific connection options.\n */\nexport interface CordovaConnectionOptions extends BaseConnectionOptions {\n\n /**\n * Database type.\n */\n readonly type: \"cordova\";\n\n /**\n * Database name.\n */\n readonly database: string;\n\n /**\n * Storage Location\n */\n readonly location: string;\n}"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/cordova/CordovaConnectionOptions.ts"],"names":[],"mappings":"","file":"CordovaConnectionOptions.js","sourcesContent":["import {BaseConnectionOptions} from \"../../connection/BaseConnectionOptions\";\n\n/**\n * Sqlite-specific connection options.\n */\nexport interface CordovaConnectionOptions extends BaseConnectionOptions {\n\n /**\n * Database type.\n */\n readonly type: \"cordova\";\n\n /**\n * Database name.\n */\n readonly database: string;\n\n /**\n * The driver object\n * This defaults to `window.sqlitePlugin`\n */\n readonly driver?: any;\n\n /**\n * Storage Location\n */\n readonly location: string;\n}"],"sourceRoot":"../.."}
@@ -17,7 +17,7 @@ export declare class CordovaDriver extends AbstractSqliteDriver {
17
17
  /**
18
18
  * Creates connection with the database.
19
19
  */
20
- protected createDatabaseConnection(): Promise<void>;
20
+ protected createDatabaseConnection(): Promise<any>;
21
21
  /**
22
22
  * If driver dependency is not given explicitly, then try to load it via "require".
23
23
  */
@@ -7,7 +7,7 @@ var CordovaQueryRunner_1 = require("./CordovaQueryRunner");
7
7
  var DriverOptionNotSetError_1 = require("../../error/DriverOptionNotSetError");
8
8
  var DriverPackageNotInstalledError_1 = require("../../error/DriverPackageNotInstalledError");
9
9
  var CordovaDriver = /** @class */ (function (_super) {
10
- tslib_1.__extends(CordovaDriver, _super);
10
+ (0, tslib_1.__extends)(CordovaDriver, _super);
11
11
  // -------------------------------------------------------------------------
12
12
  // Constructor
13
13
  // -------------------------------------------------------------------------
@@ -32,11 +32,11 @@ var CordovaDriver = /** @class */ (function (_super) {
32
32
  * Closes connection with database.
33
33
  */
34
34
  CordovaDriver.prototype.disconnect = function () {
35
- return tslib_1.__awaiter(this, void 0, void 0, function () {
35
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
36
36
  var _this = this;
37
- return tslib_1.__generator(this, function (_a) {
37
+ return (0, tslib_1.__generator)(this, function (_a) {
38
+ this.queryRunner = undefined;
38
39
  return [2 /*return*/, new Promise(function (ok, fail) {
39
- _this.queryRunner = undefined;
40
40
  _this.databaseConnection.close(ok, fail);
41
41
  })];
42
42
  });
@@ -57,23 +57,30 @@ var CordovaDriver = /** @class */ (function (_super) {
57
57
  * Creates connection with the database.
58
58
  */
59
59
  CordovaDriver.prototype.createDatabaseConnection = function () {
60
- var _this = this;
61
- return new Promise(function (ok, fail) {
62
- var options = Object.assign({}, {
63
- name: _this.options.database,
64
- location: _this.options.location,
65
- }, _this.options.extra || {});
66
- _this.sqlite.openDatabase(options, function (db) {
67
- var databaseConnection = db;
68
- // we need to enable foreign keys in sqlite to make sure all foreign key related features
69
- // working properly. this also makes onDelete to work with sqlite.
70
- databaseConnection.executeSql("PRAGMA foreign_keys = ON;", [], function (result) {
71
- ok(databaseConnection);
72
- }, function (error) {
73
- fail(error);
74
- });
75
- }, function (error) {
76
- fail(error);
60
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
61
+ var options, connection;
62
+ var _this = this;
63
+ return (0, tslib_1.__generator)(this, function (_a) {
64
+ switch (_a.label) {
65
+ case 0:
66
+ options = Object.assign({}, {
67
+ name: this.options.database,
68
+ location: this.options.location,
69
+ }, this.options.extra || {});
70
+ return [4 /*yield*/, new Promise(function (resolve) {
71
+ _this.sqlite.openDatabase(options, function (db) { return resolve(db); });
72
+ })];
73
+ case 1:
74
+ connection = _a.sent();
75
+ return [4 /*yield*/, new Promise(function (ok, fail) {
76
+ // we need to enable foreign keys in sqlite to make sure all foreign key related features
77
+ // working properly. this also makes onDelete to work with sqlite.
78
+ connection.executeSql("PRAGMA foreign_keys = ON;", [], function () { return ok(); }, function (err) { return fail(err); });
79
+ })];
80
+ case 2:
81
+ _a.sent();
82
+ return [2 /*return*/, connection];
83
+ }
77
84
  });
78
85
  });
79
86
  };
@@ -82,7 +89,8 @@ var CordovaDriver = /** @class */ (function (_super) {
82
89
  */
83
90
  CordovaDriver.prototype.loadDependencies = function () {
84
91
  try {
85
- this.sqlite = window.sqlitePlugin;
92
+ var sqlite = this.options.driver || window.sqlitePlugin;
93
+ this.sqlite = sqlite;
86
94
  }
87
95
  catch (e) {
88
96
  throw new DriverPackageNotInstalledError_1.DriverPackageNotInstalledError("Cordova-SQLite", "cordova-sqlite-storage");
@@ -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,8CAAoB;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,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAE7B,sBAAO,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;wBAC9B,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;IACa,gDAAwB,GAAxC;;;;;;;wBACU,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;4BAC9B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;4BAC3B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;yBAClC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;wBAEV,qBAAM,IAAI,OAAO,CAAM,UAAC,OAAO;gCAC9C,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAC,EAAO,IAAK,OAAA,OAAO,CAAC,EAAE,CAAC,EAAX,CAAW,CAAC,CAAA;4BAC/D,CAAC,CAAC,EAAA;;wBAFI,UAAU,GAAG,SAEjB;wBAEF,qBAAM,IAAI,OAAO,CAAO,UAAC,EAAE,EAAE,IAAI;gCAC7B,yFAAyF;gCACzF,kEAAkE;gCAClE,UAAU,CAAC,UAAU,CACjB,2BAA2B,EAC3B,EAAE,EACF,cAAM,OAAA,EAAE,EAAE,EAAJ,CAAI,EACV,UAAC,GAAQ,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,EAAT,CAAS,CAC1B,CAAC;4BACN,CAAC,CAAC,EAAA;;wBATF,SASE,CAAA;wBAEF,sBAAO,UAAU,EAAC;;;;KACrB;IAED;;OAEG;IACO,wCAAgB,GAA1B;QACI,IAAI;YACA,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC;YAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SAExB;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,+DAA8B,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;SACxF;IACL,CAAC;IACL,oBAAC;AAAD,CA9FA,AA8FC,CA9FkC,2CAAoB,GA8FtD;AA9FY,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 let 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 this.queryRunner = undefined;\n\n return new Promise<void>((ok, fail) => {\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 async createDatabaseConnection() {\n const options = Object.assign({}, {\n name: this.options.database,\n location: this.options.location,\n }, this.options.extra || {});\n\n const connection = await new Promise<any>((resolve) => {\n this.sqlite.openDatabase(options, (db: any) => resolve(db))\n })\n\n await new Promise<void>((ok, fail) => {\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 connection.executeSql(\n `PRAGMA foreign_keys = ON;`,\n [],\n () => ok(),\n (err: any) => fail(err)\n );\n })\n\n return connection;\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 const sqlite = this.options.driver || window.sqlitePlugin;\n this.sqlite = sqlite;\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"Cordova-SQLite\", \"cordova-sqlite-storage\");\n }\n }\n}\n"],"sourceRoot":"../.."}
@@ -12,7 +12,7 @@ var QueryResult_1 = require("../../query-runner/QueryResult");
12
12
  * Runs queries on a single sqlite database connection.
13
13
  */
14
14
  var CordovaQueryRunner = /** @class */ (function (_super) {
15
- tslib_1.__extends(CordovaQueryRunner, _super);
15
+ (0, tslib_1.__extends)(CordovaQueryRunner, _super);
16
16
  // -------------------------------------------------------------------------
17
17
  // Constructor
18
18
  // -------------------------------------------------------------------------
@@ -28,54 +28,61 @@ var CordovaQueryRunner = /** @class */ (function (_super) {
28
28
  */
29
29
  CordovaQueryRunner.prototype.query = function (query, parameters, useStructuredResult) {
30
30
  if (useStructuredResult === void 0) { useStructuredResult = false; }
31
- return tslib_1.__awaiter(this, void 0, void 0, function () {
31
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
32
+ var databaseConnection, queryStartTime, raw, maxQueryExecutionTime, queryEndTime, queryExecutionTime, result, resultSet, i, err_1;
32
33
  var _this = this;
33
- return tslib_1.__generator(this, function (_a) {
34
- if (this.isReleased)
35
- throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
36
- return [2 /*return*/, new Promise(function (ok, fail) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
37
- var databaseConnection, queryStartTime;
38
- var _this = this;
39
- return tslib_1.__generator(this, function (_a) {
40
- switch (_a.label) {
41
- case 0: return [4 /*yield*/, this.connect()];
42
- case 1:
43
- databaseConnection = _a.sent();
44
- this.driver.connection.logger.logQuery(query, parameters, this);
45
- queryStartTime = +new Date();
46
- databaseConnection.executeSql(query, parameters, function (raw) {
47
- // log slow queries if maxQueryExecution time is set
48
- var maxQueryExecutionTime = _this.driver.options.maxQueryExecutionTime;
49
- var queryEndTime = +new Date();
50
- var queryExecutionTime = queryEndTime - queryStartTime;
51
- if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime)
52
- _this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, _this);
53
- var result = new QueryResult_1.QueryResult();
54
- if (query.substr(0, 11) === "INSERT INTO") {
55
- result.raw = raw.insertId;
56
- }
57
- else {
58
- var resultSet = [];
59
- for (var i = 0; i < raw.rows.length; i++) {
60
- resultSet.push(raw.rows.item(i));
61
- }
62
- result.records = resultSet;
63
- result.raw = resultSet;
64
- }
65
- if (useStructuredResult) {
66
- ok(result);
67
- }
68
- else {
69
- ok(result.raw);
70
- }
71
- }, function (err) {
72
- _this.driver.connection.logger.logQueryError(err, query, parameters, _this);
73
- fail(new QueryFailedError_1.QueryFailedError(query, parameters, err));
74
- });
34
+ return (0, tslib_1.__generator)(this, function (_a) {
35
+ switch (_a.label) {
36
+ case 0:
37
+ if (this.isReleased)
38
+ throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
39
+ return [4 /*yield*/, this.connect()];
40
+ case 1:
41
+ databaseConnection = _a.sent();
42
+ this.driver.connection.logger.logQuery(query, parameters, this);
43
+ queryStartTime = +new Date();
44
+ _a.label = 2;
45
+ case 2:
46
+ _a.trys.push([2, 4, , 5]);
47
+ return [4 /*yield*/, new Promise(function (ok, fail) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
48
+ return (0, tslib_1.__generator)(this, function (_a) {
49
+ databaseConnection.executeSql(query, parameters, function (raw) { return ok(raw); }, function (err) { return fail(err); });
75
50
  return [2 /*return*/];
51
+ });
52
+ }); })];
53
+ case 3:
54
+ raw = _a.sent();
55
+ maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
56
+ queryEndTime = +new Date();
57
+ queryExecutionTime = queryEndTime - queryStartTime;
58
+ if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime) {
59
+ this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
60
+ }
61
+ result = new QueryResult_1.QueryResult();
62
+ if (query.substr(0, 11) === "INSERT INTO") {
63
+ result.raw = raw.insertId;
64
+ }
65
+ else {
66
+ resultSet = [];
67
+ for (i = 0; i < raw.rows.length; i++) {
68
+ resultSet.push(raw.rows.item(i));
76
69
  }
77
- });
78
- }); })];
70
+ result.records = resultSet;
71
+ result.raw = resultSet;
72
+ }
73
+ if (useStructuredResult) {
74
+ return [2 /*return*/, result];
75
+ }
76
+ else {
77
+ return [2 /*return*/, result.raw];
78
+ }
79
+ return [3 /*break*/, 5];
80
+ case 4:
81
+ err_1 = _a.sent();
82
+ this.driver.connection.logger.logQueryError(err_1, query, parameters, this);
83
+ throw new QueryFailedError_1.QueryFailedError(query, parameters, err_1);
84
+ case 5: return [2 /*return*/];
85
+ }
79
86
  });
80
87
  });
81
88
  };
@@ -116,8 +123,8 @@ var CordovaQueryRunner = /** @class */ (function (_super) {
116
123
  * Would start a transaction but this driver does not support transactions.
117
124
  */
118
125
  CordovaQueryRunner.prototype.startTransaction = function () {
119
- return tslib_1.__awaiter(this, void 0, void 0, function () {
120
- return tslib_1.__generator(this, function (_a) {
126
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
127
+ return (0, tslib_1.__generator)(this, function (_a) {
121
128
  throw new error_1.TypeORMError('Transactions are not supported by the Cordova driver');
122
129
  });
123
130
  });
@@ -126,8 +133,8 @@ var CordovaQueryRunner = /** @class */ (function (_super) {
126
133
  * Would start a transaction but this driver does not support transactions.
127
134
  */
128
135
  CordovaQueryRunner.prototype.commitTransaction = function () {
129
- return tslib_1.__awaiter(this, void 0, void 0, function () {
130
- return tslib_1.__generator(this, function (_a) {
136
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
137
+ return (0, tslib_1.__generator)(this, function (_a) {
131
138
  throw new error_1.TypeORMError('Transactions are not supported by the Cordova driver');
132
139
  });
133
140
  });
@@ -136,8 +143,8 @@ var CordovaQueryRunner = /** @class */ (function (_super) {
136
143
  * Would start a transaction but this driver does not support transactions.
137
144
  */
138
145
  CordovaQueryRunner.prototype.rollbackTransaction = function () {
139
- return tslib_1.__awaiter(this, void 0, void 0, function () {
140
- return tslib_1.__generator(this, function (_a) {
146
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
147
+ return (0, tslib_1.__generator)(this, function (_a) {
141
148
  throw new error_1.TypeORMError('Transactions are not supported by the Cordova driver');
142
149
  });
143
150
  });
@@ -148,10 +155,10 @@ var CordovaQueryRunner = /** @class */ (function (_super) {
148
155
  * (because it can clear all your database).
149
156
  */
150
157
  CordovaQueryRunner.prototype.clearDatabase = function () {
151
- return tslib_1.__awaiter(this, void 0, void 0, function () {
158
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
152
159
  var selectViewDropsQuery, dropViewQueries, selectTableDropsQuery, dropTableQueries;
153
160
  var _this = this;
154
- return tslib_1.__generator(this, function (_a) {
161
+ return (0, tslib_1.__generator)(this, function (_a) {
155
162
  switch (_a.label) {
156
163
  case 0: return [4 /*yield*/, this.query("PRAGMA foreign_keys = OFF;")];
157
164
  case 1:
@@ -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\";\nimport { TypeORMError } from \"../../error\";\nimport { QueryResult } from \"../../query-runner/QueryResult\";\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 async query(query: string, parameters?: any[], useStructuredResult = false): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n return new Promise(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, (raw: any) => {\n\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.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 const result = new QueryResult();\n\n if (query.substr(0, 11) === \"INSERT INTO\") {\n result.raw = raw.insertId;\n } else {\n let resultSet = [];\n for (let i = 0; i < raw.rows.length; i++) {\n resultSet.push(raw.rows.item(i));\n }\n\n result.records = resultSet;\n result.raw = resultSet;\n }\n\n if (useStructuredResult) {\n ok(result);\n } else {\n ok(result.raw);\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 * Would start a transaction but this driver does not support transactions.\n */\n async startTransaction(): Promise<void> {\n throw new TypeORMError('Transactions are not supported by the Cordova driver')\n }\n\n /**\n * Would start a transaction but this driver does not support transactions.\n */\n async commitTransaction(): Promise<void> {\n throw new TypeORMError('Transactions are not supported by the Cordova driver')\n }\n\n /**\n * Would start a transaction but this driver does not support transactions.\n */\n async rollbackTransaction(): Promise<void> {\n throw new TypeORMError('Transactions are not supported by the Cordova driver')\n }\n\n /**\n * Removes all tables 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.query(`PRAGMA foreign_keys = OFF;`);\n try {\n const selectViewDropsQuery = `SELECT 'DROP VIEW \"' || name || '\";' as query FROM \"sqlite_master\" WHERE \"type\" = 'view'`;\n const dropViewQueries: ObjectLiteral[] = await this.query(selectViewDropsQuery);\n\n const selectTableDropsQuery = `SELECT 'DROP TABLE \"' || name || '\";' as query FROM \"sqlite_master\" WHERE \"type\" = 'table' AND \"name\" != 'sqlite_sequence'`;\n const dropTableQueries: ObjectLiteral[] = await this.query(selectTableDropsQuery);\n\n await Promise.all(dropViewQueries.map(q => this.query(q[\"query\"])));\n await Promise.all(dropTableQueries.map(q => this.query(q[\"query\"])));\n } finally {\n await this.query(`PRAGMA foreign_keys = ON;`);\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}\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\";\nimport { TypeORMError } from \"../../error\";\nimport { QueryResult } from \"../../query-runner/QueryResult\";\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 async query(query: string, parameters?: any[], useStructuredResult = false): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n\n try {\n const raw = await new Promise<any>(async (ok, fail) => {\n databaseConnection.executeSql(query, parameters,\n (raw: any) => ok(raw),\n (err: any) => fail(err)\n )\n });\n\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.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 const result = new QueryResult();\n\n if (query.substr(0, 11) === \"INSERT INTO\") {\n result.raw = raw.insertId;\n } else {\n let resultSet = [];\n for (let i = 0; i < raw.rows.length; i++) {\n resultSet.push(raw.rows.item(i));\n }\n\n result.records = resultSet;\n result.raw = resultSet;\n }\n\n if (useStructuredResult) {\n return result;\n } else {\n return result.raw;\n }\n\n } catch (err) {\n this.driver.connection.logger.logQueryError(err, query, parameters, this);\n throw new QueryFailedError(query, parameters, err);\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 * Would start a transaction but this driver does not support transactions.\n */\n async startTransaction(): Promise<void> {\n throw new TypeORMError('Transactions are not supported by the Cordova driver')\n }\n\n /**\n * Would start a transaction but this driver does not support transactions.\n */\n async commitTransaction(): Promise<void> {\n throw new TypeORMError('Transactions are not supported by the Cordova driver')\n }\n\n /**\n * Would start a transaction but this driver does not support transactions.\n */\n async rollbackTransaction(): Promise<void> {\n throw new TypeORMError('Transactions are not supported by the Cordova driver')\n }\n\n /**\n * Removes all tables 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.query(`PRAGMA foreign_keys = OFF;`);\n try {\n const selectViewDropsQuery = `SELECT 'DROP VIEW \"' || name || '\";' as query FROM \"sqlite_master\" WHERE \"type\" = 'view'`;\n const dropViewQueries: ObjectLiteral[] = await this.query(selectViewDropsQuery);\n\n const selectTableDropsQuery = `SELECT 'DROP TABLE \"' || name || '\";' as query FROM \"sqlite_master\" WHERE \"type\" = 'table' AND \"name\" != 'sqlite_sequence'`;\n const dropTableQueries: ObjectLiteral[] = await this.query(selectTableDropsQuery);\n\n await Promise.all(dropViewQueries.map(q => this.query(q[\"query\"])));\n await Promise.all(dropTableQueries.map(q => this.query(q[\"query\"])));\n } finally {\n await this.query(`PRAGMA foreign_keys = ON;`);\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}\n"],"sourceRoot":"../.."}
@@ -6,7 +6,7 @@ var AbstractSqliteDriver_1 = require("../sqlite-abstract/AbstractSqliteDriver");
6
6
  var ExpoQueryRunner_1 = require("./ExpoQueryRunner");
7
7
  var DriverOptionNotSetError_1 = require("../../error/DriverOptionNotSetError");
8
8
  var ExpoDriver = /** @class */ (function (_super) {
9
- tslib_1.__extends(ExpoDriver, _super);
9
+ (0, tslib_1.__extends)(ExpoDriver, _super);
10
10
  // -------------------------------------------------------------------------
11
11
  // Constructor
12
12
  // -------------------------------------------------------------------------
@@ -29,9 +29,9 @@ var ExpoDriver = /** @class */ (function (_super) {
29
29
  * Closes connection with database.
30
30
  */
31
31
  ExpoDriver.prototype.disconnect = function () {
32
- return tslib_1.__awaiter(this, void 0, void 0, function () {
32
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
33
33
  var _this = this;
34
- return tslib_1.__generator(this, function (_a) {
34
+ return (0, tslib_1.__generator)(this, function (_a) {
35
35
  return [2 /*return*/, new Promise(function (ok, fail) {
36
36
  try {
37
37
  _this.queryRunner = undefined;
@@ -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,2CAAoB;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":"../.."}
@@ -8,13 +8,12 @@ var AbstractSqliteQueryRunner_1 = require("../sqlite-abstract/AbstractSqliteQuer
8
8
  var TransactionAlreadyStartedError_1 = require("../../error/TransactionAlreadyStartedError");
9
9
  var TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
10
10
  var Broadcaster_1 = require("../../subscriber/Broadcaster");
11
- var BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
12
11
  var QueryResult_1 = require("../../query-runner/QueryResult");
13
12
  /**
14
13
  * Runs queries on a single sqlite database connection.
15
14
  */
16
15
  var ExpoQueryRunner = /** @class */ (function (_super) {
17
- tslib_1.__extends(ExpoQueryRunner, _super);
16
+ (0, tslib_1.__extends)(ExpoQueryRunner, _super);
18
17
  // -------------------------------------------------------------------------
19
18
  // Constructor
20
19
  // -------------------------------------------------------------------------
@@ -37,30 +36,20 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
37
36
  * transaction.
38
37
  */
39
38
  ExpoQueryRunner.prototype.startTransaction = function () {
40
- return tslib_1.__awaiter(this, void 0, void 0, function () {
41
- var beforeBroadcastResult, afterBroadcastResult;
42
- return tslib_1.__generator(this, function (_a) {
39
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
40
+ return (0, tslib_1.__generator)(this, function (_a) {
43
41
  switch (_a.label) {
44
42
  case 0:
45
43
  if (this.isTransactionActive && typeof this.transaction !== "undefined")
46
44
  throw new TransactionAlreadyStartedError_1.TransactionAlreadyStartedError();
47
- beforeBroadcastResult = new BroadcasterResult_1.BroadcasterResult();
48
- this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
49
- if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
50
- return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
45
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
51
46
  case 1:
52
47
  _a.sent();
53
- _a.label = 2;
54
- case 2:
55
48
  this.isTransactionActive = true;
56
- afterBroadcastResult = new BroadcasterResult_1.BroadcasterResult();
57
- this.broadcaster.broadcastAfterTransactionStartEvent(afterBroadcastResult);
58
- if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
59
- return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
60
- case 3:
49
+ return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
50
+ case 2:
61
51
  _a.sent();
62
- _a.label = 4;
63
- case 4: return [2 /*return*/];
52
+ return [2 /*return*/];
64
53
  }
65
54
  });
66
55
  });
@@ -74,31 +63,21 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
74
63
  * object and set the stage for the next transaction.
75
64
  */
76
65
  ExpoQueryRunner.prototype.commitTransaction = function () {
77
- return tslib_1.__awaiter(this, void 0, void 0, function () {
78
- var beforeBroadcastResult, afterBroadcastResult;
79
- return tslib_1.__generator(this, function (_a) {
66
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
67
+ return (0, tslib_1.__generator)(this, function (_a) {
80
68
  switch (_a.label) {
81
69
  case 0:
82
70
  if (!this.isTransactionActive && typeof this.transaction === "undefined")
83
71
  throw new TransactionNotStartedError_1.TransactionNotStartedError();
84
- beforeBroadcastResult = new BroadcasterResult_1.BroadcasterResult();
85
- this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
86
- if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
87
- return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
72
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
88
73
  case 1:
89
74
  _a.sent();
90
- _a.label = 2;
91
- case 2:
92
75
  this.isTransactionActive = false;
93
76
  this.transaction = undefined;
94
- afterBroadcastResult = new BroadcasterResult_1.BroadcasterResult();
95
- this.broadcaster.broadcastAfterTransactionCommitEvent(afterBroadcastResult);
96
- if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
97
- return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
98
- case 3:
77
+ return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
78
+ case 2:
99
79
  _a.sent();
100
- _a.label = 4;
101
- case 4: return [2 /*return*/];
80
+ return [2 /*return*/];
102
81
  }
103
82
  });
104
83
  });
@@ -111,31 +90,21 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
111
90
  * Issuing separate statements for `COMMIT` or `ROLLBACK` aren't necessary.
112
91
  */
113
92
  ExpoQueryRunner.prototype.rollbackTransaction = function () {
114
- return tslib_1.__awaiter(this, void 0, void 0, function () {
115
- var beforeBroadcastResult, afterBroadcastResult;
116
- return tslib_1.__generator(this, function (_a) {
93
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
94
+ return (0, tslib_1.__generator)(this, function (_a) {
117
95
  switch (_a.label) {
118
96
  case 0:
119
97
  if (!this.isTransactionActive && typeof this.transaction === "undefined")
120
98
  throw new TransactionNotStartedError_1.TransactionNotStartedError();
121
- beforeBroadcastResult = new BroadcasterResult_1.BroadcasterResult();
122
- this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
123
- if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
124
- return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
99
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
125
100
  case 1:
126
101
  _a.sent();
127
- _a.label = 2;
128
- case 2:
129
102
  this.isTransactionActive = false;
130
103
  this.transaction = undefined;
131
- afterBroadcastResult = new BroadcasterResult_1.BroadcasterResult();
132
- this.broadcaster.broadcastAfterTransactionRollbackEvent(afterBroadcastResult);
133
- if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
134
- return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
135
- case 3:
104
+ return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
105
+ case 2:
136
106
  _a.sent();
137
- _a.label = 4;
138
- case 4: return [2 /*return*/];
107
+ return [2 /*return*/];
139
108
  }
140
109
  });
141
110
  });
@@ -145,15 +114,15 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
145
114
  */
146
115
  ExpoQueryRunner.prototype.query = function (query, parameters, useStructuredResult) {
147
116
  if (useStructuredResult === void 0) { useStructuredResult = false; }
148
- return tslib_1.__awaiter(this, void 0, void 0, function () {
117
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
149
118
  var _this = this;
150
- return tslib_1.__generator(this, function (_a) {
119
+ return (0, tslib_1.__generator)(this, function (_a) {
151
120
  if (this.isReleased)
152
121
  throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
153
- return [2 /*return*/, new Promise(function (ok, fail) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
122
+ return [2 /*return*/, new Promise(function (ok, fail) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
154
123
  var databaseConnection, queryStartTime;
155
124
  var _this = this;
156
- return tslib_1.__generator(this, function (_a) {
125
+ return (0, tslib_1.__generator)(this, function (_a) {
157
126
  switch (_a.label) {
158
127
  case 0: return [4 /*yield*/, this.connect()];
159
128
  case 1: