@typescript-deploys/pr-build 5.3.0-pr-55471-8 → 5.3.0-pr-55503-5

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.
package/lib/typescript.js CHANGED
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.3";
38
- version = `${versionMajorMinor}.0-insiders.20230822`;
38
+ version = `${versionMajorMinor}.0-insiders.20230824`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -7257,7 +7257,6 @@ ${lanes.join("\n")}
7257
7257
  Module_0_can_only_be_default_imported_using_the_1_flag: diag(1259, 1 /* Error */, "Module_0_can_only_be_default_imported_using_the_1_flag_1259", "Module '{0}' can only be default-imported using the '{1}' flag"),
7258
7258
  Keywords_cannot_contain_escape_characters: diag(1260, 1 /* Error */, "Keywords_cannot_contain_escape_characters_1260", "Keywords cannot contain escape characters."),
7259
7259
  Already_included_file_name_0_differs_from_file_name_1_only_in_casing: diag(1261, 1 /* Error */, "Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261", "Already included file name '{0}' differs from file name '{1}' only in casing."),
7260
- Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module: diag(1262, 1 /* Error */, "Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262", "Identifier expected. '{0}' is a reserved word at the top-level of a module."),
7261
7260
  Declarations_with_initializers_cannot_also_have_definite_assignment_assertions: diag(1263, 1 /* Error */, "Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263", "Declarations with initializers cannot also have definite assignment assertions."),
7262
7261
  Declarations_with_definite_assignment_assertions_must_also_have_type_annotations: diag(1264, 1 /* Error */, "Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264", "Declarations with definite assignment assertions must also have type annotations."),
7263
7262
  A_rest_element_cannot_follow_another_rest_element: diag(1265, 1 /* Error */, "A_rest_element_cannot_follow_another_rest_element_1265", "A rest element cannot follow another rest element."),
@@ -13329,402 +13328,6 @@ ${lanes.join("\n")}
13329
13328
  const emitNode = node.emitNode;
13330
13329
  return emitNode && emitNode.internalFlags || 0;
13331
13330
  }
13332
- function getScriptTargetFeatures() {
13333
- return new Map(Object.entries({
13334
- Array: new Map(Object.entries({
13335
- es2015: [
13336
- "find",
13337
- "findIndex",
13338
- "fill",
13339
- "copyWithin",
13340
- "entries",
13341
- "keys",
13342
- "values"
13343
- ],
13344
- es2016: [
13345
- "includes"
13346
- ],
13347
- es2019: [
13348
- "flat",
13349
- "flatMap"
13350
- ],
13351
- es2022: [
13352
- "at"
13353
- ],
13354
- es2023: [
13355
- "findLastIndex",
13356
- "findLast"
13357
- ]
13358
- })),
13359
- Iterator: new Map(Object.entries({
13360
- es2015: emptyArray
13361
- })),
13362
- AsyncIterator: new Map(Object.entries({
13363
- es2015: emptyArray
13364
- })),
13365
- Atomics: new Map(Object.entries({
13366
- es2017: emptyArray
13367
- })),
13368
- SharedArrayBuffer: new Map(Object.entries({
13369
- es2017: emptyArray
13370
- })),
13371
- AsyncIterable: new Map(Object.entries({
13372
- es2018: emptyArray
13373
- })),
13374
- AsyncIterableIterator: new Map(Object.entries({
13375
- es2018: emptyArray
13376
- })),
13377
- AsyncGenerator: new Map(Object.entries({
13378
- es2018: emptyArray
13379
- })),
13380
- AsyncGeneratorFunction: new Map(Object.entries({
13381
- es2018: emptyArray
13382
- })),
13383
- RegExp: new Map(Object.entries({
13384
- es2015: [
13385
- "flags",
13386
- "sticky",
13387
- "unicode"
13388
- ],
13389
- es2018: [
13390
- "dotAll"
13391
- ]
13392
- })),
13393
- Reflect: new Map(Object.entries({
13394
- es2015: [
13395
- "apply",
13396
- "construct",
13397
- "defineProperty",
13398
- "deleteProperty",
13399
- "get",
13400
- " getOwnPropertyDescriptor",
13401
- "getPrototypeOf",
13402
- "has",
13403
- "isExtensible",
13404
- "ownKeys",
13405
- "preventExtensions",
13406
- "set",
13407
- "setPrototypeOf"
13408
- ]
13409
- })),
13410
- ArrayConstructor: new Map(Object.entries({
13411
- es2015: [
13412
- "from",
13413
- "of"
13414
- ]
13415
- })),
13416
- ObjectConstructor: new Map(Object.entries({
13417
- es2015: [
13418
- "assign",
13419
- "getOwnPropertySymbols",
13420
- "keys",
13421
- "is",
13422
- "setPrototypeOf"
13423
- ],
13424
- es2017: [
13425
- "values",
13426
- "entries",
13427
- "getOwnPropertyDescriptors"
13428
- ],
13429
- es2019: [
13430
- "fromEntries"
13431
- ],
13432
- es2022: [
13433
- "hasOwn"
13434
- ]
13435
- })),
13436
- NumberConstructor: new Map(Object.entries({
13437
- es2015: [
13438
- "isFinite",
13439
- "isInteger",
13440
- "isNaN",
13441
- "isSafeInteger",
13442
- "parseFloat",
13443
- "parseInt"
13444
- ]
13445
- })),
13446
- Math: new Map(Object.entries({
13447
- es2015: [
13448
- "clz32",
13449
- "imul",
13450
- "sign",
13451
- "log10",
13452
- "log2",
13453
- "log1p",
13454
- "expm1",
13455
- "cosh",
13456
- "sinh",
13457
- "tanh",
13458
- "acosh",
13459
- "asinh",
13460
- "atanh",
13461
- "hypot",
13462
- "trunc",
13463
- "fround",
13464
- "cbrt"
13465
- ]
13466
- })),
13467
- Map: new Map(Object.entries({
13468
- es2015: [
13469
- "entries",
13470
- "keys",
13471
- "values"
13472
- ]
13473
- })),
13474
- Set: new Map(Object.entries({
13475
- es2015: [
13476
- "entries",
13477
- "keys",
13478
- "values"
13479
- ]
13480
- })),
13481
- PromiseConstructor: new Map(Object.entries({
13482
- es2015: [
13483
- "all",
13484
- "race",
13485
- "reject",
13486
- "resolve"
13487
- ],
13488
- es2020: [
13489
- "allSettled"
13490
- ],
13491
- es2021: [
13492
- "any"
13493
- ]
13494
- })),
13495
- Symbol: new Map(Object.entries({
13496
- es2015: [
13497
- "for",
13498
- "keyFor"
13499
- ],
13500
- es2019: [
13501
- "description"
13502
- ]
13503
- })),
13504
- WeakMap: new Map(Object.entries({
13505
- es2015: [
13506
- "entries",
13507
- "keys",
13508
- "values"
13509
- ]
13510
- })),
13511
- WeakSet: new Map(Object.entries({
13512
- es2015: [
13513
- "entries",
13514
- "keys",
13515
- "values"
13516
- ]
13517
- })),
13518
- String: new Map(Object.entries({
13519
- es2015: [
13520
- "codePointAt",
13521
- "includes",
13522
- "endsWith",
13523
- "normalize",
13524
- "repeat",
13525
- "startsWith",
13526
- "anchor",
13527
- "big",
13528
- "blink",
13529
- "bold",
13530
- "fixed",
13531
- "fontcolor",
13532
- "fontsize",
13533
- "italics",
13534
- "link",
13535
- "small",
13536
- "strike",
13537
- "sub",
13538
- "sup"
13539
- ],
13540
- es2017: [
13541
- "padStart",
13542
- "padEnd"
13543
- ],
13544
- es2019: [
13545
- "trimStart",
13546
- "trimEnd",
13547
- "trimLeft",
13548
- "trimRight"
13549
- ],
13550
- es2020: [
13551
- "matchAll"
13552
- ],
13553
- es2021: [
13554
- "replaceAll"
13555
- ],
13556
- es2022: [
13557
- "at"
13558
- ]
13559
- })),
13560
- StringConstructor: new Map(Object.entries({
13561
- es2015: [
13562
- "fromCodePoint",
13563
- "raw"
13564
- ]
13565
- })),
13566
- DateTimeFormat: new Map(Object.entries({
13567
- es2017: [
13568
- "formatToParts"
13569
- ]
13570
- })),
13571
- Promise: new Map(Object.entries({
13572
- es2015: emptyArray,
13573
- es2018: [
13574
- "finally"
13575
- ]
13576
- })),
13577
- RegExpMatchArray: new Map(Object.entries({
13578
- es2018: [
13579
- "groups"
13580
- ]
13581
- })),
13582
- RegExpExecArray: new Map(Object.entries({
13583
- es2018: [
13584
- "groups"
13585
- ]
13586
- })),
13587
- Intl: new Map(Object.entries({
13588
- es2018: [
13589
- "PluralRules"
13590
- ]
13591
- })),
13592
- NumberFormat: new Map(Object.entries({
13593
- es2018: [
13594
- "formatToParts"
13595
- ]
13596
- })),
13597
- SymbolConstructor: new Map(Object.entries({
13598
- es2020: [
13599
- "matchAll"
13600
- ]
13601
- })),
13602
- DataView: new Map(Object.entries({
13603
- es2020: [
13604
- "setBigInt64",
13605
- "setBigUint64",
13606
- "getBigInt64",
13607
- "getBigUint64"
13608
- ]
13609
- })),
13610
- BigInt: new Map(Object.entries({
13611
- es2020: emptyArray
13612
- })),
13613
- RelativeTimeFormat: new Map(Object.entries({
13614
- es2020: [
13615
- "format",
13616
- "formatToParts",
13617
- "resolvedOptions"
13618
- ]
13619
- })),
13620
- Int8Array: new Map(Object.entries({
13621
- es2022: [
13622
- "at"
13623
- ],
13624
- es2023: [
13625
- "findLastIndex",
13626
- "findLast"
13627
- ]
13628
- })),
13629
- Uint8Array: new Map(Object.entries({
13630
- es2022: [
13631
- "at"
13632
- ],
13633
- es2023: [
13634
- "findLastIndex",
13635
- "findLast"
13636
- ]
13637
- })),
13638
- Uint8ClampedArray: new Map(Object.entries({
13639
- es2022: [
13640
- "at"
13641
- ],
13642
- es2023: [
13643
- "findLastIndex",
13644
- "findLast"
13645
- ]
13646
- })),
13647
- Int16Array: new Map(Object.entries({
13648
- es2022: [
13649
- "at"
13650
- ],
13651
- es2023: [
13652
- "findLastIndex",
13653
- "findLast"
13654
- ]
13655
- })),
13656
- Uint16Array: new Map(Object.entries({
13657
- es2022: [
13658
- "at"
13659
- ],
13660
- es2023: [
13661
- "findLastIndex",
13662
- "findLast"
13663
- ]
13664
- })),
13665
- Int32Array: new Map(Object.entries({
13666
- es2022: [
13667
- "at"
13668
- ],
13669
- es2023: [
13670
- "findLastIndex",
13671
- "findLast"
13672
- ]
13673
- })),
13674
- Uint32Array: new Map(Object.entries({
13675
- es2022: [
13676
- "at"
13677
- ],
13678
- es2023: [
13679
- "findLastIndex",
13680
- "findLast"
13681
- ]
13682
- })),
13683
- Float32Array: new Map(Object.entries({
13684
- es2022: [
13685
- "at"
13686
- ],
13687
- es2023: [
13688
- "findLastIndex",
13689
- "findLast"
13690
- ]
13691
- })),
13692
- Float64Array: new Map(Object.entries({
13693
- es2022: [
13694
- "at"
13695
- ],
13696
- es2023: [
13697
- "findLastIndex",
13698
- "findLast"
13699
- ]
13700
- })),
13701
- BigInt64Array: new Map(Object.entries({
13702
- es2020: emptyArray,
13703
- es2022: [
13704
- "at"
13705
- ],
13706
- es2023: [
13707
- "findLastIndex",
13708
- "findLast"
13709
- ]
13710
- })),
13711
- BigUint64Array: new Map(Object.entries({
13712
- es2020: emptyArray,
13713
- es2022: [
13714
- "at"
13715
- ],
13716
- es2023: [
13717
- "findLastIndex",
13718
- "findLast"
13719
- ]
13720
- })),
13721
- Error: new Map(Object.entries({
13722
- es2022: [
13723
- "cause"
13724
- ]
13725
- }))
13726
- }));
13727
- }
13728
13331
  function getLiteralText(node, sourceFile, flags) {
13729
13332
  if (sourceFile && canUseOriginalText(node, flags)) {
13730
13333
  return getSourceTextOfNodeFromSourceFile(sourceFile, node);
@@ -19303,7 +18906,7 @@ ${lanes.join("\n")}
19303
18906
  }
19304
18907
  return Debug.fail();
19305
18908
  }
