taon-typeorm 18.0.24 → 19.0.1

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 (1725) hide show
  1. package/assets/shared/shared_folder_info.txt +3 -3
  2. package/browser/README.md +24 -24
  3. package/client/README.md +24 -24
  4. package/index.js.map +1 -1
  5. package/lib/build-info._auto-generated_.d.ts +1 -0
  6. package/lib/build-info._auto-generated_.js +4 -1
  7. package/lib/build-info._auto-generated_.js.map +1 -1
  8. package/lib/index._auto-generated_.js +2 -2
  9. package/lib/index._auto-generated_.js.map +1 -1
  10. package/lib/index.js.map +1 -1
  11. package/lib/typeorm/cache/DbQueryResultCache.js.map +1 -1
  12. package/lib/typeorm/cache/QueryResultCache.js.map +1 -1
  13. package/lib/typeorm/cache/QueryResultCacheFactory.js.map +1 -1
  14. package/lib/typeorm/cache/QueryResultCacheOptions.js.map +1 -1
  15. package/lib/typeorm/cache/RedisQueryResultCache.js.map +1 -1
  16. package/lib/typeorm/cli-ts-node-commonjs.js.map +1 -1
  17. package/lib/typeorm/cli-ts-node-esm.js.map +1 -1
  18. package/lib/typeorm/cli.js.map +1 -1
  19. package/lib/typeorm/commands/CacheClearCommand.js.map +1 -1
  20. package/lib/typeorm/commands/CommandUtils.js.map +1 -1
  21. package/lib/typeorm/commands/EntityCreateCommand.js.map +1 -1
  22. package/lib/typeorm/commands/InitCommand.js.map +1 -1
  23. package/lib/typeorm/commands/MigrationCreateCommand.js.map +1 -1
  24. package/lib/typeorm/commands/MigrationGenerateCommand.js.map +1 -1
  25. package/lib/typeorm/commands/MigrationRevertCommand.js.map +1 -1
  26. package/lib/typeorm/commands/MigrationRunCommand.js.map +1 -1
  27. package/lib/typeorm/commands/MigrationShowCommand.js.map +1 -1
  28. package/lib/typeorm/commands/QueryCommand.js.map +1 -1
  29. package/lib/typeorm/commands/SchemaDropCommand.js.map +1 -1
  30. package/lib/typeorm/commands/SchemaLogCommand.js.map +1 -1
  31. package/lib/typeorm/commands/SchemaSyncCommand.js.map +1 -1
  32. package/lib/typeorm/commands/SubscriberCreateCommand.js.map +1 -1
  33. package/lib/typeorm/commands/VersionCommand.js.map +1 -1
  34. package/lib/typeorm/common/DeepPartial.js.map +1 -1
  35. package/lib/typeorm/common/EntityTarget.js.map +1 -1
  36. package/lib/typeorm/common/MixedList.js.map +1 -1
  37. package/lib/typeorm/common/NonNever.js.map +1 -1
  38. package/lib/typeorm/common/ObjectLiteral.js.map +1 -1
  39. package/lib/typeorm/common/ObjectType.js.map +1 -1
  40. package/lib/typeorm/common/RelationType.js.map +1 -1
  41. package/lib/typeorm/connection/BaseConnectionOptions.js.map +1 -1
  42. package/lib/typeorm/connection/Connection.js.map +1 -1
  43. package/lib/typeorm/connection/ConnectionManager.js.map +1 -1
  44. package/lib/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -1
  45. package/lib/typeorm/connection/ConnectionOptions.js.map +1 -1
  46. package/lib/typeorm/connection/ConnectionOptionsReader.js.map +1 -1
  47. package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  48. package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  49. package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  50. package/lib/typeorm/constants.js.map +1 -1
  51. package/lib/typeorm/container.js.map +1 -1
  52. package/lib/typeorm/data-source/BaseDataSourceOptions.js.map +1 -1
  53. package/lib/typeorm/data-source/DataSource.js.map +1 -1
  54. package/lib/typeorm/data-source/DataSourceOptions.js.map +1 -1
  55. package/lib/typeorm/data-source/index.js.map +1 -1
  56. package/lib/typeorm/decorator/Check.js.map +1 -1
  57. package/lib/typeorm/decorator/EntityRepository.js.map +1 -1
  58. package/lib/typeorm/decorator/Exclusion.js.map +1 -1
  59. package/lib/typeorm/decorator/Generated.js.map +1 -1
  60. package/lib/typeorm/decorator/Index.js.map +1 -1
  61. package/lib/typeorm/decorator/Unique.js.map +1 -1
  62. package/lib/typeorm/decorator/columns/Column.js.map +1 -1
  63. package/lib/typeorm/decorator/columns/CreateDateColumn.js.map +1 -1
  64. package/lib/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -1
  65. package/lib/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -1
  66. package/lib/typeorm/decorator/columns/PrimaryColumn.js.map +1 -1
  67. package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  68. package/lib/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -1
  69. package/lib/typeorm/decorator/columns/VersionColumn.js.map +1 -1
  70. package/lib/typeorm/decorator/columns/ViewColumn.js.map +1 -1
  71. package/lib/typeorm/decorator/columns/VirtualColumn.js.map +1 -1
  72. package/lib/typeorm/decorator/entity/ChildEntity.js.map +1 -1
  73. package/lib/typeorm/decorator/entity/Entity.js.map +1 -1
  74. package/lib/typeorm/decorator/entity/TableInheritance.js.map +1 -1
  75. package/lib/typeorm/decorator/entity-view/ViewEntity.js.map +1 -1
  76. package/lib/typeorm/decorator/listeners/AfterInsert.js.map +1 -1
  77. package/lib/typeorm/decorator/listeners/AfterLoad.js.map +1 -1
  78. package/lib/typeorm/decorator/listeners/AfterRecover.js.map +1 -1
  79. package/lib/typeorm/decorator/listeners/AfterRemove.js.map +1 -1
  80. package/lib/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -1
  81. package/lib/typeorm/decorator/listeners/AfterUpdate.js.map +1 -1
  82. package/lib/typeorm/decorator/listeners/BeforeInsert.js.map +1 -1
  83. package/lib/typeorm/decorator/listeners/BeforeRecover.js.map +1 -1
  84. package/lib/typeorm/decorator/listeners/BeforeRemove.js.map +1 -1
  85. package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  86. package/lib/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -1
  87. package/lib/typeorm/decorator/listeners/EventSubscriber.js.map +1 -1
  88. package/lib/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -1
  89. package/lib/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  90. package/lib/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -1
  91. package/lib/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -1
  92. package/lib/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -1
  93. package/lib/typeorm/decorator/options/ColumnOptions.js.map +1 -1
  94. package/lib/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  95. package/lib/typeorm/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  96. package/lib/typeorm/decorator/options/EntityOptions.js.map +1 -1
  97. package/lib/typeorm/decorator/options/IndexOptions.js.map +1 -1
  98. package/lib/typeorm/decorator/options/JoinColumnOptions.js.map +1 -1
  99. package/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  100. package/lib/typeorm/decorator/options/JoinTableOptions.js.map +1 -1
  101. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  102. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  103. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  104. package/lib/typeorm/decorator/options/RelationOptions.js.map +1 -1
  105. package/lib/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -1
  106. package/lib/typeorm/decorator/options/TransactionOptions.js.map +1 -1
  107. package/lib/typeorm/decorator/options/UniqueOptions.js.map +1 -1
  108. package/lib/typeorm/decorator/options/ValueTransformer.js.map +1 -1
  109. package/lib/typeorm/decorator/options/ViewColumnOptions.js.map +1 -1
  110. package/lib/typeorm/decorator/options/ViewEntityOptions.js.map +1 -1
  111. package/lib/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -1
  112. package/lib/typeorm/decorator/relations/JoinColumn.js.map +1 -1
  113. package/lib/typeorm/decorator/relations/JoinTable.js.map +1 -1
  114. package/lib/typeorm/decorator/relations/ManyToMany.js.map +1 -1
  115. package/lib/typeorm/decorator/relations/ManyToOne.js.map +1 -1
  116. package/lib/typeorm/decorator/relations/OneToMany.js.map +1 -1
  117. package/lib/typeorm/decorator/relations/OneToOne.js.map +1 -1
  118. package/lib/typeorm/decorator/relations/RelationCount.js.map +1 -1
  119. package/lib/typeorm/decorator/relations/RelationId.js.map +1 -1
  120. package/lib/typeorm/decorator/tree/Tree.js.map +1 -1
  121. package/lib/typeorm/decorator/tree/TreeChildren.js.map +1 -1
  122. package/lib/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -1
  123. package/lib/typeorm/decorator/tree/TreeParent.js.map +1 -1
  124. package/lib/typeorm/driver/Driver.js.map +1 -1
  125. package/lib/typeorm/driver/DriverFactory.js.map +1 -1
  126. package/lib/typeorm/driver/DriverUtils.js.map +1 -1
  127. package/lib/typeorm/driver/Query.js.map +1 -1
  128. package/lib/typeorm/driver/SqlInMemory.js.map +1 -1
  129. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  130. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  131. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  132. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  133. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  134. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  135. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  136. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  137. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  138. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  139. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  140. package/lib/typeorm/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  141. package/lib/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -1
  142. package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  143. package/lib/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  144. package/lib/typeorm/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  145. package/lib/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -1
  146. package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  147. package/lib/typeorm/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  148. package/lib/typeorm/driver/cordova/CordovaDriver.js.map +1 -1
  149. package/lib/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -1
  150. package/lib/typeorm/driver/expo/ExpoConnectionOptions.js.map +1 -1
  151. package/lib/typeorm/driver/expo/ExpoDriver.js.map +1 -1
  152. package/lib/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -1
  153. package/lib/typeorm/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  154. package/lib/typeorm/driver/mongodb/MongoDriver.js.map +1 -1
  155. package/lib/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -1
  156. package/lib/typeorm/driver/mongodb/typings.js.map +1 -1
  157. package/lib/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  158. package/lib/typeorm/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  159. package/lib/typeorm/driver/mysql/MysqlDriver.js.map +1 -1
  160. package/lib/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -1
  161. package/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  162. package/lib/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -1
  163. package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  164. package/lib/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  165. package/lib/typeorm/driver/oracle/OracleConnectionOptions.js.map +1 -1
  166. package/lib/typeorm/driver/oracle/OracleDriver.js.map +1 -1
  167. package/lib/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -1
  168. package/lib/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  169. package/lib/typeorm/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  170. package/lib/typeorm/driver/postgres/PostgresDriver.js.map +1 -1
  171. package/lib/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -1
  172. package/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  173. package/lib/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -1
  174. package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  175. package/lib/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  176. package/lib/typeorm/driver/sap/SapConnectionOptions.js.map +1 -1
  177. package/lib/typeorm/driver/sap/SapDriver.js.map +1 -1
  178. package/lib/typeorm/driver/sap/SapQueryRunner.js.map +1 -1
  179. package/lib/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  180. package/lib/typeorm/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  181. package/lib/typeorm/driver/spanner/SpannerDriver.js.map +1 -1
  182. package/lib/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -1
  183. package/lib/typeorm/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  184. package/lib/typeorm/driver/sqlite/SqliteDriver.js.map +1 -1
  185. package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  186. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  187. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  188. package/lib/typeorm/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  189. package/lib/typeorm/driver/sqljs/SqljsDriver.js.map +1 -1
  190. package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  191. package/lib/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -1
  192. package/lib/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  193. package/lib/typeorm/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  194. package/lib/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -1
  195. package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  196. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  197. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  198. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  199. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  200. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  201. package/lib/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  202. package/lib/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  203. package/lib/typeorm/driver/types/ColumnTypes.js.map +1 -1
  204. package/lib/typeorm/driver/types/CteCapabilities.js.map +1 -1
  205. package/lib/typeorm/driver/types/DataTypeDefaults.js.map +1 -1
  206. package/lib/typeorm/driver/types/DatabaseType.js.map +1 -1
  207. package/lib/typeorm/driver/types/IsolationLevel.js.map +1 -1
  208. package/lib/typeorm/driver/types/MappedColumnTypes.js.map +1 -1
  209. package/lib/typeorm/driver/types/MetadataTableType.js.map +1 -1
  210. package/lib/typeorm/driver/types/ReplicationMode.js.map +1 -1
  211. package/lib/typeorm/driver/types/UpsertType.js.map +1 -1
  212. package/lib/typeorm/entity-manager/EntityManager.js.map +1 -1
  213. package/lib/typeorm/entity-manager/EntityManagerFactory.js.map +1 -1
  214. package/lib/typeorm/entity-manager/MongoEntityManager.js.map +1 -1
  215. package/lib/typeorm/entity-manager/SqljsEntityManager.js.map +1 -1
  216. package/lib/typeorm/entity-schema/EntitySchema.js.map +1 -1
  217. package/lib/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  218. package/lib/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  219. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  220. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  221. package/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  222. package/lib/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  223. package/lib/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -1
  224. package/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  225. package/lib/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  226. package/lib/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -1
  227. package/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  228. package/lib/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -1
  229. package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  230. package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  231. package/lib/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -1
  232. package/lib/typeorm/error/CannotDetermineEntityError.js.map +1 -1
  233. package/lib/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -1
  234. package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  235. package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  236. package/lib/typeorm/error/CircularRelationsError.js.map +1 -1
  237. package/lib/typeorm/error/ColumnTypeUndefinedError.js.map +1 -1
  238. package/lib/typeorm/error/ConnectionIsNotSetError.js.map +1 -1
  239. package/lib/typeorm/error/ConnectionNotFoundError.js.map +1 -1
  240. package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  241. package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  242. package/lib/typeorm/error/CustomRepositoryNotFoundError.js.map +1 -1
  243. package/lib/typeorm/error/DataTypeNotSupportedError.js.map +1 -1
  244. package/lib/typeorm/error/DriverOptionNotSetError.js.map +1 -1
  245. package/lib/typeorm/error/DriverPackageNotInstalledError.js.map +1 -1
  246. package/lib/typeorm/error/EntityMetadataNotFoundError.js.map +1 -1
  247. package/lib/typeorm/error/EntityNotFoundError.js.map +1 -1
  248. package/lib/typeorm/error/EntityPropertyNotFoundError.js.map +1 -1
  249. package/lib/typeorm/error/FindRelationsNotFoundError.js.map +1 -1
  250. package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  251. package/lib/typeorm/error/InitializedRelationError.js.map +1 -1
  252. package/lib/typeorm/error/InsertValuesMissingError.js.map +1 -1
  253. package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  254. package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  255. package/lib/typeorm/error/MetadataAlreadyExistsError.js.map +1 -1
  256. package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  257. package/lib/typeorm/error/MissingDeleteDateColumnError.js.map +1 -1
  258. package/lib/typeorm/error/MissingDriverError.js.map +1 -1
  259. package/lib/typeorm/error/MissingJoinColumnError.js.map +1 -1
  260. package/lib/typeorm/error/MissingJoinTableError.js.map +1 -1
  261. package/lib/typeorm/error/MissingPrimaryColumnError.js.map +1 -1
  262. package/lib/typeorm/error/MustBeEntityError.js.map +1 -1
  263. package/lib/typeorm/error/NamingStrategyNotFoundError.js.map +1 -1
  264. package/lib/typeorm/error/NestedSetMultipleRootError.js.map +1 -1
  265. package/lib/typeorm/error/NoConnectionForRepositoryError.js.map +1 -1
  266. package/lib/typeorm/error/NoConnectionOptionError.js.map +1 -1
  267. package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  268. package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  269. package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  270. package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  271. package/lib/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -1
  272. package/lib/typeorm/error/PersistedEntityNotFoundError.js.map +1 -1
  273. package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  274. package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  275. package/lib/typeorm/error/QueryFailedError.js.map +1 -1
  276. package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  277. package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  278. package/lib/typeorm/error/RepositoryNotTreeError.js.map +1 -1
  279. package/lib/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -1
  280. package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  281. package/lib/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -1
  282. package/lib/typeorm/error/TransactionAlreadyStartedError.js.map +1 -1
  283. package/lib/typeorm/error/TransactionNotStartedError.js.map +1 -1
  284. package/lib/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -1
  285. package/lib/typeorm/error/TypeORMError.js.map +1 -1
  286. package/lib/typeorm/error/UpdateValuesMissingError.js.map +1 -1
  287. package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  288. package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  289. package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  290. package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  291. package/lib/typeorm/error/index.js.map +1 -1
  292. package/lib/typeorm/find-options/EqualOperator.js.map +1 -1
  293. package/lib/typeorm/find-options/FindManyOptions.js.map +1 -1
  294. package/lib/typeorm/find-options/FindOneOptions.js.map +1 -1
  295. package/lib/typeorm/find-options/FindOperator.js.map +1 -1
  296. package/lib/typeorm/find-options/FindOperatorType.js.map +1 -1
  297. package/lib/typeorm/find-options/FindOptionsOrder.js.map +1 -1
  298. package/lib/typeorm/find-options/FindOptionsRelations.js.map +1 -1
  299. package/lib/typeorm/find-options/FindOptionsSelect.js.map +1 -1
  300. package/lib/typeorm/find-options/FindOptionsUtils.js.map +1 -1
  301. package/lib/typeorm/find-options/FindOptionsWhere.js.map +1 -1
  302. package/lib/typeorm/find-options/FindTreeOptions.js.map +1 -1
  303. package/lib/typeorm/find-options/JoinOptions.js.map +1 -1
  304. package/lib/typeorm/find-options/OrderByCondition.js.map +1 -1
  305. package/lib/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  306. package/lib/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  307. package/lib/typeorm/find-options/operator/And.js.map +1 -1
  308. package/lib/typeorm/find-options/operator/Any.js.map +1 -1
  309. package/lib/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -1
  310. package/lib/typeorm/find-options/operator/ArrayContains.js.map +1 -1
  311. package/lib/typeorm/find-options/operator/ArrayOverlap.js.map +1 -1
  312. package/lib/typeorm/find-options/operator/Between.js.map +1 -1
  313. package/lib/typeorm/find-options/operator/Equal.js.map +1 -1
  314. package/lib/typeorm/find-options/operator/ILike.js.map +1 -1
  315. package/lib/typeorm/find-options/operator/In.js.map +1 -1
  316. package/lib/typeorm/find-options/operator/IsNull.js.map +1 -1
  317. package/lib/typeorm/find-options/operator/LessThan.js.map +1 -1
  318. package/lib/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -1
  319. package/lib/typeorm/find-options/operator/Like.js.map +1 -1
  320. package/lib/typeorm/find-options/operator/MoreThan.js.map +1 -1
  321. package/lib/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -1
  322. package/lib/typeorm/find-options/operator/Not.js.map +1 -1
  323. package/lib/typeorm/find-options/operator/Raw.js.map +1 -1
  324. package/lib/typeorm/globals.js.map +1 -1
  325. package/lib/typeorm/index.js.map +1 -1
  326. package/lib/typeorm/logger/AdvancedConsoleLogger.js.map +1 -1
  327. package/lib/typeorm/logger/DebugLogger.js.map +1 -1
  328. package/lib/typeorm/logger/FileLogger.js.map +1 -1
  329. package/lib/typeorm/logger/Logger.js.map +1 -1
  330. package/lib/typeorm/logger/LoggerFactory.js.map +1 -1
  331. package/lib/typeorm/logger/LoggerOptions.js.map +1 -1
  332. package/lib/typeorm/logger/SimpleConsoleLogger.js.map +1 -1
  333. package/lib/typeorm/metadata/CheckMetadata.js.map +1 -1
  334. package/lib/typeorm/metadata/ColumnMetadata.js.map +1 -1
  335. package/lib/typeorm/metadata/EmbeddedMetadata.js.map +1 -1
  336. package/lib/typeorm/metadata/EntityListenerMetadata.js.map +1 -1
  337. package/lib/typeorm/metadata/EntityMetadata.js.map +1 -1
  338. package/lib/typeorm/metadata/ExclusionMetadata.js.map +1 -1
  339. package/lib/typeorm/metadata/ForeignKeyMetadata.js.map +1 -1
  340. package/lib/typeorm/metadata/IndexMetadata.js.map +1 -1
  341. package/lib/typeorm/metadata/RelationCountMetadata.js.map +1 -1
  342. package/lib/typeorm/metadata/RelationIdMetadata.js.map +1 -1
  343. package/lib/typeorm/metadata/RelationMetadata.js.map +1 -1
  344. package/lib/typeorm/metadata/UniqueMetadata.js.map +1 -1
  345. package/lib/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -1
  346. package/lib/typeorm/metadata/types/DeferrableType.js.map +1 -1
  347. package/lib/typeorm/metadata/types/EventListenerTypes.js.map +1 -1
  348. package/lib/typeorm/metadata/types/OnDeleteType.js.map +1 -1
  349. package/lib/typeorm/metadata/types/OnUpdateType.js.map +1 -1
  350. package/lib/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -1
  351. package/lib/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -1
  352. package/lib/typeorm/metadata/types/RelationTypes.js.map +1 -1
  353. package/lib/typeorm/metadata/types/TableTypes.js.map +1 -1
  354. package/lib/typeorm/metadata/types/TreeTypes.js.map +1 -1
  355. package/lib/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -1
  356. package/lib/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -1
  357. package/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  358. package/lib/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  359. package/lib/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  360. package/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  361. package/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  362. package/lib/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  363. package/lib/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  364. package/lib/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -1
  365. package/lib/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  366. package/lib/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  367. package/lib/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  368. package/lib/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -1
  369. package/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  370. package/lib/typeorm/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  371. package/lib/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  372. package/lib/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -1
  373. package/lib/typeorm/metadata-args/TableMetadataArgs.js.map +1 -1
  374. package/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  375. package/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  376. package/lib/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -1
  377. package/lib/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -1
  378. package/lib/typeorm/metadata-args/types/ColumnMode.js.map +1 -1
  379. package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  380. package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  381. package/lib/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -1
  382. package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  383. package/lib/typeorm/metadata-builder/MetadataUtils.js.map +1 -1
  384. package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  385. package/lib/typeorm/migration/Migration.js.map +1 -1
  386. package/lib/typeorm/migration/MigrationExecutor.js.map +1 -1
  387. package/lib/typeorm/migration/MigrationInterface.js.map +1 -1
  388. package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  389. package/lib/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -1
  390. package/lib/typeorm/persistence/EntityPersistExecutor.js.map +1 -1
  391. package/lib/typeorm/persistence/Subject.js.map +1 -1
  392. package/lib/typeorm/persistence/SubjectChangeMap.js.map +1 -1
  393. package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  394. package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  395. package/lib/typeorm/persistence/SubjectExecutor.js.map +1 -1
  396. package/lib/typeorm/persistence/SubjectTopoligicalSorter.js.map +1 -1
  397. package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  398. package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  399. package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  400. package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  401. package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  402. package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  403. package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  404. package/lib/typeorm/platform/PlatformTools.js.map +1 -1
  405. package/lib/typeorm/query-builder/Alias.js.map +1 -1
  406. package/lib/typeorm/query-builder/Brackets.js.map +1 -1
  407. package/lib/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -1
  408. package/lib/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -1
  409. package/lib/typeorm/query-builder/InsertQueryBuilder.js.map +1 -1
  410. package/lib/typeorm/query-builder/JoinAttribute.js.map +1 -1
  411. package/lib/typeorm/query-builder/JoinOptions.js.map +1 -1
  412. package/lib/typeorm/query-builder/NotBrackets.js.map +1 -1
  413. package/lib/typeorm/query-builder/QueryBuilder.js.map +1 -1
  414. package/lib/typeorm/query-builder/QueryBuilderCte.js.map +1 -1
  415. package/lib/typeorm/query-builder/QueryBuilderUtils.js.map +1 -1
  416. package/lib/typeorm/query-builder/QueryExpressionMap.js.map +1 -1
  417. package/lib/typeorm/query-builder/QueryPartialEntity.js.map +1 -1
  418. package/lib/typeorm/query-builder/RelationIdLoader.js.map +1 -1
  419. package/lib/typeorm/query-builder/RelationLoader.js.map +1 -1
  420. package/lib/typeorm/query-builder/RelationQueryBuilder.js.map +1 -1
  421. package/lib/typeorm/query-builder/RelationRemover.js.map +1 -1
  422. package/lib/typeorm/query-builder/RelationUpdater.js.map +1 -1
  423. package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  424. package/lib/typeorm/query-builder/SelectQuery.js.map +1 -1
  425. package/lib/typeorm/query-builder/SelectQueryBuilder.js.map +1 -1
  426. package/lib/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -1
  427. package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  428. package/lib/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -1
  429. package/lib/typeorm/query-builder/WhereClause.js.map +1 -1
  430. package/lib/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -1
  431. package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  432. package/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  433. package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  434. package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  435. package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  436. package/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  437. package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  438. package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  439. package/lib/typeorm/query-builder/result/DeleteResult.js.map +1 -1
  440. package/lib/typeorm/query-builder/result/InsertResult.js.map +1 -1
  441. package/lib/typeorm/query-builder/result/UpdateResult.js.map +1 -1
  442. package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  443. package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  444. package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  445. package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  446. package/lib/typeorm/query-runner/BaseQueryRunner.js.map +1 -1
  447. package/lib/typeorm/query-runner/QueryLock.js.map +1 -1
  448. package/lib/typeorm/query-runner/QueryResult.js.map +1 -1
  449. package/lib/typeorm/query-runner/QueryRunner.js.map +1 -1
  450. package/lib/typeorm/repository/AbstractRepository.js.map +1 -1
  451. package/lib/typeorm/repository/BaseEntity.js.map +1 -1
  452. package/lib/typeorm/repository/EntityId.js.map +1 -1
  453. package/lib/typeorm/repository/FindTreesOptions.js.map +1 -1
  454. package/lib/typeorm/repository/MongoRepository.js.map +1 -1
  455. package/lib/typeorm/repository/RemoveOptions.js.map +1 -1
  456. package/lib/typeorm/repository/Repository.js.map +1 -1
  457. package/lib/typeorm/repository/SaveOptions.js.map +1 -1
  458. package/lib/typeorm/repository/TreeRepository.js.map +1 -1
  459. package/lib/typeorm/repository/UpsertOptions.js.map +1 -1
  460. package/lib/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -1
  461. package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  462. package/lib/typeorm/schema-builder/SchemaBuilder.js.map +1 -1
  463. package/lib/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -1
  464. package/lib/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -1
  465. package/lib/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -1
  466. package/lib/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  467. package/lib/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -1
  468. package/lib/typeorm/schema-builder/options/TableOptions.js.map +1 -1
  469. package/lib/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -1
  470. package/lib/typeorm/schema-builder/options/ViewOptions.js.map +1 -1
  471. package/lib/typeorm/schema-builder/table/Table.js.map +1 -1
  472. package/lib/typeorm/schema-builder/table/TableCheck.js.map +1 -1
  473. package/lib/typeorm/schema-builder/table/TableColumn.js.map +1 -1
  474. package/lib/typeorm/schema-builder/table/TableExclusion.js.map +1 -1
  475. package/lib/typeorm/schema-builder/table/TableForeignKey.js.map +1 -1
  476. package/lib/typeorm/schema-builder/table/TableIndex.js.map +1 -1
  477. package/lib/typeorm/schema-builder/table/TableUnique.js.map +1 -1
  478. package/lib/typeorm/schema-builder/util/TableUtils.js.map +1 -1
  479. package/lib/typeorm/schema-builder/util/ViewUtils.js.map +1 -1
  480. package/lib/typeorm/schema-builder/view/View.js.map +1 -1
  481. package/lib/typeorm/subscriber/Broadcaster.js.map +1 -1
  482. package/lib/typeorm/subscriber/BroadcasterResult.js.map +1 -1
  483. package/lib/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -1
  484. package/lib/typeorm/subscriber/event/InsertEvent.js.map +1 -1
  485. package/lib/typeorm/subscriber/event/LoadEvent.js.map +1 -1
  486. package/lib/typeorm/subscriber/event/RecoverEvent.js.map +1 -1
  487. package/lib/typeorm/subscriber/event/RemoveEvent.js.map +1 -1
  488. package/lib/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -1
  489. package/lib/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -1
  490. package/lib/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  491. package/lib/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -1
  492. package/lib/typeorm/subscriber/event/UpdateEvent.js.map +1 -1
  493. package/lib/typeorm/util/ApplyValueTransformers.js.map +1 -1
  494. package/lib/typeorm/util/DateUtils.js.map +1 -1
  495. package/lib/typeorm/util/DepGraph.js.map +1 -1
  496. package/lib/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -1
  497. package/lib/typeorm/util/ImportUtils.js.map +1 -1
  498. package/lib/typeorm/util/InstanceChecker.js.map +1 -1
  499. package/lib/typeorm/util/ObjectUtils.js.map +1 -1
  500. package/lib/typeorm/util/OrmUtils.js.map +1 -1
  501. package/lib/typeorm/util/PathUtils.js.map +1 -1
  502. package/lib/typeorm/util/RandomGenerator.js.map +1 -1
  503. package/lib/typeorm/util/StringUtils.js.map +1 -1
  504. package/lib/typeorm/util/TreeRepositoryUtils.js.map +1 -1
  505. package/lib/typeorm/util/VersionUtils.js.map +1 -1
  506. package/lib/typeorm/util/escapeRegExp.js.map +1 -1
  507. package/migrations/index.js.map +1 -1
  508. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  509. package/package.json +2 -2
  510. package/src.d.ts +3 -3
  511. package/taon.jsonc +7 -9
  512. package/tmp-environment.json +4 -3
  513. package/websql/README.md +24 -24
  514. package/browser/esm2022/lib/index.mjs +0 -4
  515. package/browser/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
  516. package/browser/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
  517. package/browser/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
  518. package/browser/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
  519. package/browser/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
  520. package/browser/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
  521. package/browser/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
  522. package/browser/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
  523. package/browser/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
  524. package/browser/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
  525. package/browser/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
  526. package/browser/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
  527. package/browser/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
  528. package/browser/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
  529. package/browser/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
  530. package/browser/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
  531. package/browser/esm2022/lib/typeorm/constants.mjs +0 -4
  532. package/browser/esm2022/lib/typeorm/container.mjs +0 -57
  533. package/browser/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
  534. package/browser/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
  535. package/browser/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
  536. package/browser/esm2022/lib/typeorm/data-source/index.mjs +0 -4
  537. package/browser/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
  538. package/browser/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
  539. package/browser/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
  540. package/browser/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
  541. package/browser/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
  542. package/browser/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
  543. package/browser/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
  544. package/browser/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
  545. package/browser/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
  546. package/browser/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
  547. package/browser/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
  548. package/browser/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
  549. package/browser/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
  550. package/browser/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
  551. package/browser/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
  552. package/browser/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
  553. package/browser/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
  554. package/browser/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
  555. package/browser/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
  556. package/browser/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
  557. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
  558. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
  559. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
  560. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
  561. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
  562. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
  563. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
  564. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
  565. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
  566. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
  567. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
  568. package/browser/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
  569. package/browser/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
  570. package/browser/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
  571. package/browser/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
  572. package/browser/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
  573. package/browser/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
  574. package/browser/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
  575. package/browser/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
  576. package/browser/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
  577. package/browser/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
  578. package/browser/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
  579. package/browser/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
  580. package/browser/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
  581. package/browser/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
  582. package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
  583. package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
  584. package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
  585. package/browser/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
  586. package/browser/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
  587. package/browser/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
  588. package/browser/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
  589. package/browser/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
  590. package/browser/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
  591. package/browser/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
  592. package/browser/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
  593. package/browser/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
  594. package/browser/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
  595. package/browser/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
  596. package/browser/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
  597. package/browser/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
  598. package/browser/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
  599. package/browser/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
  600. package/browser/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
  601. package/browser/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
  602. package/browser/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
  603. package/browser/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
  604. package/browser/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
  605. package/browser/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
  606. package/browser/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
  607. package/browser/esm2022/lib/typeorm/driver/Query.mjs +0 -13
  608. package/browser/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
  609. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
  610. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
  611. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
  612. package/browser/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
  613. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
  614. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
  615. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
  616. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
  617. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
  618. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
  619. package/browser/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
  620. package/browser/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
  621. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
  622. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
  623. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
  624. package/browser/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
  625. package/browser/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
  626. package/browser/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
  627. package/browser/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
  628. package/browser/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
  629. package/browser/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
  630. package/browser/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
  631. package/browser/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
  632. package/browser/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
  633. package/browser/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
  634. package/browser/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
  635. package/browser/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
  636. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
  637. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
  638. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
  639. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
  640. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
  641. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
  642. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
  643. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
  644. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
  645. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
  646. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
  647. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
  648. package/browser/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
  649. package/browser/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
  650. package/browser/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
  651. package/browser/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
  652. package/browser/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
  653. package/browser/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
  654. package/browser/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
  655. package/browser/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
  656. package/browser/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
  657. package/browser/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
  658. package/browser/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
  659. package/browser/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
  660. package/browser/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
  661. package/browser/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
  662. package/browser/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
  663. package/browser/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
  664. package/browser/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
  665. package/browser/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
  666. package/browser/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
  667. package/browser/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
  668. package/browser/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
  669. package/browser/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
  670. package/browser/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
  671. package/browser/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
  672. package/browser/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
  673. package/browser/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
  674. package/browser/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
  675. package/browser/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
  676. package/browser/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
  677. package/browser/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
  678. package/browser/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
  679. package/browser/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
  680. package/browser/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
  681. package/browser/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
  682. package/browser/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
  683. package/browser/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
  684. package/browser/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
  685. package/browser/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
  686. package/browser/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
  687. package/browser/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
  688. package/browser/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
  689. package/browser/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
  690. package/browser/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
  691. package/browser/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
  692. package/browser/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
  693. package/browser/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
  694. package/browser/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
  695. package/browser/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
  696. package/browser/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
  697. package/browser/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
  698. package/browser/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
  699. package/browser/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
  700. package/browser/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
  701. package/browser/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
  702. package/browser/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
  703. package/browser/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
  704. package/browser/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
  705. package/browser/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
  706. package/browser/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
  707. package/browser/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
  708. package/browser/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
  709. package/browser/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
  710. package/browser/esm2022/lib/typeorm/error/index.mjs +0 -63
  711. package/browser/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
  712. package/browser/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
  713. package/browser/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
  714. package/browser/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
  715. package/browser/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
  716. package/browser/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
  717. package/browser/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
  718. package/browser/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
  719. package/browser/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
  720. package/browser/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
  721. package/browser/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
  722. package/browser/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
  723. package/browser/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
  724. package/browser/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
  725. package/browser/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
  726. package/browser/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
  727. package/browser/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
  728. package/browser/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
  729. package/browser/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
  730. package/browser/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
  731. package/browser/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
  732. package/browser/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
  733. package/browser/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
  734. package/browser/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
  735. package/browser/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
  736. package/browser/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
  737. package/browser/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
  738. package/browser/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
  739. package/browser/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
  740. package/browser/esm2022/lib/typeorm/globals.mjs +0 -165
  741. package/browser/esm2022/lib/typeorm/index.mjs +0 -157
  742. package/browser/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
  743. package/browser/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
  744. package/browser/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
  745. package/browser/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
  746. package/browser/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
  747. package/browser/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
  748. package/browser/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
  749. package/browser/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
  750. package/browser/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
  751. package/browser/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
  752. package/browser/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
  753. package/browser/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
  754. package/browser/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
  755. package/browser/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
  756. package/browser/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
  757. package/browser/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
  758. package/browser/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
  759. package/browser/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
  760. package/browser/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
  761. package/browser/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
  762. package/browser/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
  763. package/browser/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
  764. package/browser/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
  765. package/browser/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
  766. package/browser/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
  767. package/browser/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
  768. package/browser/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
  769. package/browser/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
  770. package/browser/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
  771. package/browser/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
  772. package/browser/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
  773. package/browser/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
  774. package/browser/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
  775. package/browser/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
  776. package/browser/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
  777. package/browser/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
  778. package/browser/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
  779. package/browser/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
  780. package/browser/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
  781. package/browser/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
  782. package/browser/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
  783. package/browser/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
  784. package/browser/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
  785. package/browser/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
  786. package/browser/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
  787. package/browser/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
  788. package/browser/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
  789. package/browser/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
  790. package/browser/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
  791. package/browser/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
  792. package/browser/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
  793. package/browser/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
  794. package/browser/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
  795. package/browser/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
  796. package/browser/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
  797. package/browser/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
  798. package/browser/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
  799. package/browser/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
  800. package/browser/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
  801. package/browser/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
  802. package/browser/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
  803. package/browser/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
  804. package/browser/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
  805. package/browser/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
  806. package/browser/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
  807. package/browser/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
  808. package/browser/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
  809. package/browser/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
  810. package/browser/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
  811. package/browser/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
  812. package/browser/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
  813. package/browser/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
  814. package/browser/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
  815. package/browser/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
  816. package/browser/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
  817. package/browser/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
  818. package/browser/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
  819. package/browser/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -346
  820. package/browser/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
  821. package/browser/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
  822. package/browser/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
  823. package/browser/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
  824. package/browser/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
  825. package/browser/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
  826. package/browser/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
  827. package/browser/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
  828. package/browser/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
  829. package/browser/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
  830. package/browser/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
  831. package/browser/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
  832. package/browser/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
  833. package/browser/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
  834. package/browser/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
  835. package/browser/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
  836. package/browser/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
  837. package/browser/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
  838. package/browser/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
  839. package/browser/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
  840. package/browser/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
  841. package/browser/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
  842. package/browser/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
  843. package/browser/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
  844. package/browser/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
  845. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
  846. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
  847. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
  848. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
  849. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
  850. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
  851. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
  852. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
  853. package/browser/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
  854. package/browser/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
  855. package/browser/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
  856. package/browser/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
  857. package/browser/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
  858. package/browser/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
  859. package/browser/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
  860. package/browser/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
  861. package/browser/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
  862. package/browser/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
  863. package/browser/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
  864. package/browser/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
  865. package/browser/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
  866. package/browser/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
  867. package/browser/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
  868. package/browser/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
  869. package/browser/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
  870. package/browser/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
  871. package/browser/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
  872. package/browser/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
  873. package/browser/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
  874. package/browser/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
  875. package/browser/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
  876. package/browser/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
  877. package/browser/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
  878. package/browser/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
  879. package/browser/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
  880. package/browser/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
  881. package/browser/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
  882. package/browser/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
  883. package/browser/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
  884. package/browser/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
  885. package/browser/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
  886. package/browser/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
  887. package/browser/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
  888. package/browser/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
  889. package/browser/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
  890. package/browser/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
  891. package/browser/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
  892. package/browser/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
  893. package/browser/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
  894. package/browser/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
  895. package/browser/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
  896. package/browser/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
  897. package/browser/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
  898. package/browser/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
  899. package/browser/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
  900. package/browser/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
  901. package/browser/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
  902. package/browser/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
  903. package/browser/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
  904. package/browser/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
  905. package/browser/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
  906. package/browser/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
  907. package/browser/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
  908. package/browser/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
  909. package/browser/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
  910. package/browser/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
  911. package/browser/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
  912. package/browser/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
  913. package/browser/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
  914. package/browser/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
  915. package/browser/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
  916. package/browser/esm2022/public-api.mjs +0 -2
  917. package/browser/esm2022/taon-typeorm.mjs +0 -5
  918. package/client/esm2022/lib/index.mjs +0 -4
  919. package/client/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
  920. package/client/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
  921. package/client/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
  922. package/client/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
  923. package/client/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
  924. package/client/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
  925. package/client/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
  926. package/client/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
  927. package/client/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
  928. package/client/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
  929. package/client/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
  930. package/client/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
  931. package/client/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
  932. package/client/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
  933. package/client/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
  934. package/client/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
  935. package/client/esm2022/lib/typeorm/constants.mjs +0 -4
  936. package/client/esm2022/lib/typeorm/container.mjs +0 -57
  937. package/client/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
  938. package/client/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
  939. package/client/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
  940. package/client/esm2022/lib/typeorm/data-source/index.mjs +0 -4
  941. package/client/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
  942. package/client/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
  943. package/client/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
  944. package/client/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
  945. package/client/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
  946. package/client/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
  947. package/client/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
  948. package/client/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
  949. package/client/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
  950. package/client/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
  951. package/client/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
  952. package/client/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
  953. package/client/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
  954. package/client/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
  955. package/client/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
  956. package/client/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
  957. package/client/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
  958. package/client/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
  959. package/client/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
  960. package/client/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
  961. package/client/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
  962. package/client/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
  963. package/client/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
  964. package/client/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
  965. package/client/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
  966. package/client/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
  967. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
  968. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
  969. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
  970. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
  971. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
  972. package/client/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
  973. package/client/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
  974. package/client/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
  975. package/client/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
  976. package/client/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
  977. package/client/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
  978. package/client/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
  979. package/client/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
  980. package/client/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
  981. package/client/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
  982. package/client/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
  983. package/client/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
  984. package/client/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
  985. package/client/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
  986. package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
  987. package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
  988. package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
  989. package/client/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
  990. package/client/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
  991. package/client/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
  992. package/client/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
  993. package/client/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
  994. package/client/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
  995. package/client/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
  996. package/client/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
  997. package/client/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
  998. package/client/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
  999. package/client/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
  1000. package/client/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
  1001. package/client/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
  1002. package/client/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
  1003. package/client/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
  1004. package/client/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
  1005. package/client/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
  1006. package/client/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
  1007. package/client/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
  1008. package/client/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
  1009. package/client/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
  1010. package/client/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
  1011. package/client/esm2022/lib/typeorm/driver/Query.mjs +0 -13
  1012. package/client/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
  1013. package/client/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
  1014. package/client/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
  1015. package/client/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
  1016. package/client/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
  1017. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
  1018. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
  1019. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
  1020. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
  1021. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
  1022. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
  1023. package/client/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
  1024. package/client/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
  1025. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
  1026. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
  1027. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
  1028. package/client/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
  1029. package/client/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
  1030. package/client/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
  1031. package/client/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
  1032. package/client/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
  1033. package/client/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
  1034. package/client/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
  1035. package/client/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
  1036. package/client/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
  1037. package/client/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
  1038. package/client/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
  1039. package/client/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
  1040. package/client/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
  1041. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
  1042. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
  1043. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
  1044. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
  1045. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
  1046. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
  1047. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
  1048. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
  1049. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
  1050. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
  1051. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
  1052. package/client/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
  1053. package/client/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
  1054. package/client/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
  1055. package/client/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
  1056. package/client/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
  1057. package/client/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
  1058. package/client/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
  1059. package/client/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
  1060. package/client/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
  1061. package/client/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
  1062. package/client/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
  1063. package/client/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
  1064. package/client/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
  1065. package/client/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
  1066. package/client/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
  1067. package/client/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
  1068. package/client/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
  1069. package/client/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
  1070. package/client/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
  1071. package/client/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
  1072. package/client/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
  1073. package/client/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
  1074. package/client/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
  1075. package/client/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
  1076. package/client/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
  1077. package/client/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
  1078. package/client/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
  1079. package/client/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
  1080. package/client/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
  1081. package/client/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
  1082. package/client/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
  1083. package/client/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
  1084. package/client/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
  1085. package/client/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
  1086. package/client/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
  1087. package/client/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
  1088. package/client/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
  1089. package/client/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
  1090. package/client/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
  1091. package/client/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
  1092. package/client/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
  1093. package/client/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
  1094. package/client/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
  1095. package/client/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
  1096. package/client/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
  1097. package/client/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
  1098. package/client/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
  1099. package/client/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
  1100. package/client/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
  1101. package/client/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
  1102. package/client/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
  1103. package/client/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
  1104. package/client/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
  1105. package/client/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
  1106. package/client/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
  1107. package/client/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
  1108. package/client/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
  1109. package/client/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
  1110. package/client/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
  1111. package/client/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
  1112. package/client/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
  1113. package/client/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
  1114. package/client/esm2022/lib/typeorm/error/index.mjs +0 -63
  1115. package/client/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
  1116. package/client/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
  1117. package/client/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
  1118. package/client/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
  1119. package/client/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
  1120. package/client/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
  1121. package/client/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
  1122. package/client/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
  1123. package/client/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
  1124. package/client/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
  1125. package/client/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
  1126. package/client/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
  1127. package/client/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
  1128. package/client/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
  1129. package/client/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
  1130. package/client/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
  1131. package/client/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
  1132. package/client/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
  1133. package/client/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
  1134. package/client/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
  1135. package/client/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
  1136. package/client/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
  1137. package/client/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
  1138. package/client/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
  1139. package/client/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
  1140. package/client/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
  1141. package/client/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
  1142. package/client/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
  1143. package/client/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
  1144. package/client/esm2022/lib/typeorm/globals.mjs +0 -165
  1145. package/client/esm2022/lib/typeorm/index.mjs +0 -157
  1146. package/client/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
  1147. package/client/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
  1148. package/client/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
  1149. package/client/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
  1150. package/client/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
  1151. package/client/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
  1152. package/client/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
  1153. package/client/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
  1154. package/client/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
  1155. package/client/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
  1156. package/client/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
  1157. package/client/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
  1158. package/client/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
  1159. package/client/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
  1160. package/client/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
  1161. package/client/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
  1162. package/client/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
  1163. package/client/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
  1164. package/client/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
  1165. package/client/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
  1166. package/client/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
  1167. package/client/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
  1168. package/client/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
  1169. package/client/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
  1170. package/client/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
  1171. package/client/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
  1172. package/client/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
  1173. package/client/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
  1174. package/client/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
  1175. package/client/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
  1176. package/client/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
  1177. package/client/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
  1178. package/client/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
  1179. package/client/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
  1180. package/client/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
  1181. package/client/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
  1182. package/client/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
  1183. package/client/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
  1184. package/client/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
  1185. package/client/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
  1186. package/client/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
  1187. package/client/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
  1188. package/client/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
  1189. package/client/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
  1190. package/client/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
  1191. package/client/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
  1192. package/client/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
  1193. package/client/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
  1194. package/client/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
  1195. package/client/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
  1196. package/client/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
  1197. package/client/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
  1198. package/client/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
  1199. package/client/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
  1200. package/client/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
  1201. package/client/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
  1202. package/client/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
  1203. package/client/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
  1204. package/client/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
  1205. package/client/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
  1206. package/client/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
  1207. package/client/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
  1208. package/client/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
  1209. package/client/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
  1210. package/client/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
  1211. package/client/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
  1212. package/client/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
  1213. package/client/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
  1214. package/client/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
  1215. package/client/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
  1216. package/client/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
  1217. package/client/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
  1218. package/client/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
  1219. package/client/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
  1220. package/client/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
  1221. package/client/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
  1222. package/client/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
  1223. package/client/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -346
  1224. package/client/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
  1225. package/client/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
  1226. package/client/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
  1227. package/client/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
  1228. package/client/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
  1229. package/client/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
  1230. package/client/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
  1231. package/client/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
  1232. package/client/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
  1233. package/client/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
  1234. package/client/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
  1235. package/client/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
  1236. package/client/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
  1237. package/client/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
  1238. package/client/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
  1239. package/client/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
  1240. package/client/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
  1241. package/client/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
  1242. package/client/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
  1243. package/client/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
  1244. package/client/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
  1245. package/client/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
  1246. package/client/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
  1247. package/client/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
  1248. package/client/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
  1249. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
  1250. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
  1251. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
  1252. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
  1253. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
  1254. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
  1255. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
  1256. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
  1257. package/client/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
  1258. package/client/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
  1259. package/client/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
  1260. package/client/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
  1261. package/client/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
  1262. package/client/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
  1263. package/client/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
  1264. package/client/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
  1265. package/client/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
  1266. package/client/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
  1267. package/client/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
  1268. package/client/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
  1269. package/client/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
  1270. package/client/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
  1271. package/client/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
  1272. package/client/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
  1273. package/client/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
  1274. package/client/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
  1275. package/client/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
  1276. package/client/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
  1277. package/client/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
  1278. package/client/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
  1279. package/client/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
  1280. package/client/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
  1281. package/client/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
  1282. package/client/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
  1283. package/client/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
  1284. package/client/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
  1285. package/client/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
  1286. package/client/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
  1287. package/client/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
  1288. package/client/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
  1289. package/client/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
  1290. package/client/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
  1291. package/client/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
  1292. package/client/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
  1293. package/client/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
  1294. package/client/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
  1295. package/client/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
  1296. package/client/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
  1297. package/client/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
  1298. package/client/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
  1299. package/client/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
  1300. package/client/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
  1301. package/client/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
  1302. package/client/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
  1303. package/client/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
  1304. package/client/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
  1305. package/client/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
  1306. package/client/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
  1307. package/client/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
  1308. package/client/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
  1309. package/client/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
  1310. package/client/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
  1311. package/client/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
  1312. package/client/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
  1313. package/client/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
  1314. package/client/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
  1315. package/client/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
  1316. package/client/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
  1317. package/client/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
  1318. package/client/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
  1319. package/client/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
  1320. package/client/esm2022/public-api.mjs +0 -2
  1321. package/client/esm2022/taon-typeorm.mjs +0 -5
  1322. package/websql/esm2022/lib/index.mjs +0 -4
  1323. package/websql/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
  1324. package/websql/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
  1325. package/websql/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
  1326. package/websql/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
  1327. package/websql/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
  1328. package/websql/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
  1329. package/websql/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
  1330. package/websql/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
  1331. package/websql/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
  1332. package/websql/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
  1333. package/websql/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
  1334. package/websql/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
  1335. package/websql/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
  1336. package/websql/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
  1337. package/websql/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
  1338. package/websql/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
  1339. package/websql/esm2022/lib/typeorm/constants.mjs +0 -4
  1340. package/websql/esm2022/lib/typeorm/container.mjs +0 -57
  1341. package/websql/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
  1342. package/websql/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
  1343. package/websql/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
  1344. package/websql/esm2022/lib/typeorm/data-source/index.mjs +0 -4
  1345. package/websql/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
  1346. package/websql/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
  1347. package/websql/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
  1348. package/websql/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
  1349. package/websql/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
  1350. package/websql/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
  1351. package/websql/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
  1352. package/websql/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
  1353. package/websql/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
  1354. package/websql/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
  1355. package/websql/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
  1356. package/websql/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
  1357. package/websql/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
  1358. package/websql/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
  1359. package/websql/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
  1360. package/websql/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
  1361. package/websql/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
  1362. package/websql/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
  1363. package/websql/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
  1364. package/websql/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
  1365. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
  1366. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
  1367. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
  1368. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
  1369. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
  1370. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
  1371. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
  1372. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
  1373. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
  1374. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
  1375. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
  1376. package/websql/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
  1377. package/websql/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
  1378. package/websql/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
  1379. package/websql/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
  1380. package/websql/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
  1381. package/websql/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
  1382. package/websql/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
  1383. package/websql/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
  1384. package/websql/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
  1385. package/websql/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
  1386. package/websql/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
  1387. package/websql/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
  1388. package/websql/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
  1389. package/websql/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
  1390. package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
  1391. package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
  1392. package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
  1393. package/websql/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
  1394. package/websql/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
  1395. package/websql/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
  1396. package/websql/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
  1397. package/websql/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
  1398. package/websql/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
  1399. package/websql/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
  1400. package/websql/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
  1401. package/websql/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
  1402. package/websql/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
  1403. package/websql/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
  1404. package/websql/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
  1405. package/websql/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
  1406. package/websql/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
  1407. package/websql/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
  1408. package/websql/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
  1409. package/websql/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
  1410. package/websql/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
  1411. package/websql/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
  1412. package/websql/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
  1413. package/websql/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
  1414. package/websql/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
  1415. package/websql/esm2022/lib/typeorm/driver/Query.mjs +0 -13
  1416. package/websql/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
  1417. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
  1418. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
  1419. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
  1420. package/websql/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
  1421. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
  1422. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
  1423. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
  1424. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
  1425. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
  1426. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
  1427. package/websql/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
  1428. package/websql/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
  1429. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
  1430. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
  1431. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
  1432. package/websql/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
  1433. package/websql/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
  1434. package/websql/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
  1435. package/websql/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
  1436. package/websql/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
  1437. package/websql/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
  1438. package/websql/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
  1439. package/websql/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
  1440. package/websql/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
  1441. package/websql/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
  1442. package/websql/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
  1443. package/websql/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
  1444. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
  1445. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
  1446. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
  1447. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
  1448. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
  1449. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
  1450. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
  1451. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
  1452. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
  1453. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
  1454. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
  1455. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
  1456. package/websql/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
  1457. package/websql/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
  1458. package/websql/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
  1459. package/websql/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
  1460. package/websql/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
  1461. package/websql/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
  1462. package/websql/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
  1463. package/websql/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
  1464. package/websql/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
  1465. package/websql/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
  1466. package/websql/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
  1467. package/websql/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
  1468. package/websql/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
  1469. package/websql/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
  1470. package/websql/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
  1471. package/websql/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
  1472. package/websql/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
  1473. package/websql/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
  1474. package/websql/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
  1475. package/websql/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
  1476. package/websql/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
  1477. package/websql/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
  1478. package/websql/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
  1479. package/websql/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
  1480. package/websql/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
  1481. package/websql/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
  1482. package/websql/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
  1483. package/websql/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
  1484. package/websql/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
  1485. package/websql/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
  1486. package/websql/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
  1487. package/websql/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
  1488. package/websql/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
  1489. package/websql/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
  1490. package/websql/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
  1491. package/websql/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
  1492. package/websql/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
  1493. package/websql/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
  1494. package/websql/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
  1495. package/websql/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
  1496. package/websql/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
  1497. package/websql/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
  1498. package/websql/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
  1499. package/websql/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
  1500. package/websql/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
  1501. package/websql/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
  1502. package/websql/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
  1503. package/websql/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
  1504. package/websql/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
  1505. package/websql/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
  1506. package/websql/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
  1507. package/websql/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
  1508. package/websql/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
  1509. package/websql/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
  1510. package/websql/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
  1511. package/websql/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
  1512. package/websql/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
  1513. package/websql/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
  1514. package/websql/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
  1515. package/websql/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
  1516. package/websql/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
  1517. package/websql/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
  1518. package/websql/esm2022/lib/typeorm/error/index.mjs +0 -63
  1519. package/websql/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
  1520. package/websql/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
  1521. package/websql/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
  1522. package/websql/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
  1523. package/websql/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
  1524. package/websql/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
  1525. package/websql/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
  1526. package/websql/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
  1527. package/websql/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
  1528. package/websql/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
  1529. package/websql/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
  1530. package/websql/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
  1531. package/websql/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
  1532. package/websql/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
  1533. package/websql/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
  1534. package/websql/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
  1535. package/websql/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
  1536. package/websql/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
  1537. package/websql/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
  1538. package/websql/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
  1539. package/websql/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
  1540. package/websql/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
  1541. package/websql/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
  1542. package/websql/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
  1543. package/websql/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
  1544. package/websql/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
  1545. package/websql/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
  1546. package/websql/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
  1547. package/websql/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
  1548. package/websql/esm2022/lib/typeorm/globals.mjs +0 -165
  1549. package/websql/esm2022/lib/typeorm/index.mjs +0 -157
  1550. package/websql/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
  1551. package/websql/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
  1552. package/websql/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
  1553. package/websql/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
  1554. package/websql/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
  1555. package/websql/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
  1556. package/websql/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
  1557. package/websql/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
  1558. package/websql/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
  1559. package/websql/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
  1560. package/websql/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
  1561. package/websql/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
  1562. package/websql/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
  1563. package/websql/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
  1564. package/websql/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
  1565. package/websql/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
  1566. package/websql/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
  1567. package/websql/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
  1568. package/websql/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
  1569. package/websql/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
  1570. package/websql/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
  1571. package/websql/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
  1572. package/websql/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
  1573. package/websql/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
  1574. package/websql/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
  1575. package/websql/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
  1576. package/websql/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
  1577. package/websql/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
  1578. package/websql/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
  1579. package/websql/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
  1580. package/websql/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
  1581. package/websql/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
  1582. package/websql/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
  1583. package/websql/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
  1584. package/websql/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
  1585. package/websql/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
  1586. package/websql/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
  1587. package/websql/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
  1588. package/websql/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
  1589. package/websql/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
  1590. package/websql/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
  1591. package/websql/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
  1592. package/websql/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
  1593. package/websql/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
  1594. package/websql/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
  1595. package/websql/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
  1596. package/websql/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
  1597. package/websql/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
  1598. package/websql/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
  1599. package/websql/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
  1600. package/websql/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
  1601. package/websql/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
  1602. package/websql/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
  1603. package/websql/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
  1604. package/websql/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
  1605. package/websql/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
  1606. package/websql/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
  1607. package/websql/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
  1608. package/websql/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
  1609. package/websql/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
  1610. package/websql/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
  1611. package/websql/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
  1612. package/websql/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
  1613. package/websql/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
  1614. package/websql/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
  1615. package/websql/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
  1616. package/websql/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
  1617. package/websql/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
  1618. package/websql/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
  1619. package/websql/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
  1620. package/websql/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
  1621. package/websql/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
  1622. package/websql/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
  1623. package/websql/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
  1624. package/websql/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
  1625. package/websql/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
  1626. package/websql/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
  1627. package/websql/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -331
  1628. package/websql/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
  1629. package/websql/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
  1630. package/websql/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
  1631. package/websql/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
  1632. package/websql/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
  1633. package/websql/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
  1634. package/websql/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
  1635. package/websql/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
  1636. package/websql/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
  1637. package/websql/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
  1638. package/websql/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
  1639. package/websql/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
  1640. package/websql/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
  1641. package/websql/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
  1642. package/websql/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
  1643. package/websql/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
  1644. package/websql/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
  1645. package/websql/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
  1646. package/websql/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
  1647. package/websql/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
  1648. package/websql/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
  1649. package/websql/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
  1650. package/websql/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
  1651. package/websql/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
  1652. package/websql/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
  1653. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
  1654. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
  1655. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
  1656. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
  1657. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
  1658. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
  1659. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
  1660. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
  1661. package/websql/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
  1662. package/websql/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
  1663. package/websql/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
  1664. package/websql/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
  1665. package/websql/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
  1666. package/websql/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
  1667. package/websql/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
  1668. package/websql/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
  1669. package/websql/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
  1670. package/websql/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
  1671. package/websql/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
  1672. package/websql/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
  1673. package/websql/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
  1674. package/websql/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
  1675. package/websql/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
  1676. package/websql/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
  1677. package/websql/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
  1678. package/websql/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
  1679. package/websql/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
  1680. package/websql/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
  1681. package/websql/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
  1682. package/websql/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
  1683. package/websql/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
  1684. package/websql/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
  1685. package/websql/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
  1686. package/websql/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
  1687. package/websql/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
  1688. package/websql/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
  1689. package/websql/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
  1690. package/websql/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
  1691. package/websql/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
  1692. package/websql/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
  1693. package/websql/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
  1694. package/websql/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
  1695. package/websql/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
  1696. package/websql/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
  1697. package/websql/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
  1698. package/websql/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
  1699. package/websql/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
  1700. package/websql/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
  1701. package/websql/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
  1702. package/websql/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
  1703. package/websql/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
  1704. package/websql/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
  1705. package/websql/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
  1706. package/websql/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
  1707. package/websql/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
  1708. package/websql/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
  1709. package/websql/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
  1710. package/websql/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
  1711. package/websql/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
  1712. package/websql/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
  1713. package/websql/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
  1714. package/websql/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
  1715. package/websql/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
  1716. package/websql/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
  1717. package/websql/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
  1718. package/websql/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
  1719. package/websql/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
  1720. package/websql/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
  1721. package/websql/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
  1722. package/websql/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
  1723. package/websql/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
  1724. package/websql/esm2022/public-api.mjs +0 -2
  1725. package/websql/esm2022/taon-typeorm.mjs +0 -5
