typescript 4.8.0-dev.20220729 → 4.8.0-dev.20220730

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.
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "Očekává se identifikátor. {0} je rezervované slovo, které se tady nedá použít.",
776
776
  "Identifier_expected_1003": "Očekával se identifikátor.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "Očekává se identifikátor. __esModule je při transformaci modulů ECMAScript rezervované jako označení exportu.",
778
+ "Identifier_or_string_literal_expected_1478": "Očekává se identifikátor nebo řetězcový literál.",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "Pokud balíček ‚{0}‘ ve skutečnosti zveřejňuje tento modul, zvažte možnost poslat žádost o přijetí změn, aby se připojila adresa ‚https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}‘",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "Pokud balíček {0} skutečně zpřístupňuje tento modul, zkuste přidat nový soubor deklarace (.d.ts), který obsahuje declare module {1};",
780
781
  "Ignore_this_error_message_90019": "Ignorovat tuto chybovou zprávu",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "Bezeichner erwartet. \"{0}\" ist ein reserviertes Wort, das hier nicht verwendet werden kann.",
776
776
  "Identifier_expected_1003": "Es wurde ein Bezeichner erwartet.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "Bezeichner erwartet. \"__esModule\" ist als exportierter Marker für die Umwandlung von ECMAScript-Modulen reserviert.",
778
+ "Identifier_or_string_literal_expected_1478": "Bezeichner oder Zeichenfolgenliteral erwartet.",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "Wenn das Paket \"{0}\" dieses Modul tatsächlich verfügbar macht, erwägen Sie, einen Pull Request zum Ändern von https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1} zu senden.",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "Wenn das Paket \"{0}\" dieses Modul tatsächlich verfügbar macht, versuchen Sie, eine neue Deklarationsdatei (.d.ts) hinzuzufügen, die Declare-Modul \"{1}\" enthält.",
780
781
  "Ignore_this_error_message_90019": "Diese Fehlermeldung ignorieren",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "Se esperaba un identificador. \"{0}\" es una palabra reservada que no se puede usar aquí.",
776
776
  "Identifier_expected_1003": "Se esperaba un identificador.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "Identificador esperado. \"__esModule\" está reservado como marcador exportado al transformar módulos ECMAScript.",
778
+ "Identifier_or_string_literal_expected_1478": "Se esperaba un literal de cadena o identificador",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "Si el paquete \"{0}\" expone realmente este módulo, considere la posibilidad de enviar una solicitud de incorporación de cambios para corregir \"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}\".",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "Si el paquete '{0}' realmente expone este módulo, intente agregar un nuevo archivo de declaración (.d.ts) que contenga 'declarar módulo '{1}';`",
780
781
  "Ignore_this_error_message_90019": "Ignorar este mensaje de error",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "Identificateur attendu. '{0}' est un mot réservé qui ne peut pas être utilisé ici.",
776
776
  "Identifier_expected_1003": "Identificateur attendu.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "Identificateur attendu. '__esModule' est réservé en tant que marqueur exporté durant la transformation des modules ECMAScript.",
778
+ "Identifier_or_string_literal_expected_1478": "Identificateur ou littéral de chaîne attendu",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "Si le package '{0}' expose réellement ce module, envoyez une demande de tirage (pull request) pour modifier 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "Si le package' {0} 'expose effectivement ce module, essayez d’ajouter un nouveau fichier de déclaration (. d. TS) contenant’declare module' {1} '; '",
780
781
  "Ignore_this_error_message_90019": "Ignorer ce message d'erreur",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "È previsto un identificatore. '{0}' è una parola riservata che non può essere usata in questo punto.",
776
776
  "Identifier_expected_1003": "È previsto l'identificatore.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "È previsto un identificatore. '__esModule' è riservato come marcatore esportato durante la trasformazione di moduli ECMAScript.",
778
+ "Identifier_or_string_literal_expected_1478": "Previsto identificatore o valore letterale stringa.",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "Se il pacchetto '{0}' espone effettivamente questo modulo, provare a inviare una richiesta pull per modificare 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "Se il pacchetto ' {0}' espone effettivamente il modulo, provare ad aggiungere un nuovo file di dichiarazione (.d.ts) contenente ' Dichiara modulo' {1}';'",
780
781
  "Ignore_this_error_message_90019": "Ignorare questo messaggio di errore",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "識別子が予期されていました。'{0}' は、ここでは使用できない予約語です。",
776
776
  "Identifier_expected_1003": "識別子が必要です。",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "識別子が必要です。'__esModule' は、ECMAScript モジュールを変換するときのエクスポート済みマーカーとして予約されています。",
778
+ "Identifier_or_string_literal_expected_1478": "識別子または文字列リテラルが必要です。",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "'{0}' パッケージが実際にこのモジュールを公開する場合は、pull request を送信して 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}' を修正することを検討してください",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "'{0}' パッケージが実際にこのモジュールを公開する場合は、'declare module '{1}';' を含む新しい宣言 (d.ts) ファイルを追加してみてください。",
780
781
  "Ignore_this_error_message_90019": "このエラー メッセージを無視する",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "식별자가 필요합니다. '{0}'은(는) 여기에서 사용할 수 없는 예약어입니다.",
