typeorm 0.2.42-dev.a855b90 → 0.2.42-dev.baa5880

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 (165) hide show
  1. package/README.md +38 -0
  2. package/browser/common/RelationType.d.ts +14 -0
  3. package/browser/common/RelationType.js +3 -0
  4. package/browser/common/RelationType.js.map +1 -0
  5. package/browser/connection/BaseConnectionOptions.d.ts +5 -0
  6. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  7. package/browser/connection/Connection.d.ts +5 -1
  8. package/browser/connection/Connection.js +46 -30
  9. package/browser/connection/Connection.js.map +1 -1
  10. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
  11. package/browser/connection/ConnectionMetadataBuilder.js +54 -22
  12. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  13. package/browser/connection/ConnectionOptionsReader.js +33 -28
  14. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  15. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  16. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  17. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  18. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  19. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  20. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  21. package/browser/driver/postgres/PostgresQueryRunner.js +38 -14
  22. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  23. package/browser/entity-manager/EntityManager.js +1 -11
  24. package/browser/entity-manager/EntityManager.js.map +1 -1
  25. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +6 -0
  26. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  27. package/browser/entity-schema/EntitySchemaTransformer.js +1 -0
  28. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  29. package/browser/find-options/FindOneOptions.d.ts +6 -0
  30. package/browser/find-options/FindOneOptions.js.map +1 -1
  31. package/browser/find-options/FindOptionsUtils.js +4 -0
  32. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  33. package/browser/find-options/operator/Like.d.ts +1 -1
  34. package/browser/find-options/operator/Like.js +1 -1
  35. package/browser/find-options/operator/Like.js.map +1 -1
  36. package/browser/find-options/operator/Not.d.ts +1 -1
  37. package/browser/find-options/operator/Not.js +1 -1
  38. package/browser/find-options/operator/Not.js.map +1 -1
  39. package/browser/globals.js +34 -7
  40. package/browser/globals.js.map +1 -1
  41. package/browser/index.d.ts +1 -0
  42. package/browser/index.js +1 -0
  43. package/browser/index.js.map +1 -1
  44. package/browser/migration/MigrationExecutor.js +1 -1
  45. package/browser/migration/MigrationExecutor.js.map +1 -1
  46. package/browser/query-builder/DeleteQueryBuilder.d.ts +3 -1
  47. package/browser/query-builder/DeleteQueryBuilder.js +3 -1
  48. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  49. package/browser/query-builder/InsertQueryBuilder.js +2 -2
  50. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  51. package/browser/query-builder/RelationLoader.js +11 -6
  52. package/browser/query-builder/RelationLoader.js.map +1 -1
  53. package/browser/query-builder/SelectQueryBuilder.d.ts +9 -0
  54. package/browser/query-builder/SelectQueryBuilder.js +27 -20
  55. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  56. package/browser/query-builder/UpdateQueryBuilder.d.ts +3 -1
  57. package/browser/query-builder/UpdateQueryBuilder.js +3 -1
  58. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  59. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
  60. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  61. package/browser/query-runner/BaseQueryRunner.d.ts +2 -2
  62. package/browser/query-runner/BaseQueryRunner.js +3 -3
  63. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  64. package/browser/repository/TreeRepository.js +1 -1
  65. package/browser/repository/TreeRepository.js.map +1 -1
  66. package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
  67. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  68. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  69. package/browser/util/DirectoryExportedClassesLoader.js +55 -31
  70. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  71. package/browser/util/ImportUtils.d.ts +1 -0
  72. package/browser/util/ImportUtils.js +90 -0
  73. package/browser/util/ImportUtils.js.map +1 -0
  74. package/browser/util/RandomGenerator.d.ts +0 -4
  75. package/browser/util/RandomGenerator.js +0 -9
  76. package/browser/util/RandomGenerator.js.map +1 -1
  77. package/commands/CommandUtils.d.ts +4 -0
  78. package/commands/CommandUtils.js +10 -0
  79. package/commands/CommandUtils.js.map +1 -1
  80. package/commands/InitCommand.d.ts +9 -7
  81. package/commands/InitCommand.js +72 -43
  82. package/commands/InitCommand.js.map +1 -1
  83. package/commands/MigrationCreateCommand.d.ts +2 -0
  84. package/commands/MigrationCreateCommand.js +7 -1
  85. package/commands/MigrationCreateCommand.js.map +1 -1
  86. package/commands/MigrationGenerateCommand.d.ts +2 -0
  87. package/commands/MigrationGenerateCommand.js +7 -1
  88. package/commands/MigrationGenerateCommand.js.map +1 -1
  89. package/common/RelationType.d.ts +14 -0
  90. package/common/RelationType.js +4 -0
  91. package/common/RelationType.js.map +1 -0
  92. package/connection/BaseConnectionOptions.d.ts +5 -0
  93. package/connection/BaseConnectionOptions.js.map +1 -1
  94. package/connection/Connection.d.ts +5 -1
  95. package/connection/Connection.js +46 -30
  96. package/connection/Connection.js.map +1 -1
  97. package/connection/ConnectionMetadataBuilder.d.ts +3 -3
  98. package/connection/ConnectionMetadataBuilder.js +53 -21
  99. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  100. package/connection/ConnectionOptionsReader.js +32 -27
  101. package/connection/ConnectionOptionsReader.js.map +1 -1
  102. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  103. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  104. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  105. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  106. package/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  107. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  108. package/driver/postgres/PostgresQueryRunner.js +38 -14
  109. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  110. package/entity-manager/EntityManager.js +1 -11
  111. package/entity-manager/EntityManager.js.map +1 -1
  112. package/entity-schema/EntitySchemaRelationOptions.d.ts +6 -0
  113. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  114. package/entity-schema/EntitySchemaTransformer.js +1 -0
  115. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  116. package/find-options/FindOneOptions.d.ts +6 -0
  117. package/find-options/FindOneOptions.js.map +1 -1
  118. package/find-options/FindOptionsUtils.js +4 -0
  119. package/find-options/FindOptionsUtils.js.map +1 -1
  120. package/find-options/operator/Like.d.ts +1 -1
  121. package/find-options/operator/Like.js +1 -1
  122. package/find-options/operator/Like.js.map +1 -1
  123. package/find-options/operator/Not.d.ts +1 -1
  124. package/find-options/operator/Not.js +1 -1
  125. package/find-options/operator/Not.js.map +1 -1
  126. package/globals.js +33 -6
  127. package/globals.js.map +1 -1
  128. package/index.d.ts +1 -0
  129. package/index.js +1 -0
  130. package/index.js.map +1 -1
  131. package/index.mjs +352 -0
  132. package/migration/MigrationExecutor.js +1 -1
  133. package/migration/MigrationExecutor.js.map +1 -1
  134. package/package.json +1 -1
  135. package/query-builder/DeleteQueryBuilder.d.ts +3 -1
  136. package/query-builder/DeleteQueryBuilder.js +3 -1
  137. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  138. package/query-builder/InsertQueryBuilder.js +2 -2
  139. package/query-builder/InsertQueryBuilder.js.map +1 -1
  140. package/query-builder/RelationLoader.js +11 -6
  141. package/query-builder/RelationLoader.js.map +1 -1
  142. package/query-builder/SelectQueryBuilder.d.ts +9 -0
  143. package/query-builder/SelectQueryBuilder.js +27 -20
  144. package/query-builder/SelectQueryBuilder.js.map +1 -1
  145. package/query-builder/UpdateQueryBuilder.d.ts +3 -1
  146. package/query-builder/UpdateQueryBuilder.js +3 -1
  147. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  148. package/query-builder/WhereExpressionBuilder.d.ts +3 -1
  149. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  150. package/query-runner/BaseQueryRunner.d.ts +2 -2
  151. package/query-runner/BaseQueryRunner.js +3 -3
  152. package/query-runner/BaseQueryRunner.js.map +1 -1
  153. package/repository/TreeRepository.js +1 -1
  154. package/repository/TreeRepository.js.map +1 -1
  155. package/schema-builder/RdbmsSchemaBuilder.js +1 -1
  156. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  157. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  158. package/util/DirectoryExportedClassesLoader.js +54 -31
  159. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  160. package/util/ImportUtils.d.ts +1 -0
  161. package/util/ImportUtils.js +94 -0
  162. package/util/ImportUtils.js.map +1 -0
  163. package/util/RandomGenerator.d.ts +0 -4
  164. package/util/RandomGenerator.js +0 -9
  165. package/util/RandomGenerator.js.map +1 -1