@@ -1,721 +0,0 @@
1
- import { SubjectTopoligicalSorter } from "./SubjectTopoligicalSorter";
2
- import { SubjectChangedColumnsComputer } from "./SubjectChangedColumnsComputer";
3
- import { SubjectWithoutIdentifierError } from "../error/SubjectWithoutIdentifierError";
4
- import { SubjectRemovedAndUpdatedError } from "../error/SubjectRemovedAndUpdatedError";
5
- import { BroadcasterResult } from "../subscriber/BroadcasterResult";
6
- import { NestedSetSubjectExecutor } from "./tree/NestedSetSubjectExecutor";
7
- import { ClosureSubjectExecutor } from "./tree/ClosureSubjectExecutor";
8
- import { MaterializedPathSubjectExecutor } from "./tree/MaterializedPathSubjectExecutor";
9
- import { OrmUtils } from "../util/OrmUtils";
10
- import { ObjectUtils } from "../util/ObjectUtils";
11
- /**
12
- * Executes all database operations (inserts, updated, deletes) that must be executed
13
- * with given persistence subjects.
14
- */
15
- export class SubjectExecutor {
16
- constructor(queryRunner, subjects, options) {
17
- /**
18
- * Indicates if executor has any operations to execute (e.g. has insert / update / delete operations to be executed).
19
- */
20
- this.hasExecutableOperations = false;
21
- /**
22
- * Subjects that must be inserted.
23
- */
24
- this.insertSubjects = [];
25
- /**
26
- * Subjects that must be updated.
27
- */
28
- this.updateSubjects = [];
29
- /**
30
- * Subjects that must be removed.
31
- */
32
- this.removeSubjects = [];
33
- /**
34
- * Subjects that must be soft-removed.
35
- */
36
- this.softRemoveSubjects = [];
37
- /**
38
- * Subjects that must be recovered.
39
- */
40
- this.recoverSubjects = [];
41
- this.queryRunner = queryRunner;
42
- this.allSubjects = subjects;
43
- this.options = options;
44
- this.validate();
45
- this.recompute();
46
- }
47
- /**
48
- * Executes all operations over given array of subjects.
49
- * Executes queries using given query runner.
50
- */
51
- async execute() {
52
- let broadcasterResult = undefined;
53
- if (!this.options || this.options.listeners !== false) {
54
- broadcasterResult = this.broadcastBeforeEventsForAll();
55
- if (broadcasterResult.promises.length > 0)
56
- await Promise.all(broadcasterResult.promises);
57
- }
58
- if (broadcasterResult && broadcasterResult.count > 0) {
59
- this.insertSubjects.forEach((subject) => subject.recompute());
60
- this.updateSubjects.forEach((subject) => subject.recompute());
61
- this.removeSubjects.forEach((subject) => subject.recompute());
62
- this.softRemoveSubjects.forEach((subject) => subject.recompute());
63
- this.recoverSubjects.forEach((subject) => subject.recompute());
64
- this.recompute();
65
- }
66
- this.insertSubjects = new SubjectTopoligicalSorter(this.insertSubjects).sort("insert");
67
- await this.executeInsertOperations();
68
- this.updateSubjects = this.allSubjects.filter((subject) => subject.mustBeUpdated);
69
- await this.executeUpdateOperations();
70
- this.removeSubjects = new SubjectTopoligicalSorter(this.removeSubjects).sort("delete");
71
- await this.executeRemoveOperations();
72
- this.softRemoveSubjects = this.allSubjects.filter((subject) => subject.mustBeSoftRemoved);
73
- await this.executeSoftRemoveOperations();
74
- this.recoverSubjects = this.allSubjects.filter((subject) => subject.mustBeRecovered);
75
- await this.executeRecoverOperations();
76
- await this.updateSpecialColumnsInPersistedEntities();
77
- if (!this.options || this.options.listeners !== false) {
78
- broadcasterResult = this.broadcastAfterEventsForAll();
79
- if (broadcasterResult.promises.length > 0)
80
- await Promise.all(broadcasterResult.promises);
81
- }
82
- }
83
- /**
84
- * Validates all given subjects.
85
- */
86
- validate() {
87
- this.allSubjects.forEach((subject) => {
88
- if (subject.mustBeUpdated && subject.mustBeRemoved)
89
- throw new SubjectRemovedAndUpdatedError(subject);
90
- });
91
- }
92
- /**
93
- * Performs entity re-computations - finds changed columns, re-builds insert/update/remove subjects.
94
- */
95
- recompute() {
96
- new SubjectChangedColumnsComputer().compute(this.allSubjects);
97
- this.insertSubjects = this.allSubjects.filter((subject) => subject.mustBeInserted);
98
- this.updateSubjects = this.allSubjects.filter((subject) => subject.mustBeUpdated);
99
- this.removeSubjects = this.allSubjects.filter((subject) => subject.mustBeRemoved);
100
- this.softRemoveSubjects = this.allSubjects.filter((subject) => subject.mustBeSoftRemoved);
101
- this.recoverSubjects = this.allSubjects.filter((subject) => subject.mustBeRecovered);
102
- this.hasExecutableOperations =
103
- this.insertSubjects.length > 0 ||
104
- this.updateSubjects.length > 0 ||
105
- this.removeSubjects.length > 0 ||
106
- this.softRemoveSubjects.length > 0 ||
107
- this.recoverSubjects.length > 0;
108
- }
109
- /**
110
- * Broadcasts "BEFORE_INSERT", "BEFORE_UPDATE", "BEFORE_REMOVE", "BEFORE_SOFT_REMOVE", "BEFORE_RECOVER" events for all given subjects.
111
- */
112
- broadcastBeforeEventsForAll() {
113
- const result = new BroadcasterResult();
114
- if (this.insertSubjects.length)
115
- this.insertSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastBeforeInsertEvent(result, subject.metadata, subject.entity));
116
- if (this.updateSubjects.length)
117
- this.updateSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastBeforeUpdateEvent(result, subject.metadata, subject.entity, subject.databaseEntity, subject.diffColumns, subject.diffRelations));
118
- if (this.removeSubjects.length)
119
- this.removeSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastBeforeRemoveEvent(result, subject.metadata, subject.entity, subject.databaseEntity));
120
- if (this.softRemoveSubjects.length)
121
- this.softRemoveSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastBeforeSoftRemoveEvent(result, subject.metadata, subject.entity, subject.databaseEntity));
122
- if (this.recoverSubjects.length)
123
- this.recoverSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastBeforeRecoverEvent(result, subject.metadata, subject.entity, subject.databaseEntity));
124
- return result;
125
- }
126
- /**
127
- * Broadcasts "AFTER_INSERT", "AFTER_UPDATE", "AFTER_REMOVE", "AFTER_SOFT_REMOVE", "AFTER_RECOVER" events for all given subjects.
128
- * Returns void if there wasn't any listener or subscriber executed.
129
- * Note: this method has a performance-optimized code organization.
130
- */
131
- broadcastAfterEventsForAll() {
132
- const result = new BroadcasterResult();
133
- if (this.insertSubjects.length)
134
- this.insertSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastAfterInsertEvent(result, subject.metadata, subject.entity));
135
- if (this.updateSubjects.length)
136
- this.updateSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastAfterUpdateEvent(result, subject.metadata, subject.entity, subject.databaseEntity, subject.diffColumns, subject.diffRelations));
137
- if (this.removeSubjects.length)
138
- this.removeSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastAfterRemoveEvent(result, subject.metadata, subject.entity, subject.databaseEntity));
139
- if (this.softRemoveSubjects.length)
140
- this.softRemoveSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastAfterSoftRemoveEvent(result, subject.metadata, subject.entity, subject.databaseEntity));
141
- if (this.recoverSubjects.length)
142
- this.recoverSubjects.forEach((subject) => this.queryRunner.broadcaster.broadcastAfterRecoverEvent(result, subject.metadata, subject.entity, subject.databaseEntity));
143
- return result;
144
- }
145
- /**
146
- * Executes insert operations.
147
- */
148
- async executeInsertOperations() {
149
- const [groupedInsertSubjects, groupedInsertSubjectKeys] = this.groupBulkSubjects(this.insertSubjects, "insert");
150
- for (const groupName of groupedInsertSubjectKeys) {
151
- const subjects = groupedInsertSubjects[groupName];
152
- const bulkInsertMaps = [];
153
- const bulkInsertSubjects = [];
154
- const singleInsertSubjects = [];
155
- if (this.queryRunner.connection.driver.options.type === "mongodb") {
156
- subjects.forEach((subject) => {
157
- if (subject.metadata.createDateColumn && subject.entity) {
158
- subject.entity[subject.metadata.createDateColumn.databaseName] = new Date();
159
- }
160
- if (subject.metadata.updateDateColumn && subject.entity) {
161
- subject.entity[subject.metadata.updateDateColumn.databaseName] = new Date();
162
- }
163
- subject.createValueSetAndPopChangeMap();
164
- bulkInsertSubjects.push(subject);
165
- bulkInsertMaps.push(subject.entity);
166
- });
167
- }
168
- else if (this.queryRunner.connection.driver.options.type === "oracle") {
169
- subjects.forEach((subject) => {
170
- singleInsertSubjects.push(subject);
171
- });
172
- }
173
- else {
174
- subjects.forEach((subject) => {
175
- if (subject.changeMaps.length === 0 ||
176
- subject.metadata.treeType ||
177
- this.queryRunner.connection.driver.options.type ===
178
- "oracle" ||
179
- this.queryRunner.connection.driver.options.type ===
180
- "sap") {
181
- singleInsertSubjects.push(subject);
182
- }
183
- else {
184
- bulkInsertSubjects.push(subject);
185
- bulkInsertMaps.push(subject.createValueSetAndPopChangeMap());
186
- }
187
- });
188
- }
189
- if (
190
- /* */
191
- /* */
192
- /* */
193
- /* */
194
- false) {
195
- /* */
196
- /* */
197
- /* */
198
- /* */
199
- /* */
200
- /* */
201
- /* */
202
- /* */
203
- /* */
204
- /* */
205
- }
206
- else {
207
- if (bulkInsertMaps.length > 0) {
208
- const insertResult = await this.queryRunner.manager
209
- .createQueryBuilder()
210
- .insert()
211
- .into(subjects[0].metadata.target)
212
- .values(bulkInsertMaps)
213
- .updateEntity(this.options && this.options.reload === false
214
- ? false
215
- : true)
216
- .callListeners(false)
217
- .execute();
218
- bulkInsertSubjects.forEach((subject, index) => {
219
- subject.identifier = insertResult.identifiers[index];
220
- subject.generatedMap = insertResult.generatedMaps[index];
221
- subject.insertedValueSet = bulkInsertMaps[index];
222
- });
223
- }
224
- if (singleInsertSubjects.length > 0) {
225
- for (const subject of singleInsertSubjects) {
226
- subject.insertedValueSet =
227
- subject.createValueSetAndPopChangeMap(); // important to have because query builder sets inserted values into it
228
- if (subject.metadata.treeType === "nested-set")
229
- await new NestedSetSubjectExecutor(this.queryRunner).insert(subject);
230
- await this.queryRunner.manager
231
- .createQueryBuilder()
232
- .insert()
233
- .into(subject.metadata.target)
234
- .values(subject.insertedValueSet)
235
- .updateEntity(this.options && this.options.reload === false
236
- ? false
237
- : true)
238
- .callListeners(false)
239
- .execute()
240
- .then((insertResult) => {
241
- subject.identifier = insertResult.identifiers[0];
242
- subject.generatedMap =
243
- insertResult.generatedMaps[0];
244
- });
245
- if (subject.metadata.treeType === "closure-table") {
246
- await new ClosureSubjectExecutor(this.queryRunner).insert(subject);
247
- }
248
- else if (subject.metadata.treeType === "materialized-path") {
249
- await new MaterializedPathSubjectExecutor(this.queryRunner).insert(subject);
250
- }
251
- }
252
- }
253
- }
254
- subjects.forEach((subject) => {
255
- if (subject.generatedMap) {
256
- subject.metadata.columns.forEach((column) => {
257
- const value = column.getEntityValue(subject.generatedMap);
258
- if (value !== undefined && value !== null) {
259
- const preparedValue = this.queryRunner.connection.driver.prepareHydratedValue(value, column);
260
- column.setEntityValue(subject.generatedMap, preparedValue);
261
- }
262
- });
263
- }
264
- });
265
- }
266
- }
267
- /**
268
- * Updates all given subjects in the database.
269
- */
270
- async executeUpdateOperations() {
271
- const updateSubject = async (subject) => {
272
- if (!subject.identifier)
273
- throw new SubjectWithoutIdentifierError(subject);
274
- if (
275
- /* */
276
- /* */
277
- /* */
278
- /* */
279
- false) {
280
- /* */
281
- /* */
282
- /* */
283
- /* */
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- /* */
289
- /* */
290
- /* */
291
- /* */
292
- /* */
293
- /* */
294
- /* */
295
- /* */
296
- /* */
297
- /* */
298
- /* */
299
- /* */
300
- /* */
301
- /* */
302
- /* */
303
- /* */
304
- /* */
305
- /* */
306
- /* */
307
- /* */
308
- /* */
309
- /* */
310
- /* */
311
- /* */
312
- /* */
313
- /* */
314
- /* */
315
- /* */
316
- }
317
- else {
318
- const updateMap = subject.createValueSetAndPopChangeMap();
319
- switch (subject.metadata.treeType) {
320
- case "nested-set":
321
- await new NestedSetSubjectExecutor(this.queryRunner).update(subject);
322
- break;
323
- case "closure-table":
324
- await new ClosureSubjectExecutor(this.queryRunner).update(subject);
325
- break;
326
- case "materialized-path":
327
- await new MaterializedPathSubjectExecutor(this.queryRunner).update(subject);
328
- break;
329
- }
330
- const updateQueryBuilder = this.queryRunner.manager
331
- .createQueryBuilder()
332
- .update(subject.metadata.target)
333
- .set(updateMap)
334
- .updateEntity(this.options && this.options.reload === false
335
- ? false
336
- : true)
337
- .callListeners(false);
338
- if (subject.entity) {
339
- updateQueryBuilder.whereEntity(subject.identifier);
340
- }
341
- else {
342
- updateQueryBuilder.where(subject.identifier);
343
- }
344
- const updateResult = await updateQueryBuilder.execute();
345
- let updateGeneratedMap = updateResult.generatedMaps[0];
346
- if (updateGeneratedMap) {
347
- subject.metadata.columns.forEach((column) => {
348
- const value = column.getEntityValue(updateGeneratedMap);
349
- if (value !== undefined && value !== null) {
350
- const preparedValue = this.queryRunner.connection.driver.prepareHydratedValue(value, column);
351
- column.setEntityValue(updateGeneratedMap, preparedValue);
352
- }
353
- });
354
- if (!subject.generatedMap) {
355
- subject.generatedMap = {};
356
- }
357
- Object.assign(subject.generatedMap, updateGeneratedMap);
358
- }
359
- }
360
- };
361
- const nestedSetSubjects = [];
362
- const remainingSubjects = [];
363
- for (const subject of this.updateSubjects) {
364
- if (subject.metadata.treeType === "nested-set") {
365
- nestedSetSubjects.push(subject);
366
- }
367
- else {
368
- remainingSubjects.push(subject);
369
- }
370
- }
371
- const nestedSetPromise = new Promise(async (ok, fail) => {
372
- for (const subject of nestedSetSubjects) {
373
- try {
374
- await updateSubject(subject);
375
- }
376
- catch (error) {
377
- fail(error);
378
- }
379
- }
380
- ok();
381
- });
382
- await Promise.all([
383
- ...remainingSubjects.map(updateSubject),
384
- nestedSetPromise,
385
- ]);
386
- }
387
- /**
388
- * Removes all given subjects from the database.
389
- *
390
- * todo: we need to apply topological sort here as well
391
- */
392
- async executeRemoveOperations() {
393
- const [groupedRemoveSubjects, groupedRemoveSubjectKeys] = this.groupBulkSubjects(this.removeSubjects, "delete");
394
- for (const groupName of groupedRemoveSubjectKeys) {
395
- const subjects = groupedRemoveSubjects[groupName];
396
- const deleteMaps = subjects.map((subject) => {
397
- if (!subject.identifier)
398
- throw new SubjectWithoutIdentifierError(subject);
399
- return subject.identifier;
400
- });
401
- if (
402
- /* */
403
- /* */
404
- /* */
405
- /* */
406
- false) {
407
- /* */
408
- /* */
409
- /* */
410
- }
411
- else {
412
- switch (subjects[0].metadata.treeType) {
413
- case "nested-set":
414
- await new NestedSetSubjectExecutor(this.queryRunner).remove(subjects);
415
- break;
416
- case "closure-table":
417
- await new ClosureSubjectExecutor(this.queryRunner).remove(subjects);
418
- break;
419
- }
420
- await this.queryRunner.manager
421
- .createQueryBuilder()
422
- .delete()
423
- .from(subjects[0].metadata.target)
424
- .where(deleteMaps)
425
- .callListeners(false)
426
- .execute();
427
- }
428
- }
429
- }
430
- cloneMongoSubjectEntity(subject) {
431
- const target = {};
432
- if (subject.entity) {
433
- for (const column of subject.metadata.columns) {
434
- OrmUtils.mergeDeep(target, column.getEntityValueMap(subject.entity));
435
- }
436
- }
437
- return target;
438
- }
439
- /**
440
- * Soft-removes all given subjects in the database.
441
- */
442
- async executeSoftRemoveOperations() {
443
- await Promise.all(this.softRemoveSubjects.map(async (subject) => {
444
- if (!subject.identifier)
445
- throw new SubjectWithoutIdentifierError(subject);
446
- let updateResult;
447
- if (
448
- /* */
449
- /* */
450
- /* */
451
- /* */
452
- /* */
453
- /* */
454
- false) {
455
- const partialEntity = this.cloneMongoSubjectEntity(subject);
456
- if (subject.metadata.objectIdColumn &&
457
- subject.metadata.objectIdColumn.propertyName) {
458
- delete partialEntity[subject.metadata.objectIdColumn.propertyName];
459
- }
460
- if (subject.metadata.createDateColumn &&
461
- subject.metadata.createDateColumn.propertyName) {
462
- delete partialEntity[subject.metadata.createDateColumn.propertyName];
463
- }
464
- if (subject.metadata.updateDateColumn &&
465
- subject.metadata.updateDateColumn.propertyName) {
466
- partialEntity[subject.metadata.updateDateColumn.propertyName] = new Date();
467
- }
468
- if (subject.metadata.deleteDateColumn &&
469
- subject.metadata.deleteDateColumn.propertyName) {
470
- partialEntity[subject.metadata.deleteDateColumn.propertyName] = new Date();
471
- }
472
- let manager;
473
- /* */
474
- /* */
475
- manager = this.queryRunner.manager;
476
- updateResult = await manager.update(subject.metadata.target, subject.identifier, partialEntity);
477
- }
478
- else {
479
- const softDeleteQueryBuilder = this.queryRunner.manager
480
- .createQueryBuilder()
481
- .softDelete()
482
- .from(subject.metadata.target)
483
- .updateEntity(this.options && this.options.reload === false
484
- ? false
485
- : true)
486
- .callListeners(false);
487
- if (subject.entity) {
488
- softDeleteQueryBuilder.whereEntity(subject.identifier);
489
- }
490
- else {
491
- softDeleteQueryBuilder.where(subject.identifier);
492
- }
493
- updateResult = await softDeleteQueryBuilder.execute();
494
- }
495
- subject.generatedMap = updateResult.generatedMaps[0];
496
- if (subject.generatedMap) {
497
- subject.metadata.columns.forEach((column) => {
498
- const value = column.getEntityValue(subject.generatedMap);
499
- if (value !== undefined && value !== null) {
500
- const preparedValue = this.queryRunner.connection.driver.prepareHydratedValue(value, column);
501
- column.setEntityValue(subject.generatedMap, preparedValue);
502
- }
503
- });
504
- }
505
- //
506
- }));
507
- }
508
- /**
509
- * Recovers all given subjects in the database.
510
- */
511
- async executeRecoverOperations() {
512
- await Promise.all(this.recoverSubjects.map(async (subject) => {
513
- if (!subject.identifier)
514
- throw new SubjectWithoutIdentifierError(subject);
515
- let updateResult;
516
- if (
517
- /* */
518
- /* */
519
- /* */
520
- /* */
521
- /* */
522
- /* */
523
- false) {
524
- /* */
525
- /* */
526
- /* */
527
- /* */
528
- /* */
529
- /* */
530
- /* */
531
- /* */
532
- /* */
533
- /* */
534
- /* */
535
- /* */
536
- /* */
537
- /* */
538
- /* */
539
- /* */
540
- /* */
541
- /* */
542
- /* */
543
- /* */
544
- /* */
545
- /* */
546
- /* */
547
- /* */
548
- /* */
549
- /* */
550
- /* */
551
- /* */
552
- /* */
553
- /* */
554
- /* */
555
- /* */
556
- /* */
557
- /* */
558
- /* */
559
- /* */
560
- /* */
561
- /* */
562
- /* */
563
- /* */
564
- /* */
565
- /* */
566
- /* */
567
- /* */
568
- /* */
569
- /* */
570
- }
571
- else {
572
- const softDeleteQueryBuilder = this.queryRunner.manager
573
- .createQueryBuilder()
574
- .restore()
575
- .from(subject.metadata.target)
576
- .updateEntity(this.options && this.options.reload === false
577
- ? false
578
- : true)
579
- .callListeners(false);
580
- if (subject.entity) {
581
- softDeleteQueryBuilder.whereEntity(subject.identifier);
582
- }
583
- else {
584
- softDeleteQueryBuilder.where(subject.identifier);
585
- }
586
- updateResult = await softDeleteQueryBuilder.execute();
587
- }
588
- subject.generatedMap = updateResult.generatedMaps[0];
589
- if (subject.generatedMap) {
590
- subject.metadata.columns.forEach((column) => {
591
- const value = column.getEntityValue(subject.generatedMap);
592
- if (value !== undefined && value !== null) {
593
- const preparedValue = this.queryRunner.connection.driver.prepareHydratedValue(value, column);
594
- column.setEntityValue(subject.generatedMap, preparedValue);
595
- }
596
- });
597
- }
598
- //
599
- }));
600
- }
601
- /**
602
- * Updates all special columns of the saving entities (create date, update date, version, etc.).
603
- * Also updates nullable columns and columns with default values.
604
- */
605
- updateSpecialColumnsInPersistedEntities() {
606
- if (this.insertSubjects.length)
607
- this.updateSpecialColumnsInInsertedAndUpdatedEntities(this.insertSubjects);
608
- if (this.updateSubjects.length)
609
- this.updateSpecialColumnsInInsertedAndUpdatedEntities(this.updateSubjects);
610
- if (this.softRemoveSubjects.length)
611
- this.updateSpecialColumnsInInsertedAndUpdatedEntities(this.softRemoveSubjects);
612
- if (this.recoverSubjects.length)
613
- this.updateSpecialColumnsInInsertedAndUpdatedEntities(this.recoverSubjects);
614
- if (this.removeSubjects.length) {
615
- this.removeSubjects.forEach((subject) => {
616
- if (!subject.entity)
617
- return;
618
- subject.metadata.primaryColumns.forEach((primaryColumn) => {
619
- primaryColumn.setEntityValue(subject.entity, undefined);
620
- });
621
- });
622
- }
623
- this.allSubjects.forEach((subject) => {
624
- if (!subject.entity)
625
- return;
626
- subject.metadata.relationIds.forEach((relationId) => {
627
- relationId.setValue(subject.entity);
628
- });
629
- /* */
630
- /* */
631
- /* */
632
- /* */
633
- /* */
634
- /* */
635
- /* */
636
- /* */
637
- /* */
638
- /* */
639
- /* */
640
- /* */
641
- /* */
642
- /* */
643
- /* */
644
- /* */
645
- });
646
- }
647
- /**
648
- * Updates all special columns of the saving entities (create date, update date, version, etc.).
649
- * Also updates nullable columns and columns with default values.
650
- */
651
- updateSpecialColumnsInInsertedAndUpdatedEntities(subjects) {
652
- subjects.forEach((subject) => {
653
- if (!subject.entity)
654
- return;
655
- subject.metadata.columns.forEach((column) => {
656
- if (subject.metadata.childEntityMetadatas.length > 0 &&
657
- subject.metadata.childEntityMetadatas
658
- .map((metadata) => metadata.target)
659
- .indexOf(column.target) !== -1)
660
- return;
661
- if (column.isVirtual)
662
- return;
663
- if (column.isNullable) {
664
- const columnValue = column.getEntityValue(subject.entity);
665
- if (columnValue === undefined)
666
- column.setEntityValue(subject.entity, null);
667
- }
668
- if (subject.updatedRelationMaps.length > 0) {
669
- subject.updatedRelationMaps.forEach((updatedRelationMap) => {
670
- updatedRelationMap.relation.joinColumns.forEach((column) => {
671
- if (column.isVirtual === true)
672
- return;
673
- column.setEntityValue(subject.entity, ObjectUtils.isObject(updatedRelationMap.value)
674
- ? column.referencedColumn.getEntityValue(updatedRelationMap.value)
675
- : updatedRelationMap.value);
676
- });
677
- });
678
- }
679
- });
680
- if (subject.generatedMap)
681
- this.queryRunner.manager.merge(subject.metadata.target, subject.entity, subject.generatedMap);
682
- });
683
- }
684
- /**
685
- * Groups subjects by metadata names (by tables) to make bulk insertions and deletions possible.
686
- * However there are some limitations with bulk insertions of data into tables with generated (increment) columns
687
- * in some drivers. Some drivers like mysql and sqlite does not support returning multiple generated columns
688
- * after insertion and can only return a single generated column value, that's why its not possible to do bulk insertion,
689
- * because it breaks insertion result's generatedMap and leads to problems when this subject is used in other subjects saves.
690
- * That's why we only support bulking in junction tables for those drivers.
691
- *
692
- * Other drivers like postgres and sql server support RETURNING / OUTPUT statement which allows to return generated
693
- * id for each inserted row, that's why bulk insertion is not limited to junction tables in there.
694
- */
695
- groupBulkSubjects(subjects, type) {
696
- const group = {};
697
- const keys = [];
698
- const hasReturningDependColumns = subjects.some((subject) => {
699
- return subject.metadata.getInsertionReturningColumns().length > 0;
700
- });
701
- const groupingAllowed = type === "delete" ||
702
- this.queryRunner.connection.driver.isReturningSqlSupported("insert") ||
703
- hasReturningDependColumns === false;
704
- subjects.forEach((subject, index) => {
705
- const key = groupingAllowed || subject.metadata.isJunction
706
- ? subject.metadata.name
707
- : subject.metadata.name + "_" + index;
708
- if (!group[key]) {
709
- group[key] = [subject];
710
- keys.push(key);
711
- }
712
- else {
713
- group[key].push(subject);
714
- }
715
- });
716
- return [group, keys];
717
- }
718
- }
719
- ;
720
- ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/persistence/SubjectExecutor.ts
721
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3ViamVjdEV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vcGVyc2lzdGVuY2UvU3ViamVjdEV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3JFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBT3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3RFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ3hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFHakQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUEwRHhCLFlBQ0ksV0FBd0IsRUFDeEIsUUFBbUIsRUFDbkIsT0FBcUM7UUF4RHpDOztXQUVHO1FBQ0gsNEJBQXVCLEdBQVksS0FBSyxDQUFBO1FBcUJ4Qzs7V0FFRztRQUNPLG1CQUFjLEdBQWMsRUFBRSxDQUFBO1FBRXhDOztXQUVHO1FBQ08sbUJBQWMsR0FBYyxFQUFFLENBQUE7UUFFeEM7O1dBRUc7UUFDTyxtQkFBYyxHQUFjLEVBQUUsQ0FBQTtRQUV4Qzs7V0FFRztR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TyxDQUFDLENBQUE7Z0JBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDbEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDNUIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDO0NBQ0o7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9GQUFvRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi9xdWVyeS1ydW5uZXIvUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCIuL1N1YmplY3RcIlxuaW1wb3J0IHsgU3ViamVjdFRvcG9saWdpY2FsU29ydGVyIH0gZnJvbSBcIi4vU3ViamVjdFRvcG9saWdpY2FsU29ydGVyXCJcbmltcG9ydCB7IFN1YmplY3RDaGFuZ2VkQ29sdW1uc0NvbXB1dGVyIH0gZnJvbSBcIi4vU3ViamVjdENoYW5nZWRDb2x1bW5zQ29tcHV0ZXJcIlxuaW1wb3J0IHsgU3ViamVjdFdpdGhvdXRJZGVudGlmaWVyRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3IvU3ViamVjdFdpdGhvdXRJZGVudGlmaWVyRXJyb3JcIlxuaW1wb3J0IHsgU3ViamVjdFJlbW92ZWRBbmRVcGRhdGVkRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3IvU3ViamVjdFJlbW92ZWRBbmRVcGRhdGVkRXJyb3JcIlxuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgT2JqZWN0TGl0ZXJhbCB9IGZyb20gXCIuLi9jb21tb24vT2JqZWN0TGl0ZXJhbFwiXG5pbXBvcnQgeyBTYXZlT3B0aW9ucyB9IGZyb20gXCIuLi9yZXBvc2l0b3J5L1NhdmVPcHRpb25zXCJcbmltcG9ydCB7IFJlbW92ZU9wdGlvbnMgfSBmcm9tIFwiLi4vcmVwb3NpdG9yeS9SZW1vdmVPcHRpb25zXCJcbmltcG9ydCB7IEJyb2FkY2FzdGVyUmVzdWx0IH0gZnJvbSBcIi4uL3N1YnNjcmliZXIvQnJvYWRjYXN0ZXJSZXN1bHRcIlxuaW1wb3J0IHsgTmVzdGVkU2V0U3ViamVjdEV4ZWN1dG9yIH0gZnJvbSBcIi4vdHJlZS9OZXN0ZWRTZXRTdWJqZWN0RXhlY3V0b3JcIlxuaW1wb3J0IHsgQ2xvc3VyZVN1YmplY3RFeGVjdXRvciB9IGZyb20gXCIuL3RyZWUvQ2xvc3VyZVN1YmplY3RFeGVjdXRvclwiXG5pbXBvcnQgeyBNYXRlcmlhbGl6ZWRQYXRoU3ViamVjdEV4ZWN1dG9yIH0gZnJvbSBcIi4vdHJlZS9NYXRlcmlhbGl6ZWRQYXRoU3ViamVjdEV4ZWN1dG9yXCJcbmltcG9ydCB7IE9ybVV0aWxzIH0gZnJvbSBcIi4uL3V0aWwvT3JtVXRpbHNcIlxuaW1wb3J0IHsgVXBkYXRlUmVzdWx0IH0gZnJvbSBcIi4uL3F1ZXJ5LWJ1aWxkZXIvcmVzdWx0L1VwZGF0ZVJlc3VsdFwiXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gXCIuLi91dGlsL09iamVjdFV0aWxzXCJcbmltcG9ydCB7IEluc3RhbmNlQ2hlY2tlciB9IGZyb20gXCIuLi91dGlsL0luc3RhbmNlQ2hlY2tlclwiXG5cbi8qKlxuICogRXhlY3V0ZXMgYWxsIGRhdGFiYXNlIG9wZXJhdGlvbnMgKGluc2VydHMsIHVwZGF0ZWQsIGRlbGV0ZXMpIHRoYXQgbXVzdCBiZSBleGVjdXRlZFxuICogd2l0aCBnaXZlbiBwZXJzaXN0ZW5jZSBzdWJqZWN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1YmplY3RFeGVjdXRvciB7XG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgaWYgZXhlY3V0b3IgaGFzIGFueSBvcGVyYXRpb25zIHRvIGV4ZWN1dGUgKGUuZy4gaGFzIGluc2VydCAvIHVwZGF0ZSAvIGRlbGV0ZSBvcGVyYXRpb25zIHRvIGJlIGV4ZWN1dGVkKS5cbiAgICAgKi9cbiAgICBoYXNFeGVjdXRhYmxlT3BlcmF0aW9uczogYm9vbGVhbiA9IGZhbHNlXG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIFF1ZXJ5UnVubmVyIHVzZWQgdG8gZXhlY3V0ZSBhbGwgcXVlcmllcyB3aXRoIGEgZ2l2ZW4gc3ViamVjdHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lclxuXG4gICAgLyoqXG4gICAgICogUGVyc2lzdGVuY2Ugb3B0aW9ucy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb3B0aW9ucz86IFNhdmVPcHRpb25zICYgUmVtb3ZlT3B0aW9uc1xuXG4gICAgLyoqXG4gICAgICogQWxsIHN1YmplY3RzIHRoYXQgbmVlZHMgdG8gYmUgb3BlcmF0ZWQuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFsbFN1YmplY3RzOiBTdWJqZWN0W11cblxuICAgIC8qKlxuICAgICAqIFN1YmplY3RzIHRoYXQgbXVzdCBiZSBpbnNlcnRlZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaW5zZXJ0U3ViamVjdHM6IFN1YmplY3RbXSA9IFtdXG5cbiAgICAvKipcbiAgICAgKiBTdWJqZWN0cyB0aGF0IG11c3QgYmUgdXBkYXRlZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlU3ViamVjdHM6IFN1YmplY3RbXSA9IFtdXG5cbiAgICAvKipcbiAgICAgKiBTdWJqZWN0cyB0aGF0IG11c3QgYmUgcmVtb3ZlZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVtb3ZlU3ViamVjdHM6IFN1YmplY3RbXSA9IFtdXG5cbiAgICAvKipcbiAgICAgKiBTdWJqZWN0cyB0aGF0IG11c3QgYmUgc29mdC1yZW1vdmVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzb2Z0UmVtb3ZlU3ViamVjdHM6IFN1YmplY3RbXSA9IFtdXG5cbiAgICAvKipcbiAgICAgKiBTdWJqZWN0cyB0aGF0IG11c3QgYmUgcmVjb3ZlcmVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWNvdmVyU3ViamVjdHM6IFN1YmplY3RbXSA9IFtdXG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIsXG4gICAgICAgIHN1YmplY3RzOiBTdWJqZWN0W10sXG4gICAgICAgIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyAmIFJlbW92ZU9wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHRoaXMucXVlcnlSdW5uZXIgPSBxdWVyeVJ1bm5lclxuICAgICAgICB0aGlzLmFsbFN1YmplY3RzID0gc3ViamVjdHNcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9uc1xuICAgICAgICB0aGlzLnZhbGlkYXRlKClcbiAgICAgICAgdGhpcy5yZWNvbXB1dGUoKVxuICAgIH1cblxuXG5cblxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYWxsIG9wZXJhdGlvbnMgb3ZlciBnaXZlbiBhcnJheSBvZiBzdWJqZWN0cy5cbiAgICAgKiBFeGVjdXRlcyBxdWVyaWVzIHVzaW5nIGdpdmVuIHF1ZXJ5IHJ1bm5lci5cbiAgICAgKi9cbiAgICBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuXG5cblxuICAgICAgICBsZXQgYnJvYWRjYXN0ZXJSZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zIHx8IHRoaXMub3B0aW9ucy5saXN0ZW5lcnMgIT09IGZhbHNlKSB7XG5cbiAgICAgICAgICAgIGJyb2FkY2FzdGVyUmVzdWx0ID0gdGhpcy5icm9hZGNhc3RCZWZvcmVFdmVudHNGb3JBbGwoKVxuICAgICAgICAgICAgaWYgKGJyb2FkY2FzdGVyUmVzdWx0LnByb21pc2VzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoYnJvYWRjYXN0ZXJSZXN1bHQucHJvbWlzZXMpXG5cbiAgICAgICAgfVxuXG5cblxuICAgICAgICBpZiAoYnJvYWRjYXN0ZXJSZXN1bHQgJiYgYnJvYWRjYXN0ZXJSZXN1bHQuY291bnQgPiAwKSB7XG5cbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0U3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCkgPT4gc3ViamVjdC5yZWNvbXB1dGUoKSlcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCkgPT4gc3ViamVjdC5yZWNvbXB1dGUoKSlcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCkgPT4gc3ViamVjdC5yZWNvbXB1dGUoKSlcbiAgICAgICAgICAgIHRoaXMuc29mdFJlbW92ZVN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+IHN1YmplY3QucmVjb21wdXRlKCkpXG4gICAgICAgICAgICB0aGlzLnJlY292ZXJTdWJqZWN0cy5mb3JFYWNoKChzdWJqZWN0KSA9PiBzdWJqZWN0LnJlY29tcHV0ZSgpKVxuICAgICAgICAgICAgdGhpcy5yZWNvbXB1dGUoKVxuXG4gICAgICAgIH1cblxuXG5cblxuXG5cblxuICAgICAgICB0aGlzLmluc2VydFN1YmplY3RzID0gbmV3IFN1YmplY3RUb3BvbGlnaWNhbFNvcnRlcihcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0U3ViamVjdHMsXG4gICAgICAgICkuc29ydChcImluc2VydFwiKVxuICAgICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVJbnNlcnRPcGVyYXRpb25zKClcblxuXG5cblxuICAgICAgICB0aGlzLnVwZGF0ZVN1YmplY3RzID0gdGhpcy5hbGxTdWJqZWN0cy5maWx0ZXIoXG4gICAgICAgICAgICAoc3ViamVjdCkgPT4gc3ViamVjdC5tdXN0QmVVcGRhdGVkLFxuICAgICAgICApXG5cblxuXG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZVVwZGF0ZU9wZXJhdGlvbnMoKVxuXG5cblxuXG4gICAgICAgIHRoaXMucmVtb3ZlU3ViamVjdHMgPSBuZXcgU3ViamVjdFRvcG9saWdpY2FsU29ydGVyKFxuICAgICAgICAgICAgdGhpcy5yZW1vdmVTdWJqZWN0cyxcbiAgICAgICAgKS5zb3J0KFwiZGVsZXRlXCIpXG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZVJlbW92ZU9wZXJhdGlvbnMoKVxuXG5cblxuICAgICAgICB0aGlzLnNvZnRSZW1vdmVTdWJqZWN0cyA9IHRoaXMuYWxsU3ViamVjdHMuZmlsdGVyKFxuICAgICAgICAgICAgKHN1YmplY3QpID0+IHN1YmplY3QubXVzdEJlU29mdFJlbW92ZWQsXG4gICAgICAgIClcblxuXG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZVNvZnRSZW1vdmVPcGVyYXRpb25zKClcblxuXG4gICAgICAgIHRoaXMucmVjb3ZlclN1YmplY3RzID0gdGhpcy5hbGxTdWJqZWN0cy5maWx0ZXIoXG4gICAgICAgICAgICAoc3ViamVjdCkgPT4gc3ViamVjdC5tdXN0QmVSZWNvdmVyZWQsXG4gICAgICAgIClcblxuXG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZVJlY292ZXJPcGVyYXRpb25zKClcblxuXG5cbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVTcGVjaWFsQ29sdW1uc0luUGVyc2lzdGVkRW50aXRpZXMoKVxuXG5cblxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucyB8fCB0aGlzLm9wdGlvbnMubGlzdGVuZXJzICE9PSBmYWxzZSkge1xuXG4gICAgICAgICAgICBicm9hZGNhc3RlclJlc3VsdCA9IHRoaXMuYnJvYWRjYXN0QWZ0ZXJFdmVudHNGb3JBbGwoKVxuICAgICAgICAgICAgaWYgKGJyb2FkY2FzdGVyUmVzdWx0LnByb21pc2VzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoYnJvYWRjYXN0ZXJSZXN1bHQucHJvbWlzZXMpXG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0ZXMgYWxsIGdpdmVuIHN1YmplY3RzLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCB2YWxpZGF0ZSgpIHtcbiAgICAgICAgdGhpcy5hbGxTdWJqZWN0cy5mb3JFYWNoKChzdWJqZWN0KSA9PiB7XG4gICAgICAgICAgICBpZiAoc3ViamVjdC5tdXN0QmVVcGRhdGVkICYmIHN1YmplY3QubXVzdEJlUmVtb3ZlZClcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ViamVjdFJlbW92ZWRBbmRVcGRhdGVkRXJyb3Ioc3ViamVjdClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyBlbnRpdHkgcmUtY29tcHV0YXRpb25zIC0gZmluZHMgY2hhbmdlZCBjb2x1bW5zLCByZS1idWlsZHMgaW5zZXJ0L3VwZGF0ZS9yZW1vdmUgc3ViamVjdHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlY29tcHV0ZSgpOiB2b2lkIHtcbiAgICAgICAgbmV3IFN1YmplY3RDaGFuZ2VkQ29sdW1uc0NvbXB1dGVyKCkuY29tcHV0ZSh0aGlzLmFsbFN1YmplY3RzKVxuICAgICAgICB0aGlzLmluc2VydFN1YmplY3RzID0gdGhpcy5hbGxTdWJqZWN0cy5maWx0ZXIoXG4gICAgICAgICAgICAoc3ViamVjdCkgPT4gc3ViamVjdC5tdXN0QmVJbnNlcnRlZCxcbiAgICAgICAgKVxuICAgICAgICB0aGlzLnVwZGF0ZVN1YmplY3RzID0gdGhpcy5hbGxTdWJqZWN0cy5maWx0ZXIoXG4gICAgICAgICAgICAoc3ViamVjdCkgPT4gc3ViamVjdC5tdXN0QmVVcGRhdGVkLFxuICAgICAgICApXG4gICAgICAgIHRoaXMucmVtb3ZlU3ViamVjdHMgPSB0aGlzLmFsbFN1YmplY3RzLmZpbHRlcihcbiAgICAgICAgICAgIChzdWJqZWN0KSA9PiBzdWJqZWN0Lm11c3RCZVJlbW92ZWQsXG4gICAgICAgIClcbiAgICAgICAgdGhpcy5zb2Z0UmVtb3ZlU3ViamVjdHMgPSB0aGlzLmFsbFN1YmplY3RzLmZpbHRlcihcbiAgICAgICAgICAgIChzdWJqZWN0KSA9PiBzdWJqZWN0Lm11c3RCZVNvZnRSZW1vdmVkLFxuICAgICAgICApXG4gICAgICAgIHRoaXMucmVjb3ZlclN1YmplY3RzID0gdGhpcy5hbGxTdWJqZWN0cy5maWx0ZXIoXG4gICAgICAgICAgICAoc3ViamVjdCkgPT4gc3ViamVjdC5tdXN0QmVSZWNvdmVyZWQsXG4gICAgICAgIClcbiAgICAgICAgdGhpcy5oYXNFeGVjdXRhYmxlT3BlcmF0aW9ucyA9XG4gICAgICAgICAgICB0aGlzLmluc2VydFN1YmplY3RzLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3ViamVjdHMubGVuZ3RoID4gMCB8fFxuICAgICAgICAgICAgdGhpcy5yZW1vdmVTdWJqZWN0cy5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICB0aGlzLnNvZnRSZW1vdmVTdWJqZWN0cy5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICB0aGlzLnJlY292ZXJTdWJqZWN0cy5sZW5ndGggPiAwXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9JTlNFUlRcIiwgXCJCRUZPUkVfVVBEQVRFXCIsIFwiQkVGT1JFX1JFTU9WRVwiLCBcIkJFRk9SRV9TT0ZUX1JFTU9WRVwiLCBcIkJFRk9SRV9SRUNPVkVSXCIgZXZlbnRzIGZvciBhbGwgZ2l2ZW4gc3ViamVjdHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGJyb2FkY2FzdEJlZm9yZUV2ZW50c0ZvckFsbCgpOiBCcm9hZGNhc3RlclJlc3VsdCB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBCcm9hZGNhc3RlclJlc3VsdCgpXG4gICAgICAgIGlmICh0aGlzLmluc2VydFN1YmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0U3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmJyb2FkY2FzdGVyLmJyb2FkY2FzdEJlZm9yZUluc2VydEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZW50aXR5ISxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICBpZiAodGhpcy51cGRhdGVTdWJqZWN0cy5sZW5ndGgpXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5icm9hZGNhc3Rlci5icm9hZGNhc3RCZWZvcmVVcGRhdGVFdmVudChcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmVudGl0eSEsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZGlmZkNvbHVtbnMsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZGlmZlJlbGF0aW9ucyxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICBpZiAodGhpcy5yZW1vdmVTdWJqZWN0cy5sZW5ndGgpXG4gICAgICAgICAgICB0aGlzLnJlbW92ZVN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5icm9hZGNhc3Rlci5icm9hZGNhc3RCZWZvcmVSZW1vdmVFdmVudChcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmVudGl0eSEsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgaWYgKHRoaXMuc29mdFJlbW92ZVN1YmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMuc29mdFJlbW92ZVN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5icm9hZGNhc3Rlci5icm9hZGNhc3RCZWZvcmVTb2Z0UmVtb3ZlRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5lbnRpdHkhLFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgIGlmICh0aGlzLnJlY292ZXJTdWJqZWN0cy5sZW5ndGgpXG4gICAgICAgICAgICB0aGlzLnJlY292ZXJTdWJqZWN0cy5mb3JFYWNoKChzdWJqZWN0KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuYnJvYWRjYXN0ZXIuYnJvYWRjYXN0QmVmb3JlUmVjb3ZlckV2ZW50KFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZW50aXR5ISxcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5kYXRhYmFzZUVudGl0eSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX0lOU0VSVFwiLCBcIkFGVEVSX1VQREFURVwiLCBcIkFGVEVSX1JFTU9WRVwiLCBcIkFGVEVSX1NPRlRfUkVNT1ZFXCIsIFwiQUZURVJfUkVDT1ZFUlwiIGV2ZW50cyBmb3IgYWxsIGdpdmVuIHN1YmplY3RzLlxuICAgICAqIFJldHVybnMgdm9pZCBpZiB0aGVyZSB3YXNuJ3QgYW55IGxpc3RlbmVyIG9yIHN1YnNjcmliZXIgZXhlY3V0ZWQuXG4gICAgICogTm90ZTogdGhpcyBtZXRob2QgaGFzIGEgcGVyZm9ybWFuY2Utb3B0aW1pemVkIGNvZGUgb3JnYW5pemF0aW9uLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBicm9hZGNhc3RBZnRlckV2ZW50c0ZvckFsbCgpOiBCcm9hZGNhc3RlclJlc3VsdCB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBCcm9hZGNhc3RlclJlc3VsdCgpXG4gICAgICAgIGlmICh0aGlzLmluc2VydFN1YmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0U3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmJyb2FkY2FzdGVyLmJyb2FkY2FzdEFmdGVySW5zZXJ0RXZlbnQoXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5lbnRpdHkhLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZVN1YmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmJyb2FkY2FzdGVyLmJyb2FkY2FzdEFmdGVyVXBkYXRlRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5lbnRpdHkhLFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmRpZmZDb2x1bW5zLFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmRpZmZSZWxhdGlvbnMsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgaWYgKHRoaXMucmVtb3ZlU3ViamVjdHMubGVuZ3RoKVxuICAgICAgICAgICAgdGhpcy5yZW1vdmVTdWJqZWN0cy5mb3JFYWNoKChzdWJqZWN0KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuYnJvYWRjYXN0ZXIuYnJvYWRjYXN0QWZ0ZXJSZW1vdmVFdmVudChcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmVudGl0eSEsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgaWYgKHRoaXMuc29mdFJlbW92ZVN1YmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMuc29mdFJlbW92ZVN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5icm9hZGNhc3Rlci5icm9hZGNhc3RBZnRlclNvZnRSZW1vdmVFdmVudChcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmVudGl0eSEsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgaWYgKHRoaXMucmVjb3ZlclN1YmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMucmVjb3ZlclN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5icm9hZGNhc3Rlci5icm9hZGNhc3RBZnRlclJlY292ZXJFdmVudChcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmVudGl0eSEsXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGluc2VydCBvcGVyYXRpb25zLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhc3luYyBleGVjdXRlSW5zZXJ0T3BlcmF0aW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcblxuICAgICAgICBjb25zdCBbZ3JvdXBlZEluc2VydFN1YmplY3RzLCBncm91cGVkSW5zZXJ0U3ViamVjdEtleXNdID1cbiAgICAgICAgICAgIHRoaXMuZ3JvdXBCdWxrU3ViamVjdHModGhpcy5pbnNlcnRTdWJqZWN0cywgXCJpbnNlcnRcIilcblxuXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBOYW1lIG9mIGdyb3VwZWRJbnNlcnRTdWJqZWN0S2V5cykge1xuICAgICAgICAgICAgY29uc3Qgc3ViamVjdHMgPSBncm91cGVkSW5zZXJ0U3ViamVjdHNbZ3JvdXBOYW1lXVxuXG5cblxuICAgICAgICAgICAgY29uc3QgYnVsa0luc2VydE1hcHM6IE9iamVjdExpdGVyYWxbXSA9IFtdXG4gICAgICAgICAgICBjb25zdCBidWxrSW5zZXJ0U3ViamVjdHM6IFN1YmplY3RbXSA9IFtdXG4gICAgICAgICAgICBjb25zdCBzaW5nbGVJbnNlcnRTdWJqZWN0czogU3ViamVjdFtdID0gW11cbiAgICAgICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT0gXCJtb25nb2RiXCIpIHtcbiAgICAgICAgICAgICAgICBzdWJqZWN0cy5mb3JFYWNoKChzdWJqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWJqZWN0Lm1ldGFkYXRhLmNyZWF0ZURhdGVDb2x1bW4gJiYgc3ViamVjdC5lbnRpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZW50aXR5W1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEuY3JlYXRlRGF0ZUNvbHVtbi5kYXRhYmFzZU5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIF0gPSBuZXcgRGF0ZSgpXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoc3ViamVjdC5tZXRhZGF0YS51cGRhdGVEYXRlQ29sdW1uICYmIHN1YmplY3QuZW50aXR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmVudGl0eVtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLnVwZGF0ZURhdGVDb2x1bW4uZGF0YWJhc2VOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBdID0gbmV3IERhdGUoKVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5jcmVhdGVWYWx1ZVNldEFuZFBvcENoYW5nZU1hcCgpXG5cbiAgICAgICAgICAgICAgICAgICAgYnVsa0luc2VydFN1YmplY3RzLnB1c2goc3ViamVjdClcbiAgICAgICAgICAgICAgICAgICAgYnVsa0luc2VydE1hcHMucHVzaChzdWJqZWN0LmVudGl0eSEpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwib3JhY2xlXCJcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2luZ2xlSW5zZXJ0U3ViamVjdHMucHVzaChzdWJqZWN0KVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+IHtcblxuXG5cblxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmNoYW5nZU1hcHMubGVuZ3RoID09PSAwIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLnRyZWVUeXBlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9yYWNsZVwiIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInNhcFwiXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlSW5zZXJ0U3ViamVjdHMucHVzaChzdWJqZWN0KVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnVsa0luc2VydFN1YmplY3RzLnB1c2goc3ViamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGtJbnNlcnRNYXBzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5jcmVhdGVWYWx1ZVNldEFuZFBvcENoYW5nZU1hcCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBpZiAoXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuICBcbiAgICAgICAgICAgICAgICBmYWxzZVxuXG4gICAgICAgICAgICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgICAgICAgICAgfSBlbHNlIHtcblxuXG5cblxuICAgICAgICAgICAgICAgIGlmIChidWxrSW5zZXJ0TWFwcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydFJlc3VsdCA9IGF3YWl0IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW5zZXJ0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbnRvKHN1YmplY3RzWzBdLm1ldGFkYXRhLnRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZXMoYnVsa0luc2VydE1hcHMpXG4gICAgICAgICAgICAgICAgICAgICAgICAudXBkYXRlRW50aXR5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMucmVsb2FkID09PSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYWxsTGlzdGVuZXJzKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmV4ZWN1dGUoKVxuXG4gICAgICAgICAgICAgICAgICAgIGJ1bGtJbnNlcnRTdWJqZWN0cy5mb3JFYWNoKChzdWJqZWN0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5pZGVudGlmaWVyID0gaW5zZXJ0UmVzdWx0LmlkZW50aWZpZXJzW2luZGV4XVxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5nZW5lcmF0ZWRNYXAgPSBpbnNlcnRSZXN1bHQuZ2VuZXJhdGVkTWFwc1tpbmRleF1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QuaW5zZXJ0ZWRWYWx1ZVNldCA9IGJ1bGtJbnNlcnRNYXBzW2luZGV4XVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgaWYgKHNpbmdsZUluc2VydFN1YmplY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdWJqZWN0IG9mIHNpbmdsZUluc2VydFN1YmplY3RzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lmluc2VydGVkVmFsdWVTZXQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QuY3JlYXRlVmFsdWVTZXRBbmRQb3BDaGFuZ2VNYXAoKSAvLyBpbXBvcnRhbnQgdG8gaGF2ZSBiZWNhdXNlIHF1ZXJ5IGJ1aWxkZXIgc2V0cyBpbnNlcnRlZCB2YWx1ZXMgaW50byBpdFxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJqZWN0Lm1ldGFkYXRhLnRyZWVUeXBlID09PSBcIm5lc3RlZC1zZXRcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBuZXcgTmVzdGVkU2V0U3ViamVjdEV4ZWN1dG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuaW5zZXJ0KHN1YmplY3QpXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbnNlcnQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbnRvKHN1YmplY3QubWV0YWRhdGEudGFyZ2V0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZXMoc3ViamVjdC5pbnNlcnRlZFZhbHVlU2V0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC51cGRhdGVFbnRpdHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMucmVsb2FkID09PSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2FsbExpc3RlbmVycyhmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZXhlY3V0ZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKGluc2VydFJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmlkZW50aWZpZXIgPSBpbnNlcnRSZXN1bHQuaWRlbnRpZmllcnNbMF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5nZW5lcmF0ZWRNYXAgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0UmVzdWx0LmdlbmVyYXRlZE1hcHNbMF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJqZWN0Lm1ldGFkYXRhLnRyZWVUeXBlID09PSBcImNsb3N1cmUtdGFibGVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IG5ldyBDbG9zdXJlU3ViamVjdEV4ZWN1dG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuaW5zZXJ0KHN1YmplY3QpXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEudHJlZVR5cGUgPT09IFwibWF0ZXJpYWxpemVkLXBhdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgbmV3IE1hdGVyaWFsaXplZFBhdGhTdWJqZWN0RXhlY3V0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5pbnNlcnQoc3ViamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWJqZWN0LmdlbmVyYXRlZE1hcCkge1xuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLmNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbHVtbi5nZXRFbnRpdHlWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmdlbmVyYXRlZE1hcCEsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZXBhcmVkVmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uZHJpdmVyLnByZXBhcmVIeWRyYXRlZFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uc2V0RW50aXR5VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZ2VuZXJhdGVkTWFwISxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlcGFyZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgYWxsIGdpdmVuIHN1YmplY3RzIGluIHRoZSBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZVVwZGF0ZU9wZXJhdGlvbnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVN1YmplY3QgPSBhc3luYyAoc3ViamVjdDogU3ViamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFzdWJqZWN0LmlkZW50aWZpZXIpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN1YmplY3RXaXRob3V0SWRlbnRpZmllckVycm9yKHN1YmplY3QpXG5cblxuICAgICAgICAgICAgaWYgKFxuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgICAgICAgICAgICAgZmFsc2VcblxuICAgICAgICAgICAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVNYXA6IE9iamVjdExpdGVyYWwgPVxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmNyZWF0ZVZhbHVlU2V0QW5kUG9wQ2hhbmdlTWFwKClcblxuXG4gICAgICAgICAgICAgICAgc3dpdGNoIChzdWJqZWN0Lm1ldGFkYXRhLnRyZWVUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJuZXN0ZWQtc2V0XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBuZXcgTmVzdGVkU2V0U3ViamVjdEV4ZWN1dG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICApLnVwZGF0ZShzdWJqZWN0KVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiY2xvc3VyZS10YWJsZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgbmV3IENsb3N1cmVTdWJqZWN0RXhlY3V0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgICkudXBkYXRlKHN1YmplY3QpXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJtYXRlcmlhbGl6ZWQtcGF0aFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgbmV3IE1hdGVyaWFsaXplZFBhdGhTdWJqZWN0RXhlY3V0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgICkudXBkYXRlKHN1YmplY3QpXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuXG5cblxuXG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlUXVlcnlCdWlsZGVyID0gdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyXG4gICAgICAgICAgICAgICAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgICAgICAudXBkYXRlKHN1YmplY3QubWV0YWRhdGEudGFyZ2V0KVxuICAgICAgICAgICAgICAgICAgICAuc2V0KHVwZGF0ZU1hcClcbiAgICAgICAgICAgICAgICAgICAgLnVwZGF0ZUVudGl0eShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMucmVsb2FkID09PSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLmNhbGxMaXN0ZW5lcnMoZmFsc2UpXG5cbiAgICAgICAgICAgICAgICBpZiAoc3ViamVjdC5lbnRpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlUXVlcnlCdWlsZGVyLndoZXJlRW50aXR5KHN1YmplY3QuaWRlbnRpZmllcilcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZVF1ZXJ5QnVpbGRlci53aGVyZShzdWJqZWN0LmlkZW50aWZpZXIpXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlUmVzdWx0ID0gYXdhaXQgdXBkYXRlUXVlcnlCdWlsZGVyLmV4ZWN1dGUoKVxuICAgICAgICAgICAgICAgIGxldCB1cGRhdGVHZW5lcmF0ZWRNYXAgPSB1cGRhdGVSZXN1bHQuZ2VuZXJhdGVkTWFwc1swXVxuICAgICAgICAgICAgICAgIGlmICh1cGRhdGVHZW5lcmF0ZWRNYXApIHtcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW4uZ2V0RW50aXR5VmFsdWUodXBkYXRlR2VuZXJhdGVkTWFwISlcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlcGFyZWRWYWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5kcml2ZXIucHJlcGFyZUh5ZHJhdGVkVmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5zZXRFbnRpdHlWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlR2VuZXJhdGVkTWFwISxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlcGFyZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmICghc3ViamVjdC5nZW5lcmF0ZWRNYXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZ2VuZXJhdGVkTWFwID0ge31cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHN1YmplY3QuZ2VuZXJhdGVkTWFwLCB1cGRhdGVHZW5lcmF0ZWRNYXApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgICAgIGNvbnN0IG5lc3RlZFNldFN1YmplY3RzOiBTdWJqZWN0W10gPSBbXVxuICAgICAgICBjb25zdCByZW1haW5pbmdTdWJqZWN0czogU3ViamVjdFtdID0gW11cblxuICAgICAgICBmb3IgKGNvbnN0IHN1YmplY3Qgb2YgdGhpcy51cGRhdGVTdWJqZWN0cykge1xuICAgICAgICAgICAgaWYgKHN1YmplY3QubWV0YWRhdGEudHJlZVR5cGUgPT09IFwibmVzdGVkLXNldFwiKSB7XG4gICAgICAgICAgICAgICAgbmVzdGVkU2V0U3ViamVjdHMucHVzaChzdWJqZWN0KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZW1haW5pbmdTdWJqZWN0cy5wdXNoKHN1YmplY3QpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIGNvbnN0IG5lc3RlZFNldFByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPihhc3luYyAob2ssIGZhaWwpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgc3ViamVjdCBvZiBuZXN0ZWRTZXRTdWJqZWN0cykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZVN1YmplY3Qoc3ViamVjdClcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBmYWlsKGVycm9yKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9rKClcbiAgICAgICAgfSlcblxuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIC4uLnJlbWFpbmluZ1N1YmplY3RzLm1hcCh1cGRhdGVTdWJqZWN0KSxcbiAgICAgICAgICAgIG5lc3RlZFNldFByb21pc2UsXG4gICAgICAgIF0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwgZ2l2ZW4gc3ViamVjdHMgZnJvbSB0aGUgZGF0YWJhc2UuXG4gICAgICpcbiAgICAgKiB0b2RvOiB3ZSBuZWVkIHRvIGFwcGx5IHRvcG9sb2dpY2FsIHNvcnQgaGVyZSBhcyB3ZWxsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIGV4ZWN1dGVSZW1vdmVPcGVyYXRpb25zKCk6IFByb21pc2U8dm9pZD4ge1xuXG4gICAgICAgIGNvbnN0IFtncm91cGVkUmVtb3ZlU3ViamVjdHMsIGdyb3VwZWRSZW1vdmVTdWJqZWN0S2V5c10gPVxuICAgICAgICAgICAgdGhpcy5ncm91cEJ1bGtTdWJqZWN0cyh0aGlzLnJlbW92ZVN1YmplY3RzLCBcImRlbGV0ZVwiKVxuXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBOYW1lIG9mIGdyb3VwZWRSZW1vdmVTdWJqZWN0S2V5cykge1xuICAgICAgICAgICAgY29uc3Qgc3ViamVjdHMgPSBncm91cGVkUmVtb3ZlU3ViamVjdHNbZ3JvdXBOYW1lXVxuICAgICAgICAgICAgY29uc3QgZGVsZXRlTWFwcyA9IHN1YmplY3RzLm1hcCgoc3ViamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghc3ViamVjdC5pZGVudGlmaWVyKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ViamVjdFdpdGhvdXRJZGVudGlmaWVyRXJyb3Ioc3ViamVjdClcblxuICAgICAgICAgICAgICAgIHJldHVybiBzdWJqZWN0LmlkZW50aWZpZXJcbiAgICAgICAgICAgIH0pXG5cblxuICAgICAgICAgICAgaWYgKFxuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgICAgICAgICAgICAgZmFsc2VcblxuICAgICAgICAgICAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgICAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgICAgIHN3aXRjaCAoc3ViamVjdHNbMF0ubWV0YWRhdGEudHJlZVR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcIm5lc3RlZC1zZXRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IG5ldyBOZXN0ZWRTZXRTdWJqZWN0RXhlY3V0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgICkucmVtb3ZlKHN1YmplY3RzKVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiY2xvc3VyZS10YWJsZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgbmV3IENsb3N1cmVTdWJqZWN0RXhlY3V0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgICkucmVtb3ZlKHN1YmplY3RzKVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICB9XG5cblxuXG5cblxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlclxuICAgICAgICAgICAgICAgICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgICAgICAgICAgICAgLmRlbGV0ZSgpXG4gICAgICAgICAgICAgICAgICAgIC5mcm9tKHN1YmplY3RzWzBdLm1ldGFkYXRhLnRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgLndoZXJlKGRlbGV0ZU1hcHMpXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsTGlzdGVuZXJzKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAuZXhlY3V0ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb25lTW9uZ29TdWJqZWN0RW50aXR5KHN1YmplY3Q6IFN1YmplY3QpOiBPYmplY3RMaXRlcmFsIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0OiBPYmplY3RMaXRlcmFsID0ge31cblxuICAgICAgICBpZiAoc3ViamVjdC5lbnRpdHkpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIHN1YmplY3QubWV0YWRhdGEuY29sdW1ucykge1xuICAgICAgICAgICAgICAgIE9ybVV0aWxzLm1lcmdlRGVlcChcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW4uZ2V0RW50aXR5VmFsdWVNYXAoc3ViamVjdC5lbnRpdHkpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YXJnZXRcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTb2Z0LXJlbW92ZXMgYWxsIGdpdmVuIHN1YmplY3RzIGluIHRoZSBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZVNvZnRSZW1vdmVPcGVyYXRpb25zKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIHRoaXMuc29mdFJlbW92ZVN1YmplY3RzLm1hcChhc3luYyAoc3ViamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghc3ViamVjdC5pZGVudGlmaWVyKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ViamVjdFdpdGhvdXRJZGVudGlmaWVyRXJyb3Ioc3ViamVjdClcblxuICAgICAgICAgICAgICAgIGxldCB1cGRhdGVSZXN1bHQ6IFVwZGF0ZVJlc3VsdFxuXG5cbiAgICAgICAgICAgICAgICBpZiAoXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4gIFxuICAgICAgICAgICAgICAgICAgICBmYWxzZVxuXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRpYWxFbnRpdHkgPSB0aGlzLmNsb25lTW9uZ29TdWJqZWN0RW50aXR5KHN1YmplY3QpXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEub2JqZWN0SWRDb2x1bW4gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEub2JqZWN0SWRDb2x1bW4ucHJvcGVydHlOYW1lXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHBhcnRpYWxFbnRpdHlbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS5vYmplY3RJZENvbHVtbi5wcm9wZXJ0eU5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEuY3JlYXRlRGF0ZUNvbHVtbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS5jcmVhdGVEYXRlQ29sdW1uLnByb3BlcnR5TmFtZVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJ0aWFsRW50aXR5W1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEuY3JlYXRlRGF0ZUNvbHVtbi5wcm9wZXJ0eU5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEudXBkYXRlRGF0ZUNvbHVtbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS51cGRhdGVEYXRlQ29sdW1uLnByb3BlcnR5TmFtZVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpYWxFbnRpdHlbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS51cGRhdGVEYXRlQ29sdW1uLnByb3BlcnR5TmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgXSA9IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEuZGVsZXRlRGF0ZUNvbHVtbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS5kZWxldGVEYXRlQ29sdW1uLnByb3BlcnR5TmFtZVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpYWxFbnRpdHlbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS5kZWxldGVEYXRlQ29sdW1uLnByb3BlcnR5TmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgXSA9IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IG1hbmFnZXJcbi8qICovXG4vKiAqL1xuICBcblxuICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyID0gdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyXG5cblxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVSZXN1bHQgPSBhd2FpdCBtYW5hZ2VyLnVwZGF0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEudGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5pZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFydGlhbEVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG5cblxuXG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc29mdERlbGV0ZVF1ZXJ5QnVpbGRlciA9IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAuc29mdERlbGV0ZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAuZnJvbShzdWJqZWN0Lm1ldGFkYXRhLnRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgIC51cGRhdGVFbnRpdHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5yZWxvYWQgPT09IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGxMaXN0ZW5lcnMoZmFsc2UpXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1YmplY3QuZW50aXR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzb2Z0RGVsZXRlUXVlcnlCdWlsZGVyLndoZXJlRW50aXR5KHN1YmplY3QuaWRlbnRpZmllcilcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc29mdERlbGV0ZVF1ZXJ5QnVpbGRlci53aGVyZShzdWJqZWN0LmlkZW50aWZpZXIpXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVSZXN1bHQgPSBhd2FpdCBzb2Z0RGVsZXRlUXVlcnlCdWlsZGVyLmV4ZWN1dGUoKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN1YmplY3QuZ2VuZXJhdGVkTWFwID0gdXBkYXRlUmVzdWx0LmdlbmVyYXRlZE1hcHNbMF1cbiAgICAgICAgICAgICAgICBpZiAoc3ViamVjdC5nZW5lcmF0ZWRNYXApIHtcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW4uZ2V0RW50aXR5VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5nZW5lcmF0ZWRNYXAhLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmVwYXJlZFZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLmRyaXZlci5wcmVwYXJlSHlkcmF0ZWRWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnNldEVudGl0eVZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmdlbmVyYXRlZE1hcCEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXBhcmVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cblxuXG5cblxuXG5cbiAgICAgICAgICAgICAgICAvL1xuXG5cblxuXG5cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVjb3ZlcnMgYWxsIGdpdmVuIHN1YmplY3RzIGluIHRoZSBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZVJlY292ZXJPcGVyYXRpb25zKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIHRoaXMucmVjb3ZlclN1YmplY3RzLm1hcChhc3luYyAoc3ViamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghc3ViamVjdC5pZGVudGlmaWVyKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ViamVjdFdpdGhvdXRJZGVudGlmaWVyRXJyb3Ioc3ViamVjdClcblxuICAgICAgICAgICAgICAgIGxldCB1cGRhdGVSZXN1bHQ6IFVwZGF0ZVJlc3VsdFxuXG5cbiAgICAgICAgICAgICAgICBpZiAoXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIGZhbHNlXG5cbiAgICAgICAgICAgICAgICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG5cblxuXG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc29mdERlbGV0ZVF1ZXJ5QnVpbGRlciA9IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVzdG9yZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAuZnJvbShzdWJqZWN0Lm1ldGFkYXRhLnRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgIC51cGRhdGVFbnRpdHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5yZWxvYWQgPT09IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGxMaXN0ZW5lcnMoZmFsc2UpXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1YmplY3QuZW50aXR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzb2Z0RGVsZXRlUXVlcnlCdWlsZGVyLndoZXJlRW50aXR5KHN1YmplY3QuaWRlbnRpZmllcilcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc29mdERlbGV0ZVF1ZXJ5QnVpbGRlci53aGVyZShzdWJqZWN0LmlkZW50aWZpZXIpXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVSZXN1bHQgPSBhd2FpdCBzb2Z0RGVsZXRlUXVlcnlCdWlsZGVyLmV4ZWN1dGUoKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN1YmplY3QuZ2VuZXJhdGVkTWFwID0gdXBkYXRlUmVzdWx0LmdlbmVyYXRlZE1hcHNbMF1cbiAgICAgICAgICAgICAgICBpZiAoc3ViamVjdC5nZW5lcmF0ZWRNYXApIHtcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW4uZ2V0RW50aXR5VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5nZW5lcmF0ZWRNYXAhLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmVwYXJlZFZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLmRyaXZlci5wcmVwYXJlSHlkcmF0ZWRWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnNldEVudGl0eVZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmdlbmVyYXRlZE1hcCEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXBhcmVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cblxuXG5cblxuXG5cbiAgICAgICAgICAgICAgICAvL1xuXG5cblxuXG5cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyBhbGwgc3BlY2lhbCBjb2x1bW5zIG9mIHRoZSBzYXZpbmcgZW50aXRpZXMgKGNyZWF0ZSBkYXRlLCB1cGRhdGUgZGF0ZSwgdmVyc2lvbiwgZXRjLikuXG4gICAgICogQWxzbyB1cGRhdGVzIG51bGxhYmxlIGNvbHVtbnMgYW5kIGNvbHVtbnMgd2l0aCBkZWZhdWx0IHZhbHVlcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlU3BlY2lhbENvbHVtbnNJblBlcnNpc3RlZEVudGl0aWVzKCk6IHZvaWQge1xuXG4gICAgICAgIGlmICh0aGlzLmluc2VydFN1YmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3BlY2lhbENvbHVtbnNJbkluc2VydGVkQW5kVXBkYXRlZEVudGl0aWVzKFxuICAgICAgICAgICAgICAgIHRoaXMuaW5zZXJ0U3ViamVjdHMsXG4gICAgICAgICAgICApXG5cblxuICAgICAgICBpZiAodGhpcy51cGRhdGVTdWJqZWN0cy5sZW5ndGgpXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNwZWNpYWxDb2x1bW5zSW5JbnNlcnRlZEFuZFVwZGF0ZWRFbnRpdGllcyhcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN1YmplY3RzLFxuICAgICAgICAgICAgKVxuXG5cbiAgICAgICAgaWYgKHRoaXMuc29mdFJlbW92ZVN1YmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3BlY2lhbENvbHVtbnNJbkluc2VydGVkQW5kVXBkYXRlZEVudGl0aWVzKFxuICAgICAgICAgICAgICAgIHRoaXMuc29mdFJlbW92ZVN1YmplY3RzLFxuICAgICAgICAgICAgKVxuXG5cbiAgICAgICAgaWYgKHRoaXMucmVjb3ZlclN1YmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3BlY2lhbENvbHVtbnNJbkluc2VydGVkQW5kVXBkYXRlZEVudGl0aWVzKFxuICAgICAgICAgICAgICAgIHRoaXMucmVjb3ZlclN1YmplY3RzLFxuICAgICAgICAgICAgKVxuXG5cbiAgICAgICAgaWYgKHRoaXMucmVtb3ZlU3ViamVjdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXN1YmplY3QuZW50aXR5KSByZXR1cm5cblxuICAgICAgICAgICAgICAgIHN1YmplY3QubWV0YWRhdGEucHJpbWFyeUNvbHVtbnMuZm9yRWFjaCgocHJpbWFyeUNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwcmltYXJ5Q29sdW1uLnNldEVudGl0eVZhbHVlKHN1YmplY3QuZW50aXR5ISwgdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cblxuICAgICAgICB0aGlzLmFsbFN1YmplY3RzLmZvckVhY2goKHN1YmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICghc3ViamVjdC5lbnRpdHkpIHJldHVyblxuXG4gICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLnJlbGF0aW9uSWRzLmZvckVhY2goKHJlbGF0aW9uSWQpID0+IHtcbiAgICAgICAgICAgICAgICByZWxhdGlvbklkLnNldFZhbHVlKHN1YmplY3QuZW50aXR5ISlcbiAgICAgICAgICAgIH0pXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgYWxsIHNwZWNpYWwgY29sdW1ucyBvZiB0aGUgc2F2aW5nIGVudGl0aWVzIChjcmVhdGUgZGF0ZSwgdXBkYXRlIGRhdGUsIHZlcnNpb24sIGV0Yy4pLlxuICAgICAqIEFsc28gdXBkYXRlcyBudWxsYWJsZSBjb2x1bW5zIGFuZCBjb2x1bW5zIHdpdGggZGVmYXVsdCB2YWx1ZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVNwZWNpYWxDb2x1bW5zSW5JbnNlcnRlZEFuZFVwZGF0ZWRFbnRpdGllcyhcbiAgICAgICAgc3ViamVjdHM6IFN1YmplY3RbXSxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgc3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFzdWJqZWN0LmVudGl0eSkgcmV0dXJuXG5cblxuICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLmNoaWxkRW50aXR5TWV0YWRhdGFzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5tZXRhZGF0YS5jaGlsZEVudGl0eU1ldGFkYXRhc1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgobWV0YWRhdGEpID0+IG1ldGFkYXRhLnRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbmRleE9mKGNvbHVtbi50YXJnZXQpICE9PSAtMVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG5cblxuICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uaXNWaXJ0dWFsKSByZXR1cm5cblxuXG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtbi5pc051bGxhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtblZhbHVlID0gY29sdW1uLmdldEVudGl0eVZhbHVlKHN1YmplY3QuZW50aXR5ISlcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtblZhbHVlID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uc2V0RW50aXR5VmFsdWUoc3ViamVjdC5lbnRpdHkhLCBudWxsKVxuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgaWYgKHN1YmplY3QudXBkYXRlZFJlbGF0aW9uTWFwcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QudXBkYXRlZFJlbGF0aW9uTWFwcy5mb3JFYWNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHVwZGF0ZWRSZWxhdGlvbk1hcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRSZWxhdGlvbk1hcC5yZWxhdGlvbi5qb2luQ29sdW1ucy5mb3JFYWNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uLmlzVmlydHVhbCA9PT0gdHJ1ZSkgcmV0dXJuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5zZXRFbnRpdHlWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmVudGl0eSEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0VXRpbHMuaXNPYmplY3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRSZWxhdGlvbk1hcC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY29sdW1uLnJlZmVyZW5jZWRDb2x1bW4hLmdldEVudGl0eVZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkUmVsYXRpb25NYXAudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVwZGF0ZWRSZWxhdGlvbk1hcC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcblxuXG4gICAgICAgICAgICBpZiAoc3ViamVjdC5nZW5lcmF0ZWRNYXApXG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLm1lcmdlKFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm1ldGFkYXRhLnRhcmdldCBhcyBhbnksXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmdlbmVyYXRlZE1hcCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR3JvdXBzIHN1YmplY3RzIGJ5IG1ldGFkYXRhIG5hbWVzIChieSB0YWJsZXMpIHRvIG1ha2UgYnVsayBpbnNlcnRpb25zIGFuZCBkZWxldGlvbnMgcG9zc2libGUuXG4gICAgICogSG93ZXZlciB0aGVyZSBhcmUgc29tZSBsaW1pdGF0aW9ucyB3aXRoIGJ1bGsgaW5zZXJ0aW9ucyBvZiBkYXRhIGludG8gdGFibGVzIHdpdGggZ2VuZXJhdGVkIChpbmNyZW1lbnQpIGNvbHVtbnNcbiAgICAgKiBpbiBzb21lIGRyaXZlcnMuIFNvbWUgZHJpdmVycyBsaWtlIG15c3FsIGFuZCBzcWxpdGUgZG9lcyBub3Qgc3VwcG9ydCByZXR1cm5pbmcgbXVsdGlwbGUgZ2VuZXJhdGVkIGNvbHVtbnNcbiAgICAgKiBhZnRlciBpbnNlcnRpb24gYW5kIGNhbiBvbmx5IHJldHVybiBhIHNpbmdsZSBnZW5lcmF0ZWQgY29sdW1uIHZhbHVlLCB0aGF0J3Mgd2h5IGl0cyBub3QgcG9zc2libGUgdG8gZG8gYnVsayBpbnNlcnRpb24sXG4gICAgICogYmVjYXVzZSBpdCBicmVha3MgaW5zZXJ0aW9uIHJlc3VsdCdzIGdlbmVyYXRlZE1hcCBhbmQgbGVhZHMgdG8gcHJvYmxlbXMgd2hlbiB0aGlzIHN1YmplY3QgaXMgdXNlZCBpbiBvdGhlciBzdWJqZWN0cyBzYXZlcy5cbiAgICAgKiBUaGF0J3Mgd2h5IHdlIG9ubHkgc3VwcG9ydCBidWxraW5nIGluIGp1bmN0aW9uIHRhYmxlcyBmb3IgdGhvc2UgZHJpdmVycy5cbiAgICAgKlxuICAgICAqIE90aGVyIGRyaXZlcnMgbGlrZSBwb3N0Z3JlcyBhbmQgc3FsIHNlcnZlciBzdXBwb3J0IFJFVFVSTklORyAvIE9VVFBVVCBzdGF0ZW1lbnQgd2hpY2ggYWxsb3dzIHRvIHJldHVybiBnZW5lcmF0ZWRcbiAgICAgKiBpZCBmb3IgZWFjaCBpbnNlcnRlZCByb3csIHRoYXQncyB3aHkgYnVsayBpbnNlcnRpb24gaXMgbm90IGxpbWl0ZWQgdG8ganVuY3Rpb24gdGFibGVzIGluIHRoZXJlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBncm91cEJ1bGtTdWJqZWN0cyhcbiAgICAgICAgc3ViamVjdHM6IFN1YmplY3RbXSxcbiAgICAgICAgdHlwZTogXCJpbnNlcnRcIiB8IFwiZGVsZXRlXCIsXG4gICAgKTogW3sgW2tleTogc3RyaW5nXTogU3ViamVjdFtdIH0sIHN0cmluZ1tdXSB7XG4gICAgICAgIGNvbnN0IGdyb3VwOiB7IFtrZXk6IHN0cmluZ106IFN1YmplY3RbXSB9ID0ge31cbiAgICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXVxuICAgICAgICBjb25zdCBoYXNSZXR1cm5pbmdEZXBlbmRDb2x1bW5zID0gc3ViamVjdHMuc29tZSgoc3ViamVjdCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN1YmplY3QubWV0YWRhdGEuZ2V0SW5zZXJ0aW9uUmV0dXJuaW5nQ29sdW1ucygpLmxlbmd0aCA+IDBcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgZ3JvdXBpbmdBbGxvd2VkID1cbiAgICAgICAgICAgIHR5cGUgPT09IFwiZGVsZXRlXCIgfHxcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5kcml2ZXIuaXNSZXR1cm5pbmdTcWxTdXBwb3J0ZWQoXG4gICAgICAgICAgICAgICAgXCJpbnNlcnRcIixcbiAgICAgICAgICAgICkgfHxcbiAgICAgICAgICAgIGhhc1JldHVybmluZ0RlcGVuZENvbHVtbnMgPT09IGZhbHNlXG5cbiAgICAgICAgc3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9XG4gICAgICAgICAgICAgICAgZ3JvdXBpbmdBbGxvd2VkIHx8IHN1YmplY3QubWV0YWRhdGEuaXNKdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICA/IHN1YmplY3QubWV0YWRhdGEubmFtZVxuICAgICAgICAgICAgICAgICAgICA6IHN1YmplY3QubWV0YWRhdGEubmFtZSArIFwiX1wiICsgaW5kZXhcbiAgICAgICAgICAgIGlmICghZ3JvdXBba2V5XSkge1xuICAgICAgICAgICAgICAgIGdyb3VwW2tleV0gPSBbc3ViamVjdF1cbiAgICAgICAgICAgICAgICBrZXlzLnB1c2goa2V5KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBncm91cFtrZXldLnB1c2goc3ViamVjdClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gW2dyb3VwLCBrZXlzXVxuICAgIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tdHlwZW9ybSBsaWIvdHlwZW9ybS9wZXJzaXN0ZW5jZS9TdWJqZWN0RXhlY3V0b3IudHMiXX0=