776
776
  "Identifier_expected_1003": "식별자가 필요합니다.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "식별자가 필요합니다. '__esModule'은 ECMAScript 모듈을 변환할 때 내보낸 표식으로 예약되어 있습니다.",
778
+ "Identifier_or_string_literal_expected_1478": "식별자 또는 문자열 리터럴이 필요합니다.",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "'{0}' 패키지가 이 모듈을 실제로 공개하는 경우 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}' 수정을 위한 끌어오기 요청을 보내는 것이 좋습니다.",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "'{0}' 패키지가 실제로 이 모듈을 노출하는 경우 'declare module {1}';'이(가) 포함된 새 선언(.d.ts) 파일을 추가해 보세요.",
780
781
  "Ignore_this_error_message_90019": "이 오류 메시지 무시",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "Oczekiwano identyfikatora. „{0}” jest słowem zastrzeżonym, którego nie można użyć w tym miejscu.",
776
776
  "Identifier_expected_1003": "Oczekiwano identyfikatora.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "Oczekiwano identyfikatora. Ciąg „__esModule” jest zastrzeżony jako eksportowany znacznik podczas transformowania modułów ECMAScript.",
778
+ "Identifier_or_string_literal_expected_1478": "Oczekiwano identyfikatora lub literału ciągu.",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "Jeśli pakiet \"{0}\" faktycznie udostępnia ten moduł, rozważ wysłanie żądania ściągnięcia w celu zmiany elementu \"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}\"",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "Jeśli pakiet „{0}” rzeczywiście uwidacznia ten moduł, spróbuj dodać nowy plik deklaracji (.d.ts) zawierający „declare module”{1}';`",
780
781
  "Ignore_this_error_message_90019": "Ignoruj ten komunikat o błędzie",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "Identificador esperado. '{0}' é uma palavra reservada que não pode ser usada aqui.",
776
776
  "Identifier_expected_1003": "Identificador esperado.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "Identificador esperado. '__esModule' é reservado como um marcador exportado ao transformar os módulos ECMAScript.",
778
+ "Identifier_or_string_literal_expected_1478": "Identificador ou literal de cadeia de caracteres esperado.",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "Se o pacote '{0}' realmente expõe este módulo, considere enviar uma solicitação de pull para corrigir 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "Se o pacote '{0}' realmente expõe este módulo, tente adicionar um novo arquivo de declaração (.d.ts) contendo o módulo `declare '{1}';`",
780
781
  "Ignore_this_error_message_90019": "Ignorar essa mensagem de erro",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "Ожидается идентификатор. \"{0}\" — это зарезервированное слово, которое не может быть использовано здесь.",
776
776
  "Identifier_expected_1003": "Ожидался идентификатор.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "Ожидался идентификатор. Значение \"__esModule\" зарезервировано как экспортируемый маркер при преобразовании модулей ECMAScript.",
778
+ "Identifier_or_string_literal_expected_1478": "Ожидался идентификатор или строковый литерал.",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "Если пакет \"{0}\" фактически предоставляет этот модуль, рекомендуется отправить запрос на вытягивание, чтобы изменить \"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}\"",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "Если пакет \"{0}\" действительно предоставляет этот модуль, попробуйте добавить новый файл объявления (. d. TS), содержащий \"declare module\" \"{1}\";`",
780
781
  "Ignore_this_error_message_90019": "Пропустите это сообщение об ошибке",
@@ -775,6 +775,7 @@
775
775
  "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359": "Tanımlayıcı bekleniyor. '{0}', burada kullanılamayan ayrılmış bir sözcüktür.",
776
776
  "Identifier_expected_1003": "Tanımlayıcı bekleniyor.",
777
777
  "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216": "Tanımlayıcı bekleniyor. '__esModule', ECMAScript modülleri dönüştürülürken, dışarı aktarılan bir işaretçi olarak ayrılmış.",
778
+ "Identifier_or_string_literal_expected_1478": "Tanımlayıcı veya sabit değerli dize bekleniyor.",
778
779
  "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040": "'{0}' paketi bu modülü gerçekten kullanıma sunarsa, 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}' öğesini düzeltmek için bir çekme isteği göndermeyi deneyin",
779
780
  "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058": "‘{0}’ paketi bu modülü fiili olarak kullanıma sunuyorsa `'{1}' modülünü bildir;` ifadesini içeren yeni bir bildirim (.d.ts) dosyası eklemeyi deneyin",
780
781
  "Ignore_this_error_message_90019": "Bu hata iletisini yoksay",
package/lib/tsc.js CHANGED
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
69
69
  var ts;