@@ -1026,20 +1026,6 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
1026
1026
  // if still selection is empty, then simply set it to all (*)
1027
1027
  if (allSelects.length === 0)
1028
1028
  allSelects.push({ selection: "*" });
1029
- var lock = "";
1030
- if (this.connection.driver instanceof SqlServerDriver) {
1031
- switch (this.expressionMap.lockMode) {
1032
- case "pessimistic_read":
1033
- lock = " WITH (HOLDLOCK, ROWLOCK)";
1034
- break;
1035
- case "pessimistic_write":
1036
- lock = " WITH (UPDLOCK, ROWLOCK)";
1037
- break;
1038
- case "dirty_read":
1039
- lock = " WITH (NOLOCK)";
1040
- break;
1041
- }
1042
- }
1043
1029
  // Use certain index
1044
1030
  var useIndex = "";
1045
1031
  if (this.expressionMap.useIndex) {
@@ -1057,7 +1043,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
1057
1043
  });
1058
1044
  var select = this.createSelectDistinctExpression();
1059
1045
  var selection = allSelects.map(function (select) { return select.selection + (select.aliasName ? " AS " + _this.escape(select.aliasName) : ""); }).join(", ");
1060
- return select + selection + " FROM " + froms.join(", ") + lock + useIndex;
1046
+ return select + selection + " FROM " + froms.join(", ") + this.createTableLockExpression() + useIndex;
1061
1047
  };
