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,67 +0,0 @@
1
- import { ObjectUtils } from "../../util/ObjectUtils";
2
- /**
3
- * Transforms plain old javascript object
4
- * Entity is constructed based on its entity metadata.
5
- */
6
- export class PlainObjectToNewEntityTransformer {
7
- transform(newEntity, object, metadata, getLazyRelationsPromiseValue = false) {
8
- this.groupAndTransform(newEntity, object, metadata, getLazyRelationsPromiseValue);
9
- return newEntity;
10
- }
11
- /**
12
- * Since db returns a duplicated rows of the data where accuracies of the same object can be duplicated
13
- * we need to group our result and we must have some unique id (primary key in our case)
14
- */
15
- groupAndTransform(entity, object, metadata, getLazyRelationsPromiseValue = false) {
16
- metadata.nonVirtualColumns.forEach((column) => {
17
- const objectColumnValue = column.getEntityValue(object);
18
- if (objectColumnValue !== undefined)
19
- column.setEntityValue(entity, objectColumnValue);
20
- });
21
- if (metadata.relations.length) {
22
- metadata.relations.forEach((relation) => {
23
- let entityRelatedValue = relation.getEntityValue(entity);
24
- const objectRelatedValue = relation.getEntityValue(object, getLazyRelationsPromiseValue);
25
- if (objectRelatedValue === undefined)
26
- return;
27
- if (relation.isOneToMany || relation.isManyToMany) {
28
- if (!Array.isArray(objectRelatedValue))
29
- return;
30
- if (!entityRelatedValue) {
31
- entityRelatedValue = [];
32
- relation.setEntityValue(entity, entityRelatedValue);
33
- }
34
- objectRelatedValue.forEach((objectRelatedValueItem) => {
35
- let objectRelatedValueEntity = entityRelatedValue.find((entityRelatedValueItem) => {
36
- return relation.inverseEntityMetadata.compareEntities(objectRelatedValueItem, entityRelatedValueItem);
37
- });
38
- if (!objectRelatedValueEntity) {
39
- objectRelatedValueEntity =
40
- relation.inverseEntityMetadata.create(undefined, { fromDeserializer: true });
41
- entityRelatedValue.push(objectRelatedValueEntity);
42
- }
43
- this.groupAndTransform(objectRelatedValueEntity, objectRelatedValueItem, relation.inverseEntityMetadata, getLazyRelationsPromiseValue);
44
- });
45
- }
46
- else {
47
- if (!ObjectUtils.isObject(objectRelatedValue)) {
48
- if (!ObjectUtils.isObject(entityRelatedValue))
49
- relation.setEntityValue(entity, objectRelatedValue);
50
- return;
51
- }
52
- if (!entityRelatedValue) {
53
- entityRelatedValue =
54
- relation.inverseEntityMetadata.create(undefined, {
55
- fromDeserializer: true,
56
- });
57
- relation.setEntityValue(entity, entityRelatedValue);
58
- }
59
- this.groupAndTransform(entityRelatedValue, objectRelatedValue, relation.inverseEntityMetadata, getLazyRelationsPromiseValue);
60
- }
61
- });
62
- }
63
- }
64
- }
65
- ;
66
- ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.ts
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxhaW5PYmplY3RUb05ld0VudGl0eVRyYW5zZm9ybWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24tdHlwZW9ybS9wcm9qZWN0cy90YW9uLXR5cGVvcm0vc3JjL2xpYi90eXBlb3JtL3F1ZXJ5LWJ1aWxkZXIvdHJhbnNmb3JtZXIvUGxhaW5PYmplY3RUb05ld0VudGl0eVRyYW5zZm9ybWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUNBQWlDO0lBSzFDLFNBQVMsQ0FDTCxTQUFZLEVBQ1osTUFBcUIsRUFDckIsUUFBd0IsRUFDeEIsK0JBQXdDLEtBQUs7UUFJN0MsSUFBSSxDQUFDLGlCQUFpQixDQUNsQixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUiw0QkFBNEIsQ0FDL0IsQ0FBQTtRQUVELE9BQU8sU0FBUyxDQUFBO0lBQ3BCLENBQUM7SUFNRDs7O09BR0c7SUFDSyxpQkFBaUIsQ0FDckIsTUFBcUIsRUFDckIsTUFBcUIsRUFDckIsUUFBd0IsRUFDeEIsK0JBQXdDLEtBQUs7UUFNN0MsUUFBUSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUN2RCxJQUFJLGlCQUFpQixLQUFLLFNBQVM7Z0JBQy9CLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFDeEQsQ0FBQyxDQUFDLENBQUE7UUFHRixJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUN4RCxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQzlDLE1BQU0sRUFDTiw0QkFBNEIsQ0FDL0IsQ0FBQTtnQkFDRCxJQUFJLGtCQUFrQixLQUFLLFNBQVM7b0JBQUUsT0FBTTtnQkFFNUMsSUFBSSxRQUFRLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7d0JBQUUsT0FBTTtvQkFFOUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7d0JBQ3RCLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTt3QkFDdkIsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtvQkFDdkQsQ0FBQztvQkFFRCxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFO3dCQUVsRCxJQUFJLHdCQUF3QixHQUN4QixrQkFDSCxDQUFDLElBQUksQ0FBQyxDQUFDLHNCQUFzQixFQUFFLEVBQUU7NEJBQzlCLE9BQU8sUUFBUSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FDakQsc0JBQXNCLEVBQ3RCLHNCQUFzQixDQUN6QixDQUFBO3dCQUNMLENBQUMsQ0FBQyxDQUFBO3dCQUdGLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDOzRCQUM1Qix3QkFBd0I7Z0NBQ3BCLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQ2pDLFNBQVMsRUFDVCxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUM3QixDQUFBOzRCQUNMLGtCQUFrQixDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO3dCQUNyRCxDQUFDO3dCQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FDbEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixRQUFRLENBQUMscUJBQXFCLEVBQzlCLDRCQUE0QixDQUMvQixDQUFBO29CQUNMLENBQUMsQ0FBQyxDQUFBO2dCQUNOLENBQUM7cUJBQU0sQ0FBQztvQkFLSixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7d0JBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDOzRCQUN6QyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO3dCQUN2RCxPQUFNO29CQUNWLENBQUM7b0JBRUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7d0JBQ3RCLGtCQUFrQjs0QkFDZCxRQUFRLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtnQ0FDN0MsZ0JBQWdCLEVBQUUsSUFBSTs2QkFDekIsQ0FBQyxDQUFBO3dCQUNOLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUE7b0JBQ3ZELENBQUM7b0JBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUNsQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLFFBQVEsQ0FBQyxxQkFBcUIsRUFDOUIsNEJBQTRCLENBQy9CLENBQUE7Z0JBQ0wsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0hBQW9IIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEVudGl0eU1ldGFkYXRhIH0gZnJvbSBcIi4uLy4uL21ldGFkYXRhL0VudGl0eU1ldGFkYXRhXCJcbmltcG9ydCB7IE9iamVjdExpdGVyYWwgfSBmcm9tIFwiLi4vLi4vY29tbW9uL09iamVjdExpdGVyYWxcIlxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tIFwiLi4vLi4vdXRpbC9PYmplY3RVdGlsc1wiXG5cbi8qKlxuICogVHJhbnNmb3JtcyBwbGFpbiBvbGQgamF2YXNjcmlwdCBvYmplY3RcbiAqIEVudGl0eSBpcyBjb25zdHJ1Y3RlZCBiYXNlZCBvbiBpdHMgZW50aXR5IG1ldGFkYXRhLlxuICovXG5leHBvcnQgY2xhc3MgUGxhaW5PYmplY3RUb05ld0VudGl0eVRyYW5zZm9ybWVyIHtcblxuXG5cblxuICAgIHRyYW5zZm9ybTxUIGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIG5ld0VudGl0eTogVCxcbiAgICAgICAgb2JqZWN0OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGdldExhenlSZWxhdGlvbnNQcm9taXNlVmFsdWU6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICApOiBUIHtcblxuXG4gICAgICAgIHRoaXMuZ3JvdXBBbmRUcmFuc2Zvcm0oXG4gICAgICAgICAgICBuZXdFbnRpdHksXG4gICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgICAgIGdldExhenlSZWxhdGlvbnNQcm9taXNlVmFsdWUsXG4gICAgICAgIClcblxuICAgICAgICByZXR1cm4gbmV3RW50aXR5XG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBTaW5jZSBkYiByZXR1cm5zIGEgZHVwbGljYXRlZCByb3dzIG9mIHRoZSBkYXRhIHdoZXJlIGFjY3VyYWNpZXMgb2YgdGhlIHNhbWUgb2JqZWN0IGNhbiBiZSBkdXBsaWNhdGVkXG4gICAgICogd2UgbmVlZCB0byBncm91cCBvdXIgcmVzdWx0IGFuZCB3ZSBtdXN0IGhhdmUgc29tZSB1bmlxdWUgaWQgKHByaW1hcnkga2V5IGluIG91ciBjYXNlKVxuICAgICAqL1xuICAgIHByaXZhdGUgZ3JvdXBBbmRUcmFuc2Zvcm0oXG4gICAgICAgIGVudGl0eTogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgb2JqZWN0OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGdldExhenlSZWxhdGlvbnNQcm9taXNlVmFsdWU6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICApOiB2b2lkIHtcblxuXG5cblxuICAgICAgICBtZXRhZGF0YS5ub25WaXJ0dWFsQ29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9iamVjdENvbHVtblZhbHVlID0gY29sdW1uLmdldEVudGl0eVZhbHVlKG9iamVjdClcbiAgICAgICAgICAgIGlmIChvYmplY3RDb2x1bW5WYWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIGNvbHVtbi5zZXRFbnRpdHlWYWx1ZShlbnRpdHksIG9iamVjdENvbHVtblZhbHVlKVxuICAgICAgICB9KVxuXG5cbiAgICAgICAgaWYgKG1ldGFkYXRhLnJlbGF0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIG1ldGFkYXRhLnJlbGF0aW9ucy5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBlbnRpdHlSZWxhdGVkVmFsdWUgPSByZWxhdGlvbi5nZXRFbnRpdHlWYWx1ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqZWN0UmVsYXRlZFZhbHVlID0gcmVsYXRpb24uZ2V0RW50aXR5VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdCxcbiAgICAgICAgICAgICAgICAgICAgZ2V0TGF6eVJlbGF0aW9uc1Byb21pc2VWYWx1ZSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgaWYgKG9iamVjdFJlbGF0ZWRWYWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm5cblxuICAgICAgICAgICAgICAgIGlmIChyZWxhdGlvbi5pc09uZVRvTWFueSB8fCByZWxhdGlvbi5pc01hbnlUb01hbnkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG9iamVjdFJlbGF0ZWRWYWx1ZSkpIHJldHVyblxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghZW50aXR5UmVsYXRlZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHlSZWxhdGVkVmFsdWUgPSBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb24uc2V0RW50aXR5VmFsdWUoZW50aXR5LCBlbnRpdHlSZWxhdGVkVmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBvYmplY3RSZWxhdGVkVmFsdWUuZm9yRWFjaCgob2JqZWN0UmVsYXRlZFZhbHVlSXRlbSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2JqZWN0UmVsYXRlZFZhbHVlRW50aXR5ID0gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVJlbGF0ZWRWYWx1ZSBhcyBhbnlbXVxuICAgICAgICAgICAgICAgICAgICAgICAgKS5maW5kKChlbnRpdHlSZWxhdGVkVmFsdWVJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlbGF0aW9uLmludmVyc2VFbnRpdHlNZXRhZGF0YS5jb21wYXJlRW50aXRpZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdFJlbGF0ZWRWYWx1ZUl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVJlbGF0ZWRWYWx1ZUl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcblxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9iamVjdFJlbGF0ZWRWYWx1ZUVudGl0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdFJlbGF0ZWRWYWx1ZUVudGl0eSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLmludmVyc2VFbnRpdHlNZXRhZGF0YS5jcmVhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGZyb21EZXNlcmlhbGl6ZXI6IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVJlbGF0ZWRWYWx1ZS5wdXNoKG9iamVjdFJlbGF0ZWRWYWx1ZUVudGl0eSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm91cEFuZFRyYW5zZm9ybShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RSZWxhdGVkVmFsdWVFbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0UmVsYXRlZFZhbHVlSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pbnZlcnNlRW50aXR5TWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TGF6eVJlbGF0aW9uc1Byb21pc2VWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuXG5cblxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghT2JqZWN0VXRpbHMuaXNPYmplY3Qob2JqZWN0UmVsYXRlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFPYmplY3RVdGlscy5pc09iamVjdChlbnRpdHlSZWxhdGVkVmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLnNldEVudGl0eVZhbHVlKGVudGl0eSwgb2JqZWN0UmVsYXRlZFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWVudGl0eVJlbGF0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5UmVsYXRlZFZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pbnZlcnNlRW50aXR5TWV0YWRhdGEuY3JlYXRlKHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tRGVzZXJpYWxpemVyOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5zZXRFbnRpdHlWYWx1ZShlbnRpdHksIGVudGl0eVJlbGF0ZWRWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBBbmRUcmFuc2Zvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHlSZWxhdGVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RSZWxhdGVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pbnZlcnNlRW50aXR5TWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRMYXp5UmVsYXRpb25zUHJvbWlzZVZhbHVlLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tdHlwZW9ybSBsaWIvdHlwZW9ybS9xdWVyeS1idWlsZGVyL3RyYW5zZm9ybWVyL1BsYWluT2JqZWN0VG9OZXdFbnRpdHlUcmFuc2Zvcm1lci50cyJdfQ==
@@ -1,366 +0,0 @@
1
- import { OrmUtils } from "../../util/OrmUtils";
2
- import { DriverUtils } from "../../driver/DriverUtils";
3
- import { ObjectUtils } from "../../util/ObjectUtils";
4
- /**
5
- * Transforms raw sql results returned from the database into entity object.
6
- * Entity is constructed based on its entity metadata.
7
- */
8
- export class RawSqlResultsToEntityTransformer {
9
- constructor(expressionMap, driver, rawRelationIdResults, rawRelationCountResults, queryRunner) {
10
- this.expressionMap = expressionMap;
11
- this.driver = driver;
12
- this.rawRelationIdResults = rawRelationIdResults;
13
- this.rawRelationCountResults = rawRelationCountResults;
14
- this.queryRunner = queryRunner;
15
- }
16
- /**
17
- * Since db returns a duplicated rows of the data where accuracies of the same object can be duplicated
18
- * we need to group our result and we must have some unique id (primary key in our case)
19
- */
20
- transform(rawResults, alias) {
21
- const group = this.group(rawResults, alias);
22
- const entities = [];
23
- group.forEach((results) => {
24
- const entity = this.transformRawResultsGroup(results, alias);
25
- if (entity !== undefined &&
26
- !Object.values(entity).every((value) => value === null))
27
- entities.push(entity);
28
- });
29
- return entities;
30
- }
31
- /**
32
- * Groups given raw results by ids of given alias.
33
- */
34
- group(rawResults, alias) {
35
- const map = new Map();
36
- const keys = [];
37
- if (alias.metadata.tableType === "view") {
38
- keys.push(...alias.metadata.columns.map((column) => DriverUtils.buildAlias(this.driver, alias.name, column.databaseName)));
39
- }
40
- else {
41
- keys.push(...alias.metadata.primaryColumns.map((column) => DriverUtils.buildAlias(this.driver, alias.name, column.databaseName)));
42
- }
43
- rawResults.forEach((rawResult) => {
44
- const id = keys
45
- .map((key) => {
46
- const keyValue = rawResult[key];
47
- /* */
48
- /* */
49
- /* */
50
- /* */
51
- if (ObjectUtils.isObject(keyValue)) {
52
- return JSON.stringify(keyValue);
53
- }
54
- return keyValue;
55
- })
56
- .join("_"); // todo: check partial
57
- const items = map.get(id);
58
- if (!items) {
59
- map.set(id, [rawResult]);
60
- }
61
- else {
62
- items.push(rawResult);
63
- }
64
- });
65
- return map;
66
- }
67
- /**
68
- * Transforms set of data results into single entity.
69
- */
70
- transformRawResultsGroup(rawResults, alias) {
71
- let metadata = alias.metadata;
72
- if (metadata.discriminatorColumn) {
73
- const discriminatorValues = rawResults.map((result) => result[DriverUtils.buildAlias(this.driver, alias.name, alias.metadata.discriminatorColumn.databaseName)]);
74
- const discriminatorMetadata = metadata.childEntityMetadatas.find((childEntityMetadata) => {
75
- return (typeof discriminatorValues.find((value) => value ===
76
- childEntityMetadata.discriminatorValue) !== "undefined");
77
- });
78
- if (discriminatorMetadata)
79
- metadata = discriminatorMetadata;
80
- }
81
- let entity = metadata.create(this.queryRunner, {
82
- fromDeserializer: true,
83
- pojo: this.expressionMap.options.indexOf("create-pojo") !== -1,
84
- });
85
- const hasColumns = this.transformColumns(rawResults, alias, entity, metadata);
86
- const hasRelations = this.transformJoins(rawResults, entity, alias, metadata);
87
- const hasRelationIds = this.transformRelationIds(rawResults, alias, entity, metadata);
88
- const hasRelationCounts = this.transformRelationCounts(rawResults, alias, entity);
89
- if (hasColumns)
90
- return entity;
91
- const hasOnlyVirtualPrimaryColumns = metadata.primaryColumns.filter((column) => column.isVirtual === false).length === 0; // todo: create metadata.hasOnlyVirtualPrimaryColumns
92
- if (hasOnlyVirtualPrimaryColumns &&
93
- (hasRelations || hasRelationIds || hasRelationCounts))
94
- return entity;
95
- return undefined;
96
- }
97
- transformColumns(rawResults, alias, entity, metadata) {
98
- let hasData = false;
99
- metadata.columns.forEach((column) => {
100
- if (metadata.childEntityMetadatas.length > 0 &&
101
- metadata.childEntityMetadatas.findIndex((childMetadata) => childMetadata.target === column.target) !== -1)
102
- return;
103
- const value = rawResults[0][DriverUtils.buildAlias(this.driver, alias.name, column.databaseName)];
104
- if (value === undefined || column.isVirtual)
105
- return;
106
- if (!this.expressionMap.selects.find((select) => select.selection === alias.name ||
107
- select.selection ===
108
- alias.name + "." + column.propertyPath))
109
- return;
110
- column.setEntityValue(entity, this.driver.prepareHydratedValue(value, column));
111
- if (value !== null)
112
- hasData = true;
113
- });
114
- return hasData;
115
- }
116
- /**
117
- * Transforms joined entities in the given raw results by a given alias and stores to the given (parent) entity
118
- */
119
- transformJoins(rawResults, entity, alias, metadata) {
120
- let hasData = false;
121
- this.expressionMap.joinAttributes.forEach((join) => {
122
- if (!join.metadata)
123
- return;
124
- if (!join.isSelected)
125
- return;
126
- if (join.relation &&
127
- !metadata.relations.find((relation) => relation === join.relation))
128
- return;
129
- if (join.mapToProperty) {
130
- if (join.mapToPropertyParentAlias !== alias.name)
131
- return;
132
- }
133
- else {
134
- if (!join.relation ||
135
- join.parentAlias !== alias.name ||
136
- join.relationPropertyPath !== join.relation.propertyPath)
137
- return;
138
- }
139
- let result = this.transform(rawResults, join.alias);
140
- result = !join.isMany ? result[0] : result;
141
- result = !join.isMany && result === undefined ? null : result; // this is needed to make relations to return null when its joined but nothing was found in the database
142
- if (result === undefined)
143
- return;
144
- if (join.mapToPropertyPropertyName) {
145
- entity[join.mapToPropertyPropertyName] = result; // todo: fix embeds
146
- }
147
- else {
148
- join.relation.setEntityValue(entity, result);
149
- }
150
- hasData = true;
151
- });
152
- return hasData;
153
- }
154
- transformRelationIds(rawSqlResults, alias, entity, metadata) {
155
- let hasData = false;
156
- this.rawRelationIdResults.forEach((rawRelationIdResult, index) => {
157
- if (rawRelationIdResult.relationIdAttribute.parentAlias !==
158
- alias.name)
159
- return;
160
- const relation = rawRelationIdResult.relationIdAttribute.relation;
161
- const valueMap = this.createValueMapFromJoinColumns(relation, rawRelationIdResult.relationIdAttribute.parentAlias, rawSqlResults);
162
- if (valueMap === undefined || valueMap === null) {
163
- return;
164
- }
165
- this.prepareDataForTransformRelationIds();
166
- const hash = this.hashEntityIds(relation, valueMap);
167
- const idMaps = this.relationIdMaps[index][hash] || [];
168
- const properties = rawRelationIdResult.relationIdAttribute.mapToPropertyPropertyPath.split(".");
169
- const mapToProperty = (properties, map, value) => {
170
- const property = properties.shift();
171
- if (property && properties.length === 0) {
172
- map[property] = value;
173
- return map;
174
- }
175
- if (property && properties.length > 0) {
176
- mapToProperty(properties, map[property], value);
177
- }
178
- else {
179
- return map;
180
- }
181
- };
182
- if (relation.isOneToOne || relation.isManyToOne) {
183
- if (idMaps[0] !== undefined) {
184
- mapToProperty(properties, entity, idMaps[0]);
185
- hasData = true;
186
- }
187
- }
188
- else {
189
- mapToProperty(properties, entity, idMaps);
190
- hasData = hasData || idMaps.length > 0;
191
- }
192
- });
193
- return hasData;
194
- }
195
- transformRelationCounts(rawSqlResults, alias, entity) {
196
- let hasData = false;
197
- this.rawRelationCountResults
198
- .filter((rawRelationCountResult) => rawRelationCountResult.relationCountAttribute
199
- .parentAlias === alias.name)
200
- .forEach((rawRelationCountResult) => {
201
- const relation = rawRelationCountResult.relationCountAttribute.relation;
202
- let referenceColumnName;
203
- if (relation.isOneToMany) {
204
- referenceColumnName =
205
- relation.inverseRelation.joinColumns[0]
206
- .referencedColumn.databaseName; // todo: fix joinColumns[0]
207
- }
208
- else {
209
- referenceColumnName = relation.isOwning
210
- ? relation.joinColumns[0].referencedColumn.databaseName
211
- : relation.inverseRelation.joinColumns[0]
212
- .referencedColumn.databaseName;
213
- }
214
- const referenceColumnValue = rawSqlResults[0][DriverUtils.buildAlias(this.driver, alias.name, referenceColumnName)]; // we use zero index since its grouped data // todo: selection with alias for entity columns wont work
215
- if (referenceColumnValue !== undefined &&
216
- referenceColumnValue !== null) {
217
- entity[rawRelationCountResult.relationCountAttribute.mapToPropertyPropertyName] = 0;
218
- rawRelationCountResult.results
219
- .filter((result) => result["parentId"] === referenceColumnValue)
220
- .forEach((result) => {
221
- entity[rawRelationCountResult.relationCountAttribute.mapToPropertyPropertyName] = parseInt(result["cnt"]);
222
- hasData = true;
223
- });
224
- }
225
- });
226
- return hasData;
227
- }
228
- createValueMapFromJoinColumns(relation, parentAlias, rawSqlResults) {
229
- let columns;
230
- if (relation.isManyToOne || relation.isOneToOneOwner) {
231
- columns = relation.entityMetadata.primaryColumns.map((joinColumn) => joinColumn);
232
- }
233
- else if (relation.isOneToMany || relation.isOneToOneNotOwner) {
234
- columns = relation.inverseRelation.joinColumns.map((joinColumn) => joinColumn);
235
- }
236
- else {
237
- if (relation.isOwning) {
238
- columns = relation.joinColumns.map((joinColumn) => joinColumn);
239
- }
240
- else {
241
- columns = relation.inverseRelation.inverseJoinColumns.map((joinColumn) => joinColumn);
242
- }
243
- }
244
- return columns.reduce((valueMap, column) => {
245
- rawSqlResults.forEach((rawSqlResult) => {
246
- if (relation.isManyToOne || relation.isOneToOneOwner) {
247
- valueMap[column.databaseName] =
248
- this.driver.prepareHydratedValue(rawSqlResult[DriverUtils.buildAlias(this.driver, parentAlias, column.databaseName)], column);
249
- }
250
- else {
251
- valueMap[column.databaseName] =
252
- this.driver.prepareHydratedValue(rawSqlResult[DriverUtils.buildAlias(this.driver, parentAlias, column.referencedColumn.databaseName)], column);
253
- }
254
- });
255
- return valueMap;
256
- }, {});
257
- }
258
- extractEntityPrimaryIds(relation, relationIdRawResult) {
259
- let columns;
260
- if (relation.isManyToOne || relation.isOneToOneOwner) {
261
- columns = relation.entityMetadata.primaryColumns.map((joinColumn) => joinColumn);
262
- }
263
- else if (relation.isOneToMany || relation.isOneToOneNotOwner) {
264
- columns = relation.inverseRelation.joinColumns.map((joinColumn) => joinColumn);
265
- }
266
- else {
267
- if (relation.isOwning) {
268
- columns = relation.joinColumns.map((joinColumn) => joinColumn);
269
- }
270
- else {
271
- columns = relation.inverseRelation.inverseJoinColumns.map((joinColumn) => joinColumn);
272
- }
273
- }
274
- return columns.reduce((data, column) => {
275
- data[column.databaseName] = relationIdRawResult[column.databaseName];
276
- return data;
277
- }, {});
278
- }
279
- /*private removeVirtualColumns(entity: ObjectLiteral, alias: Alias) {
280
- const virtualColumns = this.expressionMap.selects
281
- .filter(select => select.virtual)
282
- .map(select => select.selection.replace(alias.name + ".", ""));
283
-
284
- virtualColumns.forEach(virtualColumn => delete entity[virtualColumn]);
285
- }*/
286
- /** Prepare data to run #transformRelationIds, as a lot of result independent data is needed in every call */
287
- prepareDataForTransformRelationIds() {
288
- if (this.relationIdMaps) {
289
- return;
290
- }
291
- this.relationIdMaps = this.rawRelationIdResults.map((rawRelationIdResult) => {
292
- const relation = rawRelationIdResult.relationIdAttribute.relation;
293
- let columns;
294
- if (relation.isManyToOne || relation.isOneToOneOwner) {
295
- columns = relation.joinColumns;
296
- }
297
- else if (relation.isOneToMany ||
298
- relation.isOneToOneNotOwner) {
299
- columns = relation.inverseEntityMetadata.primaryColumns;
300
- }
301
- else {
302
- if (relation.isOwning) {
303
- columns = relation.inverseJoinColumns;
304
- }
305
- else {
306
- columns = relation.inverseRelation.joinColumns;
307
- }
308
- }
309
- return rawRelationIdResult.results.reduce((agg, result) => {
310
- let idMap = columns.reduce((idMap, column) => {
311
- let value = result[column.databaseName];
312
- if (relation.isOneToMany ||
313
- relation.isOneToOneNotOwner) {
314
- if (column.isVirtual &&
315
- column.referencedColumn &&
316
- column.referencedColumn.propertyName !==
317
- column.propertyName) {
318
- value =
319
- column.referencedColumn.createValueMap(value);
320
- }
321
- return OrmUtils.mergeDeep(idMap, column.createValueMap(value));
322
- }
323
- if (!column.isPrimary &&
324
- column.referencedColumn.referencedColumn) {
325
- value =
326
- column.referencedColumn.referencedColumn.createValueMap(value);
327
- }
328
- return OrmUtils.mergeDeep(idMap, column.referencedColumn.createValueMap(value));
329
- }, {});
330
- if (columns.length === 1 &&
331
- !rawRelationIdResult.relationIdAttribute.disableMixedMap) {
332
- if (relation.isOneToMany ||
333
- relation.isOneToOneNotOwner) {
334
- idMap = columns[0].getEntityValue(idMap);
335
- }
336
- else {
337
- idMap =
338
- columns[0].referencedColumn.getEntityValue(idMap);
339
- }
340
- }
341
- if (idMap !== undefined) {
342
- const hash = this.hashEntityIds(relation, result);
343
- if (agg[hash]) {
344
- agg[hash].push(idMap);
345
- }
346
- else {
347
- agg[hash] = [idMap];
348
- }
349
- }
350
- return agg;
351
- }, {});
352
- });
353
- }
354
- /**
355
- * Use a simple JSON.stringify to create a simple hash of the primary ids of an entity.
356
- * As this.extractEntityPrimaryIds always creates the primary id object in the same order, if the same relation is
357
- * given, a simple JSON.stringify should be enough to get a unique hash per entity!
358
- */
359
- hashEntityIds(relation, data) {
360
- const entityPrimaryIds = this.extractEntityPrimaryIds(relation, data);
361
- return JSON.stringify(entityPrimaryIds);
362
- }
363
- }
364
- ;
365
- ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.ts
366
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmF3U3FsUmVzdWx0c1RvRW50aXR5VHJhbnNmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vcXVlcnktYnVpbGRlci90cmFuc2Zvcm1lci9SYXdTcWxSZXN1bHRzVG9FbnRpdHlUcmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFJOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0NBQWdDO0lBV3pDLFlBQ2MsYUFBaUMsRUFDakMsTUFBYyxFQUNkLG9CQUE0QyxFQUM1Qyx1QkFBa0QsRUFDbEQsV0FBeUI7UUFKekIsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXdCO1FBQzVDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBMkI7UUFDbEQsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFDcEMsQ0FBQztJQU1KOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxVQUFpQixFQUFFLEtBQVk7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDM0MsTUFBTSxRQUFRLEdBQVUsRUFBRSxDQUFBO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FB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blxuaW1wb3J0IHsgRHJpdmVyIH0gZnJvbSBcIi4uLy4uL2RyaXZlci9Ecml2ZXJcIlxuaW1wb3J0IHsgUmVsYXRpb25JZExvYWRSZXN1bHQgfSBmcm9tIFwiLi4vcmVsYXRpb24taWQvUmVsYXRpb25JZExvYWRSZXN1bHRcIlxuaW1wb3J0IHsgT2JqZWN0TGl0ZXJhbCB9IGZyb20gXCIuLi8uLi9jb21tb24vT2JqZWN0TGl0ZXJhbFwiXG5pbXBvcnQgeyBDb2x1bW5NZXRhZGF0YSB9IGZyb20gXCIuLi8uLi9tZXRhZGF0YS9Db2x1bW5NZXRhZGF0YVwiXG5pbXBvcnQgeyBBbGlhcyB9IGZyb20gXCIuLi9BbGlhc1wiXG5pbXBvcnQgeyBSZWxhdGlvbkNvdW50TG9hZFJlc3VsdCB9IGZyb20gXCIuLi9yZWxhdGlvbi1jb3VudC9SZWxhdGlvbkNvdW50TG9hZFJlc3VsdFwiXG5pbXBvcnQgeyBSZWxhdGlvbk1ldGFkYXRhIH0gZnJvbSBcIi4uLy4uL21ldGFkYXRhL1JlbGF0aW9uTWV0YWRhdGFcIlxuaW1wb3J0IHsgT3JtVXRpbHMgfSBmcm9tIFwiLi4vLi4vdXRpbC9Pcm1VdGlsc1wiXG5pbXBvcnQgeyBRdWVyeUV4cHJlc3Npb25NYXAgfSBmcm9tIFwiLi4vUXVlcnlFeHByZXNzaW9uTWFwXCJcbmltcG9ydCB7IEVudGl0eU1ldGFkYXRhIH0gZnJvbSBcIi4uLy4uL21ldGFkYXRhL0VudGl0eU1ldGFkYXRhXCJcbmltcG9ydCB7IFF1ZXJ5UnVubmVyIH0gZnJvbSBcIi4uLy4uXCJcbmltcG9ydCB7IERyaXZlclV0aWxzIH0gZnJvbSBcIi4uLy4uL2RyaXZlci9Ecml2ZXJVdGlsc1wiXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gXCIuLi8uLi91dGlsL09iamVjdFV0aWxzXCJcblxuLyoqXG4gKiBUcmFuc2Zvcm1zIHJhdyBzcWwgcmVzdWx0cyByZXR1cm5lZCBmcm9tIHRoZSBkYXRhYmFzZSBpbnRvIGVudGl0eSBvYmplY3QuXG4gKiBFbnRpdHkgaXMgY29uc3RydWN0ZWQgYmFzZWQgb24gaXRzIGVudGl0eSBtZXRhZGF0YS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJhd1NxbFJlc3VsdHNUb0VudGl0eVRyYW5zZm9ybWVyIHtcbiAgICAvKipcbiAgICAgKiBDb250YWlucyBhIGhhc2htYXAgZm9yIGV2ZXJ5IHJhd1JlbGF0aW9uSWRSZXN1bHRzIGdpdmVuLlxuICAgICAqIEluIHRoZSBoYXNobWFwIHlvdSB3aWxsIGZpbmQgdGhlIGlkTWFwcyBvZiBhIHJlc3VsdCB1bmRlciB0aGUgaGFzaCBvZiB0aGlzLmhhc2hFbnRpdHlJZHMgZm9yIHRoZSByZXN1bHQuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWxhdGlvbklkTWFwczogQXJyYXk8eyBbaWRIYXNoOiBzdHJpbmddOiBhbnlbXSB9PlxuXG5cblxuXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGV4cHJlc3Npb25NYXA6IFF1ZXJ5RXhwcmVzc2lvbk1hcCxcbiAgICAgICAgcHJvdGVjdGVkIGRyaXZlcjogRHJpdmVyLFxuICAgICAgICBwcm90ZWN0ZWQgcmF3UmVsYXRpb25JZFJlc3VsdHM6IFJlbGF0aW9uSWRMb2FkUmVzdWx0W10sXG4gICAgICAgIHByb3RlY3RlZCByYXdSZWxhdGlvbkNvdW50UmVzdWx0czogUmVsYXRpb25Db3VudExvYWRSZXN1bHRbXSxcbiAgICAgICAgcHJvdGVjdGVkIHF1ZXJ5UnVubmVyPzogUXVlcnlSdW5uZXIsXG4gICAgKSB7fVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBTaW5jZSBkYiByZXR1cm5zIGEgZHVwbGljYXRlZCByb3dzIG9mIHRoZSBkYXRhIHdoZXJlIGFjY3VyYWNpZXMgb2YgdGhlIHNhbWUgb2JqZWN0IGNhbiBiZSBkdXBsaWNhdGVkXG4gICAgICogd2UgbmVlZCB0byBncm91cCBvdXIgcmVzdWx0IGFuZCB3ZSBtdXN0IGhhdmUgc29tZSB1bmlxdWUgaWQgKHByaW1hcnkga2V5IGluIG91ciBjYXNlKVxuICAgICAqL1xuICAgIHRyYW5zZm9ybShyYXdSZXN1bHRzOiBhbnlbXSwgYWxpYXM6IEFsaWFzKTogYW55W10ge1xuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuZ3JvdXAocmF3UmVzdWx0cywgYWxpYXMpXG4gICAgICAgIGNvbnN0IGVudGl0aWVzOiBhbnlbXSA9IFtdXG4gICAgICAgIGdyb3VwLmZvckVhY2goKHJlc3VsdHMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eSA9IHRoaXMudHJhbnNmb3JtUmF3UmVzdWx0c0dyb3VwKHJlc3VsdHMsIGFsaWFzKVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGVudGl0eSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgIU9iamVjdC52YWx1ZXMoZW50aXR5KS5ldmVyeSgodmFsdWUpID0+IHZhbHVlID09PSBudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIGVudGl0aWVzLnB1c2goZW50aXR5KVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gZW50aXRpZXNcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIEdyb3VwcyBnaXZlbiByYXcgcmVzdWx0cyBieSBpZHMgb2YgZ2l2ZW4gYWxpYXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdyb3VwKHJhd1Jlc3VsdHM6IGFueVtdLCBhbGlhczogQWxpYXMpOiBNYXA8c3RyaW5nLCBhbnlbXT4ge1xuICAgICAgICBjb25zdCBtYXAgPSBuZXcgTWFwKClcbiAgICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXVxuICAgICAgICBpZiAoYWxpYXMubWV0YWRhdGEudGFibGVUeXBlID09PSBcInZpZXdcIikge1xuICAgICAgICAgICAga2V5cy5wdXNoKFxuICAgICAgICAgICAgICAgIC4uLmFsaWFzLm1ldGFkYXRhLmNvbHVtbnMubWFwKChjb2x1bW4pID0+XG4gICAgICAgICAgICAgICAgICAgIERyaXZlclV0aWxzLmJ1aWxkQWxpYXMoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWFzLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uZGF0YWJhc2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goXG4gICAgICAgICAgICAgICAgLi4uYWxpYXMubWV0YWRhdGEucHJpbWFyeUNvbHVtbnMubWFwKChjb2x1bW4pID0+XG4gICAgICAgICAgICAgICAgICAgIERyaXZlclV0aWxzLmJ1aWxkQWxpYXMoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWFzLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uZGF0YWJhc2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgcmF3UmVzdWx0cy5mb3JFYWNoKChyYXdSZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0ga2V5c1xuICAgICAgICAgICAgICAgIC5tYXAoKGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXlWYWx1ZSA9IHJhd1Jlc3VsdFtrZXldXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNPYmplY3Qoa2V5VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoa2V5VmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ga2V5VmFsdWVcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5qb2luKFwiX1wiKSAvLyB0b2RvOiBjaGVjayBwYXJ0aWFsXG5cbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gbWFwLmdldChpZClcbiAgICAgICAgICAgIGlmICghaXRlbXMpIHtcbiAgICAgICAgICAgICAgICBtYXAuc2V0KGlkLCBbcmF3UmVzdWx0XSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaChyYXdSZXN1bHQpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBtYXBcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm1zIHNldCBvZiBkYXRhIHJlc3VsdHMgaW50byBzaW5nbGUgZW50aXR5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCB0cmFuc2Zvcm1SYXdSZXN1bHRzR3JvdXAoXG4gICAgICAgIHJhd1Jlc3VsdHM6IGFueVtdLFxuICAgICAgICBhbGlhczogQWxpYXMsXG4gICAgKTogT2JqZWN0TGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG5cbiAgICAgICAgbGV0IG1ldGFkYXRhID0gYWxpYXMubWV0YWRhdGFcblxuICAgICAgICBpZiAobWV0YWRhdGEuZGlzY3JpbWluYXRvckNvbHVtbikge1xuICAgICAgICAgICAgY29uc3QgZGlzY3JpbWluYXRvclZhbHVlcyA9IHJhd1Jlc3VsdHMubWFwKFxuICAgICAgICAgICAgICAgIChyZXN1bHQpID0+XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtcbiAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlclV0aWxzLmJ1aWxkQWxpYXMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpYXMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlhcy5tZXRhZGF0YS5kaXNjcmltaW5hdG9yQ29sdW1uIS5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBjb25zdCBkaXNjcmltaW5hdG9yTWV0YWRhdGEgPSBtZXRhZGF0YS5jaGlsZEVudGl0eU1ldGFkYXRhcy5maW5kKFxuICAgICAgICAgICAgICAgIChjaGlsZEVudGl0eU1ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZGlzY3JpbWluYXRvclZhbHVlcy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkRW50aXR5TWV0YWRhdGEuZGlzY3JpbWluYXRvclZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChkaXNjcmltaW5hdG9yTWV0YWRhdGEpIG1ldGFkYXRhID0gZGlzY3JpbWluYXRvck1ldGFkYXRhXG4gICAgICAgIH1cbiAgICAgICAgbGV0IGVudGl0eTogYW55ID0gbWV0YWRhdGEuY3JlYXRlKHRoaXMucXVlcnlSdW5uZXIsIHtcbiAgICAgICAgICAgIGZyb21EZXNlcmlhbGl6ZXI6IHRydWUsXG4gICAgICAgICAgICBwb2pvOiB0aGlzLmV4cHJlc3Npb25NYXAub3B0aW9ucy5pbmRleE9mKFwiY3JlYXRlLXBvam9cIikgIT09IC0xLFxuICAgICAgICB9KVxuXG5cbiAgICAgICAgY29uc3QgaGFzQ29sdW1ucyA9IHRoaXMudHJhbnNmb3JtQ29sdW1ucyhcbiAgICAgICAgICAgIHJhd1Jlc3VsdHMsXG4gICAgICAgICAgICBhbGlhcyxcbiAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IGhhc1JlbGF0aW9ucyA9IHRoaXMudHJhbnNmb3JtSm9pbnMoXG4gICAgICAgICAgICByYXdSZXN1bHRzLFxuICAgICAgICAgICAgZW50aXR5LFxuICAgICAgICAgICAgYWxpYXMsXG4gICAgICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBoYXNSZWxhdGlvbklkcyA9IHRoaXMudHJhbnNmb3JtUmVsYXRpb25JZHMoXG4gICAgICAgICAgICByYXdSZXN1bHRzLFxuICAgICAgICAgICAgYWxpYXMsXG4gICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBoYXNSZWxhdGlvbkNvdW50cyA9IHRoaXMudHJhbnNmb3JtUmVsYXRpb25Db3VudHMoXG4gICAgICAgICAgICByYXdSZXN1bHRzLFxuICAgICAgICAgICAgYWxpYXMsXG4gICAgICAgICAgICBlbnRpdHksXG4gICAgICAgIClcblxuXG5cbiAgICAgICAgaWYgKGhhc0NvbHVtbnMpIHJldHVybiBlbnRpdHlcblxuXG5cblxuICAgICAgICBjb25zdCBoYXNPbmx5VmlydHVhbFByaW1hcnlDb2x1bW5zID1cbiAgICAgICAgICAgIG1ldGFkYXRhLnByaW1hcnlDb2x1bW5zLmZpbHRlcihcbiAgICAgICAgICAgICAgICAoY29sdW1uKSA9PiBjb2x1bW4uaXNWaXJ0dWFsID09PSBmYWxzZSxcbiAgICAgICAgICAgICkubGVuZ3RoID09PSAwIC8vIHRvZG86IGNyZWF0ZSBtZXRhZGF0YS5oYXNPbmx5VmlydHVhbFByaW1hcnlDb2x1bW5zXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGhhc09ubHlWaXJ0dWFsUHJpbWFyeUNvbHVtbnMgJiZcbiAgICAgICAgICAgIChoYXNSZWxhdGlvbnMgfHwgaGFzUmVsYXRpb25JZHMgfHwgaGFzUmVsYXRpb25Db3VudHMpXG4gICAgICAgIClcbiAgICAgICAgICAgIHJldHVybiBlbnRpdHlcblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNmb3JtQ29sdW1ucyhcbiAgICAgICAgcmF3UmVzdWx0czogYW55W10sXG4gICAgICAgIGFsaWFzOiBBbGlhcyxcbiAgICAgICAgZW50aXR5OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBoYXNEYXRhID0gZmFsc2VcbiAgICAgICAgbWV0YWRhdGEuY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhLmNoaWxkRW50aXR5TWV0YWRhdGFzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgICBtZXRhZGF0YS5jaGlsZEVudGl0eU1ldGFkYXRhcy5maW5kSW5kZXgoXG4gICAgICAgICAgICAgICAgICAgIChjaGlsZE1ldGFkYXRhKSA9PiBjaGlsZE1ldGFkYXRhLnRhcmdldCA9PT0gY29sdW1uLnRhcmdldCxcbiAgICAgICAgICAgICAgICApICE9PSAtMVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIHJldHVyblxuXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICAgICAgcmF3UmVzdWx0c1swXVtcbiAgICAgICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuYnVpbGRBbGlhcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpYXMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCBjb2x1bW4uaXNWaXJ0dWFsKSByZXR1cm5cblxuXG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5leHByZXNzaW9uTWFwLnNlbGVjdHMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC5zZWxlY3Rpb24gPT09IGFsaWFzLm5hbWUgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC5zZWxlY3Rpb24gPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpYXMubmFtZSArIFwiLlwiICsgY29sdW1uLnByb3BlcnR5UGF0aCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgcmV0dXJuXG5cbiAgICAgICAgICAgIGNvbHVtbi5zZXRFbnRpdHlWYWx1ZShcbiAgICAgICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIucHJlcGFyZUh5ZHJhdGVkVmFsdWUodmFsdWUsIGNvbHVtbiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpXG5cbiAgICAgICAgICAgICAgICBoYXNEYXRhID0gdHJ1ZVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gaGFzRGF0YVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgam9pbmVkIGVudGl0aWVzIGluIHRoZSBnaXZlbiByYXcgcmVzdWx0cyBieSBhIGdpdmVuIGFsaWFzIGFuZCBzdG9yZXMgdG8gdGhlIGdpdmVuIChwYXJlbnQpIGVudGl0eVxuICAgICAqL1xuICAgIHByb3RlY3RlZCB0cmFuc2Zvcm1Kb2lucyhcbiAgICAgICAgcmF3UmVzdWx0czogYW55W10sXG4gICAgICAgIGVudGl0eTogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgYWxpYXM6IEFsaWFzLFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgKSB7XG4gICAgICAgIGxldCBoYXNEYXRhID0gZmFsc2VcblxuXG5cblxuXG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC5qb2luQXR0cmlidXRlcy5mb3JFYWNoKChqb2luKSA9PiB7XG5cblxuXG4gICAgICAgICAgICBpZiAoIWpvaW4ubWV0YWRhdGEpIHJldHVyblxuXG5cbiAgICAgICAgICAgIGlmICgham9pbi5pc1NlbGVjdGVkKSByZXR1cm5cblxuXG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBqb2luLnJlbGF0aW9uICYmXG4gICAgICAgICAgICAgICAgIW1ldGFkYXRhLnJlbGF0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAocmVsYXRpb24pID0+IHJlbGF0aW9uID09PSBqb2luLnJlbGF0aW9uLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICByZXR1cm5cblxuXG4gICAgICAgICAgICBpZiAoam9pbi5tYXBUb1Byb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgaWYgKGpvaW4ubWFwVG9Qcm9wZXJ0eVBhcmVudEFsaWFzICE9PSBhbGlhcy5uYW1lKSByZXR1cm5cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAham9pbi5yZWxhdGlvbiB8fFxuICAgICAgICAgICAgICAgICAgICBqb2luLnBhcmVudEFsaWFzICE9PSBhbGlhcy5uYW1lIHx8XG4gICAgICAgICAgICAgICAgICAgIGpvaW4ucmVsYXRpb25Qcm9wZXJ0eVBhdGggIT09IGpvaW4ucmVsYXRpb24hLnByb3BlcnR5UGF0aFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgbGV0IHJlc3VsdDogYW55ID0gdGhpcy50cmFuc2Zvcm0ocmF3UmVzdWx0cywgam9pbi5hbGlhcylcbiAgICAgICAgICAgIHJlc3VsdCA9ICFqb2luLmlzTWFueSA/IHJlc3VsdFswXSA6IHJlc3VsdFxuICAgICAgICAgICAgcmVzdWx0ID0gIWpvaW4uaXNNYW55ICYmIHJlc3VsdCA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IHJlc3VsdCAvLyB0aGlzIGlzIG5lZWRlZCB0byBtYWtlIHJlbGF0aW9ucyB0byByZXR1cm4gbnVsbCB3aGVuIGl0cyBqb2luZWQgYnV0IG5vdGhpbmcgd2FzIGZvdW5kIGluIHRoZSBkYXRhYmFzZVxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuXG5cblxuICAgICAgICAgICAgaWYgKGpvaW4ubWFwVG9Qcm9wZXJ0eVByb3BlcnR5TmFtZSkge1xuICAgICAgICAgICAgICAgIGVudGl0eVtqb2luLm1hcFRvUHJvcGVydHlQcm9wZXJ0eU5hbWVdID0gcmVzdWx0IC8vIHRvZG86IGZpeCBlbWJlZHNcbiAgICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBqb2luLnJlbGF0aW9uIS5zZXRFbnRpdHlWYWx1ZShlbnRpdHksIHJlc3VsdClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaGFzRGF0YSA9IHRydWVcbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIGhhc0RhdGFcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNmb3JtUmVsYXRpb25JZHMoXG4gICAgICAgIHJhd1NxbFJlc3VsdHM6IGFueVtdLFxuICAgICAgICBhbGlhczogQWxpYXMsXG4gICAgICAgIGVudGl0eTogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgaGFzRGF0YSA9IGZhbHNlXG4gICAgICAgIHRoaXMucmF3UmVsYXRpb25JZFJlc3VsdHMuZm9yRWFjaCgocmF3UmVsYXRpb25JZFJlc3VsdCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICByYXdSZWxhdGlvbklkUmVzdWx0LnJlbGF0aW9uSWRBdHRyaWJ1dGUucGFyZW50QWxpYXMgIT09XG4gICAgICAgICAgICAgICAgYWxpYXMubmFtZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIHJldHVyblxuXG4gICAgICAgICAgICBjb25zdCByZWxhdGlvbiA9IHJhd1JlbGF0aW9uSWRSZXN1bHQucmVsYXRpb25JZEF0dHJpYnV0ZS5yZWxhdGlvblxuICAgICAgICAgICAgY29uc3QgdmFsdWVNYXAgPSB0aGlzLmNyZWF0ZVZhbHVlTWFwRnJvbUpvaW5Db2x1bW5zKFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uLFxuICAgICAgICAgICAgICAgIHJhd1JlbGF0aW9uSWRSZXN1bHQucmVsYXRpb25JZEF0dHJpYnV0ZS5wYXJlbnRBbGlhcyxcbiAgICAgICAgICAgICAgICByYXdTcWxSZXN1bHRzLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKHZhbHVlTWFwID09PSB1bmRlZmluZWQgfHwgdmFsdWVNYXAgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVEYXRhRm9yVHJhbnNmb3JtUmVsYXRpb25JZHMoKVxuXG5cbiAgICAgICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmhhc2hFbnRpdHlJZHMocmVsYXRpb24sIHZhbHVlTWFwKVxuICAgICAgICAgICAgY29uc3QgaWRNYXBzID0gdGhpcy5yZWxhdGlvbklkTWFwc1tpbmRleF1baGFzaF0gfHwgW11cblxuXG4gICAgICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID1cbiAgICAgICAgICAgICAgICByYXdSZWxhdGlvbklkUmVzdWx0LnJlbGF0aW9uSWRBdHRyaWJ1dGUubWFwVG9Qcm9wZXJ0eVByb3BlcnR5UGF0aC5zcGxpdChcbiAgICAgICAgICAgICAgICAgICAgXCIuXCIsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgY29uc3QgbWFwVG9Qcm9wZXJ0eSA9IChcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBzdHJpbmdbXSxcbiAgICAgICAgICAgICAgICBtYXA6IE9iamVjdExpdGVyYWwsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGFueSxcbiAgICAgICAgICAgICk6IGFueSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvcGVydHkgPSBwcm9wZXJ0aWVzLnNoaWZ0KClcbiAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgJiYgcHJvcGVydGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFwW3Byb3BlcnR5XSA9IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtYXBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ICYmIHByb3BlcnRpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBtYXBUb1Byb3BlcnR5KHByb3BlcnRpZXMsIG1hcFtwcm9wZXJ0eV0sIHZhbHVlKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtYXBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVsYXRpb24uaXNPbmVUb09uZSB8fCByZWxhdGlvbi5pc01hbnlUb09uZSkge1xuICAgICAgICAgICAgICAgIGlmIChpZE1hcHNbMF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXBUb1Byb3BlcnR5KHByb3BlcnRpZXMsIGVudGl0eSwgaWRNYXBzWzBdKVxuICAgICAgICAgICAgICAgICAgICBoYXNEYXRhID0gdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbWFwVG9Qcm9wZXJ0eShwcm9wZXJ0aWVzLCBlbnRpdHksIGlkTWFwcylcbiAgICAgICAgICAgICAgICBoYXNEYXRhID0gaGFzRGF0YSB8fCBpZE1hcHMubGVuZ3RoID4gMFxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiBoYXNEYXRhXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyYW5zZm9ybVJlbGF0aW9uQ291bnRzKFxuICAgICAgICByYXdTcWxSZXN1bHRzOiBhbnlbXSxcbiAgICAgICAgYWxpYXM6IEFsaWFzLFxuICAgICAgICBlbnRpdHk6IE9iamVjdExpdGVyYWwsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBoYXNEYXRhID0gZmFsc2VcbiAgICAgICAgdGhpcy5yYXdSZWxhdGlvbkNvdW50UmVzdWx0c1xuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAocmF3UmVsYXRpb25Db3VudFJlc3VsdCkgPT5cbiAgICAgICAgICAgICAgICAgICAgcmF3UmVsYXRpb25Db3VudFJlc3VsdC5yZWxhdGlvbkNvdW50QXR0cmlidXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAucGFyZW50QWxpYXMgPT09IGFsaWFzLm5hbWUsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuZm9yRWFjaCgocmF3UmVsYXRpb25Db3VudFJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlbGF0aW9uID1cbiAgICAgICAgICAgICAgICAgICAgcmF3UmVsYXRpb25Db3VudFJlc3VsdC5yZWxhdGlvbkNvdW50QXR0cmlidXRlLnJlbGF0aW9uXG4gICAgICAgICAgICAgICAgbGV0IHJlZmVyZW5jZUNvbHVtbk5hbWU6IHN0cmluZ1xuXG4gICAgICAgICAgICAgICAgaWYgKHJlbGF0aW9uLmlzT25lVG9NYW55KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZUNvbHVtbk5hbWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb24uaW52ZXJzZVJlbGF0aW9uIS5qb2luQ29sdW1uc1swXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VkQ29sdW1uIS5kYXRhYmFzZU5hbWUgLy8gdG9kbzogZml4IGpvaW5Db2x1bW5zWzBdXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlQ29sdW1uTmFtZSA9IHJlbGF0aW9uLmlzT3duaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHJlbGF0aW9uLmpvaW5Db2x1bW5zWzBdLnJlZmVyZW5jZWRDb2x1bW4hLmRhdGFiYXNlTmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiByZWxhdGlvbi5pbnZlcnNlUmVsYXRpb24hLmpvaW5Db2x1bW5zWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVmZXJlbmNlZENvbHVtbiEuZGF0YWJhc2VOYW1lXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgcmVmZXJlbmNlQ29sdW1uVmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICByYXdTcWxSZXN1bHRzWzBdW1xuICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuYnVpbGRBbGlhcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlhcy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZUNvbHVtbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIF0gLy8gd2UgdXNlIHplcm8gaW5kZXggc2luY2UgaXRzIGdyb3VwZWQgZGF0YSAvLyB0b2RvOiBzZWxlY3Rpb24gd2l0aCBhbGlhcyBmb3IgZW50aXR5IGNvbHVtbnMgd29udCB3b3JrXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VDb2x1bW5WYWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZUNvbHVtblZhbHVlICE9PSBudWxsXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGVudGl0eVtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhd1JlbGF0aW9uQ291bnRSZXN1bHQucmVsYXRpb25Db3VudEF0dHJpYnV0ZS5tYXBUb1Byb3BlcnR5UHJvcGVydHlOYW1lXG4gICAgICAgICAgICAgICAgICAgIF0gPSAwXG4gICAgICAgICAgICAgICAgICAgIHJhd1JlbGF0aW9uQ291bnRSZXN1bHQucmVzdWx0c1xuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzdWx0KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbXCJwYXJlbnRJZFwiXSA9PT0gcmVmZXJlbmNlQ29sdW1uVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5W1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdSZWxhdGlvbkNvdW50UmVzdWx0LnJlbGF0aW9uQ291bnRBdHRyaWJ1dGUubWFwVG9Qcm9wZXJ0eVByb3BlcnR5TmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0gPSBwYXJzZUludChyZXN1bHRbXCJjbnRcIl0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzRGF0YSA9IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gaGFzRGF0YVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlVmFsdWVNYXBGcm9tSm9pbkNvbHVtbnMoXG4gICAgICAgIHJlbGF0aW9uOiBSZWxhdGlvbk1ldGFkYXRhLFxuICAgICAgICBwYXJlbnRBbGlhczogc3RyaW5nLFxuICAgICAgICByYXdTcWxSZXN1bHRzOiBhbnlbXSxcbiAgICApOiBPYmplY3RMaXRlcmFsIHtcbiAgICAgICAgbGV0IGNvbHVtbnM6IENvbHVtbk1ldGFkYXRhW11cbiAgICAgICAgaWYgKHJlbGF0aW9uLmlzTWFueVRvT25lIHx8IHJlbGF0aW9uLmlzT25lVG9PbmVPd25lcikge1xuICAgICAgICAgICAgY29sdW1ucyA9IHJlbGF0aW9uLmVudGl0eU1ldGFkYXRhLnByaW1hcnlDb2x1bW5zLm1hcChcbiAgICAgICAgICAgICAgICAoam9pbkNvbHVtbikgPT4gam9pbkNvbHVtbixcbiAgICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIGlmIChyZWxhdGlvbi5pc09uZVRvTWFueSB8fCByZWxhdGlvbi5pc09uZVRvT25lTm90T3duZXIpIHtcbiAgICAgICAgICAgIGNvbHVtbnMgPSByZWxhdGlvbi5pbnZlcnNlUmVsYXRpb24hLmpvaW5Db2x1bW5zLm1hcChcbiAgICAgICAgICAgICAgICAoam9pbkNvbHVtbikgPT4gam9pbkNvbHVtbixcbiAgICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChyZWxhdGlvbi5pc093bmluZykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMgPSByZWxhdGlvbi5qb2luQ29sdW1ucy5tYXAoKGpvaW5Db2x1bW4pID0+IGpvaW5Db2x1bW4pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMgPSByZWxhdGlvbi5pbnZlcnNlUmVsYXRpb24hLmludmVyc2VKb2luQ29sdW1ucy5tYXAoXG4gICAgICAgICAgICAgICAgICAgIChqb2luQ29sdW1uKSA9PiBqb2luQ29sdW1uLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sdW1ucy5yZWR1Y2UoKHZhbHVlTWFwLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgIHJhd1NxbFJlc3VsdHMuZm9yRWFjaCgocmF3U3FsUmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlbGF0aW9uLmlzTWFueVRvT25lIHx8IHJlbGF0aW9uLmlzT25lVG9PbmVPd25lcikge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZU1hcFtjb2x1bW4uZGF0YWJhc2VOYW1lXSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlci5wcmVwYXJlSHlkcmF0ZWRWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdTcWxSZXN1bHRbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlclV0aWxzLmJ1aWxkQWxpYXMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEFsaWFzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlTWFwW2NvbHVtbi5kYXRhYmFzZU5hbWVdID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLnByZXBhcmVIeWRyYXRlZFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd1NxbFJlc3VsdFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuYnVpbGRBbGlhcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50QWxpYXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4ucmVmZXJlbmNlZENvbHVtbiEuZGF0YWJhc2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZU1hcFxuICAgICAgICB9LCB7fSBhcyBPYmplY3RMaXRlcmFsKVxuICAgIH1cblxuICAgIHByaXZhdGUgZXh0cmFjdEVudGl0eVByaW1hcnlJZHMoXG4gICAgICAgIHJlbGF0aW9uOiBSZWxhdGlvbk1ldGFkYXRhLFxuICAgICAgICByZWxhdGlvbklkUmF3UmVzdWx0OiBhbnksXG4gICAgKSB7XG4gICAgICAgIGxldCBjb2x1bW5zOiBDb2x1bW5NZXRhZGF0YVtdXG4gICAgICAgIGlmIChyZWxhdGlvbi5pc01hbnlUb09uZSB8fCByZWxhdGlvbi5pc09uZVRvT25lT3duZXIpIHtcbiAgICAgICAgICAgIGNvbHVtbnMgPSByZWxhdGlvbi5lbnRpdHlNZXRhZGF0YS5wcmltYXJ5Q29sdW1ucy5tYXAoXG4gICAgICAgICAgICAgICAgKGpvaW5Db2x1bW4pID0+IGpvaW5Db2x1bW4sXG4gICAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSBpZiAocmVsYXRpb24uaXNPbmVUb01hbnkgfHwgcmVsYXRpb24uaXNPbmVUb09uZU5vdE93bmVyKSB7XG4gICAgICAgICAgICBjb2x1bW5zID0gcmVsYXRpb24uaW52ZXJzZVJlbGF0aW9uIS5qb2luQ29sdW1ucy5tYXAoXG4gICAgICAgICAgICAgICAgKGpvaW5Db2x1bW4pID0+IGpvaW5Db2x1bW4sXG4gICAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAocmVsYXRpb24uaXNPd25pbmcpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5zID0gcmVsYXRpb24uam9pbkNvbHVtbnMubWFwKChqb2luQ29sdW1uKSA9PiBqb2luQ29sdW1uKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5zID0gcmVsYXRpb24uaW52ZXJzZVJlbGF0aW9uIS5pbnZlcnNlSm9pbkNvbHVtbnMubWFwKFxuICAgICAgICAgICAgICAgICAgICAoam9pbkNvbHVtbikgPT4gam9pbkNvbHVtbixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbHVtbnMucmVkdWNlKChkYXRhLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgIGRhdGFbY29sdW1uLmRhdGFiYXNlTmFtZV0gPSByZWxhdGlvbklkUmF3UmVzdWx0W2NvbHVtbi5kYXRhYmFzZU5hbWVdXG4gICAgICAgICAgICByZXR1cm4gZGF0YVxuICAgICAgICB9LCB7fSBhcyBPYmplY3RMaXRlcmFsKVxuICAgIH1cblxuICAgIC8qcHJpdmF0ZSByZW1vdmVWaXJ0dWFsQ29sdW1ucyhlbnRpdHk6IE9iamVjdExpdGVyYWwsIGFsaWFzOiBBbGlhcykge1xuICAgICAgICBjb25zdCB2aXJ0dWFsQ29sdW1ucyA9IHRoaXMuZXhwcmVzc2lvbk1hcC5zZWxlY3RzXG4gICAgICAgICAgICAuZmlsdGVyKHNlbGVjdCA9PiBzZWxlY3QudmlydHVhbClcbiAgICAgICAgICAgIC5tYXAoc2VsZWN0ID0+IHNlbGVjdC5zZWxlY3Rpb24ucmVwbGFjZShhbGlhcy5uYW1lICsgXCIuXCIsIFwiXCIpKTtcblxuICAgICAgICB2aXJ0dWFsQ29sdW1ucy5mb3JFYWNoKHZpcnR1YWxDb2x1bW4gPT4gZGVsZXRlIGVudGl0eVt2aXJ0dWFsQ29sdW1uXSk7XG4gICAgfSovXG5cbiAgICAvKiogUHJlcGFyZSBkYXRhIHRvIHJ1biAjdHJhbnNmb3JtUmVsYXRpb25JZHMsIGFzIGEgbG90IG9mIHJlc3VsdCBpbmRlcGVuZGVudCBkYXRhIGlzIG5lZWRlZCBpbiBldmVyeSBjYWxsICovXG4gICAgcHJpdmF0ZSBwcmVwYXJlRGF0YUZvclRyYW5zZm9ybVJlbGF0aW9uSWRzKCkge1xuXG4gICAgICAgIGlmICh0aGlzLnJlbGF0aW9uSWRNYXBzKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG5cbiAgICAgICAgdGhpcy5yZWxhdGlvbklkTWFwcyA9IHRoaXMucmF3UmVsYXRpb25JZFJlc3VsdHMubWFwKFxuICAgICAgICAgICAgKHJhd1JlbGF0aW9uSWRSZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWxhdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgIHJhd1JlbGF0aW9uSWRSZXN1bHQucmVsYXRpb25JZEF0dHJpYnV0ZS5yZWxhdGlvblxuXG5cbiAgICAgICAgICAgICAgICBsZXQgY29sdW1uczogQ29sdW1uTWV0YWRhdGFbXVxuICAgICAgICAgICAgICAgIGlmIChyZWxhdGlvbi5pc01hbnlUb09uZSB8fCByZWxhdGlvbi5pc09uZVRvT25lT3duZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IHJlbGF0aW9uLmpvaW5Db2x1bW5zXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRpb24uaXNPbmVUb01hbnkgfHxcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRpb24uaXNPbmVUb09uZU5vdE93bmVyXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgPSByZWxhdGlvbi5pbnZlcnNlRW50aXR5TWV0YWRhdGEucHJpbWFyeUNvbHVtbnNcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWxhdGlvbi5pc093bmluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IHJlbGF0aW9uLmludmVyc2VKb2luQ29sdW1uc1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IHJlbGF0aW9uLmludmVyc2VSZWxhdGlvbiEuam9pbkNvbHVtbnNcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJhd1JlbGF0aW9uSWRSZXN1bHQucmVzdWx0cy5yZWR1Y2UoKGFnZywgcmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpZE1hcCA9IGNvbHVtbnMucmVkdWNlKChpZE1hcCwgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSByZXN1bHRbY29sdW1uLmRhdGFiYXNlTmFtZV1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pc09uZVRvTWFueSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLmlzT25lVG9PbmVOb3RPd25lclxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uaXNWaXJ0dWFsICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5yZWZlcmVuY2VkQ29sdW1uICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5yZWZlcmVuY2VkQ29sdW1uLnByb3BlcnR5TmFtZSAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5wcm9wZXJ0eU5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4ucmVmZXJlbmNlZENvbHVtbi5jcmVhdGVWYWx1ZU1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT3JtVXRpbHMubWVyZ2VEZWVwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZE1hcCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmNyZWF0ZVZhbHVlTWFwKHZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIWNvbHVtbi5pc1ByaW1hcnkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4ucmVmZXJlbmNlZENvbHVtbiEucmVmZXJlbmNlZENvbHVtblxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5yZWZlcmVuY2VkQ29sdW1uIS5yZWZlcmVuY2VkQ29sdW1uIS5jcmVhdGVWYWx1ZU1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPcm1VdGlscy5tZXJnZURlZXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRNYXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnJlZmVyZW5jZWRDb2x1bW4hLmNyZWF0ZVZhbHVlTWFwKHZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfSwge30gYXMgT2JqZWN0TGl0ZXJhbClcblxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIXJhd1JlbGF0aW9uSWRSZXN1bHQucmVsYXRpb25JZEF0dHJpYnV0ZS5kaXNhYmxlTWl4ZWRNYXBcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb24uaXNPbmVUb01hbnkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pc09uZVRvT25lTm90T3duZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkTWFwID0gY29sdW1uc1swXS5nZXRFbnRpdHlWYWx1ZShpZE1hcClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRNYXAgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zWzBdLnJlZmVyZW5jZWRDb2x1bW4hLmdldEVudGl0eVZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRNYXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlkTWFwICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmhhc2hFbnRpdHlJZHMocmVsYXRpb24sIHJlc3VsdClcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFnZ1toYXNoXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZ1toYXNoXS5wdXNoKGlkTWFwKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2dbaGFzaF0gPSBbaWRNYXBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWdnXG4gICAgICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgICB9LFxuICAgICAgICApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlIGEgc2ltcGxlIEpTT04uc3RyaW5naWZ5IHRvIGNyZWF0ZSBhIHNpbXBsZSBoYXNoIG9mIHRoZSBwcmltYXJ5IGlkcyBvZiBhbiBlbnRpdHkuXG4gICAgICogQXMgdGhpcy5leHRyYWN0RW50aXR5UHJpbWFyeUlkcyBhbHdheXMgY3JlYXRlcyB0aGUgcHJpbWFyeSBpZCBvYmplY3QgaW4gdGhlIHNhbWUgb3JkZXIsIGlmIHRoZSBzYW1lIHJlbGF0aW9uIGlzXG4gICAgICogZ2l2ZW4sIGEgc2ltcGxlIEpTT04uc3RyaW5naWZ5IHNob3VsZCBiZSBlbm91Z2ggdG8gZ2V0IGEgdW5pcXVlIGhhc2ggcGVyIGVudGl0eSFcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhc2hFbnRpdHlJZHMocmVsYXRpb246IFJlbGF0aW9uTWV0YWRhdGEsIGRhdGE6IE9iamVjdExpdGVyYWwpIHtcbiAgICAgICAgY29uc3QgZW50aXR5UHJpbWFyeUlkcyA9IHRoaXMuZXh0cmFjdEVudGl0eVByaW1hcnlJZHMocmVsYXRpb24sIGRhdGEpXG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShlbnRpdHlQcmltYXJ5SWRzKVxuICAgIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tdHlwZW9ybSBsaWIvdHlwZW9ybS9xdWVyeS1idWlsZGVyL3RyYW5zZm9ybWVyL1Jhd1NxbFJlc3VsdHNUb0VudGl0eVRyYW5zZm9ybWVyLnRzIl19