70
70
  (function (ts) {
71
71
  ts.versionMajorMinor = "4.8";
72
- ts.version = ts.versionMajorMinor + ".0-dev.20220729";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220730";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -19272,7 +19272,7 @@ var ts;
19272
19272
  propagateChildFlags(node.expression) |
19273
19273
  (ts.isIdentifier(node.name) ?
19274
19274
  propagateIdentifierNameFlags(node.name) :
19275
- propagateChildFlags(node.name));
19275
+ propagateChildFlags(node.name) | 536870912);
19276
19276
  if (ts.isSuperKeyword(expression)) {
19277
19277
  node.transformFlags |=
19278
19278
  256 |
@@ -19301,7 +19301,7 @@ var ts;
19301
19301
  propagateChildFlags(node.questionDotToken) |
19302
19302
  (ts.isIdentifier(node.name) ?
19303
19303
  propagateIdentifierNameFlags(node.name) :
19304
- propagateChildFlags(node.name));
19304
+ propagateChildFlags(node.name) | 536870912);
19305
19305
  return node;
19306
19306
  }
19307
19307
  function updatePropertyAccessChain(node, expression, questionDotToken, name) {
@@ -19660,6 +19660,9 @@ var ts;
19660
19660
  else if (ts.isLogicalOrCoalescingAssignmentOperator(operatorKind)) {
19661
19661
  node.transformFlags |= 16;
19662
19662
  }
19663
+ if (operatorKind === 101 && ts.isPrivateIdentifier(node.left)) {
19664
+ node.transformFlags |= 536870912;
19665
+ }
19663
19666
  return node;
19664
19667
  }
19665
19668
  function propagateAssignmentPatternFlags(node) {
@@ -22086,29 +22089,29 @@ var ts;
22086
22089
  case 208:
22087
22090
  case 209:
22088
22091
  case 204:
22089
- return 536903680;
22092
+ return -2147450880;
22090
22093
  case 261:
22091
- return 742678528;
22094
+ return -1941676032;
22092
22095
  case 164:
22093
- return 536870912;
22096
+ return -2147483648;
22094
22097
  case 214:
22095
- return 612179968;
22098
+ return -2072174592;
22096
22099
  case 213:
22097
22100
  case 256:
22098
- return 746414080;
22101
+ return -1937940480;
22099
22102
  case 255:
22100
- return 537460736;
22103
+ return -2146893824;
22101
22104
  case 257:
22102
22105
  case 226:
22103
- return 537010176;
22106
+ return -2147344384;
22104
22107
  case 171:
22105
- return 746405888;
22108
+ return -1937948672;
22106
22109
  case 167:
22107
- return 671105024;
22110
+ return -2013249536;
22108
22111
  case 169:
22109
22112
  case 172:
22110
22113
  case 173:
22111
- return 679297024;
22114
+ return -2005057536;
22112
22115
  case 130:
22113
22116
  case 147:
22114
22117
  case 158:
@@ -22128,23 +22131,23 @@ var ts;
22128
22131
  case 259:
22129
22132
  return -2;
22130
22133
  case 205:
22131
- return 537075712;
22134
+ return -2147278848;
22132
22135
  case 292:
22133
- return 536936448;
22136
+ return -2147418112;
22134
22137
  case 201:
22135
22138
  case 202:
22136
- return 536903680;
22139
+ return -2147450880;
22137
22140
  case 211:
22138
22141
  case 229:
22139
22142
  case 350:
22140
22143
  case 212:
22141
22144
  case 106:
22142
- return 536870912;
22145
+ return -2147483648;
22143
22146
  case 206:
22144
22147
  case 207:
22145
- return 536870912;
22148
+ return -2147483648;
22146
22149
  default:
22147
- return 536870912;
22150
+ return -2147483648;
22148
22151
  }
22149
22152
  }
22150
22153
  ts.getTransformFlagsSubtreeExclusions = getTransformFlagsSubtreeExclusions;
@@ -67775,7 +67778,7 @@ var ts;
67775
67778
  error(node.name, ts.Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name);
67776
67779
  }
67777
67780
  }
67778
- if (node.questionToken && ts.isBindingPattern(node.name) && func.body) {
67781
+ if ((node.questionToken || isJSDocOptionalParameter(node)) && ts.isBindingPattern(node.name) && func.body) {
67779
67782
  error(node, ts.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature);
67780
67783
  }
67781
67784
  if (node.name && ts.isIdentifier(node.name) && (node.name.escapedText === "this" || node.name.escapedText === "new")) {
@@ -81041,23 +81044,58 @@ var ts;
81041
81044
  function visitClassDeclaration(node) {
81042
81045
  if (!(ts.classOrConstructorParameterIsDecorated(node) || ts.childIsDecorated(node)))
81043
81046
  return ts.visitEachChild(node, visitor, context);
81044
- var classStatement = ts.hasDecorators(node) ?
81045
- createClassDeclarationHeadWithDecorators(node, node.name) :
81046
- createClassDeclarationHeadWithoutDecorators(node, node.name);
81047
- var statements = [classStatement];
81048
- addClassElementDecorationStatements(statements, node, false);
81049
- addClassElementDecorationStatements(statements, node, true);
81050
- addConstructorDecorationStatement(statements, node);
81047
+ var statements = ts.hasDecorators(node) ?
81048
+ transformClassDeclarationWithClassDecorators(node, node.name) :
81049
+ transformClassDeclarationWithoutClassDecorators(node, node.name);
81051
81050
  if (statements.length > 1) {
81052
81051
  statements.push(factory.createEndOfDeclarationMarker(node));
81053
- ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 4194304);
81052
+ ts.setEmitFlags(statements[0], ts.getEmitFlags(statements[0]) | 4194304);
81054
81053
  }
81055
81054
  return ts.singleOrMany(statements);
81056
81055
  }
81057
- function createClassDeclarationHeadWithoutDecorators(node, name) {
81058
- return factory.updateClassDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement));
81056
+ function decoratorContainsPrivateIdentifierInExpression(decorator) {
81057
+ return !!(decorator.transformFlags & 536870912);
81058
+ }
81059
+ function parameterDecoratorsContainPrivateIdentifierInExpression(parameterDecorators) {
81060
+ return ts.some(parameterDecorators, decoratorContainsPrivateIdentifierInExpression);
81059
81061
  }
