taon-typeorm 18.0.23 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1216) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/package.json +1 -1
  3. package/tmp-environment.json +24 -3
  4. package/browser/esm2022/lib/index.mjs +0 -4
  5. package/browser/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
  6. package/browser/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
  7. package/browser/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
  8. package/browser/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
  9. package/browser/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
  10. package/browser/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
  11. package/browser/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
  12. package/browser/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
  13. package/browser/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
  14. package/browser/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
  15. package/browser/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
  16. package/browser/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
  17. package/browser/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
  18. package/browser/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
  19. package/browser/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
  20. package/browser/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
  21. package/browser/esm2022/lib/typeorm/constants.mjs +0 -4
  22. package/browser/esm2022/lib/typeorm/container.mjs +0 -57
  23. package/browser/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
  24. package/browser/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
  25. package/browser/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
  26. package/browser/esm2022/lib/typeorm/data-source/index.mjs +0 -4
  27. package/browser/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
  28. package/browser/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
  29. package/browser/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
  30. package/browser/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
  31. package/browser/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
  32. package/browser/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
  33. package/browser/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
  34. package/browser/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
  35. package/browser/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
  36. package/browser/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
  37. package/browser/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
  38. package/browser/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
  39. package/browser/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
  40. package/browser/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
  41. package/browser/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
  42. package/browser/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
  43. package/browser/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
  44. package/browser/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
  45. package/browser/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
  46. package/browser/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
  47. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
  48. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
  49. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
  50. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
  51. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
  52. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
  53. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
  54. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
  55. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
  56. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
  57. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
  58. package/browser/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
  59. package/browser/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
  60. package/browser/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
  61. package/browser/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
  62. package/browser/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
  63. package/browser/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
  64. package/browser/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
  65. package/browser/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
  66. package/browser/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
  67. package/browser/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
  68. package/browser/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
  69. package/browser/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
  70. package/browser/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
  71. package/browser/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
  72. package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
  73. package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
  74. package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
  75. package/browser/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
  76. package/browser/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
  77. package/browser/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
  78. package/browser/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
  79. package/browser/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
  80. package/browser/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
  81. package/browser/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
  82. package/browser/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
  83. package/browser/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
  84. package/browser/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
  85. package/browser/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
  86. package/browser/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
  87. package/browser/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
  88. package/browser/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
  89. package/browser/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
  90. package/browser/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
  91. package/browser/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
  92. package/browser/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
  93. package/browser/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
  94. package/browser/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
  95. package/browser/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
  96. package/browser/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
  97. package/browser/esm2022/lib/typeorm/driver/Query.mjs +0 -13
  98. package/browser/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
  99. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
  100. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
  101. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
  102. package/browser/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
  103. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
  104. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
  105. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
  106. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
  107. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
  108. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
  109. package/browser/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
  110. package/browser/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
  111. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
  112. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
  113. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
  114. package/browser/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
  115. package/browser/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
  116. package/browser/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
  117. package/browser/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
  118. package/browser/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
  119. package/browser/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
  120. package/browser/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
  121. package/browser/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
  122. package/browser/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
  123. package/browser/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
  124. package/browser/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
  125. package/browser/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
  126. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
  127. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
  128. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
  129. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
  130. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
  131. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
  132. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
  133. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
  134. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
  135. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
  136. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
  137. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
  138. package/browser/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
  139. package/browser/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
  140. package/browser/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
  141. package/browser/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
  142. package/browser/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
  143. package/browser/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
  144. package/browser/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
  145. package/browser/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
  146. package/browser/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
  147. package/browser/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
  148. package/browser/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
  149. package/browser/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
  150. package/browser/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
  151. package/browser/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
  152. package/browser/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
  153. package/browser/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
  154. package/browser/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
  155. package/browser/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
  156. package/browser/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
  157. package/browser/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
  158. package/browser/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
  159. package/browser/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
  160. package/browser/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
  161. package/browser/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
  162. package/browser/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
  163. package/browser/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
  164. package/browser/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
  165. package/browser/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
  166. package/browser/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
  167. package/browser/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
  168. package/browser/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
  169. package/browser/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
  170. package/browser/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
  171. package/browser/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
  172. package/browser/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
  173. package/browser/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
  174. package/browser/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
  175. package/browser/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
  176. package/browser/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
  177. package/browser/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
  178. package/browser/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
  179. package/browser/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
  180. package/browser/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
  181. package/browser/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
  182. package/browser/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
  183. package/browser/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
  184. package/browser/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
  185. package/browser/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
  186. package/browser/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
  187. package/browser/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
  188. package/browser/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
  189. package/browser/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
  190. package/browser/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
  191. package/browser/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
  192. package/browser/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
  193. package/browser/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
  194. package/browser/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
  195. package/browser/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
  196. package/browser/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
  197. package/browser/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
  198. package/browser/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
  199. package/browser/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
  200. package/browser/esm2022/lib/typeorm/error/index.mjs +0 -63
  201. package/browser/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
  202. package/browser/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
  203. package/browser/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
  204. package/browser/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
  205. package/browser/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
  206. package/browser/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
  207. package/browser/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
  208. package/browser/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
  209. package/browser/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
  210. package/browser/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
  211. package/browser/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
  212. package/browser/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
  213. package/browser/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
  214. package/browser/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
  215. package/browser/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
  216. package/browser/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
  217. package/browser/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
  218. package/browser/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
  219. package/browser/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
  220. package/browser/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
  221. package/browser/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
  222. package/browser/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
  223. package/browser/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
  224. package/browser/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
  225. package/browser/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
  226. package/browser/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
  227. package/browser/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
  228. package/browser/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
  229. package/browser/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
  230. package/browser/esm2022/lib/typeorm/globals.mjs +0 -165
  231. package/browser/esm2022/lib/typeorm/index.mjs +0 -157
  232. package/browser/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
  233. package/browser/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
  234. package/browser/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
  235. package/browser/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
  236. package/browser/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
  237. package/browser/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
  238. package/browser/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
  239. package/browser/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
  240. package/browser/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
  241. package/browser/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
  242. package/browser/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
  243. package/browser/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
  244. package/browser/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
  245. package/browser/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
  246. package/browser/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
  247. package/browser/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
  248. package/browser/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
  249. package/browser/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
  250. package/browser/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
  251. package/browser/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
  252. package/browser/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
  253. package/browser/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
  254. package/browser/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
  255. package/browser/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
  256. package/browser/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
  257. package/browser/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
  258. package/browser/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
  259. package/browser/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
  260. package/browser/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
  261. package/browser/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
  262. package/browser/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
  263. package/browser/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
  264. package/browser/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
  265. package/browser/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
  266. package/browser/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
  267. package/browser/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
  268. package/browser/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
  269. package/browser/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
  270. package/browser/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
  271. package/browser/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
  272. package/browser/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
  273. package/browser/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
  274. package/browser/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
  275. package/browser/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
  276. package/browser/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
  277. package/browser/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
  278. package/browser/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
  279. package/browser/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
  280. package/browser/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
  281. package/browser/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
  282. package/browser/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
  283. package/browser/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
  284. package/browser/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
  285. package/browser/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
  286. package/browser/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
  287. package/browser/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
  288. package/browser/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
  289. package/browser/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
  290. package/browser/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
  291. package/browser/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
  292. package/browser/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
  293. package/browser/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
  294. package/browser/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
  295. package/browser/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
  296. package/browser/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
  297. package/browser/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
  298. package/browser/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
  299. package/browser/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
  300. package/browser/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
  301. package/browser/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
  302. package/browser/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
  303. package/browser/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
  304. package/browser/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
  305. package/browser/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
  306. package/browser/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
  307. package/browser/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
  308. package/browser/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
  309. package/browser/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -346
  310. package/browser/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
  311. package/browser/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
  312. package/browser/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
  313. package/browser/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
  314. package/browser/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
  315. package/browser/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
  316. package/browser/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
  317. package/browser/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
  318. package/browser/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
  319. package/browser/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
  320. package/browser/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
  321. package/browser/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
  322. package/browser/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
  323. package/browser/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
  324. package/browser/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
  325. package/browser/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
  326. package/browser/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
  327. package/browser/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
  328. package/browser/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
  329. package/browser/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
  330. package/browser/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
  331. package/browser/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
  332. package/browser/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
  333. package/browser/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
  334. package/browser/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
  335. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
  336. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
  337. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
  338. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
  339. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
  340. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
  341. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
  342. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
  343. package/browser/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
  344. package/browser/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
  345. package/browser/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
  346. package/browser/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
  347. package/browser/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
  348. package/browser/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
  349. package/browser/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
  350. package/browser/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
  351. package/browser/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
  352. package/browser/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
  353. package/browser/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
  354. package/browser/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
  355. package/browser/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
  356. package/browser/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
  357. package/browser/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
  358. package/browser/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
  359. package/browser/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
  360. package/browser/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
  361. package/browser/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
  362. package/browser/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
  363. package/browser/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
  364. package/browser/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
  365. package/browser/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
  366. package/browser/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
  367. package/browser/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
  368. package/browser/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
  369. package/browser/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
  370. package/browser/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
  371. package/browser/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
  372. package/browser/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
  373. package/browser/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
  374. package/browser/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
  375. package/browser/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
  376. package/browser/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
  377. package/browser/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
  378. package/browser/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
  379. package/browser/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
  380. package/browser/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
  381. package/browser/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
  382. package/browser/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
  383. package/browser/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
  384. package/browser/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
  385. package/browser/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
  386. package/browser/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
  387. package/browser/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
  388. package/browser/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
  389. package/browser/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
  390. package/browser/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
  391. package/browser/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
  392. package/browser/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
  393. package/browser/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
  394. package/browser/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
  395. package/browser/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
  396. package/browser/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
  397. package/browser/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
  398. package/browser/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
  399. package/browser/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
  400. package/browser/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
  401. package/browser/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
  402. package/browser/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
  403. package/browser/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
  404. package/browser/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
  405. package/browser/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
  406. package/browser/esm2022/public-api.mjs +0 -2
  407. package/browser/esm2022/taon-typeorm.mjs +0 -5
  408. package/client/esm2022/lib/index.mjs +0 -4
  409. package/client/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
  410. package/client/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
  411. package/client/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
  412. package/client/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
  413. package/client/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
  414. package/client/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
  415. package/client/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
  416. package/client/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
  417. package/client/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
  418. package/client/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
  419. package/client/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
  420. package/client/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
  421. package/client/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
  422. package/client/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
  423. package/client/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
  424. package/client/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
  425. package/client/esm2022/lib/typeorm/constants.mjs +0 -4
  426. package/client/esm2022/lib/typeorm/container.mjs +0 -57
  427. package/client/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
  428. package/client/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
  429. package/client/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
  430. package/client/esm2022/lib/typeorm/data-source/index.mjs +0 -4
  431. package/client/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
  432. package/client/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
  433. package/client/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
  434. package/client/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
  435. package/client/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
  436. package/client/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
  437. package/client/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
  438. package/client/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
  439. package/client/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
  440. package/client/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
  441. package/client/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
  442. package/client/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
  443. package/client/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
  444. package/client/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
  445. package/client/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
  446. package/client/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
  447. package/client/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
  448. package/client/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
  449. package/client/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
  450. package/client/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
  451. package/client/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
  452. package/client/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
  453. package/client/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
  454. package/client/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
  455. package/client/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
  456. package/client/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
  457. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
  458. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
  459. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
  460. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
  461. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
  462. package/client/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
  463. package/client/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
  464. package/client/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
  465. package/client/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
  466. package/client/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
  467. package/client/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
  468. package/client/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
  469. package/client/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
  470. package/client/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
  471. package/client/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
  472. package/client/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
  473. package/client/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
  474. package/client/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
  475. package/client/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
  476. package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
  477. package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
  478. package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
  479. package/client/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
  480. package/client/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
  481. package/client/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
  482. package/client/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
  483. package/client/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
  484. package/client/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
  485. package/client/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
  486. package/client/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
  487. package/client/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
  488. package/client/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
  489. package/client/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
  490. package/client/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
  491. package/client/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
  492. package/client/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
  493. package/client/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
  494. package/client/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
  495. package/client/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
  496. package/client/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
  497. package/client/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
  498. package/client/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
  499. package/client/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
  500. package/client/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
  501. package/client/esm2022/lib/typeorm/driver/Query.mjs +0 -13
  502. package/client/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
  503. package/client/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
  504. package/client/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
  505. package/client/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
  506. package/client/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
  507. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
  508. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
  509. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
  510. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
  511. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
  512. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
  513. package/client/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
  514. package/client/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
  515. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
  516. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
  517. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
  518. package/client/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
  519. package/client/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
  520. package/client/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
  521. package/client/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
  522. package/client/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
  523. package/client/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
  524. package/client/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
  525. package/client/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
  526. package/client/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
  527. package/client/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
  528. package/client/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
  529. package/client/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
  530. package/client/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
  531. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
  532. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
  533. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
  534. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
  535. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
  536. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
  537. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
  538. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
  539. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
  540. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
  541. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
  542. package/client/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
  543. package/client/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
  544. package/client/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
  545. package/client/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
  546. package/client/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
  547. package/client/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
  548. package/client/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
  549. package/client/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
  550. package/client/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
  551. package/client/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
  552. package/client/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
  553. package/client/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
  554. package/client/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
  555. package/client/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
  556. package/client/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
  557. package/client/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
  558. package/client/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
  559. package/client/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
  560. package/client/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
  561. package/client/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
  562. package/client/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
  563. package/client/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
  564. package/client/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
  565. package/client/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
  566. package/client/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
  567. package/client/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
  568. package/client/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
  569. package/client/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
  570. package/client/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
  571. package/client/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
  572. package/client/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
  573. package/client/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
  574. package/client/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
  575. package/client/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
  576. package/client/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
  577. package/client/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
  578. package/client/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
  579. package/client/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
  580. package/client/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
  581. package/client/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
  582. package/client/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
  583. package/client/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
  584. package/client/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
  585. package/client/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
  586. package/client/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
  587. package/client/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
  588. package/client/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
  589. package/client/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
  590. package/client/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
  591. package/client/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
  592. package/client/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
  593. package/client/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
  594. package/client/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
  595. package/client/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
  596. package/client/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
  597. package/client/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
  598. package/client/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
  599. package/client/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
  600. package/client/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
  601. package/client/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
  602. package/client/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
  603. package/client/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
  604. package/client/esm2022/lib/typeorm/error/index.mjs +0 -63
  605. package/client/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
  606. package/client/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
  607. package/client/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
  608. package/client/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
  609. package/client/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
  610. package/client/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
  611. package/client/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
  612. package/client/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
  613. package/client/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
  614. package/client/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
  615. package/client/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
  616. package/client/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
  617. package/client/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
  618. package/client/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
  619. package/client/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
  620. package/client/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
  621. package/client/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
  622. package/client/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
  623. package/client/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
  624. package/client/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
  625. package/client/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
  626. package/client/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
  627. package/client/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
  628. package/client/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
  629. package/client/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
  630. package/client/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
  631. package/client/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
  632. package/client/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
  633. package/client/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
  634. package/client/esm2022/lib/typeorm/globals.mjs +0 -165
  635. package/client/esm2022/lib/typeorm/index.mjs +0 -157
  636. package/client/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
  637. package/client/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
  638. package/client/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
  639. package/client/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
  640. package/client/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
  641. package/client/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
  642. package/client/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
  643. package/client/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
  644. package/client/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
  645. package/client/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
  646. package/client/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
  647. package/client/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
  648. package/client/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
  649. package/client/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
  650. package/client/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
  651. package/client/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
  652. package/client/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
  653. package/client/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
  654. package/client/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
  655. package/client/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
  656. package/client/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
  657. package/client/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
  658. package/client/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
  659. package/client/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
  660. package/client/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
  661. package/client/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
  662. package/client/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
  663. package/client/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
  664. package/client/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
  665. package/client/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
  666. package/client/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
  667. package/client/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
  668. package/client/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
  669. package/client/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
  670. package/client/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
  671. package/client/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
  672. package/client/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
  673. package/client/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
  674. package/client/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
  675. package/client/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
  676. package/client/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
  677. package/client/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
  678. package/client/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
  679. package/client/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
  680. package/client/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
  681. package/client/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
  682. package/client/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
  683. package/client/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
  684. package/client/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
  685. package/client/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
  686. package/client/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
  687. package/client/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
  688. package/client/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
  689. package/client/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
  690. package/client/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
  691. package/client/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
  692. package/client/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
  693. package/client/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
  694. package/client/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
  695. package/client/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
  696. package/client/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
  697. package/client/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
  698. package/client/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
  699. package/client/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
  700. package/client/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
  701. package/client/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
  702. package/client/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
  703. package/client/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
  704. package/client/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
  705. package/client/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
  706. package/client/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
  707. package/client/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
  708. package/client/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
  709. package/client/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
  710. package/client/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
  711. package/client/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
  712. package/client/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
  713. package/client/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -346
  714. package/client/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
  715. package/client/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
  716. package/client/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
  717. package/client/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
  718. package/client/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
  719. package/client/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
  720. package/client/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
  721. package/client/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
  722. package/client/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
  723. package/client/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
  724. package/client/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
  725. package/client/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
  726. package/client/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
  727. package/client/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
  728. package/client/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
  729. package/client/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
  730. package/client/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
  731. package/client/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
  732. package/client/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
  733. package/client/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
  734. package/client/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
  735. package/client/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
  736. package/client/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
  737. package/client/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
  738. package/client/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
  739. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
  740. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
  741. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
  742. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
  743. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
  744. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
  745. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
  746. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
  747. package/client/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
  748. package/client/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
  749. package/client/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
  750. package/client/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
  751. package/client/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
  752. package/client/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
  753. package/client/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
  754. package/client/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
  755. package/client/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
  756. package/client/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
  757. package/client/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
  758. package/client/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
  759. package/client/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
  760. package/client/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
  761. package/client/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
  762. package/client/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
  763. package/client/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
  764. package/client/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
  765. package/client/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
  766. package/client/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
  767. package/client/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
  768. package/client/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
  769. package/client/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
  770. package/client/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
  771. package/client/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
  772. package/client/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
  773. package/client/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
  774. package/client/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
  775. package/client/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
  776. package/client/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
  777. package/client/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
  778. package/client/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
  779. package/client/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
  780. package/client/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
  781. package/client/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
  782. package/client/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
  783. package/client/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
  784. package/client/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
  785. package/client/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
  786. package/client/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
  787. package/client/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
  788. package/client/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
  789. package/client/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
  790. package/client/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
  791. package/client/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
  792. package/client/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
  793. package/client/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
  794. package/client/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
  795. package/client/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
  796. package/client/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
  797. package/client/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
  798. package/client/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
  799. package/client/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
  800. package/client/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
  801. package/client/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
  802. package/client/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
  803. package/client/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
  804. package/client/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
  805. package/client/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
  806. package/client/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
  807. package/client/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
  808. package/client/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
  809. package/client/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
  810. package/client/esm2022/public-api.mjs +0 -2
  811. package/client/esm2022/taon-typeorm.mjs +0 -5
  812. package/taon.jsonc +0 -8
  813. package/websql/esm2022/lib/index.mjs +0 -4
  814. package/websql/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
  815. package/websql/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
  816. package/websql/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
  817. package/websql/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
  818. package/websql/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
  819. package/websql/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
  820. package/websql/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
  821. package/websql/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
  822. package/websql/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
  823. package/websql/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
  824. package/websql/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
  825. package/websql/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
  826. package/websql/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
  827. package/websql/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
  828. package/websql/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
  829. package/websql/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
  830. package/websql/esm2022/lib/typeorm/constants.mjs +0 -4
  831. package/websql/esm2022/lib/typeorm/container.mjs +0 -57
  832. package/websql/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
  833. package/websql/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
  834. package/websql/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
  835. package/websql/esm2022/lib/typeorm/data-source/index.mjs +0 -4
  836. package/websql/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
  837. package/websql/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
  838. package/websql/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
  839. package/websql/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
  840. package/websql/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
  841. package/websql/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
  842. package/websql/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
  843. package/websql/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
  844. package/websql/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
  845. package/websql/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
  846. package/websql/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
  847. package/websql/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
  848. package/websql/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
  849. package/websql/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
  850. package/websql/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
  851. package/websql/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
  852. package/websql/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
  853. package/websql/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
  854. package/websql/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
  855. package/websql/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
  856. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
  857. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
  858. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
  859. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
  860. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
  861. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
  862. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
  863. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
  864. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
  865. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
  866. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
  867. package/websql/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
  868. package/websql/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
  869. package/websql/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
  870. package/websql/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
  871. package/websql/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
  872. package/websql/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
  873. package/websql/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
  874. package/websql/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
  875. package/websql/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
  876. package/websql/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
  877. package/websql/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
  878. package/websql/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
  879. package/websql/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
  880. package/websql/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
  881. package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
  882. package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
  883. package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
  884. package/websql/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
  885. package/websql/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
  886. package/websql/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
  887. package/websql/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
  888. package/websql/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
  889. package/websql/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
  890. package/websql/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
  891. package/websql/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
  892. package/websql/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
  893. package/websql/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
  894. package/websql/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
  895. package/websql/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
  896. package/websql/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
  897. package/websql/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
  898. package/websql/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
  899. package/websql/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
  900. package/websql/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
  901. package/websql/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
  902. package/websql/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
  903. package/websql/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
  904. package/websql/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
  905. package/websql/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
  906. package/websql/esm2022/lib/typeorm/driver/Query.mjs +0 -13
  907. package/websql/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
  908. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
  909. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
  910. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
  911. package/websql/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
  912. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
  913. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
  914. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
  915. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
  916. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
  917. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
  918. package/websql/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
  919. package/websql/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
  920. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
  921. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
  922. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
  923. package/websql/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
  924. package/websql/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
  925. package/websql/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
  926. package/websql/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
  927. package/websql/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
  928. package/websql/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
  929. package/websql/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
  930. package/websql/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
  931. package/websql/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
  932. package/websql/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
  933. package/websql/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
  934. package/websql/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
  935. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
  936. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
  937. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
  938. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
  939. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
  940. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
  941. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
  942. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
  943. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
  944. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
  945. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
  946. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
  947. package/websql/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
  948. package/websql/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
  949. package/websql/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
  950. package/websql/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
  951. package/websql/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
  952. package/websql/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
  953. package/websql/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
  954. package/websql/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
  955. package/websql/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
  956. package/websql/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
  957. package/websql/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
  958. package/websql/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
  959. package/websql/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
  960. package/websql/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
  961. package/websql/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
  962. package/websql/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
  963. package/websql/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
  964. package/websql/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
  965. package/websql/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
  966. package/websql/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
  967. package/websql/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
  968. package/websql/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
  969. package/websql/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
  970. package/websql/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
  971. package/websql/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
  972. package/websql/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
  973. package/websql/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
  974. package/websql/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
  975. package/websql/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
  976. package/websql/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
  977. package/websql/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
  978. package/websql/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
  979. package/websql/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
  980. package/websql/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
  981. package/websql/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
  982. package/websql/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
  983. package/websql/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
  984. package/websql/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
  985. package/websql/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
  986. package/websql/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
  987. package/websql/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
  988. package/websql/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
  989. package/websql/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
  990. package/websql/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
  991. package/websql/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
  992. package/websql/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
  993. package/websql/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
  994. package/websql/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
  995. package/websql/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
  996. package/websql/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
  997. package/websql/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
  998. package/websql/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
  999. package/websql/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
  1000. package/websql/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
  1001. package/websql/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
  1002. package/websql/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
  1003. package/websql/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
  1004. package/websql/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
  1005. package/websql/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
  1006. package/websql/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
  1007. package/websql/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
  1008. package/websql/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
  1009. package/websql/esm2022/lib/typeorm/error/index.mjs +0 -63
  1010. package/websql/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
  1011. package/websql/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
  1012. package/websql/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
  1013. package/websql/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
  1014. package/websql/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
  1015. package/websql/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
  1016. package/websql/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
  1017. package/websql/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
  1018. package/websql/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
  1019. package/websql/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
  1020. package/websql/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
  1021. package/websql/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
  1022. package/websql/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
  1023. package/websql/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
  1024. package/websql/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
  1025. package/websql/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
  1026. package/websql/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
  1027. package/websql/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
  1028. package/websql/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
  1029. package/websql/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
  1030. package/websql/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
  1031. package/websql/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
  1032. package/websql/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
  1033. package/websql/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
  1034. package/websql/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
  1035. package/websql/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
  1036. package/websql/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
  1037. package/websql/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
  1038. package/websql/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
  1039. package/websql/esm2022/lib/typeorm/globals.mjs +0 -165
  1040. package/websql/esm2022/lib/typeorm/index.mjs +0 -157
  1041. package/websql/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
  1042. package/websql/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
  1043. package/websql/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
  1044. package/websql/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
  1045. package/websql/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
  1046. package/websql/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
  1047. package/websql/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
  1048. package/websql/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
  1049. package/websql/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
  1050. package/websql/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
  1051. package/websql/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
  1052. package/websql/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
  1053. package/websql/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
  1054. package/websql/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
  1055. package/websql/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
  1056. package/websql/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
  1057. package/websql/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
  1058. package/websql/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
  1059. package/websql/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
  1060. package/websql/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
  1061. package/websql/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
  1062. package/websql/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
  1063. package/websql/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
  1064. package/websql/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
  1065. package/websql/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
  1066. package/websql/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
  1067. package/websql/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
  1068. package/websql/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
  1069. package/websql/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
  1070. package/websql/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
  1071. package/websql/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
  1072. package/websql/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
  1073. package/websql/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
  1074. package/websql/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
  1075. package/websql/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
  1076. package/websql/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
  1077. package/websql/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
  1078. package/websql/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
  1079. package/websql/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
  1080. package/websql/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
  1081. package/websql/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
  1082. package/websql/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
  1083. package/websql/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
  1084. package/websql/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
  1085. package/websql/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
  1086. package/websql/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
  1087. package/websql/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
  1088. package/websql/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
  1089. package/websql/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
  1090. package/websql/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
  1091. package/websql/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
  1092. package/websql/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
  1093. package/websql/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
  1094. package/websql/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
  1095. package/websql/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
  1096. package/websql/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
  1097. package/websql/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
  1098. package/websql/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
  1099. package/websql/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
  1100. package/websql/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
  1101. package/websql/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
  1102. package/websql/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
  1103. package/websql/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
  1104. package/websql/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
  1105. package/websql/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
  1106. package/websql/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
  1107. package/websql/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
  1108. package/websql/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
  1109. package/websql/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
  1110. package/websql/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
  1111. package/websql/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
  1112. package/websql/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
  1113. package/websql/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
  1114. package/websql/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
  1115. package/websql/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
  1116. package/websql/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
  1117. package/websql/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
  1118. package/websql/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -331
  1119. package/websql/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
  1120. package/websql/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
  1121. package/websql/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
  1122. package/websql/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
  1123. package/websql/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
  1124. package/websql/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
  1125. package/websql/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
  1126. package/websql/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
  1127. package/websql/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
  1128. package/websql/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
  1129. package/websql/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
  1130. package/websql/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
  1131. package/websql/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
  1132. package/websql/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
  1133. package/websql/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
  1134. package/websql/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
  1135. package/websql/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
  1136. package/websql/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
  1137. package/websql/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
  1138. package/websql/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
  1139. package/websql/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
  1140. package/websql/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
  1141. package/websql/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
  1142. package/websql/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
  1143. package/websql/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
  1144. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
  1145. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
  1146. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
  1147. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
  1148. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
  1149. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
  1150. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
  1151. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
  1152. package/websql/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
  1153. package/websql/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
  1154. package/websql/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
  1155. package/websql/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
  1156. package/websql/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
  1157. package/websql/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
  1158. package/websql/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
  1159. package/websql/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
  1160. package/websql/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
  1161. package/websql/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
  1162. package/websql/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
  1163. package/websql/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
  1164. package/websql/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
  1165. package/websql/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
  1166. package/websql/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
  1167. package/websql/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
  1168. package/websql/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
  1169. package/websql/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
  1170. package/websql/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
  1171. package/websql/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
  1172. package/websql/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
  1173. package/websql/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
  1174. package/websql/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
  1175. package/websql/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
  1176. package/websql/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
  1177. package/websql/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
  1178. package/websql/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
  1179. package/websql/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
  1180. package/websql/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
  1181. package/websql/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
  1182. package/websql/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
  1183. package/websql/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
  1184. package/websql/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
  1185. package/websql/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
  1186. package/websql/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
  1187. package/websql/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
  1188. package/websql/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
  1189. package/websql/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
  1190. package/websql/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
  1191. package/websql/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
  1192. package/websql/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
  1193. package/websql/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
  1194. package/websql/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
  1195. package/websql/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
  1196. package/websql/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
  1197. package/websql/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
  1198. package/websql/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
  1199. package/websql/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
  1200. package/websql/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
  1201. package/websql/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
  1202. package/websql/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
  1203. package/websql/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
  1204. package/websql/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
  1205. package/websql/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
  1206. package/websql/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
  1207. package/websql/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
  1208. package/websql/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
  1209. package/websql/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
  1210. package/websql/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
  1211. package/websql/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
  1212. package/websql/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
  1213. package/websql/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
  1214. package/websql/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
  1215. package/websql/esm2022/public-api.mjs +0 -2
  1216. package/websql/esm2022/taon-typeorm.mjs +0 -5
