@@ -12973,25 +12973,6 @@ var ts;
12973
12973
}
12974
12974
return undefined;
12975
12975
}
12976
- function isKnownProperty(type, name) {
12977
- if (type.flags & 80896 && type !== globalObjectType) {
12978
- var resolved = resolveStructuredTypeMembers(type);
12979
- return !!(resolved.properties.length === 0 ||
12980
- resolved.stringIndexType ||
12981
- resolved.numberIndexType ||
12982
- getPropertyOfType(type, name));
12983
- }
12984
- if (type.flags & 49152) {
12985
- for (var _i = 0, _a = type.types; _i < _a.length; _i++) {
12986
- var t = _a[_i];
12987
- if (isKnownProperty(t, name)) {
12988
- return true;
12989
- }
12990
- }
12991
- return false;
12992
- }
12993
- return true;
12994
- }
12995
12976
function getSignaturesOfStructuredType(type, kind) {
12996
12977
if (type.flags & 130048) {
12997
12978
var resolved = resolveStructuredTypeMembers(type);
@@ -13447,7 +13428,7 @@ var ts;
13447
13428
}
13448
13429
function createTypedPropertyDescriptorType(propertyType) {
13449
13430
var globalTypedPropertyDescriptorType = getGlobalTypedPropertyDescriptorType();
13450
- return globalTypedPropertyDescriptorType !== emptyObjectType
13431
+ return globalTypedPropertyDescriptorType !== emptyGenericType
13451
13432
? createTypeReference(globalTypedPropertyDescriptorType, [propertyType])
13452
13433
: emptyObjectType;
13453
13434
}
@@ -13500,68 +13481,19 @@ var ts;
13500
13481
addTypeToSet(typeSet, type, typeSetKind);
13501
13482
}
13502
13483
}
13503
- function isObjectLiteralTypeDuplicateOf(source, target) {
13504
- var sourceProperties = getPropertiesOfObjectType(source);
13505
- var targetProperties = getPropertiesOfObjectType(target);
13506
- if (sourceProperties.length !== targetProperties.length) {
13507
- return false;
13508
- }
13509
- for (var _i = 0; _i < sourceProperties.length; _i++) {
13510
- var sourceProp = sourceProperties[_i];
13511
- var targetProp = getPropertyOfObjectType(target, sourceProp.name);
13512
- if (!targetProp ||
13513
- getDeclarationFlagsFromSymbol(targetProp) & (32 | 64) ||
13514
- !isTypeDuplicateOf(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp))) {
13515
- return false;
13516
- }
13517
- }
13518
- return true;
13519
- }
13520
- function isTupleTypeDuplicateOf(source, target) {
13521
- var sourceTypes = source.elementTypes;
13522
- var targetTypes = target.elementTypes;
13523
- if (sourceTypes.length !== targetTypes.length) {
13524
- return false;
13525
- }
13526
- for (var i = 0; i < sourceTypes.length; i++) {
13527
- if (!isTypeDuplicateOf(sourceTypes[i], targetTypes[i])) {
13528
- return false;
13529
- }
13530
- }
13531
- return true;
13532
- }
13533
- function isTypeDuplicateOf(source, target) {
13534
- if (source === target) {
13535
- return true;
13536
- }
13537
- if (source.flags & 32 || source.flags & 64 && !(target.flags & 32)) {
13538
- return true;
13539
- }
13540
- if (source.flags & 524288 && target.flags & 80896) {
13541
- return isObjectLiteralTypeDuplicateOf(source, target);
13542
- }
13543
- if (isArrayType(source) && isArrayType(target)) {
13544
- return isTypeDuplicateOf(source.typeArguments[0], target.typeArguments[0]);
13545
- }
13546
- if (isTupleType(source) && isTupleType(target)) {
13547
- return isTupleTypeDuplicateOf(source, target);
13548
- }
13549
- return isTypeIdenticalTo(source, target);
13550
- }
13551
- function isTypeDuplicateOfSomeType(candidate, types) {
13552
- for (var _i = 0; _i < types.length; _i++) {
13553
- var type = types[_i];
13554
- if (candidate !== type && isTypeDuplicateOf(candidate, type)) {
13484
+ function isSubtypeOfAny(candidate, types) {
13485
+ for (var i = 0, len = types.length; i < len; i++) {
13486
+ if (candidate !== types[i] && isTypeSubtypeOf(candidate, types[i])) {
13555
13487
return true;
13556
13488
}
13557
13489
}
13558
13490
return false;
13559
13491
}
13560
- function removeDuplicateTypes (types) {
13492
+ function removeSubtypes (types) {
13561
13493
var i = types.length;
13562
13494
while (i > 0) {
13563
13495
i--;
13564
- if (isTypeDuplicateOfSomeType (types[i], types)) {
13496
+ if (isSubtypeOfAny (types[i], types)) {
13565
13497
types.splice(i, 1);
13566
13498
}
13567
13499
}
@@ -13584,7 +13516,7 @@ var ts;
13584
13516
}
13585
13517
}
13586
13518
}
13587
- function getUnionType(types, noDeduplication ) {
13519
+ function getUnionType(types, noSubtypeReduction ) {
13588
13520
if (types.length === 0) {
13589
13521
return emptyObjectType;
13590
13522
}
@@ -13593,12 +13525,12 @@ var ts;
13593
13525
if (containsTypeAny(typeSet)) {
13594
13526
return anyType;
13595
13527
}
13596
- if (noDeduplication ) {
13528
+ if (noSubtypeReduction ) {
13597
13529
removeAllButLast(typeSet, undefinedType);
13598
13530
removeAllButLast(typeSet, nullType);
13599
13531
}
13600
13532
else {
13601
- removeDuplicateTypes (typeSet);
13533
+ removeSubtypes (typeSet);
13602
13534
}
13603
13535
if (typeSet.length === 1) {
13604
13536
return typeSet[0];
@@ -14092,6 +14024,26 @@ var ts;
14092
14024
}
14093
14025
return 0;
14094
14026
}
14027
+ function isKnownProperty(type, name) {
14028
+ if (type.flags & 80896) {
14029
+ var resolved = resolveStructuredTypeMembers(type);
14030
+ if (relation === assignableRelation && (type === globalObjectType || resolved.properties.length === 0) ||
14031
+ resolved.stringIndexType || resolved.numberIndexType || getPropertyOfType(type, name)) {
14032
+ return true;
14033
+ }
14034
+ return false;
14035
+ }
14036
+ if (type.flags & 49152) {
14037
+ for (var _i = 0, _a = type.types; _i < _a.length; _i++) {
14038
+ var t = _a[_i];
14039
+ if (isKnownProperty(t, name)) {
14040
+ return true;
14041
+ }
14042
+ }
14043
+ return false;
14044
+ }
14045
+ return true;
14046
+ }
14095
14047
function hasExcessProperties(source, target, reportErrors) {
14096
14048
for (var _i = 0, _a = getPropertiesOfObjectType(source); _i < _a.length; _i++) {
14097
14049
var prop = _a[_i];
@@ -14764,7 +14716,7 @@ var ts;
14764
14716
return getWidenedTypeOfObjectLiteral(type);
14765
14717
}
14766
14718
if (type.flags & 16384) {
14767
- return getUnionType(ts.map(type.types, getWidenedType));
14719
+ return getUnionType(ts.map(type.types, getWidenedType), true );
14768
14720
}
14769
14721
if (isArrayType(type)) {
14770
14722
return createArrayType(getWidenedType(type.typeArguments[0]));
@@ -17262,7 +17214,7 @@ var ts;
17262
17214
}
17263
17215
function createPromiseType(promisedType) {
17264
17216
var globalPromiseType = getGlobalPromiseType();
17265
- if (globalPromiseType !== emptyObjectType ) {
17217
+ if (globalPromiseType !== emptyGenericType ) {
17266
17218
promisedType = getAwaitedType(promisedType);
17267
17219
return createTypeReference(globalPromiseType, [promisedType]);
17268
17220
}
@@ -21343,7 +21295,7 @@ var ts;
21343
21295
}
21344
21296
function createInstantiatedPromiseLikeType() {
21345
21297
var promiseLikeType = getGlobalPromiseLikeType();
21346
- if (promiseLikeType !== emptyObjectType ) {
21298
+ if (promiseLikeType !== emptyGenericType ) {
21347
21299
return createTypeReference(promiseLikeType, [anyType]);
21348
21300
}
21349
21301
return emptyObjectType;
@@ -24459,8 +24411,12 @@ var ts;
24459
24411
}
24460
24412
}
24461
24413
function emitJsxElement(openingNode, children) {
24414
+ var syntheticReactRef = ts.createSynthesizedNode(67);
24415
+ syntheticReactRef.text = 'React';
24416
+ syntheticReactRef.parent = openingNode;
24462
24417
emitLeadingComments(openingNode);
24463
- write("React.createElement(");
24418
+ emitExpressionIdentifier(syntheticReactRef);
24419
+ write(".createElement(");
24464
24420
emitTagName(openingNode.tagName);
24465
24421
write(", ");
24466
24422
if (openingNode.attributes.length === 0) {
@@ -24469,7 +24425,8 @@ var ts;
24469
24425
else {
24470
24426
var attrs = openingNode.attributes;
24471
24427
if (ts.forEach(attrs, function (attr) { return attr.kind === 237; })) {
24472
- write("React.__spread(");
24428
+ emitExpressionIdentifier(syntheticReactRef);
24429
+ write(".__spread(");
24473
24430
var haveOpenedObjectLiteral = false;
24474
24431
for (var i_1 = 0; i_1 < attrs.length; i_1++) {
24475
24432
if (attrs[i_1].kind === 237) {
@@ -30461,7 +30418,7 @@ var ts;
30461
30418
return optionNameMapCache;
30462
30419
}
30463
30420
ts.getOptionNameMap = getOptionNameMap;
30464
- function parseCommandLine(commandLine) {
30421
+ function parseCommandLine(commandLine, readFile ) {
30465
30422
var options = {};
30466
30423
var fileNames = [];
30467
30424
var errors = [];
@@ -30520,7 +30477,7 @@ var ts;
30520
30477
}
30521
30478
}
30522
30479
function parseResponseFile(fileName) {
30523
- var text = ts.sys.readFile(fileName);
30480
+ var text = readFile ? readFile(fileName) : ts.sys.readFile(fileName);
30524
30481
if (!text) {
30525
30482
errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, fileName));
30526
30483
return;
0 commit comments