81060
- function createClassDeclarationHeadWithDecorators(node, name) {
81062
+ function hasClassElementWithDecoratorContainingPrivateIdentifierInExpression(node) {
81063
+ for (var _i = 0, _a = node.members; _i < _a.length; _i++) {
81064
+ var member = _a[_i];
81065
+ if (!ts.canHaveDecorators(member))
81066
+ continue;
81067
+ var allDecorators = ts.getAllDecoratorsOfClassElement(member, node);
81068
+ if (ts.some(allDecorators === null || allDecorators === void 0 ? void 0 : allDecorators.decorators, decoratorContainsPrivateIdentifierInExpression))
81069
+ return true;
81070
+ if (ts.some(allDecorators === null || allDecorators === void 0 ? void 0 : allDecorators.parameters, parameterDecoratorsContainPrivateIdentifierInExpression))
81071
+ return true;
81072
+ }
81073
+ return false;
81074
+ }
81075
+ function transformDecoratorsOfClassElements(node, members) {
81076
+ var decorationStatements = [];
81077
+ addClassElementDecorationStatements(decorationStatements, node, false);
81078
+ addClassElementDecorationStatements(decorationStatements, node, true);
81079
+ if (hasClassElementWithDecoratorContainingPrivateIdentifierInExpression(node)) {
81080
+ members = ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray([], members, true), [
81081
+ factory.createClassStaticBlockDeclaration(factory.createBlock(decorationStatements, true))
81082
+ ], false)), members);
81083
+ decorationStatements = undefined;
81084
+ }
81085
+ return { decorationStatements: decorationStatements, members: members };
81086
+ }
81087
+ function transformClassDeclarationWithoutClassDecorators(node, name) {
81088
+ var _a;
81089
+ var modifiers = ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier);
81090
+ var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
81091
+ var members = ts.visitNodes(node.members, visitor, ts.isClassElement);
81092
+ var decorationStatements = [];
81093
+ (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements);
81094
+ var updated = factory.updateClassDeclaration(node, modifiers, name, undefined, heritageClauses, members);
81095
+ return ts.addRange([updated], decorationStatements);
81096
+ }
81097
+ function transformClassDeclarationWithClassDecorators(node, name) {
81098
+ var _a;
81061
81099
  var location = ts.moveRangePastModifiers(node);
81062
81100
  var classAlias = getClassAliasIfNeeded(node);
81063
81101
  var declName = languageVersion <= 2 ?
@@ -81065,6 +81103,8 @@ var ts;
81065
81103
  factory.getLocalName(node, false, true);
81066
81104
  var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
81067
81105
  var members = ts.visitNodes(node.members, visitor, ts.isClassElement);
81106
+ var decorationStatements = [];
81107
+ (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements);
81068
81108
  var classExpression = factory.createClassExpression(undefined, name, undefined, heritageClauses, members);
81069
81109
  ts.setOriginalNode(classExpression, node);
81070
81110
  ts.setTextRange(classExpression, location);
@@ -81074,7 +81114,10 @@ var ts;
81074
81114
  ts.setOriginalNode(statement, node);
81075
81115
  ts.setTextRange(statement, location);
81076
81116
  ts.setCommentRange(statement, node);
81077
- return statement;
81117
+ var statements = [statement];
81118
+ ts.addRange(statements, decorationStatements);
81119
+ addConstructorDecorationStatement(statements, node);
81120
+ return statements;
81078
81121
  }
81079
81122
  function visitClassExpression(node) {
81080
81123
  return factory.updateClassExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement));
package/lib/tsserver.js CHANGED
@@ -109,7 +109,7 @@ var ts;
109
109
  // The following is baselined as a literal template type without intervention
110
110
  /** The version of the TypeScript compiler release */
111
111
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
112
- ts.version = ts.versionMajorMinor + ".0-dev.20220729";
112
+ ts.version = ts.versionMajorMinor + ".0-dev.20220730";
113
113
  /* @internal */