@@ -1,596 +0,0 @@
1
- import { BroadcasterResult } from "./BroadcasterResult";
2
- import { ObjectUtils } from "../util/ObjectUtils";
3
- /**
4
- * Broadcaster provides a helper methods to broadcast events to the subscribers.
5
- */
6
- export class Broadcaster {
7
- constructor(queryRunner) {
8
- this.queryRunner = queryRunner;
9
- }
10
- async broadcast(event, ...args) {
11
- const result = new BroadcasterResult();
12
- const broadcastFunction = this[`broadcast${event}Event`];
13
- if (typeof broadcastFunction === "function") {
14
- ;
15
- broadcastFunction.call(this, result, ...args);
16
- }
17
- await result.wait();
18
- }
19
- /**
20
- * Broadcasts "BEFORE_INSERT" event.
21
- * Before insert event is executed before entity is being inserted to the database for the first time.
22
- * All subscribers and entity listeners who listened to this event will be executed at this point.
23
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
24
- *
25
- * Note: this method has a performance-optimized code organization, do not change code structure.
26
- */
27
- broadcastBeforeInsertEvent(result, metadata, entity) {
28
- if (entity && metadata.beforeInsertListeners.length) {
29
- metadata.beforeInsertListeners.forEach((listener) => {
30
- if (listener.isAllowed(entity)) {
31
- const executionResult = listener.execute(entity);
32
- if (executionResult instanceof Promise)
33
- result.promises.push(executionResult);
34
- result.count++;
35
- }
36
- });
37
- }
38
- if (this.queryRunner.connection.subscribers.length) {
39
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
40
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
41
- subscriber.beforeInsert) {
42
- const executionResult = subscriber.beforeInsert({
43
- connection: this.queryRunner.connection,
44
- queryRunner: this.queryRunner,
45
- manager: this.queryRunner.manager,
46
- entity: entity,
47
- metadata: metadata,
48
- });
49
- if (executionResult instanceof Promise)
50
- result.promises.push(executionResult);
51
- result.count++;
52
- }
53
- });
54
- }
55
- }
56
- /**
57
- * Broadcasts "BEFORE_UPDATE" event.
58
- * Before update event is executed before entity is being updated in the database.
59
- * All subscribers and entity listeners who listened to this event will be executed at this point.
60
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
61
- *
62
- * Note: this method has a performance-optimized code organization, do not change code structure.
63
- */
64
- broadcastBeforeUpdateEvent(result, metadata, entity, databaseEntity, updatedColumns, updatedRelations) {
65
- if (entity && metadata.beforeUpdateListeners.length) {
66
- metadata.beforeUpdateListeners.forEach((listener) => {
67
- if (listener.isAllowed(entity)) {
68
- const executionResult = listener.execute(entity);
69
- if (executionResult instanceof Promise)
70
- result.promises.push(executionResult);
71
- result.count++;
72
- }
73
- });
74
- }
75
- if (this.queryRunner.connection.subscribers.length) {
76
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
77
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
78
- subscriber.beforeUpdate) {
79
- const executionResult = subscriber.beforeUpdate({
80
- connection: this.queryRunner.connection,
81
- queryRunner: this.queryRunner,
82
- manager: this.queryRunner.manager,
83
- entity: entity,
84
- metadata: metadata,
85
- databaseEntity: databaseEntity,
86
- updatedColumns: updatedColumns || [],
87
- updatedRelations: updatedRelations || [],
88
- });
89
- if (executionResult instanceof Promise)
90
- result.promises.push(executionResult);
91
- result.count++;
92
- }
93
- });
94
- }
95
- }
96
- /**
97
- * Broadcasts "BEFORE_REMOVE" event.
98
- * Before remove event is executed before entity is being removed from the database.
99
- * All subscribers and entity listeners who listened to this event will be executed at this point.
100
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
101
- *
102
- * Note: this method has a performance-optimized code organization, do not change code structure.
103
- */
104
- broadcastBeforeRemoveEvent(result, metadata, entity, databaseEntity) {
105
- if (entity && metadata.beforeRemoveListeners.length) {
106
- metadata.beforeRemoveListeners.forEach((listener) => {
107
- if (listener.isAllowed(entity)) {
108
- const executionResult = listener.execute(entity);
109
- if (executionResult instanceof Promise)
110
- result.promises.push(executionResult);
111
- result.count++;
112
- }
113
- });
114
- }
115
- if (this.queryRunner.connection.subscribers.length) {
116
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
117
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
118
- subscriber.beforeRemove) {
119
- const executionResult = subscriber.beforeRemove({
120
- connection: this.queryRunner.connection,
121
- queryRunner: this.queryRunner,
122
- manager: this.queryRunner.manager,
123
- entity: entity,
124
- metadata: metadata,
125
- databaseEntity: databaseEntity,
126
- entityId: metadata.getEntityIdMixedMap(databaseEntity),
127
- });
128
- if (executionResult instanceof Promise)
129
- result.promises.push(executionResult);
130
- result.count++;
131
- }
132
- });
133
- }
134
- }
135
- /**
136
- * Broadcasts "BEFORE_SOFT_REMOVE" event.
137
- * Before soft remove event is executed before entity is being soft removed from the database.
138
- * All subscribers and entity listeners who listened to this event will be executed at this point.
139
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
140
- *
141
- * Note: this method has a performance-optimized code organization, do not change code structure.
142
- */
143
- broadcastBeforeSoftRemoveEvent(result, metadata, entity, databaseEntity) {
144
- if (entity && metadata.beforeSoftRemoveListeners.length) {
145
- metadata.beforeSoftRemoveListeners.forEach((listener) => {
146
- if (listener.isAllowed(entity)) {
147
- const executionResult = listener.execute(entity);
148
- if (executionResult instanceof Promise)
149
- result.promises.push(executionResult);
150
- result.count++;
151
- }
152
- });
153
- }
154
- if (this.queryRunner.connection.subscribers.length) {
155
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
156
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
157
- subscriber.beforeSoftRemove) {
158
- const executionResult = subscriber.beforeSoftRemove({
159
- connection: this.queryRunner.connection,
160
- queryRunner: this.queryRunner,
161
- manager: this.queryRunner.manager,
162
- entity: entity,
163
- metadata: metadata,
164
- databaseEntity: databaseEntity,
165
- entityId: metadata.getEntityIdMixedMap(databaseEntity),
166
- });
167
- if (executionResult instanceof Promise)
168
- result.promises.push(executionResult);
169
- result.count++;
170
- }
171
- });
172
- }
173
- }
174
- /**
175
- * Broadcasts "BEFORE_RECOVER" event.
176
- * Before recover event is executed before entity is being recovered in the database.
177
- * All subscribers and entity listeners who listened to this event will be executed at this point.
178
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
179
- *
180
- * Note: this method has a performance-optimized code organization, do not change code structure.
181
- */
182
- broadcastBeforeRecoverEvent(result, metadata, entity, databaseEntity) {
183
- if (entity && metadata.beforeRecoverListeners.length) {
184
- metadata.beforeRecoverListeners.forEach((listener) => {
185
- if (listener.isAllowed(entity)) {
186
- const executionResult = listener.execute(entity);
187
- if (executionResult instanceof Promise)
188
- result.promises.push(executionResult);
189
- result.count++;
190
- }
191
- });
192
- }
193
- if (this.queryRunner.connection.subscribers.length) {
194
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
195
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
196
- subscriber.beforeRecover) {
197
- const executionResult = subscriber.beforeRecover({
198
- connection: this.queryRunner.connection,
199
- queryRunner: this.queryRunner,
200
- manager: this.queryRunner.manager,
201
- entity: entity,
202
- metadata: metadata,
203
- databaseEntity: databaseEntity,
204
- entityId: metadata.getEntityIdMixedMap(databaseEntity),
205
- });
206
- if (executionResult instanceof Promise)
207
- result.promises.push(executionResult);
208
- result.count++;
209
- }
210
- });
211
- }
212
- }
213
- /**
214
- * Broadcasts "AFTER_INSERT" event.
215
- * After insert event is executed after entity is being persisted to the database for the first time.
216
- * All subscribers and entity listeners who listened to this event will be executed at this point.
217
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
218
- *
219
- * Note: this method has a performance-optimized code organization, do not change code structure.
220
- */
221
- broadcastAfterInsertEvent(result, metadata, entity) {
222
- if (entity && metadata.afterInsertListeners.length) {
223
- metadata.afterInsertListeners.forEach((listener) => {
224
- if (listener.isAllowed(entity)) {
225
- const executionResult = listener.execute(entity);
226
- if (executionResult instanceof Promise)
227
- result.promises.push(executionResult);
228
- result.count++;
229
- }
230
- });
231
- }
232
- if (this.queryRunner.connection.subscribers.length) {
233
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
234
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
235
- subscriber.afterInsert) {
236
- const executionResult = subscriber.afterInsert({
237
- connection: this.queryRunner.connection,
238
- queryRunner: this.queryRunner,
239
- manager: this.queryRunner.manager,
240
- entity: entity,
241
- metadata: metadata,
242
- });
243
- if (executionResult instanceof Promise)
244
- result.promises.push(executionResult);
245
- result.count++;
246
- }
247
- });
248
- }
249
- }
250
- /**
251
- * Broadcasts "BEFORE_TRANSACTION_START" event.
252
- */
253
- broadcastBeforeTransactionStartEvent(result) {
254
- if (this.queryRunner.connection.subscribers.length) {
255
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
256
- if (subscriber.beforeTransactionStart) {
257
- const executionResult = subscriber.beforeTransactionStart({
258
- connection: this.queryRunner.connection,
259
- queryRunner: this.queryRunner,
260
- manager: this.queryRunner.manager,
261
- });
262
- if (executionResult instanceof Promise)
263
- result.promises.push(executionResult);
264
- result.count++;
265
- }
266
- });
267
- }
268
- }
269
- /**
270
- * Broadcasts "AFTER_TRANSACTION_START" event.
271
- */
272
- broadcastAfterTransactionStartEvent(result) {
273
- if (this.queryRunner.connection.subscribers.length) {
274
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
275
- if (subscriber.afterTransactionStart) {
276
- const executionResult = subscriber.afterTransactionStart({
277
- connection: this.queryRunner.connection,
278
- queryRunner: this.queryRunner,
279
- manager: this.queryRunner.manager,
280
- });
281
- if (executionResult instanceof Promise)
282
- result.promises.push(executionResult);
283
- result.count++;
284
- }
285
- });
286
- }
287
- }
288
- /**
289
- * Broadcasts "BEFORE_TRANSACTION_COMMIT" event.
290
- */
291
- broadcastBeforeTransactionCommitEvent(result) {
292
- if (this.queryRunner.connection.subscribers.length) {
293
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
294
- if (subscriber.beforeTransactionCommit) {
295
- const executionResult = subscriber.beforeTransactionCommit({
296
- connection: this.queryRunner.connection,
297
- queryRunner: this.queryRunner,
298
- manager: this.queryRunner.manager,
299
- });
300
- if (executionResult instanceof Promise)
301
- result.promises.push(executionResult);
302
- result.count++;
303
- }
304
- });
305
- }
306
- }
307
- /**
308
- * Broadcasts "AFTER_TRANSACTION_COMMIT" event.
309
- */
310
- broadcastAfterTransactionCommitEvent(result) {
311
- if (this.queryRunner.connection.subscribers.length) {
312
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
313
- if (subscriber.afterTransactionCommit) {
314
- const executionResult = subscriber.afterTransactionCommit({
315
- connection: this.queryRunner.connection,
316
- queryRunner: this.queryRunner,
317
- manager: this.queryRunner.manager,
318
- });
319
- if (executionResult instanceof Promise)
320
- result.promises.push(executionResult);
321
- result.count++;
322
- }
323
- });
324
- }
325
- }
326
- /**
327
- * Broadcasts "BEFORE_TRANSACTION_ROLLBACK" event.
328
- */
329
- broadcastBeforeTransactionRollbackEvent(result) {
330
- if (this.queryRunner.connection.subscribers.length) {
331
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
332
- if (subscriber.beforeTransactionRollback) {
333
- const executionResult = subscriber.beforeTransactionRollback({
334
- connection: this.queryRunner.connection,
335
- queryRunner: this.queryRunner,
336
- manager: this.queryRunner.manager,
337
- });
338
- if (executionResult instanceof Promise)
339
- result.promises.push(executionResult);
340
- result.count++;
341
- }
342
- });
343
- }
344
- }
345
- /**
346
- * Broadcasts "AFTER_TRANSACTION_ROLLBACK" event.
347
- */
348
- broadcastAfterTransactionRollbackEvent(result) {
349
- if (this.queryRunner.connection.subscribers.length) {
350
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
351
- if (subscriber.afterTransactionRollback) {
352
- const executionResult = subscriber.afterTransactionRollback({
353
- connection: this.queryRunner.connection,
354
- queryRunner: this.queryRunner,
355
- manager: this.queryRunner.manager,
356
- });
357
- if (executionResult instanceof Promise)
358
- result.promises.push(executionResult);
359
- result.count++;
360
- }
361
- });
362
- }
363
- }
364
- /**
365
- * Broadcasts "AFTER_UPDATE" event.
366
- * After update event is executed after entity is being updated in the database.
367
- * All subscribers and entity listeners who listened to this event will be executed at this point.
368
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
369
- *
370
- * Note: this method has a performance-optimized code organization, do not change code structure.
371
- */
372
- broadcastAfterUpdateEvent(result, metadata, entity, databaseEntity, updatedColumns, updatedRelations) {
373
- if (entity && metadata.afterUpdateListeners.length) {
374
- metadata.afterUpdateListeners.forEach((listener) => {
375
- if (listener.isAllowed(entity)) {
376
- const executionResult = listener.execute(entity);
377
- if (executionResult instanceof Promise)
378
- result.promises.push(executionResult);
379
- result.count++;
380
- }
381
- });
382
- }
383
- if (this.queryRunner.connection.subscribers.length) {
384
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
385
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
386
- subscriber.afterUpdate) {
387
- const executionResult = subscriber.afterUpdate({
388
- connection: this.queryRunner.connection,
389
- queryRunner: this.queryRunner,
390
- manager: this.queryRunner.manager,
391
- entity: entity,
392
- metadata: metadata,
393
- databaseEntity: databaseEntity,
394
- updatedColumns: updatedColumns || [],
395
- updatedRelations: updatedRelations || [],
396
- });
397
- if (executionResult instanceof Promise)
398
- result.promises.push(executionResult);
399
- result.count++;
400
- }
401
- });
402
- }
403
- }
404
- /**
405
- * Broadcasts "AFTER_REMOVE" event.
406
- * After remove event is executed after entity is being removed from the database.
407
- * All subscribers and entity listeners who listened to this event will be executed at this point.
408
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
409
- *
410
- * Note: this method has a performance-optimized code organization, do not change code structure.
411
- */
412
- broadcastAfterRemoveEvent(result, metadata, entity, databaseEntity) {
413
- if (entity && metadata.afterRemoveListeners.length) {
414
- metadata.afterRemoveListeners.forEach((listener) => {
415
- if (listener.isAllowed(entity)) {
416
- const executionResult = listener.execute(entity);
417
- if (executionResult instanceof Promise)
418
- result.promises.push(executionResult);
419
- result.count++;
420
- }
421
- });
422
- }
423
- if (this.queryRunner.connection.subscribers.length) {
424
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
425
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
426
- subscriber.afterRemove) {
427
- const executionResult = subscriber.afterRemove({
428
- connection: this.queryRunner.connection,
429
- queryRunner: this.queryRunner,
430
- manager: this.queryRunner.manager,
431
- entity: entity,
432
- metadata: metadata,
433
- databaseEntity: databaseEntity,
434
- entityId: metadata.getEntityIdMixedMap(databaseEntity),
435
- });
436
- if (executionResult instanceof Promise)
437
- result.promises.push(executionResult);
438
- result.count++;
439
- }
440
- });
441
- }
442
- }
443
- /**
444
- * Broadcasts "AFTER_SOFT_REMOVE" event.
445
- * After soft remove event is executed after entity is being soft removed from the database.
446
- * All subscribers and entity listeners who listened to this event will be executed at this point.
447
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
448
- *
449
- * Note: this method has a performance-optimized code organization, do not change code structure.
450
- */
451
- broadcastAfterSoftRemoveEvent(result, metadata, entity, databaseEntity) {
452
- if (entity && metadata.afterSoftRemoveListeners.length) {
453
- metadata.afterSoftRemoveListeners.forEach((listener) => {
454
- if (listener.isAllowed(entity)) {
455
- const executionResult = listener.execute(entity);
456
- if (executionResult instanceof Promise)
457
- result.promises.push(executionResult);
458
- result.count++;
459
- }
460
- });
461
- }
462
- if (this.queryRunner.connection.subscribers.length) {
463
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
464
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
465
- subscriber.afterSoftRemove) {
466
- const executionResult = subscriber.afterSoftRemove({
467
- connection: this.queryRunner.connection,
468
- queryRunner: this.queryRunner,
469
- manager: this.queryRunner.manager,
470
- entity: entity,
471
- metadata: metadata,
472
- databaseEntity: databaseEntity,
473
- entityId: metadata.getEntityIdMixedMap(databaseEntity),
474
- });
475
- if (executionResult instanceof Promise)
476
- result.promises.push(executionResult);
477
- result.count++;
478
- }
479
- });
480
- }
481
- }
482
- /**
483
- * Broadcasts "AFTER_RECOVER" event.
484
- * After recover event is executed after entity is being recovered in the database.
485
- * All subscribers and entity listeners who listened to this event will be executed at this point.
486
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
487
- *
488
- * Note: this method has a performance-optimized code organization, do not change code structure.
489
- */
490
- broadcastAfterRecoverEvent(result, metadata, entity, databaseEntity) {
491
- if (entity && metadata.afterRecoverListeners.length) {
492
- metadata.afterRecoverListeners.forEach((listener) => {
493
- if (listener.isAllowed(entity)) {
494
- const executionResult = listener.execute(entity);
495
- if (executionResult instanceof Promise)
496
- result.promises.push(executionResult);
497
- result.count++;
498
- }
499
- });
500
- }
501
- if (this.queryRunner.connection.subscribers.length) {
502
- this.queryRunner.connection.subscribers.forEach((subscriber) => {
503
- if (this.isAllowedSubscriber(subscriber, metadata.target) &&
504
- subscriber.afterRecover) {
505
- const executionResult = subscriber.afterRecover({
506
- connection: this.queryRunner.connection,
507
- queryRunner: this.queryRunner,
508
- manager: this.queryRunner.manager,
509
- entity: entity,
510
- metadata: metadata,
511
- databaseEntity: databaseEntity,
512
- entityId: metadata.getEntityIdMixedMap(databaseEntity),
513
- });
514
- if (executionResult instanceof Promise)
515
- result.promises.push(executionResult);
516
- result.count++;
517
- }
518
- });
519
- }
520
- }
521
- /**
522
- * @deprecated Use `broadcastLoadForAllEvent`
523
- */
524
- broadcastLoadEventsForAll(result, metadata, entities) {
525
- return this.broadcastLoadEvent(result, metadata, entities);
526
- }
527
- /**
528
- * Broadcasts "AFTER_LOAD" event for all given entities, and their sub-entities.
529
- * After load event is executed after entity has been loaded from the database.
530
- * All subscribers and entity listeners who listened to this event will be executed at this point.
531
- * Subscribers and entity listeners can return promises, it will wait until they are resolved.
532
- *
533
- * Note: this method has a performance-optimized code organization, do not change code structure.
534
- */
535
- broadcastLoadEvent(result, metadata, entities) {
536
- const fittingSubscribers = this.queryRunner.connection.subscribers.filter((subscriber) => this.isAllowedSubscriber(subscriber, metadata.target) &&
537
- subscriber.afterLoad);
538
- if (metadata.relations.length ||
539
- metadata.afterLoadListeners.length ||
540
- fittingSubscribers.length) {
541
- const nonPromiseEntities = entities.filter((entity) => !(entity instanceof Promise));
542
- if (metadata.relations.length) {
543
- metadata.relations.forEach((relation) => {
544
- nonPromiseEntities.forEach((entity) => {
545
- if (relation.isLazy &&
546
- !entity.hasOwnProperty(relation.propertyName))
547
- return;
548
- const value = relation.getEntityValue(entity);
549
- if (ObjectUtils.isObject(value))
550
- this.broadcastLoadEvent(result, relation.inverseEntityMetadata, Array.isArray(value) ? value : [value]);
551
- });
552
- });
553
- }
554
- if (metadata.afterLoadListeners.length) {
555
- metadata.afterLoadListeners.forEach((listener) => {
556
- nonPromiseEntities.forEach((entity) => {
557
- if (listener.isAllowed(entity)) {
558
- const executionResult = listener.execute(entity);
559
- if (executionResult instanceof Promise)
560
- result.promises.push(executionResult);
561
- result.count++;
562
- }
563
- });
564
- });
565
- }
566
- fittingSubscribers.forEach((subscriber) => {
567
- nonPromiseEntities.forEach((entity) => {
568
- const executionResult = subscriber.afterLoad(entity, {
569
- entity,
570
- metadata,
571
- connection: this.queryRunner.connection,
572
- queryRunner: this.queryRunner,
573
- manager: this.queryRunner.manager,
574
- });
575
- if (executionResult instanceof Promise)
576
- result.promises.push(executionResult);
577
- result.count++;
578
- });
579
- });
580
- }
581
- }
582
- /**
583
- * Checks if subscriber's methods can be executed by checking if its don't listen to the particular entity,
584
- * or listens our entity.
585
- */
586
- isAllowedSubscriber(subscriber, target) {
587
- return (!subscriber.listenTo ||
588
- !subscriber.listenTo() ||
589
- subscriber.listenTo() === Object ||
590
- subscriber.listenTo() === target ||
591
- subscriber.listenTo().isPrototypeOf(target));
592
- }
593
- }
594
- ;
595
- ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/subscriber/Broadcaster.ts
596
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJvYWRjYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vc3Vic2NyaWJlci9Ccm9hZGNhc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUd2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFzRWpEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFLcEIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBTWhELEtBQUssQ0FBQyxTQUFTLENBQ1gsS0FBUSxFQUNSLEdBQUcsSUFBc0M7UUFFekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFBO1FBRXRDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFxQixDQUFDLENBQUE7UUFFdEUsSUFBSSxPQUFPLGlCQUFpQixLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzFDLENBQUM7WUFBQyxpQkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQzNELENBQUM7UUFFRCxNQUFNLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILDBCQUEwQixDQUN0QixNQUF5QixFQUN6QixRQUF3QixFQUN4QixNQUFpQztRQUVqQyxJQUFJLE1BQU0sSUFBSSxRQUFRLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEQsUUFBUSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNoRCxJ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LE1BQU0sRUFBRTt3QkFDbEQsTUFBTTt3QkFDTixRQUFRO3dCQUNSLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVU7d0JBQ3ZDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzt3QkFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztxQkFDcEMsQ0FBQyxDQUFBO29CQUNGLElBQUksZUFBZSxZQUFZLE9BQU87d0JBQ2xDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO29CQUN6QyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ2xCLENBQUMsQ0FBQyxDQUFBO1lBQ04sQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQU1EOzs7T0FHRztJQUNPLG1CQUFtQixDQUN6QixVQUEwQyxFQUMxQyxNQUF5QjtRQUV6QixPQUFPLENBQ0gsQ0FBQyxVQUFVLENBQUMsUUFBUTtZQUNwQixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDdEIsVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU07WUFDaEMsVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU07WUFDaEMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FDOUMsQ0FBQTtJQUNMLENBQUM7Q0FDSjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0VBQStFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEVudGl0eVN1YnNjcmliZXJJbnRlcmZhY2UgfSBmcm9tIFwiLi9FbnRpdHlTdWJzY3JpYmVySW50ZXJmYWNlXCJcbmltcG9ydCB7IE9iamVjdExpdGVyYWwgfSBmcm9tIFwiLi4vY29tbW9uL09iamVjdExpdGVyYWxcIlxuaW1wb3J0IHsgUXVlcnlSdW5uZXIgfSBmcm9tIFwiLi4vcXVlcnktcnVubmVyL1F1ZXJ5UnVubmVyXCJcbmltcG9ydCB7IEVudGl0eU1ldGFkYXRhIH0gZnJvbSBcIi4uL21ldGFkYXRhL0VudGl0eU1ldGFkYXRhXCJcbmltcG9ydCB7IEJyb2FkY2FzdGVyUmVzdWx0IH0gZnJvbSBcIi4vQnJvYWRjYXN0ZXJSZXN1bHRcIlxuaW1wb3J0IHsgQ29sdW1uTWV0YWRhdGEgfSBmcm9tIFwiLi4vbWV0YWRhdGEvQ29sdW1uTWV0YWRhdGFcIlxuaW1wb3J0IHsgUmVsYXRpb25NZXRhZGF0YSB9IGZyb20gXCIuLi9tZXRhZGF0YS9SZWxhdGlvbk1ldGFkYXRhXCJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSBcIi4uL3V0aWwvT2JqZWN0VXRpbHNcIlxuXG5pbnRlcmZhY2UgQnJvYWRjYXN0ZXJFdmVudHMge1xuICAgIEJlZm9yZVRyYW5zYWN0aW9uQ29tbWl0OiAoKSA9PiB2b2lkXG4gICAgQWZ0ZXJUcmFuc2FjdGlvbkNvbW1pdDogKCkgPT4gdm9pZFxuICAgIEJlZm9yZVRyYW5zYWN0aW9uU3RhcnQ6ICgpID0+IHZvaWRcbiAgICBBZnRlclRyYW5zYWN0aW9uU3RhcnQ6ICgpID0+IHZvaWRcbiAgICBCZWZvcmVUcmFuc2FjdGlvblJvbGxiYWNrOiAoKSA9PiB2b2lkXG4gICAgQWZ0ZXJUcmFuc2FjdGlvblJvbGxiYWNrOiAoKSA9PiB2b2lkXG5cbiAgICBCZWZvcmVVcGRhdGU6IChcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIHVwZGF0ZWRDb2x1bW5zPzogQ29sdW1uTWV0YWRhdGFbXSxcbiAgICAgICAgdXBkYXRlZFJlbGF0aW9ucz86IFJlbGF0aW9uTWV0YWRhdGFbXSxcbiAgICApID0+IHZvaWRcbiAgICBBZnRlclVwZGF0ZTogKFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgdXBkYXRlZENvbHVtbnM/OiBDb2x1bW5NZXRhZGF0YVtdLFxuICAgICAgICB1cGRhdGVkUmVsYXRpb25zPzogUmVsYXRpb25NZXRhZGF0YVtdLFxuICAgICkgPT4gdm9pZFxuXG4gICAgQmVmb3JlSW5zZXJ0OiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5OiBPYmplY3RMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICkgPT4gdm9pZFxuICAgIEFmdGVySW5zZXJ0OiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5OiBPYmplY3RMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICkgPT4gdm9pZFxuXG4gICAgQmVmb3JlUmVtb3ZlOiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICkgPT4gdm9pZFxuICAgIEFmdGVyUmVtb3ZlOiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICkgPT4gdm9pZFxuXG4gICAgQmVmb3JlU29mdFJlbW92ZTogKFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICApID0+IHZvaWRcbiAgICBBZnRlclNvZnRSZW1vdmU6IChcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgKSA9PiB2b2lkXG5cbiAgICBCZWZvcmVSZWNvdmVyOiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICkgPT4gdm9pZFxuICAgIEFmdGVyUmVjb3ZlcjogKFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICApID0+IHZvaWRcblxuICAgIExvYWQ6IChtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsIGVudGl0aWVzOiBPYmplY3RMaXRlcmFsW10pID0+IHZvaWRcbn1cblxuLyoqXG4gKiBCcm9hZGNhc3RlciBwcm92aWRlcyBhIGhlbHBlciBtZXRob2RzIHRvIGJyb2FkY2FzdCBldmVudHMgdG8gdGhlIHN1YnNjcmliZXJzLlxuICovXG5leHBvcnQgY2xhc3MgQnJvYWRjYXN0ZXIge1xuXG5cblxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpIHt9XG5cblxuXG5cblxuICAgIGFzeW5jIGJyb2FkY2FzdDxVIGV4dGVuZHMga2V5b2YgQnJvYWRjYXN0ZXJFdmVudHM+KFxuICAgICAgICBldmVudDogVSxcbiAgICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxCcm9hZGNhc3RlckV2ZW50c1tVXT5cbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IEJyb2FkY2FzdGVyUmVzdWx0KClcblxuICAgICAgICBjb25zdCBicm9hZGNhc3RGdW5jdGlvbiA9IHRoaXNbYGJyb2FkY2FzdCR7ZXZlbnR9RXZlbnRgIGFzIGtleW9mIHRoaXNdXG5cbiAgICAgICAgaWYgKHR5cGVvZiBicm9hZGNhc3RGdW5jdGlvbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICA7KGJyb2FkY2FzdEZ1bmN0aW9uIGFzIGFueSkuY2FsbCh0aGlzLCByZXN1bHQsIC4uLmFyZ3MpXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCByZXN1bHQud2FpdCgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9JTlNFUlRcIiBldmVudC5cbiAgICAgKiBCZWZvcmUgaW5zZXJ0IGV2ZW50IGlzIGV4ZWN1dGVkIGJlZm9yZSBlbnRpdHkgaXMgYmVpbmcgaW5zZXJ0ZWQgdG8gdGhlIGRhdGFiYXNlIGZvciB0aGUgZmlyc3QgdGltZS5cbiAgICAgKiBBbGwgc3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgd2hvIGxpc3RlbmVkIHRvIHRoaXMgZXZlbnQgd2lsbCBiZSBleGVjdXRlZCBhdCB0aGlzIHBvaW50LlxuICAgICAqIFN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIGNhbiByZXR1cm4gcHJvbWlzZXMsIGl0IHdpbGwgd2FpdCB1bnRpbCB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgKlxuICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIGhhcyBhIHBlcmZvcm1hbmNlLW9wdGltaXplZCBjb2RlIG9yZ2FuaXphdGlvbiwgZG8gbm90IGNoYW5nZSBjb2RlIHN0cnVjdHVyZS5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RCZWZvcmVJbnNlcnRFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk6IHVuZGVmaW5lZCB8IE9iamVjdExpdGVyYWwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmIChlbnRpdHkgJiYgbWV0YWRhdGEuYmVmb3JlSW5zZXJ0TGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYmVmb3JlSW5zZXJ0TGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmJlZm9yZUluc2VydFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmJlZm9yZUluc2VydCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9VUERBVEVcIiBldmVudC5cbiAgICAgKiBCZWZvcmUgdXBkYXRlIGV2ZW50IGlzIGV4ZWN1dGVkIGJlZm9yZSBlbnRpdHkgaXMgYmVpbmcgdXBkYXRlZCBpbiB0aGUgZGF0YWJhc2UuXG4gICAgICogQWxsIHN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIHdobyBsaXN0ZW5lZCB0byB0aGlzIGV2ZW50IHdpbGwgYmUgZXhlY3V0ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgKiBTdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyBjYW4gcmV0dXJuIHByb21pc2VzLCBpdCB3aWxsIHdhaXQgdW50aWwgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICpcbiAgICAgKiBOb3RlOiB0aGlzIG1ldGhvZCBoYXMgYSBwZXJmb3JtYW5jZS1vcHRpbWl6ZWQgY29kZSBvcmdhbml6YXRpb24sIGRvIG5vdCBjaGFuZ2UgY29kZSBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QmVmb3JlVXBkYXRlRXZlbnQoXG4gICAgICAgIHJlc3VsdDogQnJvYWRjYXN0ZXJSZXN1bHQsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICB1cGRhdGVkQ29sdW1ucz86IENvbHVtbk1ldGFkYXRhW10sXG4gICAgICAgIHVwZGF0ZWRSZWxhdGlvbnM/OiBSZWxhdGlvbk1ldGFkYXRhW10sXG4gICAgKTogdm9pZCB7XG5cbiAgICAgICAgaWYgKGVudGl0eSAmJiBtZXRhZGF0YS5iZWZvcmVVcGRhdGVMaXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBtZXRhZGF0YS5iZWZvcmVVcGRhdGVMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaXNBbGxvd2VkKGVudGl0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gbGlzdGVuZXIuZXhlY3V0ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBbGxvd2VkU3Vic2NyaWJlcihzdWJzY3JpYmVyLCBtZXRhZGF0YS50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYmVmb3JlVXBkYXRlXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IHN1YnNjcmliZXIuYmVmb3JlVXBkYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBlbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YTogbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZUVudGl0eTogZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQ29sdW1uczogdXBkYXRlZENvbHVtbnMgfHwgW10sXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkUmVsYXRpb25zOiB1cGRhdGVkUmVsYXRpb25zIHx8IFtdLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9SRU1PVkVcIiBldmVudC5cbiAgICAgKiBCZWZvcmUgcmVtb3ZlIGV2ZW50IGlzIGV4ZWN1dGVkIGJlZm9yZSBlbnRpdHkgaXMgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBBbGwgc3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgd2hvIGxpc3RlbmVkIHRvIHRoaXMgZXZlbnQgd2lsbCBiZSBleGVjdXRlZCBhdCB0aGlzIHBvaW50LlxuICAgICAqIFN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIGNhbiByZXR1cm4gcHJvbWlzZXMsIGl0IHdpbGwgd2FpdCB1bnRpbCB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgKlxuICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIGhhcyBhIHBlcmZvcm1hbmNlLW9wdGltaXplZCBjb2RlIG9yZ2FuaXphdGlvbiwgZG8gbm90IGNoYW5nZSBjb2RlIHN0cnVjdHVyZS5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RCZWZvcmVSZW1vdmVFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmIChlbnRpdHkgJiYgbWV0YWRhdGEuYmVmb3JlUmVtb3ZlTGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYmVmb3JlUmVtb3ZlTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmJlZm9yZVJlbW92ZVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmJlZm9yZVJlbW92ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VFbnRpdHk6IGRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5SWQ6IG1ldGFkYXRhLmdldEVudGl0eUlkTWl4ZWRNYXAoZGF0YWJhc2VFbnRpdHkpLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9TT0ZUX1JFTU9WRVwiIGV2ZW50LlxuICAgICAqIEJlZm9yZSBzb2Z0IHJlbW92ZSBldmVudCBpcyBleGVjdXRlZCBiZWZvcmUgZW50aXR5IGlzIGJlaW5nIHNvZnQgcmVtb3ZlZCBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBBbGwgc3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgd2hvIGxpc3RlbmVkIHRvIHRoaXMgZXZlbnQgd2lsbCBiZSBleGVjdXRlZCBhdCB0aGlzIHBvaW50LlxuICAgICAqIFN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIGNhbiByZXR1cm4gcHJvbWlzZXMsIGl0IHdpbGwgd2FpdCB1bnRpbCB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgKlxuICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIGhhcyBhIHBlcmZvcm1hbmNlLW9wdGltaXplZCBjb2RlIG9yZ2FuaXphdGlvbiwgZG8gbm90IGNoYW5nZSBjb2RlIHN0cnVjdHVyZS5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RCZWZvcmVTb2Z0UmVtb3ZlRXZlbnQoXG4gICAgICAgIHJlc3VsdDogQnJvYWRjYXN0ZXJSZXN1bHQsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAoZW50aXR5ICYmIG1ldGFkYXRhLmJlZm9yZVNvZnRSZW1vdmVMaXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBtZXRhZGF0YS5iZWZvcmVTb2Z0UmVtb3ZlTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmJlZm9yZVNvZnRSZW1vdmVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5iZWZvcmVTb2Z0UmVtb3ZlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBlbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YTogbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZUVudGl0eTogZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHlJZDogbWV0YWRhdGEuZ2V0RW50aXR5SWRNaXhlZE1hcChkYXRhYmFzZUVudGl0eSksXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQkVGT1JFX1JFQ09WRVJcIiBldmVudC5cbiAgICAgKiBCZWZvcmUgcmVjb3ZlciBldmVudCBpcyBleGVjdXRlZCBiZWZvcmUgZW50aXR5IGlzIGJlaW5nIHJlY292ZXJlZCBpbiB0aGUgZGF0YWJhc2UuXG4gICAgICogQWxsIHN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIHdobyBsaXN0ZW5lZCB0byB0aGlzIGV2ZW50IHdpbGwgYmUgZXhlY3V0ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgKiBTdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyBjYW4gcmV0dXJuIHByb21pc2VzLCBpdCB3aWxsIHdhaXQgdW50aWwgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICpcbiAgICAgKiBOb3RlOiB0aGlzIG1ldGhvZCBoYXMgYSBwZXJmb3JtYW5jZS1vcHRpbWl6ZWQgY29kZSBvcmdhbml6YXRpb24sIGRvIG5vdCBjaGFuZ2UgY29kZSBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QmVmb3JlUmVjb3ZlckV2ZW50KFxuICAgICAgICByZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0LFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKGVudGl0eSAmJiBtZXRhZGF0YS5iZWZvcmVSZWNvdmVyTGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYmVmb3JlUmVjb3Zlckxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChsaXN0ZW5lci5pc0FsbG93ZWQoZW50aXR5KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBsaXN0ZW5lci5leGVjdXRlKGVudGl0eSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4ZWN1dGlvblJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHJvbWlzZXMucHVzaChleGVjdXRpb25SZXN1bHQpXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5jb3VudCsrXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0FsbG93ZWRTdWJzY3JpYmVyKHN1YnNjcmliZXIsIG1ldGFkYXRhLnRhcmdldCkgJiZcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5iZWZvcmVSZWNvdmVyXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IHN1YnNjcmliZXIuYmVmb3JlUmVjb3Zlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VFbnRpdHk6IGRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5SWQ6IG1ldGFkYXRhLmdldEVudGl0eUlkTWl4ZWRNYXAoZGF0YWJhc2VFbnRpdHkpLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX0lOU0VSVFwiIGV2ZW50LlxuICAgICAqIEFmdGVyIGluc2VydCBldmVudCBpcyBleGVjdXRlZCBhZnRlciBlbnRpdHkgaXMgYmVpbmcgcGVyc2lzdGVkIHRvIHRoZSBkYXRhYmFzZSBmb3IgdGhlIGZpcnN0IHRpbWUuXG4gICAgICogQWxsIHN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIHdobyBsaXN0ZW5lZCB0byB0aGlzIGV2ZW50IHdpbGwgYmUgZXhlY3V0ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgKiBTdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyBjYW4gcmV0dXJuIHByb21pc2VzLCBpdCB3aWxsIHdhaXQgdW50aWwgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICpcbiAgICAgKiBOb3RlOiB0aGlzIG1ldGhvZCBoYXMgYSBwZXJmb3JtYW5jZS1vcHRpbWl6ZWQgY29kZSBvcmdhbml6YXRpb24sIGRvIG5vdCBjaGFuZ2UgY29kZSBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QWZ0ZXJJbnNlcnRFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAoZW50aXR5ICYmIG1ldGFkYXRhLmFmdGVySW5zZXJ0TGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYWZ0ZXJJbnNlcnRMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaXNBbGxvd2VkKGVudGl0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gbGlzdGVuZXIuZXhlY3V0ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBbGxvd2VkU3Vic2NyaWJlcihzdWJzY3JpYmVyLCBtZXRhZGF0YS50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYWZ0ZXJJbnNlcnRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlckluc2VydCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9UUkFOU0FDVElPTl9TVEFSVFwiIGV2ZW50LlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEJlZm9yZVRyYW5zYWN0aW9uU3RhcnRFdmVudChyZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpYmVyLmJlZm9yZVRyYW5zYWN0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5iZWZvcmVUcmFuc2FjdGlvblN0YXJ0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1RSQU5TQUNUSU9OX1NUQVJUXCIgZXZlbnQuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QWZ0ZXJUcmFuc2FjdGlvblN0YXJ0RXZlbnQocmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaWJlci5hZnRlclRyYW5zYWN0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlclRyYW5zYWN0aW9uU3RhcnQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbjogdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlSdW5uZXI6IHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyOiB0aGlzLnF1ZXJ5UnVubmVyLm1hbmFnZXIsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQkVGT1JFX1RSQU5TQUNUSU9OX0NPTU1JVFwiIGV2ZW50LlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEJlZm9yZVRyYW5zYWN0aW9uQ29tbWl0RXZlbnQocmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaWJlci5iZWZvcmVUcmFuc2FjdGlvbkNvbW1pdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmJlZm9yZVRyYW5zYWN0aW9uQ29tbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1RSQU5TQUNUSU9OX0NPTU1JVFwiIGV2ZW50LlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEFmdGVyVHJhbnNhY3Rpb25Db21taXRFdmVudChyZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpYmVyLmFmdGVyVHJhbnNhY3Rpb25Db21taXQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlclRyYW5zYWN0aW9uQ29tbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9UUkFOU0FDVElPTl9ST0xMQkFDS1wiIGV2ZW50LlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEJlZm9yZVRyYW5zYWN0aW9uUm9sbGJhY2tFdmVudChyZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpYmVyLmJlZm9yZVRyYW5zYWN0aW9uUm9sbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYmVmb3JlVHJhbnNhY3Rpb25Sb2xsYmFjayh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbjogdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQUZURVJfVFJBTlNBQ1RJT05fUk9MTEJBQ0tcIiBldmVudC5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RBZnRlclRyYW5zYWN0aW9uUm9sbGJhY2tFdmVudChyZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpYmVyLmFmdGVyVHJhbnNhY3Rpb25Sb2xsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmFmdGVyVHJhbnNhY3Rpb25Sb2xsYmFjayhcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlSdW5uZXI6IHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1VQREFURVwiIGV2ZW50LlxuICAgICAqIEFmdGVyIHVwZGF0ZSBldmVudCBpcyBleGVjdXRlZCBhZnRlciBlbnRpdHkgaXMgYmVpbmcgdXBkYXRlZCBpbiB0aGUgZGF0YWJhc2UuXG4gICAgICogQWxsIHN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIHdobyBsaXN0ZW5lZCB0byB0aGlzIGV2ZW50IHdpbGwgYmUgZXhlY3V0ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgKiBTdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyBjYW4gcmV0dXJuIHByb21pc2VzLCBpdCB3aWxsIHdhaXQgdW50aWwgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICpcbiAgICAgKiBOb3RlOiB0aGlzIG1ldGhvZCBoYXMgYSBwZXJmb3JtYW5jZS1vcHRpbWl6ZWQgY29kZSBvcmdhbml6YXRpb24sIGRvIG5vdCBjaGFuZ2UgY29kZSBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QWZ0ZXJVcGRhdGVFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIHVwZGF0ZWRDb2x1bW5zPzogQ29sdW1uTWV0YWRhdGFbXSxcbiAgICAgICAgdXBkYXRlZFJlbGF0aW9ucz86IFJlbGF0aW9uTWV0YWRhdGFbXSxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKGVudGl0eSAmJiBtZXRhZGF0YS5hZnRlclVwZGF0ZUxpc3RlbmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIG1ldGFkYXRhLmFmdGVyVXBkYXRlTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmFmdGVyVXBkYXRlXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IHN1YnNjcmliZXIuYWZ0ZXJVcGRhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbjogdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlSdW5uZXI6IHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyOiB0aGlzLnF1ZXJ5UnVubmVyLm1hbmFnZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHk6IGVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFiYXNlRW50aXR5OiBkYXRhYmFzZUVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRDb2x1bW5zOiB1cGRhdGVkQ29sdW1ucyB8fCBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRSZWxhdGlvbnM6IHVwZGF0ZWRSZWxhdGlvbnMgfHwgW10sXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQUZURVJfUkVNT1ZFXCIgZXZlbnQuXG4gICAgICogQWZ0ZXIgcmVtb3ZlIGV2ZW50IGlzIGV4ZWN1dGVkIGFmdGVyIGVudGl0eSBpcyBiZWluZyByZW1vdmVkIGZyb20gdGhlIGRhdGFiYXNlLlxuICAgICAqIEFsbCBzdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyB3aG8gbGlzdGVuZWQgdG8gdGhpcyBldmVudCB3aWxsIGJlIGV4ZWN1dGVkIGF0IHRoaXMgcG9pbnQuXG4gICAgICogU3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgY2FuIHJldHVybiBwcm9taXNlcywgaXQgd2lsbCB3YWl0IHVudGlsIHRoZXkgYXJlIHJlc29sdmVkLlxuICAgICAqXG4gICAgICogTm90ZTogdGhpcyBtZXRob2QgaGFzIGEgcGVyZm9ybWFuY2Utb3B0aW1pemVkIGNvZGUgb3JnYW5pemF0aW9uLCBkbyBub3QgY2hhbmdlIGNvZGUgc3RydWN0dXJlLlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEFmdGVyUmVtb3ZlRXZlbnQoXG4gICAgICAgIHJlc3VsdDogQnJvYWRjYXN0ZXJSZXN1bHQsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAoZW50aXR5ICYmIG1ldGFkYXRhLmFmdGVyUmVtb3ZlTGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYWZ0ZXJSZW1vdmVMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaXNBbGxvd2VkKGVudGl0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gbGlzdGVuZXIuZXhlY3V0ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBbGxvd2VkU3Vic2NyaWJlcihzdWJzY3JpYmVyLCBtZXRhZGF0YS50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYWZ0ZXJSZW1vdmVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlclJlbW92ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VFbnRpdHk6IGRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5SWQ6IG1ldGFkYXRhLmdldEVudGl0eUlkTWl4ZWRNYXAoZGF0YWJhc2VFbnRpdHkpLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1NPRlRfUkVNT1ZFXCIgZXZlbnQuXG4gICAgICogQWZ0ZXIgc29mdCByZW1vdmUgZXZlbnQgaXMgZXhlY3V0ZWQgYWZ0ZXIgZW50aXR5IGlzIGJlaW5nIHNvZnQgcmVtb3ZlZCBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBBbGwgc3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgd2hvIGxpc3RlbmVkIHRvIHRoaXMgZXZlbnQgd2lsbCBiZSBleGVjdXRlZCBhdCB0aGlzIHBvaW50LlxuICAgICAqIFN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIGNhbiByZXR1cm4gcHJvbWlzZXMsIGl0IHdpbGwgd2FpdCB1bnRpbCB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgKlxuICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIGhhcyBhIHBlcmZvcm1hbmNlLW9wdGltaXplZCBjb2RlIG9yZ2FuaXphdGlvbiwgZG8gbm90IGNoYW5nZSBjb2RlIHN0cnVjdHVyZS5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RBZnRlclNvZnRSZW1vdmVFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmIChlbnRpdHkgJiYgbWV0YWRhdGEuYWZ0ZXJTb2Z0UmVtb3ZlTGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYWZ0ZXJTb2Z0UmVtb3ZlTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmFmdGVyU29mdFJlbW92ZVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmFmdGVyU29mdFJlbW92ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VFbnRpdHk6IGRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5SWQ6IG1ldGFkYXRhLmdldEVudGl0eUlkTWl4ZWRNYXAoZGF0YWJhc2VFbnRpdHkpLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1JFQ09WRVJcIiBldmVudC5cbiAgICAgKiBBZnRlciByZWNvdmVyIGV2ZW50IGlzIGV4ZWN1dGVkIGFmdGVyIGVudGl0eSBpcyBiZWluZyByZWNvdmVyZWQgaW4gdGhlIGRhdGFiYXNlLlxuICAgICAqIEFsbCBzdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyB3aG8gbGlzdGVuZWQgdG8gdGhpcyBldmVudCB3aWxsIGJlIGV4ZWN1dGVkIGF0IHRoaXMgcG9pbnQuXG4gICAgICogU3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgY2FuIHJldHVybiBwcm9taXNlcywgaXQgd2lsbCB3YWl0IHVudGlsIHRoZXkgYXJlIHJlc29sdmVkLlxuICAgICAqXG4gICAgICogTm90ZTogdGhpcyBtZXRob2QgaGFzIGEgcGVyZm9ybWFuY2Utb3B0aW1pemVkIGNvZGUgb3JnYW5pemF0aW9uLCBkbyBub3QgY2hhbmdlIGNvZGUgc3RydWN0dXJlLlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEFmdGVyUmVjb3ZlckV2ZW50KFxuICAgICAgICByZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0LFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKGVudGl0eSAmJiBtZXRhZGF0YS5hZnRlclJlY292ZXJMaXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBtZXRhZGF0YS5hZnRlclJlY292ZXJMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaXNBbGxvd2VkKGVudGl0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gbGlzdGVuZXIuZXhlY3V0ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBbGxvd2VkU3Vic2NyaWJlcihzdWJzY3JpYmVyLCBtZXRhZGF0YS50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYWZ0ZXJSZWNvdmVyXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IHN1YnNjcmliZXIuYWZ0ZXJSZWNvdmVyKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBlbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YTogbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZUVudGl0eTogZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHlJZDogbWV0YWRhdGEuZ2V0RW50aXR5SWRNaXhlZE1hcChkYXRhYmFzZUVudGl0eSksXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYGJyb2FkY2FzdExvYWRGb3JBbGxFdmVudGBcbiAgICAgKi9cbiAgICBicm9hZGNhc3RMb2FkRXZlbnRzRm9yQWxsKFxuICAgICAgICByZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0LFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0aWVzOiBPYmplY3RMaXRlcmFsW10sXG4gICAgKTogdm9pZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmJyb2FkY2FzdExvYWRFdmVudChyZXN1bHQsIG1ldGFkYXRhLCBlbnRpdGllcylcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQUZURVJfTE9BRFwiIGV2ZW50IGZvciBhbGwgZ2l2ZW4gZW50aXRpZXMsIGFuZCB0aGVpciBzdWItZW50aXRpZXMuXG4gICAgICogQWZ0ZXIgbG9hZCBldmVudCBpcyBleGVjdXRlZCBhZnRlciBlbnRpdHkgaGFzIGJlZW4gbG9hZGVkIGZyb20gdGhlIGRhdGFiYXNlLlxuICAgICAqIEFsbCBzdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyB3aG8gbGlzdGVuZWQgdG8gdGhpcyBldmVudCB3aWxsIGJlIGV4ZWN1dGVkIGF0IHRoaXMgcG9pbnQuXG4gICAgICogU3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgY2FuIHJldHVybiBwcm9taXNlcywgaXQgd2lsbCB3YWl0IHVudGlsIHRoZXkgYXJlIHJlc29sdmVkLlxuICAgICAqXG4gICAgICogTm90ZTogdGhpcyBtZXRob2QgaGFzIGEgcGVyZm9ybWFuY2Utb3B0aW1pemVkIGNvZGUgb3JnYW5pemF0aW9uLCBkbyBub3QgY2hhbmdlIGNvZGUgc3RydWN0dXJlLlxuICAgICAqL1xuICAgIGJyb2FkY2FzdExvYWRFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdGllczogT2JqZWN0TGl0ZXJhbFtdLFxuICAgICk6IHZvaWQge1xuXG4gICAgICAgIGNvbnN0IGZpdHRpbmdTdWJzY3JpYmVycyA9XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChzdWJzY3JpYmVyKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmFmdGVyTG9hZCxcbiAgICAgICAgICAgIClcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBtZXRhZGF0YS5yZWxhdGlvbnMubGVuZ3RoIHx8XG4gICAgICAgICAgICBtZXRhZGF0YS5hZnRlckxvYWRMaXN0ZW5lcnMubGVuZ3RoIHx8XG4gICAgICAgICAgICBmaXR0aW5nU3Vic2NyaWJlcnMubGVuZ3RoXG4gICAgICAgICkge1xuXG4gICAgICAgICAgICBjb25zdCBub25Qcm9taXNlRW50aXRpZXMgPSBlbnRpdGllcy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgKGVudGl0eSkgPT4gIShlbnRpdHkgaW5zdGFuY2VvZiBQcm9taXNlKSxcbiAgICAgICAgICAgIClcblxuXG4gICAgICAgICAgICBpZiAobWV0YWRhdGEucmVsYXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIG1ldGFkYXRhLnJlbGF0aW9ucy5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBub25Qcm9taXNlRW50aXRpZXMuZm9yRWFjaCgoZW50aXR5KSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pc0xhenkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhZW50aXR5Lmhhc093blByb3BlcnR5KHJlbGF0aW9uLnByb3BlcnR5TmFtZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5cblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSByZWxhdGlvbi5nZXRFbnRpdHlWYWx1ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNPYmplY3QodmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYnJvYWRjYXN0TG9hZEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLmludmVyc2VFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChtZXRhZGF0YS5hZnRlckxvYWRMaXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbWV0YWRhdGEuYWZ0ZXJMb2FkTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG5vblByb21pc2VFbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0ZW5lci5pc0FsbG93ZWQoZW50aXR5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHJvbWlzZXMucHVzaChleGVjdXRpb25SZXN1bHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaXR0aW5nU3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIG5vblByb21pc2VFbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlckxvYWQhKGVudGl0eSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4ZWN1dGlvblJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHJvbWlzZXMucHVzaChleGVjdXRpb25SZXN1bHQpXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5jb3VudCsrXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBzdWJzY3JpYmVyJ3MgbWV0aG9kcyBjYW4gYmUgZXhlY3V0ZWQgYnkgY2hlY2tpbmcgaWYgaXRzIGRvbid0IGxpc3RlbiB0byB0aGUgcGFydGljdWxhciBlbnRpdHksXG4gICAgICogb3IgbGlzdGVucyBvdXIgZW50aXR5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpc0FsbG93ZWRTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyOiBFbnRpdHlTdWJzY3JpYmVySW50ZXJmYWNlPGFueT4sXG4gICAgICAgIHRhcmdldDogRnVuY3Rpb24gfCBzdHJpbmcsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhc3Vic2NyaWJlci5saXN0ZW5UbyB8fFxuICAgICAgICAgICAgIXN1YnNjcmliZXIubGlzdGVuVG8oKSB8fFxuICAgICAgICAgICAgc3Vic2NyaWJlci5saXN0ZW5UbygpID09PSBPYmplY3QgfHxcbiAgICAgICAgICAgIHN1YnNjcmliZXIubGlzdGVuVG8oKSA9PT0gdGFyZ2V0IHx8XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmxpc3RlblRvKCkuaXNQcm90b3R5cGVPZih0YXJnZXQpXG4gICAgICAgIClcbiAgICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXR5cGVvcm0gbGliL3R5cGVvcm0vc3Vic2NyaWJlci9Ccm9hZGNhc3Rlci50cyJdfQ==