1062
1048
  /**
1063
1049
  * Creates select | select distinct part of SQL query.
@@ -1103,7 +1089,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
1103
1089
  // table to join, without junction table involved. This means we simply join direct table.
1104
1090
  if (!parentAlias || !relation) {
1105
1091
  var destinationJoin = joinAttr.alias.subQuery ? joinAttr.alias.subQuery : _this.getTableName(destinationTableName);
1106
- return " " + joinAttr.direction + " JOIN " + destinationJoin + " " + _this.escape(destinationTableAlias) +
1092
+ return " " + joinAttr.direction + " JOIN " + destinationJoin + " " + _this.escape(destinationTableAlias) + _this.createTableLockExpression() +
1107
1093
  (joinAttr.condition ? " ON " + _this.replacePropertyNames(joinAttr.condition) : "");
1108
1094
  }
1109
1095
  // if real entity relation is involved
@@ -1113,7 +1099,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
1113
1099
  return destinationTableAlias + "." + joinColumn.referencedColumn.propertyPath + "=" +
1114
1100
  parentAlias + "." + relation.propertyPath + "." + joinColumn.referencedColumn.propertyPath;
1115
1101
  }).join(" AND ");
1116
- return " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + " ON " + _this.replacePropertyNames(condition + appendedCondition);
1102
+ return " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + _this.createTableLockExpression() + " ON " + _this.replacePropertyNames(condition + appendedCondition);
1117
1103
  }
1118
1104
  else if (relation.isOneToMany || relation.isOneToOneNotOwner) {
1119
1105
  // JOIN `post` `post` ON `post`.`categoryId` = `category`.`id`
@@ -1124,7 +1110,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
1124
1110
  return destinationTableAlias + "." + relation.inverseRelation.propertyPath + "." + joinColumn.referencedColumn.propertyPath + "=" +
1125
1111
  parentAlias + "." + joinColumn.referencedColumn.propertyPath;
1126
1112
  }).join(" AND ");
1127
- return " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + " ON " + _this.replacePropertyNames(condition + appendedCondition);
1113
+ return " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + _this.createTableLockExpression() + " ON " + _this.replacePropertyNames(condition + appendedCondition);
1128
1114
  }
1129
1115
  else { // means many-to-many
1130
1116
  var junctionTableName = relation.junctionEntityMetadata.tablePath;
@@ -1150,8 +1136,8 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
1150
1136
  return destinationTableAlias + "." + joinColumn.referencedColumn.propertyPath + "=" + junctionAlias_1 + "." + joinColumn.propertyPath;
1151
1137
  }).join(" AND ");
1152
1138
  }
1153
- return " " + joinAttr.direction + " JOIN " + _this.getTableName(junctionTableName) + " " + _this.escape(junctionAlias_1) + " ON " + _this.replacePropertyNames(junctionCondition) +
1154
- " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + " ON " + _this.replacePropertyNames(destinationCondition + appendedCondition);
1139
+ return " " + joinAttr.direction + " JOIN " + _this.getTableName(junctionTableName) + " " + _this.escape(junctionAlias_1) + _this.createTableLockExpression() + " ON " + _this.replacePropertyNames(junctionCondition) +
1140
+ " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + _this.createTableLockExpression() + " ON " + _this.replacePropertyNames(destinationCondition + appendedCondition);
1155
1141
  }
1156
1142
  });
1157
1143
  return joins.join(" ");
@@ -1245,6 +1231,27 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
1245
1231
  }
1246
1232
  return "";
1247
1233
  };
1234
+ /**
1235
+ * Creates "LOCK" part of SELECT Query after table Clause
1236
+ * ex.
1237
+ * SELECT 1
1238
+ * FROM USER U WITH (NOLOCK)
1239
+ * JOIN ORDER O WITH (NOLOCK)
1240
+ * ON U.ID=O.OrderID
1241
+ */
1242
+ SelectQueryBuilder.prototype.createTableLockExpression = function () {
1243
+ if (this.connection.driver instanceof SqlServerDriver) {
1244
+ switch (this.expressionMap.lockMode) {
1245
+ case "pessimistic_read":
1246
+ return " WITH (HOLDLOCK, ROWLOCK)";
1247
+ case "pessimistic_write":
1248
+ return " WITH (UPDLOCK, ROWLOCK)";
1249
+ case "dirty_read":
1250
+ return " WITH (NOLOCK)";
1251
+ }
1252
+ }
1253
+ return "";
1254
+ };
1248
1255
  /**
1249
1256
  * Creates "LOCK" part of SQL query.
1250
1257
  */