114
114
  var Comparison;
115
115
  (function (Comparison) {
@@ -5722,10 +5722,8 @@ var ts;
5722
5722
  TransformFlags[TransformFlags["ContainsPossibleTopLevelAwait"] = 67108864] = "ContainsPossibleTopLevelAwait";
5723
5723
  TransformFlags[TransformFlags["ContainsLexicalSuper"] = 134217728] = "ContainsLexicalSuper";
5724
5724
  TransformFlags[TransformFlags["ContainsUpdateExpressionForIdentifier"] = 268435456] = "ContainsUpdateExpressionForIdentifier";
5725
- // Please leave this as 1 << 29.
5726
- // It is the maximum bit we can set before we outgrow the size of a v8 small integer (SMI) on an x86 system.
5727
- // It is a good reminder of how much room we have left
5728
- TransformFlags[TransformFlags["HasComputedFlags"] = 536870912] = "HasComputedFlags";
5725
+ TransformFlags[TransformFlags["ContainsPrivateIdentifierInExpression"] = 536870912] = "ContainsPrivateIdentifierInExpression";
5726
+ TransformFlags[TransformFlags["HasComputedFlags"] = -2147483648] = "HasComputedFlags";
5729
5727
  // Assertions
5730
5728
  // - Bitmasks that are used to assert facts about the syntax of a node and its subtree.
5731
5729
  TransformFlags[TransformFlags["AssertTypeScript"] = 1] = "AssertTypeScript";
@@ -5744,23 +5742,23 @@ var ts;
5744
5742
  // Scope Exclusions
5745
5743
  // - Bitmasks that exclude flags from propagating out of a specific context
5746
5744
  // into the subtree flags of their container.
5747
- TransformFlags[TransformFlags["OuterExpressionExcludes"] = 536870912] = "OuterExpressionExcludes";
5748
- TransformFlags[TransformFlags["PropertyAccessExcludes"] = 536870912] = "PropertyAccessExcludes";
5749
- TransformFlags[TransformFlags["NodeExcludes"] = 536870912] = "NodeExcludes";
5750
- TransformFlags[TransformFlags["ArrowFunctionExcludes"] = 612179968] = "ArrowFunctionExcludes";
5751
- TransformFlags[TransformFlags["FunctionExcludes"] = 746414080] = "FunctionExcludes";
5752
- TransformFlags[TransformFlags["ConstructorExcludes"] = 746405888] = "ConstructorExcludes";
5753
- TransformFlags[TransformFlags["MethodOrAccessorExcludes"] = 679297024] = "MethodOrAccessorExcludes";
5754
- TransformFlags[TransformFlags["PropertyExcludes"] = 671105024] = "PropertyExcludes";
5755
- TransformFlags[TransformFlags["ClassExcludes"] = 537010176] = "ClassExcludes";
5756
- TransformFlags[TransformFlags["ModuleExcludes"] = 742678528] = "ModuleExcludes";
5745
+ TransformFlags[TransformFlags["OuterExpressionExcludes"] = -2147483648] = "OuterExpressionExcludes";
5746
+ TransformFlags[TransformFlags["PropertyAccessExcludes"] = -2147483648] = "PropertyAccessExcludes";
5747
+ TransformFlags[TransformFlags["NodeExcludes"] = -2147483648] = "NodeExcludes";
5748
+ TransformFlags[TransformFlags["ArrowFunctionExcludes"] = -2072174592] = "ArrowFunctionExcludes";
5749
+ TransformFlags[TransformFlags["FunctionExcludes"] = -1937940480] = "FunctionExcludes";
5750
+ TransformFlags[TransformFlags["ConstructorExcludes"] = -1937948672] = "ConstructorExcludes";
5751
+ TransformFlags[TransformFlags["MethodOrAccessorExcludes"] = -2005057536] = "MethodOrAccessorExcludes";
5752
+ TransformFlags[TransformFlags["PropertyExcludes"] = -2013249536] = "PropertyExcludes";
5753
+ TransformFlags[TransformFlags["ClassExcludes"] = -2147344384] = "ClassExcludes";
5754
+ TransformFlags[TransformFlags["ModuleExcludes"] = -1941676032] = "ModuleExcludes";
5757
5755
  TransformFlags[TransformFlags["TypeExcludes"] = -2] = "TypeExcludes";
5758
- TransformFlags[TransformFlags["ObjectLiteralExcludes"] = 537075712] = "ObjectLiteralExcludes";
5759
- TransformFlags[TransformFlags["ArrayLiteralOrCallOrNewExcludes"] = 536903680] = "ArrayLiteralOrCallOrNewExcludes";
5760
- TransformFlags[TransformFlags["VariableDeclarationListExcludes"] = 537460736] = "VariableDeclarationListExcludes";
5761
- TransformFlags[TransformFlags["ParameterExcludes"] = 536870912] = "ParameterExcludes";
5762
- TransformFlags[TransformFlags["CatchClauseExcludes"] = 536936448] = "CatchClauseExcludes";
5763
- TransformFlags[TransformFlags["BindingPatternExcludes"] = 536903680] = "BindingPatternExcludes";
5756
+ TransformFlags[TransformFlags["ObjectLiteralExcludes"] = -2147278848] = "ObjectLiteralExcludes";
5757
+ TransformFlags[TransformFlags["ArrayLiteralOrCallOrNewExcludes"] = -2147450880] = "ArrayLiteralOrCallOrNewExcludes";
5758
+ TransformFlags[TransformFlags["VariableDeclarationListExcludes"] = -2146893824] = "VariableDeclarationListExcludes";
5759
+ TransformFlags[TransformFlags["ParameterExcludes"] = -2147483648] = "ParameterExcludes";
5760
+ TransformFlags[TransformFlags["CatchClauseExcludes"] = -2147418112] = "CatchClauseExcludes";
5761
+ TransformFlags[TransformFlags["BindingPatternExcludes"] = -2147450880] = "BindingPatternExcludes";
5764
5762
  TransformFlags[TransformFlags["ContainsLexicalThisOrSuper"] = 134234112] = "ContainsLexicalThisOrSuper";
5765
5763
  // Propagating flags
5766
5764
  // - Bitmasks for flags that should propagate from a child
@@ -24099,7 +24097,7 @@ var ts;
24099
24097
  propagateChildFlags(node.expression) |
24100
24098
  (ts.isIdentifier(node.name) ?
24101
24099
  propagateIdentifierNameFlags(node.name) :
24102
- propagateChildFlags(node.name));
24100
+ propagateChildFlags(node.name) | 536870912 /* ContainsPrivateIdentifierInExpression */);
24103
24101
  if (ts.isSuperKeyword(expression)) {
24104
24102
  // super method calls require a lexical 'this'
24105
24103
  // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators
@@ -24132,7 +24130,7 @@ var ts;
24132
24130
  propagateChildFlags(node.questionDotToken) |
24133
24131
  (ts.isIdentifier(node.name) ?
24134
24132
  propagateIdentifierNameFlags(node.name) :
24135
- propagateChildFlags(node.name));
24133
+ propagateChildFlags(node.name) | 536870912 /* ContainsPrivateIdentifierInExpression */);
24136
24134
  return node;
24137
24135
  }
