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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxhaW5PYmplY3RUb05ld0VudGl0eVRyYW5zZm9ybWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vcXVlcnktYnVpbGRlci90cmFuc2Zvcm1lci9QbGFpbk9iamVjdFRvTmV3RW50aXR5VHJhbnNmb3JtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxpQ0FBaUM7SUFLMUMsU0FBUyxDQUNMLFNBQVksRUFDWixNQUFxQixFQUNyQixRQUF3QixFQUN4QiwrQkFBd0MsS0FBSztRQUk3QyxJQUFJLENBQUMsaUJBQWlCLENBQ2xCLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLDRCQUE0QixDQUMvQixDQUFBO1FBRUQsT0FBTyxTQUFTLENBQUE7SUFDcEIsQ0FBQztJQU1EOzs7T0FHRztJQUNLLGlCQUFpQixDQUNyQixNQUFxQixFQUNyQixNQUFxQixFQUNyQixRQUF3QixFQUN4QiwrQkFBd0MsS0FBSztRQU03QyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDMUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3ZELElBQUksaUJBQWlCLEtBQUssU0FBUztnQkFDL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtRQUN4RCxDQUFDLENBQUMsQ0FBQTtRQUdGLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNwQyxJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ3hELE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FDOUMsTUFBTSxFQUNOLDRCQUE0QixDQUMvQixDQUFBO2dCQUNELElBQUksa0JBQWtCLEtBQUssU0FBUztvQkFBRSxPQUFNO2dCQUU1QyxJQUFJLFFBQVEsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQzt3QkFBRSxPQUFNO29CQUU5QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzt3QkFDdEIsa0JBQWtCLEdBQUcsRUFBRSxDQUFBO3dCQUN2QixRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO29CQUN2RCxDQUFDO29CQUVELGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLHNCQUFzQixFQUFFLEVBQUU7d0JBRWxELElBQUksd0JBQXdCLEdBQ3hCLGtCQUNILENBQUMsSUFBSSxDQUFDLENBQUMsc0JBQXNCLEVBQUUsRUFBRTs0QkFDOUIsT0FBTyxRQUFRLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUNqRCxzQkFBc0IsRUFDdEIsc0JBQXNCLENBQ3pCLENBQUE7d0JBQ0wsQ0FBQyxDQUFDLENBQUE7d0JBR0YsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7NEJBQzVCLHdCQUF3QjtnQ0FDcEIsUUFBUSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FDakMsU0FBUyxFQUNULEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQzdCLENBQUE7NEJBQ0wsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUE7d0JBQ3JELENBQUM7d0JBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUNsQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLFFBQVEsQ0FBQyxxQkFBcUIsRUFDOUIsNEJBQTRCLENBQy9CLENBQUE7b0JBQ0wsQ0FBQyxDQUFDLENBQUE7Z0JBQ04sQ0FBQztxQkFBTSxDQUFDO29CQUtKLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQzt3QkFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7NEJBQ3pDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUE7d0JBQ3ZELE9BQU07b0JBQ1YsQ0FBQztvQkFFRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzt3QkFDdEIsa0JBQWtCOzRCQUNkLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO2dDQUM3QyxnQkFBZ0IsRUFBRSxJQUFJOzZCQUN6QixDQUFDLENBQUE7d0JBQ04sUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtvQkFDdkQsQ0FBQztvQkFFRCxJQUFJLENBQUMsaUJBQWlCLENBQ2xCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsUUFBUSxDQUFDLHFCQUFxQixFQUM5Qiw0QkFBNEIsQ0FDL0IsQ0FBQTtnQkFDTCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvSEFBb0giLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgRW50aXR5TWV0YWRhdGEgfSBmcm9tIFwiLi4vLi4vbWV0YWRhdGEvRW50aXR5TWV0YWRhdGFcIlxuaW1wb3J0IHsgT2JqZWN0TGl0ZXJhbCB9IGZyb20gXCIuLi8uLi9jb21tb24vT2JqZWN0TGl0ZXJhbFwiXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gXCIuLi8uLi91dGlsL09iamVjdFV0aWxzXCJcblxuLyoqXG4gKiBUcmFuc2Zvcm1zIHBsYWluIG9sZCBqYXZhc2NyaXB0IG9iamVjdFxuICogRW50aXR5IGlzIGNvbnN0cnVjdGVkIGJhc2VkIG9uIGl0cyBlbnRpdHkgbWV0YWRhdGEuXG4gKi9cbmV4cG9ydCBjbGFzcyBQbGFpbk9iamVjdFRvTmV3RW50aXR5VHJhbnNmb3JtZXIge1xuXG5cblxuXG4gICAgdHJhbnNmb3JtPFQgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgbmV3RW50aXR5OiBULFxuICAgICAgICBvYmplY3Q6IE9iamVjdExpdGVyYWwsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZ2V0TGF6eVJlbGF0aW9uc1Byb21pc2VWYWx1ZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgICk6IFQge1xuXG5cbiAgICAgICAgdGhpcy5ncm91cEFuZFRyYW5zZm9ybShcbiAgICAgICAgICAgIG5ld0VudGl0eSxcbiAgICAgICAgICAgIG9iamVjdCxcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICAgICAgZ2V0TGF6eVJlbGF0aW9uc1Byb21pc2VWYWx1ZSxcbiAgICAgICAgKVxuXG4gICAgICAgIHJldHVybiBuZXdFbnRpdHlcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIFNpbmNlIGRiIHJldHVybnMgYSBkdXBsaWNhdGVkIHJvd3Mgb2YgdGhlIGRhdGEgd2hlcmUgYWNjdXJhY2llcyBvZiB0aGUgc2FtZSBvYmplY3QgY2FuIGJlIGR1cGxpY2F0ZWRcbiAgICAgKiB3ZSBuZWVkIHRvIGdyb3VwIG91ciByZXN1bHQgYW5kIHdlIG11c3QgaGF2ZSBzb21lIHVuaXF1ZSBpZCAocHJpbWFyeSBrZXkgaW4gb3VyIGNhc2UpXG4gICAgICovXG4gICAgcHJpdmF0ZSBncm91cEFuZFRyYW5zZm9ybShcbiAgICAgICAgZW50aXR5OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBvYmplY3Q6IE9iamVjdExpdGVyYWwsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZ2V0TGF6eVJlbGF0aW9uc1Byb21pc2VWYWx1ZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgICk6IHZvaWQge1xuXG5cblxuXG4gICAgICAgIG1ldGFkYXRhLm5vblZpcnR1YWxDb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb2JqZWN0Q29sdW1uVmFsdWUgPSBjb2x1bW4uZ2V0RW50aXR5VmFsdWUob2JqZWN0KVxuICAgICAgICAgICAgaWYgKG9iamVjdENvbHVtblZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgY29sdW1uLnNldEVudGl0eVZhbHVlKGVudGl0eSwgb2JqZWN0Q29sdW1uVmFsdWUpXG4gICAgICAgIH0pXG5cblxuICAgICAgICBpZiAobWV0YWRhdGEucmVsYXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEucmVsYXRpb25zLmZvckVhY2goKHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGVudGl0eVJlbGF0ZWRWYWx1ZSA9IHJlbGF0aW9uLmdldEVudGl0eVZhbHVlKGVudGl0eSlcbiAgICAgICAgICAgICAgICBjb25zdCBvYmplY3RSZWxhdGVkVmFsdWUgPSByZWxhdGlvbi5nZXRFbnRpdHlWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LFxuICAgICAgICAgICAgICAgICAgICBnZXRMYXp5UmVsYXRpb25zUHJvbWlzZVZhbHVlLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBpZiAob2JqZWN0UmVsYXRlZFZhbHVlID09PSB1bmRlZmluZWQpIHJldHVyblxuXG4gICAgICAgICAgICAgICAgaWYgKHJlbGF0aW9uLmlzT25lVG9NYW55IHx8IHJlbGF0aW9uLmlzTWFueVRvTWFueSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkob2JqZWN0UmVsYXRlZFZhbHVlKSkgcmV0dXJuXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFlbnRpdHlSZWxhdGVkVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVJlbGF0ZWRWYWx1ZSA9IFtdXG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5zZXRFbnRpdHlWYWx1ZShlbnRpdHksIGVudGl0eVJlbGF0ZWRWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdFJlbGF0ZWRWYWx1ZS5mb3JFYWNoKChvYmplY3RSZWxhdGVkVmFsdWVJdGVtKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvYmplY3RSZWxhdGVkVmFsdWVFbnRpdHkgPSAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5UmVsYXRlZFZhbHVlIGFzIGFueVtdXG4gICAgICAgICAgICAgICAgICAgICAgICApLmZpbmQoKGVudGl0eVJlbGF0ZWRWYWx1ZUl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVsYXRpb24uaW52ZXJzZUVudGl0eU1ldGFkYXRhLmNvbXBhcmVFbnRpdGllcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0UmVsYXRlZFZhbHVlSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5UmVsYXRlZFZhbHVlSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb2JqZWN0UmVsYXRlZFZhbHVlRW50aXR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0UmVsYXRlZFZhbHVlRW50aXR5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb24uaW52ZXJzZUVudGl0eU1ldGFkYXRhLmNyZWF0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZnJvbURlc2VyaWFsaXplcjogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5UmVsYXRlZFZhbHVlLnB1c2gob2JqZWN0UmVsYXRlZFZhbHVlRW50aXR5KVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwQW5kVHJhbnNmb3JtKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdFJlbGF0ZWRWYWx1ZUVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RSZWxhdGVkVmFsdWVJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLmludmVyc2VFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMYXp5UmVsYXRpb25zUHJvbWlzZVZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG5cblxuXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFPYmplY3RVdGlscy5pc09iamVjdChvYmplY3RSZWxhdGVkVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzT2JqZWN0KGVudGl0eVJlbGF0ZWRWYWx1ZSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb24uc2V0RW50aXR5VmFsdWUoZW50aXR5LCBvYmplY3RSZWxhdGVkVmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghZW50aXR5UmVsYXRlZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHlSZWxhdGVkVmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLmludmVyc2VFbnRpdHlNZXRhZGF0YS5jcmVhdGUodW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb21EZXNlcmlhbGl6ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLnNldEVudGl0eVZhbHVlKGVudGl0eSwgZW50aXR5UmVsYXRlZFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm91cEFuZFRyYW5zZm9ybShcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVJlbGF0ZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdFJlbGF0ZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLmludmVyc2VFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldExhenlSZWxhdGlvbnNQcm9taXNlVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi10eXBlb3JtIGxpYi90eXBlb3JtL3F1ZXJ5LWJ1aWxkZXIvdHJhbnNmb3JtZXIvUGxhaW5PYmplY3RUb05ld0VudGl0eVRyYW5zZm9ybWVyLnRzIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmF3U3FsUmVzdWx0c1RvRW50aXR5VHJhbnNmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uLXR5cGVvcm0vcHJvamVjdHMvdGFvbi10eXBlb3JtL3NyYy9saWIvdHlwZW9ybS9xdWVyeS1idWlsZGVyL3RyYW5zZm9ybWVyL1Jhd1NxbFJlc3VsdHNUb0VudGl0eVRyYW5zZm9ybWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUk5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQ0FBZ0M7SUFXekMsWUFDYyxhQUFpQyxFQUNqQyxNQUFjLEVBQ2Qsb0JBQTRDLEVBQzVDLHVCQUFrRCxFQUNsRCxXQUF5QjtRQUp6QixrQkFBYSxHQUFiLGFBQWEsQ0FBb0I7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBd0I7UUFDNUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUEyQjtRQUNsRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYztJQUNwQyxDQUFDO0lBTUo7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLFVBQWlCLEVBQUUsS0FBWTtRQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUMzQyxNQUFNLFFBQVEsR0FBVSxFQUFFLENBQUE7UUFDMUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7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cnQgeyBEcml2ZXIgfSBmcm9tIFwiLi4vLi4vZHJpdmVyL0RyaXZlclwiXG5pbXBvcnQgeyBSZWxhdGlvbklkTG9hZFJlc3VsdCB9IGZyb20gXCIuLi9yZWxhdGlvbi1pZC9SZWxhdGlvbklkTG9hZFJlc3VsdFwiXG5pbXBvcnQgeyBPYmplY3RMaXRlcmFsIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9PYmplY3RMaXRlcmFsXCJcbmltcG9ydCB7IENvbHVtbk1ldGFkYXRhIH0gZnJvbSBcIi4uLy4uL21ldGFkYXRhL0NvbHVtbk1ldGFkYXRhXCJcbmltcG9ydCB7IEFsaWFzIH0gZnJvbSBcIi4uL0FsaWFzXCJcbmltcG9ydCB7IFJlbGF0aW9uQ291bnRMb2FkUmVzdWx0IH0gZnJvbSBcIi4uL3JlbGF0aW9uLWNvdW50L1JlbGF0aW9uQ291bnRMb2FkUmVzdWx0XCJcbmltcG9ydCB7IFJlbGF0aW9uTWV0YWRhdGEgfSBmcm9tIFwiLi4vLi4vbWV0YWRhdGEvUmVsYXRpb25NZXRhZGF0YVwiXG5pbXBvcnQgeyBPcm1VdGlscyB9IGZyb20gXCIuLi8uLi91dGlsL09ybVV0aWxzXCJcbmltcG9ydCB7IFF1ZXJ5RXhwcmVzc2lvbk1hcCB9IGZyb20gXCIuLi9RdWVyeUV4cHJlc3Npb25NYXBcIlxuaW1wb3J0IHsgRW50aXR5TWV0YWRhdGEgfSBmcm9tIFwiLi4vLi4vbWV0YWRhdGEvRW50aXR5TWV0YWRhdGFcIlxuaW1wb3J0IHsgUXVlcnlSdW5uZXIgfSBmcm9tIFwiLi4vLi5cIlxuaW1wb3J0IHsgRHJpdmVyVXRpbHMgfSBmcm9tIFwiLi4vLi4vZHJpdmVyL0RyaXZlclV0aWxzXCJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSBcIi4uLy4uL3V0aWwvT2JqZWN0VXRpbHNcIlxuXG4vKipcbiAqIFRyYW5zZm9ybXMgcmF3IHNxbCByZXN1bHRzIHJldHVybmVkIGZyb20gdGhlIGRhdGFiYXNlIGludG8gZW50aXR5IG9iamVjdC5cbiAqIEVudGl0eSBpcyBjb25zdHJ1Y3RlZCBiYXNlZCBvbiBpdHMgZW50aXR5IG1ldGFkYXRhLlxuICovXG5leHBvcnQgY2xhc3MgUmF3U3FsUmVzdWx0c1RvRW50aXR5VHJhbnNmb3JtZXIge1xuICAgIC8qKlxuICAgICAqIENvbnRhaW5zIGEgaGFzaG1hcCBmb3IgZXZlcnkgcmF3UmVsYXRpb25JZFJlc3VsdHMgZ2l2ZW4uXG4gICAgICogSW4gdGhlIGhhc2htYXAgeW91IHdpbGwgZmluZCB0aGUgaWRNYXBzIG9mIGEgcmVzdWx0IHVuZGVyIHRoZSBoYXNoIG9mIHRoaXMuaGFzaEVudGl0eUlkcyBmb3IgdGhlIHJlc3VsdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlbGF0aW9uSWRNYXBzOiBBcnJheTx7IFtpZEhhc2g6IHN0cmluZ106IGFueVtdIH0+XG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZXhwcmVzc2lvbk1hcDogUXVlcnlFeHByZXNzaW9uTWFwLFxuICAgICAgICBwcm90ZWN0ZWQgZHJpdmVyOiBEcml2ZXIsXG4gICAgICAgIHByb3RlY3RlZCByYXdSZWxhdGlvbklkUmVzdWx0czogUmVsYXRpb25JZExvYWRSZXN1bHRbXSxcbiAgICAgICAgcHJvdGVjdGVkIHJhd1JlbGF0aW9uQ291bnRSZXN1bHRzOiBSZWxhdGlvbkNvdW50TG9hZFJlc3VsdFtdLFxuICAgICAgICBwcm90ZWN0ZWQgcXVlcnlSdW5uZXI/OiBRdWVyeVJ1bm5lcixcbiAgICApIHt9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIFNpbmNlIGRiIHJldHVybnMgYSBkdXBsaWNhdGVkIHJvd3Mgb2YgdGhlIGRhdGEgd2hlcmUgYWNjdXJhY2llcyBvZiB0aGUgc2FtZSBvYmplY3QgY2FuIGJlIGR1cGxpY2F0ZWRcbiAgICAgKiB3ZSBuZWVkIHRvIGdyb3VwIG91ciByZXN1bHQgYW5kIHdlIG11c3QgaGF2ZSBzb21lIHVuaXF1ZSBpZCAocHJpbWFyeSBrZXkgaW4gb3VyIGNhc2UpXG4gICAgICovXG4gICAgdHJhbnNmb3JtKHJhd1Jlc3VsdHM6IGFueVtdLCBhbGlhczogQWxpYXMpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IGdyb3VwID0gdGhpcy5ncm91cChyYXdSZXN1bHRzLCBhbGlhcylcbiAgICAgICAgY29uc3QgZW50aXRpZXM6IGFueVtdID0gW11cbiAgICAgICAgZ3JvdXAuZm9yRWFjaCgocmVzdWx0cykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZW50aXR5ID0gdGhpcy50cmFuc2Zvcm1SYXdSZXN1bHRzR3JvdXAocmVzdWx0cywgYWxpYXMpXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgZW50aXR5ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAhT2JqZWN0LnZhbHVlcyhlbnRpdHkpLmV2ZXJ5KCh2YWx1ZSkgPT4gdmFsdWUgPT09IG51bGwpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgZW50aXRpZXMucHVzaChlbnRpdHkpXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBlbnRpdGllc1xuICAgIH1cblxuXG5cblxuXG4gICAgLyoqXG4gICAgICogR3JvdXBzIGdpdmVuIHJhdyByZXN1bHRzIGJ5IGlkcyBvZiBnaXZlbiBhbGlhcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ3JvdXAocmF3UmVzdWx0czogYW55W10sIGFsaWFzOiBBbGlhcyk6IE1hcDxzdHJpbmcsIGFueVtdPiB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKVxuICAgICAgICBjb25zdCBrZXlzOiBzdHJpbmdbXSA9IFtdXG4gICAgICAgIGlmIChhbGlhcy5tZXRhZGF0YS50YWJsZVR5cGUgPT09IFwidmlld1wiKSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goXG4gICAgICAgICAgICAgICAgLi4uYWxpYXMubWV0YWRhdGEuY29sdW1ucy5tYXAoKGNvbHVtbikgPT5cbiAgICAgICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuYnVpbGRBbGlhcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpYXMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGtleXMucHVzaChcbiAgICAgICAgICAgICAgICAuLi5hbGlhcy5tZXRhZGF0YS5wcmltYXJ5Q29sdW1ucy5tYXAoKGNvbHVtbikgPT5cbiAgICAgICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuYnVpbGRBbGlhcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpYXMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICByYXdSZXN1bHRzLmZvckVhY2goKHJhd1Jlc3VsdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaWQgPSBrZXlzXG4gICAgICAgICAgICAgICAgLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleVZhbHVlID0gcmF3UmVzdWx0W2tleV1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3RVdGlscy5pc09iamVjdChrZXlWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShrZXlWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBrZXlWYWx1ZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmpvaW4oXCJfXCIpIC8vIHRvZG86IGNoZWNrIHBhcnRpYWxcblxuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBtYXAuZ2V0KGlkKVxuICAgICAgICAgICAgaWYgKCFpdGVtcykge1xuICAgICAgICAgICAgICAgIG1hcC5zZXQoaWQsIFtyYXdSZXN1bHRdKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHJhd1Jlc3VsdClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIG1hcFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgc2V0IG9mIGRhdGEgcmVzdWx0cyBpbnRvIHNpbmdsZSBlbnRpdHkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHRyYW5zZm9ybVJhd1Jlc3VsdHNHcm91cChcbiAgICAgICAgcmF3UmVzdWx0czogYW55W10sXG4gICAgICAgIGFsaWFzOiBBbGlhcyxcbiAgICApOiBPYmplY3RMaXRlcmFsIHwgdW5kZWZpbmVkIHtcblxuICAgICAgICBsZXQgbWV0YWRhdGEgPSBhbGlhcy5tZXRhZGF0YVxuXG4gICAgICAgIGlmIChtZXRhZGF0YS5kaXNjcmltaW5hdG9yQ29sdW1uKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNjcmltaW5hdG9yVmFsdWVzID0gcmF3UmVzdWx0cy5tYXAoXG4gICAgICAgICAgICAgICAgKHJlc3VsdCkgPT5cbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W1xuICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuYnVpbGRBbGlhcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlhcy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWFzLm1ldGFkYXRhLmRpc2NyaW1pbmF0b3JDb2x1bW4hLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGNvbnN0IGRpc2NyaW1pbmF0b3JNZXRhZGF0YSA9IG1ldGFkYXRhLmNoaWxkRW50aXR5TWV0YWRhdGFzLmZpbmQoXG4gICAgICAgICAgICAgICAgKGNoaWxkRW50aXR5TWV0YWRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBkaXNjcmltaW5hdG9yVmFsdWVzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRFbnRpdHlNZXRhZGF0YS5kaXNjcmltaW5hdG9yVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICApICE9PSBcInVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGRpc2NyaW1pbmF0b3JNZXRhZGF0YSkgbWV0YWRhdGEgPSBkaXNjcmltaW5hdG9yTWV0YWRhdGFcbiAgICAgICAgfVxuICAgICAgICBsZXQgZW50aXR5OiBhbnkgPSBtZXRhZGF0YS5jcmVhdGUodGhpcy5xdWVyeVJ1bm5lciwge1xuICAgICAgICAgICAgZnJvbURlc2VyaWFsaXplcjogdHJ1ZSxcbiAgICAgICAgICAgIHBvam86IHRoaXMuZXhwcmVzc2lvbk1hcC5vcHRpb25zLmluZGV4T2YoXCJjcmVhdGUtcG9qb1wiKSAhPT0gLTEsXG4gICAgICAgIH0pXG5cblxuICAgICAgICBjb25zdCBoYXNDb2x1bW5zID0gdGhpcy50cmFuc2Zvcm1Db2x1bW5zKFxuICAgICAgICAgICAgcmF3UmVzdWx0cyxcbiAgICAgICAgICAgIGFsaWFzLFxuICAgICAgICAgICAgZW50aXR5LFxuICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIClcbiAgICAgICAgY29uc3QgaGFzUmVsYXRpb25zID0gdGhpcy50cmFuc2Zvcm1Kb2lucyhcbiAgICAgICAgICAgIHJhd1Jlc3VsdHMsXG4gICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICBhbGlhcyxcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IGhhc1JlbGF0aW9uSWRzID0gdGhpcy50cmFuc2Zvcm1SZWxhdGlvbklkcyhcbiAgICAgICAgICAgIHJhd1Jlc3VsdHMsXG4gICAgICAgICAgICBhbGlhcyxcbiAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IGhhc1JlbGF0aW9uQ291bnRzID0gdGhpcy50cmFuc2Zvcm1SZWxhdGlvbkNvdW50cyhcbiAgICAgICAgICAgIHJhd1Jlc3VsdHMsXG4gICAgICAgICAgICBhbGlhcyxcbiAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgKVxuXG5cblxuICAgICAgICBpZiAoaGFzQ29sdW1ucykgcmV0dXJuIGVudGl0eVxuXG5cblxuXG4gICAgICAgIGNvbnN0IGhhc09ubHlWaXJ0dWFsUHJpbWFyeUNvbHVtbnMgPVxuICAgICAgICAgICAgbWV0YWRhdGEucHJpbWFyeUNvbHVtbnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChjb2x1bW4pID0+IGNvbHVtbi5pc1ZpcnR1YWwgPT09IGZhbHNlLFxuICAgICAgICAgICAgKS5sZW5ndGggPT09IDAgLy8gdG9kbzogY3JlYXRlIG1ldGFkYXRhLmhhc09ubHlWaXJ0dWFsUHJpbWFyeUNvbHVtbnNcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaGFzT25seVZpcnR1YWxQcmltYXJ5Q29sdW1ucyAmJlxuICAgICAgICAgICAgKGhhc1JlbGF0aW9ucyB8fCBoYXNSZWxhdGlvbklkcyB8fCBoYXNSZWxhdGlvbkNvdW50cylcbiAgICAgICAgKVxuICAgICAgICAgICAgcmV0dXJuIGVudGl0eVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCB0cmFuc2Zvcm1Db2x1bW5zKFxuICAgICAgICByYXdSZXN1bHRzOiBhbnlbXSxcbiAgICAgICAgYWxpYXM6IEFsaWFzLFxuICAgICAgICBlbnRpdHk6IE9iamVjdExpdGVyYWwsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGhhc0RhdGEgPSBmYWxzZVxuICAgICAgICBtZXRhZGF0YS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgbWV0YWRhdGEuY2hpbGRFbnRpdHlNZXRhZGF0YXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgIG1ldGFkYXRhLmNoaWxkRW50aXR5TWV0YWRhdGFzLmZpbmRJbmRleChcbiAgICAgICAgICAgICAgICAgICAgKGNoaWxkTWV0YWRhdGEpID0+IGNoaWxkTWV0YWRhdGEudGFyZ2V0ID09PSBjb2x1bW4udGFyZ2V0LFxuICAgICAgICAgICAgICAgICkgIT09IC0xXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgcmV0dXJuXG5cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgICAgICAgICByYXdSZXN1bHRzWzBdW1xuICAgICAgICAgICAgICAgICAgICBEcml2ZXJVdGlscy5idWlsZEFsaWFzKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlhcy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGNvbHVtbi5pc1ZpcnR1YWwpIHJldHVyblxuXG5cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmV4cHJlc3Npb25NYXAuc2VsZWN0cy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnNlbGVjdGlvbiA9PT0gYWxpYXMubmFtZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnNlbGVjdGlvbiA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlhcy5uYW1lICsgXCIuXCIgKyBjb2x1bW4ucHJvcGVydHlQYXRoLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICByZXR1cm5cblxuICAgICAgICAgICAgY29sdW1uLnNldEVudGl0eVZhbHVlKFxuICAgICAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgICAgICAgICB0aGlzLmRyaXZlci5wcmVwYXJlSHlkcmF0ZWRWYWx1ZSh2YWx1ZSwgY29sdW1uKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbClcblxuICAgICAgICAgICAgICAgIGhhc0RhdGEgPSB0cnVlXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBoYXNEYXRhXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyBqb2luZWQgZW50aXRpZXMgaW4gdGhlIGdpdmVuIHJhdyByZXN1bHRzIGJ5IGEgZ2l2ZW4gYWxpYXMgYW5kIHN0b3JlcyB0byB0aGUgZ2l2ZW4gKHBhcmVudCkgZW50aXR5XG4gICAgICovXG4gICAgcHJvdGVjdGVkIHRyYW5zZm9ybUpvaW5zKFxuICAgICAgICByYXdSZXN1bHRzOiBhbnlbXSxcbiAgICAgICAgZW50aXR5OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBhbGlhczogQWxpYXMsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICApIHtcbiAgICAgICAgbGV0IGhhc0RhdGEgPSBmYWxzZVxuXG5cblxuXG5cbiAgICAgICAgdGhpcy5leHByZXNzaW9uTWFwLmpvaW5BdHRyaWJ1dGVzLmZvckVhY2goKGpvaW4pID0+IHtcblxuXG5cbiAgICAgICAgICAgIGlmICgham9pbi5tZXRhZGF0YSkgcmV0dXJuXG5cblxuICAgICAgICAgICAgaWYgKCFqb2luLmlzU2VsZWN0ZWQpIHJldHVyblxuXG5cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGpvaW4ucmVsYXRpb24gJiZcbiAgICAgICAgICAgICAgICAhbWV0YWRhdGEucmVsYXRpb25zLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgIChyZWxhdGlvbikgPT4gcmVsYXRpb24gPT09IGpvaW4ucmVsYXRpb24sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIHJldHVyblxuXG5cbiAgICAgICAgICAgIGlmIChqb2luLm1hcFRvUHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgICBpZiAoam9pbi5tYXBUb1Byb3BlcnR5UGFyZW50QWxpYXMgIT09IGFsaWFzLm5hbWUpIHJldHVyblxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICFqb2luLnJlbGF0aW9uIHx8XG4gICAgICAgICAgICAgICAgICAgIGpvaW4ucGFyZW50QWxpYXMgIT09IGFsaWFzLm5hbWUgfHxcbiAgICAgICAgICAgICAgICAgICAgam9pbi5yZWxhdGlvblByb3BlcnR5UGF0aCAhPT0gam9pbi5yZWxhdGlvbiEucHJvcGVydHlQYXRoXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBhbnkgPSB0aGlzLnRyYW5zZm9ybShyYXdSZXN1bHRzLCBqb2luLmFsaWFzKVxuICAgICAgICAgICAgcmVzdWx0ID0gIWpvaW4uaXNNYW55ID8gcmVzdWx0WzBdIDogcmVzdWx0XG4gICAgICAgICAgICByZXN1bHQgPSAham9pbi5pc01hbnkgJiYgcmVzdWx0ID09PSB1bmRlZmluZWQgPyBudWxsIDogcmVzdWx0IC8vIHRoaXMgaXMgbmVlZGVkIHRvIG1ha2UgcmVsYXRpb25zIHRvIHJldHVybiBudWxsIHdoZW4gaXRzIGpvaW5lZCBidXQgbm90aGluZyB3YXMgZm91bmQgaW4gdGhlIGRhdGFiYXNlXG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpXG5cbiAgICAgICAgICAgICAgICByZXR1cm5cblxuXG4gICAgICAgICAgICBpZiAoam9pbi5tYXBUb1Byb3BlcnR5UHJvcGVydHlOYW1lKSB7XG4gICAgICAgICAgICAgICAgZW50aXR5W2pvaW4ubWFwVG9Qcm9wZXJ0eVByb3BlcnR5TmFtZV0gPSByZXN1bHQgLy8gdG9kbzogZml4IGVtYmVkc1xuICAgICAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGpvaW4ucmVsYXRpb24hLnNldEVudGl0eVZhbHVlKGVudGl0eSwgcmVzdWx0KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoYXNEYXRhID0gdHJ1ZVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gaGFzRGF0YVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB0cmFuc2Zvcm1SZWxhdGlvbklkcyhcbiAgICAgICAgcmF3U3FsUmVzdWx0czogYW55W10sXG4gICAgICAgIGFsaWFzOiBBbGlhcyxcbiAgICAgICAgZW50aXR5OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBoYXNEYXRhID0gZmFsc2VcbiAgICAgICAgdGhpcy5yYXdSZWxhdGlvbklkUmVzdWx0cy5mb3JFYWNoKChyYXdSZWxhdGlvbklkUmVzdWx0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHJhd1JlbGF0aW9uSWRSZXN1bHQucmVsYXRpb25JZEF0dHJpYnV0ZS5wYXJlbnRBbGlhcyAhPT1cbiAgICAgICAgICAgICAgICBhbGlhcy5uYW1lXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgcmV0dXJuXG5cbiAgICAgICAgICAgIGNvbnN0IHJlbGF0aW9uID0gcmF3UmVsYXRpb25JZFJlc3VsdC5yZWxhdGlvbklkQXR0cmlidXRlLnJlbGF0aW9uXG4gICAgICAgICAgICBjb25zdCB2YWx1ZU1hcCA9IHRoaXMuY3JlYXRlVmFsdWVNYXBGcm9tSm9pbkNvbHVtbnMoXG4gICAgICAgICAgICAgICAgcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgcmF3UmVsYXRpb25JZFJlc3VsdC5yZWxhdGlvbklkQXR0cmlidXRlLnBhcmVudEFsaWFzLFxuICAgICAgICAgICAgICAgIHJhd1NxbFJlc3VsdHMsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBpZiAodmFsdWVNYXAgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZU1hcCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIHRoaXMucHJlcGFyZURhdGFGb3JUcmFuc2Zvcm1SZWxhdGlvbklkcygpXG5cblxuICAgICAgICAgICAgY29uc3QgaGFzaCA9IHRoaXMuaGFzaEVudGl0eUlkcyhyZWxhdGlvbiwgdmFsdWVNYXApXG4gICAgICAgICAgICBjb25zdCBpZE1hcHMgPSB0aGlzLnJlbGF0aW9uSWRNYXBzW2luZGV4XVtoYXNoXSB8fCBbXVxuXG5cbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPVxuICAgICAgICAgICAgICAgIHJhd1JlbGF0aW9uSWRSZXN1bHQucmVsYXRpb25JZEF0dHJpYnV0ZS5tYXBUb1Byb3BlcnR5UHJvcGVydHlQYXRoLnNwbGl0KFxuICAgICAgICAgICAgICAgICAgICBcIi5cIixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBjb25zdCBtYXBUb1Byb3BlcnR5ID0gKFxuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHN0cmluZ1tdLFxuICAgICAgICAgICAgICAgIG1hcDogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogYW55LFxuICAgICAgICAgICAgKTogYW55ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IHByb3BlcnRpZXMuc2hpZnQoKVxuICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0aWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBtYXBbcHJvcGVydHldID0gdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hcFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgJiYgcHJvcGVydGllcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcFRvUHJvcGVydHkocHJvcGVydGllcywgbWFwW3Byb3BlcnR5XSwgdmFsdWUpXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hcFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZWxhdGlvbi5pc09uZVRvT25lIHx8IHJlbGF0aW9uLmlzTWFueVRvT25lKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlkTWFwc1swXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcFRvUHJvcGVydHkocHJvcGVydGllcywgZW50aXR5LCBpZE1hcHNbMF0pXG4gICAgICAgICAgICAgICAgICAgIGhhc0RhdGEgPSB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtYXBUb1Byb3BlcnR5KHByb3BlcnRpZXMsIGVudGl0eSwgaWRNYXBzKVxuICAgICAgICAgICAgICAgIGhhc0RhdGEgPSBoYXNEYXRhIHx8IGlkTWFwcy5sZW5ndGggPiAwXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIGhhc0RhdGFcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNmb3JtUmVsYXRpb25Db3VudHMoXG4gICAgICAgIHJhd1NxbFJlc3VsdHM6IGFueVtdLFxuICAgICAgICBhbGlhczogQWxpYXMsXG4gICAgICAgIGVudGl0eTogT2JqZWN0TGl0ZXJhbCxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGhhc0RhdGEgPSBmYWxzZVxuICAgICAgICB0aGlzLnJhd1JlbGF0aW9uQ291bnRSZXN1bHRzXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChyYXdSZWxhdGlvbkNvdW50UmVzdWx0KSA9PlxuICAgICAgICAgICAgICAgICAgICByYXdSZWxhdGlvbkNvdW50UmVzdWx0LnJlbGF0aW9uQ291bnRBdHRyaWJ1dGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wYXJlbnRBbGlhcyA9PT0gYWxpYXMubmFtZSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5mb3JFYWNoKChyYXdSZWxhdGlvbkNvdW50UmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVsYXRpb24gPVxuICAgICAgICAgICAgICAgICAgICByYXdSZWxhdGlvbkNvdW50UmVzdWx0LnJlbGF0aW9uQ291bnRBdHRyaWJ1dGUucmVsYXRpb25cbiAgICAgICAgICAgICAgICBsZXQgcmVmZXJlbmNlQ29sdW1uTmFtZTogc3RyaW5nXG5cbiAgICAgICAgICAgICAgICBpZiAocmVsYXRpb24uaXNPbmVUb01hbnkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlQ29sdW1uTmFtZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pbnZlcnNlUmVsYXRpb24hLmpvaW5Db2x1bW5zWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlZmVyZW5jZWRDb2x1bW4hLmRhdGFiYXNlTmFtZSAvLyB0b2RvOiBmaXggam9pbkNvbHVtbnNbMF1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VDb2x1bW5OYW1lID0gcmVsYXRpb24uaXNPd25pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gcmVsYXRpb24uam9pbkNvbHVtbnNbMF0ucmVmZXJlbmNlZENvbHVtbiEuZGF0YWJhc2VOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHJlbGF0aW9uLmludmVyc2VSZWxhdGlvbiEuam9pbkNvbHVtbnNbMF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VkQ29sdW1uIS5kYXRhYmFzZU5hbWVcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2VDb2x1bW5WYWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgIHJhd1NxbFJlc3VsdHNbMF1bXG4gICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJVdGlscy5idWlsZEFsaWFzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWFzLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlQ29sdW1uTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXSAvLyB3ZSB1c2UgemVybyBpbmRleCBzaW5jZSBpdHMgZ3JvdXBlZCBkYXRhIC8vIHRvZG86IHNlbGVjdGlvbiB3aXRoIGFsaWFzIGZvciBlbnRpdHkgY29sdW1ucyB3b250IHdvcmtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZUNvbHVtblZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlQ29sdW1uVmFsdWUgIT09IG51bGxcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZW50aXR5W1xuICAgICAgICAgICAgICAgICAgICAgICAgcmF3UmVsYXRpb25Db3VudFJlc3VsdC5yZWxhdGlvbkNvdW50QXR0cmlidXRlLm1hcFRvUHJvcGVydHlQcm9wZXJ0eU5hbWVcbiAgICAgICAgICAgICAgICAgICAgXSA9IDBcbiAgICAgICAgICAgICAgICAgICAgcmF3UmVsYXRpb25Db3VudFJlc3VsdC5yZXN1bHRzXG4gICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFtcInBhcmVudElkXCJdID09PSByZWZlcmVuY2VDb2x1bW5WYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHlbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd1JlbGF0aW9uQ291bnRSZXN1bHQucmVsYXRpb25Db3VudEF0dHJpYnV0ZS5tYXBUb1Byb3BlcnR5UHJvcGVydHlOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSA9IHBhcnNlSW50KHJlc3VsdFtcImNudFwiXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNEYXRhID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiBoYXNEYXRhXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVWYWx1ZU1hcEZyb21Kb2luQ29sdW1ucyhcbiAgICAgICAgcmVsYXRpb246IFJlbGF0aW9uTWV0YWRhdGEsXG4gICAgICAgIHBhcmVudEFsaWFzOiBzdHJpbmcsXG4gICAgICAgIHJhd1NxbFJlc3VsdHM6IGFueVtdLFxuICAgICk6IE9iamVjdExpdGVyYWwge1xuICAgICAgICBsZXQgY29sdW1uczogQ29sdW1uTWV0YWRhdGFbXVxuICAgICAgICBpZiAocmVsYXRpb24uaXNNYW55VG9PbmUgfHwgcmVsYXRpb24uaXNPbmVUb09uZU93bmVyKSB7XG4gICAgICAgICAgICBjb2x1bW5zID0gcmVsYXRpb24uZW50aXR5TWV0YWRhdGEucHJpbWFyeUNvbHVtbnMubWFwKFxuICAgICAgICAgICAgICAgIChqb2luQ29sdW1uKSA9PiBqb2luQ29sdW1uLFxuICAgICAgICAgICAgKVxuICAgICAgICB9IGVsc2UgaWYgKHJlbGF0aW9uLmlzT25lVG9NYW55IHx8IHJlbGF0aW9uLmlzT25lVG9PbmVOb3RPd25lcikge1xuICAgICAgICAgICAgY29sdW1ucyA9IHJlbGF0aW9uLmludmVyc2VSZWxhdGlvbiEuam9pbkNvbHVtbnMubWFwKFxuICAgICAgICAgICAgICAgIChqb2luQ29sdW1uKSA9PiBqb2luQ29sdW1uLFxuICAgICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHJlbGF0aW9uLmlzT3duaW5nKSB7XG4gICAgICAgICAgICAgICAgY29sdW1ucyA9IHJlbGF0aW9uLmpvaW5Db2x1bW5zLm1hcCgoam9pbkNvbHVtbikgPT4gam9pbkNvbHVtbilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sdW1ucyA9IHJlbGF0aW9uLmludmVyc2VSZWxhdGlvbiEuaW52ZXJzZUpvaW5Db2x1bW5zLm1hcChcbiAgICAgICAgICAgICAgICAgICAgKGpvaW5Db2x1bW4pID0+IGpvaW5Db2x1bW4sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb2x1bW5zLnJlZHVjZSgodmFsdWVNYXAsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgcmF3U3FsUmVzdWx0cy5mb3JFYWNoKChyYXdTcWxSZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVsYXRpb24uaXNNYW55VG9PbmUgfHwgcmVsYXRpb24uaXNPbmVUb09uZU93bmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlTWFwW2NvbHVtbi5kYXRhYmFzZU5hbWVdID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLnByZXBhcmVIeWRyYXRlZFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd1NxbFJlc3VsdFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuYnVpbGRBbGlhcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50QWxpYXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uZGF0YWJhc2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVNYXBbY29sdW1uLmRhdGFiYXNlTmFtZV0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIucHJlcGFyZUh5ZHJhdGVkVmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3U3FsUmVzdWx0W1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJVdGlscy5idWlsZEFsaWFzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRBbGlhcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5yZWZlcmVuY2VkQ29sdW1uIS5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlTWFwXG4gICAgICAgIH0sIHt9IGFzIE9iamVjdExpdGVyYWwpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHRyYWN0RW50aXR5UHJpbWFyeUlkcyhcbiAgICAgICAgcmVsYXRpb246IFJlbGF0aW9uTWV0YWRhdGEsXG4gICAgICAgIHJlbGF0aW9uSWRSYXdSZXN1bHQ6IGFueSxcbiAgICApIHtcbiAgICAgICAgbGV0IGNvbHVtbnM6IENvbHVtbk1ldGFkYXRhW11cbiAgICAgICAgaWYgKHJlbGF0aW9uLmlzTWFueVRvT25lIHx8IHJlbGF0aW9uLmlzT25lVG9PbmVPd25lcikge1xuICAgICAgICAgICAgY29sdW1ucyA9IHJlbGF0aW9uLmVudGl0eU1ldGFkYXRhLnByaW1hcnlDb2x1bW5zLm1hcChcbiAgICAgICAgICAgICAgICAoam9pbkNvbHVtbikgPT4gam9pbkNvbHVtbixcbiAgICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIGlmIChyZWxhdGlvbi5pc09uZVRvTWFueSB8fCByZWxhdGlvbi5pc09uZVRvT25lTm90T3duZXIpIHtcbiAgICAgICAgICAgIGNvbHVtbnMgPSByZWxhdGlvbi5pbnZlcnNlUmVsYXRpb24hLmpvaW5Db2x1bW5zLm1hcChcbiAgICAgICAgICAgICAgICAoam9pbkNvbHVtbikgPT4gam9pbkNvbHVtbixcbiAgICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChyZWxhdGlvbi5pc093bmluZykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMgPSByZWxhdGlvbi5qb2luQ29sdW1ucy5tYXAoKGpvaW5Db2x1bW4pID0+IGpvaW5Db2x1bW4pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMgPSByZWxhdGlvbi5pbnZlcnNlUmVsYXRpb24hLmludmVyc2VKb2luQ29sdW1ucy5tYXAoXG4gICAgICAgICAgICAgICAgICAgIChqb2luQ29sdW1uKSA9PiBqb2luQ29sdW1uLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sdW1ucy5yZWR1Y2UoKGRhdGEsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgZGF0YVtjb2x1bW4uZGF0YWJhc2VOYW1lXSA9IHJlbGF0aW9uSWRSYXdSZXN1bHRbY29sdW1uLmRhdGFiYXNlTmFtZV1cbiAgICAgICAgICAgIHJldHVybiBkYXRhXG4gICAgICAgIH0sIHt9IGFzIE9iamVjdExpdGVyYWwpXG4gICAgfVxuXG4gICAgLypwcml2YXRlIHJlbW92ZVZpcnR1YWxDb2x1bW5zKGVudGl0eTogT2JqZWN0TGl0ZXJhbCwgYWxpYXM6IEFsaWFzKSB7XG4gICAgICAgIGNvbnN0IHZpcnR1YWxDb2x1bW5zID0gdGhpcy5leHByZXNzaW9uTWFwLnNlbGVjdHNcbiAgICAgICAgICAgIC5maWx0ZXIoc2VsZWN0ID0+IHNlbGVjdC52aXJ0dWFsKVxuICAgICAgICAgICAgLm1hcChzZWxlY3QgPT4gc2VsZWN0LnNlbGVjdGlvbi5yZXBsYWNlKGFsaWFzLm5hbWUgKyBcIi5cIiwgXCJcIikpO1xuXG4gICAgICAgIHZpcnR1YWxDb2x1bW5zLmZvckVhY2godmlydHVhbENvbHVtbiA9PiBkZWxldGUgZW50aXR5W3ZpcnR1YWxDb2x1bW5dKTtcbiAgICB9Ki9cblxuICAgIC8qKiBQcmVwYXJlIGRhdGEgdG8gcnVuICN0cmFuc2Zvcm1SZWxhdGlvbklkcywgYXMgYSBsb3Qgb2YgcmVzdWx0IGluZGVwZW5kZW50IGRhdGEgaXMgbmVlZGVkIGluIGV2ZXJ5IGNhbGwgKi9cbiAgICBwcml2YXRlIHByZXBhcmVEYXRhRm9yVHJhbnNmb3JtUmVsYXRpb25JZHMoKSB7XG5cbiAgICAgICAgaWYgKHRoaXMucmVsYXRpb25JZE1hcHMpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cblxuICAgICAgICB0aGlzLnJlbGF0aW9uSWRNYXBzID0gdGhpcy5yYXdSZWxhdGlvbklkUmVzdWx0cy5tYXAoXG4gICAgICAgICAgICAocmF3UmVsYXRpb25JZFJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlbGF0aW9uID1cbiAgICAgICAgICAgICAgICAgICAgcmF3UmVsYXRpb25JZFJlc3VsdC5yZWxhdGlvbklkQXR0cmlidXRlLnJlbGF0aW9uXG5cblxuICAgICAgICAgICAgICAgIGxldCBjb2x1bW5zOiBDb2x1bW5NZXRhZGF0YVtdXG4gICAgICAgICAgICAgICAgaWYgKHJlbGF0aW9uLmlzTWFueVRvT25lIHx8IHJlbGF0aW9uLmlzT25lVG9PbmVPd25lcikge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zID0gcmVsYXRpb24uam9pbkNvbHVtbnNcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pc09uZVRvTWFueSB8fFxuICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pc09uZVRvT25lTm90T3duZXJcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IHJlbGF0aW9uLmludmVyc2VFbnRpdHlNZXRhZGF0YS5wcmltYXJ5Q29sdW1uc1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbGF0aW9uLmlzT3duaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zID0gcmVsYXRpb24uaW52ZXJzZUpvaW5Db2x1bW5zXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zID0gcmVsYXRpb24uaW52ZXJzZVJlbGF0aW9uIS5qb2luQ29sdW1uc1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmF3UmVsYXRpb25JZFJlc3VsdC5yZXN1bHRzLnJlZHVjZSgoYWdnLCByZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGlkTWFwID0gY29sdW1ucy5yZWR1Y2UoKGlkTWFwLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IHJlc3VsdFtjb2x1bW4uZGF0YWJhc2VOYW1lXVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLmlzT25lVG9NYW55IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb24uaXNPbmVUb09uZU5vdE93bmVyXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5pc1ZpcnR1YWwgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnJlZmVyZW5jZWRDb2x1bW4gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnJlZmVyZW5jZWRDb2x1bW4ucHJvcGVydHlOYW1lICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnByb3BlcnR5TmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5yZWZlcmVuY2VkQ29sdW1uLmNyZWF0ZVZhbHVlTWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPcm1VdGlscy5tZXJnZURlZXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkTWFwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uY3JlYXRlVmFsdWVNYXAodmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhY29sdW1uLmlzUHJpbWFyeSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5yZWZlcmVuY2VkQ29sdW1uIS5yZWZlcmVuY2VkQ29sdW1uXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnJlZmVyZW5jZWRDb2x1bW4hLnJlZmVyZW5jZWRDb2x1bW4hLmNyZWF0ZVZhbHVlTWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ybVV0aWxzLm1lcmdlRGVlcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZE1hcCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4ucmVmZXJlbmNlZENvbHVtbiEuY3JlYXRlVmFsdWVNYXAodmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9LCB7fSBhcyBPYmplY3RMaXRlcmFsKVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMubGVuZ3RoID09PSAxICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhcmF3UmVsYXRpb25JZFJlc3VsdC5yZWxhdGlvbklkQXR0cmlidXRlLmRpc2FibGVNaXhlZE1hcFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pc09uZVRvTWFueSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLmlzT25lVG9PbmVOb3RPd25lclxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRNYXAgPSBjb2x1bW5zWzBdLmdldEVudGl0eVZhbHVlKGlkTWFwKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZE1hcCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnNbMF0ucmVmZXJlbmNlZENvbHVtbiEuZ2V0RW50aXR5VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZE1hcCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICBpZiAoaWRNYXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaGFzaCA9IHRoaXMuaGFzaEVudGl0eUlkcyhyZWxhdGlvbiwgcmVzdWx0KVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWdnW2hhc2hdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdnW2hhc2hdLnB1c2goaWRNYXApXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZ1toYXNoXSA9IFtpZE1hcF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhZ2dcbiAgICAgICAgICAgICAgICB9LCB7fSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2UgYSBzaW1wbGUgSlNPTi5zdHJpbmdpZnkgdG8gY3JlYXRlIGEgc2ltcGxlIGhhc2ggb2YgdGhlIHByaW1hcnkgaWRzIG9mIGFuIGVudGl0eS5cbiAgICAgKiBBcyB0aGlzLmV4dHJhY3RFbnRpdHlQcmltYXJ5SWRzIGFsd2F5cyBjcmVhdGVzIHRoZSBwcmltYXJ5IGlkIG9iamVjdCBpbiB0aGUgc2FtZSBvcmRlciwgaWYgdGhlIHNhbWUgcmVsYXRpb24gaXNcbiAgICAgKiBnaXZlbiwgYSBzaW1wbGUgSlNPTi5zdHJpbmdpZnkgc2hvdWxkIGJlIGVub3VnaCB0byBnZXQgYSB1bmlxdWUgaGFzaCBwZXIgZW50aXR5IVxuICAgICAqL1xuICAgIHByaXZhdGUgaGFzaEVudGl0eUlkcyhyZWxhdGlvbjogUmVsYXRpb25NZXRhZGF0YSwgZGF0YTogT2JqZWN0TGl0ZXJhbCkge1xuICAgICAgICBjb25zdCBlbnRpdHlQcmltYXJ5SWRzID0gdGhpcy5leHRyYWN0RW50aXR5UHJpbWFyeUlkcyhyZWxhdGlvbiwgZGF0YSlcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGVudGl0eVByaW1hcnlJZHMpXG4gICAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi10eXBlb3JtIGxpYi90eXBlb3JtL3F1ZXJ5LWJ1aWxkZXIvdHJhbnNmb3JtZXIvUmF3U3FsUmVzdWx0c1RvRW50aXR5VHJhbnNmb3JtZXIudHMiXX0=