19306
- var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashLibReferenceRegEx, fullTripleSlashAMDReferencePathRegEx, fullTripleSlashAMDModuleRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, extensionsNotSupportingExtensionlessResolution, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
18909
+ var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, getScriptTargetFeatures, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashLibReferenceRegEx, fullTripleSlashAMDReferencePathRegEx, fullTripleSlashAMDModuleRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, extensionsNotSupportingExtensionlessResolution, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
19307
18910
  var init_utilities = __esm({
19308
18911
  "src/compiler/utilities.ts"() {
19309
18912
  "use strict";
@@ -19313,6 +18916,402 @@ ${lanes.join("\n")}
19313
18916
  defaultMaximumTruncationLength = 160;
19314
18917
  noTruncationMaximumTruncationLength = 1e6;
19315
18918
  stringWriter = createSingleLineStringWriter();
18919
+ getScriptTargetFeatures = /* @__PURE__ */ memoize(
18920
+ () => new Map(Object.entries({
18921
+ Array: new Map(Object.entries({
18922
+ es2015: [
18923
+ "find",
18924
+ "findIndex",
18925
+ "fill",
18926
+ "copyWithin",
18927
+ "entries",
18928
+ "keys",
18929
+ "values"
18930
+ ],
18931
+ es2016: [
18932
+ "includes"
18933
+ ],
18934
+ es2019: [
18935
+ "flat",
18936
+ "flatMap"
18937
+ ],
18938
+ es2022: [
18939
+ "at"
18940
+ ],
18941
+ es2023: [
18942
+ "findLastIndex",
18943
+ "findLast"
18944
+ ]
18945
+ })),
18946
+ Iterator: new Map(Object.entries({
18947
+ es2015: emptyArray
18948
+ })),
18949
+ AsyncIterator: new Map(Object.entries({
18950
+ es2015: emptyArray
18951
+ })),
18952
+ Atomics: new Map(Object.entries({
18953
+ es2017: emptyArray
18954
+ })),
18955
+ SharedArrayBuffer: new Map(Object.entries({
18956
+ es2017: emptyArray
18957
+ })),
18958
+ AsyncIterable: new Map(Object.entries({
18959
+ es2018: emptyArray
18960
+ })),
18961
+ AsyncIterableIterator: new Map(Object.entries({
18962
+ es2018: emptyArray
18963
+ })),
18964
+ AsyncGenerator: new Map(Object.entries({
18965
+ es2018: emptyArray
18966
+ })),
18967
+ AsyncGeneratorFunction: new Map(Object.entries({
18968
+ es2018: emptyArray
18969
+ })),
18970
+ RegExp: new Map(Object.entries({
18971
+ es2015: [
18972
+ "flags",
18973
+ "sticky",
18974
+ "unicode"
18975
+ ],
18976
+ es2018: [
18977
+ "dotAll"
18978
+ ]
18979
+ })),
18980
+ Reflect: new Map(Object.entries({
18981
+ es2015: [
18982
+ "apply",
18983
+ "construct",
18984
+ "defineProperty",
18985
+ "deleteProperty",
18986
+ "get",
18987
+ "getOwnPropertyDescriptor",
18988
+ "getPrototypeOf",
18989
+ "has",
18990
+ "isExtensible",
18991
+ "ownKeys",
18992
+ "preventExtensions",
18993
+ "set",
18994
+ "setPrototypeOf"
18995
+ ]
18996
+ })),
18997
+ ArrayConstructor: new Map(Object.entries({
18998
+ es2015: [
18999
+ "from",
19000
+ "of"
19001
+ ]
19002
+ })),
19003
+ ObjectConstructor: new Map(Object.entries({
19004
+ es2015: [
19005
+ "assign",
19006
+ "getOwnPropertySymbols",
19007
+ "keys",
19008
+ "is",
19009
+ "setPrototypeOf"
19010
+ ],
19011
+ es2017: [
19012
+ "values",
19013
+ "entries",
19014
+ "getOwnPropertyDescriptors"
19015
+ ],
19016
+ es2019: [
19017
+ "fromEntries"
19018
+ ],
19019
+ es2022: [
19020
+ "hasOwn"
19021
+ ]
19022
+ })),
19023
+ NumberConstructor: new Map(Object.entries({
19024
+ es2015: [
19025
+ "isFinite",
19026
+ "isInteger",
19027
+ "isNaN",
19028
+ "isSafeInteger",
19029
+ "parseFloat",
19030
+ "parseInt"
19031
+ ]
19032
+ })),
19033
+ Math: new Map(Object.entries({
19034
+ es2015: [
19035
+ "clz32",
19036
+ "imul",
19037
+ "sign",
19038
+ "log10",
19039
+ "log2",
19040
+ "log1p",
19041
+ "expm1",
19042
+ "cosh",
19043
+ "sinh",
19044
+ "tanh",
19045
+ "acosh",
19046
+ "asinh",
19047
+ "atanh",
19048
+ "hypot",
19049
+ "trunc",
19050
+ "fround",
19051
+ "cbrt"
19052
+ ]
19053
+ })),
19054
+ Map: new Map(Object.entries({
19055
+ es2015: [
19056
+ "entries",
19057
+ "keys",
19058
+ "values"
19059
+ ]
19060
+ })),
19061
+ Set: new Map(Object.entries({
19062
+ es2015: [
19063
+ "entries",
19064
+ "keys",
19065
+ "values"
19066
+ ]
19067
+ })),
19068
+ PromiseConstructor: new Map(Object.entries({
19069
+ es2015: [
19070
+ "all",
19071
+ "race",
19072
+ "reject",
19073
+ "resolve"
19074
+ ],
19075
+ es2020: [
19076
+ "allSettled"
19077
+ ],
19078
+ es2021: [
19079
+ "any"
19080
+ ]
19081
+ })),
19082
+ Symbol: new Map(Object.entries({
19083
+ es2015: [
19084
+ "for",
19085
+ "keyFor"
19086
+ ],
19087
+ es2019: [
19088
+ "description"
19089
+ ]
19090
+ })),
19091
+ WeakMap: new Map(Object.entries({
19092
+ es2015: [
19093
+ "entries",
19094
+ "keys",
19095
+ "values"
19096
+ ]
19097
+ })),
19098
+ WeakSet: new Map(Object.entries({
19099
+ es2015: [
19100
+ "entries",
19101
+ "keys",
19102
+ "values"
19103
+ ]
19104
+ })),
19105
+ String: new Map(Object.entries({
19106
+ es2015: [
19107
+ "codePointAt",
19108
+ "includes",
19109
+ "endsWith",
19110
+ "normalize",
19111
+ "repeat",
19112
+ "startsWith",
19113
+ "anchor",
19114
+ "big",
19115
+ "blink",
19116
+ "bold",
19117
+ "fixed",
19118
+ "fontcolor",
19119
+ "fontsize",
19120
+ "italics",
19121
+ "link",
19122
+ "small",
19123
+ "strike",
19124
+ "sub",
19125
+ "sup"
19126
+ ],
19127
+ es2017: [
19128
+ "padStart",
19129
+ "padEnd"
19130
+ ],
19131
+ es2019: [
19132
+ "trimStart",
19133
+ "trimEnd",
19134
+ "trimLeft",
19135
+ "trimRight"
19136
+ ],
19137
+ es2020: [
19138
+ "matchAll"
19139
+ ],
19140
+ es2021: [
19141
+ "replaceAll"
19142
+ ],
19143
+ es2022: [
19144
+ "at"
19145
+ ]
19146
+ })),
19147
+ StringConstructor: new Map(Object.entries({
19148
+ es2015: [
19149
+ "fromCodePoint",
19150
+ "raw"
19151
+ ]
19152
+ })),
19153
+ DateTimeFormat: new Map(Object.entries({
19154
+ es2017: [
19155
+ "formatToParts"
19156
+ ]
19157
+ })),
19158
+ Promise: new Map(Object.entries({
19159
+ es2015: emptyArray,
19160
+ es2018: [
19161
+ "finally"
19162
+ ]
19163
+ })),
19164
+ RegExpMatchArray: new Map(Object.entries({
19165
+ es2018: [
19166
+ "groups"
19167
+ ]
19168
+ })),
19169
+ RegExpExecArray: new Map(Object.entries({
19170
+ es2018: [
19171
+ "groups"
19172
+ ]
19173
+ })),
19174
+ Intl: new Map(Object.entries({
19175
+ es2018: [
19176
+ "PluralRules"
19177
+ ]
19178
+ })),
19179
+ NumberFormat: new Map(Object.entries({
19180
+ es2018: [
19181
+ "formatToParts"
19182
+ ]
19183
+ })),
19184
+ SymbolConstructor: new Map(Object.entries({
19185
+ es2020: [
19186
+ "matchAll"
19187
+ ]
19188
+ })),
19189
+ DataView: new Map(Object.entries({
19190
+ es2020: [
19191
+ "setBigInt64",
19192
+ "setBigUint64",
19193
+ "getBigInt64",
19194
+ "getBigUint64"
19195
+ ]
19196
+ })),
19197
+ BigInt: new Map(Object.entries({
19198
+ es2020: emptyArray
19199
+ })),
19200
+ RelativeTimeFormat: new Map(Object.entries({
19201
+ es2020: [
19202
+ "format",
19203
+ "formatToParts",
19204
+ "resolvedOptions"
19205
+ ]
19206
+ })),
19207
+ Int8Array: new Map(Object.entries({
19208
+ es2022: [
19209
+ "at"
19210
+ ],
19211
+ es2023: [
19212
+ "findLastIndex",
19213
+ "findLast"
19214
+ ]
19215
+ })),
19216
+ Uint8Array: new Map(Object.entries({
19217
+ es2022: [
19218
+ "at"
19219
+ ],
19220
+ es2023: [
19221
+ "findLastIndex",
19222
+ "findLast"
19223
+ ]
19224
+ })),
19225
+ Uint8ClampedArray: new Map(Object.entries({
19226
+ es2022: [
19227
+ "at"
19228
+ ],
19229
+ es2023: [
19230
+ "findLastIndex",
19231
+ "findLast"
19232
+ ]
19233
+ })),
19234
+ Int16Array: new Map(Object.entries({
19235
+ es2022: [
19236
+ "at"
19237
+ ],
19238
+ es2023: [
19239
+ "findLastIndex",
19240
+ "findLast"
19241
+ ]
19242
+ })),
19243
+ Uint16Array: new Map(Object.entries({
19244
+ es2022: [
19245
+ "at"
19246
+ ],
19247
+ es2023: [
19248
+ "findLastIndex",
19249
+ "findLast"
19250
+ ]
19251
+ })),
19252
+ Int32Array: new Map(Object.entries({
19253
+ es2022: [
19254
+ "at"
19255
+ ],
19256
+ es2023: [
19257
+ "findLastIndex",
19258
+ "findLast"
19259
+ ]
19260
+ })),
19261
+ Uint32Array: new Map(Object.entries({
19262
+ es2022: [
19263
+ "at"
19264
+ ],
19265
+ es2023: [
19266
+ "findLastIndex",
19267
+ "findLast"
19268
+ ]
19269
+ })),
19270
+ Float32Array: new Map(Object.entries({
19271
+ es2022: [
19272
+ "at"
19273
+ ],
19274
+ es2023: [
19275
+ "findLastIndex",
19276
+ "findLast"
19277
+ ]
19278
+ })),
19279
+ Float64Array: new Map(Object.entries({
19280
+ es2022: [
19281
+ "at"
19282
+ ],
19283
+ es2023: [
19284
+ "findLastIndex",
19285
+ "findLast"
19286
+ ]
19287
+ })),
19288
+ BigInt64Array: new Map(Object.entries({
19289
+ es2020: emptyArray,
19290
+ es2022: [
19291
+ "at"
19292
+ ],
19293
+ es2023: [
19294
+ "findLastIndex",
19295
+ "findLast"
19296
+ ]
19297
+ })),
19298
+ BigUint64Array: new Map(Object.entries({
19299
+ es2020: emptyArray,
19300
+ es2022: [
19301
+ "at"
19302
+ ],
19303
+ es2023: [
19304
+ "findLastIndex",
19305
+ "findLast"
19306
+ ]
19307
+ })),
19308
+ Error: new Map(Object.entries({
19309
+ es2022: [
19310
+ "cause"
19311
+ ]
19312
+ }))
19313
+ }))
19314
+ );
19316
19315
  GetLiteralTextFlags = /* @__PURE__ */ ((GetLiteralTextFlags2) => {
19317
19316
  GetLiteralTextFlags2[GetLiteralTextFlags2["None"] = 0] = "None";
19318
19317
  GetLiteralTextFlags2[GetLiteralTextFlags2["NeverAsciiEscape"] = 1] = "NeverAsciiEscape";
@@ -32436,7 +32435,9 @@ ${lanes.join("\n")}
32436
32435
  let dotDotDotToken;
32437
32436
  let expression;
32438
32437
  if (token() !== 20 /* CloseBraceToken */) {
32439
- dotDotDotToken = parseOptionalToken(26 /* DotDotDotToken */);
32438
+ if (!inExpressionContext) {
32439
+ dotDotDotToken = parseOptionalToken(26 /* DotDotDotToken */);
32440
+ }
32440
32441
  expression = parseExpression();
32441
32442
  }
32442
32443
  if (inExpressionContext) {
@@ -43403,12 +43404,8 @@ ${lanes.join("\n")}
43403
43404
  }
43404
43405
  if (inStrictMode && originalKeywordKind >= 119 /* FirstFutureReservedWord */ && originalKeywordKind <= 127 /* LastFutureReservedWord */) {
43405
43406
  file.bindDiagnostics.push(createDiagnosticForNode2(node, getStrictModeIdentifierMessage(node), declarationNameToString(node)));
43406
- } else if (originalKeywordKind === 135 /* AwaitKeyword */) {
43407
- if (isExternalModule(file) && isInTopLevelContext(node)) {
43408
- file.bindDiagnostics.push(createDiagnosticForNode2(node, Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module, declarationNameToString(node)));
43409
- } else if (node.flags & 65536 /* AwaitContext */) {
43410
- file.bindDiagnostics.push(createDiagnosticForNode2(node, Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, declarationNameToString(node)));
43411
- }
43407
+ } else if (originalKeywordKind === 135 /* AwaitKeyword */ && (node.flags & 65536 /* AwaitContext */ || isExternalModule(file))) {
43408
+ file.bindDiagnostics.push(createDiagnosticForNode2(node, Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, declarationNameToString(node)));
43412
43409
  } else if (originalKeywordKind === 127 /* YieldKeyword */ && node.flags & 16384 /* YieldContext */) {
43413
43410
  file.bindDiagnostics.push(createDiagnosticForNode2(node, Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, declarationNameToString(node)));
43414
43411
  }
@@ -46887,6 +46884,9 @@ ${lanes.join("\n")}
46887
46884
  const sourceFiles = host.getSourceFiles();
46888
46885
  return sourceFiles.indexOf(declarationFile) <= sourceFiles.indexOf(useFile);
46889
46886
  }
46887
+ if (!!(usage.flags & 16777216 /* JSDoc */) || isInTypeQuery(usage) || isInAmbientOrTypeNode(usage)) {
46888
+ return true;
46889
+ }
46890
46890
  if (declaration.pos <= usage.pos && !(isPropertyDeclaration(declaration) && isThisProperty(usage.parent) && !declaration.initializer && !declaration.exclamationToken)) {
46891
46891
  if (declaration.kind === 208 /* BindingElement */) {
46892
46892
  const errorBindingElement = getAncestor(usage, 208 /* BindingElement */);
@@ -46916,9 +46916,6 @@ ${lanes.join("\n")}
46916
46916
  if (usage.kind === 277 /* ExportAssignment */ && usage.isExportEquals) {
46917
46917
  return true;
46918
46918
  }
46919
- if (!!(usage.flags & 16777216 /* JSDoc */) || isInTypeQuery(usage) || isInAmbientOrTypeNode(usage)) {
46920
- return true;
46921
- }
46922
46919
  if (isUsedInFunctionOrInstanceProperty(usage, declaration)) {
46923
46920
  if (emitStandardClassFields && getContainingClass(declaration) && (isPropertyDeclaration(declaration) || isParameterPropertyDeclaration(declaration, declaration.parent))) {
46924
46921
  return !isPropertyImmediatelyReferencedWithinDeclaration(
@@ -53128,8 +53125,8 @@ ${lanes.join("\n")}
53128
53125
  });
53129
53126
  }
53130
53127
  });
53131
- Debug.assert(setter && isFunctionLikeDeclaration(setter));
53132
- const paramSymbol = getSignatureFromDeclaration(setter).parameters[0];
53128
+ Debug.assert(!!setter);
53129
+ const paramSymbol = isFunctionLikeDeclaration(setter) ? getSignatureFromDeclaration(setter).parameters[0] : void 0;
53133
53130
  result.push(setTextRange(
53134
53131
  factory.createSetAccessorDeclaration(
53135
53132
  factory.createModifiersFromModifierFlags(flag),
@@ -53905,7 +53902,7 @@ ${lanes.join("\n")}
53905
53902
  const pattern = declaration.parent;
53906
53903
  if (strictNullChecks && declaration.flags & 33554432 /* Ambient */ && isParameterDeclaration(declaration)) {
53907
53904
  parentType = getNonNullableType(parentType);
53908
- } else if (strictNullChecks && pattern.parent.initializer && !(getTypeFacts(getTypeOfInitializer(pattern.parent.initializer)) & 65536 /* EQUndefined */)) {
53905
+ } else if (strictNullChecks && pattern.parent.initializer && !hasTypeFacts(getTypeOfInitializer(pattern.parent.initializer), 65536 /* EQUndefined */)) {
53909
53906
  parentType = getTypeWithFacts(parentType, 524288 /* NEUndefined */);
53910
53907
  }
53911
53908
  let type;
@@ -53948,7 +53945,7 @@ ${lanes.join("\n")}
53948
53945
  return type;
53949
53946
  }
53950
53947
  if (getEffectiveTypeAnnotationNode(walkUpBindingElementsAndPatterns(declaration))) {
53951
- return strictNullChecks && !(getTypeFacts(checkDeclarationInitializer(declaration, 0 /* Normal */)) & 16777216 /* IsUndefined */) ? getNonUndefinedType(type) : type;
53948
+ return strictNullChecks && !hasTypeFacts(checkDeclarationInitializer(declaration, 0 /* Normal */), 16777216 /* IsUndefined */) ? getNonUndefinedType(type) : type;
53952
53949
  }
53953
53950
  return widenTypeInferredFromInitializer(declaration, getUnionType([getNonUndefinedType(type), checkDeclarationInitializer(declaration, 0 /* Normal */)], 2 /* Subtype */));
53954
53951
  }
@@ -59550,7 +59547,7 @@ ${lanes.join("\n")}
59550
59547
  }
59551
59548
  function getLiteralTypeFromProperties(type, include, includeOrigin) {
59552
59549
  const origin = includeOrigin && (getObjectFlags(type) & (3 /* ClassOrInterface */ | 4 /* Reference */) || type.aliasSymbol) ? createOriginIndexType(type) : void 0;
59553
- const propertyTypes = map(getPropertiesOfType(type), (prop) => prop.flags & 4194304 /* Prototype */ ? neverType : getLiteralTypeFromProperty(prop, include));
59550
+ const propertyTypes = map(getPropertiesOfType(type), (prop) => getLiteralTypeFromProperty(prop, include));
59554
59551
  const indexKeyTypes = map(getIndexInfosOfType(type), (info) => info !== enumNumberIndexInfo && isKeyTypeIncluded(info.keyType, include) ? info.keyType === stringType && include & 8 /* Number */ ? stringOrNumberType : info.keyType : neverType);
59555
59552
  return getUnionType(
59556
59553
  concatenate(propertyTypes, indexKeyTypes),
@@ -62056,7 +62053,7 @@ ${lanes.join("\n")}
62056
62053
  if (sourceType && targetType) {
62057
62054
  const sourceSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
62058
62055
  const targetSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
62059
- const callbacks = sourceSig && targetSig && !getTypePredicateOfSignature(sourceSig) && !getTypePredicateOfSignature(targetSig) && (getTypeFacts(sourceType) & 50331648 /* IsUndefinedOrNull */) === (getTypeFacts(targetType) & 50331648 /* IsUndefinedOrNull */);
62056
+ const callbacks = sourceSig && targetSig && !getTypePredicateOfSignature(sourceSig) && !getTypePredicateOfSignature(targetSig) && getTypeFacts(sourceType, 50331648 /* IsUndefinedOrNull */) === getTypeFacts(targetType, 50331648 /* IsUndefinedOrNull */);
62060
62057
  let related = callbacks ? compareSignaturesRelated(targetSig, sourceSig, checkMode & 8 /* StrictArity */ | (strictVariance ? 2 /* StrictCallback */ : 1 /* BivariantCallback */), reportErrors2, errorReporter, incompatibleErrorReporter, compareTypes, reportUnreliableMarkers) : !(checkMode & 3 /* Callback */) && !strictVariance && compareTypes(
62061
62058
  sourceType,
62062
62059
  targetType,
@@ -65213,7 +65210,7 @@ ${lanes.join("\n")}
65213
65210
  return value.base10Value === "0";
65214
65211
  }
65215
65212
  function removeDefinitelyFalsyTypes(type) {
65216
- return filterType(type, (t) => !!(getTypeFacts(t) & 4194304 /* Truthy */));
65213
+ return filterType(type, (t) => hasTypeFacts(t, 4194304 /* Truthy */));
65217
65214
  }
65218
65215
  function extractDefinitelyFalsyTypes(type) {
65219
65216
  return mapType(type, getDefinitelyFalsyPartOfType);
@@ -66489,12 +66486,14 @@ ${lanes.join("\n")}
66489
66486
  }
66490
66487
  function inferFromSignatures(source, target, kind) {
66491
66488
  const sourceSignatures = getSignaturesOfType(source, kind);
66492
- const targetSignatures = getSignaturesOfType(target, kind);
66493
66489
  const sourceLen = sourceSignatures.length;
66494
- const targetLen = targetSignatures.length;
66495
- const len = sourceLen < targetLen ? sourceLen : targetLen;
66496
- for (let i = 0; i < len; i++) {
66497
- inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]));
66490
+ if (sourceLen > 0) {
66491
+ const targetSignatures = getSignaturesOfType(target, kind);
66492
+ const targetLen = targetSignatures.length;
66493
+ for (let i = 0; i < targetLen; i++) {
66494
+ const sourceIndex = Math.max(sourceLen - targetLen + i, 0);
66495
+ inferFromSignature(getBaseSignature(sourceSignatures[sourceIndex]), getErasedSignature(targetSignatures[i]));
66496
+ }
66498
66497
  }
66499
66498
  }
66500
66499
  function inferFromSignature(source, target) {
@@ -66956,7 +66955,13 @@ ${lanes.join("\n")}
66956
66955
  const resolved = resolveStructuredTypeMembers(type);
66957
66956
  return !!(resolved.callSignatures.length || resolved.constructSignatures.length || resolved.members.get("bind") && isTypeSubtypeOf(type, globalFunctionType));
66958
66957
  }
66959
- function getTypeFacts(type) {
66958
+ function getTypeFacts(type, mask2) {
66959
+ return getTypeFactsWorker(type, mask2) & mask2;
66960
+ }
66961
+ function hasTypeFacts(type, mask2) {
66962
+ return getTypeFacts(type, mask2) !== 0;
66963
+ }
66964
+ function getTypeFactsWorker(type, callerOnlyNeeds) {
66960
66965
  if (type.flags & (2097152 /* Intersection */ | 465829888 /* Instantiable */)) {
66961
66966
  type = getBaseConstraintOfType(type) || unknownType;
66962
66967
  }
@@ -66989,6 +66994,10 @@ ${lanes.join("\n")}
66989
66994
  return strictNullChecks ? type === falseType || type === regularFalseType ? 12121864 /* FalseStrictFacts */ : 7927560 /* TrueStrictFacts */ : type === falseType || type === regularFalseType ? 12580616 /* FalseFacts */ : 16774920 /* TrueFacts */;
66990
66995
  }
66991
66996
  if (flags & 524288 /* Object */) {
66997
+ const possibleFacts = strictNullChecks ? 83427327 /* EmptyObjectStrictFacts */ | 7880640 /* FunctionStrictFacts */ | 7888800 /* ObjectStrictFacts */ : 83886079 /* EmptyObjectFacts */ | 16728e3 /* FunctionFacts */ | 16736160 /* ObjectFacts */;
66998
+ if ((callerOnlyNeeds & possibleFacts) === 0) {
66999
+ return 0;
67000
+ }
66992
67001
  return getObjectFlags(type) & 16 /* Anonymous */ && isEmptyObjectType(type) ? strictNullChecks ? 83427327 /* EmptyObjectStrictFacts */ : 83886079 /* EmptyObjectFacts */ : isFunctionObjectType(type) ? strictNullChecks ? 7880640 /* FunctionStrictFacts */ : 16728e3 /* FunctionFacts */ : strictNullChecks ? 7888800 /* ObjectStrictFacts */ : 16736160 /* ObjectFacts */;
66993
67002
  }
66994
67003
  if (flags & 16384 /* Void */) {
@@ -67010,20 +67019,20 @@ ${lanes.join("\n")}
67010
67019
  return 0 /* None */;
67011
67020
  }
67012
67021
  if (flags & 1048576 /* Union */) {
67013
- return reduceLeft(type.types, (facts, t) => facts | getTypeFacts(t), 0 /* None */);
67022
+ return reduceLeft(type.types, (facts, t) => facts | getTypeFactsWorker(t, callerOnlyNeeds), 0 /* None */);
67014
67023
  }
67015
67024
  if (flags & 2097152 /* Intersection */) {
67016
- return getIntersectionTypeFacts(type);
67025
+ return getIntersectionTypeFacts(type, callerOnlyNeeds);
67017
67026
  }
67018
67027
  return 83886079 /* UnknownFacts */;
67019
67028
  }
67020
- function getIntersectionTypeFacts(type) {
67029
+ function getIntersectionTypeFacts(type, callerOnlyNeeds) {
67021
67030
  const ignoreObjects = maybeTypeOfKind(type, 402784252 /* Primitive */);
67022
67031
  let oredFacts = 0 /* None */;
67023
67032
  let andedFacts = 134217727 /* All */;
67024
67033
  for (const t of type.types) {
67025
67034
  if (!(ignoreObjects && t.flags & 524288 /* Object */)) {
67026
- const f = getTypeFacts(t);
67035
+ const f = getTypeFactsWorker(t, callerOnlyNeeds);
67027
67036
  oredFacts |= f;
67028
67037
  andedFacts &= f;
67029
67038
  }
@@ -67031,19 +67040,19 @@ ${lanes.join("\n")}
67031
67040
  return oredFacts & 8256 /* OrFactsMask */ | andedFacts & 134209471 /* AndFactsMask */;
67032
67041
  }
67033
67042
  function getTypeWithFacts(type, include) {
67034
- return filterType(type, (t) => (getTypeFacts(t) & include) !== 0);
67043
+ return filterType(type, (t) => hasTypeFacts(t, include));
67035
67044
  }
67036
67045
  function getAdjustedTypeWithFacts(type, facts) {
67037
67046
  const reduced = recombineUnknownType(getTypeWithFacts(strictNullChecks && type.flags & 2 /* Unknown */ ? unknownUnionType : type, facts));
67038
67047
  if (strictNullChecks) {
67039
67048
  switch (facts) {
67040
67049
  case 524288 /* NEUndefined */:
67041
- return mapType(reduced, (t) => getTypeFacts(t) & 65536 /* EQUndefined */ ? getIntersectionType([t, getTypeFacts(t) & 131072 /* EQNull */ && !maybeTypeOfKind(reduced, 65536 /* Null */) ? getUnionType([emptyObjectType, nullType]) : emptyObjectType]) : t);
67050
+ return mapType(reduced, (t) => hasTypeFacts(t, 65536 /* EQUndefined */) ? getIntersectionType([t, hasTypeFacts(t, 131072 /* EQNull */) && !maybeTypeOfKind(reduced, 65536 /* Null */) ? getUnionType([emptyObjectType, nullType]) : emptyObjectType]) : t);
67042
67051
  case 1048576 /* NENull */:
67043
- return mapType(reduced, (t) => getTypeFacts(t) & 131072 /* EQNull */ ? getIntersectionType([t, getTypeFacts(t) & 65536 /* EQUndefined */ && !maybeTypeOfKind(reduced, 32768 /* Undefined */) ? getUnionType([emptyObjectType, undefinedType]) : emptyObjectType]) : t);
67052
+ return mapType(reduced, (t) => hasTypeFacts(t, 131072 /* EQNull */) ? getIntersectionType([t, hasTypeFacts(t, 65536 /* EQUndefined */) && !maybeTypeOfKind(reduced, 32768 /* Undefined */) ? getUnionType([emptyObjectType, undefinedType]) : emptyObjectType]) : t);
67044
67053
  case 2097152 /* NEUndefinedOrNull */:
67045
67054
  case 4194304 /* Truthy */:
67046
- return mapType(reduced, (t) => getTypeFacts(t) & 262144 /* EQUndefinedOrNull */ ? getGlobalNonNullableTypeInstantiation(t) : t);
67055
+ return mapType(reduced, (t) => hasTypeFacts(t, 262144 /* EQUndefinedOrNull */) ? getGlobalNonNullableTypeInstantiation(t) : t);
67047
67056
  }
67048
67057
  }
67049
67058
  return reduced;
@@ -68030,7 +68039,7 @@ ${lanes.join("\n")}
68030
68039
  return void 0;
68031
68040
  }
68032
68041
  function getDiscriminantPropertyAccess(expr, computedType) {
68033
- const type = declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
68042
+ const type = !(computedType.flags & 1048576 /* Union */) && declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
68034
68043
  if (type.flags & 1048576 /* Union */) {
68035
68044
  const access = getCandidateDiscriminantPropertyAccess(expr);
68036
68045
  if (access) {
@@ -68380,14 +68389,14 @@ ${lanes.join("\n")}
68380
68389
  // the constituent based on its type facts. We use the strict subtype relation because it treats `object`
68381
68390
  // as a subtype of `{}`, and we need the type facts check because function types are subtypes of `object`,
68382
68391
  // but are classified as "function" according to `typeof`.
68383
- isTypeRelatedTo(t, impliedType, strictSubtypeRelation) ? getTypeFacts(t) & facts ? t : neverType : (
68392
+ isTypeRelatedTo(t, impliedType, strictSubtypeRelation) ? hasTypeFacts(t, facts) ? t : neverType : (
68384
68393
  // We next check if the consituent is a supertype of the implied type. If so, we substitute the implied
68385
68394
  // type. This handles top types like `unknown` and `{}`, and supertypes like `{ toString(): string }`.
68386
68395
  isTypeSubtypeOf(impliedType, t) ? impliedType : (
68387
68396
  // Neither the constituent nor the implied type is a subtype of the other, however their domains may still
68388
68397
  // overlap. For example, an unconstrained type parameter and type `string`. If the type facts indicate
68389
68398
  // possible overlap, we form an intersection. Otherwise, we eliminate the constituent.
68390
- getTypeFacts(t) & facts ? getIntersectionType([t, impliedType]) : neverType
68399
+ hasTypeFacts(t, facts) ? getIntersectionType([t, impliedType]) : neverType
68391
68400
  )
68392
68401
  )
68393
68402
  ));
@@ -68401,7 +68410,7 @@ ${lanes.join("\n")}
68401
68410
  const hasDefaultClause = clauseStart === clauseEnd || defaultIndex >= clauseStart && defaultIndex < clauseEnd;
68402
68411
  if (hasDefaultClause) {
68403
68412
  const notEqualFacts = getNotEqualFactsFromTypeofSwitch(clauseStart, clauseEnd, witnesses);
68404
- return filterType(type, (t) => (getTypeFacts(t) & notEqualFacts) === notEqualFacts);
68413
+ return filterType(type, (t) => getTypeFacts(t, notEqualFacts) === notEqualFacts);
68405
68414
  }
68406
68415
  const clauseWitnesses = witnesses.slice(clauseStart, clauseEnd);
68407
68416
  return getUnionType(map(clauseWitnesses, (text) => text ? narrowTypeByTypeName(type, text) : neverType));
@@ -68539,7 +68548,7 @@ ${lanes.join("\n")}
68539
68548
  false
68540
68549
  );
68541
68550
  }
68542
- if (strictNullChecks && assumeTrue && optionalChainContainsReference(predicateArgument, reference) && !(getTypeFacts(predicate.type) & 65536 /* EQUndefined */)) {
68551
+ if (strictNullChecks && assumeTrue && optionalChainContainsReference(predicateArgument, reference) && !hasTypeFacts(predicate.type, 65536 /* EQUndefined */)) {
68543
68552
  type = getAdjustedTypeWithFacts(type, 2097152 /* NEUndefinedOrNull */);
68544
68553
  }
68545
68554
  const access = getDiscriminantPropertyAccess(predicateArgument, type);
@@ -68673,7 +68682,7 @@ ${lanes.join("\n")}
68673
68682
  reportCircularityError(declaration.symbol);
68674
68683
  return true;
68675
68684
  }
68676
- const containsUndefined = !!(getTypeFacts(checkDeclarationInitializer(declaration, 0 /* Normal */)) & 16777216 /* IsUndefined */);
68685
+ const containsUndefined = !!hasTypeFacts(checkDeclarationInitializer(declaration, 0 /* Normal */), 16777216 /* IsUndefined */);
68677
68686
  if (!popTypeResolution()) {
68678
68687
  reportCircularityError(declaration.symbol);
68679
68688
  return true;
@@ -68683,7 +68692,7 @@ ${lanes.join("\n")}
68683
68692
  return links.parameterInitializerContainsUndefined;
68684
68693
  }
68685
68694
  function removeOptionalityFromDeclaredType(declaredType, declaration) {
68686
- const removeUndefined = strictNullChecks && declaration.kind === 169 /* Parameter */ && declaration.initializer && getTypeFacts(declaredType) & 16777216 /* IsUndefined */ && !parameterInitializerContainsUndefined(declaration);
68695
+ const removeUndefined = strictNullChecks && declaration.kind === 169 /* Parameter */ && declaration.initializer && hasTypeFacts(declaredType, 16777216 /* IsUndefined */) && !parameterInitializerContainsUndefined(declaration);
68687
68696
  return removeUndefined ? getTypeWithFacts(declaredType, 524288 /* NEUndefined */) : declaredType;
68688
68697
  }
68689
68698
  function isConstraintPosition(type, node) {
@@ -71513,7 +71522,7 @@ ${lanes.join("\n")}
71513
71522
  return checkNonNullType(checkExpression(node), node);
71514
71523
  }
71515
71524
  function isNullableType(type) {
71516
- return !!(getTypeFacts(type) & 50331648 /* IsUndefinedOrNull */);
71525
+ return hasTypeFacts(type, 50331648 /* IsUndefinedOrNull */);
71517
71526
  }
71518
71527
  function getNonNullableTypeIfNeeded(type) {
71519
71528
  return isNullableType(type) ? getNonNullableType(type) : type;
@@ -71559,7 +71568,7 @@ ${lanes.join("\n")}
71559
71568
  error2(node, Diagnostics.Object_is_of_type_unknown);
71560
71569
  return errorType;
71561
71570
  }
71562
- const facts = getTypeFacts(type);
71571
+ const facts = getTypeFacts(type, 50331648 /* IsUndefinedOrNull */);
71563
71572
  if (facts & 50331648 /* IsUndefinedOrNull */) {
71564
71573
  reportError(node, facts);
71565
71574
  const t = getNonNullableType(type);
@@ -75339,7 +75348,7 @@ ${lanes.join("\n")}
75339
75348
  if (operandConstraint.flags & 3 /* AnyOrUnknown */) {
75340
75349
  return (556800 /* AllTypeofNE */ & notEqualFacts) === 556800 /* AllTypeofNE */;
75341
75350
  }
75342
- return !someType(operandConstraint, (t) => (getTypeFacts(t) & notEqualFacts) === notEqualFacts);
75351
+ return !someType(operandConstraint, (t) => getTypeFacts(t, notEqualFacts) === notEqualFacts);
75343
75352
  }
75344
75353
  const type = checkExpressionCached(node.expression);
75345
75354
  if (!isLiteralType(type)) {
@@ -75657,14 +75666,15 @@ ${lanes.join("\n")}
75657
75666
  if (symbol) {
75658
75667
  if (isReadonlySymbol(symbol)) {
75659
75668
  error2(expr, Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_read_only_property);
75669
+ } else {
75670
+ checkDeleteExpressionMustBeOptional(expr, symbol);
75660
75671
  }
75661
- checkDeleteExpressionMustBeOptional(expr, symbol);
75662
75672
  }
75663
75673
  return booleanType;
75664
75674
  }
75665
75675
  function checkDeleteExpressionMustBeOptional(expr, symbol) {
75666
75676
  const type = getTypeOfSymbol(symbol);
75667
- if (strictNullChecks && !(type.flags & (3 /* AnyOrUnknown */ | 131072 /* Never */)) && !(exactOptionalPropertyTypes ? symbol.flags & 16777216 /* Optional */ : getTypeFacts(type) & 16777216 /* IsUndefined */)) {
75677
+ if (strictNullChecks && !(type.flags & (3 /* AnyOrUnknown */ | 131072 /* Never */)) && !(exactOptionalPropertyTypes ? symbol.flags & 16777216 /* Optional */ : hasTypeFacts(type, 16777216 /* IsUndefined */))) {
75668
75678
  error2(expr, Diagnostics.The_operand_of_a_delete_operator_must_be_optional);
75669
75679
  }
75670
75680
  }
@@ -75799,7 +75809,7 @@ ${lanes.join("\n")}
75799
75809
  return getUnaryResultType(operandType);
75800
75810
  case 54 /* ExclamationToken */:
75801
75811
  checkTruthinessOfType(operandType, node.operand);
75802
- const facts = getTypeFacts(operandType) & (4194304 /* Truthy */ | 8388608 /* Falsy */);
75812
+ const facts = getTypeFacts(operandType, 4194304 /* Truthy */ | 8388608 /* Falsy */);
75803
75813
  return facts === 4194304 /* Truthy */ ? falseType : facts === 8388608 /* Falsy */ ? trueType : booleanType;
75804
75814
  case 46 /* PlusPlusToken */:
75805
75815
  case 47 /* MinusMinusToken */:
@@ -76030,7 +76040,7 @@ ${lanes.join("\n")}
76030
76040
  if (exprOrAssignment.kind === 304 /* ShorthandPropertyAssignment */) {
76031
76041
  const prop = exprOrAssignment;
76032
76042
  if (prop.objectAssignmentInitializer) {
76033
- if (strictNullChecks && !(getTypeFacts(checkExpression(prop.objectAssignmentInitializer)) & 16777216 /* IsUndefined */)) {
76043
+ if (strictNullChecks && !hasTypeFacts(checkExpression(prop.objectAssignmentInitializer), 16777216 /* IsUndefined */)) {
76034
76044
  sourceType = getTypeWithFacts(sourceType, 524288 /* NEUndefined */);
76035
76045
  }
76036
76046
  checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, checkMode);
@@ -76442,7 +76452,7 @@ ${lanes.join("\n")}
76442
76452
  return checkInExpression(left, right, leftType, rightType);
76443
76453
  case 56 /* AmpersandAmpersandToken */:
76444
76454
  case 77 /* AmpersandAmpersandEqualsToken */: {
76445
- const resultType2 = getTypeFacts(leftType) & 4194304 /* Truthy */ ? getUnionType([extractDefinitelyFalsyTypes(strictNullChecks ? leftType : getBaseTypeOfLiteralType(rightType)), rightType]) : leftType;
76455
+ const resultType2 = hasTypeFacts(leftType, 4194304 /* Truthy */) ? getUnionType([extractDefinitelyFalsyTypes(strictNullChecks ? leftType : getBaseTypeOfLiteralType(rightType)), rightType]) : leftType;
76446
76456
  if (operator === 77 /* AmpersandAmpersandEqualsToken */) {
76447
76457
  checkAssignmentOperator(rightType);
76448
76458
  }
@@ -76450,7 +76460,7 @@ ${lanes.join("\n")}
76450
76460
  }
76451
76461
  case 57 /* BarBarToken */:
76452
76462
  case 76 /* BarBarEqualsToken */: {
76453
- const resultType2 = getTypeFacts(leftType) & 8388608 /* Falsy */ ? getUnionType([getNonNullableType(removeDefinitelyFalsyTypes(leftType)), rightType], 2 /* Subtype */) : leftType;
76463
+ const resultType2 = hasTypeFacts(leftType, 8388608 /* Falsy */) ? getUnionType([getNonNullableType(removeDefinitelyFalsyTypes(leftType)), rightType], 2 /* Subtype */) : leftType;
76454
76464
  if (operator === 76 /* BarBarEqualsToken */) {
76455
76465
  checkAssignmentOperator(rightType);
76456
76466
  }
@@ -76458,7 +76468,7 @@ ${lanes.join("\n")}
76458
76468
  }
76459
76469
  case 61 /* QuestionQuestionToken */:
76460
76470
  case 78 /* QuestionQuestionEqualsToken */: {
76461
- const resultType2 = getTypeFacts(leftType) & 262144 /* EQUndefinedOrNull */ ? getUnionType([getNonNullableType(leftType), rightType], 2 /* Subtype */) : leftType;
76471
+ const resultType2 = hasTypeFacts(leftType, 262144 /* EQUndefinedOrNull */) ? getUnionType([getNonNullableType(leftType), rightType], 2 /* Subtype */) : leftType;
76462
76472
  if (operator === 78 /* QuestionQuestionEqualsToken */) {
76463
76473
  checkAssignmentOperator(rightType);
76464
76474
  }
@@ -79775,7 +79785,7 @@ ${lanes.join("\n")}
79775
79785
  }
79776
79786
  const type = location === condExpr2 ? condType : checkTruthinessExpression(location);
79777
79787
  const isPropertyExpressionCast = isPropertyAccessExpression(location) && isTypeAssertion(location.expression);
79778
- if (!(getTypeFacts(type) & 4194304 /* Truthy */) || isPropertyExpressionCast)
79788
+ if (!hasTypeFacts(type, 4194304 /* Truthy */) || isPropertyExpressionCast)
79779
79789
  return;
79780
79790
  const callSignatures = getSignaturesOfType(type, 0 /* Call */);
79781
79791
  const isPromise = !!getAwaitedTypeOfPromise(type);
@@ -121597,7 +121607,6 @@ ${lanes.join("\n")}
121597
121607
  Diagnostics.A_module_cannot_have_multiple_default_exports.code,
121598
121608
  Diagnostics.Another_export_default_is_here.code,
121599
121609
  Diagnostics.The_first_export_default_is_here.code,
121600
- Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module.code,
121601
121610
  Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode.code,
121602
121611
  Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here.code,
121603
121612
  Diagnostics.constructor_is_a_reserved_word.code,
@@ -164012,11 +164021,11 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
164012
164021
  function isSignatureSupportingReturnAnnotation(node) {
164013
164022
  return isArrowFunction(node) || isFunctionExpression(node) || isFunctionDeclaration(node) || isMethodDeclaration(node) || isGetAccessorDeclaration(node);
164014
164023
  }
164015
- function addParameterHints(text, parameter, position, isFirstVariadicArgument, sourceFile) {
164024
+ function addParameterHints(text, parameter, position, isFirstVariadicArgument) {
164016
164025
  let hintText = `${isFirstVariadicArgument ? "..." : ""}${text}`;
164017
164026
  let displayParts;
164018
164027
  if (shouldUseInteractiveInlayHints(preferences)) {
164019
- displayParts = [getNodeDisplayPart(hintText, parameter, sourceFile), { text: ":" }];
164028
+ displayParts = [getNodeDisplayPart(hintText, parameter), { text: ":" }];
164020
164029
  hintText = "";
164021
164030
  } else {
164022
164031
  hintText += ":";
@@ -164088,7 +164097,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
164088
164097
  if (!signature || !candidates.length) {
164089
164098
  return;
164090
164099
  }
164091
- const sourceFile = shouldUseInteractiveInlayHints(preferences) ? expr.getSourceFile() : void 0;
164092
164100
  let signatureParamPos = 0;
164093
164101
  for (const originalArg of args) {
164094
164102
  const arg = skipParentheses(originalArg);
@@ -164123,7 +164131,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
164123
164131
  if (leadingCommentsContainsParameterName(arg, name)) {
164124
164132
  continue;
164125
164133
  }
164126
- addParameterHints(name, parameter, originalArg.getStart(), isFirstVariadicArgument, sourceFile);
164134
+ addParameterHints(name, parameter, originalArg.getStart(), isFirstVariadicArgument);
164127
164135
  }
164128
164136
  }
164129
164137
  }
@@ -164259,7 +164267,8 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
164259
164267
  }
164260
164268
  return true;
164261
164269
  }
164262
- function getNodeDisplayPart(text, node, sourceFile) {
164270
+ function getNodeDisplayPart(text, node) {
164271
+ const sourceFile = node.getSourceFile();
164263
164272
  return {
164264
164273
  text,
164265
164274
  span: createTextSpanFromNode(node, sourceFile),
@@ -167147,11 +167156,12 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
167147
167156
  if (documentation.length === 0 && isIdentifier(location) && symbol.valueDeclaration && isBindingElement(symbol.valueDeclaration)) {
167148
167157
  const declaration = symbol.valueDeclaration;
167149
167158
  const parent2 = declaration.parent;
167150
- if (isIdentifier(declaration.name) && isObjectBindingPattern(parent2)) {
167151
- const name = getTextOfIdentifierOrLiteral(declaration.name);
167159
+ const name = declaration.propertyName || declaration.name;
167160
+ if (isIdentifier(name) && isObjectBindingPattern(parent2)) {
167161
+ const propertyName = getTextOfIdentifierOrLiteral(name);
167152
167162
  const objectType = typeChecker.getTypeAtLocation(parent2);
167153
167163
  documentation = firstDefined(objectType.isUnion() ? objectType.types : [objectType], (t) => {
167154
- const prop = t.getProperty(name);
167164
+ const prop = t.getProperty(propertyName);
167155
167165
  return prop ? prop.getDocumentationComment(typeChecker) : void 0;
167156
167166
  }) || emptyArray;
167157
167167
  }
@@ -181002,14 +181012,22 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
181002
181012
  return {
181003
181013
  ...hint,
181004
181014
  position: scriptInfo.positionToLineOffset(position),
181005
- displayParts: displayParts == null ? void 0 : displayParts.map(({ text, span, file: file2 }) => ({
181006
- text,
181007
- span: span && {
181008
- start: scriptInfo.positionToLineOffset(span.start),
181009
- end: scriptInfo.positionToLineOffset(span.start + span.length),
181010
- file: file2
181015
+ displayParts: displayParts == null ? void 0 : displayParts.map(({ text, span, file: file2 }) => {
181016
+ if (span) {
181017
+ Debug.assertIsDefined(file2, "Target file should be defined together with its span.");
181018
+ const scriptInfo2 = this.projectService.getScriptInfo(file2);
181019
+ return {
181020
+ text,
181021
+ span: {
181022
+ start: scriptInfo2.positionToLineOffset(span.start),
181023
+ end: scriptInfo2.positionToLineOffset(span.start + span.length),
181024
+ file: file2
181025
+ }
181026
+ };
181027
+ } else {
181028
+ return { text };
181011
181029
  }
181012
- }))
181030
+ })
181013
181031
  };
181014
181032
  });
181015
181033
  }