24138
24136
  // @api
@@ -24536,6 +24534,9 @@ var ts;
24536
24534
  else if (ts.isLogicalOrCoalescingAssignmentOperator(operatorKind)) {
24537
24535
  node.transformFlags |= 16 /* ContainsES2021 */;
24538
24536
  }
24537
+ if (operatorKind === 101 /* InKeyword */ && ts.isPrivateIdentifier(node.left)) {
24538
+ node.transformFlags |= 536870912 /* ContainsPrivateIdentifierInExpression */;
24539
+ }
24539
24540
  return node;
24540
24541
  }
24541
24542
  function propagateAssignmentPatternFlags(node) {
@@ -27490,29 +27491,29 @@ var ts;
27490
27491
  case 208 /* CallExpression */:
27491
27492
  case 209 /* NewExpression */:
27492
27493
  case 204 /* ArrayLiteralExpression */:
27493
- return 536903680 /* ArrayLiteralOrCallOrNewExcludes */;
27494
+ return -2147450880 /* ArrayLiteralOrCallOrNewExcludes */;
27494
27495
  case 261 /* ModuleDeclaration */:
27495
- return 742678528 /* ModuleExcludes */;
27496
+ return -1941676032 /* ModuleExcludes */;
27496
27497
  case 164 /* Parameter */:
27497
- return 536870912 /* ParameterExcludes */;
27498
+ return -2147483648 /* ParameterExcludes */;
27498
27499
  case 214 /* ArrowFunction */:
27499
- return 612179968 /* ArrowFunctionExcludes */;
27500
+ return -2072174592 /* ArrowFunctionExcludes */;
27500
27501
  case 213 /* FunctionExpression */:
27501
27502
  case 256 /* FunctionDeclaration */:
27502
- return 746414080 /* FunctionExcludes */;
27503
+ return -1937940480 /* FunctionExcludes */;
27503
27504
  case 255 /* VariableDeclarationList */:
27504
- return 537460736 /* VariableDeclarationListExcludes */;
27505
+ return -2146893824 /* VariableDeclarationListExcludes */;
27505
27506
  case 257 /* ClassDeclaration */:
27506
27507
  case 226 /* ClassExpression */:
27507
- return 537010176 /* ClassExcludes */;
27508
+ return -2147344384 /* ClassExcludes */;
27508
27509
  case 171 /* Constructor */:
27509
- return 746405888 /* ConstructorExcludes */;
27510
+ return -1937948672 /* ConstructorExcludes */;
27510
27511
  case 167 /* PropertyDeclaration */:
27511
- return 671105024 /* PropertyExcludes */;
27512
+ return -2013249536 /* PropertyExcludes */;
27512
27513
  case 169 /* MethodDeclaration */:
27513
27514
  case 172 /* GetAccessor */:
27514
27515
  case 173 /* SetAccessor */:
27515
- return 679297024 /* MethodOrAccessorExcludes */;
27516
+ return -2005057536 /* MethodOrAccessorExcludes */;
27516
27517
  case 130 /* AnyKeyword */:
27517
27518
  case 147 /* NumberKeyword */:
27518
27519
  case 158 /* BigIntKeyword */:
@@ -27532,23 +27533,23 @@ var ts;
27532
27533
  case 259 /* TypeAliasDeclaration */:
27533
27534
  return -2 /* TypeExcludes */;
27534
27535
  case 205 /* ObjectLiteralExpression */:
27535
- return 537075712 /* ObjectLiteralExcludes */;
27536
+ return -2147278848 /* ObjectLiteralExcludes */;
27536
27537
  case 292 /* CatchClause */:
27537
- return 536936448 /* CatchClauseExcludes */;
27538
+ return -2147418112 /* CatchClauseExcludes */;
27538
27539
  case 201 /* ObjectBindingPattern */:
27539
27540
  case 202 /* ArrayBindingPattern */:
27540
- return 536903680 /* BindingPatternExcludes */;
27541
+ return -2147450880 /* BindingPatternExcludes */;
27541
27542
  case 211 /* TypeAssertionExpression */:
27542
27543
  case 229 /* AsExpression */:
27543
27544
  case 350 /* PartiallyEmittedExpression */:
27544
27545
  case 212 /* ParenthesizedExpression */:
27545
27546
  case 106 /* SuperKeyword */:
27546
- return 536870912 /* OuterExpressionExcludes */;
27547
+ return -2147483648 /* OuterExpressionExcludes */;
27547
27548
  case 206 /* PropertyAccessExpression */:
27548
27549
  case 207 /* ElementAccessExpression */:
27549
- return 536870912 /* PropertyAccessExcludes */;
27550
+ return -2147483648 /* PropertyAccessExcludes */;
27550
27551
  default:
27551
- return 536870912 /* NodeExcludes */;
27552
+ return -2147483648 /* NodeExcludes */;
27552
27553
  }
27553
27554
  }
27554
27555
  ts.getTransformFlagsSubtreeExclusions = getTransformFlagsSubtreeExclusions;
@@ -80794,7 +80795,7 @@ var ts;
80794
80795
  error(node.name, ts.Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name);
80795
80796
  }
80796
80797
  }
80797
- if (node.questionToken && ts.isBindingPattern(node.name) && func.body) {
80798
+ if ((node.questionToken || isJSDocOptionalParameter(node)) && ts.isBindingPattern(node.name) && func.body) {
80798
80799
  error(node, ts.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature);
80799
80800
  }
80800
80801
  if (node.name && ts.isIdentifier(node.name) && (node.name.escapedText === "this" || node.name.escapedText === "new")) {
@@ -96599,39 +96600,72 @@ var ts;
96599
96600
  function visitClassDeclaration(node) {
96600
96601
  if (!(ts.classOrConstructorParameterIsDecorated(node) || ts.childIsDecorated(node)))
96601
96602
  return ts.visitEachChild(node, visitor, context);
96602
- var classStatement = ts.hasDecorators(node) ?
96603
- createClassDeclarationHeadWithDecorators(node, node.name) :
96604
- createClassDeclarationHeadWithoutDecorators(node, node.name);
96605
- var statements = [classStatement];
96606
- // Write any decorators of the node.
96607
- addClassElementDecorationStatements(statements, node, /*isStatic*/ false);
96608
- addClassElementDecorationStatements(statements, node, /*isStatic*/ true);
96609
- addConstructorDecorationStatement(statements, node);
96603
+ var statements = ts.hasDecorators(node) ?
96604
+ transformClassDeclarationWithClassDecorators(node, node.name) :
96605
+ transformClassDeclarationWithoutClassDecorators(node, node.name);
96610
96606
  if (statements.length > 1) {
96611
96607
  // Add a DeclarationMarker as a marker for the end of the declaration
96612
96608
  statements.push(factory.createEndOfDeclarationMarker(node));
96613
- ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 4194304 /* HasEndOfDeclarationMarker */);
96609
+ ts.setEmitFlags(statements[0], ts.getEmitFlags(statements[0]) | 4194304 /* HasEndOfDeclarationMarker */);
96614
96610
  }
96615
96611
  return ts.singleOrMany(statements);
96616
96612
  }
96613
+ function decoratorContainsPrivateIdentifierInExpression(decorator) {
96614
+ return !!(decorator.transformFlags & 536870912 /* ContainsPrivateIdentifierInExpression */);
96615
+ }
96616
+ function parameterDecoratorsContainPrivateIdentifierInExpression(parameterDecorators) {
96617
+ return ts.some(parameterDecorators, decoratorContainsPrivateIdentifierInExpression);
96618
+ }
96619
+ function hasClassElementWithDecoratorContainingPrivateIdentifierInExpression(node) {
96620
+ for (var _i = 0, _a = node.members; _i < _a.length; _i++) {
96621
+ var member = _a[_i];
96622
+ if (!ts.canHaveDecorators(member))
96623
+ continue;
96624
+ var allDecorators = ts.getAllDecoratorsOfClassElement(member, node);
96625
+ if (ts.some(allDecorators === null || allDecorators === void 0 ? void 0 : allDecorators.decorators, decoratorContainsPrivateIdentifierInExpression))
96626
+ return true;
96627
+ if (ts.some(allDecorators === null || allDecorators === void 0 ? void 0 : allDecorators.parameters, parameterDecoratorsContainPrivateIdentifierInExpression))
96628
+ return true;
96629
+ }
96630
+ return false;
96631
+ }
96632
+ function transformDecoratorsOfClassElements(node, members) {
96633
+ var decorationStatements = [];
96634
+ addClassElementDecorationStatements(decorationStatements, node, /*isStatic*/ false);
96635
+ addClassElementDecorationStatements(decorationStatements, node, /*isStatic*/ true);
96636
+ if (hasClassElementWithDecoratorContainingPrivateIdentifierInExpression(node)) {
96637
+ members = ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray([], members, true), [
96638
+ factory.createClassStaticBlockDeclaration(factory.createBlock(decorationStatements, /*multiLine*/ true))
96639
+ ], false)), members);
96640
+ decorationStatements = undefined;
96641
+ }
96642
+ return { decorationStatements: decorationStatements, members: members };
96643
+ }
96617
96644
  /**
96618
96645
  * Transforms a non-decorated class declaration.
96619
96646
  *
96620
96647
  * @param node A ClassDeclaration node.
96621
96648
  * @param name The name of the class.
96622
96649
  */
96623
- function createClassDeclarationHeadWithoutDecorators(node, name) {
96650
+ function transformClassDeclarationWithoutClassDecorators(node, name) {
96624
96651
  // ${modifiers} class ${name} ${heritageClauses} {
96625
96652
  // ${members}
96626
96653
  // }
96627
- return factory.updateClassDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), name,
96628
- /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement));
96654
+ var _a;
96655
+ var modifiers = ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier);
96656
+ var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
96657
+ var members = ts.visitNodes(node.members, visitor, ts.isClassElement);
96658
+ var decorationStatements = [];
96659
+ (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements);
96660
+ var updated = factory.updateClassDeclaration(node, modifiers, name,
96661
+ /*typeParameters*/ undefined, heritageClauses, members);
96662
+ return ts.addRange([updated], decorationStatements);
96629
96663
  }
96630
96664
  /**
96631
96665
  * Transforms a decorated class declaration and appends the resulting statements. If
96632
96666
  * the class requires an alias to avoid issues with double-binding, the alias is returned.
96633
96667
  */
96634
- function createClassDeclarationHeadWithDecorators(node, name) {
96668
+ function transformClassDeclarationWithClassDecorators(node, name) {
96635
96669
  // When we emit an ES6 class that has a class decorator, we must tailor the
96636
96670
  // emit to certain specific cases.
96637
96671
  //
@@ -96717,6 +96751,7 @@ var ts;
96717
96751
  // | var C_1;
96718
96752
  // ---------------------------------------------------------------------
96719
96753
  //
96754
+ var _a;
96720
96755
  var location = ts.moveRangePastModifiers(node);
96721
96756
  var classAlias = getClassAliasIfNeeded(node);
96722
96757
  // When we transform to ES5/3 this will be moved inside an IIFE and should reference the name
@@ -96729,7 +96764,11 @@ var ts;
96729
96764
  // }
96730
96765
  var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
96731
96766
  var members = ts.visitNodes(node.members, visitor, ts.isClassElement);
96732
- var classExpression = factory.createClassExpression(/*modifiers*/ undefined, name, /*typeParameters*/ undefined, heritageClauses, members);
96767
+ var decorationStatements = [];
96768
+ (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements);
96769
+ var classExpression = factory.createClassExpression(
96770
+ /*modifiers*/ undefined, name,
96771
+ /*typeParameters*/ undefined, heritageClauses, members);
96733
96772
  ts.setOriginalNode(classExpression, node);
96734
96773
  ts.setTextRange(classExpression, location);
96735
96774
  // let ${name} = ${classExpression} where name is either declaredName if the class doesn't contain self-reference
@@ -96743,7 +96782,10 @@ var ts;
96743
96782
  ts.setOriginalNode(statement, node);
96744
96783
  ts.setTextRange(statement, location);
96745
96784
  ts.setCommentRange(statement, node);
96746
- return statement;
96785
+ var statements = [statement];
96786
+ ts.addRange(statements, decorationStatements);
96787
+ addConstructorDecorationStatement(statements, node);
96788
+ return statements;
96747
96789
  }
96748
96790
  function visitClassExpression(node) {
96749
96791
  // Legacy decorators were not supported on class expressions